:root{color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans TC",sans-serif;color:#17263f;background:#f4f6fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 90% 0%,#e4eaff,transparent 45%),#f4f6fb}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #d9deeb;background:#fff;border-radius:12px;padding:11px 16px;color:#243552;font-weight:550;min-height:44px}button:hover{background:#edf1ff}button:disabled{opacity:.5;cursor:wait}.primary{background:#315be1;color:#fff;border-color:#315be1}.primary:hover{background:#2147bf}.danger{color:#a51f36}input,select,textarea{border:1px solid #c9d1e0;border-radius:12px;background:#fff;padding:12px;width:100%;color:#17263f;min-height:44px}textarea{min-height:88px;resize:vertical}input:focus,select:focus,textarea:focus,button:focus-visible{outline:3px solid #90aaff;outline-offset:2px}h1{font-size:32px;letter-spacing:-.7px;margin:12px 0}h2{font-size:20px;margin:0 0 12px}p{line-height:1.7;color:#58667c}small,.muted{color:#596b84}.brand{font-size:20px;font-weight:650;display:flex;align-items:center;gap:12px}.mark{background:#1d304f;color:#fff;border-radius:14px;width:42px;height:42px;display:grid;place-items:center}.eyebrow{font-size:12px;letter-spacing:2px;color:#5c6c86}header{position:sticky;top:0;z-index:2;background:#ffffffd9;backdrop-filter:blur(20px);border-bottom:1px solid #e0e5ef;padding:20px max(24px,calc((100vw - 1200px)/2));display:flex;justify-content:space-between;align-items:center;gap:12px}main{max-width:1200px;margin:auto;padding:32px 24px 60px}.heading,.row{display:flex;justify-content:space-between;gap:12px;align-items:center}.actions{display:flex;flex-wrap:wrap;gap:8px}.tabs{display:flex;gap:8px;margin:28px 0 22px}.tabs .selected{background:#203354;color:#fff}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}.metric,.card{background:#ffffffd9;border:1px solid #e1e6ef;border-radius:22px;padding:24px;box-shadow:0 5px 22px #18376b05}.metric strong{display:block;font-size:36px;margin:12px 0}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.card p{margin:8px 0 18px}.pill{display:inline-block;border-radius:30px;background:#eaf0ff;color:#264ab0;padding:5px 10px;font-size:13px}.pill.bad{background:#fff0ec;color:#a73b26}.pill.neutral{background:#eef0f5;color:#576174}.detail{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:14px;margin:20px 0}.detail b{display:block;margin-top:4px;font-size:16px}.note{padding:16px 20px;border:1px solid #dbe4fc;border-radius:15px;background:#eef3ff;margin:20px 0;color:#475974;line-height:1.7}.login{max-width:450px;margin:8vh auto;padding:30px}.login.card{background:#fffc}.field{margin:16px 0}.field label{display:block;font-size:14px;margin-bottom:8px;font-weight:550}.two{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.error{color:#ad293b;line-height:1.6;min-height:24px}.empty{text-align:center;padding:60px 20px;color:#6c7890}.table{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid #e3e8f1;padding:15px 12px}th{color:#60718b;white-space:nowrap}td{overflow-wrap:anywhere}dialog{border:1px solid #e0e6f0;border-radius:24px;padding:26px;width:min(680px,calc(100vw - 24px));max-height:90dvh;overflow:auto;color:#17263f;box-shadow:0 24px 90px #13244030}dialog::backdrop{background:#10213d50;backdrop-filter:blur(5px)}dialog .actions{margin-top:24px;justify-content:flex-end}.mono{font-family:ui-monospace,monospace;font-size:13px;overflow-wrap:anywhere}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#1d304f;color:#fff;border-radius:14px;padding:15px 22px;display:none;z-index:10;max-width:90vw}#toast.show{display:block}@media(max-width:680px){header{padding:15px}.brand{font-size:17px}main{padding:24px 16px}.heading{align-items:flex-start;flex-direction:column}.metrics{gap:8px}.metric{padding:15px;font-size:13px}.metric strong{font-size:28px}.cards{grid-template-columns:1fr}h1{font-size:28px}.two{grid-template-columns:1fr}.tabs{overflow:auto}.tabs button{white-space:nowrap}.login{margin:6vh 16px;width:auto}header .actions button{padding:8px 10px;font-size:13px}}

.mark{flex-shrink:0}@media(max-width:680px){header{flex-wrap:wrap}.brand{white-space:nowrap}header>.actions{width:100%;justify-content:flex-end}}
