:root{--bg:#0b111d;--sidebar:#0c1423;--panel:#111c2d;--panel2:#142236;--stroke:#26364d;--white:#ecf3fd;--muted:#93a6bc;--green:#49dfab;--orange:#f5ad6d;--blue:#5ba3ff;--ink:#071726;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--white);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}a{text-decoration:none;color:inherit}.shell{display:flex;min-height:100vh}.sidebar{position:sticky;top:0;width:260px;flex:none;height:100vh;background:var(--sidebar);padding:28px 18px;border-right:1px solid var(--stroke);display:flex;flex-direction:column;gap:8px}.brand{display:flex;align-items:center;gap:12px;padding:4px 8px 42px}.brand-mark{width:40px;height:40px;display:grid;place-items:center;background:#1e4460;color:#7be0c3;border:1px solid #427c7b;border-radius:12px;font-size:17px;font-weight:800;letter-spacing:-.5px}.brand strong{font-size:14px;display:block;line-height:1.4}.brand span{display:block;color:var(--muted);font-size:11px;padding-top:2px}.section-kicker,.eyebrow{color:#66a9a8;font-size:10px;letter-spacing:1.5px;font-weight:800}.section-kicker{padding:4px 13px 12px}.nav{border:0;background:transparent;width:100%;padding:13px 12px;color:#9cb2cd;text-align:left;border-radius:10px;display:flex;align-items:center;gap:12px;font-weight:600}.nav:hover,.nav.active{background:#1a3041;color:#d6fff5}.nav-icon{font-size:18px;width:24px;display:inline-block;text-align:center}.sidebar-note{background:#13253a;border:1px solid #2b445a;padding:15px;border-radius:12px;margin-top:auto}.sidebar-note strong{color:#b6f6df;font-size:12px}.sidebar-note p{color:#99abc1;font-size:12px;line-height:1.65;margin:9px 0 0}.sidebar-bottom{color:#667d98;font-size:11px;padding:14px 3px 0}.main{width:100%;min-width:0;padding:40px clamp(20px,4vw,60px) 25px}.topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:28px}.topbar h1{font-size:30px;font-weight:750;letter-spacing:-.9px;margin:8px 0}.muted,.topbar p{color:var(--muted)}.topbar p{margin:0}.toolbar,.filter-actions{display:flex;gap:9px;align-items:center}.btn{border-radius:9px;min-height:38px;border:1px solid var(--stroke);padding:0 15px;color:var(--white);background:var(--panel2);font-size:12px;font-weight:750;white-space:nowrap}.btn:hover:not(:disabled){filter:brightness(1.14)}.btn.primary{background:#56dbad;border-color:#56dbad;color:#052821}.btn.ghost{background:transparent}.btn.subtle{background:#1a293c}.btn.small{min-height:31px}.btn.wide{width:100%;margin-top:14px}.notice{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-radius:11px;background:#15263b;border:1px solid #284b5b;margin-bottom:24px}.notice strong{display:block;font-size:12px;color:#bdfde8;margin-bottom:5px}.notice span{color:#adbed2;font-size:12px}.notice.demo{border-color:#745532;background:#292316}.notice.demo strong{color:#ffd19b}.text-button{border:0;color:#8bdabf;background:none;font-size:12px;font-weight:750}.filters{display:flex;align-items:end;gap:13px;margin-bottom:20px}.filters label{min-width:180px;max-width:300px;flex:1}label{color:#adbed3;font-size:12px;font-weight:600;display:block}label small{color:#718eac;font-weight:400;font-size:11px;display:block;margin:5px 0}select,input[type=text],textarea{display:block;width:100%;margin-top:8px;padding:11px 12px;border-radius:9px;border:1px solid var(--stroke);background:#142236;color:var(--white);outline:none}select:focus,input:focus,textarea:focus{border-color:#50b8ac}.filter-actions{margin-left:auto}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:20px}.kpi,.panel{background:var(--panel);border:1px solid var(--stroke);border-radius:13px}.kpi{padding:22px 20px;min-height:133px;display:flex;flex-direction:column;justify-content:space-between}.kpi span{color:#a4b6cb;font-size:12px}.kpi .amount{font-size:27px;font-weight:780;letter-spacing:-.7px;font-variant-numeric:tabular-nums;white-space:nowrap}.kpi .amount.positive,.positive{color:var(--green)}.kpi .amount.negative,.negative{color:var(--orange)}.kpi small{font-size:11px;color:#728ca8}.analysis-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:17px;margin-bottom:18px}.panel{padding:22px;min-width:0}.panel-title{display:flex;align-items:start;justify-content:space-between;gap:10px;margin-bottom:25px}.panel h2{font-size:15px;margin:0 0 6px;font-weight:750}.panel-title p{color:var(--muted);font-size:12px;margin:0}.legend{white-space:nowrap;font-size:10px;color:var(--muted);padding-top:5px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin:0 3px 0 9px}.dot.green{background:var(--green)}.dot.orange{background:var(--orange)}.chart{height:220px;display:flex;gap:14px;align-items:stretch;justify-content:space-around;padding:12px 5px 6px}.month-column{display:flex;flex-direction:column;min-width:0;flex:1;align-items:center;justify-content:end;gap:10px}.month-bars{width:100%;max-width:90px;height:170px;display:flex;align-items:end;justify-content:center;gap:4px;border-bottom:1px solid #33445c}.month-bars div{width:38%;max-width:29px;min-height:2px;border-radius:4px 4px 0 0}.month-bars .rev{background:linear-gradient(0deg,#229d83,#54e6b2)}.month-bars .exp{background:linear-gradient(0deg,#b76b4b,#f4ae74)}.month-column .axis-label{font-size:10px;color:#8ba2bc}.empty{color:#7890a9;font-size:12px;text-align:center;margin:auto;padding:32px 10px}.category-chart,.company-chart{min-height:220px}.bar-row{margin:15px 0}.bar-label{display:flex;justify-content:space-between;font-size:11px;color:#b8c8d9;gap:8px;margin:0 0 9px}.bar-label span:last-child{font-variant-numeric:tabular-nums;color:#e2ecf5}.track{background:#243146;border-radius:8px;height:9px;overflow:hidden}.track .fill{display:block;height:100%;background:#e5a26e;border-radius:8px}.company-chart .track .fill{background:#44c2ac}.company-chart .track .fill.loss{background:#e5a26e}.table-wrap{overflow:auto}.table-wrap table{border-collapse:collapse;width:100%;text-align:left;font-size:11px}th{color:#7990a9;font-weight:700;text-transform:uppercase;font-size:10px;white-space:nowrap}td,th{padding:11px 5px;border-bottom:1px solid #27374d}td{color:#bfcddd}td:last-child,th:last-child{text-align:right}td .mini{color:#7d97b1;display:block;font-size:10px;padding-top:2px}.chip{padding:6px 10px;border-radius:30px;border:1px solid #38516b;background:#182c41;color:#a6c7e8;font-size:10px;white-space:nowrap}.chip.warning{background:#322515;color:#eec68f;border-color:#665239}.distribute{margin:10px 0 20px}.distribution-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.form-stack{display:flex;flex-direction:column;gap:14px}.form-stack textarea{resize:vertical}.share-preview{padding:16px;border:1px solid var(--stroke);border-radius:12px;background:#0d1a2c;min-height:240px}.share-preview .summary-amount{font-size:28px;font-weight:800;color:var(--green);margin:8px 0 18px}.share-preview .bar-row{margin:11px 0}.share-preview .footnote{font-size:11px;color:var(--muted);line-height:1.6}footer{font-size:11px;color:#7188a2;text-align:center;padding:14px}.modal-backdrop{position:fixed;inset:0;z-index:5;background:#01050ba8;display:flex;align-items:center;justify-content:center;padding:18px;overflow-y:auto}.modal-backdrop[hidden],[hidden]{display:none!important}.modal{background:#101e30;border:1px solid #39516a;width:min(850px,100%);max-height:95vh;overflow-y:auto;border-radius:15px;padding:26px;box-shadow:0 24px 100px #0008}.modal-header{display:flex;justify-content:space-between;align-items:start}.modal-header h2{font-size:22px;margin:8px 0}.icon-close{border:0;background:transparent;color:#a9bfd4;font-size:26px}.modal>.muted{margin:0 0 20px}.dropzone{border:1px dashed #4a7291;padding:18px;border-radius:12px;text-align:center;background:#142a3d}.file-label{display:block;color:#e5f0fb;font-size:14px;margin-bottom:7px}.dropzone input{width:100%;max-width:280px;color:#9fb3cb;font-size:11px}.fine{font-size:11px;color:#92a8c0;margin-top:10px}.wizard-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin:20px 0}.wizard-grid label{min-width:0}.mapping-title{margin:24px 0 6px}.mapping-title h3,.preview-head h3{font-size:14px;margin:0 0 5px}.mapping-title p{margin:0}.mapping-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.mapping-grid select{font-size:11px;padding:9px 6px}.preview-head{display:flex;justify-content:space-between;align-items:center;margin:19px 0 9px}.preview-result{padding:11px 14px;border:1px solid #365069;background:#15283c;border-radius:9px;color:#bcd0e2;font-size:12px;line-height:1.65}.preview-result .error{color:#f8ac82}.preview-table{max-height:185px;overflow:auto}.skip-wrap{margin:12px 0;display:flex;gap:10px;align-items:center;font-size:11px}.skip-wrap input{accent-color:#5cdeb7}.toast{position:fixed;z-index:8;bottom:24px;right:22px;background:#d5fae6;color:#0d3227;padding:14px 19px;border-radius:10px;box-shadow:0 10px 30px #0007;font-weight:700;max-width:420px}.toast.error{background:#ffe0d0;color:#532c18}@media(max-width:1150px){.kpis{grid-template-columns:repeat(2,1fr)}.sidebar{width:220px}.main{padding:30px}.kpi .amount{font-size:24px}}@media(max-width:900px){.sidebar{display:none}.analysis-grid{grid-template-columns:1fr}.filters{flex-wrap:wrap}.filter-actions{margin-left:0}.main{padding:22px 15px}.topbar{align-items:start;flex-direction:column}.distribution-grid{grid-template-columns:1fr}.wizard-grid{grid-template-columns:1fr 1fr}.mapping-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.kpis{gap:10px}.kpi{padding:16px 11px;min-height:122px}.kpi .amount{font-size:19px}.toolbar{width:100%}.toolbar .btn{flex:1}.filters label{width:calc(50% - 7px);flex:none;min-width:0}.filter-actions{width:100%}.filter-actions .btn{flex:1}.panel{padding:16px}.wizard-grid{grid-template-columns:1fr}.mapping-grid{grid-template-columns:1fr 1fr}.month-column .axis-label{font-size:9px}.chart{gap:5px}}
@media print{body{background:white;color:#17253c}.sidebar,.toolbar,.filters,.notice,.form-stack,footer,.modal-backdrop,#clear-data,.distribute .chip{display:none!important}.main{padding:0}.panel,.kpi{background:#fff;border:1px solid #ddd;break-inside:avoid}.kpis,.analysis-grid{break-inside:avoid}.kpi span,.kpi small,.panel h2,.panel-title p,.bar-label,.bar-label span:last-child,td,th{color:#17253c}.distribution-grid{display:block}.share-preview{display:block;background:#fff}.share-preview .footnote{color:#17253c}.topbar h1{color:#17253c}}

/* v1.1 — edição visual acessível ao usuário iniciante; nenhuma regra financeira alterada */
:root{--bg:#f3f6fb;--sidebar:#ffffff;--panel:#ffffff;--panel2:#ffffff;--stroke:#e0e7ef;--white:#233246;--muted:#64758a;--green:#167b57;--orange:#c87c37;--blue:#175da9;--ink:#13233a;--accent:#2069a9;--accent-light:#e9f2fb;color:#233246;color-scheme:light}
body[data-theme="emerald"]{--accent:#087c6b;--accent-light:#e8f7f2}
body[data-theme="plum"]{--accent:#7455a7;--accent-light:#f2eefd}
body[data-theme="graphite"]{--accent:#354359;--accent-light:#edf0f4}
html{scroll-behavior:smooth}body{background:var(--bg);font-size:14px;color:#26384c}
button,a,select,input,textarea{transition:background .15s,border .15s,box-shadow .15s}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.sidebar{width:270px;background:#fff;border-color:#e4eaf1;box-shadow:5px 0 20px #11274405;padding:24px 15px}
.brand{padding:12px 10px 34px}.brand-heading{min-width:0}.brand strong{font-size:15px;color:#24354b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:165px}.brand span{font-size:12px;color:#74859a}
.brand-mark{width:46px;height:46px;border:0;color:var(--accent);background:var(--accent-light);font-size:17px;overflow:hidden;flex:none;display:grid;place-items:center}
.brand-mark img{height:100%;width:100%;object-fit:contain}
.section-kicker,.eyebrow{color:#6b8197;letter-spacing:1.3px}
.nav{color:#54667d;border-radius:11px;min-height:48px;font-size:14px}.nav:hover,.nav.active{background:var(--accent-light);color:var(--accent)}.nav.active{font-weight:800}.nav-icon{font-size:19px;width:26px}
.sidebar-note{background:#f3f7fb;border:1px solid #e2eaf1;border-radius:13px}.sidebar-note strong{color:#334b63;font-size:12px}.sidebar-note p{color:#64758a}
.developer-credit{border-top:1px solid #e7edf3;margin:12px 4px 0;padding:19px 8px 4px;display:flex;flex-direction:column;gap:4px}.developer-credit span{font-size:9px;color:#94a1b2;font-weight:800;letter-spacing:.9px}.developer-credit strong{font-size:15px;color:#24354b}.developer-credit small{color:#8190a3;font-size:11px}
.main{max-width:1620px;margin:auto;padding:36px clamp(20px,3.3vw,55px) 28px}
.topbar{align-items:start;margin-bottom:25px}.topbar h1{font-size:clamp(25px,2.3vw,34px);letter-spacing:-1.1px;color:#1d334e;margin:10px 0 8px}.topbar p{color:#718198;font-size:14px;max-width:590px;line-height:1.55}.toolbar{padding-top:10px}.btn{min-height:45px;background:#fff;border:1px solid #d7e2ed;color:#354861;font-size:13px;font-weight:700;padding:0 18px;border-radius:10px}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.subtle{background:#fff}.btn.ghost{background:#fff}.btn:hover:not(:disabled){filter:none;box-shadow:0 3px 12px #28374e1a;border-color:var(--accent)}.btn:disabled{opacity:.48}
.getting-started{background:linear-gradient(115deg,#fdfefe,#eff5fb);border:1px solid #e0eaf4;padding:19px 20px;border-radius:17px;margin-bottom:19px;box-shadow:0 5px 18px #1c3e6509}
.started-title{display:flex;align-items:center;gap:12px;padding-bottom:15px}.started-title strong{display:block;font-size:16px;color:#234059}.started-title p{margin:3px 0 0;font-size:12px;color:#667b8e}.step-icon{height:37px;width:37px;border-radius:12px;background:var(--accent-light);color:var(--accent);display:grid;place-items:center;font-size:19px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.step-card{display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto;gap:1px 8px;align-items:center;text-align:left;background:#fff;color:#263b50;border:1px solid #e0e8f0;border-radius:12px;padding:14px;min-height:73px}.step-card:hover{border-color:var(--accent);background:#fafdff;box-shadow:0 4px 10px #15294711}.step-card strong{font-size:13px}.step-card small{font-size:11px;color:#78899e;grid-column:2}.step-number{width:33px;height:33px;display:grid;place-items:center;border-radius:50%;background:var(--accent-light);color:var(--accent);font-size:14px;font-weight:800;grid-row:span 2}
.notice{background:#fff;color:#41536a;border-color:#d8e5ef;border-left:4px solid var(--accent);margin-bottom:27px;min-height:60px}.notice strong{color:#304f6d;font-size:13px}.notice span{color:#6a7c90;font-size:12px}.notice.demo{background:#fff9ee;border-color:#e9d8b9}.notice.demo strong{color:#9c6617}.text-button{color:var(--accent);font-size:12px}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:18px}.section-heading h2{font-size:19px;color:#253a52;letter-spacing:-.4px;margin:0 0 5px}.section-heading p{margin:0;color:#72849b;font-size:12px}.guide-box{padding:17px 20px;margin:0 0 15px;border-radius:12px;background:var(--accent-light);color:#314e68;line-height:1.8;font-size:13px}.guide-box b{color:#223d58}
.filters{margin-bottom:20px}.filters label{max-width:340px;min-width:195px;color:#43586d;font-size:12px;font-weight:700}.filter-actions{margin-left:auto}select,input[type=text],textarea{color:#2a4056;background:#fff;border:1px solid #ced9e5;min-height:44px;font-size:13px;border-radius:10px}select:focus,input:focus,textarea:focus{border-color:var(--accent)}label small{color:#78899a}
.kpis{gap:14px}.kpi,.panel{border-radius:15px;border-color:#e3e9f1;box-shadow:0 5px 17px #183c6210;background:#fff}.kpi{padding:22px;min-height:145px}.kpi span{color:#60758d;font-size:13px;font-weight:600}.kpi .amount{font-size:clamp(21px,2vw,29px);color:#2b4663}.kpi .amount.positive,.positive{color:#19835c}.kpi .amount.negative,.negative{color:#b96338}.kpi small{color:#8293a7;font-size:11px}.kpi.featured{background:var(--accent-light);border-color:#cfdfee}.featured .amount{color:var(--accent)!important}
.panel{padding:22px}.panel h2{font-size:16px;color:#2b3c53}.panel-title p,.muted{color:#73859a}.legend{color:#697f96;font-size:11px}.chart{height:220px}.month-bars{border-color:#e1e8ef}.month-bars .rev{background:#258769}.month-bars .exp{background:#e4a25d}.month-column .axis-label{color:#788b9b;font-size:10px}.empty{color:#8798aa;font-size:13px}.bar-label{font-size:12px;color:#5f7187}.bar-label span:last-child{color:#34506b}.track{background:#eaf0f5}.track .fill{background:#f0ac68}.company-chart .track .fill{background:#3d9b86}.company-chart .track .fill.loss{background:#d98964}
.table-wrap table{font-size:12px}th{color:#8292a5}td,th{border-color:#e8eef3;padding:13px 5px}td{color:#40566d}td .mini{color:#8191a2}.chip{background:var(--accent-light);border-color:#dce6f1;color:#5a7999}.chip.warning{background:#ffefda;border-color:#f3dcaf;color:#9f6b27}
.share-preview{background:#f8fafc;border-color:#dbe4ee}.share-preview .summary-amount{color:var(--accent)}.share-preview .footnote{color:#7a8ba0}footer{border-top:1px solid #e1e9ef;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;text-align:left;padding:22px 2px;font-size:11px;color:#8191a2}footer strong{color:#3d5165;font-size:12px}footer small{color:#8795a5}
.modal-backdrop{background:#0c203caa}.modal{background:#fff;border-color:#dae5ee;color:#29435e;max-height:96vh;border-radius:17px}.modal-header h2{color:#20364e}.icon-close{color:#8293a4}.dropzone{background:#f5faff;border-color:#a7bdd4}.dropzone .step-number{margin:0 auto 11px}.file-label{color:#254c75;font-weight:800}.dropzone input{color:#405a71}.fine{color:#7389a0}.mapping-title h3,.preview-head h3{color:#2a3e56;font-size:15px}.advanced-mapping{border:1px solid #e1e8f0;padding:12px 15px;border-radius:10px;margin:15px 0;background:#fbfdff}.advanced-mapping summary{cursor:pointer;color:#375c7e;font-weight:700}.mapping-grid{margin-bottom:4px}.mapping-grid select{font-size:12px}.preview-result{background:#f2f7fc;border-color:#d2e0ed;color:#47617a}.preview-result .error{color:#a64f33}.skip-wrap{color:#7a3a30}.toast{background:#e5faf0;color:#1b543a}.toast.error{background:#ffebe2;color:#804029}
.modal-small{max-width:600px}.modal-small .form-stack{gap:15px}.modal-small .form-stack label{color:#445c74}.brand-preview{display:flex;align-items:center;gap:13px;background:#f8fafc;border:1px dashed #cad9e7;border-radius:12px;padding:14px}.brand-preview-mark{width:55px;height:55px;border-radius:12px;background:var(--accent-light);color:var(--accent);display:grid;place-items:center;font-size:20px;font-weight:800;overflow:hidden}.brand-preview-mark img{height:100%;width:100%;object-fit:contain}.brand-preview p{margin:4px 0 0;color:#708296;font-size:12px}.developer-fixed{display:grid;gap:6px;background:#f2f5f9;border-left:4px solid #8191a1;border-radius:10px;padding:13px 16px}.developer-fixed span{font-size:10px;letter-spacing:.5px;color:#718196;font-weight:700}.developer-fixed strong{font-size:14px;color:#27384e}.brand-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.form-help{color:#8391a1;line-height:1.65;font-size:11px;margin-top:18px}
@media(max-width:1150px){.sidebar{width:230px}.main{padding:26px}.kpi .amount{font-size:23px}}
@media(max-width:920px){.sidebar{display:none}.steps{grid-template-columns:repeat(3,1fr)}.analysis-grid{grid-template-columns:1fr}.main{padding:24px 18px}.toolbar{padding:0}.topbar{flex-direction:column}.filters{flex-wrap:wrap}.filter-actions{margin-left:0}.distribution-grid{grid-template-columns:1fr}}
@media(max-width:640px){.steps{grid-template-columns:1fr;gap:8px}.getting-started{padding:17px}.section-heading{align-items:start;flex-direction:column}.kpis{grid-template-columns:repeat(2,1fr)}.kpi{padding:16px 12px;min-height:122px}.kpi .amount{font-size:19px}.topbar .toolbar{width:100%;flex-direction:column}.toolbar .btn{width:100%}.filters label{flex:1;min-width:calc(50% - 10px);max-width:none}.filter-actions{width:100%;flex-wrap:wrap}.filter-actions .btn{flex:1}.panel{padding:16px}.wizard-grid{grid-template-columns:1fr}.mapping-grid{grid-template-columns:repeat(2,1fr)}footer{flex-direction:column;align-items:start}.brand-actions .btn{width:100%}}
@media print{body{background:#fff;color:#1f3043!important}.sidebar,.toolbar,.filters,.notice,.form-stack,.modal-backdrop,#clear-data,.distribute .chip,.getting-started,.section-heading button,.guide-box,.text-button{display:none!important}footer{display:flex!important;border-top:1px solid #ddd;color:#333}footer strong{color:#222}.main{padding:5mm 0}.panel,.kpi{background:#fff!important;box-shadow:none;border-color:#bbb}.kpis,.analysis-grid{break-inside:avoid}.kpi span,.kpi small,.panel h2,.panel-title p,.bar-label,.bar-label span:last-child,td,th{color:#233448}.distribution-grid{display:block}.share-preview{background:#fff}.share-preview .footnote{color:#344}.topbar h1{color:#1a2d40}}

/* v1.2 — contraste ampliado, tipografia e cadastros acessíveis */
:root{--bg:#edf2f7;--stroke:#b6c6d5;--white:#18314b;--muted:#3c526b;--accent:#12548b;--accent-light:#e4f0fb;--green:#126342;--orange:#9c491c;--text:#1a3045}
body[data-theme="emerald"]{--accent:#056555;--accent-light:#e2f5ed}
body[data-theme="plum"]{--accent:#5d3986;--accent-light:#f0eafd}
body[data-theme="graphite"]{--accent:#25354c;--accent-light:#e8edf3}
body{font-size:15px;color:var(--text);line-height:1.48}
.sidebar{border-color:#cad5e0}.section-kicker,.eyebrow{color:#375b78;font-size:11px}
.brand strong,.developer-credit strong{color:#152d43}.brand span,.brand-preview p{color:#40536a;font-size:13px}
.nav{color:#253c54;font-size:15px}.nav:hover,.nav.active{color:var(--accent);outline-color:var(--accent)}
.sidebar-note strong,.started-title strong{color:#123b5e}.sidebar-note p,.started-title p,.step-card small{color:#405671;font-size:13px}
.developer-credit span,.developer-credit small{color:#42556b;font-size:12px}
.topbar h1{color:#172e48}.topbar p,.muted,.section-heading p,.panel-title p{color:#3c526b;font-size:14px}
.btn{font-size:14px;min-height:45px;border-color:#9aaec3;color:#1c344d}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.btn:disabled{opacity:.65;color:#385069;background:#e7edf2}
.step-card{border-color:#b2c3d5;min-height:88px}.step-card strong{color:#183147;font-size:14px}.step-number{font-size:16px}
.notice{border-color:#b0c7de;border-left:5px solid var(--accent)}.notice strong{font-size:14px;color:#1d4569}.notice span{font-size:13px;color:#314f68}
.section-heading h2,.panel h2{color:#1b344d}.filters label,label,.form-stack label{color:#243d54;font-size:14px}label small{color:#455c73;font-size:12px}
select,input[type=text],input[type=tel],input[type=date],input[type=number],textarea{color:#1a3249;background:#fff;border:1.5px solid #8fa6ba;min-height:45px;font-size:15px;border-radius:9px;width:100%;padding:10px 12px;margin-top:7px}
select:focus,input:focus,textarea:focus{border-color:var(--accent)}
input::placeholder,textarea::placeholder{color:#587086;opacity:1}
input[type=file]{font-size:13px}
.kpi,.panel{border-color:#c0cfdc}.kpi span{color:#304a60;font-size:14px}.kpi small{color:#41596e;font-size:12px}.kpi .amount{color:#203d55}.kpi .amount.positive,.positive{color:#126342}.kpi .amount.negative,.negative{color:#98451d}
.featured{border-color:#abc3db!important}.featured .amount{color:var(--accent)!important}
.guide-box,.preview-result{color:#1e3f58;background:#e9f3fb;border:1px solid #aec3d6;font-size:14px}
.legend{color:#344c60;font-size:12px}.empty{color:#425c74;font-size:14px}.month-column .axis-label{color:#395269;font-size:12px}
.bar-label{color:#293e56;font-size:14px}.bar-label span:last-child{color:#1c344a;font-weight:700}
.track{background:#dae4ed;height:11px}.company-chart .track .fill{background:#287c5a}.category-chart .track .fill{background:#bd6427}
.table-wrap table{font-size:13px}th{color:#23415a;font-size:12px}td{color:#1c364b;font-size:13px}td .mini{color:#405c71;font-size:12px}
.chip{border-color:#a9c1d8;color:#245075;font-size:12px}.chip.warning{color:#76400d;border-color:#d4b06a}
.share-preview{border-color:#b9c8d7;background:#f0f5f9}.share-preview .footnote{color:#385169;font-size:13px}
footer,footer small{color:#40556b;font-size:12px}footer strong{color:#1b344c;font-size:13px}
.modal{border:2px solid #9eb4c7}.icon-close{color:#253b53;min-width:38px;min-height:38px}.fine{color:#435a72;font-size:12px}.file-label{font-size:15px}.advanced-mapping{border-color:#b2c4d3}.advanced-mapping summary{color:#1e4a6d}.preview-result .error{color:#963418}.skip-wrap{color:#6a281d;font-size:13px}
.developer-fixed{border-left-color:#4f687b}.developer-fixed span{color:#45596f;font-size:12px}.developer-fixed strong{color:#153047}.form-help{color:#43566a;font-size:13px}
/* Fluxo principal e ações financeiras */
.backup-banner{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#fff7e8;border:2px solid #bc8f43;border-radius:14px;padding:18px 19px;margin-bottom:22px}
.backup-banner strong{display:block;font-size:15px;color:#5c3510}.backup-banner p{margin:3px 0 0;color:#59422d;font-size:13px}
.backup-actions{display:flex;flex-wrap:wrap;gap:10px}.import-backup{display:flex;align-items:center;cursor:pointer;white-space:nowrap;margin:0}
.companies-panel{margin-bottom:22px}.company-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:13px}
.company-card{background:#f9fbfd;border:1.5px solid #aec0d0;border-radius:13px;padding:18px;min-width:0}
.company-card.archived{background:#edf1f4;opacity:.9}.company-card-header{display:flex;justify-content:space-between;align-items:start;gap:8px}
.company-card-header strong{color:#1a344d;font-size:16px;overflow-wrap:anywhere}.company-card p{margin:9px 0;color:#40566e;font-size:13px}
.company-shares{display:flex;gap:6px;flex-wrap:wrap;min-height:31px}.partner-chip{background:#e0eef8;border:1px solid #9db9cd;color:#1a476b;border-radius:7px;padding:5px 7px;font-size:12px;font-weight:700;overflow-wrap:anywhere}
.share-empty{color:#42576b;font-size:13px}.company-actions,.form-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}
.company-actions .btn{min-height:37px;padding:5px 11px}.form-actions{justify-content:flex-end;align-items:center}.form-actions .btn{white-space:normal}
.partner-header{display:flex;justify-content:space-between;gap:10px;align-items:start;padding:10px 0;border-top:1px solid #bfd0dc}
.partner-header strong{color:#1b364c;font-size:15px}.partner-header p{color:#3f576e;font-size:13px;margin:4px 0 0}
.partners-editor{display:flex;flex-direction:column;gap:12px}.partner-edit-row{display:grid;grid-template-columns:minmax(130px,1.3fr) minmax(105px,.7fr) minmax(100px,.8fr) auto;gap:10px;align-items:end;padding:12px;border-radius:11px;border:1px solid #bcccdc;background:#f5f8fc}
.partner-edit-row label{margin:0}.partner-edit-row input{min-width:0}
.partner-edit-row .partner-range{accent-color:var(--accent);width:100%;min-height:45px;cursor:pointer;margin:0}
.partner-remove{min-height:44px}.share-total{background:#e4f3ec;border:1px solid #8fbba8;color:#1f563b;font-weight:750;padding:11px;border-radius:9px;font-size:14px}
.share-total.invalid{background:#fff0e8;border-color:#ba775f;color:#94391a}.required{color:#ae351c}
.inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.manual-summary{background:#e9f2f9;border:1px solid #a2bacb;padding:12px;border-radius:10px;color:#204763;font-size:14px;font-weight:700}
.helper-note{color:#3b5368;font-size:13px;margin:4px 0}.row-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:4px;white-space:nowrap}
.source-label{font-size:12px;color:#3a5169;display:inline-block;padding:4px 8px}.btn.mini-action{font-size:12px;min-height:31px;padding:4px 8px}
#more-transactions{margin-top:12px}
@media(max-width:1220px){.toolbar{flex-wrap:wrap;justify-content:flex-end}.backup-banner{flex-direction:column;align-items:stretch}}
@media(max-width:700px){.partner-edit-row{grid-template-columns:minmax(0,1fr) minmax(95px,.75fr)}.partner-range{grid-column:1}.partner-remove{grid-column:2}.partner-header{flex-direction:column}.backup-actions .btn{flex:1}.inline-fields{grid-template-columns:1fr}.company-actions .btn{flex:1}.table-wrap table{min-width:720px}}
@media(max-width:430px){.backup-actions{flex-direction:column}.form-actions .btn{flex:1}.modal{padding:18px}}
@media print{.backup-banner,.companies-panel,#more-transactions,.row-actions button{display:none!important}.source-label{color:#29394c}.table-wrap table{min-width:0}td,th{font-size:11px}}

/* Relatório de movimentações usa largura suficiente para leitura confortável. */
.analysis-grid:has(#transactions){grid-template-columns:1fr}
#transactions td,#transactions th{padding:13px 10px}
#transactions .row-actions{justify-content:flex-start}
#transactions td:last-child,#transactions th:last-child{text-align:left}
@media(max-width:700px){#transactions td,#transactions th{padding:11px 8px}}

@media(max-width:420px){.kpis{grid-template-columns:1fr}.kpi{min-height:105px}.kpi .amount{font-size:26px}.topbar h1{font-size:26px}.btn{font-size:14px}}

/* v1.3 — emissão de relatórios, impressão e compartilhamento */
.modal-report{width:min(760px,100%)}
.report-options{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:19px 0 15px}
.report-overview{padding:17px 18px;border:1.5px solid #9fb8cc;border-radius:12px;background:#f0f6fc;color:#173750;font-size:15px;line-height:1.7}
.report-overview strong{color:#193a59}
.report-overview .report-meta{color:#34516b;font-size:14px}
.report-overview .report-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.report-totals div{border:1px solid #b7cad9;border-radius:8px;background:#fff;padding:10px;min-width:0}
.report-totals span{display:block;color:#2c4961;font-size:12px;font-weight:700}
.report-totals b{display:block;font-size:16px;overflow-wrap:anywhere;color:#153d5b}
.report-actions{display:flex;gap:10px;margin:19px 0 12px;flex-wrap:wrap}
.report-actions .btn{flex:1;white-space:normal;min-height:50px}
.report-help{color:#2c4962;font-size:13px;line-height:1.65;margin:0 0 16px;background:#fff8eb;border-left:4px solid #ba8739;border-radius:5px;padding:11px}
@media(max-width:700px){.report-options{grid-template-columns:1fr}.report-overview .report-totals{grid-template-columns:1fr}.report-actions{flex-direction:column}}
@media print{#report-modal{display:none!important}}
