/* Painel de Clientes · Studio AVVA (spec §3). Tokens em :root; tema escuro por [data-theme=dark]. */
:root{
  --onix:#0A0D14;--grafite:#10141D;--ardosia:#1C1F29;--azul:#0055FF;--azul-prof:#1148CC;--azul-cl:#4D8BFF;
  --prata:#BCC2CC;--gelo:#E9EDF4;--fumaca:#6D7480;
  --p0:#C9D0DC;--p1:#E5484D;--p2:#F2711C;--p3:#F5B300;--p4:#8CC63F;--p5:#1FA463;
  --ouro:#C9A84C;--nav:#0D1B2A;--roxo:#8B6FD6;
  --bg:#E9EDF4;--panel:#fff;--soft:#f4f6f9;--soft2:#eaeef4;--ink:#0A0D14;--mute:#6D7480;--mute2:#8d94a0;
  --line:#e1e6ee;--side:#0A0D14;--shadow:rgba(10,13,20,.35);
  --glow:rgba(0,85,255,.09);
  color-scheme:light;
}
[data-theme=dark]{
  --bg:#0A0D14;--panel:#10141D;--soft:#141925;--soft2:#1C2130;--ink:#E9EDF4;--mute:#7f8794;--mute2:#6f7784;
  --line:#1F2430;--side:#05070B;--shadow:rgba(0,0,0,.8);--glow:rgba(0,85,255,.22);
  color-scheme:dark;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{font-family:'Montserrat',system-ui,sans-serif;color:var(--ink);
  background:radial-gradient(900px 520px at 88% -14%,var(--glow) 0%,transparent 58%),var(--bg);background-attachment:fixed;
  -webkit-font-smoothing:antialiased}
.trocando-tema,.trocando-tema *{transition:background-color .3s,border-color .3s,color .3s!important}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace}
.lbl{font-size:10.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--mute2)}
.oculto{display:none!important}

/* ---------------- shell ---------------- */
.app{min-height:100vh;display:grid;grid-template-columns:76px minmax(0,1fr);gap:20px;padding:22px 24px;max-width:1440px;margin:0 auto}
.side{background:var(--side);border-radius:22px;display:flex;flex-direction:column;align-items:center;padding:18px 0;gap:12px;position:sticky;top:22px;height:calc(100vh - 44px)}
.side .marca{width:42px;height:42px;border-radius:13px;background:var(--grafite);display:grid;place-items:center;border:1px solid #232838}
.side .marca svg{width:26px}
.side a{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;color:#6D7480;position:relative}
.side a.on{background:var(--ardosia);color:#fff}
.side a.on:before{content:"";position:absolute;left:-17px;top:11px;width:4px;height:20px;border-radius:0 4px 4px 0;background:var(--azul)}
.side a svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.side .sair{margin-top:auto;width:38px;height:38px;border-radius:50%;background:var(--ardosia);color:#fff;display:grid;place-items:center;font-weight:700;font-size:14px}
.main{display:flex;flex-direction:column;gap:16px;min-width:0}
.hd{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.hd h2{font-weight:800;font-size:26px;letter-spacing:-.8px}
.hd h2 span{color:var(--mute);font-weight:500}
.seg{display:flex;gap:4px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:4px}
.seg a{font-size:12px;font-weight:700;padding:7px 12px;border-radius:9px;color:var(--mute);text-decoration:none}
.seg a.on{background:var(--ink);color:var(--bg)}
.hd .dir{margin-left:auto;display:flex;gap:8px;align-items:center}
.ibtn{width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:var(--panel);display:grid;place-items:center;color:var(--ink)}
.ibtn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.ibtn.hojebtn{width:auto;padding:0 12px;font-size:12px;font-weight:800;text-decoration:none;color:var(--azul)}
.day.real{box-shadow:inset 0 0 0 1.5px var(--azul)}
.ibtn .lua{display:none}[data-theme=dark] .ibtn .sol{display:none}[data-theme=dark] .ibtn .lua{display:block}
.panel{background:var(--panel);border-radius:22px;border:1px solid var(--line);box-shadow:0 22px 46px -32px var(--shadow);padding:20px;min-width:0}
.aviso{border-radius:14px;padding:11px 14px;font-size:12.5px;font-weight:600;line-height:1.45;background:rgba(245,179,0,.12);border:1px solid rgba(245,179,0,.35)}
.erro{background:rgba(229,72,77,.08);border-color:rgba(229,72,77,.3)}
.carregando{color:var(--mute);font-weight:600;padding:40px;text-align:center}

/* ---------------- login ---------------- */
.login{min-height:100vh;display:grid;grid-template-columns:1.08fr 1fr}
.lg-art{background:#0A0D14;color:#E9EDF4;padding:44px 48px;position:relative;overflow:hidden;display:flex;flex-direction:column}
.lg-art:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(233,237,244,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(233,237,244,.05) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(600px 420px at 30% 40%,#000 0%,transparent 75%);mask-image:radial-gradient(600px 420px at 30% 40%,#000 0%,transparent 75%)}
.lg-art:after{content:"";position:absolute;width:640px;height:640px;right:-270px;bottom:-310px;border-radius:50%;background:radial-gradient(circle,rgba(0,85,255,.55) 0%,rgba(0,85,255,0) 65%)}
.lg-mark{position:absolute;right:-40px;top:120px;width:380px;opacity:.06}
.lg-brand{display:flex;align-items:center;gap:14px;position:relative;z-index:1}
.lg-brand svg{width:40px}
.lg-brand b{font-weight:800;font-size:19px;letter-spacing:.18em;display:block}
.lg-brand small{display:block;font-size:10.5px;font-weight:600;letter-spacing:.3em;color:#6D7480;margin-top:2px}
.lg-hero{margin-top:auto;position:relative;z-index:1}
.lg-hero .k{font-size:11px;font-weight:800;letter-spacing:.2em;color:var(--azul-cl);text-transform:uppercase}
.lg-hero h1{font-weight:800;font-size:44px;letter-spacing:-1.6px;line-height:1.04;margin-top:12px}
.lg-hero h1 span{color:var(--azul-cl)}
.lg-hero p{color:#8a919d;font-size:14.5px;line-height:1.55;margin-top:14px;max-width:420px}
.lg-foot{position:relative;z-index:1;margin-top:30px;font-size:11px;color:#4d5562;letter-spacing:.08em}
.lg-form{display:grid;place-items:center;padding:40px;position:relative;background:var(--bg)}
.lg-card{width:min(380px,100%)}
.lg-card h2{font-weight:800;font-size:28px;letter-spacing:-.8px}
.lg-card .sub{color:var(--mute);font-size:14px;margin-top:6px}
.fld{margin-top:22px}
.fld label{display:block;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-bottom:8px}
.inp{display:flex;align-items:center;gap:10px;background:var(--panel);border:1.5px solid var(--line);border-radius:14px;padding:0 14px}
.inp:focus-within{border-color:var(--azul);box-shadow:0 0 0 4px rgba(0,85,255,.14)}
.inp svg{width:18px;height:18px;stroke:var(--mute);fill:none;stroke-width:1.8;stroke-linecap:round;flex:none}
.inp input{flex:1;border:0;outline:0;background:transparent;font:500 14.5px 'Montserrat';color:var(--ink);padding:13px 0;min-width:0}
.btn-in{margin-top:24px;width:100%;border-radius:14px;padding:15px;background:var(--onix);color:#fff;font-weight:700;font-size:15px;display:flex;justify-content:center;align-items:center;gap:10px;box-shadow:0 14px 26px -14px rgba(10,13,20,.7)}
[data-theme=dark] .btn-in{background:var(--azul)}
.btn-in:disabled{opacity:.6;cursor:wait}
.lg-msg{margin-top:14px;font-size:13px;font-weight:600;color:var(--p1);min-height:18px}
.lg-theme{position:absolute;top:24px;right:24px}

/* ---------------- botões e chips ---------------- */
.chip{font-size:10.5px;font-weight:800;padding:4px 9px;border-radius:999px;white-space:nowrap}
.chip.ok{background:rgba(31,164,99,.14);color:#157a48}
.chip.wait{background:rgba(245,179,0,.18);color:#8a6400}
.chip.late{background:rgba(229,72,77,.12);color:#c22f34}
.chip.op{background:rgba(0,85,255,.11);color:var(--azul-prof)}
.chip.po{background:rgba(201,168,76,.16);color:#6F5A1E}
.chip.none{background:var(--soft2);color:var(--mute)}
[data-theme=dark] .chip.ok{color:#5fd39a}[data-theme=dark] .chip.wait{color:#ffd36b}[data-theme=dark] .chip.late{color:#ff8a8d}
[data-theme=dark] .chip.op{color:#86aeff}[data-theme=dark] .chip.po{color:#e2c77a}

/* ---------------- HOJE ---------------- */
.cols{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(0,1fr);gap:16px;align-items:start}
.today{display:grid;grid-template-columns:160px minmax(0,1fr);gap:18px}
.ringbox{display:flex;flex-direction:column;align-items:center}
.ring{position:relative;width:156px;height:156px}
.ring .arc{transition:stroke-dasharray .5s cubic-bezier(.3,.7,.2,1),stroke .4s}
.ring .rbg{stroke:#edf0f5}[data-theme=dark] .ring .rbg{stroke:#1C1F29}
.ring .v{position:absolute;inset:0;display:grid;place-items:center;text-align:center}
.ring .v b{font-weight:800;font-size:36px;letter-spacing:-1.5px;display:block;line-height:1}
.ring .v small{font-size:11.5px;color:var(--mute);font-weight:600;display:block;margin-top:4px}
.mood{margin-top:10px;font-size:12.5px;font-weight:700;padding:6px 12px;border-radius:999px;text-align:center}
.wkp{width:100%;margin-top:18px}
.wkp .row{display:flex;justify-content:space-between;align-items:baseline}
.wkp b{font-weight:800;font-size:22px;letter-spacing:-.5px}
.wkp small{font-size:11.5px;color:var(--mute);font-weight:600}
.segbar{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-top:8px}
.segbar i{height:7px;border-radius:4px;background:var(--soft2);display:block}
.tasks{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.task{display:grid;grid-template-columns:20px 44px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px 12px;border-radius:14px;background:var(--soft);border:1px solid transparent;cursor:pointer;position:relative;text-align:left;width:100%}
.task:hover{border-color:var(--line);background:var(--panel)}
.task:after{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:0 3px 3px 0;background:var(--faixa,var(--azul))}
.task .cb{width:20px;height:20px;border-radius:7px;border:2px solid #c4cbd6;display:grid;place-items:center}
[data-theme=dark] .task .cb{border-color:#3A4152}
.task .cb svg{width:12px;opacity:0}
.task.done .cb{background:var(--p5);border-color:var(--p5)}
.task.done .cb svg{opacity:1}
.task .t{font-weight:700;font-size:12px;color:var(--mute2)}
.task .w{font-weight:700;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.task .w small{display:block;font-weight:500;font-size:11.5px;color:var(--mute);margin-top:1px;overflow:hidden;text-overflow:ellipsis}
.task.done .w{color:var(--mute2);text-decoration:line-through}
.task.lock{cursor:default}
.vazio{color:var(--mute);font-size:13px;font-weight:600;padding:14px;background:var(--soft);border-radius:14px}
.week{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(7,1fr);gap:7px}
.day{border-radius:14px;padding:9px 6px 10px;background:var(--soft);text-align:center;text-decoration:none;color:inherit}
.day small{font-size:10px;font-weight:800;color:var(--mute2);letter-spacing:.06em;text-transform:uppercase}
.day b{display:block;font-weight:800;font-size:17px;margin-top:1px}
.day .fr{font-size:10.5px;font-weight:700;color:var(--mute);margin-top:3px}
.day .pb{height:5px;border-radius:3px;background:var(--soft2);margin-top:6px;overflow:hidden}
.day .pb i{display:block;height:100%;border-radius:3px}
.day.fut .pb{background:repeating-linear-gradient(90deg,var(--line) 0 4px,transparent 4px 7px)}
.day.on{background:var(--onix);color:#fff}[data-theme=dark] .day.on{background:var(--azul)}
.day.on small{color:#7da6ff}[data-theme=dark] .day.on small{color:#dbe6ff}
.day.on .fr{color:#aeb5c0}.day.on .pb{background:rgba(255,255,255,.15)}
.cl{display:flex;flex-direction:column;gap:16px}
.cli-h{display:flex;align-items:center;gap:12px}
.logo-cli{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;flex:none;overflow:hidden;box-shadow:0 0 0 1px rgba(10,13,20,.08),0 6px 14px -8px rgba(10,13,20,.5)}
.logo-cli img{width:100%;height:100%;object-fit:cover;transform:scale(1.18)}
.cli-h h4{font-weight:800;font-size:16.5px;letter-spacing:-.3px}
.cli-h h4.serif{font-family:'Fraunces',serif;font-weight:600}
.cli-h h4 small{display:block;font-family:'Montserrat';font-size:11.5px;font-weight:600;color:var(--mute);letter-spacing:0;margin-top:1px}
.health{margin-left:auto;display:flex;align-items:center;gap:7px;font-size:11.5px;font-weight:800;padding:5px 10px 5px 7px;border-radius:999px;white-space:nowrap}
.health i{width:9px;height:9px;border-radius:50%;display:block}
.health.ok{background:rgba(31,164,99,.13);color:#157a48}.health.warn{background:rgba(245,179,0,.15);color:#8a6400}.health.info{background:rgba(0,85,255,.1);color:var(--azul-prof)}
[data-theme=dark] .health.ok{color:#5fd39a}[data-theme=dark] .health.warn{color:#ffd36b}[data-theme=dark] .health.info{color:#86aeff}
.screws{margin-top:14px;display:grid;gap:7px}
.sc{display:grid;grid-template-columns:24px 92px minmax(0,1fr) 92px;gap:10px;align-items:center;font-size:12.5px;font-weight:600}
.sc .n{width:22px;height:22px;border-radius:7px;background:var(--soft2);display:grid;place-items:center;font-weight:800;font-size:11px}
.sc .track{height:8px;border-radius:5px;background:var(--soft2);position:relative;overflow:hidden}
.sc .track i{position:absolute;left:0;top:0;bottom:0;border-radius:5px}
.sc .when{font-size:11px;font-weight:800;text-align:right;color:var(--mute)}
.heat{display:grid;grid-template-columns:repeat(31,minmax(0,1fr));gap:3px;margin-top:7px}
.heat i{aspect-ratio:1;border-radius:4px;background:var(--soft2);display:block}
.heat i.fut{background:transparent;box-shadow:inset 0 0 0 1.5px var(--line)}
.heat i.t{outline:2px solid var(--ink);outline-offset:1px}
.heatlb{display:flex;justify-content:space-between;font-size:10px;font-weight:700;color:var(--mute2);margin-top:5px}
.pipe{margin-top:14px;display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
.pipe div{border-radius:10px;padding:8px 6px;text-align:center;background:var(--soft)}
.pipe b{display:block;font-weight:800;font-size:18px}
.pipe small{font-size:9.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--mute2);line-height:1.2;display:block}

/* ---------------- SEMANA ---------------- */
.weekv{display:grid;grid-template-columns:118px repeat(7,minmax(0,1fr));padding:14px 14px 14px 0}
.wlab{display:flex;flex-direction:column;gap:8px;padding:14px 10px 14px 18px;border-top:1px solid var(--line)}
.wlab b{font-size:12.5px;font-weight:800;line-height:1.2}
.wlab small{font-size:10.5px;color:var(--mute);font-weight:600;line-height:1.35}
.wlab .logo-cli{width:40px;height:40px;border-radius:12px}
.whead{padding:12px 10px 8px;display:flex;flex-direction:column;border-left:1px solid var(--line)}
.whead small{font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--mute2)}
.whead b{font-weight:800;font-size:24px;letter-spacing:-.8px;line-height:1.1}
.whead .fr{font-size:10.5px;font-weight:700;color:var(--mute);margin-top:2px}
.whead .pb{height:5px;border-radius:3px;background:var(--soft2);margin-top:6px;overflow:hidden}
.whead .pb i{display:block;height:100%;border-radius:3px}
.wcell{padding:8px 7px;border-top:1px solid var(--line);border-left:1px solid var(--line);display:flex;flex-direction:column;gap:6px;min-width:0}
.hojecol{background:rgba(0,85,255,.05)}
.whead.hojecol{border-radius:14px 14px 0 0}.whead.hojecol small{color:var(--azul)}
.passado{opacity:.62}
.post{border-radius:12px;background:var(--soft);padding:6px;display:grid;grid-template-columns:30px minmax(0,1fr);gap:7px;align-items:start;border:1px solid transparent}
.post.sty{grid-template-columns:minmax(0,1fr);padding:7px 8px;border-left:3px solid var(--ouro)}
.post.cong{border-left-color:var(--roxo)}
.post .th{width:30px;height:53px;border-radius:7px;overflow:hidden;background:var(--nav)}
.post .th img{width:100%;height:100%;object-fit:cover;display:block}
.nocap{display:grid;place-items:center;height:100%;color:rgba(201,168,76,.6);font-weight:800;border:1.5px dashed rgba(201,168,76,.45);border-radius:7px}
.pt small{display:block;font:700 9px 'JetBrains Mono';color:var(--mute)}
.pt b{font-size:11px;font-weight:700;line-height:1.25;margin-top:2px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.pt .chip{display:inline-block;margin-top:4px;font-size:9.5px;padding:2px 7px}
.post.wait{border-color:rgba(245,179,0,.45)}
.post.none{background:transparent;border:1.5px dashed var(--line)}
.post.done{opacity:.55}
.gt{border-radius:12px;padding:7px 8px;background:var(--soft);border-left:3px solid var(--azul)}
.gt b{display:block;font-size:11px;font-weight:700;line-height:1.25}
.gt small{display:block;font-size:9.8px;font-weight:600;color:var(--mute);margin-top:2px;line-height:1.3}
.gt.feita{opacity:.6}.gt.feita b{text-decoration:line-through}
.gt.hoje{border-left-color:var(--p2)}.gt.atrasada{border-left-color:var(--p1)}
.traco{color:#b5bcc7;font-size:13px;font-weight:700;padding:4px}

/* ---------------- MÊS ---------------- */
.month{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px;align-items:start}
.cal-h{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.cal-h h3{font-weight:800;font-size:20px;letter-spacing:-.5px;text-transform:capitalize}
.wd{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-bottom:5px}
.wd span{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--mute2);padding-left:6px}
.grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:92px;gap:5px}
.cell{border-radius:12px;background:var(--soft);padding:6px 6px 5px;overflow:hidden;display:flex;flex-direction:column}
.cell .dn{font-size:12px;font-weight:800}
.cell.out{background:transparent;opacity:.35}
.cell.past{opacity:.55}
.cell.today{background:var(--ink);color:var(--bg)}
[data-theme=dark] .cell.today{background:var(--azul);color:#fff}
[data-theme=dark] .cell.today .mc{background:rgba(0,0,0,.25);border-color:rgba(255,255,255,.25);color:#fff}
.cell.ev{box-shadow:inset 0 0 0 1.5px rgba(139,111,214,.6)}
.evt{display:block;font-size:8.5px;font-weight:800;color:var(--roxo);text-transform:uppercase;margin-top:1px;line-height:1.2}
.chips{display:flex;flex-wrap:wrap;gap:3px;margin-top:auto}
.mc{display:flex;align-items:center;gap:3px;border-radius:7px;padding:2px 5px;background:var(--panel);font:700 9.5px 'JetBrains Mono';border:1px solid var(--line);color:var(--ink)}
.mc span{color:var(--mute);font-weight:500}
.mc.ok{box-shadow:inset 3px 0 0 var(--p5)}.mc.wait{box-shadow:inset 3px 0 0 var(--p3)}.mc.none{border-style:dashed}.mc.done{opacity:.5}
.mc.sty{width:19px;justify-content:center;padding:2px 0;color:var(--ouro);border-color:rgba(201,168,76,.45)}
.mc.cong{color:var(--roxo);border-color:rgba(139,111,214,.45)}
.mc.tar{color:var(--azul);border-color:rgba(0,85,255,.35)}
.rcol{display:flex;flex-direction:column;gap:12px}
.rcol .panel{padding:14px 15px}
.fila{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-top:10px}
.fila div{border-radius:12px;padding:9px 6px;text-align:center;background:var(--soft)}
.fila b{display:block;font-weight:800;font-size:22px}
.fila small{font-size:9.5px;font-weight:800;text-transform:uppercase;color:var(--mute);line-height:1.2;display:block}
.ht{margin-top:10px;font:600 10px 'JetBrains Mono'}
.ht .tr{display:grid;grid-template-columns:34px repeat(var(--n),1fr);gap:3px;align-items:center;margin-bottom:3px}
.ht .tr span{color:var(--mute);text-align:center;font-size:9px}
.ht .tr b{font-family:'Montserrat';font-size:10.5px;font-weight:800;text-transform:uppercase}
.ht i{font-style:normal;text-align:center;border-radius:6px;padding:4px 0;background:var(--soft);color:var(--mute)}
.ht i.h18{background:rgba(0,85,255,.13);color:var(--azul-prof)}.ht i.h19{background:rgba(201,168,76,.2);color:#7a6220}
[data-theme=dark] .ht i.h18{color:#86aeff}[data-theme=dark] .ht i.h19{color:#e2c77a}
.regras{margin-top:8px;padding-left:16px;font-size:11.5px;line-height:1.45;color:var(--mute);font-weight:600}
.regras li{margin-bottom:5px}

/* ---------------- celular ---------------- */
@media (max-width:900px){
  .app{grid-template-columns:1fr;padding:14px 14px 90px;gap:14px}
  .side{position:fixed;left:12px;right:12px;bottom:12px;top:auto;height:62px;flex-direction:row;justify-content:space-around;padding:0 10px;z-index:20}
  .side .marca,.side .sair{display:none}
  .side a.on:before{left:11px;top:auto;bottom:-10px;width:20px;height:4px;border-radius:4px 4px 0 0}
  .cols,.month{grid-template-columns:1fr}
  .today{grid-template-columns:1fr}
  .hd h2{font-size:21px}
  .weekv{grid-template-columns:96px repeat(7,minmax(120px,1fr));overflow-x:auto}
  .wlab{padding-left:12px}
  .grid{grid-auto-rows:70px;gap:3px}
  .cell{padding:4px 3px}
  .mc span{display:none}
  .mc{padding:1px 4px;font-size:9px}
  .evt{font-size:7px}
  .login{grid-template-columns:1fr}.lg-art{display:none}
}

/* buscando dados de outra tela: barrinha azul no topo em vez de apagar a tela */
body.buscando:before{content:"";position:fixed;top:0;left:0;height:3px;width:100%;z-index:50;
  background:linear-gradient(90deg,transparent,var(--azul),transparent);background-size:40% 100%;background-repeat:no-repeat;animation:busca 1s linear infinite}
@keyframes busca{from{background-position:-40% 0}to{background-position:140% 0}}
.task{transition:background-color .15s,border-color .15s}
.task .cb{transition:background-color .15s,border-color .15s,transform .15s}
.task:active .cb{transform:scale(.88)}
.ring .arc{transition:stroke-dasharray .45s cubic-bezier(.3,.7,.2,1),stroke .35s}

/* ---------------- ESTÚDIO ---------------- */
.pcst{display:flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:9px 13px;font-size:12px;font-weight:700}
.pcst i{width:8px;height:8px;border-radius:50%;background:var(--p1)}
.pcst.on i{background:var(--p5);animation:pulso 1.8s infinite}
.pcst small{color:var(--mute);font-weight:600}
@keyframes pulso{0%{box-shadow:0 0 0 0 rgba(31,164,99,.6)}70%{box-shadow:0 0 0 8px rgba(31,164,99,0)}100%{box-shadow:0 0 0 0 rgba(31,164,99,0)}}
.est-cols{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:16px;align-items:start}
.drop{border:2px dashed #b9c4d6;border-radius:18px;min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;cursor:pointer;background:linear-gradient(180deg,rgba(0,85,255,.04),transparent);padding:20px}
[data-theme=dark] .drop{border-color:#2C3240}
.drop.over{border-color:var(--azul);background:rgba(0,85,255,.08)}
.drop .big{width:58px;height:58px;border-radius:18px;background:var(--azul);display:grid;place-items:center;box-shadow:0 14px 26px -12px rgba(0,85,255,.8)}
.drop .big svg{width:26px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.drop b{font-size:16px;font-weight:800}
.drop small{font-size:12.5px;color:var(--mute)}
.sel,.ta{width:100%;background:var(--panel);border:1.5px solid var(--line);border-radius:12px;padding:11px 12px;font:500 14px "Montserrat";color:var(--ink)}
.ta{resize:vertical;line-height:1.5}
.dica{display:block;font-size:11.5px;color:var(--mute);margin-top:6px;font-weight:600}
.up{margin-top:14px;background:var(--soft);border-radius:14px;padding:12px 14px;display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center}
.up .th{width:40px;height:52px;border-radius:8px;background:linear-gradient(160deg,#1b2d45,#0D1B2A)}
.up b{font-size:13px;font-weight:700;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.up small{font-size:11.5px;color:var(--mute)}
.bar{height:6px;border-radius:4px;background:var(--soft2);margin-top:7px;overflow:hidden}
.bar i{display:block;height:100%;border-radius:4px;background:var(--azul);transition:width .3s}
.up .pct{font-weight:800;color:var(--azul)}
.regras2{margin-top:14px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.regras2 div{font-size:11.5px;font-weight:600;color:var(--mute);background:var(--soft);border-radius:12px;padding:9px 11px;line-height:1.4}
.regras2 b{color:var(--ink);display:block;font-size:12px}
.steps{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:10px 0 12px}
.steps span{font-size:9px;font-weight:800;text-transform:uppercase;color:var(--mute2);text-align:center}
.job{border-radius:16px;background:var(--soft);padding:12px 14px;margin-bottom:8px;display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:13px;align-items:center;border:1px solid transparent}
.job.act{border-color:rgba(242,113,28,.45)}
.job .n{width:44px;height:44px;border-radius:12px;background:var(--nav);color:var(--ouro);display:grid;place-items:center;font-family:"Fraunces",serif;font-weight:600;font-size:17px}
.job b{font-size:13.5px;font-weight:700}
.job small{display:block;font-size:11.5px;color:var(--mute);margin-top:2px}
.track{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:8px}
.track i{height:6px;border-radius:3px;background:var(--soft2);display:block}
.track i.ok{background:var(--p5)}
.track i.now{background:var(--p2)}
.track i.you{background:var(--azul)}
.btn-a{display:inline-flex;align-items:center;gap:6px;border-radius:12px;padding:9px 14px;font-weight:700;font-size:12.5px;background:var(--azul);color:#fff;text-decoration:none;white-space:nowrap}
.btn-a.sec{background:var(--soft);color:var(--ink);border:1px solid var(--line)}
.rv2{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}
.blocos{display:flex;flex-direction:column;gap:7px;margin-top:10px}
.blk2{display:grid;grid-template-columns:30px 46px minmax(0,1fr);gap:10px;padding:10px 12px;border-radius:13px;background:var(--soft);align-items:start;border:1px solid transparent}
.blk2.err{border-color:var(--p1);background:rgba(229,72,77,.06)}
.blk2.rem{opacity:.45}
.blk2.rem .txt{text-decoration:line-through}
.blk2 .play{width:28px;height:28px;border-radius:9px;background:var(--panel);border:1px solid var(--line);font-size:11px}
.blk2 .t{font-size:11px;color:var(--mute2);padding-top:6px}
.txt{font-size:14.5px;line-height:1.55;font-weight:500;outline:0;border-radius:8px;padding:3px 6px;margin:-3px -6px}
.txt:focus{background:var(--panel);box-shadow:0 0 0 2px rgba(0,85,255,.3)}
mark.lei{background:rgba(229,72,77,.14);box-shadow:inset 0 -2px 0 var(--p1);color:inherit;border-radius:4px;padding:0 3px;font-weight:700}
.errmsg{display:block;color:var(--p1);font-size:11.5px;font-weight:700;margin-top:4px}
.pick2{margin-top:8px;padding-top:8px;border-top:1px dashed var(--line);display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.pick2 .lbl{width:100%}
.opt{border-radius:10px;padding:7px 10px;font-size:12.5px;font-weight:700;background:var(--panel);border:1px solid var(--line)}
.opt small{font-size:10px;color:var(--mute);font-weight:700;margin-left:4px}
.opt:hover{border-color:var(--azul)}
.rs2{display:flex;flex-direction:column;gap:12px}
.cnt{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}
.cnt div{border-radius:13px;padding:10px 6px;text-align:center;background:var(--panel);border:1px solid var(--line)}
.cnt b{display:block;font-weight:800;font-size:22px}
.cnt small{font-size:9.5px;font-weight:800;text-transform:uppercase;color:var(--mute)}
.law-card{border-radius:16px;padding:13px;background:rgba(229,72,77,.08);border:1px solid rgba(229,72,77,.3)}
.law-card b{display:block;font-size:13px;font-weight:800;color:#b42a2f}
[data-theme=dark] .law-card b{color:#ff8a8d}
.law-card p{font-size:12px;line-height:1.45;color:var(--mute);margin-top:5px;font-weight:600}
.ok2{display:grid;grid-template-columns:auto minmax(0,1fr) 280px;gap:16px;align-items:start}
.pair2{display:flex;gap:10px}
.capa2,.reel2{width:200px;border-radius:18px;aspect-ratio:9/16;object-fit:cover;background:#000}
.pf{font-size:12.5px;font-weight:600;padding:5px 0}
@media (max-width:900px){.est-cols,.rv2,.ok2{grid-template-columns:1fr}.pair2{justify-content:center}.capa2,.reel2{width:46%}}
