:root{
  --bg:#f4f6f8;--card:#fff;--ink:#17202a;--muted:#667085;--line:#d9dee7;--accent:#1f4e79;--accent2:#0f766e;--danger:#b42318;--warn:#b54708;--ok:#027a48;
}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans TC",sans-serif;background:var(--bg);color:var(--ink);line-height:1.6}a{color:var(--accent);text-decoration:none}header{background:#102a43;color:#fff;padding:28px 32px;border-bottom:5px solid #d6a84f}header h1{margin:0;font-size:28px;letter-spacing:.5px}header p{margin:8px 0 0;color:#d6e2ee}.wrap{max-width:1180px;margin:0 auto;padding:26px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:0 8px 22px rgba(16,42,67,.06)}.card h2,.card h3{margin-top:0}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.muted{color:var(--muted)}.badge{display:inline-block;padding:3px 9px;border-radius:999px;background:#e7eef8;color:#123c69;font-size:12px;font-weight:700}.badge.ok{background:#dcfae6;color:#027a48}.badge.warn{background:#fff6db;color:#b54708}.badge.danger{background:#fee4e2;color:#b42318}input,select,textarea,button{font:inherit}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;margin:4px 0 12px}textarea{min-height:90px}label{font-weight:700;font-size:14px}button,.btn{display:inline-block;border:0;border-radius:10px;background:var(--accent);color:#fff;padding:10px 14px;font-weight:700;cursor:pointer}button.secondary,.btn.secondary{background:#eef2f6;color:#102a43;border:1px solid var(--line)}button.danger{background:var(--danger)}button.ok{background:var(--ok)}button:disabled{opacity:.55;cursor:not-allowed}.nav{background:#fff;border-bottom:1px solid var(--line);padding:10px 32px}.nav a{margin-right:14px;font-weight:700}.hidden{display:none!important}.notice{border-left:5px solid var(--accent);background:#eef5fb;padding:12px 14px;border-radius:10px;margin:12px 0}.notice.warn{border-color:var(--warn);background:#fff7ed}.notice.danger{border-color:var(--danger);background:#fff1f0}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px;background:#fff}th,td{border-bottom:1px solid var(--line);padding:10px;text-align:left;vertical-align:top}th{background:#f8fafc;color:#344054;font-weight:800}.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:20px;align-items:center}.hero-title{font-size:38px;line-height:1.15;margin:0}.kpi{font-size:32px;font-weight:800;color:var(--accent)}.small{font-size:13px}.footer{color:var(--muted);text-align:center;padding:30px}.login-box{max-width:460px;margin:40px auto}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:800px){.hero{grid-template-columns:1fr}.wrap{padding:16px}header{padding:22px 18px}.two{grid-template-columns:1fr}}

.password-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start}.password-row input{margin-bottom:12px}.password-toggle{white-space:nowrap;min-height:44px}.account-actions{display:flex;gap:14px;flex-wrap:wrap;margin:12px 0}.account-actions a{font-weight:700}@media(max-width:520px){.password-row{grid-template-columns:1fr}.password-toggle{width:100%;margin-top:-6px;margin-bottom:12px}}
