:root{--color-primary: #0b3d5c;--color-primary-soft: #1a5a7a;--color-surface: #f4f7fa;--color-surface-elevated: #ffffff;--color-ink: #122033;--color-ink-muted: #5a6b7d;--color-accent-gold: #c9a227;--color-border: #d5dee8;--font-display: "Fraunces", Georgia, serif;--font-body: "DM Sans", system-ui, sans-serif;--space: 1rem;--touch-min: 2.75rem}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:var(--font-body);color:var(--color-ink);background:radial-gradient(ellipse 120% 80% at 10% -20%,#d4e6f2 0%,transparent 55%),radial-gradient(ellipse 90% 60% at 100% 0%,#e8efe6 0%,transparent 45%),var(--color-surface)}body{line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--color-primary-soft);text-decoration-thickness:1px;text-underline-offset:.2em}#app{min-height:100dvh}.shell{max-width:72rem;margin:0 auto;padding:calc(var(--space) * 1.5) var(--space) calc(var(--space) * 3)}.brand{font-family:var(--font-display);font-size:clamp(2.5rem,8vw,4.5rem);font-weight:700;letter-spacing:-.02em;color:var(--color-primary);margin:0 0 .35em;line-height:1.05}.eyebrow{font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-muted);margin:0 0 .75rem}.lede{font-size:1.125rem;color:var(--color-ink-muted);max-width:36rem;margin:0 0 1.75rem}.cta-row{display:flex;flex-wrap:wrap;gap:.75rem}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-min);padding:0 1.25rem;border-radius:.5rem;border:1px solid transparent;font-family:var(--font-body);font-size:1rem;font-weight:600;cursor:pointer;text-decoration:none}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-soft)}.btn-ghost{background:transparent;border-color:var(--color-border);color:var(--color-ink)}.btn-ghost:hover{border-color:var(--color-primary-soft)}.nav{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.nav a{color:var(--color-ink);font-weight:500;text-decoration:none}.nav a[aria-current=page]{color:var(--color-primary);font-weight:700}.panel{background:color-mix(in srgb,var(--color-surface-elevated) 88%,transparent);border:1px solid var(--color-border);border-radius:.75rem;padding:1.25rem}.panel h2{font-family:var(--font-display);font-size:1.35rem;margin:0 0 .5rem}.muted{color:var(--color-ink-muted);font-size:.95rem}.status-pill{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;padding:.35rem .75rem;border-radius:999px;background:#e8f0e9;color:#1e4d2b}.status-pill[data-ok=false]{background:#f8e8e4;color:#7a2e22}.tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.tab{min-height:var(--touch-min);padding:0 1rem;border:1px solid var(--color-border);border-radius:.5rem;background:var(--color-surface-elevated);font-weight:600;color:var(--color-ink-muted)}.tab[aria-selected=true]{border-color:var(--color-primary);color:var(--color-primary)}.auth-card{max-width:26rem;margin:0 auto}.form{display:grid;gap:1rem}.field{display:grid;gap:.35rem}.field label{font-size:.9rem;font-weight:600}.field input{min-height:var(--touch-min);padding:0 .85rem;border:1px solid var(--color-border);border-radius:.5rem;font:inherit;background:var(--color-surface-elevated);color:var(--color-ink)}.field input:focus{outline:2px solid color-mix(in srgb,var(--color-primary) 45%,transparent);outline-offset:1px;border-color:var(--color-primary-soft)}.password-row{display:grid;grid-template-columns:1fr auto;gap:.5rem;align-items:stretch}.alert{padding:.75rem .9rem;border-radius:.5rem;font-size:.95rem}.alert-error{background:#f8e8e4;color:#7a2e22}.alert-ok{background:#e8f0e9;color:#1e4d2b}.alert-info{background:#e8eef5;color:#1a3a55}.form-footer{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;align-items:center;margin-top:.25rem}.chip{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;font-weight:600;padding:.35rem .7rem;border-radius:999px;background:color-mix(in srgb,var(--color-primary) 10%,white);color:var(--color-primary)}.topbar{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;align-items:center;margin-bottom:1.25rem}@media(max-width:767px){.btn{min-height:var(--touch-min)}.cta-row .btn{flex:1 1 auto}.form .btn{width:100%}}
