@import "https://fonts.googleapis.com/css2?family=Lexend:wght@300;400;500;600;700&family=Hanken+Grotesk:wght@400;500;600;700&display=swap";:root{--navy-900:#001942;--navy-800:#052450;--navy-700:#163461;--navy-600:#2c4a78;--navy-500:#4a6896;--navy-400:#7489b0;--navy-300:#a6b3cd;--navy-200:#cdd5e3;--navy-100:#e7ebf2;--navy-50:#f3f5f9;--black:#0a0a0a;--ink-900:#14161a;--ink-700:#3a3d44;--ink-500:#6b6f78;--ink-400:#9a9ea6;--ink-300:#c4c7cd;--ink-200:#e2e3e2;--sand-200:#ebebe4;--sand-100:#f5f5f0;--white:#fff;--yellow-400:#f4e98a;--yellow-300:#fdf6b9;--yellow-200:#fef9d2;--yellow-100:#fffce9;--aurora-blue:#b3c4f2;--aurora-sky:#6fa3f0;--aurora-azure:#2f6ef2;--aurora-lilac:#c7c2ef;--gradient-aurora:linear-gradient(115deg, var(--aurora-blue) 0%, var(--aurora-sky) 42%, var(--aurora-azure) 74%, var(--aurora-lilac) 100%);--gradient-aurora-soft:linear-gradient(120deg, #e7edfc 0%, #e9effd 45%, #eef0fb 70%, #f1ecfa 100%);--success-600:#1f8a52;--success-100:#e3f4ea;--warning-600:#b8780f;--warning-100:#fbf0d8;--danger-600:#c8392f;--danger-100:#fae5e3;--info-600:#2c63c9;--info-100:#e5edfb;--surface-canvas:var(--sand-100);--surface-card:var(--white);--surface-raised:var(--white);--surface-sunken:var(--sand-200);--surface-inverse:var(--navy-900);--surface-accent:var(--yellow-300);--text-strong:var(--navy-900);--text-body:var(--ink-900);--text-muted:var(--ink-500);--text-subtle:var(--ink-400);--text-inverse:var(--white);--text-on-accent:var(--navy-900);--text-link:var(--navy-900);--border-subtle:var(--ink-200);--border-default:var(--ink-300);--border-strong:var(--navy-900);--border-focus:var(--aurora-azure);--action-primary:var(--black);--action-primary-hover:#242424;--action-primary-text:var(--white);--action-secondary:var(--white);--action-secondary-border:var(--ink-300);--action-secondary-text:var(--navy-900);--action-secondary-hover:var(--sand-100);--action-navy:var(--navy-900);--action-navy-hover:var(--navy-800);--action-navy-text:var(--white);--font-display:"Lexend", system-ui, -apple-system, "Segoe UI", sans-serif;--font-ui:"Lexend", system-ui, -apple-system, "Segoe UI", sans-serif;--font-body:"Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:ui-monospace, Menlo, Consolas, monospace;--fw-light:300;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--text-2xs:.6875rem;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--text-4xl:3rem;--text-5xl:4rem;--leading-tight:1.05;--leading-snug:1.15;--leading-normal:1.5;--leading-relaxed:1.65;--tracking-tight:-.03em;--tracking-snug:-.015em;--tracking-normal:0;--tracking-wide:.04em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:2.5rem;--space-8:3rem;--space-9:4rem;--space-10:5rem;--container-max:1200px;--gutter:clamp(1.25rem, 5vw, 4rem);--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:26px;--radius-2xl:40px;--radius-pill:999px;--shadow-xs:0 1px 2px rgba(0,25,66,.06);--shadow-sm:0 2px 6px rgba(0,25,66,.07);--shadow-md:0 6px 18px rgba(0,25,66,.09);--shadow-lg:0 14px 40px rgba(0,25,66,.12);--shadow-xl:0 28px 70px rgba(0,25,66,.16);--shadow-pill:0 3px 10px rgba(0,25,66,.08);--shadow-focus:0 0 0 3px rgba(59,125,245,.35);--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-instant:90ms;--dur-fast:.16s;--dur-base:.24s;--dur-slow:.42s;--transition-ui:color var(--dur-fast) var(--ease-standard), background-color var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard), box-shadow var(--dur-fast) var(--ease-standard), transform var(--dur-fast) var(--ease-standard)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-size:var(--text-md);line-height:var(--leading-normal);color:var(--text-body);background:var(--surface-canvas);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}h1,h2,h3,h4,h5{font-family:var(--font-display);color:var(--text-strong);font-weight:var(--fw-medium);line-height:var(--leading-snug);letter-spacing:var(--tracking-snug);margin:0 0 .5em}h1{font-size:var(--text-5xl);font-weight:var(--fw-regular);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}h2{font-size:var(--text-4xl)}h3{font-size:var(--text-3xl)}h4{font-size:var(--text-2xl)}p{margin:0 0 1em}a{color:var(--text-link);transition:var(--transition-ui);text-decoration:none}a:hover{text-underline-offset:.18em;text-decoration:underline}:focus-visible{box-shadow:var(--shadow-focus);border-radius:var(--radius-sm);outline:none}button{font-family:var(--font-ui);cursor:pointer;transition:var(--transition-ui)}.btn-primary{justify-content:center;align-items:center;gap:var(--space-2);height:46px;padding:0 var(--space-6);font-family:var(--font-ui);font-size:var(--text-md);font-weight:var(--fw-medium);letter-spacing:-.01em;border-radius:var(--radius-pill);border:1px solid var(--action-primary);background:var(--action-primary);color:var(--action-primary-text);cursor:pointer;transition:var(--transition-ui);line-height:1;display:inline-flex}button[type=submit]{justify-content:center;align-items:center;gap:var(--space-2);height:46px;padding:0 var(--space-6);font-family:var(--font-ui);font-size:var(--text-md);font-weight:var(--fw-medium);letter-spacing:-.01em;border-radius:var(--radius-pill);border:1px solid var(--action-primary);background:var(--action-primary);color:var(--action-primary-text);cursor:pointer;transition:var(--transition-ui);line-height:1;display:inline-flex}.btn-primary:hover{background:var(--action-primary-hover);border-color:var(--action-primary-hover);transform:translateY(-1px)}button[type=submit]:hover{background:var(--action-primary-hover);border-color:var(--action-primary-hover);transform:translateY(-1px)}.btn-secondary{justify-content:center;align-items:center;gap:var(--space-2);height:46px;padding:0 var(--space-6);font-family:var(--font-ui);font-size:var(--text-md);font-weight:var(--fw-medium);letter-spacing:-.01em;border-radius:var(--radius-pill);border:1px solid var(--action-secondary-border);background:var(--action-secondary);color:var(--action-secondary-text);cursor:pointer;transition:var(--transition-ui);line-height:1;display:inline-flex}.btn-secondary:hover{background:var(--action-secondary-hover);transform:translateY(-1px)}select{width:100%;height:50px;padding:0 var(--space-5);font-family:var(--font-body);font-size:var(--text-md);color:var(--text-body);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);box-shadow:var(--shadow-pill);transition:var(--transition-ui);outline:none;display:block}input[type=text]{width:100%;height:50px;padding:0 var(--space-5);font-family:var(--font-body);font-size:var(--text-md);color:var(--text-body);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);box-shadow:var(--shadow-pill);transition:var(--transition-ui);outline:none;display:block}input[type=email]{width:100%;height:50px;padding:0 var(--space-5);font-family:var(--font-body);font-size:var(--text-md);color:var(--text-body);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);box-shadow:var(--shadow-pill);transition:var(--transition-ui);outline:none;display:block}input[type=password]{width:100%;height:50px;padding:0 var(--space-5);font-family:var(--font-body);font-size:var(--text-md);color:var(--text-body);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);box-shadow:var(--shadow-pill);transition:var(--transition-ui);outline:none;display:block}input[type=search]{width:100%;height:50px;padding:0 var(--space-5);font-family:var(--font-body);font-size:var(--text-md);color:var(--text-body);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);box-shadow:var(--shadow-pill);transition:var(--transition-ui);outline:none;display:block}input[type=tel]{width:100%;height:50px;padding:0 var(--space-5);font-family:var(--font-body);font-size:var(--text-md);color:var(--text-body);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);box-shadow:var(--shadow-pill);transition:var(--transition-ui);outline:none;display:block}input[type=number]{width:100%;height:50px;padding:0 var(--space-5);font-family:var(--font-body);font-size:var(--text-md);color:var(--text-body);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);box-shadow:var(--shadow-pill);transition:var(--transition-ui);outline:none;display:block}textarea{width:100%;padding:var(--space-3) var(--space-5);font-family:var(--font-body);font-size:var(--text-md);color:var(--text-body);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-pill);transition:var(--transition-ui);resize:vertical;outline:none;display:block}input:focus,select:focus,textarea:focus{border-color:var(--border-focus);box-shadow:var(--shadow-focus)}label{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-strong);margin-bottom:var(--space-2);display:block}.login-card{gap:var(--space-4);max-width:360px;padding:var(--space-7) var(--space-6);margin:var(--space-10) auto 0;background:var(--surface-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);flex-direction:column;display:flex}.login-logo{width:180px;height:auto;margin:0 auto var(--space-1);display:block}.login-heading{font-size:var(--text-xl);font-weight:var(--fw-medium);color:var(--text-strong);text-align:center;margin:0 0 var(--space-2)}.login-field{gap:var(--space-1);flex-direction:column;display:flex}.form-error{color:var(--danger-600);font-size:var(--text-sm);margin:0}#login_form,#change_password_form{display:contents}#login_form input,#change_password_form input{width:100%}#login_form button,#change_password_form button{background:var(--action-primary);width:100%;height:46px;color:var(--action-primary-text);border:1px solid var(--action-primary);border-radius:var(--radius-pill);font-family:var(--font-ui);font-size:var(--text-md);font-weight:var(--fw-medium);cursor:pointer;transition:var(--transition-ui)}#login_form button:hover,#change_password_form button:hover{background:var(--action-primary-hover);border-color:var(--action-primary-hover);transform:translateY(-1px)}.password-field{position:relative}.password-field input{padding-right:var(--space-8)}#login_form button.password-toggle,#change_password_form button.password-toggle{right:var(--space-3);width:1.5rem;height:50px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;bottom:0}#login_form button.password-toggle:hover,#change_password_form button.password-toggle:hover{color:var(--text-body);transform:none}.login-card>a{text-align:center;color:var(--text-muted);font-size:var(--text-sm);text-underline-offset:2px;text-decoration:underline;display:block}.login-card~button{width:360px;margin:var(--space-2) auto 0;padding:var(--space-2) var(--space-4);background:var(--surface-card);color:var(--text-body);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);font-family:var(--font-body);font-size:var(--text-sm);text-align:left;cursor:pointer;transition:var(--transition-ui);display:block}.login-card~button:first-of-type{margin-top:var(--space-4)}.login-card~button:hover{background:var(--surface-sunken);border-color:var(--border-default)}#page-content{padding:var(--space-6);max-width:var(--container-max);margin:0 auto}#links{gap:var(--space-3);max-width:480px;margin-top:var(--space-5);flex-direction:column;display:flex}#links a{width:100%;color:var(--text-body);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-5);font-size:var(--text-sm);font-weight:var(--fw-medium);transition:var(--transition-ui);background:var(--surface-card);box-shadow:var(--shadow-xs);text-align:left;cursor:pointer;text-decoration:none;display:block}#links input[type=submit]{width:100%;color:var(--text-body);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-5);font-size:var(--text-sm);font-weight:var(--fw-medium);transition:var(--transition-ui);background:var(--surface-card);box-shadow:var(--shadow-xs);text-align:left;cursor:pointer;text-decoration:none;display:block}#links a:hover{background:var(--surface-sunken);border-color:var(--border-default);box-shadow:inset 3px 0 0 var(--navy-900), var(--shadow-sm);padding-left:calc(var(--space-5) + 1px);text-decoration:none}#links input[type=submit]:hover{background:var(--surface-sunken);border-color:var(--border-default);box-shadow:inset 3px 0 0 var(--navy-900), var(--shadow-sm);padding-left:calc(var(--space-5) + 1px);text-decoration:none}.dev-info{margin-top:var(--space-4);font-size:var(--text-sm);color:var(--text-subtle)}.dev-info summary{cursor:pointer;font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-subtle);-webkit-user-select:none;user-select:none;margin-bottom:var(--space-2)}.dev-info p{margin:0 0 var(--space-1)}table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}th{text-align:left;font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted);padding:var(--space-2) var(--space-3) var(--space-2) var(--space-2);border-bottom:1px solid var(--border-subtle)}td{padding:var(--space-3) var(--space-2);border-bottom:1px solid var(--border-subtle);color:var(--text-body);vertical-align:middle}tr:last-child td{border-bottom:none}tr:hover td{background:var(--surface-sunken)}.eyebrow{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted)}.text-muted{color:var(--text-muted)}.text-sm{font-size:var(--text-sm)}.mt-4{margin-top:var(--space-4)}.mt-8{margin-top:var(--space-6)}