:root{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";color:#0f172a;background:#f8fafc}*{box-sizing:border-box}body{margin:0}.container{max-width:980px;margin:0 auto;padding:24px}.card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px}.row{display:flex;gap:12px;flex-wrap:wrap}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #cbd5e1;background:#fff;padding:10px 12px;border-radius:10px;cursor:pointer}.btn.primary{border-color:#2563eb;background:#2563eb;color:#fff}.btn.danger{border-color:#dc2626;background:#dc2626;color:#fff}.input,.select{border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px}.nav{display:flex;gap:12px;margin-bottom:16px}.link{text-decoration:none;color:#0f172a;padding:8px 10px;border-radius:10px;border:1px solid transparent}.link.active{border-color:#cbd5e1;background:#fff}.muted{color:#64748b}pre{background:#0b1220;color:#e2e8f0;padding:12px;border-radius:12px;overflow:auto}.alert{border-radius:12px;padding:10px 12px;border:1px solid #e2e8f0;background:#fff;margin-top:12px;white-space:pre-wrap}.alert.danger{border-color:#fecaca;background:#fef2f2;color:#991b1b}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:12px;border:1px solid #e2e8f0;background:#fff}.badge.muted{color:#475569}.badge.info{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.badge.success{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.badge.danger{border-color:#fecaca;background:#fef2f2;color:#991b1b}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.adminShell{display:grid;gap:14px}.adminTop{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:14px}.adminH1{font-size:18px;font-weight:800}.adminBody{display:grid;grid-template-columns:220px 1fr;gap:14px}.adminNav{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:10px;height:fit-content;position:sticky;top:16px}.navBtn{width:100%;text-align:left;border:1px solid transparent;background:transparent;padding:10px;border-radius:12px;cursor:pointer;font-weight:600}.navBtn.active{border-color:#cbd5e1;background:#f8fafc}.adminMain{display:grid;gap:14px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.kpiLabel{font-size:12px;color:#64748b}.kpiValue{font-size:22px;font-weight:800}.table{margin-top:12px;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.tr{display:grid;grid-template-columns:1.2fr .8fr .7fr 1.2fr .7fr;gap:10px;padding:10px 12px;border-top:1px solid #e2e8f0;background:#fff;align-items:center}.tr.th{border-top:none;background:#f8fafc;font-weight:700;color:#334155}.bar{height:10px;border-radius:999px;background:#e2e8f0;overflow:hidden}.barFill{height:100%;background:#2563eb}.spark{color:#2563eb}.events{margin-top:10px;display:grid;gap:8px;max-height:320px;overflow:auto}.eventRow{display:grid;grid-template-columns:10px 160px 70px 1fr;gap:10px;align-items:center;padding:8px 10px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.dot{width:10px;height:10px;border-radius:999px;background:#93c5fd}.dot.danger{background:#fca5a5}.dot.info{background:#93c5fd}.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.label{display:grid;gap:6px;font-size:13px;font-weight:600;color:#334155}.authWrap{min-height:50vh;display:grid;place-items:center}.authCard{width:100%;max-width:520px;background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:18px}.authBrand{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:center;margin-bottom:12px}.authLogo{width:44px;height:44px;border-radius:14px;background:#2563eb;color:#fff;display:grid;place-items:center;font-weight:900}.authTitle{font-weight:900;font-size:18px}.authForm{display:grid;gap:10px;margin-top:10px}.miniCard{border:1px solid #e2e8f0;background:#f8fafc;border-radius:12px;padding:10px 12px}.homeShell{display:grid;gap:14px}.hero{display:grid;grid-template-columns:1fr 240px;gap:14px;background:radial-gradient(1200px 400px at 20% 0%,#eff6ff,#fff,#fff)}.heroTitle{font-size:26px;font-weight:900;letter-spacing:-.02em}.heroRight{border-left:1px solid #e2e8f0;padding-left:14px;display:grid;gap:8px;align-content:start}.dropZone{border:1px dashed #cbd5e1;background:#f8fafc;border-radius:14px;padding:12px;display:flex;gap:12px;align-items:center;justify-content:space-between}.previewImg{width:100%;max-height:320px;object-fit:contain;border:1px solid #e2e8f0;border-radius:14px;background:#0b1220}.previewGrid{margin-top:8px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.previewThumb{width:100%;height:120px;object-fit:cover;border:1px solid #e2e8f0;border-radius:14px;background:#0b1220}.emptyState{padding:12px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;margin-top:12px}.emptyTitle{font-weight:900;font-size:16px}.resultBox{margin-top:12px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;padding:12px}.resultLabel{font-size:22px;font-weight:900}.resultConf{font-size:22px;font-weight:900;color:#1d4ed8}@media (max-width: 960px){.adminBody{grid-template-columns:1fr}.adminNav{position:static}.grid2,.tr{grid-template-columns:1fr}.eventRow{grid-template-columns:10px 1fr}.hero{grid-template-columns:1fr}.heroRight{border-left:none;padding-left:0;border-top:1px solid #e2e8f0;padding-top:12px}.previewGrid{grid-template-columns:repeat(2,1fr)}}
