/* Serenas Kiosk — admin */
:root{
  --bg:#06080f; --bg2:#0b0f1a;
  --panel:rgba(16,21,36,.72); --panel2:rgba(24,31,52,.7); --inset:rgba(3,6,16,.55);
  --line:rgba(148,163,184,.11); --line2:rgba(148,163,184,.2); --line3:rgba(148,163,184,.34);
  --text:#e8ecf4; --soft:#c3cad8; --muted:#8b95aa; --dim:#5e677d;
  --v:#7c5cff; --b:#4f8bff; --cy:#22d3ee; --pk:#f472b6;
  --grad:linear-gradient(135deg,#7c5cff 0%,#4f8bff 55%,#22d3ee 100%);
  --ok:#34d399; --warn:#fbbf24; --err:#f87171;
  --r:18px; --r-sm:11px;
  --shadow:0 1px 0 rgba(255,255,255,.04) inset,0 24px 48px -28px rgba(0,0,0,.75);
  --font:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Consolas,monospace;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:14px/1.55 var(--font);color:var(--text);background:var(--bg);min-height:100vh;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(1100px 620px at 12% -12%,rgba(124,92,255,.22),transparent 60%),
    radial-gradient(900px 560px at 108% 4%,rgba(34,211,238,.12),transparent 60%),
    radial-gradient(800px 600px at 60% 120%,rgba(244,114,182,.08),transparent 60%),
    var(--bg)}
body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.045) 1px,transparent 1px);background-size:24px 24px;
  -webkit-mask-image:linear-gradient(180deg,#000,transparent 70%);mask-image:linear-gradient(180deg,#000,transparent 70%)}
a{color:#a5b4fc;text-decoration:none}
a:hover{color:#c7d2fe}
code{font-family:var(--mono);font-size:.86em;background:rgba(124,92,255,.14);color:#c4b5fd;padding:1px 6px;border-radius:6px}
h1,h2,h3{margin:0;letter-spacing:-.02em}
p{margin:0}
.i{width:18px;height:18px;flex-shrink:0}
.mono{font-family:var(--mono);font-size:.92em}
.muted{color:var(--muted)} .small{font-size:12.5px} .warn{color:var(--warn)} b.warn{color:var(--warn)}
.sep{opacity:.5;margin:0 4px}
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
[hidden]{display:none!important}

/* ───────── layout */
.app{display:grid;grid-template-columns:276px minmax(0,1fr);min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:6px;padding:20px 14px;
  background:linear-gradient(180deg,rgba(13,17,30,.86),rgba(9,12,22,.9));border-right:1px solid var(--line);backdrop-filter:blur(18px);z-index:40}
.brand{display:flex;align-items:center;gap:12px;padding:6px 10px 18px;color:var(--text);font-size:17px;letter-spacing:-.01em}
.brand:hover{color:var(--text)}
.brand b{font-weight:800}
.brand small{display:block;font-size:11.5px;color:var(--muted);font-weight:500;letter-spacing:0;margin-top:1px}
.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--grad);color:#fff;
  box-shadow:0 10px 28px -8px rgba(124,92,255,.7),inset 0 1px 0 rgba(255,255,255,.35)}
.brand-mark .i{width:22px;height:22px}
.brand-mark.lg{width:64px;height:64px;border-radius:20px}
.brand-mark.lg .i{width:34px;height:34px}
.nav{display:flex;flex-direction:column;gap:2px;overflow-y:auto;flex:1;margin:0 -4px;padding:0 4px}
.nav-link{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:12px;color:var(--soft);font-weight:600;transition:.18s}
.nav-link:hover{background:rgba(255,255,255,.045);color:#fff}
.nav-link.active{background:linear-gradient(90deg,rgba(124,92,255,.22),rgba(124,92,255,.06));color:#fff;box-shadow:inset 0 0 0 1px rgba(124,92,255,.3)}
.nav-link .i{color:var(--muted)} .nav-link.active .i{color:#b4a5ff}
.nav-title{display:flex;justify-content:space-between;align-items:center;margin:20px 12px 8px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.nav-title span{background:rgba(148,163,184,.12);color:var(--muted);border-radius:99px;padding:1px 8px;letter-spacing:0}
.nav-congress{padding:7px 10px}
.nav-avatar{width:34px;height:34px;border-radius:10px;flex-shrink:0;display:grid;place-items:center;font-weight:800;color:#fff;
  background:var(--grad) center/cover;border:1px solid var(--line2)}
.nav-text{flex:1;min-width:0;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav-text small{display:block;font-family:var(--mono);font-size:11px;color:var(--dim);font-weight:500}
.nav-empty{color:var(--dim);font-size:13px;padding:4px 12px}
.dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0}
.dot-ok{color:var(--ok);box-shadow:0 0 10px var(--ok)} .dot-off{color:var(--dim)}
.sidebar-foot{display:flex;align-items:center;gap:8px;padding-top:14px;border-top:1px solid var(--line)}
.user{flex:1;display:flex;align-items:center;gap:10px;padding:8px;border-radius:12px;color:var(--text);font-weight:700;line-height:1.2;min-width:0}
.user:hover,.user.active{background:rgba(255,255,255,.05);color:#fff}
.user small{display:block;font-weight:500;font-size:11.5px;color:var(--muted)}
.user-av{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#f472b6,#7c5cff);font-weight:800;color:#fff;flex-shrink:0}
.user-av.sm{width:28px;height:28px;font-size:12px}
.user-inline{display:inline-flex;align-items:center;gap:10px}

.main{min-width:0;display:flex;flex-direction:column}
.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:14px;height:64px;padding:0 32px;
  background:rgba(6,8,15,.6);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.crumbs{display:flex;align-items:center;gap:10px;color:var(--muted);font-weight:600}
.crumbs a{color:var(--muted)} .crumbs a:hover{color:#fff} .crumbs b{color:var(--text)}
.topbar-right{margin-left:auto;display:flex;align-items:center;gap:12px}
.clock{font-family:var(--mono);font-size:12.5px;color:var(--muted);padding:6px 12px;border:1px solid var(--line);border-radius:99px;background:rgba(255,255,255,.02)}
.btn.menu-btn{display:none}
.content{width:100%;max-width:1280px;margin:0 auto;padding:30px 32px 64px;display:flex;flex-direction:column;gap:22px}
.scrim{display:none}

/* ───────── headings */
.welcome,.page-h{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:8px 0 4px}
.welcome h1,.page-h h1{font-size:34px;font-weight:800;line-height:1.1}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#a78bfa;margin-bottom:10px}
.lead{color:var(--muted);font-size:15px;margin-top:10px;max-width:620px}
.section-h{display:flex;align-items:center;justify-content:space-between;margin-top:8px}
.section-h h2{font-size:18px;font-weight:700}

/* ───────── cards */
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);backdrop-filter:blur(14px);min-width:0}
.card-h{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px 22px;border-bottom:1px solid var(--line)}
.card-h h3{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:700}
.card-h h3 .i{color:#a78bfa}
.card-b{padding:22px}
.card-f{display:flex;justify-content:flex-end;gap:10px;padding:16px 22px;border-top:1px solid var(--line);background:rgba(255,255,255,.015);border-radius:0 0 var(--r) var(--r)}
.stack{display:flex;flex-direction:column;gap:18px}
.grid-main{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.split{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:22px;align-items:start}
.grid-mail{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:22px;align-items:start}

/* ───────── stats */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.stat{position:relative;overflow:hidden;display:flex;align-items:center;gap:16px;padding:20px 22px;border-radius:var(--r);
  background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow)}
.stat::after{content:"";position:absolute;right:-40px;top:-40px;width:140px;height:140px;border-radius:50%;background:var(--c);opacity:.14;filter:blur(30px)}
.stat-ico{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;color:var(--c);
  background:color-mix(in srgb,var(--c) 14%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 30%,transparent)}
.stat-ico .i{width:22px;height:22px}
.stat b{display:block;font-size:28px;font-weight:800;letter-spacing:-.03em;line-height:1.1}
.stat span{color:var(--muted);font-size:13px;font-weight:500}

/* ───────── congress cards */
.cgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}
.ccard{display:flex;flex-direction:column;overflow:hidden;border-radius:var(--r);background:var(--panel);border:1px solid var(--line);
  box-shadow:var(--shadow);color:var(--text);transition:transform .25s,border-color .25s,box-shadow .25s}
.ccard:hover{transform:translateY(-4px);border-color:rgba(124,92,255,.45);color:var(--text);box-shadow:0 30px 60px -30px rgba(124,92,255,.55)}
.ccard-cover{position:relative;height:118px;background:linear-gradient(135deg,#1e1b4b,#0f172a) center/cover;border-bottom:1px solid var(--line)}
.ccard-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(10,13,24,.85))}
.ccard-cover .pill{position:absolute;top:12px;right:12px;z-index:1;backdrop-filter:blur(8px)}
.cover-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--dim);font-weight:600;z-index:1}
.ccard-body{padding:16px 20px 18px;display:flex;flex-direction:column;gap:10px;flex:1}
.ccard-body h3{font-size:18px;font-weight:800}
.ccard-body .i{width:14px;height:14px;vertical-align:-2px}
.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:4px}
.mini-stats div{background:var(--inset);border:1px solid var(--line);border-radius:12px;padding:9px 12px}
.mini-stats b{display:block;font-size:17px;font-weight:800}
.mini-stats span{font-size:11.5px;color:var(--muted)}
.ccard-warn,.ccard-ok,.ccard-info{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;margin-top:auto;padding-top:4px}
.ccard-warn{color:var(--warn)} .ccard-ok{color:var(--ok)} .ccard-info{color:var(--cy)}
.ccard-new{align-items:center;justify-content:center;text-align:center;gap:8px;min-height:290px;background:rgba(255,255,255,.015);border:1.5px dashed var(--line3);box-shadow:none}
.ccard-new b{font-size:16px}
.plus-ring{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:rgba(124,92,255,.12);color:#b4a5ff;
  box-shadow:inset 0 0 0 1px rgba(124,92,255,.35);margin-bottom:6px;transition:.25s}
.ccard-new:hover .plus-ring{background:var(--grad);color:#fff;transform:rotate(90deg)}

/* ───────── hero */
.hero{position:relative;overflow:hidden;border-radius:24px;border:1px solid var(--line2);box-shadow:var(--shadow);background:#0b1020}
.hero-bg{position:absolute;inset:-40px;background:var(--grad) center/cover;filter:blur(28px) saturate(1.5);opacity:.75;transform:scale(1.05)}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(6,8,15,.9) 15%,rgba(6,8,15,.5) 65%,rgba(6,8,15,.3))}
.hero-in{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:30px 32px}
.hero-main{min-width:0}
.hero h1{font-size:36px;font-weight:800;line-height:1.1;margin:12px 0 6px}
.hero-sub{display:flex;align-items:center;gap:8px;color:var(--soft);font-weight:500}
.hero-sub .i{width:16px;height:16px;color:var(--muted)}
.hero-pills{display:flex;gap:8px;flex-wrap:wrap}
.hero-stats{display:flex;gap:10px}
.hero-stats div{min-width:104px;padding:12px 16px;border-radius:14px;background:rgba(6,8,15,.5);border:1px solid var(--line2);backdrop-filter:blur(10px)}
.hero-stats b{display:block;font-size:24px;font-weight:800;letter-spacing:-.02em}
.hero-stats span{font-size:12px;color:var(--muted)}
.urlchip{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:5px 5px 5px 12px;border-radius:12px;background:rgba(3,6,16,.6);border:1px solid var(--line2);max-width:100%}
.urlchip > .i{color:var(--cy);width:16px;height:16px}
.urlchip span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--soft)}

/* ───────── tabs */
.tabs{display:flex;gap:4px;padding:5px;border-radius:15px;background:rgba(255,255,255,.025);border:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border-radius:11px;color:var(--muted);font-weight:600;white-space:nowrap;transition:.18s}
.tab .i{width:16px;height:16px}
.tab:hover{color:#fff;background:rgba(255,255,255,.04)}
.tab.active{color:#fff;background:linear-gradient(135deg,rgba(124,92,255,.3),rgba(79,139,255,.18));box-shadow:inset 0 0 0 1px rgba(124,92,255,.4),0 8px 20px -10px rgba(124,92,255,.6)}

/* ───────── buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border-radius:var(--r-sm);
  border:1px solid var(--line2);background:rgba(255,255,255,.045);color:var(--text);font:600 14px var(--font);cursor:pointer;
  white-space:nowrap;transition:transform .15s,background .15s,border-color .15s,box-shadow .2s,filter .15s;text-decoration:none}
.btn:hover{background:rgba(255,255,255,.085);border-color:var(--line3);color:#fff}
.btn:active{transform:translateY(1px)}
.btn .i{width:16px;height:16px}
.btn-primary{background:var(--grad);border-color:transparent;color:#fff;box-shadow:0 10px 26px -10px rgba(124,92,255,.8),inset 0 1px 0 rgba(255,255,255,.25)}
.btn-primary:hover{filter:brightness(1.12);border-color:transparent;box-shadow:0 14px 30px -10px rgba(124,92,255,.9)}
.btn-ghost{background:transparent;border-color:transparent;color:var(--soft)}
.btn-ghost:hover{background:rgba(255,255,255,.06);border-color:transparent}
.btn-danger{background:rgba(248,113,113,.08);border-color:rgba(248,113,113,.3);color:#fca5a5}
.btn-danger:hover{background:rgba(248,113,113,.16);border-color:rgba(248,113,113,.5);color:#fecaca}
.danger-hover:hover{color:#fca5a5;background:rgba(248,113,113,.1)}
.btn-sm{height:32px;padding:0 11px;font-size:13px;border-radius:9px}
.btn-lg{height:48px;padding:0 22px;font-size:15px;border-radius:13px}
.btn-icon{width:36px;padding:0}
.btn-sm.btn-icon{width:32px}
.btn-block{width:100%}
.btn.loading{pointer-events:none;opacity:.75}
.btn.loading::before{content:"";width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite}
.btn-row,.row-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.row-actions form{display:contents}
.dl-cell{white-space:nowrap}
.dl-cell form{display:inline}
.dl-cell .btn + .btn{margin-left:4px}
.btn.disabled,.quick-item.disabled{pointer-events:none;opacity:.4}

/* ───────── forms */
.field label{display:block;font-weight:600;font-size:13px;color:var(--soft);margin-bottom:8px}
.field label em{color:var(--pk);font-style:normal}
.hint{display:block;margin-top:7px;color:var(--dim);font-size:12.5px}
.input{width:100%;height:44px;padding:0 14px;border-radius:var(--r-sm);border:1px solid var(--line2);background:var(--inset);color:var(--text);
  font:500 14px var(--font);transition:border-color .15s,box-shadow .15s,background .15s}
textarea.input{height:auto;padding:12px 14px;line-height:1.55;resize:vertical}
.input::placeholder{color:var(--dim)}
.input:hover{border-color:var(--line3)}
.input:focus{outline:none;border-color:var(--v);box-shadow:0 0 0 4px rgba(124,92,255,.18);background:rgba(3,6,16,.75)}
.input:disabled{opacity:.6}
.input.mono{font-family:var(--mono);font-size:13px}
.input-ico{position:relative}
.input-ico > .i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--dim);width:17px;height:17px;pointer-events:none}
.input-ico .input{padding-left:42px;height:48px}
.prefixed{display:flex;align-items:stretch;border-radius:var(--r-sm);border:1px solid var(--line2);background:var(--inset);overflow:hidden}
.prefixed:focus-within{border-color:var(--v);box-shadow:0 0 0 4px rgba(124,92,255,.18)}
.prefixed span{display:flex;align-items:center;padding:0 4px 0 14px;color:var(--dim);font-family:var(--mono);font-size:13px;white-space:nowrap}
.prefixed .input{border:0;background:transparent;box-shadow:none;padding-left:2px}
.color-field{display:flex;gap:10px}
.color-field input[type=color]{width:52px;height:44px;padding:4px;border-radius:var(--r-sm);border:1px solid var(--line2);background:var(--inset);cursor:pointer}
.color-field input[type=color]::-webkit-color-swatch-wrapper{padding:0}
.color-field input[type=color]::-webkit-color-swatch{border:0;border-radius:7px}
.switch-row{display:flex;gap:14px;align-items:flex-start;padding:16px;border-radius:14px;background:var(--inset);border:1px solid var(--line);cursor:pointer}
.switch-row small{display:block;color:var(--muted);font-size:12.5px;margin-top:3px}
.switch{position:relative;flex-shrink:0;margin-top:2px}
.switch input{position:absolute;opacity:0;width:0;height:0}
.switch .track{display:block;width:46px;height:26px;border-radius:99px;background:rgba(148,163,184,.25);transition:.2s;position:relative}
.switch .track::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:.2s;box-shadow:0 2px 6px rgba(0,0,0,.4)}
.switch input:checked + .track{background:var(--grad);box-shadow:0 0 18px -4px rgba(124,92,255,.8)}
.switch input:checked + .track::after{transform:translateX(20px)}
.switch input:focus-visible + .track{outline:2px solid var(--v);outline-offset:2px}

.seg{display:flex;padding:4px;gap:4px;border-radius:13px;background:var(--inset);border:1px solid var(--line)}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg label{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:9px 10px;border-radius:10px;cursor:pointer;color:var(--muted);font-weight:600;font-size:13px;transition:.18s}
.seg label .i{width:15px;height:15px}
.seg label:hover{color:#fff}
.seg input:checked + label{background:var(--grad);color:#fff;box-shadow:0 8px 20px -10px rgba(124,92,255,.9)}
.seg input:focus-visible + label{outline:2px solid var(--v)}

.drop{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:30px 20px;border-radius:16px;text-align:center;cursor:pointer;
  border:1.5px dashed var(--line3);background:rgba(3,6,16,.4);transition:.2s}
.drop .i{width:30px;height:30px;color:#a78bfa;margin-bottom:4px}
.drop b{font-size:15px}
.drop span{color:var(--muted);font-size:13px}
.drop:hover,.drop.over{border-color:var(--v);background:rgba(124,92,255,.08)}
.drop.has-file{border-style:solid;border-color:rgba(52,211,153,.5);background:rgba(52,211,153,.06)}
.drop.has-file .i{color:var(--ok)}
.drop input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.drop.compact{flex-direction:row;justify-content:center;padding:14px 16px;gap:10px}
.drop.compact .i{width:20px;height:20px;margin:0}
.drop.compact span{font-size:12.5px}

/* ───────── pills, kinds */
.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:99px;font-size:12px;font-weight:700;
  background:rgba(148,163,184,.12);color:var(--soft);border:1px solid var(--line);white-space:nowrap}
.pill .i{width:13px;height:13px}
.pill .dot{width:6px;height:6px}
.pill-ok{background:rgba(52,211,153,.12);color:#6ee7b7;border-color:rgba(52,211,153,.25)}
.pill-ok .dot{box-shadow:0 0 8px var(--ok)}
.pill-off{background:rgba(6,8,15,.5);color:var(--muted)}
.pill-warn{background:rgba(251,191,36,.12);color:#fcd34d;border-color:rgba(251,191,36,.25)}
.pill-brand{background:rgba(124,92,255,.15);color:#c4b5fd;border-color:rgba(124,92,255,.3)}
.kind{display:inline-block;padding:2px 8px;border-radius:7px;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.kind-test{background:rgba(244,114,182,.14);color:#f9a8d4}
.kind-main{background:rgba(124,92,255,.16);color:#c4b5fd}
.kind-extra{background:rgba(34,211,238,.13);color:#67e8f9}

/* ───────── tables */
.table-wrap{overflow-x:auto}
.table{width:100%;border-collapse:separate;border-spacing:0}
.table th{text-align:left;font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--dim);padding:12px 22px;border-bottom:1px solid var(--line);white-space:nowrap}
.table td{padding:14px 22px;border-bottom:1px solid var(--line);vertical-align:middle}
.table tr:last-child td{border-bottom:0}
.table tbody tr{transition:background .15s}
.table tbody tr:hover{background:rgba(255,255,255,.022)}
.batch-name{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.table-note{padding:12px 22px;border-top:1px solid var(--line)}
.inline-log{display:inline}
.inline-log summary{display:inline;cursor:pointer;color:var(--warn)}
.inline-log ul,.log ul{margin:8px 0 0;padding:10px 12px 10px 28px;border-radius:10px;background:var(--inset);border:1px solid var(--line);max-height:220px;overflow:auto;font-size:12.5px;color:var(--soft)}
.log{margin-top:14px}
.log summary{cursor:pointer;color:var(--warn);font-weight:600;font-size:13px}

/* ───────── overview */
.checks{list-style:none;margin:16px 0 0;padding:0}
.checks li{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px dashed var(--line);color:var(--soft);font-weight:500}
.checks li:last-child{border:0}
.checks li .btn{margin-left:auto}
.check-ico{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:rgba(251,191,36,.12);color:var(--warn);flex-shrink:0}
.check-ico .i{width:14px;height:14px}
.checks li.is-ok{color:var(--muted)}
.checks li.is-ok .check-ico{background:rgba(52,211,153,.14);color:var(--ok)}
.quick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.quick-item{display:flex;flex-direction:column;gap:2px;padding:16px;border-radius:14px;background:var(--inset);border:1px solid var(--line);color:var(--text);transition:.2s}
.quick-item:hover{border-color:var(--line3);transform:translateY(-2px);color:#fff;background:rgba(255,255,255,.03)}
.quick-item > span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;margin-bottom:10px;color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent)}
.quick-item b{font-size:14px}
.quick-item small{color:var(--muted);font-size:12px}
.card-b .quick{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.kv{display:flex;flex-direction:column}
.kv div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px dashed var(--line)}
.kv div:last-child{border:0}
.kv span{color:var(--muted)}
.kv b{font-size:15px}
.progress{height:10px;border-radius:99px;background:rgba(148,163,184,.12);overflow:hidden}
.progress.slim{height:6px}
.progress > span{display:block;height:100%;width:0;border-radius:inherit;background:var(--grad);background-size:200% 100%;transition:width .45s ease;animation:shimmer 2.2s linear infinite}

.timeline{list-style:none;margin:0;padding:8px 22px}
.timeline li{display:grid;grid-template-columns:12px 1fr auto;gap:14px;align-items:start;padding:12px 0;border-bottom:1px solid var(--line)}
.timeline li:last-child{border:0}
.timeline.compact li{padding:10px 0}
.tl-dot{width:9px;height:9px;border-radius:50%;margin-top:6px;background:var(--grad);box-shadow:0 0 10px rgba(124,92,255,.8)}
.timeline time{white-space:nowrap}

.steps h3{font-size:15px;margin-bottom:16px}
.steplist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.steplist li{display:flex;gap:14px}
.steplist li > span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:rgba(124,92,255,.15);color:#c4b5fd;font-weight:800;font-size:13px;flex-shrink:0;box-shadow:inset 0 0 0 1px rgba(124,92,255,.3)}
.steplist li > div > b{display:block;margin-bottom:2px}
.steplist p{color:var(--muted);font-size:13px}
.cols{display:flex;flex-wrap:wrap;gap:8px}
.col{font-family:var(--mono);font-size:12.5px;padding:5px 10px;border-radius:8px;background:var(--inset);border:1px solid var(--line);color:var(--muted)}
.col.req{color:#c4b5fd;border-color:rgba(124,92,255,.35);background:rgba(124,92,255,.1)}
.bullets{margin:0;padding-left:18px;color:var(--muted);display:flex;flex-direction:column;gap:6px}
.bullets b{color:var(--soft)}

/* ───────── design tab */
.banner-prev{border-radius:12px;overflow:hidden;border:1px solid var(--line2);
  background:repeating-conic-gradient(rgba(148,163,184,.08) 0 25%,transparent 0 50%) 0 0/16px 16px}
.banner-prev img{display:block;width:100%;height:auto}
.banner-prev.empty{display:grid;place-items:center;min-height:110px}
.banner-prev.empty span{display:flex;gap:8px;align-items:center;color:var(--dim);font-weight:600}
.note-warn{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-radius:10px;background:rgba(251,191,36,.08);border:1px solid rgba(251,191,36,.25);color:#fcd34d;font-size:12.5px}
.note-warn .i{width:16px;height:16px;margin-top:1px}

/* ───────── lists tab */
.runner{border-color:rgba(124,92,255,.45);box-shadow:0 0 0 1px rgba(124,92,255,.2),0 30px 60px -30px rgba(124,92,255,.6)}
.runner-h{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.runner-h small{display:block}
.runner-pct{margin-left:auto;font-size:24px;font-weight:800;letter-spacing:-.02em}
.runner [data-count]{margin-top:8px}
.runner.is-done{border-color:rgba(52,211,153,.5)}
.runner.is-done .spinner{border-color:var(--ok)}
.spinner{width:22px;height:22px;border-radius:50%;border:2.5px solid rgba(124,92,255,.25);border-top-color:var(--v);animation:spin .8s linear infinite;flex-shrink:0}
.regen{padding:18px 22px;border-bottom:1px solid var(--line);background:rgba(124,92,255,.06)}
.search{position:relative;flex:1;max-width:460px}
.search > .i{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--dim);width:16px;height:16px}
.search .input{padding-left:38px;height:40px}

/* ───────── sertifika */
.ce-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}
.ce-left{display:flex;flex-direction:column;gap:14px;position:sticky;top:84px}
.ce-stage{position:relative;width:100%;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 20px 50px -20px rgba(0,0,0,.8),0 0 0 1px var(--line2);user-select:none;touch-action:none}
.ce-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.ce-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:10px;background:#0b1020;color:var(--muted);font-weight:600;z-index:3}
.ce-stage.ready .ce-loading{display:none}
.ce-ov{position:absolute;z-index:2;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;white-space:nowrap;cursor:grab;
  outline:1.5px dashed rgba(124,92,255,.85);outline-offset:2px;border-radius:3px;transition:outline-color .15s,background .15s}
.ce-ov span{font-family:'Montserrat',sans-serif;line-height:1;pointer-events:none}
.ce-ov::before{content:attr(data-label);position:absolute;left:-2px;bottom:calc(100% + 5px);padding:2px 7px;border-radius:5px;background:var(--v);color:#fff;
  font:700 10.5px var(--font);letter-spacing:.02em;opacity:0;transition:opacity .15s;pointer-events:none}
.ce-ov:hover::before,.ce-ov:focus::before,.ce-ov.dragging::before{opacity:1}
.ce-ov:hover,.ce-ov:focus{outline-style:solid;background:rgba(124,92,255,.07)}
.ce-ov:focus{outline-color:var(--v)}
.ce-ov.dragging{cursor:grabbing;background:rgba(124,92,255,.1)}
.ce-no{outline-color:rgba(34,211,238,.85);padding:0 6px}
.ce-no::before{background:#0891b2}
.ce-guide{position:absolute;z-index:1;background:#f472b6;opacity:0;pointer-events:none;transition:opacity .1s}
.ce-guide-v{top:0;bottom:0;left:50%;width:1px}
.ce-guide-h{left:0;right:0;top:50%;height:1px}
.ce-guide.on{opacity:.9}
.ce-sample{display:flex;gap:10px;align-items:flex-end}
.ce-controls{display:flex;flex-direction:column;gap:16px}
.ce-controls fieldset{margin:0;padding:16px;border:1px solid var(--line);border-radius:14px;background:rgba(3,6,16,.3);display:flex;flex-direction:column;gap:14px}
.ce-controls legend{display:flex;align-items:center;gap:8px;padding:0 6px;font-weight:700;color:var(--soft)}
.ce-controls legend .i{width:16px;height:16px;color:#a78bfa}
.ce-controls .field label{display:flex;justify-content:space-between;margin-bottom:6px}
.ce-controls output{font-family:var(--mono);font-size:12px;color:#c4b5fd}
.ce-controls input[type=range]{width:100%;accent-color:#7c5cff}
.ce-controls select.input{appearance:auto}
.ce-no-fields{display:flex;flex-direction:column;gap:14px}
.ce-no-fields.off{opacity:.4;pointer-events:none}
.ce-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.switch-row.compact{padding:12px}
.cert-sources{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:16px}
.source{display:flex;gap:14px;align-items:flex-start;padding:18px;border-radius:14px;background:var(--inset);border:1px solid var(--line)}
.source > div{flex:1;min-width:0}
.source > .btn{align-self:center}
.source-ico{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;flex-shrink:0;color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent)}
.kind-qr{background:rgba(52,211,153,.13);color:#6ee7b7}
@media (max-width:1100px){.ce-grid,.cert-sources{grid-template-columns:minmax(0,1fr)}.ce-left{position:static}}

/* ───────── mail tab */
.mail-prev iframe{display:block;width:100%;height:860px;border:0;background:#eef2f7;border-radius:0 0 var(--r) var(--r)}

/* ───────── empty, alerts, toasts */
.empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:44px 24px;text-align:center;color:var(--muted)}
.empty > .i{width:40px;height:40px;padding:10px;border-radius:14px;background:rgba(124,92,255,.1);color:#a78bfa;box-sizing:content-box}
.empty.small{padding:24px}
.probe-warn{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border-radius:14px;background:rgba(248,113,113,.1);border:1px solid rgba(248,113,113,.4);color:#fecaca}
.probe-warn .i{width:22px;height:22px;color:var(--err)}
.toasts{position:fixed;top:18px;right:18px;z-index:100;display:flex;flex-direction:column;gap:10px;width:min(420px,calc(100vw - 36px))}
.toast{display:flex;align-items:flex-start;gap:12px;padding:14px 14px 14px 16px;border-radius:14px;background:rgba(16,21,36,.92);border:1px solid var(--line2);
  backdrop-filter:blur(16px);box-shadow:0 20px 50px -20px rgba(0,0,0,.8);animation:toastIn .35s cubic-bezier(.2,.9,.3,1.2)}
.toast p{flex:1;font-weight:500;padding-top:2px}
.toast-ico{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;flex-shrink:0}
.toast-ico .i{width:16px;height:16px}
.toast-ok .toast-ico{background:rgba(52,211,153,.15);color:var(--ok)}
.toast-ok{border-color:rgba(52,211,153,.3)}
.toast-err .toast-ico{background:rgba(248,113,113,.15);color:var(--err)}
.toast-err{border-color:rgba(248,113,113,.35)}
.toast-x{background:none;border:0;color:var(--dim);cursor:pointer;padding:4px;border-radius:7px}
.toast-x:hover{color:#fff;background:rgba(255,255,255,.06)}
.toast-x .i{width:15px;height:15px}
.toast.out{animation:toastOut .3s forwards}

/* ───────── auth */
.auth-body{overflow-x:hidden}
.blob{position:fixed;border-radius:50%;filter:blur(90px);opacity:.5;z-index:-1;animation:float 18s ease-in-out infinite}
.b1{width:520px;height:520px;background:#7c5cff;top:-160px;left:-120px}
.b2{width:460px;height:460px;background:#22d3ee;bottom:-180px;right:-120px;animation-delay:-6s;opacity:.32}
.b3{width:320px;height:320px;background:#f472b6;top:40%;left:55%;animation-delay:-12s;opacity:.22}
.auth{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:32px 16px}
.auth-card{width:min(430px,100%);padding:38px 34px 34px;border-radius:26px;background:rgba(12,16,28,.72);border:1px solid var(--line2);
  backdrop-filter:blur(24px);box-shadow:0 1px 0 rgba(255,255,255,.06) inset,0 40px 90px -30px rgba(0,0,0,.9),0 0 0 1px rgba(124,92,255,.08)}
.auth-brand{text-align:center;margin-bottom:26px}
.auth-brand .brand-mark{margin:0 auto 18px}
.auth-brand h1{font-size:30px;font-weight:800}
.auth-brand p{color:var(--muted);margin-top:6px}
.auth-err{display:flex;gap:10px;align-items:center;padding:12px 14px;margin-bottom:18px;border-radius:12px;background:rgba(248,113,113,.1);border:1px solid rgba(248,113,113,.35);color:#fecaca;font-weight:500}
.auth-err .i{color:var(--err)}
.auth-foot{color:var(--dim);font-size:12.5px}

@keyframes spin{to{transform:rotate(360deg)}}
@keyframes shimmer{to{background-position:-200% 0}}
@keyframes toastIn{from{opacity:0;transform:translateY(-10px) scale(.97)}}
@keyframes toastOut{to{opacity:0;transform:translateX(20px)}}
@keyframes float{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(40px,30px) scale(1.08)}66%{transform:translate(-30px,20px) scale(.95)}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ───────── responsive */
@media (max-width:1100px){
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid-main,.split,.grid-mail{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:900px){
  .app{grid-template-columns:minmax(0,1fr)}
  .sidebar{position:fixed;left:0;top:0;bottom:0;width:284px;transform:translateX(-100%);transition:transform .28s ease}
  .nav-open .sidebar{transform:none;box-shadow:30px 0 60px rgba(0,0,0,.6)}
  .nav-open .scrim{display:block;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:35}
  .btn.menu-btn{display:inline-flex}
  .topbar{padding:0 16px}
  .content{padding:22px 16px 48px}
  .clock{display:none}
}
@media (max-width:620px){
  .stats,.quick,.grid-2{grid-template-columns:minmax(0,1fr)}
  .welcome h1,.page-h h1{font-size:27px}
  .hero-in{padding:22px 18px}
  .hero h1{font-size:27px}
  .hero-stats{width:100%}
  .hero-stats div{flex:1;min-width:0}
  .card-b{padding:18px}
  .card-h{padding:14px 18px}
  .table th,.table td{padding:12px 14px}
  .cgrid{grid-template-columns:minmax(0,1fr)}
  .seg{flex-direction:column}
}
