/* Caixa Claro · design system em DESIGN.md. Tokens primeiro; componentes só usam var(--*). */
@font-face{font-family:Manrope;src:url('/assets/Manrope-Variable.ttf') format('truetype');font-weight:200 800;font-display:swap}@font-face{font-family:Fraunces;src:url('/assets/Fraunces-Variable.ttf') format('truetype');font-weight:100 900;font-display:swap}

/* ---------- Tokens: claro (padrão) ---------- */
:root,.report{color-scheme:light;
 --bg:#f4f0e6;--bg-2:#ece8dc;--surface:#fffdf8;--field:#fbfaf5;--muted-bg:#f5f2e9;
 --line:#e2dfd2;--line-2:#cfccbf;--line-hover:#b3b0a2;
 --ink:#1d2f28;--ink-2:#33463e;--muted:#56645c;
 --brand:#12362d;--brand-hover:#1c4a3e;--on-brand:#fffdf8;
 --accent:#c8f265;--on-accent:#12362d;--accent-soft:#eef5d9;--accent-line:#cfe39b;--link:#12362d;
 --tint:#e8eddd;--tint-line:#d7dfc6;
 --ok:#2f5e38;--ok-bg:#e6f0d6;--ok-line:#bfd49c;
 --warn:#6b4a05;--warn-bg:#fbf1d6;--warn-line:#ecd28f;--warn-mark:#d9a52f;
 --bad:#9e3424;--bad-bg:#fbe9e3;--bad-line:#ebc0b2;
 --info-bg:#f0f5e3;--info-line:#d6e1bd;
 --chart-1:#6f8d54;--chart-neg:#bc654c;--chart-2:#b7861f;
 --nav-bg:#12362d;--nav-ink:#d3ded5;--nav-muted:#93ab9e;--nav-hover:#ffffff10;--nav-active-bg:#ffffff17;--nav-active:#c8f265;
 --hero-bg:#12362d;--hero-ink:#c8f265;--hero-sub:#bdcfc1;--hero-line:#ffffff1f;
 --topbar-bg:#f6f2e9e6;--sheet-bg:#fffdf8f5;--overlay:#12362d70;
 --ring:#c8f26599;--focus:#4f6f1f;
 --shadow-1:0 1px 2px #12362d0a,0 10px 30px -18px #12362d33;--shadow-2:0 18px 40px -16px #12362d55;--shadow-pop:0 24px 60px -24px #12362d73,0 2px 8px #12362d14;
 --sk-a:#ebe8dc;--sk-b:#f7f5ee;--code-bg:#12362d;--code-ink:#e8f0d8;--inline-code:#ece9de;
 --font:Manrope,system-ui,sans-serif;--serif:Fraunces,Georgia,serif;
 --r-xs:8px;--r-sm:11px;--r-md:14px;--r-lg:16px;--r-xl:22px;--r-pill:999px;
 --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s7:32px;--s8:40px;
 --ease:cubic-bezier(.23,1,.32,1);--ease-io:cubic-bezier(.65,0,.35,1);--d1:120ms;--d2:200ms;--d3:280ms;--d4:520ms;
 --z-savebar:5;--z-topbar:10;--z-pop:40;--z-overlay:45;--z-nav:50;--z-toast:60;--z-skip:70;
 --nav-h:68px}
/* ---------- Tokens: escuro ---------- */
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;
 --bg:#0e1814;--bg-2:#14211c;--surface:#16241f;--field:#111d18;--muted-bg:#1a2a24;
 --line:#253830;--line-2:#34493f;--line-hover:#4c6559;
 --ink:#e8eee7;--ink-2:#cbd7cd;--muted:#9fb2a7;
 --brand:#c8f265;--brand-hover:#d8f991;--on-brand:#0e1f19;
 --accent:#c8f265;--on-accent:#0e1f19;--accent-soft:#1f2e1c;--accent-line:#3d5628;--link:#c8f265;
 --tint:#172a21;--tint-line:#2a4034;
 --ok:#a2d68e;--ok-bg:#173020;--ok-line:#2e5236;
 --warn:#f1d283;--warn-bg:#2a2313;--warn-line:#5a481c;--warn-mark:#e1b33f;
 --bad:#f4a491;--bad-bg:#331c17;--bad-line:#64332a;
 --info-bg:#162619;--info-line:#2d452f;
 --chart-1:#9cc27a;--chart-neg:#e58a72;--chart-2:#e0b04a;
 --nav-bg:#0a130f;--nav-ink:#c2d0c5;--nav-muted:#7f9888;--nav-hover:#ffffff0d;--nav-active-bg:#c8f26517;--nav-active:#c8f265;
 --hero-bg:#1c392d;--hero-ink:#c8f265;--hero-sub:#adc5b3;--hero-line:#ffffff17;
 --topbar-bg:#0e1814e6;--sheet-bg:#15221df5;--overlay:#000000a8;
 --ring:#c8f26559;--focus:#c8f265;
 --shadow-1:0 1px 2px #0005,0 12px 30px -18px #000c;--shadow-2:0 18px 40px -16px #000d;--shadow-pop:0 24px 60px -20px #000e,0 2px 8px #0007;
 --sk-a:#1b2a24;--sk-b:#24372e;--code-bg:#0a130f;--code-ink:#d9e8c8;--inline-code:#22332b}}
:root[data-theme=dark]{color-scheme:dark;
 --bg:#0e1814;--bg-2:#14211c;--surface:#16241f;--field:#111d18;--muted-bg:#1a2a24;
 --line:#253830;--line-2:#34493f;--line-hover:#4c6559;
 --ink:#e8eee7;--ink-2:#cbd7cd;--muted:#9fb2a7;
 --brand:#c8f265;--brand-hover:#d8f991;--on-brand:#0e1f19;
 --accent:#c8f265;--on-accent:#0e1f19;--accent-soft:#1f2e1c;--accent-line:#3d5628;--link:#c8f265;
 --tint:#172a21;--tint-line:#2a4034;
 --ok:#a2d68e;--ok-bg:#173020;--ok-line:#2e5236;
 --warn:#f1d283;--warn-bg:#2a2313;--warn-line:#5a481c;--warn-mark:#e1b33f;
 --bad:#f4a491;--bad-bg:#331c17;--bad-line:#64332a;
 --info-bg:#162619;--info-line:#2d452f;
 --chart-1:#9cc27a;--chart-neg:#e58a72;--chart-2:#e0b04a;
 --nav-bg:#0a130f;--nav-ink:#c2d0c5;--nav-muted:#7f9888;--nav-hover:#ffffff0d;--nav-active-bg:#c8f26517;--nav-active:#c8f265;
 --hero-bg:#1c392d;--hero-ink:#c8f265;--hero-sub:#adc5b3;--hero-line:#ffffff17;
 --topbar-bg:#0e1814e6;--sheet-bg:#15221df5;--overlay:#000000a8;
 --ring:#c8f26559;--focus:#c8f265;
 --shadow-1:0 1px 2px #0005,0 12px 30px -18px #000c;--shadow-2:0 18px 40px -16px #000d;--shadow-pop:0 24px 60px -20px #000e,0 2px 8px #0007;
 --sk-a:#1b2a24;--sk-b:#24372e;--code-bg:#0a130f;--code-ink:#d9e8c8;--inline-code:#22332b}
/* O relatório é um documento: fica claro na tela e na impressão, em qualquer tema. */
.report{color-scheme:light}

/* ---------- Base ---------- */
:root{font-family:var(--font);color:var(--ink);background:var(--bg);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);transition:background-color var(--d2) ease}
a{color:var(--link);text-underline-offset:3px}button,input,select,textarea{font:inherit;color:inherit}
::selection{background:var(--accent);color:var(--on-accent)}
.ic{width:20px;height:20px;flex-shrink:0;display:block}
h1,h2,h3,h4,p{margin:0 0 14px}h1,h2,h3{line-height:1.15;color:var(--ink)}h1,h2{font-family:var(--serif);font-weight:500;font-optical-sizing:auto}h1{font-size:clamp(30px,2.8vw,42px);letter-spacing:-1px}h2{font-size:26px;letter-spacing:-.3px}h3{font-size:16px}h4{font-size:12px;text-transform:uppercase;letter-spacing:.9px;font-weight:800;color:var(--muted);margin-bottom:8px}
small,.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:1.6px;font-weight:800;color:var(--muted)}
code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:20px;font-weight:700;line-height:1.15;color:inherit}.brand img{width:36px;height:36px}.brand small{display:block;font-size:10px;font-weight:500;letter-spacing:.7px;margin-top:4px}
.skip{position:fixed;left:15px;top:-60px;z-index:var(--z-skip);background:var(--surface);color:var(--ink);padding:10px 14px;border-radius:var(--r-sm);box-shadow:var(--shadow-2)}.skip:focus{top:10px}

/* ---------- Botões ---------- */
button,.button{border:1px solid var(--brand);border-radius:12px;background:var(--brand);color:var(--on-brand);padding:11px 18px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;line-height:1.2;position:relative;user-select:none;transition:transform var(--d1) var(--ease),background-color var(--d2) ease,border-color var(--d2) ease,box-shadow var(--d2) ease,color var(--d2) ease}
button .ic,.button .ic{width:18px;height:18px}
button:active:not(:disabled),.button:active{transform:scale(.97)}
@media(hover:hover) and (pointer:fine){button:hover:not(:disabled),.button:hover{background:var(--brand-hover);border-color:var(--brand-hover)}.secondary:hover:not(:disabled){background:var(--muted-bg);border-color:var(--line-hover)}}
button:disabled{cursor:not-allowed;opacity:.5}button.ocupado{cursor:progress;opacity:.85}
.secondary{background:var(--surface);color:var(--link);border-color:var(--line-2)}
.danger{color:var(--bad);background:var(--bad-bg);border-color:var(--bad-line)}@media(hover:hover){.danger:hover:not(:disabled){background:var(--bad-bg);border-color:var(--bad);color:var(--bad)}}
.small{font-size:13px;padding:7px 12px;min-height:38px;border-radius:10px}.small .ic{width:16px;height:16px}
.wide{width:100%}
.link{border:0;background:none;color:var(--link);padding:4px;text-decoration:underline;min-height:0;font-weight:700}@media(hover:hover) and (pointer:fine){.link:hover:not(:disabled){background:none;border:0;opacity:.75}}
.icon-btn{background:transparent;border:0;color:var(--link);min-height:40px;width:40px;padding:0;border-radius:10px}@media(hover:hover) and (pointer:fine){.icon-btn:hover:not(:disabled){background:var(--muted-bg)}}
.spin{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;display:inline-block;flex-shrink:0;animation:gira .7s linear infinite}
@keyframes gira{to{transform:rotate(1turn)}}
button:focus-visible,a:focus-visible,summary:focus-visible,input[type=checkbox]:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.main:focus{outline:none}

/* ---------- Campos ---------- */
input,select,textarea{display:block;width:100%;min-width:0;padding:11px 13px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--field);color:var(--ink);min-height:46px;transition:border-color var(--d2) ease,box-shadow var(--d2) ease,background-color var(--d2) ease}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:.75}
input:hover,select:hover,textarea:hover{border-color:var(--line-hover)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);background:var(--surface);box-shadow:0 0 0 4px var(--ring)}
input[type=checkbox]{display:inline-block;width:18px;height:18px;min-height:18px;accent-color:var(--brand);margin:3px 8px 0 0;flex-shrink:0;box-shadow:none;cursor:pointer}input[type=color]{padding:3px;width:80px;cursor:pointer}input[type=file]{padding:8px}
input[type=file]::file-selector-button{font:inherit;font-weight:700;font-size:13px;border:1px solid var(--line-2);background:var(--surface);color:var(--link);border-radius:9px;padding:6px 12px;margin-right:10px;cursor:pointer}
select{appearance:none;-webkit-appearance:none;padding-right:36px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2378887f' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px}
input[aria-invalid=true]{border-color:var(--bad);box-shadow:0 0 0 3px color-mix(in srgb,var(--bad) 20%,transparent)}
input[data-money]{text-align:right;font-variant-numeric:tabular-nums}
label{display:block;font-size:13px;font-weight:600;color:var(--ink-2);margin-bottom:16px}label input,label select,label textarea{margin-top:6px}label.check{display:flex;align-items:flex-start;font-weight:500;cursor:pointer}label small{display:block;font-weight:500;margin-top:5px}textarea{min-height:110px;resize:vertical;line-height:1.5}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.fields .full{grid-column:1/-1}.fields.three{grid-template-columns:repeat(3,minmax(0,1fr))}

/* ---------- Acesso ---------- */
.auth{display:grid;grid-template-columns:minmax(300px,1fr) minmax(420px,1fr);min-height:100vh;min-height:100dvh}
.auth-story{background:var(--nav-bg);color:var(--nav-ink);padding:clamp(30px,5vw,80px);display:flex;flex-direction:column;justify-content:space-between;gap:45px;position:relative;overflow:hidden}
.auth-story:after,.auth-story:before{content:'';position:absolute;border:1px solid #ffffff14;border-radius:50%;pointer-events:none}.auth-story:after{width:450px;height:450px;bottom:-180px;right:-230px}.auth-story:before{width:260px;height:260px;bottom:-60px;right:-90px;border-color:#c8f26522}
.auth-story .brand{color:#f4f0e6}.auth-story .brand img{background:#f4f0e6;border-radius:50%;padding:5px}.auth-story small{color:#c4cfc7}.auth-story h1{font-size:clamp(42px,5vw,70px);max-width:600px;color:#f4f0e6}.auth-story .eyebrow{color:#c4cfc7}.auth-story .accent{color:#c8f265}.auth-story p{max-width:450px;font-size:17px;color:#d9e0d8}.auth-story .signature{width:240px;max-width:100%}
.auth-form{max-width:480px;width:100%;margin:auto;padding:45px 32px}.auth-form h2{font-size:34px}.auth-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px}.auth-top .eyebrow{margin:0}
.auth-tabs{margin:22px 0}.auth-foot{margin-top:24px;font-size:12px}.auth-form .link{margin-top:8px}
.auth-form>*{animation:sobe var(--d3) var(--ease) both}.auth-form>:nth-child(2){animation-delay:30ms}.auth-form>:nth-child(3){animation-delay:60ms}.auth-form>:nth-child(4){animation-delay:90ms}.auth-form>:nth-child(n+5){animation-delay:120ms}

/* ---------- Estrutura do aplicativo ---------- */
.layout{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh;min-height:100dvh;background:linear-gradient(90deg,var(--nav-bg) 252px,transparent 0)}
.sidebar{background:var(--nav-bg);color:var(--nav-ink);padding:26px 16px 22px;position:sticky;top:0;height:100vh;height:100dvh;display:flex;flex-direction:column;gap:26px;overflow:auto;scrollbar-width:thin}
.sidebar .brand{padding:0 8px;color:#f4f0e6}.sidebar .brand img{background:#f4f0e6;padding:4px;border-radius:50%}.sidebar .brand small{color:var(--nav-muted)}
.appnav{display:grid;gap:18px}.nav-group{display:grid;gap:2px}
.nav-group p{font-size:10px;letter-spacing:1.4px;text-transform:uppercase;font-weight:800;color:var(--nav-muted);margin:0 0 6px;padding:0 12px}
.appnav button{justify-content:flex-start;text-align:left;border:0;background:transparent;color:var(--nav-ink);font-size:14px;font-weight:600;min-height:40px;padding:9px 12px;gap:12px;border-radius:10px;position:relative}
.appnav button .ic{width:19px;height:19px;opacity:.85}
@media(hover:hover) and (pointer:fine){.appnav button:hover:not(:disabled){background:var(--nav-hover);color:#fff}}
.appnav button[aria-current=page]{background:var(--nav-active-bg);color:var(--nav-active)}.appnav button[aria-current=page] .ic{opacity:1}
.appnav button[aria-current=page]:before{content:'';position:absolute;left:-16px;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:var(--nav-active);animation:aparece var(--d2) ease}
.appnav .short,.nav-mais{display:none}
.sidebar-bottom{margin-top:auto;padding:0 10px}.sidebar-bottom img{width:170px;max-width:100%;margin-top:14px;opacity:.9}.sidebar-bottom a{display:block;font-size:12px;margin:8px 0;color:var(--nav-muted);text-decoration:none;transition:color var(--d2) ease}.sidebar-bottom a:hover{color:#fff}
.workspace{min-width:0;display:flex;flex-direction:column}
.topbar{position:sticky;top:0;z-index:var(--z-topbar);padding:14px 40px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:22px;background:var(--topbar-bg);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px)}
.topbar small{display:block;font-size:10px;letter-spacing:1.2px;text-transform:uppercase;font-weight:800;color:var(--muted);line-height:1}
.ctx{display:flex;align-items:center;gap:12px;min-width:0;flex:1}
.avatar{width:42px;height:42px;border-radius:13px;background:var(--c,var(--brand));color:#fff;display:grid;place-items:center;font-family:var(--serif);font-size:21px;flex-shrink:0;box-shadow:inset 0 0 0 1px #0000001a}
img.avatar{background:var(--surface);padding:6px;box-shadow:inset 0 0 0 1px var(--line)}
.ctx-sel{margin:0;min-width:0;flex:0 1 auto;max-width:360px}
.ctx-sel select{margin-top:3px;border:0;background-color:transparent;padding:2px 26px 2px 0;min-height:30px;font-size:17px;font-weight:700;color:var(--ink);box-shadow:none;background-position:right 2px center;text-overflow:ellipsis}
.ctx-sel select:focus{box-shadow:0 0 0 3px var(--ring);border-radius:6px;background-color:transparent}
.periodo{display:flex;flex-direction:column;gap:5px}
.periodo-ctl{display:flex;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:3px}
.periodo-ctl input{border:0;background:transparent;min-height:34px;width:170px;padding:4px 6px;font-weight:700;text-align:center;box-shadow:none}
.periodo-ctl input:focus{box-shadow:0 0 0 3px var(--ring);border-radius:8px;background:transparent}
.periodo-ctl .icon-btn{min-height:36px;width:36px}
.topbar .account{font-size:12px;color:var(--muted);text-align:right;line-height:1.35}.topbar .account b{display:block;color:var(--ink);font-size:13px}.topbar .account span{display:block}
.main{width:100%;max-width:1240px;margin:0 auto;padding:34px 40px 40px;flex:1}
.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:26px}.page-head h1{margin-bottom:8px}.page-head p:not(.eyebrow){font-size:15px;color:var(--muted);max-width:680px;margin:0}.page-head .eyebrow{margin-bottom:8px}
.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

/* Preferências (tema e idioma) */
.prefs{position:relative;margin:0}.prefs summary{list-style:none;display:grid;place-items:center;cursor:pointer;color:var(--link)}.prefs summary::-webkit-details-marker{display:none}
.prefs[open] summary{background:var(--muted-bg)}
.prefs-pop{position:absolute;right:0;top:calc(100% + 8px);z-index:var(--z-pop);width:300px;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-pop);transform-origin:top right;animation:pop var(--d2) var(--ease)}
.prefs-t{font-size:11px;text-transform:uppercase;letter-spacing:1px;font-weight:800;color:var(--muted);margin:2px 2px 8px}.prefs-pop .seg{margin-bottom:12px}.prefs-pop .seg:last-child{margin-bottom:0}
.prefs-pop .seg button{flex-direction:row;justify-content:center;gap:6px;font-size:13px;padding:8px 6px}.prefs-pop .seg .ic{width:15px;height:15px}

/* Barra de salvar */
.savebar{position:sticky;bottom:18px;z-index:var(--z-savebar);display:flex;align-items:center;justify-content:space-between;gap:14px;margin:30px 0 0;padding:10px 10px 10px 20px;background:var(--hero-bg);color:#f4f0e6;border-radius:var(--r-lg);box-shadow:0 14px 34px -14px #12362d99;animation:sobe var(--d3) var(--ease) both}
.savebar-status{display:flex;flex-direction:column;font-size:13px;font-weight:600;min-width:0}.savebar-status small{color:var(--hero-sub);font-size:12px;font-weight:500}
.savebar button{background:#c8f265;color:#12362d;border-color:#c8f265;flex-shrink:0}@media(hover:hover) and (pointer:fine){.savebar button:hover:not(:disabled){background:#d8f991;border-color:#d8f991}}
.savebar.pendente button{box-shadow:0 0 0 0 #c8f26599;animation:pulso 2.4s var(--ease) infinite}
@keyframes pulso{0%{box-shadow:0 0 0 0 #c8f26580}70%{box-shadow:0 0 0 10px #c8f26500}100%{box-shadow:0 0 0 0 #c8f26500}}
.dot{height:8px;width:8px;background:#f0a383;border-radius:50%;display:inline-block;margin-right:8px;vertical-align:1px}.dot.ok{background:#c8f265}

/* ---------- Cartões, métricas, avisos ---------- */
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;margin-bottom:20px;min-width:0;box-shadow:var(--shadow-1)}.grid>.card{margin-bottom:0}.card h2{font-size:24px}.card .card-title{font-size:22px;margin-bottom:6px}.card .card-title+.muted{margin-bottom:18px}
.card.tint{background:var(--tint);border-color:var(--tint-line)}.card .card{box-shadow:none;background:var(--field)}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.metrics.hero{grid-template-columns:1.45fr repeat(3,minmax(0,1fr))}
.metric{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px 20px;box-shadow:var(--shadow-1);min-width:0;display:flex;flex-direction:column}
.metric small{display:block;font-size:12px;font-weight:700;color:var(--muted)}
.metric strong{display:block;font-size:clamp(20px,1.9vw,27px);letter-spacing:-.6px;margin-top:auto;padding-top:14px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.15;color:var(--ink)}
.metric.primary{background:var(--hero-bg);color:#f4f0e6;border-color:var(--hero-bg);position:relative;overflow:hidden}
.metric.primary:after{content:'';position:absolute;right:-50px;top:-50px;width:150px;height:150px;border-radius:50%;border:1px solid var(--hero-line)}
.metric.primary small{color:var(--hero-sub)}.metric.primary strong{color:var(--hero-ink);font-size:clamp(26px,2.6vw,38px)}
.metric p{font-size:12px;margin:6px 0 0;color:var(--muted);line-height:1.4}.metric.primary p{color:var(--hero-sub)}
.notice{display:block;border:1px solid var(--info-line);background:var(--info-bg);color:var(--ink);border-radius:12px;padding:12px 16px;font-size:13px;margin-bottom:18px}.notice.error{border-color:var(--bad-line);background:var(--bad-bg)}.notice a{font-weight:700}
.pill{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;border:1px solid var(--line);border-radius:var(--r-pill);padding:2px 9px;background:var(--muted-bg);color:var(--ink-2);white-space:nowrap;vertical-align:1px}.pill .ic{width:12px;height:12px}.pill .spin{width:10px;height:10px;border-width:1.5px}
.pill.warn{background:var(--warn-bg);border-color:var(--warn-line);color:var(--warn)}.pill.ok{background:var(--ok-bg);border-color:var(--ok-line);color:var(--ok)}.pill.late{background:var(--bad-bg);border-color:var(--bad-line);color:var(--bad)}.pill.info{background:var(--info-bg);border-color:var(--info-line);color:var(--ink-2)}
.pill.origem{background:var(--accent-soft);border-color:var(--accent-line);color:var(--ink)}
.pill.plano{vertical-align:4px;margin-left:6px;font-family:var(--font);letter-spacing:0;background:var(--accent-soft);border-color:var(--accent-line);color:var(--ink)}
.negative{color:var(--bad)}.positive{color:var(--ok)}.ok-msg{color:var(--ok);font-weight:600;margin:10px 0 0}

/* ---------- Vazio, esqueleto, carregamento ---------- */
.empty{padding:52px 28px;text-align:center;border:1px solid var(--line);border-radius:20px;background:radial-gradient(120% 90% at 50% 0%,var(--accent-soft) 0%,var(--surface) 55%);box-shadow:var(--shadow-1)}
.empty h2{max-width:560px;margin:18px auto 10px}.empty p{color:var(--muted);max-width:540px;margin:0 auto 24px}
.empty-ic{width:60px;height:60px;border-radius:18px;background:var(--hero-bg);color:var(--hero-ink);display:inline-grid;place-items:center;flex-shrink:0}.empty-ic .ic{width:28px;height:28px}.empty-ic.sm{width:44px;height:44px;border-radius:13px}.empty-ic.sm .ic{width:22px;height:22px}
.passos{list-style:none;padding:0;margin:0 auto 28px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:720px;counter-reset:p;text-align:left}
.passos li{counter-increment:p;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;font-size:13px;color:var(--muted)}
.passos li:before{content:counter(p);display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--accent);color:var(--on-accent);font-weight:800;font-size:12px;margin-bottom:8px}.passos b{display:block;color:var(--ink);font-size:14px}
.vazio-inline{display:flex;gap:12px;align-items:center;border:1px dashed var(--line-2);border-radius:12px;padding:16px 18px;margin-top:16px;background:var(--field);color:var(--muted)}.vazio-inline p{margin:0}.vazio-inline .ic{opacity:.7}
.sk{height:12px;border-radius:6px;margin:10px 0;background:linear-gradient(90deg,var(--sk-a) 0%,var(--sk-b) 50%,var(--sk-a) 100%);background-size:200% 100%;animation:brilho 1.3s linear infinite}
.sk.h1{height:34px;border-radius:9px}.sk.h2{height:22px;border-radius:7px}.sk.curto,.sk.w60{width:60%}.w20{width:20%}.w40{width:40%}.w50{width:50%}.w70{width:70%}.w80{width:80%}.w90{width:90%}
@keyframes brilho{to{background-position:-200% 0}}
.esqueleto{animation:aparece var(--d3) ease both}.sk-head{margin-bottom:26px;max-width:620px}
.sk-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.sk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.sk-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px}.sk-card.alto{min-height:240px}
.sk-barras{display:flex;align-items:flex-end;gap:8px;height:140px;margin-top:22px}.sk-barras i{flex:1;border-radius:6px 6px 2px 2px;background:var(--sk-a);animation:brilho 1.3s linear infinite;background-image:linear-gradient(180deg,var(--sk-b),var(--sk-a));background-size:100% 200%}
.loading{min-height:100vh;min-height:100dvh;display:grid;place-content:center;justify-items:center;text-align:center;gap:16px;padding:20px}.loading p{color:var(--muted);margin:0}.loading .barra{width:180px}
.loading-marca{width:76px;height:76px;border-radius:50%;background:var(--surface);display:grid;place-items:center;box-shadow:var(--shadow-1);animation:respira 1.8s var(--ease-io) infinite}
@keyframes respira{50%{transform:scale(1.05);box-shadow:0 0 0 10px var(--accent-soft)}}
.barra{display:block;height:6px;border-radius:6px;background:var(--bg-2);overflow:hidden}.barra i{display:block;height:100%;background:var(--chart-1);border-radius:6px;transform-origin:left;transition:transform var(--d2) linear}
.barra.indeterminada i{width:40%;animation:vai 1.2s var(--ease-io) infinite}
@keyframes vai{from{transform:translateX(-100%)}to{transform:translateX(250%)}}

/* ---------- Tabelas ---------- */
.table-wrap{position:relative;overflow:auto;max-width:100%;margin:15px 0;border:1px solid var(--line);border-radius:12px;background:var(--surface);overscroll-behavior-x:contain}
.table-wrap.scroll{max-height:460px}
table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}th,td{padding:11px 12px;text-align:left;border-bottom:1px solid var(--line)}tbody tr:last-child td{border-bottom:0}
th{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:800;background:var(--muted-bg);position:sticky;top:0;z-index:1}
tbody tr{transition:background-color var(--d2) ease}@media(hover:hover){tbody tr:hover td{background:color-mix(in srgb,var(--muted-bg) 60%,transparent)}}
td.money,th.money{text-align:right;font-variant-numeric:tabular-nums}td.wrap{white-space:normal;min-width:180px}td input{min-width:100px}td select{min-width:140px}

/* ---------- Gráficos e barras ---------- */
.chart{display:flex;align-items:flex-end;gap:6px;height:160px;margin:26px 0 10px;border-bottom:1px solid var(--line-2);padding-top:10px}.chart.dense{gap:2px}
.chart-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;gap:6px;min-width:0}
.chart-bar{background:var(--chart-1);width:100%;max-width:40px;border-radius:5px 5px 2px 2px;min-height:2px;transform-origin:bottom;animation:cresce var(--d4) var(--ease) both;animation-delay:calc(var(--i,0) * 28ms);transition:filter var(--d2) ease}
.chart-col:hover .chart-bar{filter:brightness(1.12)}
.chart-bar.bad{background:var(--chart-neg)}.chart-col small{font-size:9px;height:12px;white-space:nowrap}
@keyframes cresce{from{transform:scaleY(0)}}
.aging{display:grid;gap:2px;font-size:13px}.aging-row{display:grid;grid-template-columns:minmax(120px,1.1fr) 1fr 1fr;gap:14px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.aging-row:last-child{border-bottom:0}
.aging-th{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:800;padding-top:0}
.aging-row>span:not(:first-child){display:grid;gap:5px}.aging-row b{font-variant-numeric:tabular-nums;font-weight:700}
.aging-bar{display:block;height:6px;border-radius:6px;transform-origin:left;animation:cresceX var(--d4) var(--ease) both}.aging-bar.rec{background:var(--chart-1)}.aging-bar.pag{background:var(--chart-2)}.aging-row.late>span:first-child{color:var(--bad)}
@keyframes cresceX{from{transform:scaleX(0)}}
.progresso{min-width:170px;text-align:right}.progresso small{font-size:12px;font-weight:700}
.progresso-barra{height:8px;border-radius:8px;background:var(--bg-2);overflow:hidden;margin:6px 0}.progresso-barra span{display:block;height:100%;background:var(--brand);border-radius:8px;transform-origin:left;animation:cresceX var(--d4) var(--ease) both}

/* ---------- Telas ---------- */
.list-lines{list-style:none;padding:0}.list-lines li{padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}
.review{display:flex;gap:8px;align-items:center;font-size:12px;padding:12px 0;color:var(--muted)}.review .ic{width:16px;height:16px;color:var(--ok)}
.feedback-message{white-space:pre-wrap;overflow-wrap:anywhere}.two-col{display:grid;grid-template-columns:2fr 1fr;gap:20px}
.notice.aguardando,.notice.segredo{display:flex;align-items:center;gap:12px;background:var(--warn-bg);border-color:var(--warn-line);font-size:14px}.notice.aguardando>.ic,.notice.segredo>.ic{color:var(--warn)}.notice.aguardando span{flex:1}.notice.aguardando button{flex-shrink:0}.notice.segredo{align-items:flex-start;margin:6px 0 4px;font-size:13px}
/* Documentos */
.upload{border:1.5px dashed var(--accent-line);border-radius:14px;background:var(--accent-soft);padding:24px;transition:border-color var(--d2) ease,background-color var(--d2) ease}.upload:focus-within{border-color:var(--brand)}.upload input,.upload select{background:var(--surface)}
#upload-progress{display:block;margin-top:14px}#upload-progress:empty{display:none}.up-nome{display:flex;justify-content:space-between;gap:10px;font-size:13px;margin-bottom:6px}.up-nome b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.doc-item{padding:18px 0;border-bottom:1px solid var(--line);animation:sobe var(--d3) var(--ease) both}.doc-item:last-child{border-bottom:0}
.doc-title{display:flex;gap:14px;align-items:center}.doc-info{flex:1;min-width:0}.doc-item b{word-break:break-word}.doc-item p{font-size:12px;margin:5px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px}
.doc-ic{width:40px;height:40px;border-radius:12px;background:var(--muted-bg);border:1px solid var(--line);color:var(--ink-2);display:grid;place-items:center;flex-shrink:0}
.doc-item.auto{margin:0 -14px;padding:18px 14px;border-radius:14px;background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}
.auto-aviso{display:flex;align-items:center;gap:8px;font-size:13px!important;font-weight:600;color:var(--ink);margin:10px 0 0 54px!important}.auto-aviso .ic{width:16px;height:16px;color:var(--chart-1)}
.reading,.lendo{background:var(--field);border:1px solid var(--line);border-radius:14px;padding:18px;margin-top:14px;animation:sobe var(--d3) var(--ease) both}.reading table{white-space:normal}.reading input{min-width:95px}.reading input[type=checkbox]{min-width:0}.reading td:first-child{min-width:170px}.reading td small{display:block;margin-top:3px}
.lendo p{display:flex;gap:10px;align-items:center;font-weight:600;margin:14px 0 4px}.lendo small{font-size:12px}.lendo-passo{animation:aparece var(--d2) ease}
tr.confira td{background:var(--warn-bg)}tr.confira td:first-child{box-shadow:inset 3px 0 0 var(--warn-mark)}.no-doc{font-style:italic}.aviso-confira{background:var(--warn-bg);border-color:var(--warn-line)}
.hist-leitura{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.hist-leitura h3{font-size:17px}
.hist-cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin:14px 0}
.hist-col{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--surface)}.hist-col .check span{display:grid}.hist-col .check small{font-weight:500}.hist-col .fields{gap:0 12px;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.hist-col details{margin:0}
.hist-contas{list-style:none;padding:0;margin:8px 0 0;font-size:12px}.hist-contas li{display:flex;justify-content:space-between;gap:10px;padding:4px 0;border-bottom:1px solid var(--line)}.hist-contas b{font-variant-numeric:tabular-nums;white-space:nowrap}
/* Extratos e títulos */
.extrato-barra{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap}.extrato-barra .seg{margin:0}.extrato-barra .seg button{flex-direction:row;white-space:nowrap;gap:4px;padding:8px 12px}
.filtro{margin:0;min-width:200px}
.sugestao-aviso{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:var(--warn-bg);border-color:var(--warn-line);margin:16px 0 0}
tr.sugerido td{background:var(--warn-bg)}tr.sugerido td:first-child{box-shadow:inset 3px 0 0 var(--warn-mark)}
.row-acts{display:flex;gap:6px;flex-wrap:nowrap}
.mov-tab td input:not([type=date]):not([data-money]){min-width:190px}.mov-tab td:nth-child(2) input{min-width:240px}.mov-tab td input[data-money]{min-width:120px}
.tit-tab td input{min-width:130px}.tit-tab td input[type=date]{min-width:150px}
.cnt{font-size:11px;font-weight:800;opacity:.65;margin-left:2px}
.paginacao{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 12px;font-size:13px;color:var(--muted);font-weight:600}.paginacao span{text-align:center}
/* Primeiros passos */
.entrada{background:linear-gradient(180deg,var(--accent-soft),var(--surface) 70%);border-color:var(--tint-line)}
.entrada-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:18px}.entrada-head .muted{margin:0;max-width:560px}
.entrada-passos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.entrada-passos li{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:var(--surface);transition:border-color var(--d2) ease,box-shadow var(--d2) ease}
.entrada-passos li p{font-size:13px;color:var(--muted);margin:4px 0 10px}.entrada-passos li b{font-size:14px}
.entrada-passos .n{width:28px;height:28px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;font-size:13px;font-weight:800;background:var(--bg-2);color:var(--muted)}.entrada-passos .n svg{width:16px;height:16px}
.entrada-passos li.atual{border-color:var(--brand);box-shadow:0 0 0 3px var(--ring)}.entrada-passos li.atual .n{background:var(--accent);color:var(--on-accent)}
.entrada-passos li.ok .n{background:var(--hero-bg);color:var(--hero-ink)}.entrada-passos li.ok{background:var(--field)}.entrada-passos li.ok p{margin-bottom:0}
/* Histórico */
.hist-filtros{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:22px}.hist-filtros label{margin:0;width:190px}.hist-filtros button{margin-left:auto}
.hist-conta{margin:0 0 12px;font-size:13px;color:var(--muted);font-weight:600}
/* Projeção */
.prem-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:20px;margin-bottom:20px}.prem-grid>.card{margin-bottom:0}
.origem{background:var(--tint);border-color:var(--tint-line)}.origem h3{font-size:15px;margin-bottom:12px}.origem ul{list-style:none;padding:0;margin:0 0 12px}.origem li{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:10px 0;border-bottom:1px solid var(--tint-line);font-size:13px}.origem li b{font-variant-numeric:tabular-nums}.origem li small{grid-column:1/-1;font-size:12px}.origem .muted{font-size:12px;margin:0}
.seg{display:flex;gap:4px;background:var(--bg-2);border-radius:14px;padding:4px;margin-bottom:20px}
.seg button{flex:1;flex-direction:column;align-items:flex-start;gap:0;background:transparent;border:0;color:var(--ink);border-radius:11px;padding:9px 14px;min-height:44px;text-align:left;font-weight:700}
.seg button small{font-size:12px;font-weight:500}
@media(hover:hover) and (pointer:fine){.seg button:hover:not(:disabled){background:color-mix(in srgb,var(--surface) 55%,transparent);border:0}}
.seg button[aria-pressed=true]{background:var(--surface);box-shadow:0 1px 3px #12362d24,0 0 0 1px var(--line)}
.seg.compact{margin:6px 0 0}.seg.compact button{align-items:center;padding:8px 6px;font-size:13px}
.hz{margin-bottom:16px}.hz-label{display:block;font-size:13px;font-weight:600;color:var(--ink-2)}
.evento{align-items:end;border-bottom:1px solid var(--line);margin-bottom:14px}.evento button{margin-bottom:16px}
/* Apresentação */
.modelos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:22px}
.modelo-card{flex-direction:column;align-items:flex-start;justify-content:flex-start;text-align:left;gap:6px;background:var(--surface);color:var(--ink);border:1.5px solid var(--line);border-radius:16px;padding:18px;font-weight:500;position:relative}
.modelo-card b{font-size:16px}.modelo-card span:not(.modelo-ic){font-size:13px;color:var(--muted);line-height:1.45}.modelo-card small{margin-top:auto;padding-top:6px;font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase}
.modelo-ic{width:38px;height:38px;border-radius:11px;background:var(--bg-2);color:var(--ink);display:grid;place-items:center;margin-bottom:6px;transition:background-color var(--d2) ease,color var(--d2) ease}
@media(hover:hover) and (pointer:fine){.modelo-card:hover:not(:disabled){background:var(--surface);border-color:var(--line-hover)}}
.modelo-card[aria-pressed=true]{border-color:var(--brand);background:var(--accent-soft);box-shadow:0 0 0 3px var(--ring)}
.modelo-card[aria-pressed=true] .modelo-ic{background:var(--hero-bg);color:var(--hero-ink)}
.modelo-card[aria-pressed=true]:after{content:'';position:absolute;top:16px;right:16px;width:20px;height:20px;border-radius:50%;background:#c8f265 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2312362d' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center/13px no-repeat;box-shadow:0 0 0 2px var(--surface);animation:pop var(--d2) var(--ease)}
.secoes-titulo{font-size:13px;font-weight:600;color:var(--ink-2);margin-bottom:8px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.chip{display:inline-flex;align-items:center;margin:0;padding:9px 14px 9px 11px;min-height:40px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface);font-size:13px;font-weight:600;cursor:pointer;transition:background-color var(--d2) ease,border-color var(--d2) ease,transform var(--d1) var(--ease)}.chip:active{transform:scale(.97)}
.chip input{margin:0 7px 0 0}.chip:has(input:checked){background:var(--accent-soft);border-color:var(--accent-line)}
.previa{border-color:var(--tint-line)}
.previa.vazia{display:flex;gap:20px;align-items:flex-start;background:radial-gradient(90% 120% at 0% 0%,var(--accent-soft) 0%,var(--surface) 60%)}.previa.vazia p{color:var(--muted);max-width:640px}
.previa-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.previa-head small{display:block}
.selo{display:inline-flex;align-items:center;gap:7px;background:var(--warn-bg);border:1px solid var(--warn-line);color:var(--warn);border-radius:var(--r-pill);padding:5px 12px 5px 9px;font-size:12px;font-weight:700;margin:4px 0 8px}.selo .ic{width:15px;height:15px}
.previa-corpo{display:grid;gap:16px}
.previa-resumo p{font-family:var(--serif);font-size:19px;line-height:1.5;color:var(--ink);margin:0;white-space:pre-wrap}
.previa-caixa{background:var(--field);border:1px solid var(--line);border-radius:14px;padding:16px 18px}.previa-caixa p{margin:0;white-space:pre-wrap}
.previa-listas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.pl{border:1px solid var(--line);border-radius:14px;padding:16px 18px;background:var(--surface)}
.pl ul{margin:0;padding:0;list-style:none}.pl li{position:relative;padding:6px 0 6px 18px;font-size:14px;line-height:1.45;border-top:1px solid var(--line)}.pl li:first-child{border-top:0}
.pl li:before{content:'';position:absolute;left:0;top:13px;width:8px;height:8px;border-radius:50%;background:var(--k,var(--chart-1))}
.pl-atencao{--k:#d39a24}.pl-sugestoes{--k:#6f8d54}.pl-riscos{--k:#bc654c}
.previa-load{display:flex;gap:18px;align-items:flex-start;padding:6px 0}.previa-load>div{flex:1}.previa-load p{margin:4px 0 16px}
.conferir-numeros{border:1px solid var(--warn-line);background:var(--warn-bg);border-radius:14px;padding:16px 18px;margin-bottom:18px}.conferir-numeros h3{display:flex;align-items:center;gap:8px;color:var(--warn);margin-bottom:6px}.conferir-numeros h3 .ic{width:18px;height:18px}.conferir-numeros p{font-size:13px;margin-bottom:8px}.conferir-numeros ul{margin:0 0 8px;padding-left:18px;font-size:14px}.conferir-numeros li{margin:3px 0}.conferir-numeros small{font-size:12px;color:var(--warn)}
.previa-edit{display:grid;gap:4px}.previa-edit textarea{min-height:0;font-size:14px}.pe-resumo textarea{font-family:var(--serif);font-size:17px}
.previa-edit .pl{margin:0;padding:14px}.pl-t{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.9px;font-weight:800;color:var(--muted);padding-left:16px;position:relative}.pl-t:before{content:'';position:absolute;left:0;top:4px;width:8px;height:8px;border-radius:50%;background:var(--k,var(--chart-1))}
.previa-edit .previa-listas{margin:6px 0 10px}
.preview-label{margin:30px 0 12px}
/* Importação */
.imp-head{display:flex;gap:16px;align-items:flex-start}
.imp-endereco{display:flex;gap:10px;align-items:center;margin:6px 0 16px;flex-wrap:wrap}.imp-endereco code{flex:1;min-width:0;background:var(--field);border:1px solid var(--line-2);border-radius:11px;padding:11px 14px;font-size:14px;overflow-wrap:anywhere;user-select:all;color:var(--ink)}
.imp-regras{margin:0 0 16px;padding-left:18px;font-size:13px;color:var(--muted)}.imp-regras li{margin:4px 0}
.imp-sub{font-size:15px;margin:22px 0 4px}.imp-sub+.muted{font-size:13px;margin-bottom:8px}
code.inline{background:var(--inline-code);border-radius:5px;padding:1px 5px;font-size:12px}
.imp-ex-t{font-size:11px;text-transform:uppercase;letter-spacing:.8px;font-weight:800;color:var(--muted);margin:4px 0 6px}
.imp-ex{margin:0 0 6px;background:var(--code-bg);color:var(--code-ink);border-radius:11px;padding:12px 14px;font-size:12.5px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.imp-renovar{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.imp-rodape{font-size:12px;margin:10px 0 0}
.reference-links{display:flex;gap:15px;flex-wrap:wrap;font-size:12px}.logo-preview{max-width:180px;max-height:80px;margin-bottom:20px}
/* Planos */
.pill.lancamento{vertical-align:2px;margin-left:4px;font-size:10px;letter-spacing:.6px;text-transform:uppercase;background:transparent;color:var(--muted)}
.planos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:20px}.planos>.card{margin:0}
.planos-topo{display:flex;justify-content:center;margin:4px 0 20px}.cobranca{margin:0;min-width:300px}.cobranca button{flex-direction:row;gap:6px}
.planos.tres{grid-template-columns:repeat(3,minmax(0,1fr))}.card.plano{display:flex;flex-direction:column;position:relative}.plano .plano-itens{flex:1;margin-bottom:20px}.plano .quero{width:100%}
.plano-itens{list-style:none;padding:0;margin:0}.plano-itens li{position:relative;padding:7px 0 7px 26px;font-size:14px}.plano-itens li:before{content:'';position:absolute;left:0;top:10px;width:16px;height:16px;border-radius:50%;background:var(--accent-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2312362d' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center/10px no-repeat;box-shadow:inset 0 0 0 1px var(--accent-line)}
.preco,.plano .preco,.extra-preco .preco{display:flex;align-items:baseline;gap:6px;margin:16px 0 2px}.preco b{font-family:var(--serif);font-weight:500;font-size:38px;letter-spacing:-1px;font-variant-numeric:tabular-nums}.preco span{font-size:13px;color:var(--muted);font-weight:600}
.preco-nota{font-size:12px;color:var(--muted);margin:0 0 16px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.plano.destaque{background:var(--hero-bg);color:#f4f0e6;border-color:var(--hero-bg)}.plano.destaque h2{color:#f4f0e6}.plano.destaque .eyebrow,.plano.destaque .muted,.plano.destaque .preco span,.plano.destaque .preco-nota{color:var(--hero-sub)}.plano.destaque .preco b{color:var(--hero-ink)}.plano.destaque .preco-nota{border-color:var(--hero-line)}.plano.destaque .plano-itens li:before{background-color:#c8f265;box-shadow:none}
.plano.destaque .quero{background:#c8f265;border-color:#c8f265;color:#12362d}
.pill.recomendado{position:absolute;top:20px;right:20px;background:#c8f265;border-color:#c8f265;color:#12362d}
.planos.extras .plano-extra{display:flex;justify-content:space-between;gap:24px;align-items:center}.plano-extra h2{font-size:22px}.plano-extra .muted{margin:0}.extra-preco{flex-shrink:0;min-width:210px}.extra-preco .preco{margin-top:0}.extra-preco .preco-nota{border:0;padding:0;margin-bottom:12px}.extra-preco .preco b{font-size:30px}.extra-preco .quero{width:100%}
details{margin:15px 0}summary{cursor:pointer;font-weight:700;border-radius:8px;padding:2px 0;list-style-position:inside}
.agenda{margin:0}.agenda summary{font-family:var(--serif);font-weight:500;font-size:20px}
.danger-zone{margin-top:35px}.danger-zone summary{color:var(--bad)}

/* Detalhes que abrem e fecham suave (Chrome 131+; nos demais abre direto) */
@supports selector(::details-content){:root{interpolate-size:allow-keywords}details::details-content{block-size:0;overflow:clip;transition:block-size var(--d3) var(--ease),content-visibility var(--d3) allow-discrete}details[open]::details-content{block-size:auto}}
details:not(.prefs)>summary{display:flex;align-items:center;gap:8px;list-style:none}details:not(.prefs)>summary::-webkit-details-marker{display:none}
details:not(.prefs)>summary:before{content:'';width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform var(--d2) var(--ease);flex-shrink:0;margin-right:2px}
details[open]:not(.prefs)>summary:before{transform:rotate(45deg)}

/* ---------- Relatório (sempre claro) ---------- */
.report{background:#fff;padding:36px;color:#24382f;box-shadow:var(--shadow-1);border:1px solid #e2dfd2;border-top:5px solid var(--report-color,#12362d);border-radius:10px}
.report h2,.report h3{color:#1d2f28}.report .report-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:25px;gap:20px}.report-head img{max-width:140px;max-height:70px;object-fit:contain}.report-head h2{font-size:34px}
.report section{margin:25px 0}.report section h3{font-family:var(--serif);font-size:24px;font-weight:500;color:var(--report-color,#12362d)}.report .metrics{grid-template-columns:repeat(3,1fr)}.report .metric{box-shadow:none}.report .metric strong{font-size:22px}.report .metric.primary strong{font-size:26px}
.report footer{border-top:1px solid var(--line);padding-top:15px;font-size:11px;display:flex;justify-content:space-between;gap:20px}.report footer img{width:170px}.report p,.report td{overflow-wrap:anywhere}.report .prose{white-space:pre-wrap}.report.slides section{border-bottom:1px solid var(--line);padding:20px 0 30px}.report .previa-resumo p{font-size:16px}
.report.pagina{font-size:12px}.report.pagina section{margin:16px 0}.report.pagina .metric{padding:10px}.report.pagina h3{font-size:20px}.report.pagina table{font-size:11px}.report.pagina th,.report.pagina td{padding:5px}
.compacto .report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px}.compacto .report-grid section{margin:0;padding:10px 0;border-top:1px solid #d9dfd6;break-inside:avoid}.compacto .report-grid section h3{font-size:17px;margin:0 0 6px}.compacto .report-grid section div{display:flex;justify-content:space-between;gap:8px;padding:2px 0}.compacto .report-grid section p{margin:5px 0;overflow-wrap:anywhere}.compacto .report-grid section b{text-align:right}.compacto footer{font-size:11px}.compacto .report-head h2{overflow-wrap:anywhere}.compacto .report-head img{max-height:60px;max-width:110px;object-fit:contain}
.print-only{display:none}

/* Entrar com Google */
.google-bloco{margin:22px 0 4px}.google-bloco[hidden]{display:none}.google-botao{display:flex;justify-content:center;min-height:44px;width:100%;max-width:100%;overflow:hidden;color-scheme:normal}.google-botao iframe{max-width:100%}
.ou{display:flex;align-items:center;gap:12px;margin:18px 0 0;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.ou:before,.ou:after{content:'';flex:1;height:1px;background:var(--line)}
.google-bloco+.auth-tabs{margin-top:18px}
.excluir-sub{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin:6px 0 8px}.danger-zone .google-bloco{margin:0 0 14px;max-width:400px}.danger-zone .google-botao{justify-content:flex-start}
/* Carteira, acesso compartilhado e home do empresário */
.papel-txt{text-transform:none;letter-spacing:0;font-weight:700;color:var(--ink-2)}
.pill.papel{background:var(--bg-2);border-color:var(--line-2);color:var(--ink-2)}
.cart-barra{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin:4px 0 18px}.cart-barra .seg{margin:0}.cart-barra .seg button{flex-direction:row;white-space:nowrap;gap:4px;padding:8px 12px}
.busca{margin:0;min-width:240px}.busca input{margin:0;padding-left:38px;background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2378887f' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='m16 16 4 4'/%3E%3C/svg%3E") no-repeat 12px center/17px}
.cart-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.cart-card{position:relative;display:flex;flex-direction:column;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;box-shadow:var(--shadow-1);animation:sobe var(--d3) var(--ease) both;animation-delay:calc(min(var(--i,0),8) * 35ms);transition:border-color var(--d2) ease,box-shadow var(--d2) ease,transform var(--d2) var(--ease)}
.cart-card.urgente{border-color:var(--bad-line);box-shadow:inset 3px 0 0 var(--bad),var(--shadow-1)}
@media(hover:hover) and (pointer:fine){.cart-card:hover{border-color:var(--line-hover);box-shadow:var(--shadow-2);transform:translateY(-2px)}}
.cart-card header{display:flex;gap:12px;align-items:flex-start}.cart-card .avatar{width:40px;height:40px;font-size:19px}.cart-tit{flex:1;min-width:0}.cart-tit h3{margin:0 0 2px;font-size:16px;overflow-wrap:anywhere}.cart-tit small{font-size:12px}
.cart-status{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.cart-status small{font-size:12px}
.cart-nums{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;margin:0;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.cart-nums div{min-width:0}.cart-nums dt{font-size:10px;text-transform:uppercase;letter-spacing:.5px;font-weight:800;color:var(--muted)}.cart-nums dd{margin:3px 0 0;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.cart-alertas{list-style:none;margin:0;padding:0;display:grid;gap:6px}.cart-alertas li{display:flex;gap:8px;align-items:center;font-size:13px;font-weight:600;padding:6px 10px;border-radius:9px;border:1px solid var(--line)}.cart-alertas .ic{width:16px;height:16px;flex-shrink:0}
.cart-alertas .late{background:var(--bad-bg);border-color:var(--bad-line);color:var(--bad)}.cart-alertas .warn{background:var(--warn-bg);border-color:var(--warn-line);color:var(--warn)}.cart-alertas .info{background:var(--info-bg);border-color:var(--info-line)}
.cart-ok{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--ok);font-weight:600;margin:0}.cart-ok .ic{width:16px;height:16px}
.cart-abrir{margin-top:auto;align-self:flex-start;background:none;border:0;color:var(--link);padding:6px 0;min-height:40px;font-weight:800}.cart-abrir:after{content:'';position:absolute;inset:0;border-radius:var(--r-lg)}.cart-abrir .ic{transition:transform var(--d2) var(--ease)}
@media(hover:hover) and (pointer:fine){.cart-abrir:hover:not(:disabled){background:none;border:0}.cart-card:hover .cart-abrir .ic{transform:translateX(3px)}}
.cart-abrir:focus-visible{outline:none}.cart-abrir:focus-visible:after{outline:3px solid var(--focus);outline-offset:2px}
.membros{list-style:none;margin:6px 0 16px;padding:0}.membros li{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.membros li:last-child{border-bottom:0}
.avatar.mini{width:34px;height:34px;border-radius:50%;font-size:15px;background:var(--hero-bg);color:var(--hero-ink)}.membro-info{flex:1;min-width:160px}.membro-info b{font-size:14px}.membro-info small{display:block;font-size:12px}
.convidar{margin:6px 0 4px}.convite-link{margin-top:14px;padding:16px;border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:14px;animation:sobe var(--d3) var(--ease) both}.convite-link p{margin:0 0 6px}.convite-link small{display:block}.convite-link .imp-endereco{margin:8px 0 10px}
.convites{list-style:none;padding:0;margin:0}.convites li{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid var(--line)}.convites li small{flex:1}
.convite-banner{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;margin:6px 0 4px;border-radius:12px;border:1px solid var(--accent-line);background:var(--accent-soft);font-size:14px}.convite-banner .ic{color:var(--chart-1);margin-top:1px}#convite-banner .notice{display:flex;gap:10px;align-items:center;margin:6px 0 0}
.caixa-final{font-family:var(--serif);font-size:clamp(30px,3vw,40px);margin:4px 0 8px;font-variant-numeric:tabular-nums;color:var(--ink)}.caixa-final.negative{color:var(--bad)}
.caixa-frase{display:flex;gap:8px;align-items:flex-start;font-size:14px;font-weight:600;margin:0}.caixa-frase .ic{width:18px;height:18px;flex-shrink:0;color:var(--chart-1)}
.tarefas{list-style:none;margin:0;padding:0}.tarefas li{display:flex;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.tarefas li:last-child{border-bottom:0}.tarefa-ic{width:34px;height:34px;border-radius:10px;background:var(--bg-2);display:grid;place-items:center;flex-shrink:0;color:var(--ink-2)}.tarefa-ic .ic{width:18px;height:18px}.tarefa-txt{flex:1;font-size:14px;font-weight:600}.tarefas li.atrasada .tarefa-ic{background:var(--bad-bg);color:var(--bad)}
.previa-trecho{font-family:var(--serif);font-size:16px;line-height:1.5}.ver-tudo{text-align:center;margin:24px 0 0}
@media(max-width:900px){.cart-barra{display:grid;grid-template-columns:minmax(0,1fr)}.cart-barra .seg{flex-wrap:wrap}.busca{min-width:0}.cart-grid{grid-template-columns:1fr}.membros li>.button,.membros li>button{margin-left:46px}}
/* ---------- Avisos (toast) e diálogo ---------- */
#aviso{pointer-events:none;position:fixed;bottom:100px;left:50%;transform:translateX(-50%);max-width:min(600px,calc(100vw - 32px));border-radius:14px;background:#12362d;color:#f4f0e6;padding:13px 18px;z-index:var(--z-toast);box-shadow:0 12px 35px #0004;display:none;align-items:center;gap:10px;font-size:14px;font-weight:600}
#aviso .ic{width:18px;height:18px;color:#c8f265}#aviso.visible{display:flex;animation:toast var(--d3) var(--ease)}#aviso.saindo{animation:toastSai var(--d2) ease forwards}#aviso.error{background:#8c2c20}#aviso.error .ic{color:#ffd7cc}
@keyframes toast{from{opacity:0;transform:translate(-50%,10px) scale(.96)}}@keyframes toastSai{to{opacity:0;transform:translate(-50%,6px) scale(.98)}}
dialog{border:1px solid var(--line);border-radius:22px;padding:30px;max-width:560px;width:calc(100vw - 32px);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-pop)}
dialog[open]{animation:pop var(--d3) var(--ease)}dialog.fechando{animation:somePop var(--d2) ease forwards}dialog::backdrop{background:var(--overlay);animation:aparece var(--d3) ease}dialog.fechando::backdrop{animation:some var(--d2) ease forwards}
dialog code{display:block;background:var(--accent-soft);border:1px solid var(--accent-line);color:var(--ink);padding:15px;word-break:break-all;margin-bottom:20px;border-radius:10px}dialog .empty-ic{margin-bottom:14px}#fechar-modal{margin-top:8px}
@keyframes pop{from{opacity:0;transform:scale(.96) translateY(6px)}}@keyframes somePop{to{opacity:0;transform:scale(.97) translateY(4px)}}

/* ---------- Motion: entrada de tela ---------- */
@keyframes sobe{from{opacity:0;transform:translateY(8px)}}@keyframes aparece{from{opacity:0}}@keyframes some{to{opacity:0}}
.main.entra>*{animation:sobe var(--d3) var(--ease) both}
.main.entra>:nth-child(2){animation-delay:40ms}.main.entra>:nth-child(3){animation-delay:80ms}.main.entra>:nth-child(4){animation-delay:120ms}.main.entra>:nth-child(5){animation-delay:160ms}.main.entra>:nth-child(n+6){animation-delay:200ms}
.main.entra .metrics>.metric{animation:sobe var(--d3) var(--ease) both}.main.entra .metrics>.metric:nth-child(2){animation-delay:60ms}.main.entra .metrics>.metric:nth-child(3){animation-delay:100ms}.main.entra .metrics>.metric:nth-child(4){animation-delay:140ms}
.main.entra .savebar{animation-delay:0ms}

/* ---------- Responsivo ---------- */
@media(min-width:1600px){.main{max-width:1360px}}
@media(max-width:1180px){.layout{grid-template-columns:220px minmax(0,1fr);background:linear-gradient(90deg,var(--nav-bg) 220px,transparent 0)}.main{padding:28px 28px 36px}.topbar{padding:12px 28px;gap:16px}.topbar .account{display:none}.metrics,.metrics.hero,.sk-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:1fr}.two-col{grid-template-columns:1fr}.prem-grid{grid-template-columns:1fr}.previa-listas{grid-template-columns:1fr}.entrada-passos{grid-template-columns:1fr}.hist-filtros button{margin-left:0}.planos.tres{grid-template-columns:1fr}.planos.extras{grid-template-columns:1fr}.modelos{grid-template-columns:1fr}}
/* Celular e tablet em pé: navegação inferior */
@media(max-width:900px){
 .auth{display:block}.auth-story{padding:28px;gap:28px}.auth-story h1{font-size:38px}.auth-story p{font-size:14px}.auth-story .signature{display:none}.auth-form{padding:28px 22px 40px}
 .layout{display:block;background:none}
 .sidebar{position:static;height:auto;padding:0;background:none;overflow:visible;display:block}
 .sidebar>.brand,.sidebar-bottom{display:none}
 .appnav{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-nav);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:var(--sheet-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--line);box-shadow:0 -8px 24px -18px #12362d55}
 .nav-group{display:contents}.nav-group p,.appnav button:not(.prim):not(.nav-mais){display:none}
 .appnav button{flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:54px;padding:4px 2px;font-size:11px;font-weight:700;color:var(--muted);border-radius:12px;text-align:center}
 .appnav button[aria-current=page]:before{display:none}
 .appnav button .ic{width:22px;height:22px;opacity:1;box-sizing:content-box;border-radius:20px;padding:3px 14px;transition:background-color var(--d2) ease}
 .appnav .full,.nav-mais .m-fechar{display:none}.appnav .short,.nav-mais{display:flex}.appnav .short{display:block}
 .appnav button[aria-current=page],.nav-mais.ativo{background:transparent;color:var(--ink)}
 .appnav button[aria-current=page] .ic,.nav-mais.ativo .ic{background:var(--accent);color:var(--on-accent)}
 .menu-aberto .sidebar:before{content:'';position:fixed;inset:0;background:var(--overlay);z-index:var(--z-overlay);animation:aparece var(--d2) ease}
 .menu-aberto .appnav{display:block;max-height:80vh;max-height:80dvh;overflow:auto;border-radius:22px 22px 0 0;padding:10px 16px calc(14px + env(safe-area-inset-bottom));animation:folha var(--d3) var(--ease);box-shadow:var(--shadow-pop)}
 .menu-aberto .appnav:before{content:'';display:block;width:40px;height:4px;border-radius:4px;background:var(--line-2);margin:0 auto 14px}
 .menu-fechando .appnav{animation:folhaSai var(--d2) ease forwards}.menu-fechando .sidebar:before{animation:some var(--d2) ease forwards}
 .menu-aberto .nav-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:16px}
 .menu-aberto .nav-group p{display:block;grid-column:1/-1;margin:0;padding:0 4px;color:var(--muted)}
 .menu-aberto .appnav button,.menu-aberto .appnav button:not(.prim):not(.nav-mais){display:flex;background:var(--field);border:1px solid var(--line);min-height:78px;font-size:12px;color:var(--ink);padding:10px 6px}
 .menu-aberto .appnav button .ic{padding:0;background:none;width:22px;height:22px;color:inherit}
 .menu-aberto .appnav button[aria-current=page]{border-color:var(--brand);background:var(--accent-soft)}
 .menu-aberto .appnav .full{display:block}.menu-aberto .appnav .short{display:none}
 .menu-aberto .nav-mais{width:100%;flex-direction:row;min-height:48px!important;background:var(--brand)!important;color:var(--on-brand)!important;border-color:var(--brand)!important}
 .menu-aberto .nav-mais .ic{background:none!important;color:inherit!important}
 .menu-aberto .nav-mais .m-abrir{display:none}.menu-aberto .nav-mais .m-fechar{display:block}
 .topbar{position:static;flex-wrap:wrap;padding:12px 16px;gap:10px;background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none}
 .ctx{flex:1 1 0;gap:10px}.ctx-sel{flex:1}.ctx-sel select{font-size:16px;max-width:100%}
 .avatar{width:38px;height:38px;border-radius:12px;font-size:19px}
 .small,.icon-btn,.chip,.seg button,.periodo-ctl .icon-btn{min-height:44px}.icon-btn{min-width:44px}.ctx-sel select{min-height:40px}
 .hide-sm{display:none}.topbar .small{padding:7px 10px}.topbar .sair{order:3}.topbar .prefs{order:2}
 .periodo{flex:1 1 100%;order:4;flex-direction:row;align-items:center;justify-content:space-between;gap:8px}.periodo-ctl{flex:1;justify-content:space-between}.periodo-ctl input{width:auto;flex:1}
 .prefs-pop{position:fixed;left:12px;right:12px;top:auto;bottom:calc(var(--nav-h) + 20px + env(safe-area-inset-bottom));width:auto;transform-origin:bottom center}
 .auth .prefs-pop{bottom:20px}
 .main{padding:22px 16px calc(var(--nav-h) + 96px)}
 .page-head{display:block;margin-bottom:20px}.page-head .actions{margin-top:15px}h1{font-size:30px}
 .savebar{bottom:calc(var(--nav-h) + 12px + env(safe-area-inset-bottom));padding:8px 8px 8px 16px;border-radius:14px}.savebar-status{font-size:12px}.savebar-status small{display:none}.savebar button{padding:9px 14px;min-height:44px;font-size:14px}
 .grid,.fields,.fields.three,.passos,.sk-grid{grid-template-columns:1fr}.fields .full{grid-column:auto}
 .card{padding:20px;border-radius:14px}.metrics,.metrics.hero{gap:10px}.metrics.hero .metric.primary{grid-column:1/-1}.metric{padding:14px 15px}.metric strong{font-size:clamp(15px,4.4vw,19px);white-space:nowrap;letter-spacing:-.4px}.metric.primary strong{font-size:30px}.metrics.hero .metric:nth-child(4){grid-column:1/-1}
 .seg{flex-direction:column}.seg.compact,.auth-tabs.seg{flex-direction:row}.auth-tabs.seg button{align-items:center}
 .previa.vazia{display:block}.previa.vazia .empty-ic{margin-bottom:14px}.previa-head{display:block}.previa-head button{margin-top:10px}
 .report{padding:20px 14px}.report .metrics{grid-template-columns:1fr}.report-head h2{font-size:28px}.report footer{flex-wrap:wrap}.report .previa-listas{grid-template-columns:1fr}
 .doc-title{flex-wrap:wrap}.doc-title .actions{width:100%;margin-left:0}.auto-aviso{margin-left:0!important}
 .empty{padding:36px 18px}
 #aviso{bottom:calc(var(--nav-h) + 84px)}
 .modelo-card{display:grid;grid-template-columns:38px 1fr;gap:2px 12px;padding:14px}.modelo-card .modelo-ic{grid-row:span 3;margin:0}.modelo-card small{padding-top:4px}.modelo-card[aria-pressed=true]:after{top:14px;right:14px}
 .entrada-head{display:block}.progresso{text-align:left;margin-top:12px}
 .hist-filtros label{width:calc(50% - 7px)}.hist-filtros button{width:100%}
 .extrato-barra{display:grid;grid-template-columns:minmax(0,1fr)}.filtro{min-width:0}.extrato-barra .seg.compact{flex-wrap:wrap}
 .hist-col .fields{grid-template-columns:1fr}.hist-cols{grid-template-columns:1fr}
 .planos{grid-template-columns:1fr}.planos.extras .plano-extra{display:block}.extra-preco{margin-top:16px;min-width:0}.cobranca{min-width:0;width:100%}
 .imp-head{display:block}.imp-head .empty-ic{margin-bottom:12px}.imp-endereco button{width:100%}
 .aging-row{grid-template-columns:1fr 1fr;gap:6px 12px}.aging-row>span:first-child{grid-column:1/-1}.aging-th>span:first-child{display:none}
 .notice.aguardando{flex-wrap:wrap}.notice.aguardando button{width:100%}.doc-item.auto{margin:0 -10px;padding:16px 10px}.paginacao{flex-wrap:wrap}.paginacao span{order:-1;flex-basis:100%}.paginacao button{flex:1}
 /* Tabelas de leitura: rolagem lateral com a primeira coluna fixa */
 table:not(.cartoes) tbody td:first-child{position:sticky;left:0;z-index:1;background:var(--surface);box-shadow:1px 0 0 var(--line)}table:not(.cartoes) th:first-child{left:0;z-index:2;box-shadow:1px 0 0 var(--line)}
 /* Tabelas editáveis viram cartões */
 .table-wrap:has(table.cartoes){border:0;background:none;overflow:visible}
 table.cartoes,table.cartoes tbody{display:block;white-space:normal}table.cartoes thead{display:none}
 table.cartoes tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;padding:14px;margin-bottom:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-1)}
 table.cartoes td{display:block;padding:0;border:0;min-width:0}table.cartoes td:before{content:attr(data-label);display:block;font-size:10px;text-transform:uppercase;letter-spacing:.6px;font-weight:800;color:var(--muted);margin-bottom:4px}
 table.cartoes td input,table.cartoes td select{min-width:0!important;width:100%}table.cartoes td.money{text-align:left}
 table.cartoes td:last-child{grid-column:1/-1}table.cartoes td:last-child:before{display:none}
 table.cartoes .row-acts{justify-content:flex-end}
 .mov-tab td:nth-child(2),.tit-tab td:nth-child(2){grid-column:1/-1}
 .hist-tab tr{grid-template-columns:repeat(3,minmax(0,1fr))}.hist-tab td:first-child{grid-column:1/-1}.hist-tab td:last-child:before{display:block}.hist-tab td:last-child{grid-column:auto}
 tr.sugerido{border-color:var(--warn-line)!important;box-shadow:inset 3px 0 0 var(--warn-mark)!important}tr.sugerido td:first-child{box-shadow:none}
 dialog{max-width:none;width:100%;margin:auto 0 0;border-radius:22px 22px 0 0;padding:26px 20px calc(20px + env(safe-area-inset-bottom));max-height:90dvh;overflow:auto}
 dialog[open]{animation:folha var(--d3) var(--ease)}dialog.fechando{animation:folhaSai var(--d2) ease forwards}
}
@keyframes folha{from{transform:translateY(100%)}}@keyframes folhaSai{to{transform:translateY(100%)}}
@media(max-width:600px){.compacto .report-grid{grid-template-columns:1fr}.sk-metrics{grid-template-columns:1fr 1fr}.prefs-pop .seg button{font-size:12px}}
@media(max-width:380px){.periodo>small{display:none}.periodo-ctl input{min-width:0;padding:4px 2px}.main{padding-left:12px;padding-right:12px}.topbar{padding:10px 12px}.appnav button{font-size:10px}.metric strong{font-size:16px}.cobranca button{padding:8px 4px}}

/* ---------- Movimento reduzido ---------- */
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}.sk,.sk-barras i{animation:none!important}.barra.indeterminada i{animation:none!important;width:100%;opacity:.5}.spin{animation:gira 1.4s linear infinite!important}}

/* ---------- Impressão: sempre claro ---------- */
@media print{:root,:root[data-theme=dark]{color-scheme:light;--bg:#fff;--surface:#fff;--field:#fff;--ink:#1d2f28;--muted:#56645c;--line:#e2dfd2;--muted-bg:#f5f2e9}
 @page{size:A4;margin:12mm}body{background:white;font-size:10pt}.sidebar,.topbar,.page-head,.savebar,.no-print,#aviso,.skip,dialog{display:none!important}.layout,.workspace,.main{display:block;padding:0;margin:0;max-width:none}.report{box-shadow:none;border:0;padding:0}.report .metrics{grid-template-columns:repeat(3,1fr)}.report .metric{break-inside:avoid}.report.slides section{break-before:page;border:0}.report.slides section:first-of-type{break-before:auto}.report.pagina{font-size:9pt}.report.pagina h3{font-size:15pt}.report.pagina section{margin:12px 0}tr,.report-head{break-inside:avoid}thead{display:table-header-group}th{position:static}.table-wrap,.table-wrap.scroll{overflow:visible;max-height:none;border:0}table{white-space:normal}.report footer{margin-top:20px}a{text-decoration:none;color:inherit}.report footer img{width:140px}.print-only{display:block}.chart{height:100px}.report .previa-listas{grid-template-columns:repeat(3,1fr)}.pl{break-inside:avoid}*{-webkit-print-color-adjust:exact;print-color-adjust:exact;animation:none!important}
 .compacto .report-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4mm 8mm}.compacto .report-grid section h3{font-size:12pt}.compacto .report-grid section{padding:2mm 0}.compacto .report-head h2{font-size:20pt}.compacto footer{margin-top:5mm}}
