:root{--bg:#f6f7fb;--card:#fff;--ink:#0f172a;--muted:#64748b;--line:#e2e8f0;--brand:#4f46e5;--brand-ink:#fff;--ok:#16a34a;--warn:#d97706;--bad:#dc2626;--radius:12px;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}body{margin:0;min-height:100vh;display:flex;flex-direction:column}
a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}
h1{font-size:24px;margin:0}h2{font-size:15px;margin:0 0 12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
code{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:12px;background:#f1f5f9;padding:1px 5px;border-radius:4px}
.topbar{display:flex;align-items:center;gap:20px;padding:0 24px;height:56px;background:#0f172a;color:#e2e8f0;position:sticky;top:0;z-index:5}
.brand{display:flex;align-items:center;gap:10px;color:inherit;font-weight:700;letter-spacing:.02em}.brand:hover{text-decoration:none}
.mark{display:inline-grid;place-items:center;min-width:34px;height:28px;padding:0 6px;border-radius:7px;background:var(--brand);color:#fff;font-size:12px;font-weight:800}
.brand.big{font-size:22px;justify-content:center;margin-bottom:4px}.brand.big .mark{height:36px;min-width:44px;font-size:14px}
#nav{display:flex;align-items:center;gap:4px;flex:1}#nav a,.linkbtn{color:#cbd5e1;padding:8px 12px;border-radius:8px;font-size:14px}
#nav a:hover,.linkbtn:hover{background:#1e293b;color:#fff;text-decoration:none}#nav a.on{background:#1e293b;color:#fff}
.spacer{flex:1}.inline{display:inline}.linkbtn{background:none;border:0;cursor:pointer;font:inherit}
.navtoggle{display:none;margin-left:auto;background:none;border:0;color:#e2e8f0;font-size:22px;cursor:pointer}
.container{width:100%;max-width:1160px;margin:0 auto;padding:28px 24px;flex:1}
.head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-bottom:20px}
.card.flush{padding:0;overflow:auto}.card.narrow{max-width:560px}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:20px}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:20px}
.tile{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;color:var(--ink);display:flex;flex-direction:column;gap:4px;transition:border-color .15s,transform .15s}
a.tile:hover{border-color:var(--brand);text-decoration:none;transform:translateY(-1px)}.tile b{font-size:28px}.tile span{color:var(--muted);font-size:13px}
.tbl{width:100%;border-collapse:collapse;font-size:14px}.tbl th{text-align:left;font-weight:600;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em;background:#f8fafc}
.tbl th,.tbl td{padding:11px 16px;border-bottom:1px solid var(--line);vertical-align:top}.tbl tr:last-child td{border-bottom:0}
.card:not(.flush) .tbl td{padding:9px 4px}.actions{text-align:right;white-space:nowrap}.nowrap{white-space:nowrap}
.clip{max-width:520px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}
.muted{color:var(--muted)}.empty{color:var(--muted);padding:20px;text-align:center;margin:0}
.pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;background:#e2e8f0;color:#334155;text-transform:capitalize}
.s-open{background:#e0e7ff;color:#3730a3}.s-in_progress{background:#fef3c7;color:#92400e}.s-done{background:#dcfce7;color:#166534}
.r-admin{background:#ede9fe;color:#5b21b6}.r-viewer{background:#f1f5f9;color:#475569}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;font-size:14px}.field>span{font-weight:600}
input[type=text],input[type=email],input[type=password],input[type=search],select,textarea{font:inherit;padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:var(--ink);width:100%}
textarea{min-height:140px;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #c7d2fe;border-color:var(--brand)}
.check{display:flex;align-items:center;gap:8px;margin:4px 0 16px;font-size:14px}.err{color:var(--bad)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 16px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;color:var(--ink);font:inherit;font-weight:600;font-size:14px;cursor:pointer}
.btn:hover{text-decoration:none;border-color:#94a3b8}.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.btn.primary:hover{filter:brightness(1.08)}
.btn.danger{color:var(--bad);border-color:#fecaca}.btn.wide{width:100%}.row{display:flex;gap:10px}
.danger-zone{margin-top:24px;padding-top:16px;border-top:1px dashed var(--line)}
.filters{display:flex;gap:10px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.filters input{max-width:320px}.filters select{width:auto}
.pager{display:flex;gap:16px;justify-content:center;align-items:center;font-size:14px;color:var(--muted)}
.flash{padding:12px 16px;border-radius:10px;margin-bottom:16px;font-size:14px;border:1px solid;transition:opacity .6s}
.flash.success{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.flash.error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.flash.info{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}.flash.fade{opacity:0}
.kv{display:grid;grid-template-columns:120px 1fr;gap:8px 12px;margin:0;font-size:14px}.kv dt{color:var(--muted)}.kv dd{margin:0}
.foot{text-align:center;color:var(--muted);font-size:12px;padding:16px}
body.auth{background:radial-gradient(1200px 600px at 20% -10%,#c7d2fe 0,transparent 60%),radial-gradient(900px 500px at 110% 110%,#ddd6fe 0,transparent 55%),var(--bg)}
.authwrap{flex:1;display:grid;place-items:center;padding:24px}.authcard{width:100%;max-width:400px;padding:32px;box-shadow:0 20px 50px -20px rgba(15,23,42,.25)}.authcard>.muted{text-align:center;margin:0 0 22px}
.errorcard{margin:60px auto;text-align:center}.errorcard .code{font-size:56px;color:#cbd5e1}
@media (max-width:760px){
  .topbar{flex-wrap:wrap;height:auto;min-height:56px;padding:0 16px}.navtoggle{display:block}
  #nav{display:none;flex-direction:column;align-items:stretch;width:100%;padding-bottom:12px}#nav.open{display:flex}.spacer{display:none}
  .container{padding:20px 14px}.grid2{grid-template-columns:1fr}
  .tbl thead{display:none}.tbl tr{display:block;border-bottom:1px solid var(--line);padding:8px 0}.tbl td{display:flex;justify-content:space-between;gap:12px;border:0;padding:6px 16px}
  .tbl td .cell{text-align:right;min-width:0}.tbl td[data-label]::before{content:attr(data-label);color:var(--muted);font-size:12px;font-weight:600}.actions{text-align:left}.clip{max-width:200px}
}
