:root{--primary:#2563eb;--primary-dark:#1d4ed8;--primary-soft:#eff6ff;--ink:#0f172a;--slate:#475569;--slate-light:#94a3b8;--border:#e2e8f0;--bg:#f8fafc;--success:#10b981;--success-soft:#ecfdf5;--danger:#ef4444;--danger-soft:#fef2f2}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,Noto Sans SC,-apple-system,PingFang SC,sans-serif;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.btn{display:inline-flex;align-items:center;justify-content:center;border:none;cursor:pointer;font-family:inherit;font-weight:600;font-size:14px;height:40px;padding:0 20px;border-radius:8px;transition:.15s}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-primary:disabled{background:var(--slate-light);cursor:not-allowed}.btn-outline{background:#fff;color:var(--ink);border:1px solid var(--border)}.btn-outline:hover{border-color:var(--slate-light)}.btn-lg{height:46px;padding:0 26px;font-size:15px}.nav{position:-webkit-sticky;position:sticky;top:0;height:64px;z-index:10;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);justify-content:space-between;padding:0 48px}.logo,.nav{display:flex;align-items:center}.logo{font-weight:800;font-size:20px;letter-spacing:-.3px;gap:8px}.logo i{width:28px;height:28px;background:var(--primary);border-radius:7px;color:#fff;font-style:normal;display:flex;align-items:center;justify-content:center;font-size:15px}.nav-links{display:flex;gap:32px;font-size:14px;font-weight:500;color:var(--slate)}.nav-links a:hover{color:var(--primary)}.chip{font-size:11px;font-weight:600;padding:3px 10px;border-radius:999px;display:inline-block}.chip-blue{background:var(--primary-soft);color:var(--primary)}.chip-green{background:var(--success-soft);color:var(--success)}.card{border:1px solid var(--border);border-radius:12px;background:#fff}@media (max-width:768px){.nav{padding:0 20px}.nav-links{display:none}}@media print{.nav{display:none!important}}