/* ═══════════════════════════════════════════════════════════════
   VIZU BACKSTAGE · design system
   Anton (display) · Space Grotesk (texto) · Instrument Serif (acento)
   Sem estilos inline: cores dinâmicas chegam por custom properties (--c).
   ═══════════════════════════════════════════════════════════════ */

@font-face{font-family:"Anton";src:url(../fonts/anton.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Space Grotesk";src:url(../fonts/space-grotesk.woff2) format("woff2");font-weight:300 700;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url(../fonts/instrument-serif-italic.woff2) format("woff2");font-style:italic;font-display:swap}

:root{
  --yellow:#FEC802;--pink:#EF339C;--purple:#7B30F1;--night:#351A60;--aubergine:#47193C;
  --ok:#2ED47A;--warn:#FEC802;--bad:#FF4D6D;--info:#35C6F4;
  --font-d:"Anton",Impact,sans-serif;--font-b:"Space Grotesk",system-ui,sans-serif;--font-s:"Instrument Serif",Georgia,serif;
  --r-s:10px;--r:16px;--r-l:24px;--r-xl:34px;
  --ease:cubic-bezier(.16,1,.3,1);--ease-io:cubic-bezier(.7,0,.2,1);
  --side:248px;--top:72px;
  --chart-in:#B88A00;--chart-out:#EF339C;
}
[data-theme="dark"]{
  --bg:#0D0A12;--bg2:#120D18;--card:#161020;--card2:#1D1529;--ink:#F4EEE2;--soft:#A79FB5;--muted:#6F667D;
  --line:rgba(244,238,226,.10);--line2:rgba(244,238,226,.18);--wash:rgba(244,238,226,.05);
  --glow-a:rgba(123,48,241,.28);--glow-b:rgba(239,51,156,.20);--shadow:0 30px 80px -30px rgba(0,0,0,.8);
  --hatch:rgba(239,51,156,.10);--accent-ink:#FEC802;
}
[data-theme="light"]{
  --bg:#F3EDE2;--bg2:#EDE5D7;--card:#FCF9F2;--card2:#F5EFE4;--ink:#120D18;--soft:#5A5263;--muted:#8D8496;
  --line:rgba(18,13,24,.10);--line2:rgba(18,13,24,.20);--wash:rgba(18,13,24,.04);
  --glow-a:rgba(123,48,241,.14);--glow-b:rgba(239,51,156,.10);--shadow:0 30px 70px -35px rgba(40,20,60,.35);
  --hatch:rgba(239,51,156,.08);--accent-ink:#7B30F1;
  --chart-in:#C79A00;--chart-out:#D1307F;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scrollbar-color:var(--line2) transparent}
body{background:var(--bg);color:var(--ink);font:15px/1.55 var(--font-b);-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden;transition:background .5s,color .5s}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
img,svg,video{display:block;max-width:100%}
ul{list-style:none}
::selection{background:var(--yellow);color:#120D18}
:focus-visible{outline:2px solid var(--yellow);outline-offset:3px;border-radius:6px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.noscript{padding:40px;text-align:center}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line2);border-radius:10px;border:3px solid var(--bg)}::-webkit-scrollbar-track{background:transparent}

/* grão analógico */
.grain{position:fixed;inset:-50%;z-index:9000;pointer-events:none;opacity:.35;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 7s steps(8) infinite}
@keyframes grain{0%,100%{transform:translate(0,0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-2%)}}
@media (prefers-reduced-motion:reduce){.grain{animation:none}*{scroll-behavior:auto!important}}

/* ── tipografia ── */
.d{font-family:var(--font-d);font-weight:400;text-transform:uppercase;line-height:.92;letter-spacing:.005em}
.s{font-family:var(--font-s);font-style:italic;text-transform:none;letter-spacing:0}
.h1{font-size:clamp(40px,6.2vw,96px)}.h2{font-size:clamp(30px,3.6vw,52px)}.h3{font-size:clamp(22px,2vw,30px)}.h4{font-size:19px}
.h1 .s,.h2 .s{color:var(--pink);font-size:1.02em}
.outline{color:transparent;-webkit-text-stroke:1.5px var(--ink)}
.kicker{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--pink)}
.kicker::before{content:"";width:28px;height:2px;background:currentColor}
.soft{color:var(--soft)}.muted{color:var(--muted)}.small{font-size:13px}.tiny{font-size:11.5px}
.mono{font-variant-numeric:tabular-nums}
.star{color:var(--yellow)}
.line-clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nowrap{white-space:nowrap}.grow{flex:1}.row{display:flex;align-items:center;gap:10px}.row.wrap{flex-wrap:wrap}.col{display:flex;flex-direction:column;gap:10px}
.between{justify-content:space-between}.end{justify-content:flex-end}.center{text-align:center}
.mt{margin-top:18px}.mt2{margin-top:32px}.mb{margin-bottom:18px}.gap-s{gap:6px}.gap-l{gap:18px}

/* ── boot ── */
#app.is-booting{min-height:100vh;display:grid;place-items:center}
.boot{font-family:var(--font-d);font-size:90px;display:flex;align-items:flex-start;color:var(--ink)}
.boot-star{color:var(--yellow);font-size:.4em;animation:spin 1.6s var(--ease) infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ══════════════ LAYOUT ══════════════ */
.shell{display:grid;grid-template-columns:var(--side) 1fr;min-height:100vh}
.side{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:22px 16px;border-right:1px solid var(--line);background:linear-gradient(180deg,var(--bg2),var(--bg));z-index:50}
.brand{display:flex;align-items:center;gap:10px;padding:4px 10px 22px}
.brand img{height:34px;width:auto}
.brand .logo-dark{display:none}[data-theme="light"] .brand .logo-dark{display:block}[data-theme="light"] .brand .logo-light{display:none}
.brand small{font-family:var(--font-s);font-style:italic;font-size:19px;color:var(--pink);line-height:1;transform:translateY(6px)}
.nav{display:flex;flex-direction:column;gap:3px;position:relative}
.nav-sec{font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);padding:16px 12px 6px}
.nav a{position:relative;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;color:var(--soft);font-weight:500;font-size:14.5px;transition:color .25s,background .25s;z-index:1}
.nav a svg{width:19px;height:19px;flex:0 0 19px}
.nav a:hover{color:var(--ink);background:var(--wash)}
.nav a.on{color:var(--ink)}
.nav a .badge{margin-left:auto}
.nav-ind{position:absolute;left:0;right:0;height:42px;border-radius:12px;background:var(--card2);border:1px solid var(--line);z-index:0;pointer-events:none;opacity:0}
.nav-ind::before{content:"✦";position:absolute;left:-9px;top:50%;transform:translateY(-50%);color:var(--yellow);font-size:14px}
.side-foot{margin-top:auto;padding-top:16px;display:flex;flex-direction:column;gap:10px}
.side-user{display:flex;align-items:center;gap:10px;padding:10px;border-radius:14px;border:1px solid var(--line);background:var(--card)}
.side-user b{display:block;font-size:14px;line-height:1.2}
.side-user span{font-size:12px;color:var(--muted)}
.main{min-width:0;display:flex;flex-direction:column}
.top{position:sticky;top:0;z-index:40;height:var(--top);display:flex;align-items:center;gap:12px;padding:0 28px;background:color-mix(in srgb,var(--bg) 80%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.top .burger{display:none}
.search-btn{display:flex;align-items:center;gap:10px;height:42px;padding:0 14px;border-radius:99px;border:1px solid var(--line);background:var(--card);color:var(--muted);min-width:260px;transition:border-color .2s}
.search-btn:hover{border-color:var(--line2)}
.search-btn kbd{margin-left:auto;font:600 11px var(--font-b);padding:2px 7px;border-radius:6px;border:1px solid var(--line2)}
.page{padding:34px 28px 90px;max-width:1560px;width:100%;margin:0 auto;position:relative}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px;flex-wrap:wrap}
.page-head .kicker{margin-bottom:12px}

/* ══════════════ COMPONENTES ══════════════ */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:9px;height:44px;padding:0 20px;border-radius:99px;font-weight:700;font-size:13px;letter-spacing:.05em;text-transform:uppercase;border:1px solid var(--line2);overflow:hidden;isolation:isolate;white-space:nowrap;transition:color .35s var(--ease),border-color .35s,transform .2s;user-select:none}
.btn::after{content:"";position:absolute;inset:0;background:var(--pink);transform:translateY(102%);transition:transform .45s var(--ease-io);z-index:-1;border-radius:inherit}
.btn:hover{color:#fff;border-color:var(--pink)}.btn:hover::after{transform:translateY(0)}
.btn:active{transform:scale(.97)}
.btn svg{width:17px;height:17px}
.btn-y{background:var(--yellow);color:#120D18;border-color:var(--yellow)}
.btn-y::after{background:#120D18}.btn-y:hover{color:var(--yellow);border-color:#120D18}
.btn-p{background:var(--purple);color:#fff;border-color:var(--purple)}
.btn-ok{background:var(--ok);color:#06140c;border-color:var(--ok)}.btn-ok::after{background:#06140c}.btn-ok:hover{color:var(--ok)}
.btn-ghost{border-color:transparent}.btn-ghost:hover{border-color:var(--pink)}
.btn-s{height:34px;padding:0 14px;font-size:11.5px}
.btn-xl{height:58px;padding:0 32px;font-size:15px}
.btn[disabled]{opacity:.45;pointer-events:none}
.btn.is-loading{pointer-events:none;color:transparent!important}
.btn.is-loading::before{content:"";position:absolute;width:18px;height:18px;border-radius:50%;border:2px solid currentColor;border-color:var(--ink) transparent var(--ink) transparent;animation:spin .8s linear infinite;z-index:2}
.btn-y.is-loading::before{border-color:#120D18 transparent #120D18 transparent}
.ibtn{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line);background:var(--card);transition:transform .35s var(--ease),border-color .2s,background .2s;position:relative}
.ibtn:hover{border-color:var(--line2);transform:rotate(-8deg)}
.ibtn svg{width:18px;height:18px}
.ibtn .dot{position:absolute;top:6px;right:6px;min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:var(--pink);color:#fff;font-size:10.5px;font-weight:700;display:grid;place-items:center;border:2px solid var(--bg)}
.ibtn-s{width:32px;height:32px;flex-basis:32px}.ibtn-s svg{width:15px;height:15px}

.card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);padding:22px;transition:border-color .3s,transform .5s var(--ease)}
.card.glow{--mx:50%;--my:50%}
.card.glow::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:radial-gradient(420px circle at var(--mx) var(--my),rgba(254,200,2,.55),rgba(239,51,156,.35) 35%,transparent 60%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s;pointer-events:none}
.card.glow:hover::before{opacity:1}
.card-h{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.card-h h3{font-family:var(--font-d);font-weight:400;text-transform:uppercase;font-size:21px;letter-spacing:.01em}
.card-link{font-size:12.5px;font-weight:600;color:var(--soft);display:inline-flex;gap:6px;align-items:center}
.card-link:hover{color:var(--yellow)}
.grid{display:grid;gap:18px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.g-dash{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
.span2{grid-column:span 2}

.pill{display:inline-flex;align-items:center;gap:7px;height:26px;padding:0 11px;border-radius:99px;font-size:11.5px;font-weight:700;letter-spacing:.03em;border:1px solid color-mix(in srgb,var(--c,#999) 45%,transparent);background:color-mix(in srgb,var(--c,#999) 14%,transparent);color:var(--ink);white-space:nowrap}
.pill i{width:7px;height:7px;border-radius:50%;background:var(--c,#999);flex:0 0 7px}
.pill-s{height:21px;padding:0 8px;font-size:10.5px}
.badge{min-width:22px;height:22px;padding:0 7px;border-radius:99px;background:var(--pink);color:#fff;font-size:11px;font-weight:700;display:inline-grid;place-items:center}
.badge.y{background:var(--yellow);color:#120D18}
.net{--c:#999;display:inline-grid;place-items:center;width:24px;height:24px;border-radius:8px;background:color-mix(in srgb,var(--c) 22%,var(--card));border:1px solid color-mix(in srgb,var(--c) 60%,transparent);font:700 9.5px/1 var(--font-b);letter-spacing:.02em;color:var(--ink);flex:0 0 24px}
.net-s{width:18px;height:18px;flex-basis:18px;border-radius:6px;font-size:8px}
.net-l{width:36px;height:36px;flex-basis:36px;border-radius:12px;font-size:12px}
.nets{display:flex;gap:4px;flex-wrap:wrap}
.av{--c:#7B30F1;width:32px;height:32px;flex:0 0 32px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--c),color-mix(in srgb,var(--c) 50%,#000));border:2px solid var(--card)}
.av-l{width:48px;height:48px;flex-basis:48px;font-size:16px}.av-s{width:24px;height:24px;flex-basis:24px;font-size:9.5px}
.avs{display:flex}.avs .av+.av{margin-left:-9px}
.logo-chip{--c:#7B30F1;width:40px;height:40px;flex:0 0 40px;border-radius:12px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,var(--c),var(--c2,#EF339C));font:400 17px var(--font-d);color:#fff;text-transform:uppercase}
.logo-chip img{width:100%;height:100%;object-fit:cover;background:#fff}
.logo-chip-l{width:84px;height:84px;flex-basis:84px;border-radius:24px;font-size:36px}
.logo-chip-s{width:26px;height:26px;flex-basis:26px;border-radius:8px;font-size:12px}

.empty{text-align:center;padding:48px 20px;color:var(--soft)}
.empty img{width:150px;margin:0 auto 14px;opacity:.9;filter:drop-shadow(0 20px 30px rgba(0,0,0,.4))}
.empty b{display:block;font-family:var(--font-d);font-weight:400;text-transform:uppercase;font-size:24px;color:var(--ink);margin-bottom:6px}

/* formulários */
.field{display:flex;flex-direction:column;gap:7px;min-width:0}
.field>label,.lbl{font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--soft)}
.field .hint{font-size:12px;color:var(--muted)}
.inp,.sel,.ta{width:100%;height:46px;padding:0 15px;border-radius:14px;border:1px solid var(--line);background:var(--bg2);outline:0;transition:border-color .2s,box-shadow .2s,background .2s}
.ta{height:auto;min-height:110px;padding:13px 15px;resize:vertical;line-height:1.55}
.sel{appearance:none;padding-right:38px;background-image:linear-gradient(45deg,transparent 50%,var(--soft) 50%),linear-gradient(135deg,var(--soft) 50%,transparent 50%);background-position:calc(100% - 20px) 20px,calc(100% - 15px) 20px;background-size:5px 5px;background-repeat:no-repeat}
.inp:focus,.sel:focus,.ta:focus{border-color:var(--purple);box-shadow:0 0 0 4px color-mix(in srgb,var(--purple) 22%,transparent);background:var(--card)}
.inp::placeholder,.ta::placeholder{color:var(--muted)}
.inp[type=color]{padding:4px;width:56px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.form-grid .full{grid-column:1/-1}
.form-grid.g3f{grid-template-columns:repeat(3,minmax(0,1fr))}
.chk{display:inline-flex;align-items:center;gap:10px;cursor:pointer;user-select:none;font-size:14px}
.chk input{appearance:none;width:44px;height:26px;border-radius:99px;background:var(--line2);position:relative;transition:background .3s;cursor:pointer;flex:0 0 44px}
.chk input::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .35s var(--ease)}
.chk input:checked{background:var(--purple)}.chk input:checked::after{transform:translateX(18px)}
.chips{display:flex;flex-wrap:wrap;gap:7px}
.chip{--c:var(--purple);display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 13px;border-radius:99px;border:1px solid var(--line);background:var(--bg2);font-size:13px;font-weight:500;cursor:pointer;transition:all .25s var(--ease);user-select:none}
.chip:hover{border-color:var(--line2)}
.chip i{width:8px;height:8px;border-radius:50%;background:var(--c)}
.chip.on{background:color-mix(in srgb,var(--c) 20%,var(--bg2));border-color:var(--c);color:var(--ink)}
.chip .net{margin-left:-6px}
.seg{display:inline-flex;padding:4px;border-radius:99px;background:var(--bg2);border:1px solid var(--line);position:relative;gap:2px;flex-wrap:wrap}
.seg button{height:34px;padding:0 15px;border-radius:99px;font-size:12.5px;font-weight:600;color:var(--soft);position:relative;z-index:1;transition:color .25s}
.seg button.on{color:#120D18;background:var(--yellow)}
.seg button:not(.on):hover{color:var(--ink)}
.err-msg{color:var(--bad);font-size:13px;min-height:18px}

.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:24px;overflow-x:auto;scrollbar-width:none}
.tabs button{position:relative;padding:12px 16px;font-weight:600;font-size:14px;color:var(--soft);white-space:nowrap;transition:color .2s}
.tabs button.on{color:var(--ink)}
.tabs button.on::after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:3px;border-radius:3px 3px 0 0;background:linear-gradient(90deg,var(--yellow),var(--pink))}

/* tabelas */
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-l);background:var(--card)}
.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th{text-align:left;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700;padding:14px 16px;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--card2)}
.tbl td{padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:middle}
.tbl tr:last-child td{border-bottom:0}
.tbl tbody tr{transition:background .2s}.tbl tbody tr:hover{background:var(--wash)}
.tbl .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.amt-in{color:var(--ok)}.amt-out{color:var(--pink)}

/* stats */
.stat{padding:22px;border-radius:var(--r-l);background:var(--card);border:1px solid var(--line);position:relative;overflow:hidden}
.stat .lbl{display:block;margin-bottom:12px}
.stat .v{font-family:var(--font-d);font-size:clamp(30px,3vw,44px);line-height:1;font-variant-numeric:tabular-nums}
.stat .sub{font-size:12.5px;color:var(--muted);margin-top:8px}
.stat.hl{background:linear-gradient(135deg,var(--purple),var(--pink));border-color:transparent;color:#fff}
.stat.hl .lbl,.stat.hl .sub{color:rgba(255,255,255,.8)}
.stat.y{background:var(--yellow);color:#120D18;border-color:transparent}.stat.y .lbl,.stat.y .sub{color:rgba(18,13,24,.7)}
.bar{height:8px;border-radius:99px;background:var(--line);overflow:hidden}
.bar i{display:block;height:100%;width:var(--w,0%);border-radius:99px;background:linear-gradient(90deg,var(--yellow),var(--pink));transition:width 1.2s var(--ease)}

/* lista de itens */
.list{display:flex;flex-direction:column}
.li{display:flex;align-items:center;gap:14px;padding:12px 6px;border-bottom:1px solid var(--line);border-radius:12px;transition:background .2s,padding .3s var(--ease);cursor:pointer}
.li:last-child{border-bottom:0}
.li:hover{background:var(--wash);padding-left:12px}
.li .thumb{width:48px;height:48px;border-radius:12px;overflow:hidden;flex:0 0 48px;background:var(--card2);display:grid;place-items:center;color:var(--muted)}
.li .thumb img{width:100%;height:100%;object-fit:cover}
.li .thumb svg{width:20px;height:20px}
.li-t{font-weight:600;line-height:1.3}
.li-s{font-size:12.5px;color:var(--muted)}
.date-box{width:48px;flex:0 0 48px;text-align:center;border-radius:12px;padding:6px 0;background:var(--card2);border:1px solid var(--line)}
.date-box b{display:block;font-family:var(--font-d);font-size:22px;line-height:1;font-weight:400}
.date-box span{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}

/* ══════════════ OVERLAYS ══════════════ */
.ov{position:fixed;inset:0;z-index:500;display:flex;align-items:center;justify-content:center;padding:20px}
.ov-bg{position:absolute;inset:0;background:rgba(8,5,12,.66);backdrop-filter:blur(8px)}
.modal{position:relative;width:min(640px,100%);max-height:calc(100vh - 40px);overflow:auto;background:var(--card);border:1px solid var(--line2);border-radius:var(--r-xl);box-shadow:var(--shadow);padding:30px}
.modal.wide{width:min(1180px,100%)}
.modal.xwide{width:min(1400px,100%);padding:0}
.modal-h{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px}
.modal-h h2{font-family:var(--font-d);font-weight:400;text-transform:uppercase;font-size:32px;line-height:1}
.modal-f{display:flex;justify-content:flex-end;gap:10px;margin-top:26px;flex-wrap:wrap}
.drawer-ov{justify-content:flex-end;padding:0}
.drawer{position:relative;height:100%;width:min(560px,100%);background:var(--card);border-left:1px solid var(--line2);overflow:auto;padding:30px}
.pop{position:fixed;z-index:600;min-width:220px;max-width:340px;background:var(--card2);border:1px solid var(--line2);border-radius:18px;box-shadow:var(--shadow);padding:8px}
.pop .it{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:12px;text-align:left;font-size:14px}
.pop .it:hover{background:var(--wash)}
.pop .it svg{width:16px;height:16px;color:var(--soft)}
.toasts{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:9500;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}
.toast{pointer-events:auto;display:flex;align-items:center;gap:12px;padding:13px 20px 13px 16px;border-radius:99px;background:var(--ink);color:var(--bg);font-weight:600;font-size:14px;box-shadow:var(--shadow)}
.toast .t-ic{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);color:#120D18;font-size:14px}
.toast.err .t-ic{background:var(--bad);color:#fff}
.curtain{position:fixed;inset:0;z-index:8000;pointer-events:none;display:none;place-items:center;background:var(--pink)}
.curtain span{font-family:var(--font-d);font-size:120px;color:#fff;line-height:1}
.curtain span b{color:var(--yellow);font-weight:400;font-size:.4em;vertical-align:top}
.burst{position:fixed;pointer-events:none;z-index:9600;color:var(--yellow);font-size:22px;line-height:1}

/* paleta de comandos */
.cmd{width:min(680px,100%);padding:0;overflow:hidden}
.cmd-in{display:flex;align-items:center;gap:12px;padding:18px 22px;border-bottom:1px solid var(--line)}
.cmd-in input{flex:1;background:none;border:0;outline:0;font-size:19px}
.cmd-res{max-height:420px;overflow:auto;padding:8px}
.cmd-g{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:700;padding:12px 14px 6px}
.cmd-it{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:12px;cursor:pointer}
.cmd-it.on,.cmd-it:hover{background:var(--wash)}

/* ══════════════ LOGIN ══════════════ */
.auth{min-height:100vh;display:grid;grid-template-columns:1.15fr 1fr;position:relative;overflow:hidden}
.auth-art{position:relative;overflow:hidden;background:radial-gradient(ellipse at 30% 20%,var(--night),transparent 60%),radial-gradient(ellipse at 80% 90%,var(--aubergine),transparent 60%),#0D0A12;padding:44px;display:flex;flex-direction:column;justify-content:space-between;color:#F4EEE2}
.auth-art .brand img{height:42px}
.auth-title{font-family:var(--font-d);text-transform:uppercase;font-size:clamp(70px,11vw,190px);line-height:.84;position:relative;z-index:2}
.auth-title .l{display:block;overflow:hidden}
.auth-title .l>span{display:inline-block}
.auth-title .s{color:var(--pink);font-size:.55em;text-transform:none}
.auth-title .outline{-webkit-text-stroke:2px #F4EEE2}
.auth-art .col-art{position:absolute;z-index:1;pointer-events:none;filter:drop-shadow(0 30px 40px rgba(0,0,0,.5))}
.auth-art .a1{width:clamp(180px,24vw,360px);right:-2%;top:10%;transform:rotate(8deg)}
.auth-art .a2{width:clamp(110px,12vw,200px);right:4%;bottom:16%;transform:rotate(-10deg)}
.auth-art .a3{width:clamp(140px,15vw,240px);left:52%;top:6%;transform:rotate(-6deg);opacity:.95}
.ticker{position:relative;z-index:3;overflow:hidden;white-space:nowrap;background:var(--yellow);color:#120D18;transform:rotate(-2deg);margin:0 -60px;padding:12px 0}
.ticker-in{display:inline-flex;gap:28px;font-family:var(--font-d);font-size:26px;text-transform:uppercase;animation:tick 22s linear infinite}
.ticker-in span{display:inline-flex;align-items:center;gap:28px}.ticker .star{color:var(--pink)}
@keyframes tick{to{transform:translateX(-50%)}}
.auth-form{display:flex;align-items:center;justify-content:center;padding:40px;background:var(--bg);position:relative}
.auth-box{width:min(420px,100%)}
.auth-box h1{font-family:var(--font-d);font-weight:400;font-size:52px;text-transform:uppercase;line-height:.95;margin:14px 0 10px}
.auth-box h1 .s{color:var(--pink)}
.auth-box form{display:flex;flex-direction:column;gap:16px;margin-top:28px}
.otp{display:flex;gap:10px;justify-content:space-between}
.otp input{width:52px;height:62px;text-align:center;font:400 30px var(--font-d);border-radius:14px;border:1px solid var(--line2);background:var(--bg2);outline:0;transition:border-color .2s,transform .2s}
.otp input:focus{border-color:var(--yellow);transform:translateY(-3px)}
.lock-note{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;color:var(--muted);margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.lock-note svg{width:16px;height:16px;flex:0 0 16px;margin-top:2px;color:var(--ok)}
.pw-meter{display:flex;gap:4px;margin-top:2px}.pw-meter i{flex:1;height:4px;border-radius:4px;background:var(--line)}
.pw-meter[data-s="1"] i:nth-child(-n+1){background:var(--bad)}.pw-meter[data-s="2"] i:nth-child(-n+2){background:#FF9F43}.pw-meter[data-s="3"] i:nth-child(-n+3){background:var(--yellow)}.pw-meter[data-s="4"] i{background:var(--ok)}

/* ══════════════ HERO / PAINEL ══════════════ */
.hero{position:relative;border-radius:var(--r-xl);padding:38px;overflow:hidden;background:linear-gradient(120deg,var(--night),var(--aubergine) 60%,#2a0f24);color:#F4EEE2;margin-bottom:22px;isolation:isolate}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 20%,rgba(254,200,2,.25),transparent 40%),radial-gradient(circle at 10% 110%,rgba(239,51,156,.35),transparent 45%);z-index:-1}
.hero h1{font-family:var(--font-d);font-weight:400;text-transform:uppercase;font-size:clamp(44px,6vw,92px);line-height:.9}
.hero h1 .s{color:var(--yellow)}
.hero p{color:rgba(244,238,226,.78);max-width:560px;margin-top:14px}
.hero .hero-art{position:absolute;right:30px;bottom:-30px;width:clamp(140px,18vw,260px);z-index:-1;transform:rotate(-8deg);filter:drop-shadow(0 20px 30px rgba(0,0,0,.4))}
.hero .row{margin-top:24px}
.hero .btn{border-color:rgba(255,255,255,.3);color:#fff}
.hero .btn-y{color:#120D18;border-color:var(--yellow)}
.ring{--p:0;width:120px;height:120px;border-radius:50%;background:conic-gradient(var(--yellow) calc(var(--p)*1%),rgba(255,255,255,.12) 0);display:grid;place-items:center;flex:0 0 120px}
.ring>div{width:94px;height:94px;border-radius:50%;background:var(--aubergine);display:grid;place-items:center;text-align:center}
.ring b{font-family:var(--font-d);font-size:32px;font-weight:400;line-height:1}
.ring span{font-size:10px;letter-spacing:.14em;text-transform:uppercase;opacity:.75}
.statusbar{display:flex;height:12px;border-radius:99px;overflow:hidden;background:var(--line);gap:2px}
.statusbar i{--c:#999;display:block;height:100%;background:var(--c);flex:var(--f,1)}
.legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:12px;font-size:12.5px;color:var(--soft)}
.legend span{display:inline-flex;align-items:center;gap:7px}
.legend i{--c:#999;width:10px;height:10px;border-radius:3px;background:var(--c)}

/* ══════════════ CALENDÁRIO ══════════════ */
.cal-top{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:18px}
.cal-title{display:flex;align-items:baseline;gap:14px;font-family:var(--font-d);text-transform:uppercase;font-size:clamp(46px,7vw,110px);line-height:.85}
.cal-title .y{font-family:var(--font-s);text-transform:none;font-size:.5em;color:var(--pink)}
.cal-nav{display:flex;gap:8px;align-items:center}
.cal-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.themes{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.theme-rib{--c:#B28DFF;display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:99px;background:color-mix(in srgb,var(--c) 16%,transparent);border:1px dashed color-mix(in srgb,var(--c) 70%,transparent);font-size:12.5px;font-weight:600}
.theme-rib::before{content:"✦";color:var(--c)}
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.cal-dow{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);padding:0 10px 4px}
.day{position:relative;min-height:148px;border-radius:18px;background:var(--card);border:1px solid var(--line);padding:10px;display:flex;flex-direction:column;gap:6px;transition:border-color .25s,background .25s,transform .45s var(--ease);overflow:hidden}
.day:hover{border-color:var(--line2)}
.day.out{opacity:.35}
.day.wk{background:color-mix(in srgb,var(--card) 70%,var(--bg))}
.day.hol{background:repeating-linear-gradient(135deg,var(--card) 0 10px,var(--hatch) 10px 20px);border-color:color-mix(in srgb,var(--pink) 45%,transparent)}
.day.today{border-color:var(--yellow);box-shadow:0 0 0 1px var(--yellow),0 18px 40px -18px rgba(254,200,2,.5)}
.day.drop{border-color:var(--pink);background:color-mix(in srgb,var(--pink) 12%,var(--card));transform:scale(1.02)}
.day-h{display:flex;align-items:center;justify-content:space-between;gap:6px}
.day-n{font-family:var(--font-d);font-size:24px;line-height:1}
.day.today .day-n{color:var(--yellow)}
.day.today .day-n::after{content:"✦";font-size:.5em;vertical-align:top;margin-left:2px}
.day-add{opacity:0;transition:opacity .2s,transform .3s var(--ease)}
.day:hover .day-add{opacity:1}
.day-dates{display:flex;flex-direction:column;gap:3px;min-width:0}
.dt{--c:#999;display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;line-height:1.2;color:var(--ink);min-width:0;cursor:pointer;border-radius:6px;padding:1px 0}
.dt i{width:6px;height:6px;border-radius:50%;background:var(--c);flex:0 0 6px}
.dt span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dt.h{color:var(--pink);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:10.5px}
.dt.fav span{text-decoration:underline;text-decoration-color:var(--c);text-underline-offset:3px}
.more{align-self:flex-start;font-size:10.5px;font-weight:700;color:var(--muted);padding:2px 8px;border-radius:99px;border:1px dashed var(--line2);transition:color .2s,border-color .2s}
.more:hover{color:var(--yellow);border-color:var(--yellow)}
.day-posts{display:flex;flex-direction:column;gap:5px;margin-top:auto}
.pc{--c:#999;position:relative;display:flex;align-items:center;gap:8px;padding:5px;border-radius:12px;background:var(--card2);border:1px solid var(--line);cursor:pointer;transition:transform .35s var(--ease),border-color .2s,box-shadow .3s;min-width:0}
.pc:hover{transform:translateY(-2px) scale(1.02);border-color:var(--c);box-shadow:0 12px 24px -14px var(--c)}
.pc.dragging{opacity:.4}
.pc-th{width:34px;height:34px;flex:0 0 34px;border-radius:9px;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--cc,#7B30F1) 70%,#000),var(--cc2,#EF339C));display:grid;place-items:center;color:#fff;position:relative}
.pc-th img{width:100%;height:100%;object-fit:cover}
.pc-th svg{width:14px;height:14px}
.pc-th .vid{position:absolute;inset:auto 2px 2px auto;width:12px;height:12px;border-radius:50%;background:rgba(0,0,0,.6);display:grid;place-items:center}
.pc-th .vid svg{width:7px;height:7px}
.pc-b{min-width:0;flex:1}
.pc-t{font-size:11.5px;font-weight:600;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pc-m{display:flex;align-items:center;gap:4px;margin-top:2px}
.pc-m .st{width:7px;height:7px;border-radius:50%;background:var(--c);flex:0 0 7px}
.pc-m .tm{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}
.pc .cl{--c:#7B30F1;position:absolute;left:-1px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--c)}
/* calendário no portal do cliente: maior e mais visual */
.cal.big .day{min-height:190px}
.cal.big .pc{flex-direction:column;align-items:stretch;padding:4px;gap:4px}
.cal.big .pc-th{width:100%;height:auto;aspect-ratio:4/5;flex:none;border-radius:10px}
.cal.big .pc-th .vid{width:22px;height:22px;inset:auto 6px 6px auto}.cal.big .pc-th .vid svg{width:10px;height:10px}
.cal.big .pc-m{padding:0 3px 2px}
/* semana/lista */
.agenda{display:flex;flex-direction:column;gap:12px}
.ag-day{display:grid;grid-template-columns:110px 1fr;gap:18px;padding:16px;border-radius:var(--r-l);background:var(--card);border:1px solid var(--line)}
.ag-day.today{border-color:var(--yellow)}
.ag-date b{font-family:var(--font-d);font-size:44px;line-height:1;display:block;font-weight:400}
.ag-date span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.ag-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.pcard{--c:#999;border-radius:18px;overflow:hidden;background:var(--card2);border:1px solid var(--line);cursor:pointer;transition:transform .45s var(--ease),border-color .25s}
.pcard:hover{transform:translateY(-4px);border-color:var(--c)}
.pcard-m{aspect-ratio:4/5;background:linear-gradient(135deg,color-mix(in srgb,var(--cc,#7B30F1) 70%,#000),var(--cc2,#EF339C));display:grid;place-items:center;position:relative;overflow:hidden;color:#fff}
.pcard-m img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.pcard:hover .pcard-m img{transform:scale(1.06)}
.pcard-m .fmt{position:absolute;left:10px;top:10px;display:flex;gap:4px}
.pcard-m .kind{position:absolute;right:10px;top:10px;width:30px;height:30px;border-radius:50%;background:rgba(0,0,0,.55);display:grid;place-items:center;backdrop-filter:blur(6px)}
.pcard-m .kind svg{width:14px;height:14px}
.pcard-m>svg{width:34px;height:34px;opacity:.7}
.pcard-b{padding:12px 14px}
.pcard-b b{display:block;font-size:14px;line-height:1.3;margin:6px 0 4px}
/* grelha de pré-visualização (feed) */
.feed{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;max-width:620px;margin:0 auto;border-radius:18px;overflow:hidden}
.feed-it{aspect-ratio:4/5;position:relative;background:var(--card2);overflow:hidden;cursor:pointer}
.feed-it img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease),filter .3s}
.feed-it:hover img{transform:scale(1.05);filter:brightness(.75)}
.feed-it .fi-info{position:absolute;inset:auto 0 0 0;padding:10px;background:linear-gradient(transparent,rgba(0,0,0,.75));color:#fff;font-size:11px;opacity:0;transition:opacity .3s}
.feed-it:hover .fi-info{opacity:1}
.feed-it .kind{position:absolute;right:8px;top:8px;color:#fff}
.feed-it .kind svg{width:18px;height:18px;filter:drop-shadow(0 1px 3px rgba(0,0,0,.6))}
.feed-it .ph{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--cc,#7B30F1) 70%,#000),var(--cc2,#EF339C));color:#fff;padding:12px;text-align:center;font-size:12px}
.feed-head{display:flex;align-items:center;gap:18px;max-width:620px;margin:0 auto 18px;padding:18px;border-radius:var(--r-l);background:var(--card);border:1px solid var(--line)}

/* ══════════════ EDITOR DE CONTEÚDO ══════════════ */
.ed{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);min-height:min(88vh,900px)}
.ed-left{background:var(--bg2);border-right:1px solid var(--line);padding:26px;display:flex;flex-direction:column;gap:18px;position:relative}
.ed-right{padding:26px 30px;display:flex;flex-direction:column;gap:18px;overflow:auto;max-height:min(88vh,900px)}
.ed-close{position:absolute;right:18px;top:18px;z-index:5}
.drop{border:2px dashed var(--line2);border-radius:var(--r-l);padding:26px;text-align:center;color:var(--soft);transition:border-color .2s,background .2s;cursor:pointer}
.drop.over{border-color:var(--yellow);background:color-mix(in srgb,var(--yellow) 8%,transparent)}
.drop svg{width:30px;height:30px;margin:0 auto 8px;color:var(--yellow)}
.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px}
.mi{position:relative;aspect-ratio:1;border-radius:14px;overflow:hidden;background:var(--card);border:1px solid var(--line);cursor:grab}
.mi img,.mi video{width:100%;height:100%;object-fit:cover}
.mi .mi-n{position:absolute;left:6px;top:6px;min-width:22px;height:22px;padding:0 6px;border-radius:99px;background:rgba(0,0,0,.6);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center}
.mi .mi-a{position:absolute;right:5px;top:5px;display:flex;gap:4px;opacity:0;transition:opacity .2s}
.mi:hover .mi-a{opacity:1}
.mi .mi-a button{width:26px;height:26px;border-radius:50%;background:rgba(0,0,0,.65);color:#fff;display:grid;place-items:center}
.mi .mi-a svg{width:13px;height:13px}
.mi.cover{box-shadow:0 0 0 2px var(--yellow)}
.mi.cover::after{content:"CAPA";position:absolute;left:6px;bottom:6px;font-size:9px;font-weight:700;letter-spacing:.1em;padding:2px 6px;border-radius:6px;background:var(--yellow);color:#120D18}
.mi.sorting{opacity:.4}
.mi .doc{width:100%;height:100%;display:grid;place-items:center;color:var(--soft);font-size:11px;padding:8px;text-align:center}
.up-row{display:flex;align-items:center;gap:10px;font-size:12.5px}
.up-row .bar{flex:1}
.char{font-size:11.5px;color:var(--muted);text-align:right}
.char.over{color:var(--bad);font-weight:700}
.ed-section{padding-top:18px;border-top:1px solid var(--line)}
.ed-section>h4{font-family:var(--font-d);font-weight:400;font-size:18px;text-transform:uppercase;margin-bottom:14px;display:flex;align-items:center;gap:8px}
.fmt-row{display:grid;grid-template-columns:150px 1fr;gap:10px;align-items:center}
.date-pick{display:flex;flex-direction:column;gap:6px;max-height:210px;overflow:auto;padding-right:4px}
.date-opt{--c:#999;display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:12px;border:1px solid var(--line);cursor:pointer;font-size:13px;background:var(--bg2);transition:border-color .2s,background .2s}
.date-opt i{width:8px;height:8px;border-radius:50%;background:var(--c);flex:0 0 8px}
.date-opt small{margin-left:auto;color:var(--muted);white-space:nowrap}
.date-opt.on{border-color:var(--c);background:color-mix(in srgb,var(--c) 15%,var(--bg2))}
.people{display:flex;flex-wrap:wrap;gap:8px}
.person{display:inline-flex;align-items:center;gap:8px;padding:4px 12px 4px 4px;border-radius:99px;border:1px solid var(--line);background:var(--bg2);cursor:pointer;font-size:13px;transition:all .25s}
.person.on{border-color:var(--yellow);background:color-mix(in srgb,var(--yellow) 14%,var(--bg2))}
.status-steps{display:flex;flex-wrap:wrap;gap:6px}
.status-steps button{--c:#999;display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 12px;border-radius:99px;border:1px solid var(--line);font-size:12px;font-weight:600;color:var(--soft);transition:all .25s}
.status-steps button i{width:7px;height:7px;border-radius:50%;background:var(--c)}
.status-steps button.on{color:#120D18;background:var(--c);border-color:var(--c)}
.status-steps button.on i{background:#120D18}

/* telemóvel de pré-visualização */
.phone{width:min(340px,100%);margin:0 auto;border-radius:44px;padding:12px;background:#050307;box-shadow:0 0 0 2px #2a2231,0 40px 80px -30px rgba(0,0,0,.8);position:relative}
.phone-scr{border-radius:34px;overflow:hidden;background:#fff;color:#111;min-height:520px;display:flex;flex-direction:column}
.phone-scr.dark{background:#000;color:#fff}
.ph-bar{display:flex;align-items:center;gap:10px;padding:14px 14px 10px}
.ph-bar .logo-chip{width:32px;height:32px;flex-basis:32px;border-radius:50%;font-size:13px}
.ph-bar b{font-size:13px;display:block;line-height:1.2}
.ph-bar span{font-size:11px;opacity:.6}
.ph-media{position:relative;background:#111;overflow:hidden}
.ph-media.r45{aspect-ratio:4/5}.ph-media.r11{aspect-ratio:1}.ph-media.r916{aspect-ratio:9/16}.ph-media.r169{aspect-ratio:16/9}.ph-media.r23{aspect-ratio:2/3}.ph-media.r43{aspect-ratio:4/3}.ph-media.r34{aspect-ratio:3/4}
.ph-track{display:flex;height:100%;transition:transform .6s var(--ease)}
.ph-track>*{flex:0 0 100%;width:100%;height:100%;object-fit:cover}
.ph-dots{position:absolute;bottom:10px;left:0;right:0;display:flex;justify-content:center;gap:5px}
.ph-dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.5)}.ph-dots i.on{background:#fff}
.ph-arrow{position:absolute;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.85);color:#111;display:grid;place-items:center}
.ph-arrow.l{left:8px}.ph-arrow.r{right:8px}.ph-arrow svg{width:14px;height:14px}
.ph-count{position:absolute;right:10px;top:10px;padding:3px 9px;border-radius:99px;background:rgba(0,0,0,.6);color:#fff;font-size:11px;font-weight:600}
.ph-actions{display:flex;gap:14px;padding:12px 14px 4px}
.ph-actions svg{width:22px;height:22px}
.ph-cap{padding:6px 14px 18px;font-size:13px;line-height:1.45;white-space:pre-wrap;word-break:break-word}
.ph-cap b{font-weight:700}
.ph-cap .ht{color:#1d4ed8}
.phone-scr.dark .ph-cap .ht{color:#8ab4ff}
.ph-empty{display:grid;place-items:center;color:#999;height:100%;font-size:13px;text-align:center;padding:20px}
.ph-story{position:relative;aspect-ratio:9/16;background:#111}
.ph-story>img,.ph-story>video{width:100%;height:100%;object-fit:cover}
.ph-story .ph-prog{position:absolute;top:10px;left:10px;right:10px;display:flex;gap:3px}
.ph-story .ph-prog i{flex:1;height:2px;background:rgba(255,255,255,.4);border-radius:2px}
.ph-story .ph-prog i.on{background:#fff}
.ph-story .ph-user{position:absolute;top:22px;left:12px;display:flex;align-items:center;gap:8px;color:#fff;font-size:12px;font-weight:600}
.ph-story .ph-capov{position:absolute;left:12px;right:60px;bottom:18px;color:#fff;font-size:12px;text-shadow:0 1px 3px rgba(0,0,0,.6)}
.ph-email{background:#f4f4f5;padding:14px;flex:1}
.ph-email .em{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.ph-email .em-h{padding:10px 12px;border-bottom:1px solid #eee;font-size:12px}
.ph-email .em img{width:100%}
.ph-email .em-b{padding:12px;font-size:12px;white-space:pre-wrap}
.net-tabs{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-bottom:12px}
.net-tabs button{--c:#999;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px 0 5px;border-radius:99px;border:1px solid var(--line);font-size:12px;font-weight:600;color:var(--soft)}
.net-tabs button.on{border-color:var(--c);color:var(--ink);background:color-mix(in srgb,var(--c) 15%,transparent)}

/* comentários */
.thread{display:flex;flex-direction:column;gap:14px}
.cm{display:flex;gap:12px}
.cm-b{flex:1;min-width:0;background:var(--bg2);border:1px solid var(--line);border-radius:4px 18px 18px 18px;padding:12px 14px}
.cm.me .cm-b{background:color-mix(in srgb,var(--purple) 14%,var(--bg2));border-color:color-mix(in srgb,var(--purple) 35%,transparent)}
.cm.internal .cm-b{border-style:dashed;background:color-mix(in srgb,var(--yellow) 7%,var(--bg2))}
.cm.changes .cm-b{border-color:var(--pink);background:color-mix(in srgb,var(--pink) 10%,var(--bg2))}
.cm-h{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);margin-bottom:4px}
.cm-h b{color:var(--ink);font-size:13px}
.cm-t{white-space:pre-wrap;word-break:break-word;font-size:14px}
.cm.sys{justify-content:center}
.cm.sys .cm-b{flex:0 1 auto;background:none;border:0;padding:0;font-size:12px;color:var(--muted);text-align:center}
.cm.approval .cm-b{color:var(--ok)}
.cm-file{margin-top:8px;display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:10px;background:var(--card);font-size:12px}
.cm-file img{width:80px;border-radius:8px}
.composer{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.composer .ta{min-height:80px}

/* ações de aprovação (cliente) */
.approve-bar{display:flex;gap:10px;flex-wrap:wrap;padding:16px;border-radius:var(--r-l);background:var(--card2);border:1px solid var(--line)}
.approve-bar .btn{flex:1}
.pv{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:0}
.pv-left{padding:28px;background:var(--bg2);border-right:1px solid var(--line)}
.pv-right{padding:28px 30px;display:flex;flex-direction:column;gap:18px;max-height:min(88vh,900px);overflow:auto}

/* baralho de aprovações */
.deck-wrap{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:40px;align-items:start}
.deck{position:relative;height:640px}
.dcard{position:absolute;inset:0;border-radius:32px;background:var(--card);border:1px solid var(--line2);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;touch-action:pan-y;user-select:none;will-change:transform}
.dcard .pcard-m{aspect-ratio:auto;flex:1;min-height:0}
.dcard .d-b{padding:18px 20px}
.dcard .stamp{position:absolute;top:26px;padding:8px 16px;border:4px solid;border-radius:12px;font:400 30px var(--font-d);text-transform:uppercase;opacity:0;z-index:3}
.dcard .stamp.ok{left:22px;color:var(--ok);border-color:var(--ok);transform:rotate(-12deg)}
.dcard .stamp.no{right:22px;color:var(--pink);border-color:var(--pink);transform:rotate(12deg)}
.deck-actions{display:flex;justify-content:center;gap:18px;margin-top:22px}
.deck-actions .ibtn{width:64px;height:64px;flex-basis:64px}
.deck-actions .ibtn svg{width:26px;height:26px}
.deck-actions .ok{background:var(--ok);color:#06140c;border-color:var(--ok)}
.deck-actions .no{background:var(--pink);color:#fff;border-color:var(--pink)}

/* kanban */
.kb{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(290px,1fr);gap:14px;overflow-x:auto;padding-bottom:16px;align-items:start}
.kb-col{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r-l);padding:12px;min-height:300px;display:flex;flex-direction:column;gap:10px;transition:border-color .2s,background .2s}
.kb-col.drop{border-color:var(--yellow);background:color-mix(in srgb,var(--yellow) 6%,var(--bg2))}
.kb-h{--c:#999;display:flex;align-items:center;gap:8px;padding:6px 6px 8px;font-weight:700;font-size:13px;letter-spacing:.04em;text-transform:uppercase}
.kb-h i{width:9px;height:9px;border-radius:50%;background:var(--c)}
.kb-h .badge{margin-left:auto;background:var(--card2);color:var(--soft)}
.kc{--c:#999;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px;cursor:grab;transition:transform .35s var(--ease),border-color .2s,box-shadow .3s;position:relative}
.kc:hover{border-color:var(--line2);transform:translateY(-2px)}
.kc.dragging{opacity:.4;transform:rotate(2deg)}
.kc-img{border-radius:11px;overflow:hidden;aspect-ratio:16/10;margin:-2px -2px 10px;background:var(--card2)}
.kc-img img{width:100%;height:100%;object-fit:cover}
.kc b{display:block;font-size:14px;line-height:1.3;margin-bottom:8px}
.kc-f{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11.5px;color:var(--muted)}
.kc-f .due.late{color:var(--bad);font-weight:700}
.prio{display:inline-flex;gap:2px}.prio i{width:4px;height:12px;border-radius:2px;background:var(--line2)}
.prio[data-p="2"] i:nth-child(-n+2),.prio[data-p="3"] i{background:var(--yellow)}.prio[data-p="3"] i{background:var(--pink)}.prio[data-p="1"] i:first-child{background:var(--ok)}
.checklist{display:flex;flex-direction:column;gap:6px}
.checklist label{display:flex;align-items:center;gap:10px;font-size:14px}
.checklist input[type=checkbox]{width:18px;height:18px;accent-color:var(--purple)}

/* clientes */
.cgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.ccard{padding:0;overflow:hidden;cursor:pointer}
.ccard .cc-top{height:92px;position:relative;background:linear-gradient(120deg,var(--c,#7B30F1),var(--c2,#EF339C));overflow:hidden}
.ccard .cc-top::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 120%,rgba(0,0,0,.35),transparent 60%)}
.ccard .cc-top .d{position:absolute;right:-6px;bottom:-14px;font-size:84px;color:rgba(255,255,255,.18);line-height:1;white-space:nowrap}
.ccard .cc-b{padding:0 20px 20px;margin-top:-26px;position:relative;z-index:2}
.ccard .logo-chip{width:56px;height:56px;flex-basis:56px;border-radius:18px;border:3px solid var(--card);font-size:22px}
.ccard h3{font-family:var(--font-d);font-weight:400;text-transform:uppercase;font-size:24px;margin:12px 0 2px;line-height:1}
.cc-stats{display:flex;gap:16px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.cc-stats b{display:block;font-family:var(--font-d);font-size:22px;color:var(--ink);font-weight:400;line-height:1}
.sheet-head{display:flex;align-items:center;gap:22px;margin-bottom:26px;flex-wrap:wrap}
.plat{display:grid;grid-template-columns:auto 1fr 1fr 90px auto;gap:10px;align-items:center;padding:14px;border-radius:18px;background:var(--bg2);border:1px solid var(--line)}
.plat-f{grid-column:1/-1}
.plat+.plat{margin-top:10px}
.vault{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pw-field{position:relative}.pw-field .inp{padding-right:90px}.pw-field .row{position:absolute;right:6px;top:6px;gap:4px}
.svc{display:grid;grid-template-columns:1.3fr 1fr 110px 120px 40px;gap:10px;align-items:center}
.svc+.svc{margin-top:10px}

/* financeiro */
.chart{position:relative;width:100%}
.chart svg{width:100%;height:auto;overflow:visible}
.chart .gl{stroke:var(--line);stroke-width:1}
.chart .ax{fill:var(--muted);font-size:11px;font-family:var(--font-b)}
.chart .b-in{fill:var(--chart-in)}.chart .b-out{fill:var(--chart-out)}
.chart .hit{fill:transparent;cursor:pointer}
.chart .hit:hover{fill:var(--wash)}
.chart .lbl-v{fill:var(--soft);font-size:10.5px;font-weight:600}
.tip{position:fixed;z-index:9700;pointer-events:none;background:var(--card2);border:1px solid var(--line2);border-radius:14px;padding:10px 14px;font-size:12.5px;box-shadow:var(--shadow);min-width:160px}
.tip b{display:block;margin-bottom:6px;font-size:13px}
.tip .r{display:flex;align-items:center;gap:8px;justify-content:space-between}
.tip i{--c:#999;width:9px;height:9px;border-radius:3px;background:var(--c);display:inline-block;margin-right:6px}
.lg-in{--c:var(--chart-in)}.lg-out{--c:var(--chart-out)}
.hbar{display:grid;grid-template-columns:150px 1fr 90px;gap:12px;align-items:center;font-size:13px;padding:6px 0}
.hbar .bar i{background:var(--chart-in)}
.hbar.out .bar i{background:var(--chart-out)}

/* datas */
.dates-grid{display:grid;grid-template-columns:260px 1fr;gap:22px;align-items:start}
.cat-list{display:flex;flex-direction:column;gap:4px;position:sticky;top:calc(var(--top) + 20px)}
.cat-list button{--c:#999;display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;font-size:13.5px;text-align:left;color:var(--soft);transition:all .2s}
.cat-list button i{width:10px;height:10px;border-radius:3px;background:var(--c)}
.cat-list button.on{background:color-mix(in srgb,var(--c) 16%,transparent);color:var(--ink)}
.cat-list button span{margin-left:auto;font-size:11px;color:var(--muted)}
.dmonth{margin-bottom:26px}
.dmonth h3{font-family:var(--font-d);font-weight:400;font-size:34px;text-transform:uppercase;margin-bottom:10px;display:flex;gap:10px;align-items:baseline}
.dmonth h3 .s{font-size:.55em;color:var(--pink)}
.drow{--c:#999;display:grid;grid-template-columns:70px 1fr auto;gap:14px;align-items:center;padding:11px 14px;border-radius:14px;border:1px solid var(--line);background:var(--card);margin-bottom:6px;transition:border-color .2s}
.drow:hover{border-color:var(--c)}
.drow .dd{font-family:var(--font-d);font-size:26px;line-height:1}
.drow .dd small{display:block;font-family:var(--font-b);font-size:10px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase}
.drow .dn{font-weight:600}
.drow .dn em{font-style:normal;color:var(--pink);margin-left:4px}
.day-pop{max-width:380px;padding:16px}
.day-pop h4{font-family:var(--font-d);font-weight:400;font-size:24px;text-transform:uppercase;margin-bottom:10px}
.day-pop .dt{font-size:13px;padding:4px 0}

/* segurança */
.check{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line)}
.check:last-child{border-bottom:0}
.check .ic{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;flex:0 0 26px;font-size:13px;font-weight:700}
.check .ic.ok{background:color-mix(in srgb,var(--ok) 20%,transparent);color:var(--ok)}
.check .ic.warn{background:color-mix(in srgb,var(--yellow) 20%,transparent);color:var(--yellow)}
.check .ic.bad{background:color-mix(in srgb,var(--bad) 22%,transparent);color:var(--bad)}
.check code{font-size:11.5px;color:var(--soft);word-break:break-all}
.score{font-family:var(--font-d);font-size:92px;line-height:.9}
.qr{background:#fff;padding:14px;border-radius:18px;width:220px;margin:0 auto}
.qr svg,.qr img{width:100%;height:auto}
.codes{display:grid;grid-template-columns:1fr 1fr;gap:8px;font:600 15px ui-monospace,monospace;padding:16px;border-radius:16px;background:var(--bg2);border:1px dashed var(--line2)}

/* notificações */
.notif{width:380px;max-height:520px;overflow:auto;padding:6px}
.notif .n{display:flex;gap:12px;padding:12px;border-radius:14px;cursor:pointer}
.notif .n:hover{background:var(--wash)}
.notif .n.unread{background:color-mix(in srgb,var(--purple) 12%,transparent)}
.notif .n .ni{width:34px;height:34px;flex:0 0 34px;border-radius:12px;display:grid;place-items:center;background:var(--card);color:var(--yellow)}
.notif .n .ni svg{width:16px;height:16px}
.notif .n b{display:block;font-size:13.5px;line-height:1.3}
.notif .n span{font-size:12.5px;color:var(--soft)}
.notif .n small{display:block;font-size:11px;color:var(--muted);margin-top:3px}

/* materiais */
.files{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.file{border-radius:18px;overflow:hidden;background:var(--card);border:1px solid var(--line);position:relative}
.file-m{aspect-ratio:1;background:var(--card2);display:grid;place-items:center;color:var(--muted);overflow:hidden}
.file-m img,.file-m video{width:100%;height:100%;object-fit:cover}
.file-m svg{width:34px;height:34px}
.file-b{padding:10px 12px;font-size:12px}
.file-b b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.file .mi-a{position:absolute;right:8px;top:8px;display:flex;gap:4px;opacity:0;transition:opacity .2s}
.file:hover .mi-a{opacity:1}
.file .mi-a a,.file .mi-a button{width:30px;height:30px;border-radius:50%;background:rgba(0,0,0,.65);color:#fff;display:grid;place-items:center}
.file .mi-a svg{width:14px;height:14px}

/* relatórios */
.rep-net{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.rep-k{padding:16px;border-radius:18px;background:var(--bg2);border:1px solid var(--line)}
.rep-k .v{font-family:var(--font-d);font-size:30px;line-height:1}
.rep-k .l{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:6px}
.metric-grid{display:grid;grid-template-columns:120px repeat(6,minmax(0,1fr));gap:8px;align-items:center}
.metric-grid .inp{height:38px;padding:0 10px;font-size:13px}

/* reveal */
[data-rv]{opacity:0;transform:translateY(24px)}
.no-motion [data-rv]{opacity:1;transform:none}

/* ══════════════ RESPONSIVO ══════════════ */
@media (max-width:1200px){
  .g4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .g-dash{grid-template-columns:1fr}
  .ed{grid-template-columns:1fr}.ed-right{max-height:none}
  .pv{grid-template-columns:1fr}.pv-right{max-height:none}
  .deck-wrap{grid-template-columns:1fr}
}
@media (max-width:980px){
  .shell{grid-template-columns:1fr}
  .side{position:fixed;left:0;top:0;bottom:0;width:280px;transform:translateX(-102%);transition:transform .5s var(--ease);box-shadow:var(--shadow)}
  .side.open{transform:none}
  .top .burger{display:grid}
  .search-btn{min-width:0;flex:1}.search-btn span,.search-btn kbd{display:none}
  .auth{grid-template-columns:1fr}.auth-art{min-height:46vh}
  .g3{grid-template-columns:1fr 1fr}
  .dates-grid{grid-template-columns:1fr}.cat-list{position:static;flex-direction:row;flex-wrap:wrap}
  .cal .day{min-height:110px}.cal.big .day{min-height:150px}
}
@media (max-width:720px){
  .page{padding:22px 16px 90px}.top{padding:0 16px}
  .g2,.g3,.g4,.form-grid,.form-grid.g3f{grid-template-columns:1fr}
  .span2{grid-column:auto}
  .cal{gap:4px}.cal-dow{padding:0 2px;font-size:9px;letter-spacing:.05em}
  .day{min-height:78px!important;padding:6px;border-radius:12px}
  .day-n{font-size:17px}.day-dates,.day-add,.more{display:none}
  .pc{padding:0;border:0;background:none}.pc-b,.pc .cl{display:none}.pc-th{width:100%;height:auto;aspect-ratio:1;flex:none}
  .day-posts{flex-direction:row;flex-wrap:wrap;gap:3px}.day-posts .pc{width:calc(50% - 2px)}
  .cal.big .pc-m{display:none}
  .ag-day{grid-template-columns:1fr}
  .plat,.svc{grid-template-columns:1fr 1fr}
  .vault{grid-template-columns:1fr}
  .hero{padding:26px}.hero .hero-art{display:none}
  .modal{padding:22px;border-radius:24px}
  .fmt-row{grid-template-columns:1fr}
  .deck{height:560px}
  .metric-grid{grid-template-columns:1fr 1fr}
  .hbar{grid-template-columns:100px 1fr 70px}
  .notif{width:calc(100vw - 32px)}
  .auth-form{padding:28px 16px}
}
.notif-h{padding:8px 10px}
.mt-xs{margin-top:5px}
.ed-foot{position:sticky;bottom:-26px;margin:0 -30px -26px;padding:16px 30px;background:color-mix(in srgb,var(--card) 92%,transparent);backdrop-filter:blur(10px);border-top:1px solid var(--line);z-index:4}
.more-nets{display:contents}.more-nets summary{list-style:none}.more-nets summary::-webkit-details-marker{display:none}.more-nets[open] .chips{width:100%}
.mi-a a{width:26px;height:26px;border-radius:50%;background:rgba(0,0,0,.65);color:#fff;display:grid;place-items:center}
.changes-box{padding:16px;border-radius:var(--r-l);border:1px solid var(--pink);background:color-mix(in srgb,var(--pink) 8%,var(--card));overflow:hidden}
.sel-auto{width:auto;height:38px;font-size:13px}.sel-client{width:auto;min-width:200px;height:38px;font-size:13px;font-weight:600}
.pink-t{color:var(--pink);font-size:18px}
button.day-n{font-family:var(--font-d);font-size:24px;line-height:1;color:inherit;padding:0}
button.day-n:hover{color:var(--pink)}
.full-row{grid-column:1/-1}
.pw-field .vault-btns{top:auto;bottom:6px}
[hidden]{display:none!important}
svg.i{width:18px;height:18px;flex:0 0 auto}
.card-link svg.i{width:14px;height:14px}
.pill svg.i,.tiny svg.i,.small svg.i{width:14px;height:14px;display:inline-block;vertical-align:-2px}
.ed-left{max-height:min(88vh,900px);overflow:auto}
.legend i.lg-in,.tip i.lg-in{--c:var(--chart-in)}.legend i.lg-out,.tip i.lg-out{--c:var(--chart-out)}
.plat .ta{min-height:64px}
.hero+.grid,.grid.mb+section{margin-top:0}
section>.card-h{margin-top:28px}
.card.mb+[data-body]{margin-top:22px}
