/* Central Ática · só as cores do tokens.css da marca (base + escalas). Poppins (títulos e números grandes),
   Inter (texto, números tabulares) e JetBrains Mono (rótulos miúdos e o endereço da tela). */
:root{
  --sand:#EAE3DA;--ink:#00071C;--petrol:#004565;--flame:#E24924;--lime:#CCF276;
  --petrol-50:#E6EEF2;--petrol-100:#C0D5DF;--petrol-200:#93B6C7;--petrol-300:#6396AE;--petrol-400:#357A97;--petrol-500:#1A6280;--petrol-600:#005573;--petrol-700:#004565;--petrol-800:#003851;--petrol-900:#00293B;
  --flame-50:#FCEBE6;--flame-100:#F8CDC0;--flame-200:#F2A893;--flame-300:#ED8266;--flame-400:#E76545;--flame-500:#E24924;--flame-600:#C53C1B;--flame-700:#A22F14;--flame-800:#7E2410;--flame-900:#5C190B;
  --lime-50:#F7FCE8;--lime-100:#ECF9C8;--lime-200:#DFF5A0;--lime-300:#D4F388;--lime-400:#CCF276;--lime-500:#B9E255;--lime-600:#9DC23B;--lime-700:#7C9A2E;--lime-800:#5C7222;--lime-900:#3D4C16;
  --sand-50:#FBF9F6;--sand-100:#F4F0EA;--sand-200:#EAE3DA;--sand-300:#DAD0C2;--sand-400:#C5B8A6;--sand-500:#AD9D88;--sand-600:#8F7F6B;--sand-700:#6E6151;--sand-800:#4D4338;--sand-900:#2C261F;
  --ink-50:#E6E7EB;--ink-100:#C2C4CC;--ink-200:#9A9DA9;--ink-300:#6E7282;--ink-400:#474C5E;--ink-500:#2B3145;--ink-600:#19203A;--ink-700:#0E1530;--ink-800:#050C24;--ink-900:#00071C;
  --f-ui:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;--f-d:'Poppins','Inter',system-ui,sans-serif;--f-m:'JetBrains Mono',ui-monospace,Consolas,monospace;
  --r-s:8px;--r-m:12px;--r-l:16px;--ease:cubic-bezier(.2,0,0,1);--side:252px;
  /* dados: categórica validada (flame, petrol-300, lime-700, sand-700), mesma nos dois temas */
  --c1:var(--flame-500);--c2:var(--petrol-300);--c3:var(--lime-700);--c4:var(--sand-700);
}
:root,[data-theme=dark]{color-scheme:dark;
  --bg:#00071C;--surface:#081127;--surface-2:#0E1B33;--line:#1C2740;--line-2:var(--ink-500);
  --tx:var(--sand);--tx-2:#A9AEBA;--tx-3:var(--ink-200);
  --side-bg:var(--petrol-900);--side-tx:var(--sand);--side-mut:var(--petrol-200);--side-line:rgba(234,227,218,.09);--side-hi:rgba(234,227,218,.07);
  --acc:var(--lime);--acc-tx:var(--ink);--acc-soft:rgba(204,242,118,.12);--link:var(--lime);--focus:var(--lime);
  --pri:var(--lime);--pri-tx:var(--ink);--pri-h:var(--lime-300);
  --alert:var(--flame-400);--alert-soft:rgba(226,73,36,.14);--good:var(--lime-400);--good-soft:rgba(204,242,118,.12);
  --d-main:var(--lime-400);--d-hi:var(--flame-400);--d-dim:var(--ink-500);--d-grid:#1C2740;--d-ax:var(--ink-200);
  --h0:var(--petrol-900);--h1:var(--petrol-800);--h2:var(--petrol-600);--h3:var(--petrol-400);--h4:var(--petrol-200);
  --shadow:0 1px 2px rgba(0,7,28,.5),0 24px 48px -24px rgba(0,7,28,.8);
}
[data-theme=light]{color-scheme:light;
  --bg:var(--sand);--surface:var(--sand-50);--surface-2:var(--sand-100);--line:var(--sand-300);--line-2:var(--sand-400);
  --tx:var(--ink);--tx-2:var(--sand-800);--tx-3:var(--sand-700);
  --side-bg:var(--petrol-800);--side-tx:var(--sand);--side-mut:var(--petrol-100);--side-line:rgba(234,227,218,.12);--side-hi:rgba(234,227,218,.09);
  --acc:var(--petrol);--acc-tx:var(--sand);--acc-soft:rgba(0,69,101,.08);--link:var(--petrol);--focus:var(--flame);
  --pri:var(--petrol);--pri-tx:var(--sand);--pri-h:var(--petrol-800);
  --alert:var(--flame-700);--alert-soft:rgba(226,73,36,.10);--good:var(--lime-800);--good-soft:rgba(124,154,46,.14);
  --d-main:var(--petrol-700);--d-hi:var(--flame-500);--d-dim:var(--sand-300);--d-grid:var(--sand-300);--d-ax:var(--sand-700);
  --h0:var(--sand-100);--h1:var(--petrol-50);--h2:var(--petrol-200);--h3:var(--petrol-400);--h4:var(--petrol-700);
  --shadow:0 1px 2px rgba(0,7,28,.06),0 18px 40px -26px rgba(0,7,28,.28);
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;overflow-x:clip}
body{margin:0;background:var(--bg);color:var(--tx);font:400 14px/1.5 var(--f-ui);-webkit-font-smoothing:antialiased;overflow-x:clip;font-feature-settings:'cv11','ss01'}
body.noscroll{overflow:hidden}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
a{color:var(--link)}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.num,.tnum{font-variant-numeric:tabular-nums}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.muted{color:var(--tx-2)}
.i{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.i.fill{fill:currentColor;stroke:none}
.eyebrow{margin:0;font:500 10.5px/1.3 var(--f-m);letter-spacing:.08em;text-transform:uppercase;color:var(--tx-3)}
.mk{display:block;background-color:currentColor;-webkit-mask:var(--mk) center/contain no-repeat;mask:var(--mk) center/contain no-repeat}
.mk-word{aspect-ratio:2440/687;--mk:url(../img/wordmark.svg)}
.mk-sym{aspect-ratio:1;--mk:url(../img/simbolo.svg)}

/* ---------- botões e campos ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:0 15px;border-radius:10px;border:1px solid transparent;font:600 13.5px/1 var(--f-ui);text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}
.btn .i{width:16px;height:16px}
.btn.pri{background:var(--pri);color:var(--pri-tx)}
.btn.pri:hover{background:var(--pri-h)}
.btn.ghost{background:transparent;border-color:var(--line-2);color:var(--tx)}
.btn.ghost:hover{border-color:var(--tx-3);background:var(--surface-2)}
.btn.warn{background:transparent;border-color:var(--alert);color:var(--alert)}
.btn.warn:hover{background:var(--alert-soft)}
.btn.sm{min-height:32px;padding:0 11px;font-size:12.5px}
.btn.full{width:100%}
.btn:disabled{opacity:.55;cursor:default}
.btn.wait{position:relative;color:transparent!important}
.btn.wait::after{content:'';position:absolute;width:16px;height:16px;border-radius:50%;border:2px solid var(--pri-tx);border-right-color:transparent;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.ibtn{display:inline-grid;place-items:center;width:38px;height:38px;flex:none;border-radius:10px;border:1px solid var(--line-2);background:transparent;color:var(--tx-2);transition:color .15s,border-color .15s,background .15s}
.ibtn:hover{color:var(--tx);border-color:var(--tx-3)}
.ibtn.sm{width:32px;height:32px;border-radius:8px}
.ibtn.sm .i{width:16px;height:16px}
.linkbtn{background:none;border:0;padding:0;color:var(--link);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.fld{display:grid;gap:6px;margin:0;min-width:0}
.fld>span,.fld>legend{font-size:12.5px;font-weight:600;color:var(--tx-2);padding:0}
fieldset.fld{border:0;padding:0}
.fld input:not([type=checkbox]):not([type=radio]),.fld select,.fld textarea,.inp{width:100%;min-height:42px;padding:9px 12px;border-radius:10px;border:1px solid var(--line-2);background:var(--surface);color:var(--tx);transition:border-color .15s,box-shadow .15s}
.fld textarea{min-height:110px;resize:vertical;line-height:1.5}
.fld input:not([type=checkbox]):not([type=radio]):focus,.fld select:focus,.fld textarea:focus,.inp:focus{outline:none;border-color:var(--focus);box-shadow:0 0 0 3px var(--acc-soft)}
.fld small{color:var(--tx-3);font-size:12px}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form{display:grid;gap:14px}
.pw{position:relative;display:block}
.pw input{padding-right:46px}
.pw .ibtn{position:absolute;right:5px;top:5px;border:0}
.tgl{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-weight:500}
.tgl input{appearance:none;width:38px;height:22px;border-radius:99px;background:var(--line-2);position:relative;cursor:pointer;flex:none;transition:background .15s;margin:0}
.tgl input::after{content:'';position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--sand-50);transition:transform .18s var(--ease)}
.tgl input:checked{background:var(--pri)}
.tgl input:checked::after{transform:translateX(16px);background:var(--pri-tx)}
.chk{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:10px;cursor:pointer}
.chk input{margin-top:3px;accent-color:var(--pri)}
.chk b{display:block;font-weight:600}
.chk small{color:var(--tx-2)}
.err{margin:0;min-height:1.2em;color:var(--alert);font-size:13px;font-weight:500}
.note{display:flex;gap:10px;align-items:flex-start;margin:0;padding:11px 13px;border-radius:10px;background:var(--surface-2);color:var(--tx-2);font-size:13px}
.note .i{margin-top:1px;color:var(--tx-3)}
.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:99px;border:1px solid var(--line-2);font-size:11.5px;font-weight:600;color:var(--tx-2);white-space:nowrap}
.pill .i{width:13px;height:13px}
.pill.demo{border-color:var(--alert);color:var(--alert)}
.st{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;white-space:nowrap}
.st .i{width:14px;height:14px}
.st-ok{color:var(--good)}.st-wait{color:var(--tx-2)}.st-bad{color:var(--alert)}.st-off{color:var(--tx-3)}
.seg{display:inline-flex;flex-wrap:wrap;gap:4px;padding:3px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}
.seg button{border:0;background:none;padding:6px 11px;border-radius:8px;font-size:12.5px;font-weight:600;color:var(--tx-2)}
.seg button[aria-checked=true]{background:var(--acc-soft);color:var(--tx);box-shadow:inset 0 0 0 1px var(--line-2)}
code,.code{font-family:var(--f-m);font-size:12px}
pre.code{margin:0;padding:14px;border-radius:10px;background:var(--surface-2);overflow:auto;max-height:340px;color:var(--tx-2);line-height:1.55}

/* ---------- entrada ---------- */
body.is-login{background:var(--ink);color:var(--sand)}
.login{min-height:100svh;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(400px,.9fr);background:var(--ink)}
.lg-scene{position:relative;overflow:hidden;background:radial-gradient(120% 90% at 30% 40%,var(--petrol-900) 0%,var(--ink) 62%)}
.lg-scene canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.lg-cap{position:absolute;left:clamp(28px,5vw,72px);bottom:clamp(28px,6vh,64px);right:28px;max-width:560px;pointer-events:none}
.lg-cap .eyebrow{color:var(--petrol-200)}
.lg-cap h2{margin:12px 0 10px;font:600 clamp(34px,4.4vw,60px)/1.02 var(--f-d);letter-spacing:-.025em;color:var(--sand)}
.lg-cap h2 em{font-style:normal;color:var(--lime)}
.lg-cap p{margin:0;max-width:440px;color:var(--ink-100);font-size:15px}
.lg-areas{display:flex;flex-wrap:wrap;gap:6px 14px;margin:18px 0 0;padding:0;list-style:none;font:500 11px/1.4 var(--f-m);letter-spacing:.06em;text-transform:uppercase;color:var(--petrol-200)}
.lg-areas li{display:flex;align-items:center;gap:7px}
.lg-areas li::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--lime)}
.lg-top{position:absolute;top:clamp(22px,4vh,40px);left:clamp(28px,5vw,72px);display:flex;align-items:center;gap:12px;color:var(--sand)}
.lg-top .mk-word{width:116px}
.lg-top span{font:500 11px/1 var(--f-m);letter-spacing:.1em;text-transform:uppercase;color:var(--petrol-200);padding-left:12px;border-left:1px solid rgba(234,227,218,.2)}
.lg-panel{display:grid;place-items:center;padding:40px 28px;background:var(--ink-800);border-left:1px solid var(--ink-600)}
.lg-card{width:100%;max-width:388px;display:grid;gap:22px}
.lg-card .mk-sym{width:42px;color:var(--lime)}
.lg-h{margin:0;font:600 30px/1.1 var(--f-d);letter-spacing:-.02em;color:var(--sand)}
.lg-lead{margin:-10px 0 0;color:var(--ink-100);font-size:14px}
.lg-form{display:grid;gap:15px}
.login .fld>span{color:var(--ink-100)}
.login .fld input{background:var(--ink-700);border-color:var(--ink-500);color:var(--sand)}
.login .fld input:focus{border-color:var(--lime);box-shadow:0 0 0 3px rgba(204,242,118,.14)}
.login .btn.pri{background:var(--lime);color:var(--ink);min-height:46px;font-size:14.5px}
.login .btn.pri:hover{background:var(--lime-300)}
.login .btn.pri.wait::after{border-color:var(--ink);border-right-color:transparent}
.login .err{color:var(--flame-300)}
.login .linkbtn{color:var(--lime)}
.login .tgl input{background:var(--ink-500)}
.login .tgl input:checked{background:var(--lime)}
.login .tgl input:checked::after{background:var(--ink)}
.login .tgl span{color:var(--ink-100);font-size:13px}
.lg-foot{display:flex;align-items:center;gap:10px;padding-top:18px;border-top:1px solid var(--ink-600);font:500 11px/1.4 var(--f-m);letter-spacing:.04em;color:var(--ink-200)}
.lg-foot .i{width:15px;height:15px;color:var(--lime)}
.lg-hint{margin:0;font-size:12.5px;color:var(--ink-200)}
.lg-hint b{color:var(--sand)}
.otp{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.otp input{width:100%;height:56px;text-align:center;font:600 24px/1 var(--f-d);border-radius:12px;border:1px solid var(--ink-500);background:var(--ink-700);color:var(--sand);caret-color:var(--lime)}
.otp input:focus{outline:none;border-color:var(--lime);box-shadow:0 0 0 3px rgba(204,242,118,.14)}
.otp input:nth-child(3){margin-right:6px}
.steps{margin:0;padding-left:20px;color:var(--ink-100);display:grid;gap:4px;font-size:13.5px}
.steps b{color:var(--sand)}
.qr-wrap{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center}
.qr{width:148px;height:148px;padding:8px;border-radius:12px;background:var(--sand-50);display:grid;place-items:center}
.qr img,.qr canvas{display:block;width:132px!important;height:132px!important}
.secret{display:block;margin-top:6px;padding:8px 10px;border-radius:8px;background:var(--ink-700);font:500 12.5px/1.6 var(--f-m);letter-spacing:.06em;color:var(--sand);word-break:break-all}
.row-btw{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.demo-val{font:600 15px/1 var(--f-d);color:var(--lime);letter-spacing:.08em}
.rc-list{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;margin:0;padding:14px 16px;border-radius:12px;background:var(--surface-2);list-style:none;font:500 14px/1.7 var(--f-m);letter-spacing:.04em}
.login .rc-list{background:var(--ink-700);color:var(--sand)}

/* ---------- casca ---------- */
.shell{display:grid;grid-template-columns:var(--side) minmax(0,1fr);min-height:100svh;background:linear-gradient(to right,var(--side-bg) var(--side),transparent 0)}
.side{position:sticky;top:0;height:100svh;display:flex;flex-direction:column;background:var(--side-bg);color:var(--side-tx);border-right:1px solid var(--side-line);z-index:30}
.side-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:22px 20px 18px}
.side-logo{display:flex;align-items:center;gap:11px;color:var(--side-tx);text-decoration:none}
.side-logo .mk-word{width:92px}
.side-logo small{font:500 10px/1 var(--f-m);letter-spacing:.12em;text-transform:uppercase;color:var(--side-mut);padding-left:11px;border-left:1px solid var(--side-line)}
.side .ibtn{border-color:var(--side-line);color:var(--side-tx)}
.side-x{display:none!important}
.side nav{flex:1;overflow:auto;padding:4px 12px 12px}
.nav-g{margin:16px 10px 6px;font:500 10px/1 var(--f-m);letter-spacing:.12em;text-transform:uppercase;color:var(--side-mut)}
.side ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.side nav a{position:relative;display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:9px;color:var(--side-tx);text-decoration:none;font-weight:500;font-size:13.5px;opacity:.82;transition:background .15s,opacity .15s}
.side nav a:hover{background:var(--side-hi);opacity:1}
.side nav a[aria-current=page]{background:var(--side-hi);opacity:1;font-weight:600}
.side nav a[aria-current=page]::before{content:'';position:absolute;left:-12px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--lime)}
.side nav a .i{width:17px;height:17px;opacity:.9}
.side nav a .nav-n{margin-left:auto;font:600 11px/1 var(--f-m);padding:3px 7px;border-radius:99px;background:var(--side-hi);color:var(--side-mut)}
.side-foot{padding:12px;border-top:1px solid var(--side-line);display:grid;gap:8px}
.proj-btn{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:10px;border:1px solid var(--side-line);background:transparent;color:var(--side-tx);text-align:left}
.proj-btn:hover{background:var(--side-hi)}
.proj-btn b{display:block;font-size:12.5px}
.proj-btn small{display:block;font-size:11px;color:var(--side-mut)}
.proj-btn .i{margin-left:auto;width:15px;height:15px;color:var(--side-mut)}
.me{display:flex;align-items:center;gap:10px;padding:6px 4px 2px}
.me b{display:block;font-size:13px;line-height:1.25}
.me small{display:block;color:var(--side-mut);font-size:11.5px}
.me .ibtn{margin-left:auto}
.av{display:inline-grid;place-items:center;width:34px;height:34px;flex:none;border-radius:50%;background:var(--petrol-500);color:var(--sand);font:600 12px/1 var(--f-d);letter-spacing:.02em}
.av.big{width:46px;height:46px;font-size:15px}
.side .av{background:var(--lime);color:var(--ink)}
.side-bg{display:none}
.main{min-width:0;display:flex;flex-direction:column}
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:16px;padding:16px clamp(16px,2.6vw,36px);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.burger{display:none!important}
.top-t{min-width:0;flex:1}
.top-t h1{margin:2px 0 0;font:600 22px/1.2 var(--f-d);letter-spacing:-.015em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.route{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:0;border:0;background:none;font:500 11px/1.3 var(--f-m);color:var(--tx-3);letter-spacing:.02em;cursor:copy}
.route b{color:var(--tx-2);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.route:hover b{color:var(--tx)}
.route .i{width:13px;height:13px}
.top-a{display:flex;align-items:center;gap:8px;flex:none}
.per{display:flex;align-items:center;gap:8px;padding:0 4px 0 11px;border:1px solid var(--line-2);border-radius:10px;min-height:38px;background:var(--surface)}
.per .i{width:16px;height:16px;color:var(--tx-3)}
.per select,.per input{border:0;background:none;min-height:34px;font-size:13px;font-weight:600;padding:0 4px;color:var(--tx)}
.per select:focus,.per input:focus{outline:none}
.per-c{display:flex;align-items:center;gap:4px;color:var(--tx-3)}
.per-c input{width:128px}
.per-l{margin:0;padding:12px clamp(16px,2.6vw,36px) 0;font:500 11.5px/1.4 var(--f-m);color:var(--tx-3);letter-spacing:.02em}
.view{padding:18px clamp(16px,2.6vw,36px) 48px;display:grid;gap:18px;align-content:start;min-width:0}
.view:focus{outline:none}
.view>*{min-width:0}

/* ---------- peças ---------- */
.card{min-width:0;padding:20px;border-radius:var(--r-l);background:var(--surface);border:1px solid var(--line)}
.ch{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px}
.ch h3{margin:3px 0 0;font:600 16px/1.3 var(--f-d);letter-spacing:-.01em}
.ch-s{margin:3px 0 0;color:var(--tx-2);font-size:13px}
.grid{display:grid;gap:18px;min-width:0}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g-21{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.g-12{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
.callout{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:12px;border:1px solid var(--line-2);background:var(--surface);font-size:13.5px;color:var(--tx-2)}
.callout b{color:var(--tx)}
.callout .i{color:var(--alert);margin-top:1px}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.toolbar .muted{margin:0}
.tb-l{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.srch{position:relative;display:flex;align-items:center}
.srch .i{position:absolute;left:11px;width:16px;height:16px;color:var(--tx-3)}
.srch input{padding-left:34px;min-height:38px;width:240px}
.empty{margin:0;padding:22px 0;text-align:center;color:var(--tx-3);font-size:13px}

/* faixa de indicadores (uma peça só, dividida por filetes) */
.ledger{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);overflow:hidden}
.ledger>div{padding:16px 18px;min-width:0;border-left:1px solid var(--line)}
.ledger>div:first-child{border-left:0}
.ld-l{margin:0;font-size:12.5px;font-weight:600;color:var(--tx-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ld-v{margin:6px 0 4px;font:600 25px/1.1 var(--f-d);letter-spacing:-.02em;white-space:nowrap}
.ld-v small{font:500 13px var(--f-ui);color:var(--tx-3);letter-spacing:0}
.ld-s{margin:2px 0 0;font-size:12px;color:var(--tx-3)}
.dl{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--tx-3)}
.dl b{font-weight:700}
.dl .i{width:13px;height:13px}
.dl.up b,.dl.up .i{color:var(--good)}
.dl.down b,.dl.down .i{color:var(--alert)}
.dl span{white-space:nowrap}

/* gráficos */
.cv{min-width:0}
.chart{display:block;width:100%;height:auto;overflow:visible}
.chart .gl{stroke:var(--d-grid);stroke-width:1;display:inline}
.chart .base{stroke:var(--tx-3);stroke-width:1}
.chart .ax{fill:var(--d-ax);font:500 10.5px var(--f-ui);font-variant-numeric:tabular-nums}
.chart .bar{fill:var(--d-main);transition:opacity .15s}
.chart .bar.b2{fill:var(--d-hi)}
.chart .bar.b0{fill:var(--d-dim)}
.chart .bar.s1{fill:var(--c1)}.chart .bar.s2{fill:var(--c2)}.chart .bar.s3{fill:var(--c3)}.chart .bar.s4{fill:var(--c4)}
.chart:hover .bar:not(.hl){opacity:.55}
.chart .hit{fill:transparent;cursor:crosshair}
.chart .ln{fill:none;stroke:var(--d-main);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.chart .area{fill:var(--d-main);opacity:.09}
.chart .dot{fill:var(--d-main);stroke:var(--surface);stroke-width:2;opacity:0}
.chart .xh{stroke:var(--tx-3);stroke-dasharray:3 3;opacity:0}
.chart .dot.hl,.chart .xh.hl{opacity:1}
.chart .ref{stroke:var(--d-hi);stroke-dasharray:4 4;stroke-width:1.5}
.chart .ref-t{fill:var(--d-hi);font-weight:600}
.chart-empty{padding:48px 0}
.legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0 0 12px;font-size:12.5px;color:var(--tx-2)}
.legend span{display:inline-flex;align-items:center;gap:7px}
.sw{width:10px;height:10px;border-radius:3px;background:var(--d-main)}
.sw.s1{background:var(--c1)}.sw.s2{background:var(--c2)}.sw.s3{background:var(--c3)}.sw.s4{background:var(--c4)}.sw.hi{background:var(--d-hi)}
.spark{width:100%;height:34px}
.spark path{fill:none;stroke:var(--d-main);stroke-width:2;stroke-linejoin:round}
.spark circle{fill:var(--d-main)}
.blist{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.bl-row{display:flex;justify-content:space-between;gap:12px;font-size:13px;margin-bottom:6px}
.bl-l{min-width:0;font-weight:500}
.bl-l small{display:block;color:var(--tx-3);font-size:11.5px;font-weight:400}
.bl-v{font-weight:600;white-space:nowrap}
.bl-v small{margin-left:8px;color:var(--tx-3);font-weight:500}
.bl-track{height:6px;border-radius:99px;background:var(--surface-2);overflow:hidden}
.bl-track i{display:block;height:100%;width:var(--w);border-radius:99px;background:var(--d-main)}
.bl-track i.hi{background:var(--d-hi)}
.bl-track i.s1{background:var(--c1)}.bl-track i.s2{background:var(--c2)}.bl-track i.s3{background:var(--c3)}.bl-track i.s4{background:var(--c4)}
.heat{display:grid;grid-template-columns:54px repeat(7,minmax(0,1fr));gap:3px;font-size:11px;color:var(--tx-3)}
.heat span{display:grid;place-items:center;min-height:22px}
.heat i{display:block;min-height:22px;border-radius:4px;background:var(--h0)}
.heat i[data-l="1"]{background:var(--h1)}.heat i[data-l="2"]{background:var(--h2)}.heat i[data-l="3"]{background:var(--h3)}.heat i[data-l="4"]{background:var(--h4)}
.heat-k{display:flex;align-items:center;gap:6px;margin-top:10px;font-size:11.5px;color:var(--tx-3)}
.heat-k i{width:16px;height:10px;border-radius:3px}
.tip{position:fixed;z-index:90;pointer-events:none;min-width:150px;max-width:260px;padding:10px 12px;border-radius:10px;background:var(--ink-700);color:var(--sand);font-size:12.5px;box-shadow:0 14px 40px -12px rgba(0,7,28,.7);opacity:0;transform:translateY(4px);transition:opacity .12s,transform .12s}
.tip.on{opacity:1;transform:none}
.tip .tt{font-weight:600;margin-bottom:6px}
.tip .tr{display:flex;justify-content:space-between;gap:14px;font-variant-numeric:tabular-nums}
.tip .tr span{color:var(--ink-100)}

/* tabelas */
.tbl-wrap{overflow-x:auto;margin:0 -4px;padding:0 4px}
.tbl{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}
.tbl th{padding:9px 10px;text-align:left;font-size:11.5px;font-weight:600;color:var(--tx-3);border-bottom:1px solid var(--line);white-space:nowrap}
.tbl td{padding:11px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
.tbl tr:last-child td{border-bottom:0}
.tbl .r{text-align:right;white-space:nowrap}
.tbl .c{text-align:center}
.tbl tbody tr.click{cursor:pointer}
.tbl tbody tr.click:hover td{background:var(--surface-2)}
.th-b{border:0;background:none;padding:0;font:inherit;color:inherit;display:inline-flex;align-items:center;gap:4px}
.th-b .i{width:12px;height:12px}
.tbl td b{font-weight:600}
.tbl td small{display:block;color:var(--tx-3);font-size:11.5px}
.matrix td,.matrix th{text-align:center}
.matrix td:first-child,.matrix th:first-child{text-align:left}
.yes{color:var(--good)}.no{color:var(--tx-3)}

/* ---------- visão geral: o sistema ---------- */
.sys{position:relative;padding:22px 22px 20px;border-radius:var(--r-l);background:var(--surface);border:1px solid var(--line);overflow:hidden}
.sys-h{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.sys-h h2{margin:6px 0 0;font:600 clamp(22px,2.4vw,30px)/1.1 var(--f-d);letter-spacing:-.02em}
.sys-h h2 em{font-style:normal;color:var(--acc)}
[data-theme=light] .sys-h h2 em{color:var(--petrol)}
.sys-h p{margin:0;color:var(--tx-2);font-size:13px;max-width:380px}
.flow{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));list-style:none;margin:0;padding:0}
.flow::before{content:'';position:absolute;left:calc(100%/12);right:calc(100%/12);top:13px;height:2px;background:var(--line-2)}
.flow .pulse{position:absolute;top:10px;left:calc(100%/12);width:8px;height:8px;border-radius:50%;background:var(--acc);box-shadow:0 0 0 4px var(--acc-soft);animation:run 6.5s linear infinite;opacity:0}
.flow .pulse:nth-of-type(2){animation-delay:-2.2s}.flow .pulse:nth-of-type(3){animation-delay:-4.4s}
@keyframes run{0%{left:calc(100%/12);opacity:0}6%{opacity:1}94%{opacity:1}100%{left:calc(100% - 100%/12 - 8px);opacity:0}}
.fl{position:relative;display:grid;justify-items:center;text-align:center;gap:4px;padding:0 6px;min-width:0}
.fl-dot{position:relative;z-index:1;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:2px solid var(--line-2);color:var(--tx-2)}
.fl-dot .i{width:14px;height:14px}
.fl.on .fl-dot{border-color:var(--acc);color:var(--acc)}
[data-theme=light] .fl.on .fl-dot{border-color:var(--petrol);color:var(--petrol)}
.fl.end .fl-dot{background:var(--acc);border-color:var(--acc);color:var(--acc-tx)}
.fl-l{margin:10px 0 0;font-size:12px;font-weight:600;color:var(--tx-2)}
.fl-v{margin:0;font:600 clamp(20px,2vw,28px)/1.1 var(--f-d);letter-spacing:-.02em;white-space:nowrap}
.fl-s{margin:0;font-size:11.5px;color:var(--tx-3);white-space:nowrap}
.fl-cv{position:absolute;top:-3px;right:-50%;transform:translateX(-50%);z-index:2;width:max-content;padding:1px 7px;border-radius:99px;background:var(--surface);border:1px solid var(--line-2);font:600 10.5px/1.6 var(--f-m);color:var(--tx-2)}
.fl:last-child .fl-cv{display:none}
.attn{list-style:none;margin:0;padding:0;display:grid}
.attn li{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--line)}
.attn li:first-child{border-top:0;padding-top:0}
.attn .i{margin-top:2px;color:var(--alert)}
.attn .ok .i{color:var(--good)}
.attn b{display:block;font-weight:600;font-size:13.5px}
.attn small{color:var(--tx-2);font-size:12.5px}
.attn a{font-size:12.5px;font-weight:600;white-space:nowrap;margin-left:auto}
.ag-mini{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.ag-mini li{display:grid;grid-template-columns:52px 1fr;gap:12px;padding:9px 0;border-top:1px solid var(--line)}
.ag-mini li:first-child{border-top:0}
.ag-mini time{font:600 13px/1.3 var(--f-d)}
.ag-mini time small{display:block;font:500 10.5px var(--f-m);color:var(--tx-3);text-transform:uppercase;letter-spacing:.05em}
.ag-mini b{display:block;font-size:13px;font-weight:600}
.ag-mini span{font-size:12px;color:var(--tx-2)}
.tag{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--tx-2)}
.tag i{width:8px;height:8px;border-radius:50%;background:var(--c1)}
.tag.t2 i{background:var(--c2)}.tag.t3 i{background:var(--c3)}.tag.t4 i{background:var(--c4)}
.nets{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden;background:var(--surface)}
.net{padding:16px 18px;border-left:1px solid var(--line);min-width:0;text-decoration:none;color:inherit;display:grid;gap:4px}
.net:first-child{border-left:0}
.net:hover{background:var(--surface-2)}
.net-h{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:var(--tx-2)}
.net-h .i{width:16px;height:16px}
.net-v{font:600 22px/1.15 var(--f-d);letter-spacing:-.02em}
.net-s{font-size:12px;color:var(--tx-3)}

/* ---------- tráfego ---------- */
.funnel{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.funnel li{display:grid;grid-template-columns:120px minmax(0,1fr) 92px;gap:12px;align-items:center;font-size:13px}
.funnel .fb{height:28px;border-radius:7px;background:var(--surface-2);overflow:hidden}
.funnel .fb i{display:block;height:100%;width:var(--w);min-width:4px;border-radius:7px;background:var(--d-main)}
.funnel b{font-weight:600}
.funnel .fv{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.funnel .fv small{display:block;color:var(--tx-3);font-weight:500;font-size:11px}
.cst{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600}
.cst::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--tx-3)}
.cst.on{color:var(--good)}.cst.on::before{background:var(--good)}
.cst.off{color:var(--tx-3)}

/* ---------- prospecção (kanban) ---------- */
.kb-sum{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.kanban{display:grid;align-items:start;grid-auto-flow:column;grid-auto-columns:minmax(268px,1fr);gap:12px;overflow-x:auto;padding-bottom:10px;scroll-snap-type:x proximity;overscroll-behavior-x:contain}
.kcol{scroll-snap-align:start;display:flex;flex-direction:column;min-height:420px;border-radius:var(--r-l);background:var(--surface-2);border:1px solid var(--line);transition:border-color .15s,background .15s}
.kcol.over{border-color:var(--acc);background:var(--acc-soft)}
[data-theme=light] .kcol.over{border-color:var(--petrol)}
.kcol-h{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px 10px;border-bottom:1px solid var(--line)}
.kcol-h b{font:600 13.5px/1.2 var(--f-d)}
.kcol-h small{display:block;margin-top:2px;font-size:11.5px;color:var(--tx-3)}
.kcol-h .cnt{font:600 11px/1 var(--f-m);padding:4px 8px;border-radius:99px;background:var(--surface);border:1px solid var(--line);color:var(--tx-2)}
.kcol-b{flex:1;display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:8px;padding:10px;min-height:80px}
.kcol{min-width:0}
.kcard{position:relative;padding:12px 12px 10px;border-radius:12px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);cursor:grab;touch-action:pan-y;user-select:none;transition:border-color .15s,transform .15s}
.kcard:hover{border-color:var(--line-2)}
.kcard:focus-visible{outline:2px solid var(--focus)}
.kcard.drag{opacity:.35}
.kghost{position:fixed;z-index:100;pointer-events:none;transform:rotate(2deg);box-shadow:0 24px 48px -16px rgba(0,7,28,.6);cursor:grabbing}
.kslot{height:4px;border-radius:4px;background:var(--acc);margin:-2px 0}
[data-theme=light] .kslot{background:var(--petrol)}
.kc-t{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.kc-t b{font-size:13.5px;font-weight:600;line-height:1.3}
.kc-t small{display:block;color:var(--tx-2);font-size:12px;margin-top:1px}
.kc-v{font:600 13px/1.3 var(--f-d);white-space:nowrap}
.kc-m{display:flex;flex-wrap:wrap;gap:4px 10px;margin:8px 0 10px;font-size:11.5px;color:var(--tx-3)}
.kc-m .late{color:var(--alert);font-weight:600}
.kc-n{display:flex;gap:6px;align-items:flex-start;margin:-2px 0 10px;font-size:12px;color:var(--tx-2);line-height:1.35}
.kc-n .i{width:13px;height:13px;margin-top:1px;color:var(--tx-3)}
.kc-n.late .i,.kc-n.late{color:var(--alert)}
.kc-f{display:flex;align-items:center;gap:6px;min-width:0}
.kc-f small{flex:1 1 0;min-width:0}
.kc-t>div{min-width:0}
.kc-f .av{width:24px;height:24px;font-size:10px}
.kc-f .wa{margin-left:auto}
.wa{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 10px;border-radius:8px;border:1px solid var(--line-2);background:transparent;color:var(--tx);font-size:12px;font-weight:600;text-decoration:none}
.wa:hover{border-color:var(--good);color:var(--good)}
.wa .i{width:15px;height:15px}
.kmove{position:absolute;inset:0;opacity:0;width:0;height:0}
.kc-orig{display:inline-flex;align-items:center;gap:5px}
.kc-orig i{width:7px;height:7px;border-radius:50%}
.o-meta i{background:var(--c1)}.o-instagram i{background:var(--c2)}.o-indicacao i{background:var(--c3)}.o-site i,.o-evento i,.o-outbound i{background:var(--c4)}
.timeline{list-style:none;margin:0;padding:0;display:grid;gap:0}
.timeline li{position:relative;padding:0 0 14px 20px;font-size:13px}
.timeline li::before{content:'';position:absolute;left:4px;top:6px;width:7px;height:7px;border-radius:50%;background:var(--line-2)}
.timeline li::after{content:'';position:absolute;left:7px;top:16px;bottom:0;width:1px;background:var(--line)}
.timeline li:last-child::after{display:none}
.timeline li.whats::before{background:var(--good)}.timeline li.agenda::before{background:var(--c2)}.timeline li.etapa::before{background:var(--tx-3)}
.timeline small{display:block;color:var(--tx-3);font-size:11.5px}
.kv{display:grid;gap:10px;margin:0}
.kv div{display:grid;grid-template-columns:120px 1fr;gap:10px}
.kv dt{color:var(--tx-3);font-size:12.5px}
.kv dd{margin:0;font-weight:500;min-width:0;overflow-wrap:anywhere}
.kv.sm div{grid-template-columns:90px 1fr}

/* ---------- agenda ---------- */
.week{display:grid;grid-template-columns:52px repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);overflow:hidden}
.wk-h{padding:10px 8px;border-left:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center}
.wk-h:first-child{border-left:0}
.wk-h b{display:block;font:600 18px/1.1 var(--f-d)}
.wk-h small{font:500 10.5px var(--f-m);text-transform:uppercase;letter-spacing:.06em;color:var(--tx-3)}
.wk-h.today b{color:var(--acc)}
[data-theme=light] .wk-h.today b{color:var(--flame-600)}
.wk-hours{position:relative}
.wk-hours span{position:absolute;right:8px;font:500 10.5px var(--f-m);color:var(--tx-3);transform:translateY(-50%)}
.wk-day{position:relative;border-left:1px solid var(--line);background-image:linear-gradient(var(--line) 1px,transparent 1px);background-size:100% var(--hh)}
.wk-day.today{background-color:var(--acc-soft)}
.ev{position:absolute;left:3px;right:3px;padding:5px 7px;border-radius:7px;border:0;border-left:3px solid var(--c1);background:var(--surface-2);color:var(--tx);text-align:left;font-size:11.5px;line-height:1.3;overflow:hidden;box-shadow:inset 0 0 0 1px var(--line)}
.ev:hover{box-shadow:inset 0 0 0 1px var(--line-2)}
.ev b{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ev small{color:var(--tx-2)}
.ev.t2{border-left-color:var(--c2)}.ev.t3{border-left-color:var(--c3)}.ev.t4{border-left-color:var(--c4)}
.now-line{position:absolute;left:0;right:0;height:2px;background:var(--flame);z-index:2}
.now-line::before{content:'';position:absolute;left:-4px;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--flame)}
.ag-list{display:grid;gap:14px}
.ag-day h4{margin:0 0 8px;font:600 13.5px/1.3 var(--f-d)}
.ag-day h4 small{color:var(--tx-3);font:500 11px var(--f-m);text-transform:uppercase;letter-spacing:.05em;margin-left:6px}
.ag-day ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ag-day button{width:100%;display:grid;grid-template-columns:86px 1fr;gap:12px;padding:10px 12px;border-radius:10px;border:1px solid var(--line);border-left:3px solid var(--c1);background:var(--surface);text-align:left}
.ag-day button.t2{border-left-color:var(--c2)}.ag-day button.t3{border-left-color:var(--c3)}.ag-day button.t4{border-left-color:var(--c4)}
.ag-day time{font:600 12.5px/1.4 var(--f-ui);font-variant-numeric:tabular-nums;color:var(--tx-2)}
.ag-day b{display:block;font-size:13.5px}
.ag-day span{font-size:12px;color:var(--tx-2)}

/* ---------- instagram e redes ---------- */
.posts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.post{display:grid;grid-template-rows:auto 1fr;border-radius:12px;border:1px solid var(--line);background:var(--surface);overflow:hidden;text-decoration:none;color:inherit}
.post:hover{border-color:var(--line-2)}
.post-art{position:relative;aspect-ratio:4/5;display:grid;align-content:end;padding:14px;background:var(--petrol-800);color:var(--sand);overflow:hidden}
.post-art.v2{background:var(--ink-700)}.post-art.v3{background:var(--petrol-600)}
.post-art::before{content:'';position:absolute;right:-18%;top:-10%;width:70%;aspect-ratio:1;background:currentColor;opacity:.06;-webkit-mask:url(../img/simbolo.svg) center/contain no-repeat;mask:url(../img/simbolo.svg) center/contain no-repeat}
.post-art.has-img{background-size:cover;background-position:center}
.post-art.has-img::before{display:none}
.post-art p{position:relative;margin:0;font:600 15px/1.18 var(--f-d);letter-spacing:-.01em}
.post-art .pill{position:absolute;top:10px;left:10px;border-color:rgba(234,227,218,.3);color:var(--sand);background:rgba(0,7,28,.35)}
.post-art .pill .i{color:var(--lime)}
.post-b{padding:10px 12px 12px;display:grid;gap:6px}
.post-b time{font-size:11.5px;color:var(--tx-3)}
.post-m{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;font-size:11.5px;color:var(--tx-3)}
.post-m b{display:block;font-size:13px;color:var(--tx);font-weight:600;font-variant-numeric:tabular-nums}
.net-tabs{display:flex;gap:8px;flex-wrap:wrap}
.net-tab{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--tx-2);font-weight:600;font-size:13px;text-decoration:none}
.net-tab .i{width:16px;height:16px}
.net-tab[aria-current=page]{border-color:var(--line-2);color:var(--tx);box-shadow:inset 0 -2px 0 var(--acc)}
[data-theme=light] .net-tab[aria-current=page]{box-shadow:inset 0 -2px 0 var(--petrol)}
.net-tab small{font-size:11px;font-weight:500;color:var(--tx-3)}
.conn{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 16px;border-radius:12px;border:1px dashed var(--line-2);background:var(--surface)}
.conn p{margin:0;flex:1;min-width:220px;color:var(--tx-2);font-size:13px}
.conn b{color:var(--tx)}

/* ---------- equipe, integrações, segurança, relatórios ---------- */
.people{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:14px}
.person{min-width:0;padding:18px;border-radius:var(--r-l);background:var(--surface);border:1px solid var(--line);display:grid;gap:14px;align-content:start}
.person.off{opacity:.6}
.person header{display:flex;gap:12px;align-items:center}
.person h4{margin:0;font:600 15px/1.25 var(--f-d)}
.person p{margin:0;font-size:12.5px}
.person header .pill{margin-left:auto}
.person footer{display:flex;gap:8px;flex-wrap:wrap}
.lv-d{display:grid;gap:6px;margin-top:14px;font-size:13px;color:var(--tx-2)}
.lv-d p{margin:0}
.lv-d b{color:var(--tx)}
.ints{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.int{padding:18px;border-radius:var(--r-l);background:var(--surface);border:1px solid var(--line);display:grid;gap:12px;align-content:start}
.int header{display:flex;gap:12px;align-items:center}
.int-ic{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:var(--surface-2);color:var(--tx)}
.int h4{margin:0;font:600 15px/1.25 var(--f-d)}
.int header p{margin:0;font-size:12.5px;color:var(--tx-2)}
.int header .st{margin-left:auto}
.int ul{margin:0;padding-left:18px;font-size:12.5px;color:var(--tx-2);display:grid;gap:2px}
.int footer{display:flex;gap:8px;flex-wrap:wrap}
.keys{display:grid;gap:10px}
.key{display:grid;gap:5px}
.key label{font:500 11.5px var(--f-m);color:var(--tx-2)}
.key .krow{display:flex;gap:6px}
.key .krow input{flex:1;min-width:0}
.key small{font-size:11.5px;color:var(--tx-3)}
.copy{display:flex;gap:6px;align-items:center;padding:6px 6px 6px 12px;border-radius:10px;border:1px solid var(--line-2);background:var(--surface-2);min-width:0}
.copy code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--tx-2)}
.sec-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 0;border-top:1px solid var(--line)}
.sec-row:first-of-type{border-top:0;padding-top:0}
.sec-row>div{flex:1;min-width:220px}
.sec-row b{display:block;font-weight:600}
.sec-row p{margin:2px 0 0;color:var(--tx-2);font-size:13px}
.dev{display:grid;gap:0;list-style:none;margin:0;padding:0}
.dev li{display:flex;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}
.dev li:first-child{border-top:0}
.dev .int-ic{width:36px;height:36px}
.dev b{display:block;font-size:13.5px;font-weight:600}
.dev small{display:block;color:var(--tx-2);font-size:12px}
.dev li>div{flex:1;min-width:0}
.dev .pill{margin-left:6px}
.proj{display:grid;gap:8px;list-style:none;margin:0;padding:0}
.proj li{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:10px;border:1px solid var(--line)}
.proj li>div{flex:1;min-width:0}
.proj b{display:block;font-size:13.5px}
.proj small{display:block;color:var(--tx-3);font:500 11px var(--f-m)}
.proj .av{width:30px;height:30px;font-size:11px;border-radius:9px}
.quick{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.qbtn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--surface);text-align:left}
.qbtn:hover{border-color:var(--line-2);background:var(--surface-2)}
.qbtn b{display:block;font-weight:600}
.qbtn small{color:var(--tx-2);font-size:12px}
.checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.r-sum{display:flex;gap:10px;align-items:flex-start;margin:0;font-size:13px}
.audit td:first-child{white-space:nowrap}

/* ---------- gaveta, menu de projetos, avisos ---------- */
.dw-wrap{position:fixed;inset:0;z-index:60}
.dw-bg{position:absolute;inset:0;background:rgba(0,7,28,.5);opacity:0;transition:opacity .22s}
.dw{position:absolute;top:0;right:0;bottom:0;width:min(480px,100%);display:flex;flex-direction:column;background:var(--surface);border-left:1px solid var(--line);transform:translateX(100%);transition:transform .26s var(--ease)}
.dw.wide{width:min(640px,100%)}
.dw-wrap.on .dw-bg{opacity:1}
.dw-wrap.on .dw{transform:none}
.dw-h{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 22px 14px;border-bottom:1px solid var(--line)}
.dw-h h2{margin:4px 0 0;font:600 19px/1.25 var(--f-d);letter-spacing:-.01em}
.dw-b{flex:1;overflow:auto;padding:18px 22px 24px;display:grid;gap:16px;align-content:start}
.dw-f{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding:14px 22px;border-top:1px solid var(--line)}
.dw .lead{margin:0;color:var(--tx-2)}
.toasts{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:95;display:grid;gap:8px;width:min(440px,calc(100% - 32px))}
.toast{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:var(--ink-700);color:var(--sand);font-size:13.5px;box-shadow:0 18px 40px -14px rgba(0,7,28,.6);opacity:0;transform:translateY(8px);transition:opacity .2s,transform .2s}
.toast.on{opacity:1;transform:none}
.toast .i{color:var(--petrol-200)}
.toast.ok .i{color:var(--lime)}
.toast.warn .i{color:var(--flame-300)}
.pmenu{position:absolute;left:12px;right:12px;bottom:calc(100% - 4px);padding:6px;border-radius:14px;background:var(--ink-700);border:1px solid var(--ink-500);box-shadow:0 18px 50px -12px rgba(0,7,28,.7);color:var(--sand);display:grid;gap:2px}
.pmenu p{margin:6px 8px 4px}
.pmenu .eyebrow{color:var(--ink-200)}
.pmenu a{display:flex;gap:10px;align-items:center;padding:8px;border-radius:9px;color:var(--sand);text-decoration:none}
.pmenu a:hover{background:rgba(234,227,218,.06)}
.pmenu a[aria-current]{background:rgba(234,227,218,.06)}
.pmenu b{display:block;font-size:13px}
.pmenu small{display:block;font:500 10.5px var(--f-m);color:var(--ink-200)}
.pmenu .av{width:28px;height:28px;border-radius:8px;font-size:10.5px}
.pmenu .pm-note{margin:6px 8px;font-size:11.5px;color:var(--ink-200);line-height:1.4}


/* ---------- busca rápida (Ctrl K) ---------- */
.ck-btn{display:inline-flex;align-items:center;gap:10px;min-height:38px;padding:0 8px 0 12px;border-radius:10px;border:1px solid var(--line-2);background:var(--surface);color:var(--tx-3);font-size:13px;min-width:220px}
.ck-btn:hover{border-color:var(--tx-3);color:var(--tx-2)}
.ck-btn .i{width:16px;height:16px}
.ck-btn kbd,.ck kbd{margin-left:auto;display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:6px;border:1px solid var(--line-2);background:var(--surface-2);font:500 10.5px/1 var(--f-m);color:var(--tx-2)}
.ck-wrap{position:fixed;inset:0;z-index:80;display:grid;justify-items:center;align-items:start;padding:12vh 16px 16px}
.ck-bg{position:absolute;inset:0;background:rgba(0,7,28,.55);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;transition:opacity .16s}
.ck{position:relative;width:min(620px,100%);max-height:min(560px,76vh);display:flex;flex-direction:column;border-radius:16px;background:var(--surface);border:1px solid var(--line-2);box-shadow:0 30px 80px -24px rgba(0,7,28,.75);overflow:hidden;opacity:0;transform:translateY(-6px) scale(.985);transition:opacity .16s,transform .16s var(--ease)}
.ck-wrap.on .ck-bg{opacity:1}.ck-wrap.on .ck{opacity:1;transform:none}
.ck-s{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}
.ck-s .i{color:var(--tx-3)}
.ck-s input{flex:1;min-width:0;border:0;background:none;font-size:16px;color:var(--tx);outline:none}
.ck-l{overflow:auto;padding:6px 8px 10px}
.ck-g{margin:10px 10px 4px;font:500 10px/1 var(--f-m);letter-spacing:.1em;text-transform:uppercase;color:var(--tx-3)}
.ck-i{width:100%;display:flex;align-items:center;gap:12px;padding:9px 10px;border:0;border-radius:10px;background:none;text-align:left;color:var(--tx)}
.ck-i>.i:first-child{color:var(--tx-3)}
.ck-i>.i:last-child{margin-left:auto;width:14px;height:14px;opacity:0}
.ck-i span{min-width:0}
.ck-i b{display:block;font-weight:600;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ck-i small{display:block;font-size:12px;color:var(--tx-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ck-i[aria-selected=true]{background:var(--acc-soft)}
.ck-i[aria-selected=true]>.i{color:var(--tx);opacity:1}
.ck-e{margin:0;padding:28px 12px;text-align:center;color:var(--tx-3)}
.ck-f{display:flex;gap:16px;flex-wrap:wrap;margin:0;padding:10px 16px;border-top:1px solid var(--line);font-size:11.5px;color:var(--tx-3)}
.ck-f span{display:inline-flex;align-items:center;gap:4px}
.ck-f kbd{margin:0}

/* ---------- saudação do dia ---------- */
.today{display:flex;align-items:center;gap:14px 22px;flex-wrap:wrap}
.today h2{margin:0;font:600 clamp(20px,2vw,24px)/1.2 var(--f-d);letter-spacing:-.015em}
.today h2 small{display:block;margin-top:2px;font:500 11px/1.3 var(--f-m);letter-spacing:.06em;text-transform:uppercase;color:var(--tx-3)}
.today-c{display:flex;gap:8px;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border-radius:99px;border:1px solid var(--line);background:var(--surface);font-size:12.5px;font-weight:500;color:var(--tx-2);text-decoration:none}
.chip b{color:var(--tx);font-weight:700}
.chip .i{width:14px;height:14px}
a.chip:hover{border-color:var(--line-2);color:var(--tx)}
.next{margin-left:auto;display:flex;align-items:center;gap:12px;padding:8px 8px 8px 14px;border-radius:12px;border:1px solid var(--line-2);background:var(--surface);min-width:0}
.next>div{min-width:0;flex:1}
.next .btn{flex:none}
.next small{display:block;font:500 10.5px/1.3 var(--f-m);letter-spacing:.05em;text-transform:uppercase;color:var(--tx-3)}
.next b{display:block;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px}
.next .soon{color:var(--alert)}
/* tendência dentro do indicador e período anterior nos gráficos */
.ld-sp{display:block;margin-top:10px;height:26px}
.ld-sp .spark{height:26px}
.chart .prev{fill:none;stroke:var(--tx);stroke-width:2;stroke-dasharray:5 4;stroke-linecap:round;opacity:.8}
.sw.prev{background:none;border:0;border-top:2px dashed var(--tx);border-radius:0;height:0;width:14px}
/* entrada suave das telas e carregamento */
@keyframes rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.view.enter>*{animation:rise .32s var(--ease) both}
.view.enter>*:nth-child(2){animation-delay:.04s}.view.enter>*:nth-child(3){animation-delay:.08s}.view.enter>*:nth-child(4){animation-delay:.12s}.view.enter>*:nth-child(n+5){animation-delay:.16s}
.skel{display:grid;gap:18px}
.skel i{display:block;border-radius:var(--r-l);background:linear-gradient(90deg,var(--surface) 0%,var(--surface-2) 40%,var(--surface) 80%);background-size:300% 100%;animation:shim 1.2s linear infinite;border:1px solid var(--line)}
@keyframes shim{from{background-position:100% 0}to{background-position:-200% 0}}
/* kanban: abas por etapa no celular */
.kb-tabs{display:none}
/* modelos de WhatsApp */
.wa-pick{display:grid;gap:8px}
.wa-pick textarea{min-height:110px}

/* ---------- carta do lead ---------- */
.dw-wrap.instant .dw,.dw-wrap.instant .dw-bg{transition:none}
.lc-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:end}
.lc-val{text-align:right;display:grid;justify-items:end}
.lc-val small{font:500 10.5px/1.3 var(--f-m);letter-spacing:.06em;text-transform:uppercase;color:var(--tx-3)}
.lc-val b{font:600 24px/1.15 var(--f-d);letter-spacing:-.02em}
.lc-val s{font-size:12.5px;color:var(--tx-3)}
.lc-acts{display:flex;gap:8px;flex-wrap:wrap}
.lc-tabs{width:100%}
.lc-tabs button{flex:1 1 auto}
.lc-body{display:grid;gap:14px}
.calc{display:flex;gap:16px;padding:12px 14px;border-radius:12px;background:var(--acc-soft);border:1px solid var(--line)}
.calc small,.calc-i small{display:block;font-size:12px;color:var(--tx-2)}
.calc b{display:block;font:600 22px/1.2 var(--f-d);letter-spacing:-.02em}
.calc-i{align-self:end;padding:9px 12px;border-radius:10px;background:var(--surface-2)}
.calc-i b{display:block;font:600 16px/1.3 var(--f-d)}
.parc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.parc li{display:grid;grid-template-columns:auto 1fr;gap:0 10px;padding:9px 11px;border-radius:10px;border:1px solid var(--line);background:var(--surface)}
.parc li span{grid-row:span 2;align-self:center;font:600 11px var(--f-m);color:var(--tx-3)}
.parc li b{font-size:14px}
.parc li small{font-size:11.5px;color:var(--tx-2)}
.parc li.pg{border-color:var(--good)}.parc li.pg small{color:var(--good)}
.parc li.at{border-color:var(--alert)}.parc li.at small{color:var(--alert)}
.chips{display:flex;gap:6px;flex-wrap:wrap}
button.chip{cursor:pointer}
button.chip:hover{border-color:var(--line-2);color:var(--tx)}
.lk{list-style:none;margin:0;padding:0;display:grid}
.lk li{display:flex;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.lk li:first-child{border-top:0}
.lk li>div{flex:1;min-width:0}
.lk a b{color:var(--tx);font-size:13.5px}
.lk small{display:block;font-size:12px;color:var(--tx-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lk .int-ic{width:34px;height:34px}
.kc-v s{display:block;font:500 11px var(--f-ui);color:var(--tx-3);text-align:right}
.kc-tag{display:inline-flex;align-items:center;gap:4px;padding:1px 7px;border-radius:99px;background:var(--surface-2);border:1px solid var(--line);font-weight:600;color:var(--tx-2)}
.kc-tag .i,.kc-m .i{width:12px;height:12px}
.kc-m>span{display:inline-flex;align-items:center;gap:4px}
.kc-tag.ok{color:var(--good);border-color:var(--good)}
.kc-auto{display:inline-flex;align-items:center;gap:3px;color:var(--acc);font-weight:600}
[data-theme=light] .kc-auto{color:var(--petrol)}
.kc-auto .i{width:11px;height:11px}
.et-row{border:0;margin:0;padding:12px 0;border-top:1px solid var(--line);display:grid;gap:10px}
.et-row:first-child{border-top:0}
.et-sf{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.et-sf .tgl{flex:1 1 220px}
.et-ev{flex:1 1 200px}
.et-ev input{min-height:36px}
.timeline li.auto::before{background:var(--acc)}
[data-theme=light] .timeline li.auto::before{background:var(--petrol)}
.timeline li.erro::before{background:var(--alert)}
.timeline li.erro{color:var(--alert)}

/* ---------- automações do Instagram ---------- */
.rules{display:grid;grid-template-columns:repeat(var(--cols,2),minmax(0,1fr));gap:14px}
.rule{display:grid;grid-template-columns:minmax(0,1fr) 172px;gap:16px;padding:18px;border-radius:var(--r-l);background:var(--surface);border:1px solid var(--line)}
.rule.off{opacity:.62}
.rules[style*="--cols:3"] .rule{grid-template-columns:minmax(0,1fr);align-content:start}
.rules[style*="--cols:3"] .phone{max-width:260px}
@media (max-width:1280px){.rules[style*="--cols:3"]{grid-template-columns:minmax(0,1fr)}.rules[style*="--cols:3"] .rule{grid-template-columns:minmax(0,1fr) 172px}}
.rule h4{margin:4px 0 6px;font:600 15px/1.3 var(--f-d)}
.rule .kw{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
.rule .kw span{padding:2px 8px;border-radius:99px;background:var(--acc-soft);font:600 11.5px var(--f-m);color:var(--tx)}
.rule .rs{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--tx-3);margin-top:8px}
.rule footer{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;align-items:center}
.phone{align-self:start;border-radius:22px;padding:10px 8px 12px;background:var(--ink-800);border:1px solid var(--ink-500);color:var(--sand);font-size:11.5px;display:grid;gap:7px}
.phone .ph-h{display:flex;align-items:center;gap:6px;padding:0 4px 6px;border-bottom:1px solid var(--ink-600);font-weight:600}
.phone .ph-h i{width:18px;height:18px;border-radius:50%;background:var(--lime);display:block}
.phone .ph-c{justify-self:end;max-width:90%;padding:6px 9px;border-radius:12px 12px 3px 12px;background:var(--petrol-600)}
.phone .ph-m{max-width:94%;padding:7px 9px;border-radius:12px 12px 12px 3px;background:var(--ink-600);white-space:pre-line;line-height:1.35;word-break:break-word}
.phone .ph-b{display:block;margin-top:6px;padding:5px 8px;border-radius:8px;background:var(--ink-500);text-align:center;font-weight:600;color:var(--lime)}
.phone small{color:var(--ink-200);font-size:10px;padding:0 4px}
.flow-ig{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin:0;padding:0;list-style:none}
.flow-ig li{position:relative;display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface);font-size:13px}
.flow-ig li b{font-weight:600}
.flow-ig .i{width:16px;height:16px;color:var(--tx-3)}
.flow-ig li+li::before{content:'';position:absolute;left:-18px;top:50%;width:14px;height:1px;background:var(--line-2)}
.tester{display:grid;gap:10px}

/* ---------- financeiro ---------- */
.fin-st{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;white-space:nowrap}
.fin-st.pg{color:var(--good)}.fin-st.at{color:var(--alert)}.fin-st.ab{color:var(--tx-2)}
.fin-st .i{width:14px;height:14px}

/* ---------- cartões de opção (relatórios, níveis de acesso) ---------- */
.opt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.opt{position:relative;display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);cursor:pointer;transition:border-color .15s,background .15s}
.opt:hover{border-color:var(--line-2)}
.opt.wide{grid-column:1/-1}
.opt input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.opt .oi{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:10px;background:var(--surface-2);color:var(--tx-2)}
.opt .oi .i{width:18px;height:18px}
.opt .ot{flex:1;min-width:0}
.opt .ot b{display:block;font:600 14px/1.3 var(--f-d)}
.opt .ot small{display:block;margin-top:2px;font-size:12.5px;line-height:1.4;color:var(--tx-2)}
.opt .ock{display:grid;place-items:center;width:22px;height:22px;flex:none;border-radius:50%;border:1.5px solid var(--line-2);color:transparent;transition:background .15s,border-color .15s}
.opt .ock .i{width:13px;height:13px;stroke-width:2.6}
.opt:has(input:checked){border-color:var(--acc);background:var(--acc-soft)}
.opt:has(input:checked) .oi{background:var(--acc);color:var(--acc-tx)}
.opt:has(input:checked) .ock{background:var(--acc);border-color:var(--acc);color:var(--acc-tx)}
[data-theme=light] .opt:has(input:checked){border-color:var(--petrol)}
.opt:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}
.rp .card{align-self:start}
.rp-sec{display:grid;gap:12px}
.rp-sec+.rp-sec{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.rp-h{margin:0;font:500 10.5px/1.3 var(--f-m);letter-spacing:.08em;text-transform:uppercase;color:var(--tx-3)}
.rp-seg{width:100%}
.rp-seg button{flex:1 1 auto}
.rp-sum{position:sticky;top:96px;display:grid;gap:14px}
.rp-sum h3{margin:2px 0 0;font:600 22px/1.2 var(--f-d);letter-spacing:-.015em}
.rp-pages{margin:0;padding:0;list-style:none;display:grid;gap:2px;counter-reset:pg}
.rp-pages li{counter-increment:pg;display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:9px;background:var(--surface-2);font-size:13px;font-weight:500}
.rp-pages li::before{content:counter(pg);font:600 10.5px var(--f-m);color:var(--tx-3);width:16px}
.rp-pages li .i{width:15px;height:15px;color:var(--tx-3)}
.rp-note{display:flex;gap:8px;margin:0;font-size:12px;color:var(--tx-3);line-height:1.45}
.rp-note .i{width:15px;height:15px;flex:none;margin-top:1px}

/* ---------- Instagram: criar em 3 passos ---------- */
.qb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 200px;gap:14px;align-items:start}
.qb-step{position:relative;display:grid;gap:10px;padding:14px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line);min-width:0}
.qb-n{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--acc);color:var(--acc-tx);font:600 12px var(--f-m)}
[data-theme=light] .qb-n{background:var(--petrol);color:var(--sand)}
.qb-t{margin:0;font:600 14px/1.3 var(--f-d);padding-right:30px}
.qb-step .seg{display:flex;width:100%}
.qb-step .seg button{flex:1 1 auto}
.qb-hint{margin:0;font-size:12px;color:var(--tx-3);line-height:1.4}
.qb-step textarea{min-height:84px}
.qb-prev{display:grid;gap:10px}

/* ---------- impressão (PDF) ---------- */
#print{display:none}
@media print{
  @page{size:A4;margin:12mm}
  body{background:#fff!important;color:var(--ink)!important}
  body>*:not(#print){display:none!important}
  #print{display:block}
  #print,#print *{--bg:#fff;--surface:#fff;--surface-2:var(--sand-100);--line:var(--sand-300);--line-2:var(--sand-400);--tx:var(--ink);--tx-2:var(--sand-800);--tx-3:var(--sand-700);--d-main:var(--petrol-700);--d-hi:var(--flame-500);--d-grid:var(--sand-300);--d-ax:var(--sand-700);--acc:var(--petrol);--acc-soft:rgba(0,69,101,.08);--good:var(--lime-800);--alert:var(--flame-700);--h0:var(--sand-100);--h1:var(--petrol-50);--h2:var(--petrol-200);--h3:var(--petrol-400);--h4:var(--petrol-700)}
  /* no papel vale o layout de computador, mais compacto */
  #print{zoom:.74}
  #print .ledger{grid-template-columns:repeat(var(--n,4),minmax(0,1fr))!important}
  #print .ledger>div{border-top:0!important;border-left:1px solid var(--line)!important}
  #print .ledger>div:first-child{border-left:0!important}
  #print .g2,#print .g-21,#print .g-12{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #print .g-21{grid-template-columns:minmax(0,2fr) minmax(0,1fr)!important}
  #print .nets{grid-template-columns:repeat(5,minmax(0,1fr))!important}
  #print .nets .net{border-top:0!important;border-left:1px solid var(--line)!important;grid-column:auto!important}
  #print .nets .net:first-child{border-left:0!important}
  #print .flow{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:0!important}
  #print .flow::before{left:calc(100%/12)!important;right:calc(100%/12)!important;top:13px!important;bottom:auto!important;width:auto!important;height:2px!important}
  #print .fl{display:grid!important;grid-template-columns:none!important;justify-items:center!important;text-align:center!important;padding:0 6px!important}
  #print .fl-dot{grid-row:auto!important}
  #print .fl-l{grid-column:auto!important;margin:10px 0 0!important}
  #print .fl-v,#print .fl-s{grid-column:auto!important;grid-row:auto!important}
  #print .fl-cv{position:absolute!important;top:-3px!important;right:-50%!important;transform:translateX(-50%)!important;margin:0!important}
  #print .posts{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  #print .people{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  #print .kb-sum{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  #print .attn a,#print .ch a,#print .toolbar,#print .net-tabs,#print .seg,#print .callout{display:none!important}
  #print .ag-list{display:none!important}
  #print .route{display:none!important}
  .pr-page{break-after:page}
  .pr-page:last-child{break-after:auto}
  .pr-h{display:flex;gap:18px;align-items:center;padding-bottom:14px;margin-bottom:16px;border-bottom:2px solid var(--petrol)}
  .pr-h img{width:118px;height:auto;display:block}
  .pr-h h1{margin:2px 0;font:600 20px/1.2 var(--f-d)}
  .pr-m{margin:0;font-size:11px;color:var(--sand-700)}
  .pr-f{margin-top:16px;padding-top:8px;border-top:1px solid var(--sand-300);font-size:10px;color:var(--sand-700)}
  .card,.ledger,.sys,.nets,.week{break-inside:avoid;box-shadow:none!important}
  .btn,.ibtn,.wa,.no-print,.flow .pulse{display:none!important}
  .kanban{grid-auto-flow:row;grid-template-columns:repeat(4,1fr);overflow:visible}
  .kcol{min-height:0}
  .posts{grid-template-columns:repeat(4,1fr)}
  .grid,.view{gap:12px}
}

/* ---------- responsivo ---------- */
@media (max-width:1280px){
  .g3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .per-c input{width:118px}
  #pdf-btn span{display:none}
}
@media (max-width:1100px){
  .g-21,.g-12{grid-template-columns:minmax(0,1fr)}
  .ledger{grid-template-columns:repeat(var(--nt,4),minmax(0,1fr))}
  .ledger>div:nth-child(n){border-left:1px solid var(--line);border-top:1px solid var(--line)}
  .nets{grid-template-columns:repeat(3,minmax(0,1fr))}
  .nets .net:nth-child(n+4){border-top:1px solid var(--line)}
  .nets .net:nth-child(4){border-left:0}
  .ints{grid-template-columns:minmax(0,1fr)}
  .rules{grid-template-columns:minmax(0,1fr)}
  .qb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .qb-prev{grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end}
}
@media (max-width:900px){
  .shell{grid-template-columns:minmax(0,1fr);background:none}
  .side{position:fixed;left:0;top:0;bottom:0;width:min(300px,86vw);transform:translateX(-102%);transition:transform .25s var(--ease)}
  body.menu-on .side{transform:none}
  .side-bg{position:fixed;inset:0;z-index:25;background:rgba(0,7,28,.5)}
  body.menu-on .side-bg{display:block}
  .side-x{display:inline-grid!important}
  .burger{display:inline-grid!important}
  .top{flex-wrap:wrap;gap:10px 12px;padding-top:12px;padding-bottom:12px}
  .top-t h1{font-size:19px}
  .top-a{width:100%;order:3}
  .per{flex:1;min-width:0}
  .per select{flex:1;min-width:0}
  .per-c{flex-wrap:wrap}
  .g2,.g3{grid-template-columns:minmax(0,1fr)}
  .people{grid-template-columns:repeat(var(--cols-t,1),minmax(0,1fr))}
  .posts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .login{grid-template-columns:minmax(0,1fr)}
  .lg-scene{min-height:340px;height:44svh}
  .lg-cap h2{font-size:34px}
  .lg-cap p,.lg-areas{display:none}
  .lg-panel{border-left:0;border-top:1px solid var(--ink-600);padding:32px 20px 40px;place-items:start center}
  .flow{grid-template-columns:minmax(0,1fr);gap:0}
  .flow::before{left:13px;right:auto;top:14px;bottom:14px;width:2px;height:auto}
  .flow .pulse{display:none}
  .fl{grid-template-columns:28px minmax(0,1fr) auto;justify-items:start;text-align:left;column-gap:14px;row-gap:0;padding:0 0 16px;align-items:center}
  .fl:last-child{padding-bottom:0}
  .fl-dot{grid-row:span 2}
  .fl-l{margin:0;grid-column:2}
  .fl-v{grid-column:3;grid-row:1/span 2;font-size:22px}
  .fl-s{grid-column:2}
  .fl-cv{position:static;transform:none;grid-column:2;margin-top:4px;justify-self:start}
  .kb-sum{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kb-sum>div:nth-child(3){border-left:0}
  .kb-sum>div:nth-child(n+3){border-top:1px solid var(--line)}
  .checks{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .ledger{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .ledger>div:nth-child(odd){border-left:0}
  .ledger>div:nth-child(-n+2){border-top:0}
  .ld-v{font-size:21px}
  .nets{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nets .net:nth-child(n){border-left:1px solid var(--line);border-top:1px solid var(--line)}
  .nets .net:nth-child(odd){border-left:0}
  .nets .net:nth-child(-n+2){border-top:0}
  .nets .net:last-child:nth-child(odd){grid-column:span 2}
  .f2{grid-template-columns:minmax(0,1fr)}
  .srch input{width:100%}
  .srch{flex:1 1 100%}
  .tb-l>select.inp{flex:1 1 140px;min-width:0;width:auto!important}
  .tb-l{width:100%}
  .card{padding:16px}
  .view{padding-left:16px;padding-right:16px}
  .top{padding-left:16px;padding-right:16px}
  .per-l{padding-left:16px;padding-right:16px}
  .funnel li{grid-template-columns:86px minmax(0,1fr) 72px;gap:8px}
  .qr-wrap{grid-template-columns:minmax(0,1fr);justify-items:center}
  .otp input{height:50px;font-size:21px}
  .kanban{grid-auto-columns:minmax(252px,84vw)}
  .rc-list{grid-template-columns:minmax(0,1fr)}
  .kv div{grid-template-columns:96px 1fr}
  .route{display:none}
  .ck-btn{min-width:0;padding:0;width:38px;justify-content:center}
  .ck-btn span,.ck-btn kbd{display:none}
  .pill.demo{font-size:0;gap:0;padding:6px}
  .pill.demo .i{width:15px;height:15px}
  .per select{font-size:13px}
  .kb-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
  .kb-tabs button{flex:none;display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:99px;border:1px solid var(--line);background:var(--surface);font-size:12.5px;font-weight:600;color:var(--tx-2)}
  .kb-tabs button[aria-selected=true]{border-color:var(--acc);color:var(--tx);background:var(--acc-soft)}
  [data-theme=light] .kb-tabs button[aria-selected=true]{border-color:var(--petrol)}
  .kb-tabs b{font:600 11px var(--f-m);color:var(--tx-3)}
  .kanban{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:minmax(0,1fr);overflow:visible}
  .kanban .kcol{display:none;min-height:0}
  .kanban .kcol.mob-on{display:flex}
  .next{margin-left:0;width:100%}
  .next b{max-width:100%}
  .today h2{flex:1 1 100%}
  .people{grid-template-columns:minmax(0,1fr)}
  .rules{grid-template-columns:minmax(0,1fr)}
  .rule{grid-template-columns:minmax(0,1fr)}
  .opt-grid{grid-template-columns:minmax(0,1fr)}
  .opt.wide{grid-column:auto}
  .lc-top{grid-template-columns:minmax(0,1fr)}
  .lc-val{justify-items:start;text-align:left}
  .person header{flex-wrap:wrap}
  .person header .pill{margin-left:58px}
}

/* movimento reduzido: tudo parado no estado final */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .flow .pulse{display:none}
  .view.enter>*{animation:none}
  .skel i{animation:none}
}
