@import "https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700;800&display=swap";:root{--bg:#f8f8f8;--bg-accent:#eef4f9;--ink:#1a2a36;--ink-muted:#5a6b78;--brand:#145388;--brand-soft:#2a93d5;--accent:#4bcfaf;--surface:#fff;--line:#d5dee6;--danger:#e34659;--ok:#4bcfaf;--warn:#e8a317;--shadow:0 8px 28px #1453881a;--radius:12px;--font-display:"Nunito", system-ui, sans-serif;--font-body:"Nunito", system-ui, sans-serif;--sidebar-w:4.5rem;--header-h:3.75rem;--mobile-nav-h:3.75rem}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{color:var(--ink);font-family:var(--font-body);background:radial-gradient(1000px 480px at 8% -8%, #d6e8f5 0%, transparent 55%), radial-gradient(800px 420px at 100% 0%, #e8f6f2 0%, transparent 48%), var(--bg);margin:0;line-height:1.5}a{color:var(--brand-soft);text-underline-offset:3px;text-decoration-thickness:1px}button,input,select{font:inherit}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-shell.has-sidebar{padding-left:0}.app-header{min-height:var(--header-h);border-bottom:1px solid color-mix(in srgb, var(--line) 70%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:color-mix(in srgb, var(--surface) 92%, transparent);z-index:20;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 1.15rem;display:flex;position:sticky;top:0}.brand{font-family:var(--font-display);letter-spacing:.01em;color:var(--brand);align-items:center;gap:.65rem;font-size:1.2rem;font-weight:800;text-decoration:none;display:inline-flex}.brand-logo{width:auto;height:2.15rem;display:block}.brand span{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);margin-top:.05rem;font-size:.68rem;font-weight:600;display:block}.brand-text{line-height:1.15}.app-header-actions{align-items:center;gap:.5rem;display:flex}.app-nav-top{flex-wrap:wrap;gap:.5rem;display:none}.app-body{flex:1;min-height:0;display:flex}.app-sidebar{width:var(--sidebar-w);border-right:1px solid var(--line);background:var(--surface);top:var(--header-h);height:calc(100vh - var(--header-h));flex-direction:column;flex-shrink:0;align-items:center;gap:.35rem;padding:1rem .4rem;display:none;position:sticky}.side-link{width:100%;max-width:3.6rem;color:var(--ink-muted);letter-spacing:.02em;text-transform:uppercase;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;padding:.55rem .25rem;font-size:.62rem;font-weight:700;text-decoration:none;display:flex}.side-link svg{stroke:currentColor;fill:none;stroke-width:1.8px;width:1.35rem;height:1.35rem}.side-link[aria-current=page],.side-link:hover{color:var(--brand);background:color-mix(in srgb, var(--brand) 10%, transparent)}.mobile-nav{z-index:30;background:var(--surface);border-top:1px solid var(--line);padding:.35rem .4rem calc(.35rem + env(safe-area-inset-bottom));justify-content:space-around;gap:.15rem;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-nav a{color:var(--ink-muted);letter-spacing:.02em;text-transform:uppercase;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:.15rem;padding:.35rem .2rem;font-size:.58rem;font-weight:700;text-decoration:none;display:flex}.mobile-nav a svg{stroke:currentColor;fill:none;stroke-width:1.8px;width:1.25rem;height:1.25rem}.mobile-nav a[aria-current=page],.mobile-nav a:hover{color:var(--brand);background:color-mix(in srgb, var(--brand) 8%, transparent)}.nav-text-btn{appearance:none;color:var(--ink-muted);cursor:pointer;font:inherit;background:0 0;border:none;border-radius:999px;padding:.35rem .55rem;font-weight:600}.nav-text-btn:hover{color:var(--brand);background:color-mix(in srgb, var(--brand) 8%, transparent)}.field{gap:.4rem;display:grid}.field span{color:var(--brand);font-size:.85rem;font-weight:700}.field input{border:1px solid var(--line);width:100%;max-width:28rem;color:var(--ink);background:#fff;border-radius:10px;padding:.7rem .85rem}.field input:focus{outline:2px solid color-mix(in srgb, var(--brand) 35%, transparent);outline-offset:1px}.app-main{width:min(920px,100% - 2rem);padding:1.5rem 0 5.5rem;padding-left:max(0px, env(safe-area-inset-left));padding-right:max(0px, env(safe-area-inset-right));flex:1;margin:0 auto}.hero{margin-bottom:1.5rem;animation:.45s both rise}.hero h1{font-family:var(--font-display);color:var(--brand);margin:0 0 .55rem;font-size:clamp(1.45rem,4.2vw,2.25rem);font-weight:800;line-height:1.15}.hero p{max-width:38rem;color:var(--ink-muted);margin:0;font-size:1.02rem}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.15rem 1.25rem;animation:.55s both rise}.panel+.panel{margin-top:1rem}.panel h2{color:var(--brand);margin:0 0 .75rem;font-size:1.1rem;font-weight:800}.muted{color:var(--ink-muted)}.stack{gap:.85rem;display:grid}.row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.btn{appearance:none;cursor:pointer;border:1px solid #0000;border-radius:999px;padding:.65rem 1.15rem;font-weight:700;transition:transform .15s,background .15s,color .15s}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover:not(:disabled){background:color-mix(in srgb, var(--brand) 85%, #000)}.btn-secondary{border-color:var(--line);color:var(--brand);background:0 0}.btn-secondary:hover:not(:disabled){background:var(--bg-accent)}.btn-danger{border-color:color-mix(in srgb, var(--danger) 35%, var(--line));color:var(--danger);background:0 0}.btn-accent{background:var(--accent);color:#0b3a32}.slot-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.slot-item{border:1px solid var(--line);background:linear-gradient(#fff,#f7fafc);border-radius:12px;gap:.65rem;padding:.9rem 1rem;display:grid}@media (width>=640px){.slot-item{grid-template-columns:1fr auto;align-items:center}}.slot-meta strong{color:var(--ink);display:block}.badge{letter-spacing:.04em;text-transform:uppercase;background:var(--bg-accent);color:var(--brand);border-radius:999px;align-items:center;gap:.35rem;padding:.2rem .55rem;font-size:.78rem;font-weight:700;display:inline-flex}.badge-ok{background:color-mix(in srgb, var(--ok) 18%, white);color:#0f6b5a}.badge-warn{background:color-mix(in srgb, var(--warn) 18%, white);color:#8a5a00}.badge-danger{background:color-mix(in srgb, var(--danger) 14%, white);color:var(--danger)}.banner{border:1px solid var(--line);border-radius:12px;margin-bottom:1rem;padding:.85rem 1rem}.banner-error{background:color-mix(in srgb, var(--danger) 8%, white);border-color:color-mix(in srgb, var(--danger) 25%, var(--line));color:var(--danger)}.banner-info{background:color-mix(in srgb, var(--brand) 6%, white);color:var(--brand)}.banner-ok{background:color-mix(in srgb, var(--ok) 12%, white);color:#0f6b5a}.loading{color:var(--ink-muted);padding:2rem 0}.empty{color:var(--ink-muted);font-style:italic}.program-hero{gap:1rem;display:grid}@media (width>=640px){.program-hero{grid-template-columns:7.5rem 1fr;align-items:start}}.program-thumb,.program-hero-img{object-fit:cover;background:var(--bg-accent);border:1px solid var(--line);border-radius:12px;width:7.5rem;height:7.5rem}.program-hero-no-image{grid-template-columns:1fr}.program-hero-no-image .program-hero-img{display:none}.program-thumb-sm{object-fit:cover;background:var(--bg-accent);border:1px solid var(--line);border-radius:10px;flex-shrink:0;width:4.5rem;height:4.5rem}.program-card{gap:.75rem;display:grid}@media (width>=640px){.program-card{grid-template-columns:auto 1fr auto;align-items:center}}.travel-links{flex-wrap:wrap;gap:.65rem;display:flex}.travel-link{border:1px solid var(--line);color:var(--brand);background:#fff;border-radius:999px;align-items:center;gap:.4rem;padding:.45rem .85rem;font-weight:700;text-decoration:none;display:inline-flex}.travel-link:hover{background:var(--bg-accent)}.gallery{flex-wrap:wrap;gap:.5rem;display:flex}.gallery img{object-fit:cover;border:1px solid var(--line);border-radius:10px;width:5.5rem;height:5.5rem}.calendar-nav{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:.35rem;display:grid}.calendar-dow{text-align:center;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em;padding:.25rem 0;font-size:.72rem;font-weight:800}.calendar-cell{appearance:none;cursor:pointer;min-height:2.6rem;color:var(--ink);font:inherit;background:0 0;border:1px solid #0000;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;padding:.25rem;font-weight:600;display:flex}.calendar-cell:disabled{opacity:.35;cursor:default}.calendar-cell.has-event{background:color-mix(in srgb, var(--brand) 8%, white);border-color:color-mix(in srgb, var(--brand) 22%, var(--line))}.calendar-cell.is-selected{outline:2px solid var(--brand);outline-offset:1px}.calendar-dot{background:var(--brand);border-radius:999px;width:.35rem;height:.35rem}.calendar-dot.waitlist{background:var(--warn)}.modal-backdrop{z-index:50;background:#0f233773;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-panel{background:var(--surface);border:1px solid var(--line);width:min(28rem,100%);box-shadow:var(--shadow);border-radius:14px;padding:1.25rem;animation:.25s both rise}.modal-panel h2{color:var(--brand);margin:0 0 .5rem;font-size:1.2rem}.congrats-overlay{z-index:60;background:#379b88cb;justify-content:center;align-items:center;padding:1rem;animation:.35s both rise;display:flex;position:fixed;inset:0}.congrats-card{text-align:center;max-width:22rem;box-shadow:var(--shadow);background:#fff;border-radius:16px;padding:1.75rem 1.5rem}.congrats-card h2{color:#0f6b5a;margin:0 0 .5rem;font-size:1.45rem}.tnc-body{max-height:min(55vh,28rem);color:var(--ink);padding-right:.35rem;font-size:.92rem;overflow:auto}.tnc-body h3{color:var(--brand);margin:1rem 0 .4rem;font-size:1rem}.tnc-body ol{padding-left:1.2rem}.tnc-body li{margin-bottom:.65rem}.toggle-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.toggle{appearance:none;border:1px solid var(--line);cursor:pointer;background:#d9e3ec;border-radius:999px;width:2.75rem;height:1.55rem;transition:background .15s;position:relative}.toggle:after{content:"";background:#fff;border-radius:999px;width:1.15rem;height:1.15rem;transition:transform .15s;position:absolute;top:.15rem;left:.15rem;box-shadow:0 1px 3px #00000026}.toggle[aria-checked=true]{background:var(--brand);border-color:var(--brand)}.toggle[aria-checked=true]:after{transform:translate(1.15rem)}.pwa-banner{left:.75rem;right:.75rem;bottom:calc(var(--mobile-nav-h) + .75rem + env(safe-area-inset-bottom));z-index:40;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;gap:.75rem;padding:.9rem 1rem;animation:.4s both rise;display:grid;position:fixed}.pwa-banner-compact{gap:.5rem;padding:.65rem .8rem}.pwa-banner-compact .pwa-banner-head img{height:1.85rem}@media (width>=900px){.pwa-banner{width:min(22rem,100% - 2rem);bottom:1.25rem;left:auto;right:1.25rem}}.pwa-banner-head{align-items:center;gap:.75rem;display:flex}.pwa-banner-head img{width:auto;height:2.5rem}.waiting-meta{gap:.75rem;margin:0;display:grid}.waiting-meta>div{grid-template-columns:6rem 1fr;align-items:baseline;gap:.5rem;display:grid}@media (width<=480px){.app-main{width:calc(100% - 1.5rem);padding-top:1.1rem}.hero h1{font-size:1.4rem}.hero p{font-size:.95rem}.panel{padding:.95rem .9rem}.waiting-meta>div{grid-template-columns:1fr;gap:.15rem}.waiting-video,.jaas-meet-frame{height:min(55vh,420px);min-height:240px}.program-hero-img,.program-thumb{width:4.75rem;height:4.75rem}}.waiting-meta dt{color:var(--ink-muted);margin:0;font-size:.85rem}.waiting-meta dd{margin:0}.waiting-video{min-height:360px;margin-top:1.25rem}.profile-media-heading{color:var(--brand);margin:0;font-size:1.15rem;font-weight:700}.profile-media-panel{margin-bottom:1.25rem}.profile-media-grid{gap:1.5rem;display:grid}@media (width>=720px){.profile-media-grid{grid-template-columns:1fr 1fr;align-items:start}}.profile-photo-frame{border:3px solid color-mix(in srgb, var(--brand) 35%, var(--line));background:var(--bg-accent);border-radius:50%;width:9rem;height:9rem;overflow:hidden}.profile-photo-frame img{object-fit:cover;width:100%;height:100%;display:block}.profile-photo-placeholder{width:100%;height:100%;color:var(--brand);background:linear-gradient(145deg,#d6e8f5,#e8f6f2);place-items:center;font-size:2rem;font-weight:800;display:grid}.profile-video-player{border-radius:var(--radius);background:#0f1c24;width:100%;max-height:220px}.profile-video-placeholder{border-radius:var(--radius);border:1px dashed var(--line);min-height:8rem;color:var(--ink-muted);background:var(--bg-accent);place-items:center;display:grid}.btn-ghost{color:var(--danger);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:.55rem .9rem}.btn-ghost:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 8%, transparent)}.btn-compact{padding:.4rem .75rem;font-size:.9rem}.confirmed-interview{border-top:1px solid var(--line);padding:.85rem 0 .25rem}.continue-account-cta{padding:.35rem 0 .15rem}.connection-status{background:color-mix(in srgb, var(--warn) 12%, var(--surface));border:1px solid color-mix(in srgb, var(--warn) 35%, var(--line));color:var(--ink);border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;margin:0 0 .85rem;padding:.45rem .75rem;font-size:.9rem;display:flex}.connection-status-error{background:color-mix(in srgb, var(--danger) 10%, var(--surface));border-color:color-mix(in srgb, var(--danger) 35%, var(--line))}.upload-progress{gap:.35rem;display:grid}.upload-progress-bar{background:linear-gradient(90deg, var(--brand), var(--accent));border-radius:999px;height:.45rem;transition:width .15s}.crop-modal-backdrop{z-index:80;background:#0a16208c;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.crop-modal{width:min(28rem,100%);max-height:min(90vh,36rem);overflow:auto}.crop-preview-wrap{aspect-ratio:1;border:2px solid var(--brand);background:#0f1c24;border-radius:50%;place-items:center;width:100%;display:grid;overflow:hidden}.crop-preview{object-fit:cover;transform-origin:50%;width:100%;height:100%}.jaas-meet-frame{background:#0b1615;border-radius:12px;width:100%;height:min(70vh,640px);min-height:420px;overflow:hidden}.jaas-fake-meta{gap:.75rem;margin:0;display:grid}.jaas-fake-meta dt{color:var(--ink-muted);font-size:.85rem}.jaas-fake-meta dd{margin:.15rem 0 0}.closed-brand{justify-content:center;padding:1rem 0;display:flex}.closed-brand img{opacity:.85;height:3.5rem}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (width>=900px){.app-shell.has-sidebar .app-body,.app-sidebar{display:flex}.mobile-nav{display:none}.app-main{padding-bottom:3.5rem}.app-nav-top{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
