@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700;800;900&family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#fafaf9;--bg-alt:#f5f4f1;--bg-white:#fff;--bg-navy:#0c1b33;--bg-navy-light:#162a4a;--border:#e8e6e1;--border-strong:#d4d1ca;--ink:#1a1a1a;--ink-secondary:#4a4a4a;--ink-muted:#8a8a8a;--ink-light:#b0ada6;--navy:#0c2340;--navy-mid:#1b3a5c;--gold:#b8860b;--gold-light:#d4a843;--emerald:#1b7340;--crimson:#b22234;--blue-link:#1a5276;--serif:"Playfair Display", "Georgia", serif;--sans:"Inter", -apple-system, sans-serif;--mono:"JetBrains Mono", monospace;--radius:4px}body{font-family:var(--sans);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.6}.container{max-width:940px;margin:0 auto;padding:0 32px}.container-wide{max-width:1080px;margin:0 auto;padding:0 32px}.card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius)}.btn{font-family:var(--sans);border-radius:var(--radius);cursor:pointer;letter-spacing:.01em;border:none;justify-content:center;align-items:center;gap:8px;padding:10px 24px;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover:not(:disabled){background:var(--navy-mid)}.btn-secondary{color:var(--ink-secondary);border:1px solid var(--border-strong);background:0 0}.btn-secondary:hover:not(:disabled){background:var(--bg-alt)}.btn-large{padding:14px 28px;font-size:.9rem}.btn-gold{background:linear-gradient(135deg, var(--gold), var(--gold-light));color:#fff;letter-spacing:.02em;font-weight:700}.btn-gold:hover:not(:disabled){filter:brightness(1.05)}.input-group{margin-bottom:20px}.input-group label{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;font-size:.72rem;font-weight:600;display:block}.input-field,.select-field{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--ink);font-family:var(--sans);resize:vertical;outline:none;padding:12px 16px;font-size:.9rem;transition:border-color .15s}.input-field:focus,.select-field:focus{border-color:var(--navy)}.input-field::placeholder{color:var(--ink-light)}.select-field{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%238A8A8A' viewBox='0 0 16 16'%3E%3Cpath d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:36px}.metric-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.metric-card.accent-top{border-top:3px solid var(--navy)}.metric-label{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px;font-size:.65rem;font-weight:600}.metric-value{font-family:var(--serif);color:var(--ink);margin-bottom:4px;font-size:2rem;font-weight:700;line-height:1}.metric-value.danger{color:var(--crimson)}.metric-value.success{color:var(--emerald)}.metric-value.gold{color:var(--gold)}.metric-sub{color:var(--ink-muted);font-size:.75rem}.badge{letter-spacing:.06em;text-transform:uppercase;border-radius:2px;align-items:center;padding:3px 10px;font-size:.65rem;font-weight:600;display:inline-flex}.badge-high{color:var(--emerald);background:#e8f5e9}.badge-medium{color:var(--gold);background:#fff8e1}.badge-low{color:var(--crimson);background:#ffebee}.divider{border:none;border-top:1px solid var(--border);margin:32px 0}.divider-gold{background:linear-gradient(90deg, var(--gold), var(--gold-light), transparent);border:none;height:2px;margin:40px 0}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.animate-in{animation:.35s both fadeIn}@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}body{background:#fff}.no-print{display:none!important}.card{box-shadow:none;border:1px solid #ddd}.metric-value{font-size:1.5rem}}
