:root{--bg:#eef3f9;--nav:#030817;--card:#fff;--text:#071022;--muted:#50627d;--line:#dbe3ee;--accent:#071022;--ok:#c7f8df;--bad:#ffe0e0}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--text)}.shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{background:var(--nav);color:#fff;padding:22px}.brand{display:flex;gap:12px;align-items:center;margin-bottom:36px}.logo{width:36px;height:36px;border-radius:12px;background:#fff;color:#071022;display:grid;place-items:center;font-weight:900}.brand span{display:block;font-size:12px;color:#9fb0c9}.sidebar nav{display:grid;gap:8px}.sidebar a{color:#eaf2ff;text-decoration:none;padding:12px 14px;border-radius:12px;font-size:14px}.sidebar a.active,.sidebar a:hover{background:#151b2b}.main{padding:32px}.hero{max-width:850px;padding:40px;border-radius:24px;background:linear-gradient(135deg,#fff,#eaf7ff);border:1px solid var(--line)}.badge{display:inline-block;padding:8px 12px;border-radius:999px;background:#dff7ff;color:#00647a;font-weight:800;font-size:12px;margin-bottom:20px}.hero h1{font-size:44px;line-height:1.05;margin:0 0 16px}.hero p{font-size:18px;color:var(--muted);max-width:720px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;border-radius:14px;background:var(--accent);color:#fff;text-decoration:none;font-weight:800;border:0;cursor:pointer}.btn.secondary{background:#fff;color:#071022;border:1px solid var(--line)}.cards,.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:22px}.card,.panel{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:24px}.card span{display:block;text-transform:uppercase;font-size:12px;color:#60708a;margin-bottom:12px}.card strong{display:block;font-size:22px}.card small{display:block;margin-top:8px;color:var(--muted)}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.topbar span{color:#00647a}.topbar h1{font-size:34px;margin:6px 0}.topbar p{margin:0;color:var(--muted)}.panel{margin-top:20px}.panel h1,.panel h2{margin-top:0}.panel.muted{background:#f8fbff}.panel.error{background:var(--bad)}.license-boxes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.license{padding:16px;border-radius:14px;border:1px solid var(--line);background:#f5f7fb;font-weight:800}.license.ok{background:var(--ok);border-color:#7de7ad}@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{position:relative}.cards,.grid,.license-boxes{grid-template-columns:1fr}.hero h1{font-size:32px}}

.timeline{display:grid;gap:14px}.timeline-item{border:1px solid var(--line);border-radius:16px;background:#fff;padding:18px}.timeline-item.compact{padding:16px}.timeline-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.timeline-header strong{display:block;font-size:16px}.timeline-header small{display:block;color:var(--muted);margin-top:6px}.timeline-item p{color:var(--muted)}.timeline-item details{margin-top:10px}.timeline-item summary{cursor:pointer;font-weight:800}.timeline-item code{background:#f2f5f9;border:1px solid var(--line);border-radius:6px;padding:2px 6px}.status-pill{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:#eef2f7;color:#263348;font-weight:900;font-size:12px;white-space:nowrap}.status-completed{background:var(--ok);color:#095c2d}.status-in-validation{background:#fff4cf;color:#7a5400}.status-hotfix{background:#e6f3ff;color:#004a7a}@media(max-width:900px){.timeline-header{display:grid}.status-pill{justify-self:start}}

.notice{padding:14px 16px;border-radius:14px;border:1px solid var(--line);margin:14px 0;font-weight:800}.notice.success{background:var(--ok);border-color:#7de7ad;color:#095c2d}.notice.error{background:var(--bad);border-color:#ffb7b7;color:#7a1111}.split-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.mini-meta{background:#f2f6fb;border:1px solid var(--line);border-radius:14px;padding:12px 14px;min-width:160px}.mini-meta span{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;font-weight:800}.mini-meta strong{display:block;margin-top:4px}.filter-form{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;align-items:end}.filter-form label,.form-grid label{display:grid;gap:7px;font-weight:800;color:#263348}.filter-form input,.filter-form select,.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff;color:var(--text);font:inherit}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid .span-2{grid-column:span 2}.form-actions{display:flex;gap:10px;align-items:center}.table-wrap{width:100%;overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:13px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.data-table th{font-size:12px;text-transform:uppercase;color:var(--muted);letter-spacing:.04em}.data-table td small{display:block;color:var(--muted);margin-top:4px}.actions-cell{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.inline-form{display:inline}.btn.small{padding:9px 12px;border-radius:10px;font-size:12px}.btn.danger{background:#7a1111;color:#fff}.empty-state{border:1px dashed var(--line);border-radius:18px;padding:24px;background:#fbfdff}.empty-state p{color:var(--muted)}@media(max-width:900px){.split-header{display:grid}.filter-form,.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:span 1}.actions-cell{display:grid}.mini-meta{min-width:0}}

/* HOTFIX 2.0.3 — margem real e tabela de produtos */
.products-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:16px;background:#fff}.products-table{width:100%;min-width:1120px;border-collapse:separate;border-spacing:0;table-layout:auto}.products-table th,.products-table td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;white-space:normal}.products-table th{font-size:12px;text-transform:uppercase;color:var(--muted);letter-spacing:.04em;background:#f8fbff;white-space:nowrap}.products-table tbody tr:last-child td{border-bottom:0}.products-table .name-column{min-width:220px}.products-table .category-column{min-width:150px}.products-table .money-column,.products-table .percent-column{white-space:nowrap;text-align:right}.products-table .result-column{min-width:180px;white-space:nowrap}.products-table .result-column strong{display:block}.products-table .result-column small{display:block;color:var(--muted);margin-top:4px}.products-table .status-column{white-space:nowrap;text-align:left}.products-table .actions-column{width:170px;min-width:170px}.products-table .product-name{display:block;line-height:1.25}.products-table .product-unit{display:block;color:var(--muted);margin-top:5px;font-size:12px}.products-table .actions-cell{display:flex;gap:8px;align-items:center;justify-content:flex-start;flex-wrap:nowrap}.products-table .actions-cell .btn.small{min-width:72px;height:38px;padding:8px 12px;border-radius:11px;font-size:12px;line-height:1}.products-table .actions-cell .inline-form{display:inline-flex;margin:0}.table-hint{display:none;color:var(--muted);font-size:12px;margin:10px 0 0}.formula-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.formula-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:16px}.formula-card strong,.formula-card span,.formula-card small{display:block}.formula-card span{margin-top:8px;font-weight:800}.formula-card small{margin-top:8px;color:var(--muted);line-height:1.45}.result-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0 20px}.result-preview div{border:1px solid var(--line);background:#f8fbff;border-radius:14px;padding:14px}.result-preview span{display:block;text-transform:uppercase;font-size:12px;color:var(--muted);font-weight:800;margin-bottom:6px}.result-preview strong{font-size:20px}.form-grid label small{font-weight:600;color:var(--muted);line-height:1.35}@media(max-width:1100px){.table-hint{display:block}.products-table{min-width:1120px}}@media(max-width:900px){.products-table .actions-cell{display:flex}.products-table .actions-cell .btn.small{min-width:76px}.formula-grid,.result-preview{grid-template-columns:1fr}}

/* HOTFIX 2.0.4 — lista em cards para Produtos e Serviços */
.products-list-panel{overflow:hidden}.products-list-header{margin-bottom:18px}.product-list{display:grid;gap:14px}.product-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:18px;box-shadow:0 10px 24px rgba(7,16,34,.04)}.product-card-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start}.product-title-block h3{font-size:20px;line-height:1.2;margin:10px 0 6px}.product-title-block p{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0;color:var(--muted);font-size:13px}.product-badges{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.type-badge,.status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:900;line-height:1;border:1px solid var(--line);white-space:nowrap}.type-badge{background:#f2f6fb;color:#263348}.type-service{background:#eef7ff;color:#075985;border-color:#cce9ff}.type-product{background:#f0fdf4;color:#166534;border-color:#bbf7d0}.status-pill{background:#f2f6fb;color:#263348}.status-completed{background:var(--ok);border-color:#7de7ad;color:#095c2d}.status-muted{background:#f3f4f6;color:#4b5563}.product-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.product-actions .inline-form{display:inline-flex;margin:0}.product-actions .btn.small{min-width:82px;height:38px;border-radius:12px}.product-metrics{display:grid;grid-template-columns:repeat(5,minmax(125px,1fr));gap:10px;margin-top:16px}.metric-item{border:1px solid var(--line);background:#f8fbff;border-radius:14px;padding:12px;min-width:0}.metric-item span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;font-weight:900;letter-spacing:.03em;margin-bottom:7px;white-space:nowrap}.metric-item strong{display:block;font-size:16px;line-height:1.2;white-space:nowrap}.metric-profit{background:#f6fff9;border-color:#c7f8df}.metric-profit strong{color:#095c2d}@media(max-width:1180px){.product-metrics{grid-template-columns:repeat(3,minmax(135px,1fr))}}@media(max-width:760px){.product-card-main{grid-template-columns:1fr}.product-actions{justify-content:flex-start}.product-actions .btn.small,.product-actions .inline-form,.product-actions .inline-form button{width:100%}.product-metrics{grid-template-columns:1fr 1fr}.metric-item strong{font-size:15px}}@media(max-width:480px){.product-metrics{grid-template-columns:1fr}.product-badges{gap:6px}.product-title-block h3{font-size:18px}}

/* HOTFIX 2.0.5 — ações abaixo dos dados e botões lado a lado */
.product-card .product-card-main{grid-template-columns:1fr}.product-actions-footer{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:nowrap}.product-actions-footer .inline-form{display:inline-flex;margin:0}.product-actions-footer .btn.small,.product-actions-footer .inline-form button{min-width:104px;height:40px;border-radius:12px;white-space:nowrap}@media(max-width:760px){.product-actions-footer{justify-content:stretch}.product-actions-footer>a,.product-actions-footer>.inline-form{flex:1 1 0}.product-actions-footer .btn.small,.product-actions-footer .inline-form button{width:100%;min-width:0}.product-card .product-actions-footer{flex-direction:row;flex-wrap:nowrap}}

/* HOTFIX 3.0.1 — Precificador analítico com análise local no navegador */
.pricing-analyzer-panel .products-list-header{margin-bottom:18px}.pricing-product-list{display:grid;gap:14px}.pricing-product-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:18px;box-shadow:0 10px 24px rgba(7,16,34,.04)}.pricing-product-metrics{margin-top:16px}.pricing-card-actions{justify-content:flex-end}.pricing-card-actions .btn.small{min-width:136px}.pricing-analysis-result{border:1px solid #cfe6ff;box-shadow:0 18px 40px rgba(7,16,34,.08)}.pricing-analysis-result[hidden]{display:none}.pricing-analysis-result[data-tone="danger"]{border-color:#ffb7b7}.pricing-analysis-result[data-tone="warn"]{border-color:#ffe08a}.pricing-analysis-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.pricing-suggestion-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.pricing-suggestion-card{border:1px solid var(--line);background:#f8fbff;border-radius:16px;padding:16px}.pricing-suggestion-card span{display:inline-flex;border-radius:999px;background:#eef2f7;color:#263348;font-size:12px;font-weight:900;padding:6px 10px;margin-bottom:10px}.pricing-suggestion-card strong{display:block;font-size:24px;line-height:1.1;margin-bottom:10px}.pricing-suggestion-card small{display:block;color:var(--muted);font-weight:700;margin-top:6px}.pricing-suggestion-card p{color:var(--muted);font-size:13px;line-height:1.45;margin:12px 0 0}.pricing-suggestion-conservative{background:#fbfdff}.pricing-suggestion-moderate{background:#f6fff9;border-color:#c7f8df}.pricing-suggestion-aggressive{background:#fffaf0;border-color:#ffe0a3}.pricing-insights{border:1px solid var(--line);background:#fbfdff;border-radius:16px;padding:16px}.pricing-insights h3{margin:0 0 10px}.pricing-insights ul{margin:0;padding-left:20px;color:var(--muted);line-height:1.6}.pricing-insights li+li{margin-top:6px}@media(max-width:1000px){.pricing-analysis-kpis,.pricing-suggestion-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.pricing-analysis-kpis,.pricing-suggestion-grid{grid-template-columns:1fr}.pricing-card-actions{justify-content:stretch}.pricing-card-actions .btn.small{min-width:0}.pricing-card-actions>a,.pricing-card-actions>button{flex:1 1 0}}

/* HOTFIX 3.0.2 — Reserva de negociação e insights variáveis */
.pricing-settings-panel{margin-top:18px;border:1px solid var(--line);background:#fff;border-radius:18px;padding:18px}.pricing-settings-panel h3{margin:0 0 4px}.pricing-settings-panel p{margin:0;color:var(--muted)}.pricing-settings-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}.pricing-settings-grid label{display:flex;flex-direction:column;gap:7px;font-weight:800;color:#263348;font-size:12px}.pricing-settings-grid input{width:100%;border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:14px;background:#fbfdff;color:var(--text)}.pricing-settings-grid input:focus{outline:2px solid rgba(31,111,235,.16);border-color:#9fc3ff;background:#fff}.pricing-settings-help{margin-top:12px!important;font-size:13px}.pricing-analysis-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}.pricing-suggestion-card b{color:var(--text)}.psychological-prices{margin-top:10px;border-top:1px dashed var(--line);padding-top:10px;color:var(--muted);font-size:12px;line-height:1.5}.psychological-prices em{font-style:normal;font-weight:900;color:var(--text)}.pricing-analysis-result[data-negotiation-tone="danger"] #analysis-negotiation-classification{color:#b42318}.pricing-analysis-result[data-negotiation-tone="warn"] #analysis-negotiation-classification{color:#b54708}.pricing-analysis-result[data-negotiation-tone="ok"] #analysis-negotiation-classification{color:#067647}.pricing-analysis-result[data-negotiation-tone="strong"] #analysis-negotiation-classification{color:#175cd3}@media(max-width:1100px){.pricing-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pricing-analysis-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.pricing-settings-grid,.pricing-analysis-kpis{grid-template-columns:1fr}.pricing-settings-panel{padding:14px}}

/* HOTFIX 3.0.3 — Assistente mobile de análise do Precificador */
.pricing-wizard-intro{display:grid;gap:10px}.pricing-analysis-wizard[hidden]{display:none}.pricing-analysis-wizard{border:1px solid #cfe6ff;box-shadow:0 18px 40px rgba(7,16,34,.08)}.wizard-card{display:grid;gap:18px}.wizard-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.wizard-header h2{margin:8px 0 6px}.wizard-header p{margin:0;color:var(--muted);line-height:1.45}.wizard-progress{height:9px;background:#edf2f7;border-radius:999px;overflow:hidden}.wizard-progress>div{height:100%;width:0;background:linear-gradient(90deg,#1f6feb,#22c55e);border-radius:999px;transition:width .22s ease}.wizard-step-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.wizard-step-meta span{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:900}.wizard-step-meta strong{font-size:16px;color:var(--text)}.wizard-question{display:grid;gap:9px}.wizard-question span{font-weight:900;color:var(--text)}.wizard-question input{width:100%;border:1px solid var(--line);border-radius:16px;padding:16px;font-size:20px;font-weight:800;background:#fbfdff;color:var(--text)}.wizard-question input:focus{outline:3px solid rgba(31,111,235,.16);border-color:#9fc3ff;background:#fff}.wizard-question small{color:var(--muted);line-height:1.45}.wizard-actions{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:10px}.wizard-actions .btn{width:100%;justify-content:center}.wizard-actions button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:640px){.wizard-header{display:grid}.wizard-header .btn{width:100%}.wizard-actions{grid-template-columns:1fr 1fr}.wizard-actions #wizard-next-button{grid-column:1/-1}.wizard-question input{font-size:22px;padding:18px}.pricing-wizard-intro{padding:14px}}

/* FASE 4 — Financeiro Básico A1 */
.finance-summary-cards .finance-income-card{border-color:#bbf7d0;background:#f6fff9}.finance-summary-cards .finance-income-card strong{color:#067647}.finance-summary-cards .finance-expense-card{border-color:#fecaca;background:#fff7f7}.finance-summary-cards .finance-expense-card strong{color:#b42318}.finance-balance-ok{border-color:#bbf7d0;background:#f6fff9}.finance-balance-ok strong{color:#067647}.finance-balance-bad{border-color:#fecaca;background:#fff7f7}.finance-balance-bad strong{color:#b42318}.finance-filter-form{grid-template-columns:1fr 1fr 1fr 2fr auto}.finance-entry-list{display:grid;gap:14px}.finance-entry-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:18px;box-shadow:0 10px 24px rgba(7,16,34,.04)}.finance-entry-income{border-left:5px solid #22c55e}.finance-entry-expense{border-left:5px solid #ef4444}.finance-entry-main{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.finance-entry-main h3{font-size:20px;line-height:1.2;margin:10px 0 6px}.finance-entry-main p{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0;color:var(--muted);font-size:13px}.finance-entry-amount{font-size:22px;white-space:nowrap}.finance-entry-income .finance-entry-amount{color:#067647}.finance-entry-expense .finance-entry-amount{color:#b42318}.finance-entry-metrics{grid-template-columns:repeat(3,minmax(120px,1fr))}.status-paid{background:#dcfce7;color:#166534;border-color:#bbf7d0}.status-pending{background:#fff7d6;color:#854d0e;border-color:#fde68a}.status-cancelled{background:#f3f4f6;color:#4b5563;border-color:#e5e7eb}@media(max-width:980px){.finance-filter-form{grid-template-columns:1fr 1fr}.finance-filter-form .btn{width:100%}.finance-entry-main{display:grid}.finance-entry-amount{font-size:20px}.finance-entry-metrics{grid-template-columns:1fr 1fr}}@media(max-width:640px){.finance-filter-form,.finance-entry-metrics{grid-template-columns:1fr}.finance-entry-card{padding:14px}.finance-entry-main h3{font-size:18px}}

/* HOTFIX 4.0.1 — taxas financeiras */
.topbar-actions {
    display: flex;
    gap: .75rem;
    align-items: center;
    flex-wrap: wrap;
}

.finance-fee-card {
    border-color: rgba(245, 158, 11, .35);
}

.finance-entry-amount-block {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: .25rem;
    text-align: right;
}

.finance-entry-amount-block small {
    color: var(--muted, #64748b);
    font-size: .78rem;
    line-height: 1.2;
}

.finance-settings-form .inner-panel,
.finance-settings-example {
    margin-top: 1rem;
    background: rgba(15, 23, 42, .03);
}

@media (max-width: 760px) {
    .topbar-actions {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .topbar-actions .btn {
        width: 100%;
        justify-content: center;
    }

    .finance-entry-amount-block {
        align-items: flex-start;
        text-align: left;
    }
}

/* FASE 5 — Contas a pagar e receber */
.accounts-summary-cards .card strong {
    font-size: 1.25rem;
}

.account-card {
    border-left: 4px solid rgba(148, 163, 184, .65);
}

.account-overdue-card {
    border-left-color: rgba(220, 38, 38, .85);
    background: linear-gradient(135deg, rgba(254, 242, 242, .9), rgba(255, 255, 255, .95));
}

.account-actions-footer {
    display: flex;
    gap: .65rem;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
}

.account-actions-footer .inline-form {
    display: inline-flex;
    margin: 0;
}

@media (max-width: 720px) {
    .account-actions-footer {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .account-actions-footer .btn,
    .account-actions-footer button {
        width: 100%;
        justify-content: center;
    }
}

/* FASE 5.2 — Origem financeira + Caixa Rápido */
.source-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .22rem .52rem;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 700;
    background: rgba(148, 163, 184, .16);
    color: #475569;
    border: 1px solid rgba(148, 163, 184, .24);
}
.source-manual { background: rgba(100, 116, 139, .12); color: #475569; }
.source-receivable { background: rgba(34, 197, 94, .13); color: #15803d; }
.source-payable { background: rgba(239, 68, 68, .12); color: #b91c1c; }
.source-cash { background: rgba(59, 130, 246, .13); color: #1d4ed8; }
.source-cash-closure { background: rgba(124, 58, 237, .13); color: #6d28d9; }
.source-unknown { background: rgba(234, 179, 8, .16); color: #a16207; }
.cash-origin-note {
    display: block;
    margin-top: .35rem;
    font-size: .78rem;
    color: #64748b;
}

/* HOTFIX 5.2.1 — Caixa Rápido mobile-first */
.cash-mobile-topbar .topbar-actions {
    align-items: flex-start;
}

.cash-quick-shell {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
    gap: 18px;
    align-items: start;
}

.cash-quick-card,
.cash-side-panel,
.cash-recent-card {
    background: var(--card-bg, #ffffff);
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 18px;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .06);
}

.cash-quick-card {
    padding: 18px;
}

.cash-quick-header {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: flex-start;
    margin-bottom: 16px;
}

.cash-quick-header span {
    display: inline-flex;
    font-size: .78rem;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--muted-text, #64748b);
    letter-spacing: .05em;
    margin-bottom: 4px;
}

.cash-quick-header h2 {
    margin: 0 0 4px;
    font-size: 1.35rem;
}

.cash-quick-header p {
    margin: 0;
    color: var(--muted-text, #64748b);
    line-height: 1.45;
}

.cash-db-meta {
    white-space: nowrap;
}

.cash-quick-form {
    display: grid;
    gap: 12px;
}

.cash-type-toggle {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.cash-type-option {
    position: relative;
    display: grid;
    gap: 2px;
    padding: 13px 14px;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 15px;
    cursor: pointer;
    background: rgba(248, 250, 252, .8);
    transition: .16s ease;
}

.cash-type-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.cash-type-option span {
    font-weight: 850;
    color: var(--text-color, #0f172a);
}

.cash-type-option small {
    color: var(--muted-text, #64748b);
    font-size: .8rem;
}

.cash-type-option:has(input:checked),
.cash-type-option.is-selected {
    border-color: var(--accent-color, #2563eb);
    background: rgba(37, 99, 235, .08);
    box-shadow: inset 0 0 0 1px rgba(37, 99, 235, .18);
}

.cash-field {
    display: grid;
    gap: 6px;
    font-weight: 750;
    color: var(--text-color, #0f172a);
}

.cash-field input,
.cash-field select,
.cash-field textarea {
    width: 100%;
    min-height: 44px;
    border-radius: 12px;
    border: 1px solid var(--border-color, #e5e7eb);
    padding: 10px 12px;
    font-size: 1rem;
    background: var(--input-bg, #fff);
    color: var(--text-color, #0f172a);
}

.cash-field-main input {
    min-height: 56px;
    font-size: 1.55rem;
    font-weight: 900;
    letter-spacing: -.02em;
}

.cash-quick-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.cash-quick-grid .full-field {
    grid-column: 1 / -1;
}

.cash-optional-details {
    border: 1px dashed var(--border-color, #e5e7eb);
    border-radius: 14px;
    padding: 10px 12px;
    background: rgba(248, 250, 252, .65);
}

.cash-optional-details summary {
    cursor: pointer;
    font-weight: 800;
    color: var(--muted-text, #64748b);
}

.cash-optional-details .cash-field {
    margin-top: 10px;
}

.cash-submit-btn {
    min-height: 52px;
    width: 100%;
    font-size: 1.05rem;
    font-weight: 900;
}

.cash-side-panel {
    display: grid;
    gap: 14px;
    padding: 14px;
}

.cash-mini-summary {
    display: grid;
    gap: 10px;
}

.cash-mini-summary div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 13px;
    background: rgba(248, 250, 252, .9);
}

.cash-mini-summary span {
    font-size: .83rem;
    color: var(--muted-text, #64748b);
    font-weight: 750;
}

.cash-mini-summary strong {
    white-space: nowrap;
    font-size: .98rem;
}

.cash-positive strong {
    color: #15803d;
}

.cash-negative strong {
    color: #b91c1c;
}

.cash-recent-card {
    padding: 12px;
    box-shadow: none;
}

.cash-recent-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}

.cash-recent-header h2 {
    font-size: 1rem;
    margin: 0;
}

.cash-recent-header a,
.cash-recent-amount a {
    font-size: .8rem;
    font-weight: 800;
    text-decoration: none;
}

.cash-recent-list {
    display: grid;
    gap: 8px;
}

.cash-recent-item {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding: 10px;
    border-radius: 13px;
    background: rgba(248, 250, 252, .9);
    border-left: 4px solid #16a34a;
}

.cash-recent-item.is-expense {
    border-left-color: #dc2626;
}

.cash-recent-item strong,
.cash-recent-item span,
.cash-recent-amount a {
    display: block;
}

.cash-recent-item span {
    font-size: .78rem;
    color: var(--muted-text, #64748b);
    margin-top: 2px;
}

.cash-recent-amount {
    text-align: right;
    white-space: nowrap;
}

.cash-recent-item.is-income .cash-recent-amount strong {
    color: #15803d;
}

.cash-recent-item.is-expense .cash-recent-amount strong {
    color: #b91c1c;
}

.cash-empty-mini {
    margin: 0;
    color: var(--muted-text, #64748b);
    font-size: .9rem;
}

.cash-mobile-help {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 16px;
}

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

    .cash-mobile-topbar {
        gap: 12px;
    }

    .cash-quick-header {
        display: grid;
    }

    .cash-db-meta {
        justify-self: start;
    }
}

@media (max-width: 560px) {
    .cash-quick-card,
    .cash-side-panel {
        border-radius: 16px;
        padding: 12px;
    }

    .cash-type-toggle,
    .cash-quick-grid {
        grid-template-columns: 1fr;
    }

    .cash-field-main input {
        font-size: 1.35rem;
    }

    .cash-recent-item {
        align-items: flex-start;
    }
}

/* HOTFIX 5.2.2 — Fechamento diário do Caixa Rápido */
.cash-close-alert {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    margin-bottom: 14px;
    border: 1px solid rgba(245, 158, 11, .35);
    border-left: 5px solid #f59e0b;
    border-radius: 16px;
    background: #fffbeb;
    color: #78350f;
}

.cash-close-alert strong,
.cash-close-alert span {
    display: block;
}

.cash-close-alert span {
    margin-top: 3px;
    font-size: .92rem;
}

.cash-close-alert-running::after {
    content: "Fechando automaticamente...";
    font-size: .82rem;
    font-weight: 900;
    color: #92400e;
}

.cash-close-alert-paused::after {
    content: "Use o botão para tentar novamente.";
    font-size: .82rem;
    font-weight: 900;
    color: #92400e;
}

.cash-close-card {
    display: grid;
    gap: 10px;
    padding: 12px;
    border-radius: 16px;
    background: rgba(248, 250, 252, .94);
    border: 1px solid var(--border-color, #e5e7eb);
}

.cash-close-card span,
.cash-close-card small {
    display: block;
    color: var(--muted-text, #64748b);
    font-size: .82rem;
    font-weight: 750;
}

.cash-close-card strong {
    display: block;
    font-size: 1.05rem;
    font-weight: 900;
}

.cash-close-card.is-closed {
    border-left: 4px solid #16a34a;
}

.cash-close-card.is-open {
    border-left: 4px solid #f59e0b;
}

.cash-close-card .btn {
    width: 100%;
    justify-content: center;
}

@media (max-width: 560px) {
    .cash-close-alert {
        display: grid;
    }

    .cash-close-alert form,
    .cash-close-alert .btn {
        width: 100%;
    }
}

/* HOTFIX 5.2.3 — Fechamento do caixa consolida no Financeiro */
.cash-close-card small { line-height: 1.35; }


/* FASE 6 — Clientes Básicos A1 */
.clients-summary-cards .card strong { font-size: 1.35rem; }
.clients-filter-form { grid-template-columns: 1fr 2fr auto; }
.clients-list { display: grid; gap: 14px; }
.client-card { border: 1px solid var(--line); background: #fff; border-radius: 18px; padding: 18px; box-shadow: 0 10px 24px rgba(7,16,34,.04); }
.client-main { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.client-main h3 { font-size: 20px; line-height: 1.2; margin: 10px 0 6px; }
.client-main p { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin: 0; color: var(--muted); font-size: 13px; }
.client-document-block { display: flex; flex-direction: column; align-items: flex-end; text-align: right; gap: 4px; }
.client-document-block span { color: var(--muted); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.client-document-block strong { font-size: 14px; }
.client-notes { margin-top: 14px; border: 1px dashed var(--line); border-radius: 14px; padding: 12px; color: var(--muted); background: #fbfdff; line-height: 1.45; }
.client-actions-footer { display: flex; gap: .65rem; align-items: center; justify-content: flex-end; flex-wrap: wrap; margin-top: 14px; }
.client-actions-footer .inline-form { display: inline-flex; margin: 0; }
@media(max-width:760px){.clients-filter-form{grid-template-columns:1fr}.client-main{display:grid}.client-document-block{align-items:flex-start;text-align:left}.client-actions-footer{display:grid;grid-template-columns:1fr 1fr}.client-actions-footer .btn,.client-actions-footer button{width:100%;justify-content:center}}

/* HOTFIX 6.0.2 — Financeiro somente consolidação */
.empty-actions {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 1rem;
}

.finance-origin-note {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.85rem 1rem;
    border-radius: 16px;
    background: rgba(15, 23, 42, 0.04);
    border: 1px dashed rgba(15, 23, 42, 0.16);
    color: var(--muted-text, #64748b);
    font-size: 0.9rem;
}

.finance-origin-note strong {
    color: var(--text, #0f172a);
}

/* FASE 7 — Relatório Financeiro Simples A1 */
.report-picker-panel .report-generate-form {
    display: grid;
    gap: 1rem;
}

.report-month-field {
    max-width: 260px;
}

.report-type-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
}

.report-type-card {
    display: grid;
    gap: .35rem;
    border: 1px solid rgba(148, 163, 184, .28);
    border-radius: 1rem;
    padding: 1rem;
    background: rgba(15, 23, 42, .28);
    cursor: pointer;
}

.report-type-card input {
    width: auto;
    margin: 0;
}

.report-type-card span {
    color: var(--muted, #94a3b8);
    font-size: .85rem;
}

.report-type-card strong {
    font-size: 1rem;
}

.report-type-card small {
    color: var(--muted, #94a3b8);
    line-height: 1.4;
}

.report-type-active {
    border-color: rgba(34, 197, 94, .5);
}

.report-type-prepared {
    border-color: rgba(59, 130, 246, .35);
}

.report-type-locked {
    opacity: .72;
}

.report-result-panel {
    margin-top: 1rem;
}

.report-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.report-category-list,
.report-insights {
    display: grid;
    gap: .65rem;
}

.report-category-row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: .75rem;
    border-radius: .8rem;
    background: rgba(15, 23, 42, .25);
}

.report-insights {
    padding-left: 1.2rem;
}

.report-insights li {
    margin-bottom: .4rem;
}

/* HOTFIX 8.0.3 — Atualizações em ordem decrescente e colunas lado a lado */
.updates-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    align-items: start;
}

.updates-column {
    min-width: 0;
}

.updates-column-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.updates-column-header span {
    display: inline-block;
    color: var(--muted, #64748b);
    font-size: .82rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: .2rem;
}

.updates-column-header h2 {
    margin: 0;
}

.updates-column-header > strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.25rem;
    min-height: 2.25rem;
    padding: .25rem .55rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, .06);
    color: var(--text, #0f172a);
    font-size: .9rem;
}

.updates-latest-list,
.updates-older-list {
    gap: .85rem;
}

.updates-more {
    margin-top: 1rem;
}

.updates-more > summary {
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    border: 1px solid rgba(15, 23, 42, .12);
    border-radius: .85rem;
    padding: .72rem 1rem;
    background: rgba(255, 255, 255, .72);
    color: var(--text, #0f172a);
    font-weight: 800;
    list-style: none;
    user-select: none;
}

.updates-more > summary::-webkit-details-marker {
    display: none;
}

.updates-more > summary::after {
    content: "↓";
    font-size: .9rem;
    opacity: .75;
}

.updates-more[open] > summary::after {
    content: "↑";
}

.updates-more[open] > summary {
    margin-bottom: 1rem;
}

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

/* HOTFIX 8.1.1 — Ajustes visuais A1, menu responsivo e Caixa Rápido */
:root{
    --sidebar-expanded:260px;
    --sidebar-compact:76px;
    --nav-active:#151b2b;
    --nav-hover:#111827;
    --focus-ring:rgba(37,99,235,.22);
}

.shell{transition:grid-template-columns .18s ease;}
.sidebar{position:sticky;top:0;min-height:100vh;overflow:auto;z-index:20;}
.sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:28px;}
.sidebar .brand{margin-bottom:0;min-width:0;}
.brand-text{min-width:0;}
.brand-text strong{display:block;line-height:1.08;max-width:150px;}
.sidebar-toggle{display:none;width:42px;height:42px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.06);color:#fff;align-items:center;justify-content:center;cursor:pointer;}
.sidebar-toggle:hover{background:rgba(255,255,255,.12);}
.sidebar-toggle .icon{width:21px;height:21px;}
.sidebar nav{gap:7px;}
.sidebar nav a.nav-item{display:flex;align-items:center;gap:11px;min-height:42px;padding:11px 12px;border-radius:12px;white-space:nowrap;}
.nav-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:0 0 22px;color:#dbeafe;}
.nav-icon .icon{width:20px;height:20px;stroke-width:2.15;}
.nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;}
.sidebar nav a.active .nav-icon,.sidebar nav a:hover .nav-icon{color:#fff;}
.main{min-width:0;}

@media(max-width:900px){
    .shell{grid-template-columns:var(--sidebar-compact) minmax(0,1fr);}
    .shell.sidebar-expanded{grid-template-columns:var(--sidebar-expanded) minmax(0,1fr);}
    .sidebar{padding:12px 10px;}
    .sidebar-toggle{display:inline-flex;}
    .sidebar-header{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:18px;}
    .shell:not(.sidebar-expanded) .brand-text,
    .shell:not(.sidebar-expanded) .nav-label{display:none;}
    .shell:not(.sidebar-expanded) .brand{justify-content:center;}
    .shell:not(.sidebar-expanded) .sidebar nav a.nav-item{justify-content:center;padding-left:0;padding-right:0;}
    .shell:not(.sidebar-expanded) .sidebar-toggle{margin:0 auto;}
    .shell.sidebar-expanded .sidebar-header{grid-template-columns:1fr auto;}
    .main{padding:18px 12px;}
    .topbar{display:grid;gap:12px;align-items:start;}
}

/* Caixa Rápido: garante que apenas o tipo escolhido pareça selecionado */
.cash-type-option{outline:0;}
.cash-type-option.is-selected,
.cash-type-option:has(input:checked){border-color:#2563eb;background:rgba(37,99,235,.08);box-shadow:inset 0 0 0 1px rgba(37,99,235,.18);}
.cash-type-option:not(.is-selected):not(:has(input:checked)){border-color:var(--border-color,#e5e7eb);background:rgba(248,250,252,.8);box-shadow:none;}
.cash-type-option.is-selected span{color:#071022;}
.cash-type-option.is-income.is-selected{border-color:#16a34a;background:rgba(22,163,74,.08);box-shadow:inset 0 0 0 1px rgba(22,163,74,.20);}
.cash-type-option.is-expense.is-selected{border-color:#ef4444;background:rgba(239,68,68,.08);box-shadow:inset 0 0 0 1px rgba(239,68,68,.20);}
.cash-type-option:focus-within{outline:3px solid var(--focus-ring);outline-offset:2px;}

/* Padrão geral de botões/ações para evitar empilhamento feio */
.topbar-actions,.form-actions,.actions-cell,.product-actions-footer,.account-actions-footer,.client-actions-footer,.pricing-card-actions,.empty-actions,.cash-recent-amount{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;}
.inline-form{margin:0;}
.btn,.btn.small,button.btn{line-height:1.1;text-align:center;}
.btn.icon-btn{gap:.45rem;}
.action-group{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;}
@media(max-width:760px){
    .topbar-actions,.form-actions,.actions-cell,.product-actions-footer,.account-actions-footer,.client-actions-footer,.pricing-card-actions,.empty-actions{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:stretch;}
    .topbar-actions>.btn,.form-actions>.btn,.actions-cell>.btn,.actions-cell>.inline-form,.product-actions-footer>a,.product-actions-footer>.inline-form,.account-actions-footer>a,.account-actions-footer>.inline-form,.client-actions-footer>a,.client-actions-footer>.inline-form,.empty-actions>a{flex:1 1 0;min-width:118px;}
    .topbar-actions .btn,.form-actions .btn,.actions-cell .btn,.product-actions-footer .btn,.account-actions-footer .btn,.client-actions-footer .btn,.empty-actions .btn{width:100%;justify-content:center;}
    .cash-recent-amount{justify-content:flex-end;gap:.25rem;}
}

/* Cards informativos mais legíveis */
.notice,.panel.muted,.empty-state{line-height:1.45;}
.notice strong,.panel.muted strong{font-weight:900;}
.license-card-detail-muted{color:var(--muted,#50627d);font-size:.88rem;line-height:1.35;}

/* HOTFIX 8.1.2 — Menu lateral recolhível corrigido */
:root{
    --sidebar-expanded:260px;
    --sidebar-compact:76px;
}

.shell{
    display:grid!important;
    grid-template-columns:var(--sidebar-expanded) minmax(0,1fr)!important;
    transition:grid-template-columns .18s ease;
}

.shell.sidebar-collapsed{
    grid-template-columns:var(--sidebar-compact) minmax(0,1fr)!important;
}

.shell.sidebar-expanded{
    grid-template-columns:var(--sidebar-expanded) minmax(0,1fr)!important;
}

.sidebar-toggle{
    display:inline-flex!important;
    flex:0 0 auto;
}

.shell.sidebar-collapsed .brand-text,
.shell.sidebar-collapsed .nav-label{
    display:none!important;
}

.shell.sidebar-collapsed .sidebar{
    padding-left:10px;
    padding-right:10px;
}

.shell.sidebar-collapsed .sidebar-header{
    display:grid;
    grid-template-columns:1fr;
    justify-items:center;
    gap:10px;
}

.shell.sidebar-collapsed .brand{
    justify-content:center;
}

.shell.sidebar-collapsed .sidebar nav a.nav-item{
    justify-content:center;
    padding-left:0!important;
    padding-right:0!important;
}

.shell.sidebar-collapsed .sidebar-toggle{
    margin:0 auto;
}

.shell.sidebar-expanded .sidebar-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
}

@media(max-width:900px){
    .shell,
    .shell.sidebar-collapsed{
        grid-template-columns:var(--sidebar-compact) minmax(0,1fr)!important;
    }

    .shell.sidebar-expanded{
        grid-template-columns:var(--sidebar-expanded) minmax(0,1fr)!important;
    }

    .sidebar{
        position:sticky!important;
        top:0;
        min-height:100vh;
    }

    .main{
        min-width:0;
        padding:16px 10px!important;
    }
}

@media(max-width:480px){
    :root{--sidebar-compact:64px;--sidebar-expanded:230px;}
    .sidebar nav a.nav-item{min-height:44px;}
    .nav-icon{width:24px;height:24px;}
}

/* HOTFIX 8.1.3 — Caixa Rápido: abertura, troco e dinheiro em caixa */
.cash-opening-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
    margin-bottom: 1rem;
}

.cash-opening-card {
    border: 1px solid rgba(37, 99, 235, .18);
    box-shadow: 0 18px 40px rgba(15, 23, 42, .06);
}

.cash-opening-form textarea,
.cash-close-form input,
.cash-change-box input {
    width: 100%;
}

.cash-quick-shell.is-waiting-opening .cash-quick-card:not(.cash-opening-card) {
    opacity: .72;
}

.cash-change-box {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(160px, .45fr);
    gap: .75rem;
    padding: .85rem;
    border: 1px solid rgba(37, 99, 235, .18);
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(239, 246, 255, .96), rgba(255,255,255,.96));
}

.cash-change-box[hidden] {
    display: none !important;
}

.cash-change-result {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: .15rem;
    padding: .75rem;
    border-radius: 14px;
    background: rgba(255, 255, 255, .72);
    border: 1px solid rgba(148, 163, 184, .22);
}

.cash-change-result span,
.cash-change-result small {
    color: var(--muted, #64748b);
    font-size: .82rem;
}

.cash-change-result strong {
    font-size: 1.2rem;
}

.cash-money-summary {
    border: 1px solid rgba(22, 163, 74, .18);
    background: linear-gradient(180deg, rgba(240, 253, 244, .95), rgba(255,255,255,.95));
}

.cash-close-form {
    display: grid;
    gap: .6rem;
    margin-top: .75rem;
}

.cash-recent-amount span {
    color: var(--muted, #64748b);
    font-size: .76rem;
    font-weight: 700;
}

.cash-recent-item small {
    display: block;
    color: var(--muted, #64748b);
    font-size: .76rem;
    margin-top: .12rem;
}

@media (max-width: 720px) {
    .cash-change-box {
        grid-template-columns: 1fr;
    }
}

.finance-cash-physical-card {
    border: 1px solid rgba(22, 163, 74, .18);
    background: linear-gradient(180deg, rgba(240, 253, 244, .96), rgba(255,255,255,.96));
}

.finance-cash-physical-panel {
    border: 1px solid rgba(22, 163, 74, .14);
}

.finance-cash-physical-metrics .metric-item strong {
    white-space: nowrap;
}


/* HOTFIX 8.1.3 REVISADO 3 — Caixa guiado mobile-first */
.cash-guided-card { overflow: hidden; }
.cash-guided-progress { display:flex; gap:8px; margin: 4px 0 16px; }
.cash-guided-progress span { width:28px; height:28px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; font-weight:800; font-size:12px; background:#eef2f7; color:#64748b; border:1px solid #dbe3ef; }
.cash-guided-progress span.is-active { background:#0b5cff; color:#fff; border-color:#0b5cff; }
.cash-guided-progress span.is-done { background:#dcfce7; color:#166534; border-color:#86efac; }
.cash-step { display:none; animation: cashStepIn .16s ease-out; }
.cash-step.is-active { display:block; }
.cash-step-title { display:grid; gap:4px; margin-bottom:12px; }
.cash-step-title span { text-transform:uppercase; letter-spacing:.08em; font-size:11px; font-weight:900; color:#64748b; }
.cash-step-title strong { font-size:18px; }
.cash-step-title small { color:#64748b; line-height:1.35; }
.cash-type-toggle-guided { grid-template-columns: repeat(2, minmax(0,1fr)); }
.cash-locked-date-box { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-bottom:12px; }
.cash-locked-date-box > div { border:1px solid #dbe3ef; background:#f8fafc; border-radius:16px; padding:12px; }
.cash-locked-date-box span { display:block; font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:#64748b; font-weight:900; }
.cash-locked-date-box strong { display:block; font-size:18px; margin-top:3px; }
.cash-guided-actions { display:flex; gap:10px; align-items:center; margin-top:16px; }
.cash-guided-actions .btn { flex:1; min-height:48px; }
.cash-no-change-note { border:1px dashed #cbd5e1; background:#f8fafc; border-radius:16px; padding:14px; display:grid; gap:4px; }
.cash-no-change-note strong { font-size:15px; }
.cash-no-change-note span { color:#64748b; font-size:13px; }
.field-error-pulse { outline:2px solid #ef4444 !important; box-shadow:0 0 0 4px rgba(239,68,68,.12) !important; }
@keyframes cashStepIn { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
@media (max-width: 720px) {
  .cash-type-toggle-guided { grid-template-columns: 1fr; }
  .cash-locked-date-box { grid-template-columns:1fr; }
  .cash-guided-actions { position:sticky; bottom:10px; background:rgba(255,255,255,.92); backdrop-filter: blur(8px); padding:8px; border-radius:18px; box-shadow:0 12px 30px rgba(15,23,42,.12); }
}

/* HOTFIX 8.1.4 — Caixa guiado por cards, uma etapa por vez */
.cash-guided-card .cash-step[hidden] { display: none !important; }
.cash-guided-progress-card {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border:1px solid #dbe3ef;
  background:#f8fafc;
  border-radius:18px;
  padding:12px 14px;
  margin:8px 0 14px;
}
.cash-guided-progress-card > strong {
  font-size:13px;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#334155;
}
.cash-guided-dots { display:flex; gap:8px; align-items:center; }
.cash-guided-dots span { width:26px; height:26px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; font-weight:900; font-size:12px; background:#eef2f7; color:#64748b; border:1px solid #dbe3ef; }
.cash-guided-dots span.is-active { background:#0b5cff; color:#fff; border-color:#0b5cff; box-shadow:0 0 0 4px rgba(11,92,255,.12); }
.cash-guided-dots span.is-done { background:#dcfce7; color:#166534; border-color:#86efac; }
.cash-step-card {
  border:1px solid #dbe3ef;
  background:linear-gradient(180deg,#fff,#f8fafc);
  border-radius:22px;
  padding:18px;
  box-shadow:0 12px 28px rgba(15,23,42,.06);
}
.cash-step-card .cash-step-title { margin-bottom:16px; }
.cash-step-card .cash-step-title strong { font-size:20px; line-height:1.2; }
.cash-step-card .cash-field-main input { font-size:28px; min-height:62px; }
.cash-guided-actions { border-top:1px solid #e8eef7; padding-top:14px; }
.cash-guided-actions [hidden] { display:none !important; }
@media (max-width: 720px) {
  .cash-guided-progress-card { align-items:flex-start; flex-direction:column; }
  .cash-guided-dots { width:100%; justify-content:space-between; }
  .cash-guided-dots span { width:30px; height:30px; }
  .cash-step-card { padding:16px; border-radius:20px; }
  .cash-step-card .cash-step-title strong { font-size:19px; }
}

/* HOTFIX 8.1.5 — Caixa guiado real, Enter avança e histórico do caixa */
.cash-enter-hint {
  margin: 12px 0 0;
  color: #64748b;
  font-size: 13px;
  text-align: center;
}
.cash-type-option:not(.is-selected) {
  background: #f8fafc;
}
.cash-type-option.is-selected.is-income {
  border-color: #16a34a;
  background: #ecfdf5;
  box-shadow: 0 0 0 4px rgba(22, 163, 74, .10);
}
.cash-type-option.is-selected.is-expense {
  border-color: #ef4444;
  background: #fef2f2;
  box-shadow: 0 0 0 4px rgba(239, 68, 68, .10);
}
.cash-history-topbar .topbar-actions { display:flex; gap:10px; flex-wrap:wrap; }
.cash-history-filter-panel { margin-bottom: 16px; }
.cash-history-list { display:grid; gap:14px; }
.cash-history-card {
  background:#fff;
  border:1px solid #dbe3ef;
  border-radius:20px;
  padding:16px;
  box-shadow:0 12px 28px rgba(15,23,42,.06);
}
.cash-history-card.is-income { border-left:4px solid #16a34a; }
.cash-history-card.is-expense { border-left:4px solid #ef4444; }
.cash-history-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.cash-history-card-head h2 { margin:4px 0 4px; font-size:18px; }
.cash-history-card-head p { margin:0; color:#64748b; font-size:13px; }
.cash-history-type { text-transform:uppercase; letter-spacing:.08em; font-size:11px; font-weight:900; color:#64748b; }
.cash-history-amount { white-space:nowrap; font-size:18px; }
.cash-history-card.is-income .cash-history-amount { color:#047857; }
.cash-history-card.is-expense .cash-history-amount { color:#dc2626; }
.cash-history-details { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:10px; margin-top:14px; }
.cash-history-details > div { background:#f8fafc; border:1px solid #e8eef7; border-radius:14px; padding:10px; }
.cash-history-details span { display:block; font-size:11px; color:#64748b; text-transform:uppercase; letter-spacing:.06em; font-weight:900; }
.cash-history-details strong { display:block; margin-top:3px; font-size:14px; }
.cash-history-notes { margin:12px 0 0; color:#475569; font-size:14px; background:#f8fafc; border-radius:14px; padding:10px; }
@media (max-width: 720px) {
  .cash-history-card-head { flex-direction:column; }
  .cash-history-details { grid-template-columns:1fr; }
  .cash-history-topbar .topbar-actions { width:100%; }
  .cash-history-topbar .topbar-actions .btn { flex:1; }
}

/* HOTFIX 8.1.6 — limpeza do guiado e conferência do fechamento */
.cash-close-count-card {
    display: grid;
    gap: 10px;
    padding: 12px;
    border: 1px solid #dbe3ef;
    border-radius: 16px;
    background: #f8fbff;
}
.cash-close-count-card p {
    margin: 0;
    color: #526075;
    font-size: 13px;
    line-height: 1.35;
}
.cash-close-count-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}
.cash-close-count-grid div {
    border: 1px solid #e8eef7;
    background: #fff;
    border-radius: 14px;
    padding: 10px;
}
.cash-close-count-grid span {
    display: block;
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.cash-close-count-grid strong {
    display: block;
    margin-top: 4px;
    color: #0f172a;
    font-size: 16px;
}
@media(max-width:640px){
    .cash-close-count-grid { grid-template-columns: 1fr; }
}

/* HOTFIX 8.1.8 — Tour inicial e Caixa guiado simplificado */
.app-tour-overlay[hidden]{display:none!important;}
.app-tour-overlay{position:fixed;inset:0;z-index:9998;display:grid;place-items:center;padding:18px;}
.app-tour-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.58);backdrop-filter:blur(3px);}
.app-tour-card{position:relative;z-index:2;width:min(430px,calc(100vw - 28px));background:#fff;border:1px solid rgba(148,163,184,.35);border-radius:24px;box-shadow:0 24px 70px rgba(15,23,42,.28);padding:22px;display:grid;gap:12px;}
.app-tour-kicker{text-transform:uppercase;letter-spacing:.09em;font-size:11px;font-weight:900;color:#2563eb;}
.app-tour-card h2{margin:0;font-size:22px;line-height:1.15;color:#0f172a;}
.app-tour-card p{margin:0;color:#475569;line-height:1.45;}
.app-tour-progress{font-size:12px;font-weight:800;color:#64748b;}
.app-tour-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.app-tour-highlight{position:relative;z-index:9999!important;outline:3px solid rgba(37,99,235,.45)!important;box-shadow:0 0 0 8px rgba(37,99,235,.14)!important;border-radius:14px!important;}
.cash-final-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;}
.cash-final-summary>div{border:1px solid rgba(148,163,184,.35);border-radius:16px;padding:12px;background:#f8fafc;display:grid;gap:4px;}
.cash-final-summary span{font-size:12px;color:#64748b;font-weight:800;}
.cash-final-summary strong{font-size:16px;color:#0f172a;}
@media(max-width:640px){.app-tour-card{padding:18px;border-radius:20px;}.app-tour-actions .btn{flex:1 1 120px;}.cash-final-summary{grid-template-columns:1fr;}}

/* HOTFIX 8.1.9 — Tour inicial + tours guiados por seção */
.section-tour-launcher {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 9200;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(37, 99, 235, .28);
    background: #ffffff;
    color: #1d4ed8;
    font-weight: 900;
    border-radius: 999px;
    padding: 11px 14px;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .16);
    cursor: pointer;
}
.section-tour-launcher:hover { background: #eff6ff; }
.section-tour-launcher > span:first-child {
    display: inline-grid;
    place-items: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #2563eb;
    color: #fff;
    font-size: 14px;
    line-height: 1;
}
.app-tour-example {
    border: 1px solid rgba(37, 99, 235, .18);
    background: #eff6ff;
    color: #1e3a8a;
    border-radius: 16px;
    padding: 10px 12px;
    font-size: 13px;
    line-height: 1.35;
}
body.app-tour-active .app-tour-highlight {
    animation: appTourPulse 1.15s ease-in-out infinite alternate;
}
@keyframes appTourPulse {
    from { box-shadow: 0 0 0 7px rgba(37,99,235,.12), 0 12px 26px rgba(37,99,235,.10); }
    to { box-shadow: 0 0 0 11px rgba(37,99,235,.22), 0 18px 40px rgba(37,99,235,.16); }
}
@media (max-width: 720px) {
    .section-tour-launcher {
        right: 12px;
        bottom: 12px;
        padding: 10px 12px;
    }
    .section-tour-launcher span:last-child { display: none; }
    .section-tour-launcher > span:first-child { width: 24px; height: 24px; }
}


/* HOTFIX 8.1.10 — Corrige sobreposição do tour guiado
   A caixa do tour deve ficar sempre acima do item destacado. */
.app-tour-overlay[hidden] { display: none !important; }
.app-tour-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 22000 !important;
    display: grid !important;
    place-items: center !important;
    padding: 18px !important;
    pointer-events: none !important;
}
.app-tour-backdrop {
    position: absolute !important;
    inset: 0 !important;
    z-index: 22000 !important;
    background: rgba(15, 23, 42, .54) !important;
    backdrop-filter: blur(3px) !important;
    pointer-events: auto !important;
}
.app-tour-card {
    position: relative !important;
    z-index: 22020 !important;
    pointer-events: auto !important;
    max-height: calc(100vh - 36px) !important;
    overflow: auto !important;
}
body.app-tour-active .app-tour-highlight,
.app-tour-highlight {
    position: relative !important;
    z-index: 21990 !important;
    outline: 3px solid rgba(37, 99, 235, .55) !important;
    box-shadow: 0 0 0 8px rgba(37, 99, 235, .18) !important;
    border-radius: 14px !important;
}
body.app-tour-active .section-tour-launcher {
    z-index: 21980 !important;
}
body.app-tour-active .sidebar,
body.app-tour-active .app-sidebar,
body.app-tour-active .side-menu {
    z-index: 21980 !important;
}
@media (max-width: 720px) {
    .app-tour-overlay {
        place-items: end center !important;
        padding: 12px !important;
    }
    .app-tour-card {
        width: min(460px, calc(100vw - 24px)) !important;
        max-height: min(70vh, 560px) !important;
        border-radius: 22px !important;
    }
}


/* FASE 8.2 — Design System, UI Premium e Responsividade A1
   Camada visual sem alteração de regra de negócio, SSO, licença, banco ou rotas críticas. */
:root {
    color-scheme: light;
    --ds-font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --ds-bg: #f6f7fb;
    --ds-bg-soft: #eef2ff;
    --ds-surface: rgba(255,255,255,.88);
    --ds-surface-strong: #ffffff;
    --ds-surface-muted: #f8fafc;
    --ds-text: #0f172a;
    --ds-text-soft: #334155;
    --ds-muted: #64748b;
    --ds-line: rgba(148,163,184,.28);
    --ds-line-strong: rgba(99,102,241,.22);
    --ds-primary: #4f46e5;
    --ds-primary-strong: #4338ca;
    --ds-primary-soft: rgba(79,70,229,.10);
    --ds-violet: #7c3aed;
    --ds-success: #059669;
    --ds-success-soft: rgba(16,185,129,.12);
    --ds-warning: #d97706;
    --ds-warning-soft: rgba(245,158,11,.14);
    --ds-danger: #e11d48;
    --ds-danger-soft: rgba(225,29,72,.12);
    --ds-info-soft: rgba(14,165,233,.12);
    --ds-nav: #070b18;
    --ds-nav-soft: rgba(255,255,255,.075);
    --ds-nav-active: rgba(124,58,237,.26);
    --ds-radius-xs: 8px;
    --ds-radius-sm: 12px;
    --ds-radius-md: 16px;
    --ds-radius-lg: 22px;
    --ds-radius-xl: 28px;
    --ds-shadow-sm: 0 8px 24px rgba(15, 23, 42, .06);
    --ds-shadow-md: 0 18px 45px rgba(15, 23, 42, .10);
    --ds-shadow-lg: 0 28px 80px rgba(15, 23, 42, .16);
    --ds-space-1: .25rem;
    --ds-space-2: .5rem;
    --ds-space-3: .75rem;
    --ds-space-4: 1rem;
    --ds-space-5: 1.25rem;
    --ds-space-6: 1.5rem;
    --ds-space-8: 2rem;
    --ds-transition: 160ms ease;
    --sidebar-expanded: 270px;
    --sidebar-compact: 78px;

    /* aliases preservados para as telas antigas */
    --bg: var(--ds-bg);
    --nav: var(--ds-nav);
    --card: var(--ds-surface-strong);
    --text: var(--ds-text);
    --muted: var(--ds-muted);
    --line: var(--ds-line);
    --accent: var(--ds-primary);
    --ok: #dcfce7;
    --bad: #ffe4e6;
}

html[data-theme="dark"] {
    color-scheme: dark;
    --ds-bg: #080b14;
    --ds-bg-soft: #111827;
    --ds-surface: rgba(15,23,42,.86);
    --ds-surface-strong: #101522;
    --ds-surface-muted: #0f172a;
    --ds-text: #f8fafc;
    --ds-text-soft: #dbeafe;
    --ds-muted: #94a3b8;
    --ds-line: rgba(148,163,184,.18);
    --ds-line-strong: rgba(129,140,248,.32);
    --ds-primary: #818cf8;
    --ds-primary-strong: #a78bfa;
    --ds-primary-soft: rgba(129,140,248,.16);
    --ds-violet: #a78bfa;
    --ds-success: #34d399;
    --ds-success-soft: rgba(52,211,153,.14);
    --ds-warning: #fbbf24;
    --ds-warning-soft: rgba(251,191,36,.14);
    --ds-danger: #fb7185;
    --ds-danger-soft: rgba(251,113,133,.14);
    --ds-info-soft: rgba(56,189,248,.14);
    --ds-nav: #050812;
    --ds-nav-soft: rgba(255,255,255,.08);
    --ds-nav-active: rgba(129,140,248,.24);
    --ds-shadow-sm: 0 8px 24px rgba(0,0,0,.22);
    --ds-shadow-md: 0 18px 45px rgba(0,0,0,.32);
    --ds-shadow-lg: 0 28px 80px rgba(0,0,0,.42);
    --ok: rgba(52,211,153,.18);
    --bad: rgba(251,113,133,.16);
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--ds-bg); }
body {
    min-height: 100%;
    margin: 0;
    font-family: var(--ds-font-sans);
    background:
        radial-gradient(circle at top left, rgba(124,58,237,.10), transparent 34rem),
        radial-gradient(circle at top right, rgba(79,70,229,.10), transparent 28rem),
        var(--ds-bg);
    color: var(--ds-text);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

a { color: inherit; }
button, input, select, textarea { font: inherit; }
::selection { background: rgba(124,58,237,.22); }

.app-shell,
.shell {
    display: grid !important;
    grid-template-columns: var(--sidebar-expanded) minmax(0, 1fr) !important;
    min-height: 100vh;
    transition: grid-template-columns var(--ds-transition);
}
.shell.sidebar-collapsed { grid-template-columns: var(--sidebar-compact) minmax(0, 1fr) !important; }
.shell.sidebar-expanded { grid-template-columns: var(--sidebar-expanded) minmax(0, 1fr) !important; }
.main {
    min-width: 0;
    padding: clamp(1rem, 2vw, 2rem);
}

.sidebar {
    position: sticky !important;
    top: 0;
    min-height: 100vh;
    height: 100vh;
    overflow: auto;
    z-index: 30;
    padding: 18px 14px;
    color: #f8fafc;
    background:
        linear-gradient(180deg, rgba(124,58,237,.20), transparent 21rem),
        linear-gradient(180deg, #080b18 0%, var(--ds-nav) 100%);
    border-right: 1px solid rgba(255,255,255,.08);
    box-shadow: 16px 0 45px rgba(15,23,42,.08);
    scrollbar-width: thin;
}
.sidebar-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: 1.35rem;
}
.sidebar .brand {
    min-width: 0;
    margin-bottom: 0;
    gap: .75rem;
}
.logo {
    width: 42px;
    height: 42px;
    border-radius: 15px;
    color: #fff;
    background: linear-gradient(135deg, var(--ds-primary), var(--ds-violet));
    box-shadow: 0 16px 35px rgba(79,70,229,.34);
}
.brand-text strong {
    max-width: 160px;
    color: #fff;
    font-size: .94rem;
    letter-spacing: -.02em;
}
.brand-text span,
.brand span {
    margin-top: .2rem;
    color: rgba(226,232,240,.72);
    font-size: .73rem;
}
.sidebar-tools {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    flex: 0 0 auto;
}
.sidebar-toggle,
.theme-toggle {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 14px;
    background: rgba(255,255,255,.075);
    color: #fff;
    cursor: pointer;
    transition: transform var(--ds-transition), background var(--ds-transition), border-color var(--ds-transition);
}
.theme-toggle { font-size: 1.04rem; font-weight: 900; }
.sidebar-toggle:hover,
.theme-toggle:hover {
    transform: translateY(-1px);
    background: rgba(255,255,255,.14);
    border-color: rgba(255,255,255,.20);
}
.sidebar nav {
    display: grid;
    gap: .45rem;
}
.sidebar nav a,
.sidebar nav a.nav-item {
    display: flex;
    align-items: center;
    gap: .7rem;
    min-height: 44px;
    padding: .72rem .78rem;
    border-radius: 15px;
    color: rgba(241,245,249,.86);
    text-decoration: none;
    font-weight: 760;
    letter-spacing: -.01em;
    transition: background var(--ds-transition), color var(--ds-transition), transform var(--ds-transition);
}
.sidebar nav a:hover,
.sidebar nav a.active {
    color: #fff;
    background: var(--ds-nav-active);
    transform: translateX(1px);
}
.nav-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    color: #c7d2fe;
}
.nav-icon .icon { width: 20px; height: 20px; stroke-width: 2.18; }
.nav-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.shell.sidebar-collapsed .brand-text,
.shell.sidebar-collapsed .nav-label { display: none !important; }
.shell.sidebar-collapsed .sidebar { padding-left: 10px; padding-right: 10px; }
.shell.sidebar-collapsed .sidebar-header { display: grid; grid-template-columns: 1fr; justify-items: center; gap: .65rem; }
.shell.sidebar-collapsed .brand { justify-content: center; }
.shell.sidebar-collapsed .sidebar-tools { display: grid; justify-items: center; }
.shell.sidebar-collapsed .sidebar nav a.nav-item { justify-content: center; padding-left: 0 !important; padding-right: 0 !important; }

.topbar {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.25rem;
}
.topbar > div:first-child,
.split-header > div:first-child { min-width: 0; }
.topbar span:not(.status-pill):not(.type-badge):not(.source-badge),
.app-kicker {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    color: var(--ds-primary);
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.topbar h1,
.panel h1,
.panel h2 {
    margin-top: .25rem;
    color: var(--ds-text);
    letter-spacing: -.045em;
}
.topbar h1 { font-size: clamp(1.75rem, 4vw, 2.35rem); line-height: 1.04; }
.topbar p,
.panel p { color: var(--ds-muted); }
.topbar-actions,
.actions-row,
.form-actions,
.action-group,
.filter-actions,
.empty-actions,
.product-actions-footer,
.account-actions-footer,
.client-actions-footer,
.pricing-card-actions {
    display: flex;
    align-items: center;
    gap: .65rem;
    flex-wrap: wrap;
}

.card,
.panel,
.metric-card,
.hero,
.timeline-item,
.product-card,
.pricing-product-card,
.client-card,
.account-card,
.cash-register-card,
.cash-side-panel > div,
.cash-opening-card,
.report-type-card,
.formula-card,
.wizard-card {
    background: var(--ds-surface);
    border: 1px solid var(--ds-line);
    border-radius: var(--ds-radius-lg);
    box-shadow: var(--ds-shadow-sm);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}
.card,
.panel { padding: clamp(1rem, 2vw, 1.5rem); }
.card:hover,
.product-card:hover,
.pricing-product-card:hover,
.client-card:hover,
.account-card:hover,
.timeline-item:hover {
    border-color: var(--ds-line-strong);
    box-shadow: var(--ds-shadow-md);
}
.card span { color: inherit; font-size: inherit; text-transform: none; margin-bottom: 0; }
.card > span,
.metric-card > span {
    display: block;
    margin-bottom: .55rem;
    color: var(--ds-muted);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .075em;
    text-transform: uppercase;
}
.card strong,
.metric-card strong {
    display: block;
    color: var(--ds-text);
    font-size: clamp(1.25rem, 2vw, 1.65rem);
    letter-spacing: -.035em;
}
.card small,
.metric-card small { color: var(--ds-muted); line-height: 1.4; }
.panel.muted { background: linear-gradient(180deg, var(--ds-surface), var(--ds-surface-muted)); }
.cards,
.grid,
.finance-summary-cards,
.clients-summary-cards,
.report-kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}
.finance-income-card { border-color: rgba(16,185,129,.24); background: linear-gradient(180deg, var(--ds-surface), var(--ds-success-soft)); }
.finance-expense-card,
.finance-balance-bad { border-color: rgba(225,29,72,.22); background: linear-gradient(180deg, var(--ds-surface), var(--ds-danger-soft)); }
.finance-fee-card { border-color: rgba(245,158,11,.25); background: linear-gradient(180deg, var(--ds-surface), var(--ds-warning-soft)); }
.finance-balance-ok { border-color: rgba(16,185,129,.24); }

.btn,
button.btn,
a.btn,
.btn-primary,
.btn-secondary,
.btn-danger,
.btn-success {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    min-height: 42px;
    padding: .78rem 1rem;
    border: 1px solid transparent;
    border-radius: 14px;
    color: #fff;
    background: linear-gradient(135deg, var(--ds-primary), var(--ds-violet));
    box-shadow: 0 12px 28px rgba(79,70,229,.20);
    text-decoration: none;
    font-weight: 850;
    letter-spacing: -.01em;
    cursor: pointer;
    transition: transform var(--ds-transition), box-shadow var(--ds-transition), background var(--ds-transition), border-color var(--ds-transition), color var(--ds-transition);
}
.btn:hover,
button.btn:hover,
a.btn:hover { transform: translateY(-1px); box-shadow: 0 16px 34px rgba(79,70,229,.27); }
.btn:focus-visible,
.sidebar-toggle:focus-visible,
.theme-toggle:focus-visible,
.form-control:focus,
.filter-form input:focus,
.filter-form select:focus,
.form-grid input:focus,
.form-grid select:focus,
.form-grid textarea:focus,
.filters-grid input:focus,
.filters-grid select:focus {
    outline: 3px solid rgba(124,58,237,.22);
    outline-offset: 2px;
}
.btn.secondary,
.btn-secondary {
    color: var(--ds-text);
    background: var(--ds-surface-strong);
    border-color: var(--ds-line);
    box-shadow: var(--ds-shadow-sm);
}
.btn.danger,
.btn-danger { color: #fff; background: linear-gradient(135deg, #e11d48, #be123c); box-shadow: 0 12px 28px rgba(225,29,72,.18); }
.btn.success,
.btn-success { color: #fff; background: linear-gradient(135deg, #059669, #10b981); box-shadow: 0 12px 28px rgba(16,185,129,.18); }
.btn.small { min-height: 36px; padding: .58rem .78rem; border-radius: 12px; font-size: .82rem; }
.btn[disabled],
button[disabled] { opacity: .58; cursor: not-allowed; transform: none !important; }

.form-control,
.filter-form input,
.filter-form select,
.form-grid input,
.form-grid select,
.form-grid textarea,
.filters-grid input,
.filters-grid select,
.report-month-field input,
.cash-field input,
.cash-field select,
.cash-field textarea,
.wizard-question input,
.wizard-question select,
.wizard-question textarea {
    width: 100%;
    min-height: 44px;
    border: 1px solid var(--ds-line);
    border-radius: 14px;
    padding: .78rem .9rem;
    color: var(--ds-text);
    background: var(--ds-surface-strong);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
    transition: border-color var(--ds-transition), box-shadow var(--ds-transition), background var(--ds-transition);
}
.form-grid,
.filter-form,
.filters-grid,
.report-generate-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}
.filter-form { grid-template-columns: minmax(180px, 2fr) minmax(140px, 1fr) minmax(140px, 1fr) auto; }
.form-grid label,
.filter-form label,
.filters-grid label,
.cash-field,
.report-month-field {
    display: grid;
    gap: .45rem;
    color: var(--ds-text-soft);
    font-weight: 820;
}
.form-grid .span-2 { grid-column: span 2; }

.table-wrap,
.data-list {
    width: 100%;
    overflow-x: auto;
    border-radius: var(--ds-radius-md);
}
.data-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}
.data-table th,
.data-table td {
    padding: .88rem .8rem;
    border-bottom: 1px solid var(--ds-line);
    text-align: left;
    vertical-align: middle;
}
.data-table th {
    color: var(--ds-muted);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .075em;
    text-transform: uppercase;
}

.empty-state {
    display: grid;
    gap: .9rem;
    padding: 1.35rem;
    border: 1px dashed var(--ds-line-strong);
    border-radius: var(--ds-radius-lg);
    background: linear-gradient(135deg, var(--ds-primary-soft), transparent 58%), var(--ds-surface);
    color: var(--ds-text);
}
.empty-state p { color: var(--ds-muted); }
.alert,
.notice {
    padding: .95rem 1rem;
    border-radius: var(--ds-radius-md);
    border: 1px solid var(--ds-line);
    background: var(--ds-surface);
    box-shadow: var(--ds-shadow-sm);
    color: var(--ds-text);
    line-height: 1.45;
}
.alert-success,
.notice.success { color: #065f46; background: var(--ds-success-soft); border-color: rgba(16,185,129,.24); }
.alert-warning { color: #92400e; background: var(--ds-warning-soft); border-color: rgba(245,158,11,.25); }
.alert-error,
.notice.error { color: #9f1239; background: var(--ds-danger-soft); border-color: rgba(225,29,72,.22); }
html[data-theme="dark"] .notice.success,
html[data-theme="dark"] .alert-success { color: #bbf7d0; }
html[data-theme="dark"] .notice.error,
html[data-theme="dark"] .alert-error { color: #fecdd3; }
html[data-theme="dark"] .alert-warning { color: #fde68a; }

.badge,
.status-pill,
.type-badge,
.source-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    width: max-content;
    min-height: 28px;
    padding: .35rem .62rem;
    border-radius: 999px;
    border: 1px solid var(--ds-line);
    background: var(--ds-primary-soft);
    color: var(--ds-primary);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .035em;
    text-transform: uppercase;
    white-space: nowrap;
}
.status-completed,
.status-active { background: var(--ds-success-soft); color: var(--ds-success); border-color: rgba(16,185,129,.24); }
.status-in-validation,
.status-pending { background: var(--ds-warning-soft); color: var(--ds-warning); border-color: rgba(245,158,11,.25); }
.status-hotfix,
.type-product { background: var(--ds-info-soft); color: #0284c7; border-color: rgba(14,165,233,.24); }
.type-service { background: var(--ds-primary-soft); color: var(--ds-violet); border-color: rgba(124,58,237,.22); }
.status-muted { background: var(--ds-surface-muted); color: var(--ds-muted); }

.product-list,
.pricing-product-list,
.clients-list,
.accounts-list,
.timeline,
.report-category-list,
.cash-recent-list {
    display: grid;
    gap: .9rem;
}
.product-card,
.pricing-product-card,
.client-card,
.account-card {
    padding: 1rem;
}
.product-card-main,
.client-main,
.account-card-main,
.split-header,
.timeline-header,
.products-list-header,
.cash-recent-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}
.product-title-block,
.client-main > div:first-child { min-width: 0; }
.product-badges { display: flex; align-items: center; gap: .45rem; flex-wrap: wrap; margin-bottom: .5rem; }
.product-metrics,
.finance-entry-metrics,
.pricing-analysis-kpis,
.result-preview {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
    gap: .75rem;
    margin-top: .9rem;
}
.metric-item {
    padding: .85rem;
    border: 1px solid var(--ds-line);
    border-radius: var(--ds-radius-md);
    background: var(--ds-surface-muted);
}
.metric-item span { display: block; color: var(--ds-muted); font-size: .72rem; font-weight: 900; text-transform: uppercase; letter-spacing: .055em; }
.metric-item strong { display: block; margin-top: .25rem; color: var(--ds-text); font-size: 1rem; }
.metric-profit { border-color: rgba(16,185,129,.22); background: var(--ds-success-soft); }

.cash-layout,
.cash-register-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, .75fr);
    gap: 1rem;
    align-items: start;
}
.cash-register-card { padding: clamp(1rem, 2vw, 1.35rem); }
.cash-type-grid,
.cash-close-count-grid,
.report-type-grid,
.formula-grid,
.pricing-suggestion-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: .85rem;
}
.cash-type-option,
.report-type-card {
    border: 1px solid var(--ds-line);
    background: var(--ds-surface-strong);
    border-radius: var(--ds-radius-md);
    padding: .9rem;
    transition: border-color var(--ds-transition), background var(--ds-transition), box-shadow var(--ds-transition), transform var(--ds-transition);
}
.cash-type-option:hover,
.report-type-card:hover { transform: translateY(-1px); border-color: var(--ds-line-strong); }
.cash-type-option.is-income.is-selected { border-color: rgba(16,185,129,.38); background: var(--ds-success-soft); }
.cash-type-option.is-expense.is-selected { border-color: rgba(225,29,72,.34); background: var(--ds-danger-soft); }
.cash-mobile-help { display: none; }

.section-tour-launcher {
    z-index: 9200;
    border-color: rgba(124,58,237,.24);
    color: var(--ds-primary);
    background: var(--ds-surface-strong);
    box-shadow: var(--ds-shadow-md);
}
.section-tour-launcher:hover { background: var(--ds-primary-soft); }
.section-tour-launcher > span:first-child { background: linear-gradient(135deg, var(--ds-primary), var(--ds-violet)); color: #fff; }
.app-tour-overlay[hidden] { display: none !important; }
.app-tour-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 26000 !important;
    display: grid !important;
    place-items: center !important;
    padding: 18px !important;
    pointer-events: none !important;
}
.app-tour-backdrop {
    position: absolute !important;
    inset: 0 !important;
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    pointer-events: none !important;
}
.app-tour-card {
    position: relative !important;
    z-index: 26040 !important;
    width: min(460px, calc(100vw - 28px));
    max-height: calc(100vh - 36px) !important;
    overflow: auto !important;
    display: grid;
    gap: .85rem;
    padding: 1.25rem;
    color: var(--ds-text);
    background: var(--ds-surface-strong);
    border: 1px solid var(--ds-line-strong);
    border-radius: 24px;
    box-shadow: var(--ds-shadow-lg);
    pointer-events: auto !important;
}
.app-tour-kicker { color: var(--ds-primary); }
.app-tour-card h2 { color: var(--ds-text); letter-spacing: -.03em; }
.app-tour-card p { color: var(--ds-muted); }
.app-tour-example {
    padding: .8rem .9rem;
    border-radius: 16px;
    border: 1px solid var(--ds-line);
    background: var(--ds-primary-soft);
    color: var(--ds-text-soft);
}
.app-tour-progress { color: var(--ds-muted); }
.app-tour-actions { display: flex; gap: .55rem; flex-wrap: wrap; justify-content: flex-end; }
.app-tour-spotlight {
    position: fixed !important;
    z-index: 26010 !important;
    pointer-events: none !important;
    border: 3px solid rgba(124,58,237,.98) !important;
    border-radius: 20px !important;
    background: transparent !important;
    box-shadow: 0 0 0 9999px rgba(2,6,23,.68), 0 0 0 8px rgba(124,58,237,.20), 0 18px 54px rgba(0,0,0,.35) !important;
}
body.app-tour-active .app-tour-highlight,
.app-tour-highlight {
    filter: none !important;
    -webkit-filter: none !important;
    opacity: 1 !important;
    transform: none !important;
    outline: 3px solid rgba(124,58,237,.98) !important;
    outline-offset: 4px !important;
    border-radius: 16px !important;
}
body.app-tour-active .app-tour-highlight,
body.app-tour-active .app-tour-highlight * {
    filter: none !important;
    -webkit-filter: none !important;
    opacity: 1 !important;
}

@media (max-width: 1180px) {
    .cards,
    .grid,
    .finance-summary-cards,
    .clients-summary-cards,
    .report-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cash-layout,
    .cash-register-layout { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
    :root { --sidebar-expanded: 236px; --sidebar-compact: 70px; }
    .app-shell,
    .shell,
    .shell.sidebar-collapsed { grid-template-columns: var(--sidebar-compact) minmax(0, 1fr) !important; }
    .shell.sidebar-expanded { grid-template-columns: var(--sidebar-expanded) minmax(0, 1fr) !important; }
    .sidebar { padding: 12px 9px; }
    .sidebar-header { display: grid; grid-template-columns: 1fr; justify-items: center; gap: .65rem; }
    .shell.sidebar-expanded .sidebar-header { display: grid; grid-template-columns: 1fr; }
    .main { padding: .9rem .7rem !important; }
    .topbar,
    .split-header,
    .product-card-main,
    .client-main,
    .account-card-main,
    .timeline-header { display: grid; gap: .75rem; }
    .topbar-actions,
    .actions-row,
    .form-actions,
    .filter-actions,
    .product-actions-footer,
    .account-actions-footer,
    .client-actions-footer,
    .pricing-card-actions,
    .empty-actions { align-items: stretch; }
    .topbar-actions > .btn,
    .form-actions > .btn,
    .filter-actions > .btn,
    .product-actions-footer > a,
    .product-actions-footer > .inline-form,
    .account-actions-footer > a,
    .account-actions-footer > .inline-form,
    .client-actions-footer > a,
    .client-actions-footer > .inline-form,
    .pricing-card-actions > .btn,
    .empty-actions > .btn,
    .empty-actions > a { flex: 1 1 150px; }
    .inline-form .btn { width: 100%; }
    .filter-form,
    .filters-grid,
    .form-grid,
    .report-generate-form { grid-template-columns: 1fr; }
    .form-grid .span-2 { grid-column: auto; }
    .cash-mobile-help { display: block; }
    .app-tour-overlay { place-items: end center !important; padding: 12px !important; }
    .app-tour-card { width: min(480px, calc(100vw - 24px)); max-height: min(72vh, 560px) !important; border-radius: 22px; }
}
@media (max-width: 640px) {
    :root { --sidebar-expanded: 224px; --sidebar-compact: 64px; }
    .cards,
    .grid,
    .finance-summary-cards,
    .clients-summary-cards,
    .report-kpis { grid-template-columns: 1fr; }
    .card,
    .panel,
    .product-card,
    .pricing-product-card,
    .client-card,
    .account-card { border-radius: 18px; }
    .btn,
    button.btn,
    a.btn { min-height: 42px; padding: .72rem .85rem; }
    .section-tour-launcher { right: 12px; bottom: 12px; padding: 10px 12px; }
    .section-tour-launcher > span:last-child { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; scroll-behavior: auto !important; }
}

/* FASE 8.2.1 — Ícones premium via CDN com fallback local preservado */
.icon-hybrid {
    display: inline-grid;
    place-items: center;
    width: 1em;
    height: 1em;
    line-height: 1;
    flex: 0 0 auto;
    color: currentColor;
    vertical-align: -0.125em;
}

.icon-hybrid .icon-cdn,
.icon-hybrid .icon-local-fallback,
.icon-hybrid .icon-local-svg {
    grid-area: 1 / 1;
    width: 1em;
    height: 1em;
    color: currentColor;
}

.icon-hybrid .icon-cdn {
    display: none;
    font-size: 1em;
}

.icon-hybrid .icon-local-fallback {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.icon-hybrid.is-cdn-ready .icon-cdn {
    display: inline-block;
}

.icon-hybrid.is-cdn-ready .icon-local-fallback {
    display: none;
}

.icon-hybrid.is-local-fallback .icon-local-fallback,
.icons-local-fallback .icon-hybrid .icon-local-fallback {
    display: inline-flex;
}

.icons-local-fallback .icon-hybrid .icon-cdn {
    display: none;
}

.nav-icon .icon-hybrid,
.sidebar-toggle .icon-hybrid,
.theme-toggle .icon-hybrid {
    font-size: 20px;
}

.nav-icon .icon-cdn,
.nav-icon .icon-local-svg {
    stroke-width: 2.1;
}


/* FASE 8.2.2 — validação CDN dos ícones e contraste dark mode */
:root {
    --card-bg: var(--ds-surface-strong);
    --border-color: var(--ds-line);
    --muted-text: var(--ds-muted);
    --ds-readable-panel: var(--ds-surface-strong);
    --ds-readable-panel-soft: var(--ds-surface-muted);
}

html[data-theme="dark"] {
    --card-bg: var(--ds-surface);
    --border-color: var(--ds-line);
    --muted-text: var(--ds-muted);
    --ds-readable-panel: #111827;
    --ds-readable-panel-soft: #0f172a;
}

.icon-hybrid,
.icon-hybrid[data-icon-state="fallback"] {
    display: inline-grid;
    place-items: center;
}

.icon-hybrid .icon-cdn,
.icon-hybrid .icon-local-fallback,
.icon-hybrid .icon-local-svg {
    grid-area: 1 / 1;
}

.icon-hybrid .icon-cdn,
.icon-hybrid[data-icon-state="fallback"] .icon-cdn,
.icon-hybrid.is-local-fallback .icon-cdn,
.icons-local-fallback .icon-hybrid .icon-cdn {
    display: none !important;
}

.icon-hybrid .icon-local-fallback,
.icon-hybrid[data-icon-state="fallback"] .icon-local-fallback,
.icon-hybrid.is-local-fallback .icon-local-fallback,
.icons-local-fallback .icon-hybrid .icon-local-fallback {
    display: inline-flex !important;
}

.icon-hybrid[data-icon-state="cdn"] .icon-cdn,
.icon-hybrid.is-cdn-ready .icon-cdn,
.icons-cdn-ready .icon-hybrid[data-icon-state="cdn"] .icon-cdn {
    display: inline-block !important;
}

.icon-hybrid[data-icon-state="cdn"] .icon-local-fallback,
.icon-hybrid.is-cdn-ready .icon-local-fallback,
.icons-cdn-ready .icon-hybrid[data-icon-state="cdn"] .icon-local-fallback {
    display: none !important;
}

.mini-meta,
.cash-db-meta {
    background: var(--ds-readable-panel);
    color: var(--ds-text);
    border: 1px solid var(--ds-line);
    border-radius: var(--ds-radius-md);
    box-shadow: var(--ds-shadow-sm);
}

.mini-meta span,
.cash-db-meta span {
    color: var(--ds-muted);
}

.mini-meta strong,
.cash-db-meta strong {
    color: var(--ds-text);
}

.finance-entry-card,
.pricing-settings-panel,
.pricing-analysis-result,
.pricing-suggestion-card,
.pricing-insights,
.result-preview div,
.products-table-wrap,
.products-table th,
.products-table td,
.formula-card,
.cash-quick-card,
.cash-side-panel,
.cash-recent-card,
.cash-opening-card,
.wizard-card,
.report-type-card {
    color: var(--ds-text);
}

html[data-theme="dark"] .finance-entry-card,
html[data-theme="dark"] .pricing-settings-panel,
html[data-theme="dark"] .pricing-analysis-result,
html[data-theme="dark"] .pricing-suggestion-card,
html[data-theme="dark"] .pricing-insights,
html[data-theme="dark"] .result-preview div,
html[data-theme="dark"] .formula-card,
html[data-theme="dark"] .cash-quick-card,
html[data-theme="dark"] .cash-side-panel,
html[data-theme="dark"] .cash-recent-card,
html[data-theme="dark"] .cash-opening-card,
html[data-theme="dark"] .wizard-card,
html[data-theme="dark"] .report-type-card,
html[data-theme="dark"] .products-table-wrap,
html[data-theme="dark"] .products-table th,
html[data-theme="dark"] .products-table td {
    background: var(--ds-readable-panel) !important;
    color: var(--ds-text) !important;
    border-color: var(--ds-line) !important;
}

html[data-theme="dark"] .products-table th,
html[data-theme="dark"] .metric-item,
html[data-theme="dark"] .result-preview div,
html[data-theme="dark"] .pricing-suggestion-card {
    background: var(--ds-readable-panel-soft) !important;
}

html[data-theme="dark"] .finance-entry-main h3,
html[data-theme="dark"] .pricing-settings-panel h3,
html[data-theme="dark"] .pricing-insights h3,
html[data-theme="dark"] .cash-quick-header h2,
html[data-theme="dark"] .wizard-card h2,
html[data-theme="dark"] .wizard-card h3,
html[data-theme="dark"] .result-preview strong,
html[data-theme="dark"] .pricing-suggestion-card strong,
html[data-theme="dark"] .pricing-suggestion-card b,
html[data-theme="dark"] .psychological-prices em {
    color: var(--ds-text) !important;
}

html[data-theme="dark"] .finance-entry-main p,
html[data-theme="dark"] .finance-entry-amount-block small,
html[data-theme="dark"] .pricing-settings-panel p,
html[data-theme="dark"] .pricing-settings-help,
html[data-theme="dark"] .pricing-insights ul,
html[data-theme="dark"] .pricing-insights li,
html[data-theme="dark"] .pricing-suggestion-card small,
html[data-theme="dark"] .pricing-suggestion-card p,
html[data-theme="dark"] .psychological-prices,
html[data-theme="dark"] .cash-origin-note,
html[data-theme="dark"] .cash-quick-header p,
html[data-theme="dark"] .table-hint,
html[data-theme="dark"] .product-unit,
html[data-theme="dark"] .form-grid label small {
    color: var(--ds-muted) !important;
}

html[data-theme="dark"] .finance-entry-income .finance-entry-amount,
html[data-theme="dark"] .finance-summary-cards .finance-income-card strong,
html[data-theme="dark"] .finance-balance-ok strong {
    color: #86efac !important;
}

html[data-theme="dark"] .finance-entry-expense .finance-entry-amount,
html[data-theme="dark"] .finance-summary-cards .finance-expense-card strong,
html[data-theme="dark"] .finance-balance-bad strong {
    color: #fca5a5 !important;
}

html[data-theme="dark"] .finance-summary-cards .finance-income-card,
html[data-theme="dark"] .finance-balance-ok {
    background: linear-gradient(180deg, var(--ds-readable-panel), rgba(16,185,129,.12)) !important;
    border-color: rgba(16,185,129,.28) !important;
}

html[data-theme="dark"] .finance-summary-cards .finance-expense-card,
html[data-theme="dark"] .finance-balance-bad {
    background: linear-gradient(180deg, var(--ds-readable-panel), rgba(251,113,133,.12)) !important;
    border-color: rgba(251,113,133,.28) !important;
}

html[data-theme="dark"] .finance-fee-card {
    background: linear-gradient(180deg, var(--ds-readable-panel), rgba(251,191,36,.10)) !important;
    border-color: rgba(251,191,36,.26) !important;
}

html[data-theme="dark"] .source-badge,
html[data-theme="dark"] .badge,
html[data-theme="dark"] .status-pill,
html[data-theme="dark"] .type-badge {
    background: rgba(129,140,248,.16) !important;
    color: #c7d2fe !important;
    border-color: rgba(129,140,248,.30) !important;
}

html[data-theme="dark"] .status-paid,
html[data-theme="dark"] .status-completed,
html[data-theme="dark"] .status-active,
html[data-theme="dark"] .source-receivable,
html[data-theme="dark"] .type-product {
    background: rgba(16,185,129,.16) !important;
    color: #86efac !important;
    border-color: rgba(16,185,129,.30) !important;
}

html[data-theme="dark"] .status-pending,
html[data-theme="dark"] .status-in-validation,
html[data-theme="dark"] .source-unknown {
    background: rgba(251,191,36,.16) !important;
    color: #fde68a !important;
    border-color: rgba(251,191,36,.30) !important;
}

html[data-theme="dark"] .status-cancelled,
html[data-theme="dark"] .source-payable {
    background: rgba(251,113,133,.16) !important;
    color: #fecdd3 !important;
    border-color: rgba(251,113,133,.30) !important;
}

html[data-theme="dark"] .source-manual {
    background: rgba(148,163,184,.15) !important;
    color: #cbd5e1 !important;
    border-color: rgba(148,163,184,.26) !important;
}

html[data-theme="dark"] .source-cash {
    background: rgba(59,130,246,.16) !important;
    color: #bfdbfe !important;
    border-color: rgba(96,165,250,.30) !important;
}

html[data-theme="dark"] .source-cash-closure,
html[data-theme="dark"] .type-service {
    background: rgba(167,139,250,.17) !important;
    color: #ddd6fe !important;
    border-color: rgba(167,139,250,.32) !important;
}

html[data-theme="dark"] .pricing-suggestion-conservative,
html[data-theme="dark"] .pricing-suggestion-moderate,
html[data-theme="dark"] .pricing-suggestion-aggressive {
    background: var(--ds-readable-panel-soft) !important;
}

html[data-theme="dark"] .pricing-suggestion-moderate {
    border-color: rgba(16,185,129,.28) !important;
}

html[data-theme="dark"] .pricing-suggestion-aggressive {
    border-color: rgba(251,191,36,.28) !important;
}

html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea,
html[data-theme="dark"] .form-control,
html[data-theme="dark"] .filter-form input,
html[data-theme="dark"] .filter-form select,
html[data-theme="dark"] .form-grid input,
html[data-theme="dark"] .form-grid select,
html[data-theme="dark"] .form-grid textarea,
html[data-theme="dark"] .pricing-settings-grid input,
html[data-theme="dark"] .cash-field input,
html[data-theme="dark"] .cash-field select,
html[data-theme="dark"] .cash-field textarea {
    background: #0b1220 !important;
    color: var(--ds-text) !important;
    border-color: var(--ds-line) !important;
}

html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder {
    color: #94a3b8 !important;
}

html[data-theme="dark"] .empty-state {
    background: linear-gradient(135deg, rgba(129,140,248,.16), transparent 58%), var(--ds-readable-panel) !important;
    color: var(--ds-text) !important;
}

html[data-theme="dark"] .app-tour-card {
    background: #111827 !important;
    color: var(--ds-text) !important;
}

html[data-theme="dark"] .app-tour-card p,
html[data-theme="dark"] .app-tour-progress {
    color: var(--ds-muted) !important;
}

/* HOTFIX 8.2.3 — nomes de licença, sigilo visual do banco e responsividade mobile */
.sidebar-header {
    min-width: 0;
}

.sidebar .brand {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
}

.logo {
    flex: 0 0 42px;
}

.brand-text {
    min-width: 0;
    max-width: 112px;
    overflow: hidden;
}

.brand-text strong {
    max-width: 100%;
    line-height: 1.05;
    overflow: hidden;
    overflow-wrap: anywhere;
    word-break: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.sidebar-tools {
    flex: 0 0 auto;
}

.main,
.card,
.panel,
.mini-meta,
.cash-db-meta,
.finance-entry-card,
.account-card,
.product-card,
.pricing-product-card,
.client-card,
.result-preview > div,
.metric-item,
.topbar,
.split-header,
.finance-entry-main,
.account-card-main,
.product-card-main,
.client-main,
.cash-quick-header {
    min-width: 0;
    max-width: 100%;
}

.card,
.panel,
.mini-meta,
.cash-db-meta,
.finance-entry-card,
.account-card,
.product-card,
.pricing-product-card,
.client-card {
    overflow: hidden;
}

:where(.main, .card, .panel, .mini-meta, .cash-db-meta, .finance-entry-card, .account-card, .product-card, .pricing-product-card, .client-card, .notice, .alert, .topbar, .split-header, .cash-quick-header) :where(h1, h2, h3, p, small, strong, span, a, button, label, input, select, textarea, li) {
    overflow-wrap: anywhere;
    word-break: normal;
}

.badge,
.status-pill,
.type-badge,
.source-badge,
.btn,
a.btn,
button.btn {
    max-width: 100%;
    white-space: normal !important;
    line-height: 1.18;
    text-align: center;
}

.finance-entry-main > div:first-child,
.account-card-main > div:first-child,
.product-title-block,
.client-main > div:first-child,
.cash-quick-header > div:first-child {
    min-width: 0;
    max-width: 100%;
}

.finance-entry-amount,
.finance-entry-amount-block strong,
.account-card-main strong,
.metric-item strong,
.card strong,
.mini-meta strong,
.cash-db-meta strong {
    white-space: normal !important;
    overflow-wrap: anywhere;
}

@media (min-width: 901px) {
    .shell.sidebar-expanded .brand-text,
    .app-shell:not(.sidebar-collapsed) .brand-text {
        max-width: 104px;
    }
}

@media (max-width: 900px) {
    .shell.sidebar-expanded .sidebar-header {
        grid-template-columns: minmax(0, 1fr);
    }

    .shell.sidebar-expanded .brand {
        justify-content: center;
        width: 100%;
    }

    .shell.sidebar-expanded .brand-text {
        max-width: 138px;
        text-align: left;
    }

    .shell.sidebar-expanded .sidebar-tools {
        justify-self: center;
    }
}

@media (max-width: 640px) {
    .topbar h1 {
        font-size: clamp(1.35rem, 7vw, 1.75rem);
        line-height: 1.12;
    }

    .topbar-actions {
        grid-template-columns: 1fr !important;
    }

    .finance-entry-main,
    .account-card-main,
    .cash-quick-header,
    .split-header {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .finance-entry-amount-block,
    .finance-entry-amount {
        align-items: flex-start;
        justify-self: start;
        text-align: left;
    }

    .account-actions-footer,
    .client-actions-footer,
    .product-actions-footer {
        grid-template-columns: 1fr !important;
    }
}


/* HOTFIX 8.2.4 — Proteção de rótulos curtos e quebra segura em cards
   Corrige casos como "Base do cliente" atravessando cards estreitos no mobile. */
.card > span,
.metric-card > span,
.mini-meta > span,
.cash-db-meta > span,
.result-preview span,
.formula-card span,
.metric-item span {
    display: block;
    max-width: 100%;
    min-width: 0;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    overflow-wrap: anywhere;
    word-break: normal;
    line-height: 1.28;
}

.card > strong,
.metric-card > strong,
.mini-meta > strong,
.cash-db-meta > strong,
.result-preview strong,
.formula-card strong,
.metric-item strong {
    max-width: 100%;
    min-width: 0;
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: normal;
    line-height: 1.22;
}

.card,
.metric-card,
.mini-meta,
.cash-db-meta,
.result-preview > div,
.formula-card,
.metric-item {
    min-width: 0;
    max-width: 100%;
}

@media (max-width: 700px) {
    .cards,
    .grid,
    .finance-summary-cards,
    .clients-summary-cards,
    .report-kpis,
    .result-preview,
    .formula-grid,
    .pricing-analysis-kpis {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .card,
    .metric-card,
    .mini-meta,
    .cash-db-meta,
    .result-preview > div,
    .formula-card,
    .metric-item {
        width: 100%;
    }
}

/* FASE 8.3 — Relatório Simples A1 por período, PDF/CSV e caixa/banco */
.report-generate-form-a1 {
    grid-template-columns: 1fr;
}

.report-period-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 220px));
    gap: 1rem;
    align-items: end;
}

.report-export-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin: 1rem 0;
}

.report-money-panel {
    margin-top: 1rem;
}

.report-money-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.report-money-card {
    min-width: 0;
}

.report-money-card span,
.report-money-card strong,
.report-money-card small,
.report-list-row strong,
.report-list-row span,
.report-category-row span,
.report-category-row strong,
.report-table-wrap td,
.report-table-wrap th {
    overflow-wrap: anywhere;
    word-break: normal;
}

.report-simple-list {
    display: grid;
    gap: .75rem;
}

.report-list-row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: .85rem;
    border-radius: 14px;
    background: rgba(15, 23, 42, .04);
    border: 1px solid rgba(148, 163, 184, .22);
    min-width: 0;
}

.report-list-row > div {
    display: grid;
    gap: .25rem;
    min-width: 0;
}

.report-list-row span {
    color: var(--ds-text-soft, #64748b);
    font-size: .86rem;
}

.report-table-wrap {
    margin-top: 1rem;
}

html[data-theme="dark"] .report-list-row {
    background: rgba(15, 23, 42, .34);
    border-color: rgba(148, 163, 184, .22);
}

@media (max-width: 720px) {
    .report-period-fields {
        grid-template-columns: 1fr;
    }

    .report-export-actions .btn {
        width: 100%;
        justify-content: center;
    }

    .report-list-row {
        flex-direction: column;
    }
}


/* HOTFIX 8.3.9 — Contraste dark mode do Caixa Rápido e Histórico do Caixa
   Ajusta legibilidade de cards, campos, histórico, resumo e alertas no tema escuro. */
html[data-theme="dark"] .cash-quick-shell,
html[data-theme="dark"] .cash-opening-shell,
html[data-theme="dark"] .cash-history-list-panel {
    color: var(--ds-text) !important;
}

html[data-theme="dark"] .cash-quick-card,
html[data-theme="dark"] .cash-side-panel,
html[data-theme="dark"] .cash-recent-card,
html[data-theme="dark"] .cash-opening-card,
html[data-theme="dark"] .cash-guided-card,
html[data-theme="dark"] .cash-history-filter-panel,
html[data-theme="dark"] .cash-history-card,
html[data-theme="dark"] .cash-close-card,
html[data-theme="dark"] .cash-step-card,
html[data-theme="dark"] .cash-guided-progress-card,
html[data-theme="dark"] .cash-locked-date-box > div,
html[data-theme="dark"] .cash-no-change-note,
html[data-theme="dark"] .cash-optional-details,
html[data-theme="dark"] .cash-change-box,
html[data-theme="dark"] .cash-change-result,
html[data-theme="dark"] .cash-money-summary,
html[data-theme="dark"] .cash-mini-summary div,
html[data-theme="dark"] .cash-recent-item,
html[data-theme="dark"] .cash-history-details > div,
html[data-theme="dark"] .cash-history-notes {
    background: var(--ds-readable-panel) !important;
    color: var(--ds-text) !important;
    border-color: var(--ds-line) !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .24) !important;
}

html[data-theme="dark"] .cash-step-card,
html[data-theme="dark"] .cash-guided-progress-card,
html[data-theme="dark"] .cash-locked-date-box > div,
html[data-theme="dark"] .cash-mini-summary div,
html[data-theme="dark"] .cash-recent-item,
html[data-theme="dark"] .cash-history-details > div,
html[data-theme="dark"] .cash-history-notes,
html[data-theme="dark"] .cash-no-change-note,
html[data-theme="dark"] .cash-optional-details,
html[data-theme="dark"] .cash-change-box,
html[data-theme="dark"] .cash-change-result,
html[data-theme="dark"] .cash-money-summary {
    background: var(--ds-readable-panel-soft) !important;
}

html[data-theme="dark"] .cash-quick-header span,
html[data-theme="dark"] .cash-quick-header p,
html[data-theme="dark"] .cash-step-title span,
html[data-theme="dark"] .cash-step-title small,
html[data-theme="dark"] .cash-guided-progress-card > strong,
html[data-theme="dark"] .cash-field,
html[data-theme="dark"] .cash-field label,
html[data-theme="dark"] .cash-type-option small,
html[data-theme="dark"] .cash-mini-summary span,
html[data-theme="dark"] .cash-recent-item span,
html[data-theme="dark"] .cash-recent-item small,
html[data-theme="dark"] .cash-empty-mini,
html[data-theme="dark"] .cash-close-card span,
html[data-theme="dark"] .cash-close-card small,
html[data-theme="dark"] .cash-history-card-head p,
html[data-theme="dark"] .cash-history-type,
html[data-theme="dark"] .cash-history-details span,
html[data-theme="dark"] .cash-no-change-note span,
html[data-theme="dark"] .cash-origin-note,
html[data-theme="dark"] .cash-recent-amount span {
    color: var(--ds-muted) !important;
}

html[data-theme="dark"] .cash-quick-header h2,
html[data-theme="dark"] .cash-step-title strong,
html[data-theme="dark"] .cash-guided-progress-card strong,
html[data-theme="dark"] .cash-field strong,
html[data-theme="dark"] .cash-type-option span,
html[data-theme="dark"] .cash-mini-summary strong,
html[data-theme="dark"] .cash-recent-header h2,
html[data-theme="dark"] .cash-recent-item strong,
html[data-theme="dark"] .cash-close-card strong,
html[data-theme="dark"] .cash-history-card-head h2,
html[data-theme="dark"] .cash-history-details strong,
html[data-theme="dark"] .cash-no-change-note strong,
html[data-theme="dark"] .cash-change-result strong {
    color: var(--ds-text) !important;
}

html[data-theme="dark"] .cash-type-option,
html[data-theme="dark"] .cash-type-option:not(.is-selected):not(:has(input:checked)) {
    background: #0b1220 !important;
    color: var(--ds-text) !important;
    border-color: var(--ds-line) !important;
}

html[data-theme="dark"] .cash-type-option.is-selected,
html[data-theme="dark"] .cash-type-option:has(input:checked) {
    background: rgba(59, 130, 246, .18) !important;
    border-color: rgba(96, 165, 250, .45) !important;
    box-shadow: inset 0 0 0 1px rgba(96, 165, 250, .24) !important;
}

html[data-theme="dark"] .cash-type-option.is-income.is-selected,
html[data-theme="dark"] .cash-type-option.is-income:has(input:checked),
html[data-theme="dark"] .cash-recent-item.is-income,
html[data-theme="dark"] .cash-history-card.is-income,
html[data-theme="dark"] .cash-close-card.is-closed {
    border-left-color: #34d399 !important;
}

html[data-theme="dark"] .cash-type-option.is-expense.is-selected,
html[data-theme="dark"] .cash-type-option.is-expense:has(input:checked),
html[data-theme="dark"] .cash-recent-item.is-expense,
html[data-theme="dark"] .cash-history-card.is-expense {
    border-left-color: #fb7185 !important;
}

html[data-theme="dark"] .cash-guided-dots span,
html[data-theme="dark"] .cash-guided-progress span {
    background: #0b1220 !important;
    color: var(--ds-muted) !important;
    border-color: var(--ds-line) !important;
}

html[data-theme="dark"] .cash-guided-dots span.is-active,
html[data-theme="dark"] .cash-guided-progress span.is-active {
    background: #2563eb !important;
    color: #ffffff !important;
    border-color: #60a5fa !important;
}

html[data-theme="dark"] .cash-guided-dots span.is-done,
html[data-theme="dark"] .cash-guided-progress span.is-done {
    background: rgba(16, 185, 129, .20) !important;
    color: #86efac !important;
    border-color: rgba(16, 185, 129, .36) !important;
}

html[data-theme="dark"] .cash-field input,
html[data-theme="dark"] .cash-field select,
html[data-theme="dark"] .cash-field textarea,
html[data-theme="dark"] .cash-close-form input,
html[data-theme="dark"] .cash-change-box input,
html[data-theme="dark"] .cash-history-filters input,
html[data-theme="dark"] .cash-history-filters select {
    background: #0b1220 !important;
    color: var(--ds-text) !important;
    border-color: var(--ds-line) !important;
    box-shadow: none !important;
}

html[data-theme="dark"] .cash-field input:focus,
html[data-theme="dark"] .cash-field select:focus,
html[data-theme="dark"] .cash-field textarea:focus,
html[data-theme="dark"] .cash-history-filters input:focus,
html[data-theme="dark"] .cash-history-filters select:focus {
    border-color: rgba(96, 165, 250, .65) !important;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, .22) !important;
    outline: none !important;
}

html[data-theme="dark"] .cash-positive strong,
html[data-theme="dark"] .cash-recent-item.is-income .cash-recent-amount strong,
html[data-theme="dark"] .cash-history-card.is-income .cash-history-amount {
    color: #34d399 !important;
}

html[data-theme="dark"] .cash-negative strong,
html[data-theme="dark"] .cash-recent-item.is-expense .cash-recent-amount strong,
html[data-theme="dark"] .cash-history-card.is-expense .cash-history-amount {
    color: #fb7185 !important;
}

html[data-theme="dark"] .cash-close-alert {
    background: linear-gradient(135deg, rgba(251, 191, 36, .18), rgba(15, 23, 42, .92)) !important;
    color: #fde68a !important;
    border-color: rgba(251, 191, 36, .36) !important;
    border-left-color: #fbbf24 !important;
}

html[data-theme="dark"] .cash-close-alert strong,
html[data-theme="dark"] .cash-close-alert-running::after,
html[data-theme="dark"] .cash-close-alert-paused::after {
    color: #fef3c7 !important;
}

html[data-theme="dark"] .cash-close-alert span {
    color: #fde68a !important;
}

html[data-theme="dark"] .cash-guided-actions {
    border-top-color: var(--ds-line) !important;
}

@media (max-width: 720px) {
    html[data-theme="dark"] .cash-guided-actions {
        background: rgba(15, 23, 42, .94) !important;
        border: 1px solid var(--ds-line) !important;
        box-shadow: 0 12px 30px rgba(0, 0, 0, .34) !important;
    }
}

/* HOTFIX 8.3.11 — Marca PADRONA no menu lateral */
.sidebar .brand .brand-logo-padrona,
.brand-logo-padrona {
    background: linear-gradient(135deg, #7c3aed 0%, #8b5cf6 45%, #a855f7 100%) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    box-shadow: 0 12px 28px rgba(124,58,237,.28), inset 0 1px 0 rgba(255,255,255,.18);
    font-weight: 950;
    letter-spacing: -0.04em;
}

.sidebar .brand .brand-title-padrona,
.brand-title-padrona {
    display: inline-block;
    max-width: 100%;
    font-weight: 950;
    letter-spacing: -0.035em;
    line-height: 1.02;
    text-transform: uppercase;
    color: #ffffff;
    background: linear-gradient(100deg, #ffffff 0%, #d8ccff 35%, #9d6cff 70%, #c084fc 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: 0 0 18px rgba(139,92,246,.16);
}

.sidebar .brand .brand-product-by,
.brand-product-by {
    color: #b8c3d9 !important;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .01em;
}

html[data-theme="dark"] .sidebar .brand .brand-title-padrona,
html[data-theme="dark"] .brand-title-padrona {
    background: linear-gradient(100deg, #ffffff 0%, #dcd3ff 38%, #9d6cff 74%, #c084fc 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

@media (max-width: 900px) {
    .shell.sidebar-expanded .brand-title-padrona,
    .app-shell:not(.sidebar-collapsed) .brand-title-padrona {
        font-size: .92rem;
    }
}

/* HOTFIX 8.3.12 — Redução do subtítulo Product by JWSI na marca PADRONA */
.sidebar .brand .brand-product-by,
.brand-product-by {
    font-size: .58rem !important;
    line-height: 1.05 !important;
    font-weight: 650 !important;
    letter-spacing: .005em !important;
    opacity: .86 !important;
}

@media (max-width: 900px) {
    .shell.sidebar-expanded .brand-product-by,
    .app-shell:not(.sidebar-collapsed) .brand-product-by {
        font-size: .56rem !important;
    }
}
