
body{margin:0}
#zg{
  --bg:#F5F4FA; --surface:#FFFFFF; --surface-2:#EFEDF7; --ink:#14112B; --muted:#5F5B7A; --line:#E3E0EF;
  --brand:#5B3FE0; --brand-soft:#ECE7FF; --on-grad:#07050F;
  --v:#7c5cff; --c:#22d3ee; --pink:#f472b6; --grad:linear-gradient(120deg,#7c5cff,#22d3ee);
  --side:#070510; --side-ink:#f3f1ff; --side-muted:#a9a6c8; --side-active:rgba(124,92,255,.20);
  --ok:#14805A; --ok-bg:#E1F5EC; --warn:#9A5E06; --warn-bg:#FCEFD6; --bad:#C2334D; --bad-bg:#FCE4E9; --info:#0B6F86; --info-bg:#DDF4F9;
  --overlay:rgba(7,5,16,.55);
  --f-d:"Sora",ui-sans-serif,system-ui,sans-serif; --f-b:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  color-scheme:light;
}
#zg[data-theme="dark"]{
  --bg:#0A0817; --surface:#121027; --surface-2:#1A1735; --ink:#F3F1FF; --muted:#A9A6C8; --line:#272344;
  --brand:#A893FF; --brand-soft:#241D4C; --side:#05040C; --side-active:rgba(124,92,255,.26);
  --ok:#5BD3A0; --ok-bg:#12301F; --warn:#F0BA5A; --warn-bg:#33270F; --bad:#FF8DA1; --bad-bg:#3A1622; --info:#67D9EE; --info-bg:#0F2C35;
  --overlay:rgba(0,0,0,.65); color-scheme:dark;
}
#zg,#zg *{box-sizing:border-box}
#zg{background:var(--bg);color:var(--ink);font-family:var(--f-b);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh;text-align:left}
#zg h1,#zg h2,#zg h3{font-family:var(--f-d);margin:0;letter-spacing:-.02em;font-weight:700;color:inherit;text-transform:none;line-height:1.2}
#zg p{margin:0}
#zg button,#zg input,#zg select,#zg textarea{font:inherit;color:inherit;text-transform:none;letter-spacing:normal;box-shadow:none;margin:0}
#zg a{color:var(--brand)}
#zg .muted{color:var(--muted)}
#zg .num{font-variant-numeric:tabular-nums}
#zg :focus-visible{outline:2px solid var(--v);outline-offset:2px}
@media (prefers-reduced-motion: reduce){#zg *{transition:none!important;animation:none!important}}

/* Botões */
#zg .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:9px 16px;border-radius:999px;font-weight:600;font-size:14px;cursor:pointer;white-space:nowrap;line-height:1.2;transition:border-color .15s,color .15s,filter .15s;min-height:auto;width:auto}
#zg .btn:hover{border-color:var(--v);color:var(--brand);background:var(--surface)}
#zg .btn.pri{background:var(--grad);border-color:transparent;color:var(--on-grad)}
#zg .btn.pri:hover{filter:brightness(1.08);color:var(--on-grad)}
#zg .btn.sm{padding:6px 12px;font-size:13px}
#zg .btn.ok{color:var(--ok)} #zg .btn.ok:hover{border-color:var(--ok)}
#zg .btn.danger{color:var(--bad)} #zg .btn.danger:hover{border-color:var(--bad)}
#zg .lnk{background:none;border:0;padding:0;color:var(--brand);font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:3px}

/* Estrutura */
#zg .shell{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh;background:linear-gradient(to right,var(--side) 252px,var(--bg) 252px)}
#zg .side{background:var(--side);color:var(--side-ink);position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:24px;padding:22px 16px;overflow-y:auto;background-image:radial-gradient(260px 220px at 0% 0%,rgba(124,92,255,.28),transparent 70%),radial-gradient(240px 240px at 100% 100%,rgba(34,211,238,.14),transparent 70%)}
#zg .brand{display:flex;align-items:center;gap:10px;padding:0 6px}
#zg .brand svg{flex:none}
#zg .brand b{font-family:var(--f-d);font-weight:800;font-size:21px;letter-spacing:-.02em;display:block;line-height:1.1}
#zg .brand span{font-size:12px;color:var(--side-muted);display:block}
#zg .nav{display:flex;flex-direction:column;gap:2px}
#zg .nav button{display:flex;align-items:center;gap:11px;width:100%;background:none;border:0;color:var(--side-muted);padding:10px 12px;border-radius:12px;cursor:pointer;text-align:left;font-weight:500;font-size:14.5px;transition:background .15s,color .15s}
#zg .nav button:hover{color:var(--side-ink);background:rgba(255,255,255,.05)}
#zg .nav button.on{background:var(--side-active);color:var(--side-ink);box-shadow:inset 3px 0 0 var(--c)}
#zg .badge{margin-left:auto;background:var(--pink);color:#2a0716;font-size:11px;font-weight:700;border-radius:999px;padding:1px 8px}
#zg .side-foot{margin-top:auto;display:flex;flex-direction:column;gap:12px;border-top:1px solid rgba(255,255,255,.08);padding:16px 6px 0}
#zg .who small{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--side-muted)}
#zg .who strong{font-size:14px;font-weight:600}
#zg .proto{font-size:11.5px;color:var(--c)}
#zg .sbtns{display:flex;gap:6px;flex-wrap:wrap}
#zg .sbtn{background:transparent;border:1px solid rgba(255,255,255,.14);color:var(--side-ink);border-radius:999px;padding:6px 11px;font-size:12px;cursor:pointer}
#zg .sbtn:hover{border-color:var(--c)}
#zg .main{min-width:0;padding:28px 32px 64px}
#zg .wrap{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:18px}
#zg .top{display:flex;justify-content:space-between;align-items:flex-end;gap:12px 20px;flex-wrap:wrap}
#zg .top h1{font-size:28px}
#zg .top .sub{color:var(--muted);margin-top:4px;max-width:70ch}
#zg .today{font-size:13px;color:var(--muted)}
@media (max-width:880px){
  #zg .shell{grid-template-columns:1fr;background:var(--bg)}
  #zg .side{position:sticky;top:0;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;z-index:20}
  #zg .nav{order:3;width:100%;flex-direction:row;overflow-x:auto;gap:4px;scrollbar-width:none}
  #zg .nav button{width:auto;white-space:nowrap;padding:7px 12px}
  #zg .nav button svg{display:none}
  #zg .nav button.on{box-shadow:inset 0 -2px 0 var(--c)}
  #zg .side-foot{margin:0 0 0 auto;border:0;padding:0;flex-direction:row;align-items:center}
  #zg .who,#zg .proto,#zg .sbtn.rst{display:none}
  #zg .main{padding:20px 14px 56px}
  #zg .top h1{font-size:23px}
}

/* Painéis */
#zg .panel{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px 20px;min-width:0}
#zg .ph{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}
#zg .ph h3,#zg .panel>h3{font-size:16px}
#zg .panel>h3{margin-bottom:12px}
#zg .cols{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:16px;align-items:start}
#zg .cols2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
#zg .stack{display:flex;flex-direction:column;gap:16px;min-width:0}
@media (max-width:1020px){#zg .cols,#zg .cols2{grid-template-columns:minmax(0,1fr)}}

/* KPIs */
#zg .kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0}
#zg .kpi{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px 18px;margin:0;display:flex;flex-direction:column;gap:4px}
#zg .kpi dt{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
#zg .kpi dd{margin:0;font-family:var(--f-d);font-size:29px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}
#zg .kpi .ks{font-size:13px;color:var(--muted)}
#zg .kpi.bad dd{color:var(--bad)} #zg .kpi.warn dd{color:var(--warn)} #zg .kpi.ok dd{color:var(--ok)}
@media (max-width:1100px){#zg .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){#zg .kpi{padding:14px}#zg .kpi dd{font-size:21px;word-break:break-word}#zg .kpi dt{font-size:11px}}

/* Hero escuro */
#zg .hero{background:#070510;color:#f3f1ff;border-radius:22px;padding:26px 28px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px 36px;align-items:end;background-image:radial-gradient(520px 320px at 0% 0%,rgba(124,92,255,.42),transparent 65%),radial-gradient(420px 300px at 100% 100%,rgba(34,211,238,.26),transparent 65%);position:relative;overflow:hidden}
#zg .hero .eb{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#a9a6c8;font-weight:600}
#zg .hero h2{font-size:30px;margin:8px 0 6px;font-weight:800}
#zg .gt{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
#zg .hero p{color:#c9c6e6;max-width:54ch}
#zg .hst{display:grid;grid-template-columns:repeat(3,auto);gap:30px;margin:0}
#zg .hst dt{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#a9a6c8}
#zg .hst dd{margin:2px 0 0;font-family:var(--f-d);font-size:23px;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
@media (max-width:760px){#zg .hero{grid-template-columns:minmax(0,1fr);padding:22px}#zg .hero h2{font-size:24px}#zg .hst{gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}#zg .hst dd{font-size:17px;white-space:normal}}

/* Chips */
#zg .chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px;white-space:nowrap;background:var(--surface-2);color:var(--muted);line-height:1.5}
#zg .chip::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
#zg .chip.ok{background:var(--ok-bg);color:var(--ok)} #zg .chip.warn{background:var(--warn-bg);color:var(--warn)}
#zg .chip.bad{background:var(--bad-bg);color:var(--bad)} #zg .chip.info{background:var(--info-bg);color:var(--info)}
#zg .chip.v{background:var(--brand-soft);color:var(--brand)}
#zg .tag{display:inline-block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--surface-2);border-radius:6px;padding:1px 7px}
#zg .dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex:none}
#zg .dot.ok{background:#22c08a} #zg .dot.warn{background:#f0a92b} #zg .dot.bad{background:#ef4565}

/* Tabelas */
#zg .tw{overflow-x:auto;margin:0 -6px}
#zg table{width:100%;border-collapse:collapse;font-size:14px;margin:0;border:0}
#zg th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:600;padding:8px 10px;border:0;border-bottom:1px solid var(--line);white-space:nowrap;background:none}
#zg td{padding:11px 10px;border:0;border-bottom:1px solid var(--line);vertical-align:middle;background:none}
#zg tr:last-child td{border-bottom:0}
#zg td.r,#zg th.r{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
#zg td .s{display:block;font-size:12.5px;color:var(--muted)}
#zg tr.click{cursor:pointer} #zg tr.click:hover td{background:var(--surface-2)}
#zg .bar{height:8px;border-radius:99px;background:var(--surface-2);overflow:hidden;min-width:80px}
#zg .bar i{display:block;height:100%;background:var(--grad);border-radius:99px}
#zg .prog{display:flex;align-items:center;gap:10px}
#zg .prog span{font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}

/* Listas */
#zg .mini{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
#zg .mini li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
#zg .mini li:first-child{border-top:0;padding-top:2px}
#zg .mini b{display:block;font-weight:600;font-size:14px}
#zg .mini .m{display:block;font-size:12.5px;color:var(--muted)}
#zg .date{font-size:12.5px;color:var(--muted);text-align:right;white-space:nowrap}
#zg .ico{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand);flex:none}
#zg .ico.pink{background:rgba(244,114,182,.16);color:#d63d8a}
#zg .ico.cy{background:var(--info-bg);color:var(--info)}
#zg .empty{color:var(--muted);padding:20px 0;text-align:center}

/* Kanban */
#zg .board{display:grid;grid-template-columns:repeat(5,minmax(220px,1fr));gap:12px;overflow-x:auto;padding-bottom:6px}
#zg .col{background:var(--surface-2);border-radius:16px;padding:10px;display:flex;flex-direction:column;gap:8px;min-width:0;max-height:78vh;overflow-y:auto}
#zg .col h3{position:sticky;top:-10px;background:var(--surface-2);z-index:1;margin:-10px -10px 0;padding:14px 16px 8px!important}
#zg .col h3{font-family:var(--f-b);font-size:12.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);display:flex;justify-content:space-between;padding:4px 6px}
#zg .card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:11px 12px;display:flex;flex-direction:column;gap:7px;cursor:pointer;text-align:left;width:100%}
#zg .card:hover{border-color:var(--v)}
#zg .card.late{border-left:3px solid var(--bad)}
#zg .card b{font-weight:600;font-size:14px;line-height:1.35}
#zg .card .cm{display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-size:12px;color:var(--muted)}
#zg .seg{display:inline-flex;background:var(--surface-2);border-radius:999px;padding:3px}
#zg .seg button{border:0;background:none;padding:6px 14px;border-radius:999px;font-weight:600;font-size:13px;cursor:pointer;color:var(--muted)}
#zg .seg button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(20,17,43,.12)}

/* Aprovações */
#zg .apgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
#zg .ap{background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column}
#zg .prev{aspect-ratio:4/5;display:flex;flex-direction:column;justify-content:flex-end;padding:18px;color:#fff;position:relative}
#zg .prev .fmt{position:absolute;top:12px;left:12px;font-size:11px;font-weight:600;background:rgba(0,0,0,.35);padding:3px 9px;border-radius:99px;letter-spacing:.04em}
#zg .prev .ver{position:absolute;top:12px;right:12px;font-size:11px;font-weight:700;background:rgba(255,255,255,.9);color:#14112B;padding:3px 9px;border-radius:99px}
#zg .prev strong{font-family:var(--f-d);font-size:21px;font-weight:800;line-height:1.15;letter-spacing:-.02em;text-shadow:0 2px 12px rgba(0,0,0,.25)}
#zg .prev small{font-size:12px;opacity:.85;margin-top:6px}
#zg .ap-b{padding:14px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
#zg .ap-b .cap{font-size:13.5px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
#zg .ap-f{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:6px}
#zg .hist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:13.5px}
#zg .hist li{border-left:2px solid var(--line);padding-left:10px}
#zg .hist li.aj{border-color:var(--warn)} #zg .hist li.okk{border-color:var(--ok)}

/* Formulários */
#zg .form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#zg .f{display:flex;flex-direction:column;gap:6px;min-width:0}
#zg .full{grid-column:1/-1}
#zg .f label,#zg .lbl{font-size:13px;font-weight:600}
#zg .f .h{font-size:12px;color:var(--muted)}
#zg .ck{display:flex;gap:9px;align-items:center;font-size:14px;cursor:pointer}
#zg .ck input{accent-color:var(--v);width:16px;height:16px}
#zg input[type=text],#zg input[type=number],#zg input[type=date],#zg input[type=email],#zg input[type=tel],#zg input[type=month],#zg select,#zg textarea{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:9px 12px;width:100%;min-width:0;height:auto;font-size:14.5px}
#zg textarea{resize:vertical;min-height:90px}
#zg input:focus,#zg select:focus,#zg textarea:focus{outline:2px solid var(--v);outline-offset:-1px;border-color:var(--v)}
#zg .filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
#zg .filters select{width:auto;max-width:100%}
#zg .err{color:var(--bad);font-weight:600;font-size:14px}
#zg .svc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
#zg .svc label{display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:13.5px;cursor:pointer}
#zg .svc label:has(input:checked){border-color:var(--v);background:var(--brand-soft)}
#zg .svc input{accent-color:var(--v)}
@media (max-width:640px){#zg .form{grid-template-columns:minmax(0,1fr)}#zg .svc{grid-template-columns:minmax(0,1fr)}}

/* Empresa */
#zg .back{background:none;border:0;color:var(--brand);font-weight:600;cursor:pointer;padding:0;display:inline-flex;gap:6px;align-items:center}
#zg .eh{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:flex-start}
#zg .eh h2{font-size:24px}
#zg .facts{display:flex;gap:6px 22px;flex-wrap:wrap;margin-top:8px;font-size:14px;color:var(--muted)}
#zg .facts b{color:var(--ink);font-weight:600}
#zg .tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
#zg .tabs button{background:none;border:0;padding:10px 14px;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
#zg .tabs button.on{color:var(--ink);border-bottom-color:var(--v)}
#zg .dl{display:grid;grid-template-columns:150px minmax(0,1fr);gap:8px 14px;margin:0;font-size:14px}
#zg .dl dt{color:var(--muted)} #zg .dl dd{margin:0;font-weight:500;word-break:break-word}
#zg .pills{display:flex;gap:6px;flex-wrap:wrap}
#zg .note{font-size:13px;color:var(--muted)}
#zg .internal{border-left:3px solid var(--pink);padding:8px 12px;background:rgba(244,114,182,.07);border-radius:0 10px 10px 0;font-size:14px;white-space:pre-wrap}
#zg .avatar{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-family:var(--f-d);font-weight:800;font-size:15px;color:#fff;flex:none}

/* Chamados */
#zg .tk{display:grid;grid-template-columns:330px minmax(0,1fr);gap:16px;align-items:start}
#zg .tk ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
#zg .ti{display:grid;gap:4px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;cursor:pointer}
#zg .ti:hover{border-color:var(--v)} #zg .ti.on{border-color:var(--v);box-shadow:0 0 0 1px var(--v)}
#zg .ti b{font-weight:600} #zg .ti span{font-size:12.5px;color:var(--muted)}
#zg .msgs{display:flex;flex-direction:column;gap:12px;margin:14px 0}
#zg .msg{max-width:min(82%,620px);padding:10px 14px;border-radius:16px 16px 16px 4px;background:var(--surface-2);align-self:flex-start;white-space:pre-wrap}
#zg .msg.me{align-self:flex-end;background:var(--brand-soft);border-radius:16px 16px 4px 16px}
#zg .msg .wm{font-size:12px;color:var(--muted);margin-bottom:3px;white-space:normal}
#zg .msg .wm b{color:var(--ink)}
@media (max-width:900px){#zg .tk{grid-template-columns:minmax(0,1fr)}}

/* Modal + toast */
#zg .ov{position:fixed;inset:0;background:var(--overlay);display:grid;place-items:center;padding:16px;z-index:99999}
#zg .modal{background:var(--surface);border-radius:20px;width:min(760px,100%);max-height:calc(100vh - 32px);overflow:auto;box-shadow:0 24px 70px rgba(7,5,16,.35);border:1px solid var(--line)}
#zg .mh{display:flex;gap:12px;align-items:center;padding:18px 22px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface);z-index:1}
#zg .mh h2{font-size:19px}
#zg .mh p{font-size:13px;color:var(--muted)}
#zg .mh .x{margin-left:auto;background:none;border:0;font-size:24px;line-height:1;cursor:pointer;color:var(--muted);padding:4px 8px;border-radius:8px}
#zg .mb{padding:20px 22px;display:flex;flex-direction:column;gap:16px}
#zg .mf{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;align-items:center;padding:14px 22px;border-top:1px solid var(--line)}
#zg .mf .grow{margin-right:auto}
#zg .code{border:1px dashed var(--line);border-radius:12px;padding:12px 14px;font-family:ui-monospace,Consolas,monospace;font-size:13px;word-break:break-all;background:var(--surface-2)}
#zg .toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(10px);background:#070510;color:#f3f1ff;padding:11px 18px;border-radius:999px;font-size:14px;font-weight:500;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:100000;max-width:calc(100% - 32px);text-align:center;border:1px solid rgba(124,92,255,.5)}
#zg .toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* Calendário */
#zg .cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
#zg .cal-h{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:2px 6px}
#zg .cal-c{min-height:104px;border:1px solid var(--line);border-radius:12px;padding:6px;display:flex;flex-direction:column;gap:4px;min-width:0;background:var(--surface)}
#zg .cal-x{border:0;background:none}
#zg .cal-t{border-color:var(--v);box-shadow:0 0 0 1px var(--v)}
#zg .cal-n{font-size:12px;font-weight:600;color:var(--muted)}
#zg .cal-i{display:block;width:100%;text-align:left;border:0;border-radius:7px;padding:3px 6px;font-size:11.5px;line-height:1.3;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--surface-2);color:var(--ink)}
#zg .cal-i.ok{background:var(--ok-bg);color:var(--ok)} #zg .cal-i.warn{background:var(--warn-bg);color:var(--warn)} #zg .cal-i.v{background:var(--brand-soft);color:var(--brand)} #zg .cal-i.info{background:var(--info-bg);color:var(--info)}
#zg .cal-list{display:none}
@media (max-width:760px){#zg .cal-p{display:none}#zg .cal-list{display:block}}

/* Login */
#zg .login{min-height:100vh;display:grid;place-items:center;padding:32px 16px;background:#070510;color:#f3f1ff;background-image:radial-gradient(700px 520px at 0% 0%,rgba(124,92,255,.38),transparent 62%),radial-gradient(640px 520px at 100% 100%,rgba(34,211,238,.22),transparent 62%)}
#zg .lc{width:min(820px,100%);display:flex;flex-direction:column;gap:26px}
#zg .lc h1{font-size:44px;font-weight:800;line-height:1.05;letter-spacing:-.035em}
#zg .lc .lead{font-size:17px;color:#c9c6e6;max-width:56ch}
#zg .lo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#zg .lopt{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);border-radius:22px;padding:22px;display:flex;flex-direction:column;gap:12px;backdrop-filter:blur(6px)}
#zg .lopt h2{font-size:19px}
#zg .lopt p{color:#c9c6e6;font-size:14px}
#zg .lopt select{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:#f3f1ff}
#zg .lopt select option{color:#14112B}
#zg .lopt .btn{margin-top:auto;align-self:flex-start}
#zg .lnote{font-size:13px;color:#a9a6c8}
#zg .lo2{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:36px}
#zg .lopt input{background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.22)!important;color:#f3f1ff!important}
@media (max-width:760px){#zg .lo2{grid-template-columns:minmax(0,1fr);gap:22px}}
@media (max-width:640px){#zg .lo{grid-template-columns:minmax(0,1fr)}#zg .lc h1{font-size:32px}}
