:root{--bg:#f8fafc;--bg-elevated:#ffffff;--bg-dark:#0f172a;--bg-dark-2:#1e293b;--text:#0f172a;--text-muted:#64748b;--text-inverse:#f8fafc;--border:#e2e8f0;--primary:#4f46e5;--primary-hover:#4338ca;--primary-soft:#eef2ff;--danger:#dc2626;--radius:12px;--radius-sm:8px;--shadow:0 10px 40px rgba(15,23,42,0.08);--container:1120px;--header-h:64px}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%}body{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--text);background:var(--bg);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit}img{max-width:100%}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:50;height:var(--header-h);border-bottom:1px solid var(--border);background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.site-header--dark{border-bottom-color:rgba(148,163,184,.2);background:rgba(15,23,42,.9);color:var(--text-inverse)}.site-header__inner{max-width:var(--container);margin:0 auto;padding:0 20px;height:100%;display:flex;align-items:center;gap:16px}.site-logo{font-weight:800;font-size:1.05rem;letter-spacing:-.02em;text-decoration:none;color:var(--primary);white-space:nowrap}.site-header--dark .site-logo{color:#a5b4fc}.site-nav{display:flex;align-items:center;gap:4px;flex:1 1;flex-wrap:wrap;min-width:0}.site-nav a{text-decoration:none;font-size:.9rem;font-weight:500;color:var(--text-muted);padding:8px 12px;border-radius:var(--radius-sm);white-space:nowrap}.site-nav a:hover{color:var(--text);background:#f1f5f9}.site-header--dark .site-nav a{color:#94a3b8}.site-header--dark .site-nav a:hover{color:var(--text-inverse);background:rgba(148,163,184,.12)}.site-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}button.btn{font-family:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;text-decoration:none;border:1px solid transparent;cursor:pointer;line-height:1.2;white-space:nowrap}.btn-primary{background:var(--primary);color:white}.btn-primary:hover{background:var(--primary-hover)}.btn-ghost{background:transparent;color:var(--text-muted);border-color:var(--border)}.btn-ghost:hover{color:var(--text);background:#f8fafc}.site-header--dark .btn-ghost{color:#cbd5e1;border-color:#334155}.site-header--dark .btn-ghost:hover{background:rgba(148,163,184,.1);color:white}.page{min-height:calc(100vh - var(--header-h))}.page--dark{background:linear-gradient(135deg,#0f172a,#1e293b);color:var(--text-inverse)}.container{width:100%;max-width:var(--container);margin:0 auto;padding:32px 20px 48px}.container--narrow{max-width:760px}.page-title{margin:0 0 12px;font-size:clamp(1.75rem,4vw,2.25rem);line-height:1.15;letter-spacing:-.03em}.page-lead{margin:0 0 24px;color:var(--text-muted);font-size:1.05rem;max-width:62ch}.page--dark .page-lead{color:#cbd5e1}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.card--flat{box-shadow:none}.site-footer{border-top:1px solid var(--border);background:white;padding:24px 20px 32px}.site-footer__inner{max-width:var(--container);margin:0 auto;display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;justify-content:space-between;color:var(--text-muted);font-size:.875rem}.site-footer__links{display:flex;flex-wrap:wrap;gap:12px 18px}.site-footer__links a{color:var(--text-muted);text-decoration:none}.site-footer__links a:hover{color:var(--primary)}.cta-banner{margin-top:24px;padding:16px 18px;border-radius:var(--radius);background:var(--primary-soft);border:1px solid #c7d2fe;color:#312e81;font-size:.95rem;line-height:1.5}.cta-banner a{color:var(--primary);font-weight:600}.form-row{display:flex;gap:10px;flex-wrap:wrap;align-items:stretch}.form-row input,.form-row select{padding:12px 14px;border-radius:var(--radius-sm);border:1px solid #cbd5e1;font-size:15px;background:white;min-width:0}.form-row input{flex:1 1 200px}@media (max-width:720px){.site-nav{display:none}.site-header__inner{gap:8px}}