:root{--bg:#fff;--fg:#0f172a;--muted:#64748b;--brand:#1b649a;--brand-700:#175583;--card:#fff;--border:#e2e8f0}*{box-sizing:border-box}body,html{padding:0;margin:0;background:var(--bg);color:var(--fg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto}.container{max-width:960px;margin:0 auto;padding:0 1rem}.app-title{font-size:1.25rem;margin:0}.stack>*+*{margin-top:1rem}.row{display:flex;gap:.75rem;flex-wrap:wrap}.card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:1rem}.button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:8px;border:1px solid var(--brand);background:var(--brand);color:#fff;padding:.6rem 1rem;text-decoration:none;font-weight:600}.button:hover{background:var(--brand-700);border-color:var(--brand-700)}.button.outline{background:transparent;color:var(--brand);border-color:var(--brand)}.button.outline:hover{background:#eff6ff}.button:focus{outline:3px solid #93c5fd;outline-offset:2px}.input{width:100%;padding:.6rem;border-radius:8px;border:1px solid var(--border);background:#fff;color:var(--fg)}.label{display:block;font-size:.9rem;margin-bottom:.25rem}.label,.muted{color:var(--muted)}.small{font-size:.85rem}.py-3{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:2rem;padding-bottom:2rem}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:1rem;gap:1rem}.table{width:100%;border-collapse:collapse}.table td,.table th{border-bottom:1px solid var(--border);padding:.5rem;text-align:left}form .stack>*+*{margin-top:.5rem}.topbar{background:var(--brand);color:#fff}.topbar a{color:#fff;text-decoration:none}.nav{justify-content:space-between}.nav,.nav-links{display:flex;align-items:center}.nav-links{gap:.5rem}.nav-links a,.nav-links button{color:#fff}.nav-links a{display:inline-flex;align-items:center;height:32px;padding:0 .6rem;border-radius:8px;font-weight:600;letter-spacing:.2px;text-decoration:none}.nav-links a:hover{background:hsla(0,0%,100%,.12)}.nav-links a.active{background:hsla(0,0%,100%,.2)}.nav-brand{font-weight:800;letter-spacing:-.2px}.nav-brand .brand-lockup{display:block}.nav-brand .brand-lockup img{height:50px;width:auto;display:block}.topbar .button.outline{border-color:#fff;color:#fff}.topbar .button.outline:hover{background:hsla(0,0%,100%,.15);border-color:#fff}.topbar .button{height:32px;padding:0 .75rem;line-height:1;display:inline-flex;align-items:center}.hamburger{display:none;flex-direction:column;gap:4px;background:transparent;border:none;cursor:pointer;padding:.25rem;border-radius:6px}.hamburger span{display:block;width:22px;height:2px;background:#fff}@media (max-width:720px){.hamburger{display:flex}.nav-links{display:none;position:absolute;top:56px;right:0;left:0;background:var(--brand);padding:.75rem 1rem;border-top:1px solid hsla(0,0%,100%,.2);flex-direction:column}.nav-links.open{display:flex}.nav-links .button{align-self:flex-start}.nav-links a{height:auto;padding:.5rem .6rem;border-radius:6px}.nav-brand .brand-lockup img{height:36px}}.footer{border-top:1px solid var(--border);color:var(--muted)}.hero{display:grid;grid-template-columns:1.2fr 1fr;grid-gap:2rem;gap:2rem;align-items:center}.hero img{width:100%;border-radius:12px;border:1px solid var(--border)}.hero h1{margin:0;font-size:2rem}.hero p{color:var(--muted)}.card.media{display:grid;grid-template-rows:auto 1fr;grid-gap:.75rem;gap:.75rem}.card .card-image{width:100%;height:150px;object-fit:cover;border-radius:8px;border:1px solid var(--border)}.link{color:var(--brand);text-decoration:none}.link:hover{text-decoration:underline}.modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal{background:#fff;color:var(--fg);border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.2);width:min(560px,100%);max-width:100%;border:1px solid var(--border)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--border)}.modal-title{margin:0;font-size:1.1rem}.modal-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--muted);font-size:1.5rem;line-height:1;cursor:pointer;padding:.25rem .5rem;border-radius:6px}.modal-close:hover{background:#f1f5f9}.modal-body{padding:1rem}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;padding:1rem;border-top:1px solid var(--border)}