@font-face{font-family:Manrope;src:url('/manrope.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap}
:root{--bg:#00253c;--surface:#073b56;--surface2:#0b4866;--border:#00b1ff1c;--text:#ffffff;--muted:#b7c7d1;--accent:#00b1ff;--accent2:#a7a9ac;--glow:#00b1ff33;--radius:17px;--font:Manrope,system-ui,sans-serif;--ok:#00b1ff;--hit:#00b1ff}
::selection{color:#003352;background:#00b1ff}button,a,input,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.bg-mesh{background:radial-gradient(ellipse at 90% 4%,#94bad218,transparent 48%),radial-gradient(ellipse at 8% 95%,#00b1ff0b,transparent 45%)}
.logo{font-size:0!important;background:transparent url('/brand.svg?v=3') center/contain no-repeat!important;box-shadow:none!important;border:0!important;flex-shrink:0}.brand-name{letter-spacing:-.7px;font-weight:800;font-size:19px}.pro{font-size:8px;letter-spacing:1px;color:var(--accent);background:#00b1ff12;-webkit-text-fill-color:var(--accent);padding:4px 6px;border:1px solid #00b1ff29;border-radius:5px;vertical-align:middle}.brand-sub{font-size:10px;letter-spacing:.4px}
.topbar{padding:18px 24px;background:#003352;border-bottom:1px solid var(--border);backdrop-filter:none}.tabs{gap:8px;padding:12px 24px;background:#003352}.tab{padding:10px 20px;border-radius:9px;font-size:12px}.tab.active{color:var(--accent);background:#00b1ff12;box-shadow:inset 0 0 0 1px #00b1ff2b}.tab:hover{background:#00b1ff0a}.tab::before{display:inline-block;width:7px;height:7px;margin-right:9px;border:1px solid currentColor;border-radius:2px;content:'';transform:rotate(-5deg)}.tab.active::before{background:var(--accent)}
.btn{border-radius:10px;transition:transform .16s,background .16s,box-shadow .16s}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(1px)}.btn-glow{background:#00b1ff!important;color:#003352!important;box-shadow:0 4px 18px #00b1ff10!important;border:1px solid #7bd8ff!important;font-weight:800}.btn-glow:hover:not(:disabled){box-shadow:0 5px 25px #00b1ff28!important}.btn-glow:disabled{cursor:wait;opacity:.65}.btn-ghost{background:#00b1ff06}.workspace{grid-template-columns:280px minmax(0,1fr)}.rail{background:#002f49;padding:16px 12px;gap:14px}.rail .card{background:#073b56}.stage{padding:18px 20px}.card{backdrop-filter:none;box-shadow:0 4px 20px #0001}.card-label{font-size:9px;letter-spacing:1.6px;padding-top:17px}.card-head{padding:16px 18px}.hero-top{padding:23px 20px 14px}.hero-top h1,.hero-top h2{letter-spacing:-.8px}.schedule-stats{padding-inline:20px}.stat-pill{background:#00b1ff08;border-color:#00b1ff14;padding:9px 13px}.stat-pill strong{color:var(--accent)}.week-grid .gh{background:#0b4866}.week-grid .gc{background:#002e46}.week-grid .block{box-shadow:0 3px 10px #0002}.target-card{background:#073e59}.suggest-dropdown{background:#073b56;backdrop-filter:none}.suggest-item:hover,.suggest-item.active{background:#00b1ff0c}.suggest-icon{color:var(--accent);background:#00b1ff12}.pill.ok{color:var(--accent);border-color:#00b1ff33;background:#00b1ff0a}
/* The sign-in scene has only two small, composited moving layers. */
.login-screen{max-width:1230px;margin:auto;grid-template-columns:1.15fr 1fr;gap:70px;padding:35px 48px;align-items:center;min-height:100svh}.login-story{width:100%;min-width:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.story-brand{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;font-size:27px;font-weight:800;letter-spacing:-1.2px}.story-brand span{font-size:8px;line-height:1.6;letter-spacing:1.9px;font-weight:500;color:var(--muted);max-width:85px;margin-left:auto}.story-copy{margin-top:43px}.story-eyebrow{display:flex;align-items:center;gap:8px;font-size:8px!important;letter-spacing:1.5px;color:var(--accent)!important}.story-eyebrow span{width:5px;height:5px;border-radius:50%;background:var(--accent)}.story-copy h1{font-size:clamp(58px,6.5vw,88px);font-weight:500;letter-spacing:-5.5px;line-height:1.03;margin:18px 0}.story-copy em{font-style:normal;color:var(--accent)}.story-copy p{color:var(--muted);font-size:13px;line-height:1.65}.seat-scene{height:265px;position:relative;isolation:isolate;margin-top:5px}.scene-grid{position:absolute;inset:0;background:radial-gradient(#7ea2b940 .7px,transparent .9px) 0 0/22px 22px;mask-image:radial-gradient(ellipse,#000,transparent 70%)}.scene-globe{position:absolute;width:212px;height:212px;left:calc(50% - 106px);top:18px;border-radius:50%;background:radial-gradient(circle at 30% 20%,#dff5ff,#40b9e6 23%,#007fb5 51%,#003352 78%);box-shadow:inset -15px -8px 35px #0005,0 20px 70px #a7a9ac0d;animation:scene-drift 8s ease-in-out infinite}.scene-seat{position:absolute;width:204px;height:204px;left:calc(50% - 102px);top:20px;transform:rotate(-13deg);filter:drop-shadow(8px 16px 9px #0d141844);animation:seat-drift 8s ease-in-out infinite}.scene-orbit{position:absolute;width:315px;height:94px;left:calc(50% - 157px);top:90px;border:1px solid #00b1ff40;border-radius:50%;transform:rotate(-27deg)}.orbit-cross{width:200px;height:260px;left:calc(50% - 100px);top:0;border-color:#00b1ff1c;transform:rotate(40deg)}.scene-label{position:absolute;font-size:8px;letter-spacing:1.3px;border:1px solid #00b1ff24;background:#073b56e8;padding:11px 14px;border-radius:99px;z-index:2}.label-cloud{top:28px;right:0;color:var(--accent)}.label-seat{left:4px;bottom:8px;background:#ffffff;color:#003352;border-radius:12px;display:flex;align-items:center;gap:12px;padding:14px 18px;font-size:10px;letter-spacing:0;box-shadow:0 18px 25px #0003;transform:rotate(-3deg)}.scene-star{font-size:28px;color:#007fb5}.label-seat small{display:block;font-size:8px;color:#3a617a;margin-top:5px}.story-bottom{display:flex;align-items:center;gap:13px;font-size:7px;letter-spacing:1px;color:#7ea2b9;margin-top:23px}.story-bottom i{height:1px;flex:1;background:#00b1ff26}
.login-card{width:100%;max-width:490px;padding:32px 34px;border-radius:24px;background:linear-gradient(150deg,#0b4866f5,#003352);border:1px solid #00b1ff2d;box-shadow:0 32px 75px #0004;position:relative;overflow:hidden}.login-card:before{content:'';position:absolute;top:0;left:20%;right:20%;height:1px;background:linear-gradient(90deg,transparent,#7bd8ff90,transparent)}.login-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;gap:15px}.login-edition{font-size:8px;color:var(--accent);letter-spacing:1.5px;border:1px solid #00b1ff29;border-radius:5px;padding:6px 8px}.login-card a{font-size:10px;color:var(--accent);text-decoration:none}.login-card a:hover{text-decoration:underline;text-underline-offset:4px}.login-title{font-size:32px;letter-spacing:-1.3px;line-height:1.2;font-weight:500;margin-bottom:11px}.login-sub{font-size:11px;line-height:1.65;margin-bottom:22px}.login-form .fld{gap:7px;margin-bottom:15px}.login-form .fld>span:first-child{font-size:9px;letter-spacing:.65px;color:#a5bfcf}.login-form input{background:#002b43;border:1px solid #376780;border-radius:9px;padding:12px 13px;font-size:12px;height:43px;width:100%;box-shadow:inset 0 2px 4px #0001}.login-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #00b1ff10;outline:none}.login-form input::placeholder{color:#6591ac}.password-field{display:flex;position:relative;text-transform:none!important;letter-spacing:0!important}.password-field input{padding-right:62px}.password-field button{position:absolute;right:2px;top:0;bottom:0;min-width:53px;border:0;background:transparent;color:#a6bfcf;font:600 10px var(--font);cursor:pointer}.login-divider{padding-top:15px;margin:16px 0 7px;font-size:9px;letter-spacing:1.3px;color:var(--accent)}.login-email-note{font-size:10px!important;margin-bottom:15px!important}.login-form .btn-block{min-height:46px;margin-top:3px;font-size:12px}.login-form .btn-block::after{content:'↗';float:right;margin-left:10px}.login-form .btn-block:disabled::after{content:'◌';animation:button-spin 1s linear infinite}.consent-note{font-size:9px;line-height:1.75;color:#7ea2b9;padding:15px 0 0;display:flex;align-items:flex-start;gap:8px}.consent-note svg{flex-shrink:0;margin-top:2px}.login-card-bottom{border-top:1px solid var(--border);margin-top:18px;padding-top:17px;text-align:center;font-size:10px;color:var(--muted)}.login-card-bottom a{margin-left:5px}
.access-panel{margin:15px 24px 0;padding:16px 20px;border:1px solid #00b1ff33;border-radius:13px;background:linear-gradient(110deg,#0a4969,#073f5d);display:flex;align-items:center;gap:16px;flex-wrap:wrap}.access-panel.hidden{display:none}.access-panel p{font-size:11px;color:var(--muted);margin-top:5px}.access-panel strong{font-size:13px}.access-panel form{display:flex;gap:8px;margin-left:auto}.access-panel input{background:#00273d;color:var(--text);border:1px solid var(--border);padding:11px;border-radius:8px;width:220px}.access-panel a{font-size:11px;color:var(--accent)}.access-error{width:100%;color:#ffaf97!important}.access-error:empty{display:none}
/* One brief logo construction on successful sign-in. The app loads underneath. */
.brand-intro{position:fixed;inset:0;z-index:99999;background:#00253c;display:grid;place-content:center;text-align:center;pointer-events:none;animation:unlock-out .3s .85s both;isolation:isolate}.intro-aura{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 44%,#4b7a9820,transparent 45%);z-index:-1}.intro-emblem{position:relative;width:124px;height:124px;margin:auto}.intro-logo{width:124px;height:124px;overflow:visible;animation:emblem-in .55s cubic-bezier(.16,1,.3,1) both}.intro-tile{fill:#00b1ff;transform-origin:center;animation:tile-in .5s cubic-bezier(.16,1,.3,1) both}.intro-seat,.intro-arrow{fill:none;stroke:#003352;stroke-width:5.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100;stroke-dashoffset:100;animation:mark-draw .38s .13s ease-out forwards}.intro-arrow{animation-delay:.27s}.intro-orbit{position:absolute;inset:-49px;border:1px solid #00b1ff40;border-radius:50%;animation:orbit-burst .9s ease-out both}.intro-orbit:nth-child(2){inset:-82px;border-color:#00b1ff1b;animation-delay:.12s}.intro-spark{position:absolute;top:-30px;right:-21px;color:#00b1ff;font-size:26px;animation:spark-in .65s .3s both}.intro-word{display:flex;justify-content:center;margin-top:23px;font-size:39px;font-weight:800;letter-spacing:-2px;line-height:1.3}.intro-word span{display:inline-block;animation:letter-in .4s cubic-bezier(.16,1,.3,1) .15s both}.intro-word span:nth-child(2){animation-delay:.18s}.intro-word span:nth-child(3){animation-delay:.21s}.intro-word span:nth-child(4){animation-delay:.24s}.intro-word span:nth-child(5){animation-delay:.27s}.intro-word span:nth-child(6){animation-delay:.3s}.intro-word span:nth-child(7){animation-delay:.33s}.intro-word span:nth-child(8){animation-delay:.36s}.intro-caption{color:#8aabc0;font-size:8px;letter-spacing:3px;margin-top:12px;animation:letter-in .35s .35s both}.app-entering .workspace{animation:workspace-in .55s .7s both}.motion-paused .seat-scene *{animation-play-state:paused!important}
@keyframes scene-drift{50%{transform:translateY(-8px)}}@keyframes seat-drift{50%{transform:translateY(-8px) rotate(-8deg)}}@keyframes button-spin{to{transform:rotate(360deg)}}@keyframes unlock-out{to{opacity:0;visibility:hidden}}@keyframes emblem-in{from{transform:translateY(18px) scale(.85)}to{transform:none}}@keyframes tile-in{from{opacity:0;transform:rotate(-18deg) scale(.7)}to{opacity:1;transform:none}}@keyframes mark-draw{to{stroke-dashoffset:0}}@keyframes orbit-burst{from{opacity:0;transform:scale(.5)}35%{opacity:1}to{opacity:0;transform:scale(1.3)}}@keyframes spark-in{from{opacity:0;transform:rotate(-90deg) scale(.3)}45%{opacity:1}to{opacity:0;transform:rotate(35deg) scale(1)}}@keyframes letter-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes workspace-in{from{opacity:.4;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(min-width:1400px){.login-screen{gap:95px;padding-block:50px}.seat-scene{height:300px;margin-top:20px}.scene-globe{width:240px;height:240px;left:calc(50% - 120px)}.scene-seat{width:228px;height:228px;left:calc(50% - 114px)}.label-seat{bottom:20px}}
@media(max-width:1060px){.login-screen{padding:30px;gap:35px}.story-copy h1{font-size:70px}.login-card{padding:28px}.story-bottom{gap:7px;font-size:6px}.label-cloud{right:-8px;font-size:7px}.workspace{grid-template-columns:250px minmax(0,1fr)}}
@media(max-width:960px){.workspace{grid-template-columns:minmax(0,1fr)}.rail{border-right:0}.story-copy h1{font-size:64px}.login-title{font-size:28px}.login-screen{gap:28px}}
@media(max-width:760px){.login-screen{display:flex;flex-direction:column;gap:26px;padding:23px 20px 35px;min-height:100svh}.login-story{max-width:490px;margin:auto;align-self:auto}.story-brand{font-size:24px}.story-brand img{width:33px;height:33px}.story-copy{margin-top:30px}.story-eyebrow{font-size:7px!important}.story-copy h1{font-size:55px;letter-spacing:-3px;line-height:1.06;margin:14px 0 0}.story-copy h1 br{display:none}.story-copy h1 em{margin-left:8px}.story-copy>p:last-child,.seat-scene,.story-bottom{display:none}.login-card{padding:26px;max-width:490px;border-radius:20px}.login-title{font-size:29px}.login-card-top{margin-bottom:24px}.login-screen .login-form input{font-size:16px;min-height:46px}.topbar{padding:15px}.topbar-meta{gap:6px}.site-link{display:none}.tabs{padding:10px;gap:4px;overflow-x:auto}.tab{padding:10px 12px;white-space:nowrap;font-size:11px;flex:1}.tab::before{margin-right:6px}.stage{padding:10px}.rail{padding:10px}.access-panel{margin:10px}.access-panel form{margin-left:0;width:100%;flex-wrap:wrap}.access-panel input{flex:1;min-width:140px}.intro-emblem,.intro-logo{width:105px;height:105px}.intro-word{font-size:34px}.btn{min-height:40px}}
@media(max-width:380px){.login-screen{padding-inline:14px}.login-card{padding:23px}.story-copy h1{font-size:48px}.tab::before{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.brand-intro{display:none}.app-entering .workspace,.seat-scene *{animation:none!important}.btn,.tab{transition:none}.login-form .btn-block:disabled::after{animation:none}}
.login-form .fld>label{font-size:9px;letter-spacing:.65px;color:#a5bfcf;text-transform:uppercase}
@media(max-width:760px){.story-copy h1 br{display:block}.story-copy h1 em{margin-left:0}}
/* MRU-inspired finish: Kerby Blue, Lincoln Blue, Focus Blue, silver and white. */
:root{--mru-kerby:#003352;--mru-lincoln:#007fb5;--mru-focus:#00b1ff;--mru-silver:#a7a9ac;--mru-white:#ffffff}
.bg-mesh{background:radial-gradient(ellipse at 85% 0%,#007fb52c,transparent 55%),radial-gradient(ellipse at 0% 100%,#00b1ff0a,transparent 55%)}
.login-card{background:#fff;color:#003352;border-color:#d4e3ec;box-shadow:0 30px 80px #00172555}.login-card .login-title{color:#003352}.login-card .login-sub,.login-card .login-email-note{color:#526d80}.login-card a{color:#005f8a}.login-card .login-edition{color:#003352;background:#007fb508;border-color:#007fb533}.login-card .login-form .fld>span:first-child,.login-card .login-form .fld>label{color:#3b5c72}.login-card .login-form input{background:#f3f7fa;border-color:#b9cedc;color:#003352;box-shadow:none}.login-card .login-form input::placeholder{color:#667f90}.login-card .login-form input:focus{border-color:#007fb5;box-shadow:0 0 0 3px #007fb514}.login-card .password-field button{color:#00658f}.login-card .login-divider{color:#00729f;border-color:#d7e3eb}.login-card .btn-glow{background:#003352!important;color:#fff!important;border-color:#003352!important;box-shadow:0 5px 18px #00335216!important}.login-card .btn-glow:hover:not(:disabled){background:#00547d!important;box-shadow:0 6px 22px #00335224!important}.login-card .consent-note{color:#546f81}.login-card .consent-note svg{color:#007fb5}.login-card-bottom{border-color:#d7e3eb;color:#526d80}.login-card .login-email-hint.ok{color:#00608a}.login-card .login-error,.login-card .login-email-hint.bad{color:#a53036}.login-card .login-error{background:#fff1f1;border-color:#edc5c7}
.scene-globe{background:radial-gradient(circle at 30% 20%,#dff5ff,#42b9e6 23%,#007fb5 51%,#003352 80%);box-shadow:inset -15px -8px 35px #00335255,0 20px 70px #00b1ff18}.scene-seat{filter:drop-shadow(8px 16px 9px #001e3244)}.label-seat{background:#fff;border-color:#dbeaf2;color:#003352}.label-seat small{color:#536f81}.scene-star{color:#007fb5}.label-cloud{background:#003352e8;border-color:#00b1ff44}.intro-aura{background:radial-gradient(ellipse at 50% 44%,#007fb550,transparent 48%)}.intro-tile{fill:#00b1ff}.intro-seat,.intro-arrow{stroke:#003352}.intro-caption{color:#c0d2de}
.tab.active{color:#fff}.pro{-webkit-text-fill-color:#fff}.login-card .login-form input::placeholder{color:#526d80}.access-panel a{color:#d4f1ff}
