:root {
    --bg: #eef2f7;
    --panel: #ffffff;
    --panel-soft: #f7f9fc;
    --text: #10233e;
    --muted: #6a7a90;
    --line: #d7dfeb;
    --primary: #0f766e;
    --primary-dark: #0b5b55;
    --danger: #c2410c;
    --warning: #b45309;
    --success: #166534;
    --shadow: 0 22px 45px rgba(16, 35, 62, 0.12);
    --radius: 24px;
}

/* Identidade visual eCheckin */
:root{--brand-deep:#0b5e2a;--brand:#16a34a;--brand-live:#22c55e;--brand-pale:#e8f5e9;--ink:#1b1f23;--ink-soft:#475569}
body{font-family:"Segoe UI Variable","Aptos Display","Segoe UI",sans-serif;background:radial-gradient(circle at 12% 0,rgba(34,197,94,.13),transparent 26%),linear-gradient(145deg,#fbfdfb 0%,#eef7f0 100%);color:var(--ink)}
.shell{grid-template-columns:286px minmax(0,1fr)}.sidebar{background:linear-gradient(180deg,#082c1a 0%,#063f20 52%,#052819 100%);box-shadow:12px 0 40px rgba(5,62,31,.13)}
.brand,.login-brand{display:flex;align-items:center;gap:13px}.brand-mark{position:relative;width:54px;height:54px;flex:0 0 auto;display:block;border-radius:18px;background:linear-gradient(145deg,#22c55e,#08762f);box-shadow:0 12px 26px rgba(22,163,74,.28)}.brand-mark:before{content:"e";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:37px;font-weight:900;font-style:normal}.brand-mark i{position:absolute;width:27px;height:13px;right:-4px;bottom:11px;border-left:6px solid #fff;border-bottom:6px solid #fff;transform:rotate(-45deg);filter:drop-shadow(0 2px 1px rgba(0,0,0,.13))}.brand-copy{display:grid;line-height:1}.brand-copy strong{color:#f8fffa;font-size:24px;font-weight:800;letter-spacing:-.04em}.brand-copy strong b{color:#22c55e}.brand-copy small{margin-top:7px;color:#66dc89;font-size:9px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.brand-copy em{margin-top:5px;color:rgba(255,255,255,.6);font-size:8px;font-style:normal;letter-spacing:.18em;text-transform:uppercase}
.nav a{border:1px solid transparent;background:rgba(255,255,255,.035);font-weight:650}.nav a:hover{border-color:rgba(74,222,128,.18);background:rgba(34,197,94,.12)}.nav a.is-active{border-color:rgba(74,222,128,.25);background:linear-gradient(90deg,rgba(22,163,74,.34),rgba(34,197,94,.12));box-shadow:inset 3px 0 #22c55e}.nav-hierarchy .nav-section{color:rgba(134,239,172,.62)}
.content{max-width:1800px;width:100%;padding:38px clamp(20px,3vw,52px)}.page-head h2{font-size:clamp(27px,3vw,42px);letter-spacing:-.035em;color:#10251a}.page-head .muted{max-width:760px;font-size:15px;line-height:1.6}.eyebrow{color:#159447;font-weight:850}
.panel,.metric-card,.platform-card,.plan-card{border-color:rgba(11,94,42,.12);box-shadow:0 16px 42px rgba(18,71,38,.08)}.panel{border-radius:22px}.metric-card,.platform-card,.plan-card{transition:transform .2s ease,box-shadow .2s ease}.metric-card:hover,.platform-card:hover,.plan-card:hover{transform:translateY(-3px);box-shadow:0 20px 46px rgba(18,71,38,.13)}.platform-card-main{background:linear-gradient(145deg,#075f2b,#16a34a 62%,#22c55e)}
.btn{border-radius:12px;font-weight:750;transition:transform .15s ease,box-shadow .15s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{border-color:#0b7934;background:linear-gradient(135deg,#08732f,#16a34a);box-shadow:0 9px 20px rgba(22,163,74,.2)}.btn-primary:hover{background:linear-gradient(135deg,#065f29,#128b3f)}.text-link,.actions a,.actions button{color:#0c8738;font-weight:750}
input,select,textarea{border-color:#cadbd0;border-radius:12px;background:#fcfffd;font:inherit}input:focus,select:focus,textarea:focus{outline:0;border-color:#22a651;box-shadow:0 0 0 4px rgba(34,197,94,.12)}table thead th{color:#52705e;background:#f1f8f3}table tbody tr:hover{background:#f5fbf6}.status-active,.status-trial{background:#dcfce7;color:#08762f}.customer-photo,.sidebar-user-icon{background:linear-gradient(145deg,#16a34a,#08752f)}
.sidebar-footer{border-color:rgba(74,222,128,.17)}.sidebar-footer .logout{border-color:rgba(74,222,128,.17)}
.login-page{min-height:100vh;padding:28px;background:radial-gradient(circle at 15% 10%,rgba(34,197,94,.3),transparent 32%),linear-gradient(135deg,#052d19,#087134 60%,#16a34a);display:grid;place-items:center}.login-card{width:min(100%,470px);padding:38px;border:1px solid rgba(255,255,255,.65);border-radius:30px;background:rgba(255,255,255,.96);box-shadow:0 30px 80px rgba(2,43,19,.32)}.login-card .brand-copy strong{color:#17221b}.login-card .brand-copy em{color:#68776d}.login-card h1{font-size:30px;color:#10251a}.login-brand{padding-bottom:25px;border-bottom:1px solid #dfebe2}
@media(max-width:1200px){.shell{grid-template-columns:252px minmax(0,1fr)}.sidebar{padding:26px 18px}.brand-copy strong{font-size:21px}.brand-mark{width:48px;height:48px}.content{padding:30px 24px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.shell{display:block}.sidebar{position:relative;top:auto;max-height:none;display:grid;grid-template-columns:1fr auto;padding:17px 18px;gap:14px}.brand-mark{width:44px;height:44px;border-radius:14px}.brand-mark:before{font-size:30px}.brand-mark i{transform:scale(.8) rotate(-45deg);right:-5px;bottom:8px}.brand-copy strong{font-size:20px}.brand-copy small{margin-top:5px}.brand-copy em{display:none}.nav-hierarchy{grid-column:1/-1;display:flex;overflow-x:auto;gap:8px;padding:3px 0 8px;scrollbar-width:thin}.nav-hierarchy .nav-section{display:none}.nav-hierarchy a{flex:0 0 auto;padding:10px 14px;white-space:nowrap}.nav a.is-active{box-shadow:inset 0 -3px #22c55e}.sidebar-footer{grid-column:2;grid-row:1;display:flex;border:0;padding:0;margin:0}.sidebar-user-info{display:none}.sidebar-footer .logout{grid-column:auto;margin:0;padding:9px 11px}.sidebar-user-icon{width:40px;height:40px}.content{padding:26px 18px}.page-head{align-items:flex-start}.platform-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col,.form-grid-two{grid-template-columns:1fr}.field-span-2{grid-column:auto}}
@media(max-width:620px){.sidebar{grid-template-columns:1fr}.sidebar-footer{display:none}.content{padding:21px 12px}.page-head{display:grid;gap:16px}.page-head .btn,.page-head .form-actions{width:100%}.page-head .form-actions{display:grid}.platform-metrics,.card-grid,.plan-grid{grid-template-columns:1fr}.panel,.metric-card,.platform-card,.plan-card{border-radius:17px;padding:18px}.filters{display:grid;grid-template-columns:1fr}.filters .btn{width:100%}.table-wrap{margin-inline:-18px;padding-inline:18px}.login-page{padding:14px}.login-card{padding:25px 20px;border-radius:22px}.login-brand .brand-copy strong{font-size:22px}.photo-editor{display:grid}.form-actions{display:grid;grid-template-columns:1fr}.form-actions .btn{width:100%}}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    color: var(--text);
    background:
        radial-gradient(circle at top left, rgba(15, 118, 110, 0.18), transparent 32%),
        linear-gradient(180deg, #f7fafc 0%, var(--bg) 100%);
}

a {
    color: inherit;
    text-decoration: none;
}

.shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 300px 1fr;
}

.sidebar {
    padding: 32px 24px;
    background: linear-gradient(180deg, #0f172a 0%, #112947 100%);
    color: #f8fafc;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 22px;
}

.sidebar h1,
.login-card h1,
.page-head h2,
.metric-card h3,
.panel h3 {
    margin: 0;
}

.eyebrow {
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: 0.78rem;
    margin: 0 0 10px;
    color: #7dd3fc;
}

.muted {
    color: var(--muted);
}

.sidebar .muted {
    color: rgba(226, 232, 240, 0.7);
}

.nav {
    display: grid;
    gap: 10px;
    margin-top: 6px;
}

.nav a {
    padding: 14px 16px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.04);
    transition: 0.2s ease;
}

.nav a:hover,
.nav a.is-active {
    background: rgba(125, 211, 252, 0.16);
}

.sidebar-footer {
    display: grid;
    gap: 8px;
    margin-top: auto;
    padding-top: 18px;
}

.logout {
    color: #7dd3fc;
}

.content {
    padding: 32px;
    display: grid;
    gap: 24px;
}

.page-head,
.panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
}

.metric-card,
.panel,
.login-card {
    background: var(--panel);
    border: 1px solid rgba(215, 223, 235, 0.7);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

.metric-card {
    padding: 24px;
    display: grid;
    gap: 14px;
}

.mini-stats {
    display: grid;
    gap: 6px;
    color: var(--muted);
    font-size: 0.95rem;
}

.two-col {
    display: grid;
    grid-template-columns: 1.4fr 0.9fr;
    gap: 20px;
}

.two-col-receipt {
    grid-template-columns: minmax(380px, 1fr) minmax(420px, 0.95fr);
    align-items: start;
}

.two-col-resume {
    grid-template-columns: minmax(420px, 1fr) minmax(480px, 1.05fr);
    align-items: start;
}

.panel {
    padding: 24px;
}

.panel-highlight {
    background: linear-gradient(135deg, #f5fbfa 0%, #ffffff 100%);
}

.company-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 16px; margin: 0; }
.company-summary div { padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: var(--panel-soft); }
.company-summary dt { margin-bottom: 6px; color: var(--muted); font-size: .78rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.company-summary dd { margin: 0; overflow-wrap: anywhere; }
.company-result-stack { display: grid; gap: 20px; }

.table-wrap {
    overflow-x: auto;
}

table {
    width: 100%;
    border-collapse: collapse;
}

th,
td {
    text-align: left;
    padding: 14px 10px;
    border-bottom: 1px solid var(--line);
    vertical-align: top;
}

th {
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--muted);
}

.badge {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 600;
}

.badge-em-aberto {
    background: #dbeafe;
    color: #1d4ed8;
}

.badge-pago {
    background: #dcfce7;
    color: var(--success);
}

.badge-vencido {
    background: #ffedd5;
    color: var(--danger);
}

.stack-list {
    display: grid;
    gap: 12px;
}

.stack-item {
    padding: 16px;
    border-radius: 18px;
    background: var(--panel-soft);
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
}

.btn,
button {
    border: 0;
    cursor: pointer;
    font: inherit;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 18px;
    border-radius: 14px;
    font-weight: 600;
}

.btn-primary {
    background: var(--primary);
    color: white;
}

.btn-primary:hover {
    background: var(--primary-dark);
}

.btn-secondary {
    background: #dbeafe;
    color: #1e3a8a;
}

.btn-light {
    background: #eef2f7;
    color: var(--text);
}

.text-link {
    color: var(--primary);
    font-weight: 600;
}

.filters,
.form-grid {
    display: grid;
    gap: 16px;
}

.filters {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    align-items: end;
}

.form-grid-two {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

label {
    display: grid;
    gap: 8px;
}

input,
textarea,
select {
    width: 100%;
    padding: 12px 14px;
    border-radius: 14px;
    border: 1px solid var(--line);
    background: white;
}

textarea {
    resize: vertical;
    min-height: 110px;
}

.form-actions {
    display: flex;
    gap: 12px;
    align-items: center;
}

.field-span-2 {
    grid-column: 1 / -1;
}

.actions {
    display: flex;
    gap: 10px;
    align-items: center;
}

.actions form {
    margin: 0;
}

.actions a,
.actions button {
    color: var(--primary);
    background: transparent;
    padding: 0;
}

.alert {
    padding: 14px 18px;
    border-radius: 16px;
    font-weight: 600;
}

.alert-success {
    background: #dcfce7;
    color: var(--success);
}

.alert-error {
    background: #fee2e2;
    color: #b91c1c;
}

.login-page {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 24px;
}

.login-card {
    width: min(520px, 100%);
    padding: 32px;
    display: grid;
    gap: 22px;
}

.helper {
    margin: 0;
    color: var(--muted);
}

.panel-receipt-preview {
    background: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
}

.panel-resume-preview {
    background: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
}

.panel-budget-preview {
    background: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
}

.receipt-sheet {
    background: #f5f5f5;
    border: 1px solid #aab4c4;
    padding: 16px;
}

.receipt-toolbar {
    min-height: 56px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 14px;
}

.receipt-logo {
    max-width: 180px;
    max-height: 70px;
    object-fit: contain;
}

.receipt-logo-hidden {
    display: none;
}

.receipt-logo-placeholder {
    width: 160px;
    height: 58px;
    border: 2px dashed #c1c8d4;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #8091a7;
    font-weight: 700;
    background: white;
}

.receipt-logo-placeholder.receipt-logo-hidden {
    display: none;
}

.receipt-frame {
    background: white;
    border: 1px solid #333;
    padding: 14px 16px 18px;
}

.receipt-header-row {
    display: grid;
    grid-template-columns: 1fr 0.8fr 1.2fr;
    gap: 16px;
    border: 1px solid #333;
    padding: 12px 16px;
    align-items: center;
    margin-bottom: 18px;
}

.receipt-title,
.receipt-number,
.receipt-value {
    font-size: 1.05rem;
    font-weight: 800;
    color: #8b8f97;
    letter-spacing: 0.04em;
}

.receipt-lines {
    display: grid;
    gap: 16px;
    margin-bottom: 24px;
}

.receipt-lines p,
.receipt-meta p {
    margin: 0;
    color: #1f2937;
}

.receipt-lines span,
.receipt-meta span {
    display: inline-block;
    min-width: 72%;
    border-bottom: 1px dotted #444;
    padding: 2px 0 4px 8px;
}

.receipt-date-line {
    text-align: center;
}

.receipt-date-line span {
    min-width: auto;
    padding-left: 6px;
}

.receipt-signature-block {
    margin: 8px auto 20px;
    text-align: center;
    max-width: 360px;
}

.signature-line {
    border-bottom: 1px solid #333;
    height: 30px;
    margin-bottom: 8px;
}

.receipt-signature-block p,
.receipt-signature-block small {
    margin: 0;
}

.receipt-meta {
    display: grid;
    gap: 14px;
}

.receipt-meta-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.receipt-print-page {
    background: #ececec;
    padding: 24px;
}

.receipt-print-actions {
    display: flex;
    gap: 12px;
    justify-content: center;
    margin-bottom: 18px;
}

.receipt-sheet-print {
    max-width: 860px;
    margin: 0 auto;
}

.resume-sheet {
    background: white;
    border: 1px solid #d7dfeb;
    box-shadow: var(--shadow);
    padding: 28px 28px 34px;
}

.resume-sheet-elegante {
    border-radius: 22px;
}

.resume-sheet-simple {
    border-radius: 10px;
    box-shadow: 0 10px 24px rgba(16, 35, 62, 0.08);
}

.resume-header {
    text-align: center;
    margin-bottom: 22px;
}

.resume-header h1 {
    margin: 0 0 8px;
    font-size: clamp(2rem, 3vw, 3rem);
    line-height: 1.05;
    font-family: Georgia, "Times New Roman", serif;
}

.resume-header p {
    margin: 0 0 18px;
    font-size: 1.1rem;
    color: #334155;
}

.resume-contact-bar {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    padding: 14px 0 12px;
    border-top: 2px solid #cfd8e3;
    border-bottom: 2px solid #cfd8e3;
    font-size: 0.95rem;
}

.resume-contact-bar span {
    text-align: center;
}

.resume-body {
    display: grid;
    grid-template-columns: 250px 1fr;
    gap: 26px;
    align-items: start;
}

.resume-sidebar {
    border-right: 1px solid #cfd8e3;
    padding-right: 22px;
}

.resume-photo {
    width: 100%;
    max-width: 180px;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    display: block;
    margin: 0 auto 18px;
    border-radius: 6px;
    background: #edf2f7;
}

.resume-photo-hidden {
    display: none;
}

.resume-photo-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #7b8794;
    border: 2px dashed #cbd5e1;
    font-weight: 700;
}

.resume-side-section {
    margin-bottom: 22px;
}

.resume-side-section h3,
.resume-side-section h4,
.resume-main-section h2 {
    margin: 0 0 12px;
    font-family: Georgia, "Times New Roman", serif;
}

.resume-side-section h3 {
    font-size: 1.15rem;
}

.resume-side-section h4 {
    font-size: 1rem;
    margin-top: 16px;
}

.resume-side-section p,
.resume-main-section p,
.resume-rich-text,
.resume-lines-list {
    margin: 0;
    line-height: 1.55;
    color: #1f2937;
    white-space: pre-line;
}

.resume-main-section {
    margin-bottom: 24px;
}

.resume-main-section h2 {
    font-size: 1.5rem;
    border-bottom: 1px solid #d7dfeb;
    padding-bottom: 8px;
}

.resume-sheet-simple .resume-header {
    text-align: left;
}

.resume-sheet-simple .resume-contact-bar {
    grid-template-columns: 1fr;
    gap: 6px;
}

.resume-sheet-simple .resume-body {
    grid-template-columns: 1fr;
}

.resume-sheet-simple .resume-sidebar {
    border-right: 0;
    border-bottom: 1px solid #d7dfeb;
    padding-right: 0;
    padding-bottom: 18px;
    margin-bottom: 18px;
}

.resume-sheet-print {
    max-width: 980px;
    margin: 0 auto;
}

.two-col-budget {
    grid-template-columns: minmax(460px, 1fr) minmax(520px, 1.05fr);
    align-items: start;
}

.budget-items-builder {
    display: grid;
    gap: 14px;
}

.budget-items-list {
    display: grid;
    gap: 12px;
}

.budget-item-row {
    display: grid;
    grid-template-columns: 1.2fr 1.5fr 0.5fr 0.8fr auto;
    gap: 10px;
    align-items: center;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: #f8fafc;
}

.signature-tool {
    display: grid;
    gap: 12px;
}

.signature-tool-actions {
    display: flex;
    gap: 10px;
}

.signature-canvas {
    width: 100%;
    max-width: 640px;
    height: 180px;
    border: 1px dashed #9fb0c8;
    border-radius: 18px;
    background: white;
    cursor: crosshair;
}

.signature-preview-image {
    max-width: 220px;
    max-height: 90px;
    object-fit: contain;
}

.budget-sheet {
    background: white;
    border: 1px solid #d7dfeb;
    box-shadow: var(--shadow);
    padding: 26px 28px 32px;
}

.budget-sheet-elegante {
    border-radius: 22px;
}

.budget-sheet-simple {
    border-radius: 12px;
    box-shadow: 0 10px 24px rgba(16, 35, 62, 0.08);
}

.budget-sheet-header {
    display: grid;
    grid-template-columns: 1.4fr 0.7fr;
    gap: 18px;
    margin-bottom: 20px;
    align-items: start;
}

.budget-brand {
    display: flex;
    gap: 18px;
    align-items: flex-start;
}

.budget-brand h1 {
    margin: 0 0 8px;
    font-size: 1.8rem;
    font-family: Georgia, "Times New Roman", serif;
}

.budget-brand p {
    margin: 0 0 6px;
    color: #334155;
}

.budget-logo {
    width: 92px;
    height: 92px;
    object-fit: contain;
    border-radius: 18px;
    background: #f8fafc;
}

.budget-logo-hidden {
    display: none;
}

.budget-logo-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px dashed #cbd5e1;
    color: #71829b;
    font-weight: 700;
}

.budget-logo-placeholder.budget-logo-hidden {
    display: none;
}

.budget-meta {
    padding: 18px;
    border-radius: 18px;
    background: linear-gradient(135deg, #0f172a 0%, #12345d 100%);
    color: white;
    display: grid;
    gap: 8px;
}

.budget-meta strong {
    font-size: 1.3rem;
}

.budget-pill {
    display: inline-flex;
    width: fit-content;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    font-size: 0.82rem;
    letter-spacing: 0.08em;
}

.budget-client-box {
    border: 1px solid #d7dfeb;
    border-radius: 18px;
    padding: 18px 20px;
    background: #f8fafc;
    margin-bottom: 18px;
}

.budget-client-box h2 {
    margin: 0 0 10px;
    font-family: Georgia, "Times New Roman", serif;
}

.budget-client-box p,
.budget-section p {
    margin: 0 0 8px;
}

.budget-section {
    margin-bottom: 20px;
}

.budget-section h3 {
    margin: 0 0 10px;
    font-family: Georgia, "Times New Roman", serif;
}

.budget-lines-list,
.budget-section p {
    white-space: pre-line;
    line-height: 1.6;
}

.budget-items-table {
    width: 100%;
    border-collapse: collapse;
}

.budget-items-table th,
.budget-items-table td {
    border-bottom: 1px solid #d7dfeb;
    padding: 12px 8px;
}

.budget-summary {
    margin: 18px 0 22px;
    margin-left: auto;
    max-width: 320px;
    display: grid;
    gap: 10px;
}

.budget-summary div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 14px;
    border-radius: 14px;
    background: #f8fafc;
}

.budget-summary-total {
    background: linear-gradient(135deg, #0f766e 0%, #0b5b55 100%) !important;
    color: white;
}

.budget-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.budget-signature {
    margin-top: 26px;
    max-width: 320px;
    margin-left: auto;
    text-align: center;
}

.budget-signature-image {
    max-width: 220px;
    max-height: 90px;
    object-fit: contain;
}

.budget-signature-line {
    border-bottom: 1px solid #334155;
    margin: 8px 0 10px;
}

@media (max-width: 980px) {
    .shell {
        grid-template-columns: 1fr;
    }

    .two-col {
        grid-template-columns: 1fr;
    }

    .resume-contact-bar,
    .resume-body,
    .budget-sheet-header,
    .budget-columns {
        grid-template-columns: 1fr;
    }

    .resume-sidebar {
        border-right: 0;
        border-bottom: 1px solid #d7dfeb;
        padding-right: 0;
        padding-bottom: 18px;
        margin-bottom: 18px;
    }

    .receipt-header-row,
    .receipt-meta-split {
        grid-template-columns: 1fr;
    }

    .budget-item-row {
        grid-template-columns: 1fr;
    }
}

/* eCheckin platform modules */
.nav-hierarchy{gap:7px}.nav-hierarchy .nav-section{margin:15px 10px 1px;color:rgba(226,232,240,.48);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.nav-hierarchy .nav-section:first-child{margin-top:0}.nav-hierarchy a{padding:12px 16px}.sidebar{overflow-y:auto;max-height:100vh;position:sticky;top:0}
.customer-profile-grid{display:grid;grid-template-columns:300px 1fr;gap:20px}.customer-identity{grid-row:span 2;display:flex;align-items:center;flex-direction:column;text-align:center;gap:11px}.customer-details{min-width:0}.customer-photo{width:96px;height:96px;flex:0 0 auto;display:grid;place-items:center;overflow:hidden;border:4px solid #fff;border-radius:24px;background:linear-gradient(145deg,#0f766e,#38b2a2);box-shadow:0 10px 28px rgba(15,118,110,.22);color:#fff;font-size:34px;font-weight:850}.customer-photo img{width:100%;height:100%;object-fit:cover}.customer-photo-lg{width:150px;height:150px;border-radius:36px;font-size:52px}.customer-photo-sm{width:44px;height:44px;border-width:2px;border-radius:12px;font-size:17px}.customer-table-name{display:flex;align-items:center;gap:12px}.photo-editor{display:flex;align-items:center;gap:20px;padding:18px;border-radius:18px;background:#f3f8fa}.photo-editor>label:not(.remove-photo){flex:1}.photo-editor small{display:block;margin-top:6px}.remove-photo{color:#b42318}.profile-data{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0}.profile-data div{padding:15px 0;border-bottom:1px solid #e5ecf1}.profile-data dt{color:#748397;font-size:12px;font-weight:700;text-transform:uppercase}.profile-data dd{margin:6px 0 0;font-weight:650}.customer-empty{text-align:center;padding:60px}
@media(max-width:900px){.customer-profile-grid{grid-template-columns:1fr}.customer-identity{grid-row:auto}.profile-data{grid-template-columns:1fr}.photo-editor{align-items:flex-start;flex-wrap:wrap}}
.sidebar-role{display:inline-flex;justify-self:start;width:auto;margin-top:7px;padding:5px 9px;border-radius:999px;background:rgba(87,202,181,.14);color:#72dcc8;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.sidebar-footer{grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px 12px;border-top:1px solid rgba(255,255,255,.1)}.sidebar-user-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(145deg,#16877d,#3ab8a7);color:#fff;font-size:17px;font-weight:850}.sidebar-user-info{display:grid;min-width:0;gap:2px}.sidebar-user-info p{margin:0;font-size:11px}.sidebar-user-info strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-footer .logout{grid-column:1/-1;display:flex;justify-content:center;margin-top:5px;padding:10px 12px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.05);color:#dce8f5;font-size:13px;font-weight:700}.sidebar-footer .logout:hover{background:rgba(255,255,255,.11);color:#fff}
.sidebar-user-icon{overflow:hidden}.sidebar-user-icon img{width:100%;height:100%;object-fit:cover}.sidebar-account-link{color:#77dc94;font-size:11px;font-weight:750}.sidebar-account-link:hover{color:#a7f3ba}.account-photo-panel{display:flex;align-items:center;gap:28px;max-width:820px}.account-photo-copy{display:grid;flex:1;gap:13px}.account-photo-copy h3,.account-photo-copy p{margin:0}
@media(max-width:620px){.account-photo-panel{align-items:flex-start;flex-direction:column}.account-photo-copy{width:100%}}
.platform-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:22px}
.platform-card{display:flex;min-height:146px;flex-direction:column;justify-content:space-between;padding:22px;border:1px solid #dfe8ef;border-radius:22px;background:#fff;box-shadow:0 12px 32px rgba(15,39,64,.06)}
.platform-card span{color:#64748b;font-size:13px;font-weight:700}.platform-card strong{color:#102a43;font-size:30px;line-height:1}.platform-card small{color:#8292a6}.platform-card-main{background:linear-gradient(145deg,#0f766e,#159786);border-color:transparent}.platform-card-main span,.platform-card-main strong,.platform-card-main small{color:#fff}
.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.plan-card{display:flex;min-height:390px;flex-direction:column;gap:20px;padding:26px;border:1px solid #dbe5ed;border-radius:24px;background:#fff;box-shadow:0 16px 40px rgba(15,39,64,.07)}.plan-card.is-muted{opacity:.65}.plan-card h3{margin:10px 0 4px;font-size:22px}.plan-card ul{flex:1;margin:0;padding-left:20px;color:#455b70}.plan-card li{margin-bottom:8px}.plan-price{color:#0f766e;font-size:31px;font-weight:850}.plan-price small{color:#718096;font-size:13px;font-weight:600}.plan-limits{display:grid;gap:7px;padding:15px;border-radius:14px;background:#f4f8fb;color:#41566b;font-size:13px}
.status-pill{display:inline-flex;padding:5px 9px;border-radius:999px;background:#e9f1f5;color:#40556a;font-size:11px;font-weight:800;text-transform:uppercase}.status-active,.status-trial{background:#dcf7ef;color:#087466}.status-inactive,.status-expired,.status-cancelled{background:#edf1f5;color:#637282}.status-blocked,.status-suspended,.status-past_due{background:#ffe4e3;color:#b62929}.empty-table{text-align:center;color:#7b8da0;padding:30px!important}.form-span{grid-column:1/-1}.check-line{display:flex!important;align-items:center;gap:9px}.check-line input{width:auto!important}.access-create-box{padding:18px;border-radius:16px;background:#f2f7fa}
@media(max-width:1200px){.platform-metrics{grid-template-columns:repeat(3,1fr)}.plan-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.platform-metrics,.plan-grid{grid-template-columns:1fr}.platform-card{min-height:125px}}

@media print {
    .receipt-print-actions {
        display: none;
    }

    .receipt-print-page {
        background: white;
        padding: 0;
    }

    .receipt-sheet-print {
        max-width: none;
    }
}

/* Consulta de empresas */
.company-result-stack {
    display: grid;
    gap: 22px;
}

.company-print-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.company-print-actions form {
    margin: 0;
}

.dashboard-saved-companies {
    border-top: 4px solid var(--primary);
}

.dashboard-saved-companies .panel-head {
    margin-bottom: 20px;
}

.dashboard-empty-state {
    padding: 24px;
    border: 1px dashed var(--line);
    border-radius: 14px;
    background: var(--panel-soft);
    text-align: center;
}

.company-search-grid {
    display: grid;
    grid-template-columns: minmax(260px, 2fr) minmax(200px, 1.3fr) minmax(100px, .5fr) auto auto;
    gap: 14px;
    align-items: end;
}

.company-search-grid label {
    display: grid;
    gap: 7px;
}

.company-search-grid label span {
    font-size: .84rem;
    font-weight: 700;
}

.company-name-search .helper {
    margin: 14px 0 0;
}

.company-page-indicator {
    padding: 8px 12px;
    border-radius: 999px;
    background: #e6fffb;
    color: var(--primary);
    font-size: .82rem;
    font-weight: 800;
}

.company-pagination {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 16px;
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid var(--line);
}

.company-pagination > :last-child {
    justify-self: end;
}

.company-pagination > span {
    color: var(--muted);
    font-size: .85rem;
}

.company-regularity-section {
    border-top: 4px solid #0f766e;
}

.company-regularity-note {
    margin-top: 18px;
    padding: 14px 16px;
    border: 1px solid #f6c66b;
    border-radius: 12px;
    background: #fff8e7;
    color: #7a4b00;
    font-size: .88rem;
    line-height: 1.5;
}

@media (max-width: 1100px) {
    .company-search-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
    .company-search-grid { grid-template-columns: 1fr; }
    .company-pagination { grid-template-columns: 1fr; text-align: center; }
    .company-pagination > * { justify-self: stretch !important; }
}

.company-print-actions .muted {
    margin-left: 4px;
    font-size: .85rem;
}

.company-result-hero {
    padding: 30px 32px;
    border-left: 5px solid var(--primary);
}

.company-result-hero h3 {
    margin-top: 4px;
    font-size: clamp(1.25rem, 2vw, 1.75rem);
}

.company-result-hero .muted {
    margin: 8px 0 0;
    font-size: 1rem;
}

.company-status {
    display: inline-flex;
    align-items: center;
    padding: 9px 14px;
    border-radius: 999px;
    background: #dcfce7;
    color: #166534;
    font-size: .82rem;
    font-weight: 800;
    text-transform: uppercase;
}

.company-result-section {
    padding: 28px 30px;
}

.company-section-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-bottom: 18px;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--line);
}

.company-section-title h3,
.company-section-title p {
    margin: 0;
}

.company-section-title > span {
    padding: 8px 12px;
    border-radius: 10px;
    background: #e6fffb;
    color: var(--primary);
    font-weight: 800;
}

.company-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 0;
}

.company-summary > div {
    min-height: 92px;
    padding: 16px 18px;
    border: 1px solid #e1e7ef;
    border-radius: 14px;
    background: #f8fafc;
}

.company-summary dt {
    margin: 0 0 9px;
    color: #718096;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.company-summary dd {
    margin: 0;
    color: var(--text);
    font-size: .95rem;
    font-weight: 650;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

@media (max-width: 1100px) {
    .company-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
    .company-summary { grid-template-columns: 1fr; }
    .company-result-hero .panel-head,
    .company-section-title { align-items: flex-start; flex-direction: column; }
    .company-result-section,
    .company-result-hero { padding: 22px 20px; }
}

@media print {
    @page {
        size: A4 portrait;
        margin: 12mm;
    }

    .sidebar,
    .company-lookup-intro,
    .company-search-panel,
    .company-saved-panel,
    .company-print-actions,
    .alert {
        display: none !important;
    }

    .shell {
        display: block;
        min-height: 0;
    }

    .content {
        display: block;
        padding: 0;
    }

    .company-result-stack {
        display: block;
    }

    .company-result-stack .panel {
        margin-bottom: 12px;
        padding: 16px;
        border: 1px solid #cbd5e1;
        box-shadow: none;
        break-inside: avoid;
    }

    .company-summary {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
    }

    .company-summary > div {
        min-height: 0;
        padding: 9px 10px;
    }

    .company-section-title {
        padding-bottom: 10px;
        margin-bottom: 10px;
    }

    .company-result-hero {
        border-left: 4px solid #0f766e !important;
    }

    .company-result-section table {
        font-size: 10px;
    }
}

/* Camada final da marca: mantida no fim para abranger todos os módulos legados. */
body:not(.login-page){font-family:"Segoe UI Variable","Aptos Display","Segoe UI",sans-serif;background:radial-gradient(circle at 12% 0,rgba(34,197,94,.13),transparent 26%),linear-gradient(145deg,#fbfdfb 0%,#eef7f0 100%);color:#1b1f23}.shell{grid-template-columns:286px minmax(0,1fr)}.sidebar{background:linear-gradient(180deg,#082c1a 0%,#063f20 52%,#052819 100%);box-shadow:12px 0 40px rgba(5,62,31,.13)}.content{max-width:1800px;width:100%;padding:38px clamp(20px,3vw,52px)}
.nav a{border:1px solid transparent;background:rgba(255,255,255,.035);font-weight:650}.nav a:hover{border-color:rgba(74,222,128,.18);background:rgba(34,197,94,.12)}.nav a.is-active{border-color:rgba(74,222,128,.25);background:linear-gradient(90deg,rgba(22,163,74,.34),rgba(34,197,94,.12));box-shadow:inset 3px 0 #22c55e}.nav-hierarchy .nav-section{color:rgba(134,239,172,.62)}
.page-head h2{font-size:clamp(27px,3vw,42px);letter-spacing:-.035em;color:#10251a}.eyebrow{color:#159447;font-weight:850}.panel,.metric-card,.platform-card,.plan-card{border-color:rgba(11,94,42,.12);box-shadow:0 16px 42px rgba(18,71,38,.08)}.panel{border-radius:22px}.platform-card-main{background:linear-gradient(145deg,#075f2b,#16a34a 62%,#22c55e)}
.btn-primary{border-color:#0b7934;background:linear-gradient(135deg,#08732f,#16a34a);box-shadow:0 9px 20px rgba(22,163,74,.2)}.btn-primary:hover{background:linear-gradient(135deg,#065f29,#128b3f)}.text-link,.actions a,.actions button{color:#0c8738;font-weight:750}input,select,textarea{border-color:#cadbd0;border-radius:12px;background:#fcfffd;font:inherit}input:focus,select:focus,textarea:focus{outline:0;border-color:#22a651;box-shadow:0 0 0 4px rgba(34,197,94,.12)}table thead th{color:#52705e;background:#f1f8f3}table tbody tr:hover{background:#f5fbf6}
.login-page{min-height:100vh;padding:28px;background:radial-gradient(circle at 15% 10%,rgba(34,197,94,.3),transparent 32%),linear-gradient(135deg,#052d19,#087134 60%,#16a34a);display:grid;place-items:center}.login-card{width:min(100%,470px);padding:38px;border:1px solid rgba(255,255,255,.65);border-radius:30px;background:rgba(255,255,255,.96);box-shadow:0 30px 80px rgba(2,43,19,.32)}
.login-help{display:flex;justify-content:flex-end;margin-top:-8px}.login-help a,.login-public-actions .text-link{color:#0b8738;font-size:13px;font-weight:750}.login-public-actions{display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;padding-top:18px;border-top:1px solid #dce9df}.public-page,.auth-public-page{min-height:100vh;background:radial-gradient(circle at 10% 0,rgba(34,197,94,.18),transparent 30%),#f4faf5}.public-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px clamp(18px,5vw,72px);background:#fff;border-bottom:1px solid #dce9df}.public-header>div{display:flex;gap:10px}.public-wordmark{color:#19251d;font-size:27px;font-weight:850;letter-spacing:-.05em}.public-wordmark b{color:#16a34a}.public-container{width:min(1200px,calc(100% - 32px));margin:0 auto;padding:65px 0}.public-hero{max-width:720px;margin:0 auto 45px;text-align:center}.public-hero h1,.auth-public-card h1{margin:0;color:#10251a;font-size:clamp(30px,5vw,48px);letter-spacing:-.04em}.public-hero p{color:#647368;font-size:17px}.auth-public-page{display:grid;place-items:center;padding:28px}.auth-public-card{width:min(100%,850px);display:grid;gap:24px;padding:38px;border:1px solid #d7e7da;border-radius:28px;background:#fff;box-shadow:0 26px 70px rgba(5,75,32,.16)}.auth-public-card h1{font-size:36px}.auth-public-small{max-width:500px}
@media(max-width:620px){.login-public-actions{grid-template-columns:1fr;text-align:center}.public-header{align-items:flex-start;flex-direction:column}.public-header>div{width:100%}.public-header .btn{flex:1}.public-container{padding:38px 0}.auth-public-page{padding:12px}.auth-public-card{padding:24px 18px;border-radius:20px}.auth-public-card h1{font-size:30px}}
.brand-image{display:grid;place-items:center;padding:4px;border-radius:18px;background:transparent;box-shadow:none}.brand-image img{display:block;width:100%;max-height:92px;object-fit:contain;height:auto}.login-brand-image{display:grid;place-items:center;min-height:112px}.login-brand-image img{display:block;width:min(100%,300px);max-height:106px;object-fit:contain;height:auto;margin:auto}.public-wordmark{width:210px;height:76px;display:block;font-size:0;background:transparent url('brand/echeckin-horizontal-transparent.png') center/contain no-repeat}.public-wordmark img{display:block;width:210px;max-width:100%;height:auto}
.btn-pay{display:inline-flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,#087134,#16a34a);border-color:transparent;box-shadow:0 12px 28px rgba(8,113,52,.2)}.btn-pay:hover{color:#fff;filter:brightness(1.05);transform:translateY(-1px)}.btn-block{width:100%}.checkout-total{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px;border:1px solid #d5e7da;border-radius:18px;background:#f4faf5}.checkout-total span{color:#627266;font-size:14px}.checkout-total strong{color:#087134;font-size:26px;white-space:nowrap}.checkout-total small{margin-left:4px;color:#6a796e;font-size:13px;font-weight:650}.payment-result{text-align:center}.payment-result-icon{display:grid;place-items:center;width:64px;height:64px;margin:auto;border-radius:50%;color:#fff;background:#16a34a;font-size:30px;font-weight:900}.payment-result .btn{width:100%}
@media(max-width:480px){.checkout-total{align-items:flex-start;flex-direction:column}.checkout-total strong{font-size:23px}}
.feature-selector{margin:0;padding:20px;border:1px solid #d5e4d8;border-radius:18px}.feature-selector legend{padding:0 8px;color:#10251a;font-weight:800}.feature-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.feature-check{display:flex!important;align-items:center;gap:12px;min-height:76px;padding:14px;border:1px solid #d9e6dc;border-radius:14px;background:#f8fbf8;cursor:pointer;transition:.2s ease}.feature-check:hover{border-color:#16a34a;background:#f1faf3}.feature-check:has(input:checked){border-color:#16a34a;background:#eaf8ee;box-shadow:0 0 0 2px rgba(22,163,74,.08)}.feature-check input{width:20px;height:20px;accent-color:#16a34a}.feature-check span{display:grid;gap:3px}.feature-check small{color:#728078}.change-plan-grid .is-current-plan{border:2px solid #16a34a}.change-plan-grid button[disabled]{opacity:.7;cursor:not-allowed}
@media(max-width:680px){.feature-check-grid{grid-template-columns:1fr}}
.login-trust-footer{position:fixed;z-index:2;left:0;right:0;bottom:0;min-height:58px;display:flex;align-items:center;justify-content:center;gap:22px;padding:10px 20px;color:rgba(255,255,255,.76);background:rgba(3,42,21,.55);border-top:1px solid rgba(255,255,255,.12);backdrop-filter:blur(10px);font-size:11px}.login-trust-footer a{color:#a7f3bd;text-decoration:underline;text-underline-offset:2px}.login-trust-footer b{font-size:15px;color:#d7f8e0}.trust-payment,.trust-security{display:flex;align-items:center;gap:7px}.trust-security span{display:grid;line-height:1.1}.trust-security strong{font-size:11px;letter-spacing:.08em}.trust-security small{font-size:8px;color:rgba(255,255,255,.58)}.trust-domain{padding-left:18px;border-left:1px solid rgba(255,255,255,.2);font-size:9px;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:620px){.login-page{padding-bottom:82px}.login-trust-footer{position:absolute;flex-wrap:wrap;gap:8px 16px;min-height:68px}.trust-domain{padding-left:0;border-left:0;width:100%;text-align:center}}
@media(max-width:1200px){.brand-image{padding:8px;border-radius:15px}}@media(max-width:980px){.brand-image{width:220px}.brand-image img{width:100%}}@media(max-width:620px){.brand-image{width:205px}.login-brand-image img{width:min(100%,300px)}}

/* Dimensão padrão da marca na autenticação */
.login-page .login-card{width:min(92vw,470px)!important;max-width:470px!important;min-width:0!important;overflow:hidden!important;padding:36px 38px!important}
.login-page .login-brand-image{width:100%!important;height:88px!important;min-height:88px!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;padding:0!important}
.login-page .login-brand-image img{display:block!important;width:220px!important;max-width:100%!important;height:82px!important;max-height:82px!important;object-fit:contain!important;margin:0 auto!important}
.login-page .login-card form,.login-page .login-card label,.login-page .login-card input,.login-page .login-card button{width:100%!important;max-width:100%!important;min-width:0!important}
@media(max-width:520px){.login-page .login-card{width:calc(100vw - 24px)!important;padding:25px 20px!important}.login-page .login-brand-image{height:74px!important;min-height:74px!important}.login-page .login-brand-image img{width:190px!important;height:70px!important}}

/* Logo interna do painel: maior e com contorno reforçado */
.sidebar .brand-image{width:100%!important;min-height:112px!important;padding:8px 2px!important;display:flex!important;align-items:center!important;justify-content:center!important}
.sidebar .brand-image img{width:250px!important;max-width:100%!important;height:104px!important;max-height:104px!important;object-fit:contain!important;filter:none!important}
@media(max-width:1200px) and (min-width:981px){.sidebar .brand-image img{width:220px!important;height:94px!important}}
@media(max-width:980px){.sidebar .brand-image{width:230px!important;min-height:76px!important}.sidebar .brand-image img{width:220px!important;height:72px!important}}
@media(max-width:620px){.sidebar .brand-image{width:210px!important}.sidebar .brand-image img{width:200px!important;height:68px!important}}
.settings-stack{display:grid;gap:22px}.branding-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.branding-editor{display:grid;align-content:start;gap:10px;padding:18px;border:1px solid #dce8df;border-radius:18px;background:#f8fbf9}.branding-editor h4,.branding-editor p{margin:0}.branding-preview{height:150px;display:grid;place-items:center;padding:18px;overflow:hidden;border-radius:14px;background:#fff;border:1px dashed #bfd3c4}.branding-preview.is-dark{background:linear-gradient(145deg,var(--brand-deep),#052819)}.branding-preview img{max-width:100%;max-height:112px;object-fit:contain}.setting-toggle{align-self:end;min-height:48px;padding:12px;border-radius:12px;background:#edf8f0}.settings-save{position:sticky;bottom:18px;display:flex;justify-content:flex-end;padding:14px;border:1px solid #cfe2d3;border-radius:16px;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);box-shadow:0 14px 35px rgba(5,75,32,.14)}
@media(max-width:900px){.branding-grid{grid-template-columns:1fr}.settings-save .btn{width:100%}}
@media(max-width:1200px){.shell{grid-template-columns:252px minmax(0,1fr)}.sidebar{padding:26px 18px}.content{padding:30px 24px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.shell{display:block}.sidebar{position:relative;top:auto;max-height:none;display:grid;grid-template-columns:1fr auto;padding:17px 18px;gap:14px}.nav-hierarchy{grid-column:1/-1;display:flex;overflow-x:auto;gap:8px;padding:3px 0 8px}.nav-hierarchy .nav-section{display:none}.nav-hierarchy a{flex:0 0 auto;padding:10px 14px;white-space:nowrap}.nav a.is-active{box-shadow:inset 0 -3px #22c55e}.sidebar-footer{grid-column:2;grid-row:1;display:flex;border:0;padding:0;margin:0}.sidebar-user-info{display:none}.sidebar-footer .logout{grid-column:auto;margin:0;padding:9px 11px}.content{padding:26px 18px}.platform-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col,.form-grid-two{grid-template-columns:1fr}.field-span-2{grid-column:auto}}
@media(max-width:620px){.sidebar{grid-template-columns:1fr}.sidebar-footer{display:none}.content{padding:21px 12px}.page-head{display:grid;gap:16px}.page-head .btn,.page-head .form-actions{width:100%}.platform-metrics,.card-grid,.plan-grid{grid-template-columns:1fr}.panel,.metric-card,.platform-card,.plan-card{border-radius:17px;padding:18px}.filters{display:grid;grid-template-columns:1fr}.filters .btn{width:100%}.table-wrap{margin-inline:-18px;padding-inline:18px}.login-page{padding:14px}.login-card{padding:25px 20px;border-radius:22px}.photo-editor{display:grid}.form-actions{display:grid;grid-template-columns:1fr}.form-actions .btn{width:100%}}
