:root{--bg:#f7f8fa;--surface:#ffffff;--border:#e3e6ea;--text:#1c2330;--text-dim:#5b6573;--accent:#2563eb;--accent-dark:#1e4fc4;--green:#16a34a;--amber:#d97706;--red:#dc2626;--radius:10px;--shadow:0 1px 3px rgba(16,24,40,0.08)}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans TC,PingFang TC,Microsoft JhengHei,sans-serif;font-size:15px;line-height:1.55}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:1.45rem;font-weight:650}h2{font-size:1.15rem}h2,h3{font-weight:600}h3{font-size:1rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem}.btn{display:inline-flex;align-items:center;gap:.4rem;border:1px solid transparent;border-radius:8px;padding:.5rem 1rem;font-size:.92rem;font-weight:550;cursor:pointer;background:var(--accent);color:#fff;transition:background .12s ease}.btn:hover{background:var(--accent-dark)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.btn.secondary:hover{background:var(--bg)}.btn.danger{background:var(--red)}.input,select.input,textarea.input{width:100%;border:1px solid var(--border);border-radius:8px;padding:.55rem .75rem;font-size:.95rem;font-family:inherit;background:var(--surface);color:var(--text)}.input:focus{outline:2px solid color-mix(in srgb,var(--accent) 35%,transparent);border-color:var(--accent)}.label{display:block;font-size:.85rem;margin-bottom:.3rem}.badge,.label{font-weight:600;color:var(--text-dim)}.badge{display:inline-block;border-radius:999px;padding:.12rem .6rem;font-size:.75rem;background:var(--border)}.badge.green{background:#dcfce7;color:var(--green)}.badge.amber{background:#fef3c7;color:var(--amber)}.badge.red{background:#fee2e2;color:var(--red)}.badge.blue{background:#dbeafe;color:var(--accent)}.error-text{color:var(--red);font-size:.88rem}.muted{color:var(--text-dim);font-size:.88rem}table.table{width:100%;border-collapse:collapse}table.table td,table.table th{text-align:left;padding:.55rem .75rem;border-bottom:1px solid var(--border);font-size:.92rem}table.table th{color:var(--text-dim);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}