:root{--ink:#1f2933;--muted:#61707f;--line:#d9e0e7;--brand:#1f4e79;--bg:#f5f7fa;--error:#b42318;color:var(--ink);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Microsoft JhengHei,PingFang TC,Noto Sans TC,sans-serif}*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer}.notice{text-align:center;color:var(--muted);padding:24px 16px}.login{max-width:360px;margin:64px auto;padding:0 16px}.login h1{margin-bottom:4px}.login .subtitle{color:var(--muted);margin-top:0}.login form{gap:16px;display:grid}.login label{gap:6px;font-weight:600;display:grid}.login input{border:1px solid var(--line);border-radius:8px;padding:12px;font-size:16px}.login button{color:#fff;background:var(--brand);border:0;border-radius:8px;padding:12px;font-size:16px}.login button:disabled{opacity:.6}.error{color:var(--error);margin:0}.center header{border-bottom:1px solid var(--line);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;display:flex}.center h1{margin:0;font-size:20px}.account{color:var(--muted);align-items:center;gap:12px;font-size:14px;display:flex}.account button{border:1px solid var(--line);background:#fff;border-radius:6px;padding:6px 12px}.role{color:var(--brand);background:#e8f0f8;border-radius:999px;margin-left:8px;padding:2px 8px}.panels{gap:16px;padding:16px;display:grid}.panels section{border:1px solid var(--line);background:#fff;border-radius:10px;padding:16px}.panels h2{margin:0 0 8px;font-size:17px}.empty{color:var(--muted);margin:0}@media (width>=900px){.panels{grid-template-columns:repeat(3,1fr);align-items:start}}
