:root{--navy: #0f2742;--navy-2: #15324f;--navy-line: #1f3d5c;--brand: #2f6fed;--brand-2: #1d4fd0;--accent: #ff7a1a;--ok: #16a34a;--warn: #f59e0b;--danger: #ef4444;--bg: #f4f6fb;--card: #ffffff;--text: #1f2d3d;--text-2: #5b6b7e;--line: #e6eaf2;--radius: 12px;--shadow: 0 2px 12px rgba(15, 39, 66, .06);font-family:-apple-system,PingFang SC,Microsoft YaHei,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-size:14px}a{color:var(--brand);text-decoration:none}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.btn{display:inline-flex;align-items:center;gap:6px;border:none;border-radius:8px;padding:8px 16px;font-size:13px;cursor:pointer;transition:.15s;font-weight:600}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-2)}.btn-ghost{background:#eef3ff;color:var(--brand)}.btn-accent{background:var(--accent);color:#fff}.btn-danger{background:#fee2e2;color:var(--danger)}.btn:disabled{opacity:.5;cursor:not-allowed}.input,select,textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:9px 12px;font-size:13px;background:#fff;outline:none}.input:focus,select:focus{border-color:var(--brand)}.tag{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600}.tag-blue{background:#e7f0ff;color:var(--brand)}.tag-orange{background:#fff0e2;color:var(--accent)}.tag-green{background:#e7f8ee;color:var(--ok)}.tag-red{background:#fdeaea;color:var(--danger)}.tag-gray{background:#eef1f6;color:var(--text-2)}.tag-cyan{background:#e6fafa;color:#0891b2}.tag-yellow{background:#fef3c7;color:#b45309}.tag-purple{background:#ede9fe;color:#7c3aed}.scroll{overflow:auto}.flex{display:flex}.between{display:flex;justify-content:space-between;align-items:center}.gap8{gap:8px}.gap12{gap:12px}.gap16{gap:16px}.muted{color:var(--text-2)}table.tbl{width:100%;border-collapse:collapse;font-size:13px}table.tbl th,table.tbl td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}table.tbl th{background:#f7f9fc;color:var(--text-2);font-weight:600}table.tbl tr:hover td{background:#f9fbff}.page-pad{padding:20px}.h1{font-size:20px;font-weight:700}.h2{font-size:16px;font-weight:700}
