:root{--adm-bg: #f4f6fb;--adm-panel: #ffffff;--adm-ink: #0f172a;--adm-muted: #64748b;--adm-border: #e2e8f0;--adm-brand: #3b6ef5;--adm-secure: #14b8a6;--adm-sidebar: #0b1220;--adm-sidebar-text: #cbd5e1;--adm-danger: #dc2626;--adm-ok: #059669;--adm-radius: 12px;--font-sans: "Noto Sans TC", "IBM Plex Sans", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-sans);color:var(--adm-ink);background:var(--adm-bg)}button,input,select,textarea{font:inherit}a{color:inherit}.adm-shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh}.adm-shell.collapsed{grid-template-columns:72px 1fr}.adm-sidebar{background:var(--adm-sidebar);color:var(--adm-sidebar-text);padding:18px 12px;position:sticky;top:0;height:100vh;overflow:auto}.adm-brand{display:flex;align-items:center;gap:10px;padding:8px 10px 18px}.adm-brand img{width:36px;height:36px;border-radius:999px}.adm-brand strong{display:block;color:#fff;font-size:.92rem;line-height:1.2}.adm-brand span{display:block;font-family:var(--font-mono);font-size:.65rem;opacity:.7}.adm-nav-group{margin:14px 8px 6px;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;opacity:.55}.adm-nav-btn{width:100%;display:flex;align-items:center;gap:10px;border:0;background:transparent;color:inherit;text-align:left;padding:10px 12px;border-radius:10px;cursor:pointer}.adm-nav-btn:hover{background:#ffffff0f;color:#fff}.adm-nav-btn.active{background:color-mix(in oklab,var(--adm-brand) 28%,transparent);color:#fff}.adm-main{padding:24px}.adm-topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.adm-card{background:var(--adm-panel);border:1px solid var(--adm-border);border-radius:var(--adm-radius);padding:18px}.adm-grid{display:grid;gap:14px}.adm-grid.stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.adm-stat strong{display:block;font-size:1.6rem;margin-top:6px}.adm-stat span{color:var(--adm-muted);font-size:.85rem}.adm-btn{border:1px solid var(--adm-border);background:#fff;color:var(--adm-ink);border-radius:10px;padding:9px 14px;cursor:pointer}.adm-btn:hover{background:#f8fafc}.adm-btn.primary{background:var(--adm-brand);border-color:var(--adm-brand);color:#fff}.adm-btn.danger{background:#fef2f2;border-color:#fecaca;color:var(--adm-danger)}.adm-btn:disabled{opacity:.55;cursor:not-allowed}.adm-input,.adm-textarea,.adm-select{width:100%;border:1px solid var(--adm-border);border-radius:10px;padding:10px 12px;background:#fff}.adm-textarea{min-height:110px;resize:vertical}.adm-label{display:grid;gap:6px;font-size:.85rem;color:var(--adm-muted)}.adm-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.adm-table{width:100%;border-collapse:collapse}.adm-table th,.adm-table td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--adm-border);vertical-align:top}.adm-table th{font-size:.78rem;color:var(--adm-muted);font-weight:600}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font-size:.72rem;font-weight:600}.badge.on{background:#ecfdf5;color:var(--adm-ok)}.badge.off{background:#f1f5f9;color:var(--adm-muted)}.adm-toast{position:fixed;right:18px;bottom:18px;background:#0f172a;color:#fff;padding:12px 14px;border-radius:10px;z-index:50;max-width:360px}.adm-toast.error{background:#7f1d1d}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse 60% 50% at 20% 20%,color-mix(in oklab,var(--adm-brand) 22%,transparent),transparent 70%),radial-gradient(ellipse 50% 40% at 85% 80%,color-mix(in oklab,var(--adm-secure) 18%,transparent),transparent 72%),#0b1220}.login-card{width:min(420px,100%);background:#fff;border-radius:16px;padding:32px 28px;box-shadow:0 24px 60px #00000047}.login-card h1{margin:8px 0 4px;font-size:1.35rem}.login-card p{margin:0 0 18px;color:var(--adm-muted);font-size:.9rem}@media(max-width:900px){.adm-shell,.adm-shell.collapsed{grid-template-columns:1fr}.adm-sidebar{height:auto;position:relative}}
