*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;height:100%}:root{--page-head-padding: 26px 34px 18px;--page-body-padding: 22px 34px 40px;--dashboard-head-padding: 16px 28px;--dashboard-body-padding: 20px 24px 8px;--two-columns: repeat(2, minmax(0, 1fr));--focus-columns: 320px minmax(0, 1fr);--analyst-columns: minmax(0, 1.3fr) minmax(0, 1fr) 300px}.portal-shell{height:100dvh;display:flex;overflow:hidden;background:var(--bg)}.portal-sidebar{width:270px;height:100%;display:flex;flex-direction:column;background:var(--sidebar);border-right:1px solid var(--border)}.portal-shell>aside{flex:0 0 270px}.portal-main{flex:1;min-width:0;min-height:0;overflow:hidden;display:flex;flex-direction:column;background:var(--panel)}.portal-main>*{min-height:0}.portal-main :where(div,section,fieldset){min-width:0}.portal-main :where(input,select,textarea){max-width:100%}.portal-mobile-header{flex-shrink:0;display:flex;align-items:center;gap:12px;padding:6px 14px;padding-top:max(6px,env(safe-area-inset-top));background:var(--sidebar);border-bottom:1px solid var(--border)}.navigation-toggle{flex:0 0 44px;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:10px;font-size:24px;color:var(--text)}.navigation-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}dialog.navigation-drawer{margin:0;height:100dvh;max-height:100dvh;max-width:calc(100vw - 40px);border-radius:0;border:0;animation:none}.navigation-drawer .portal-sidebar{width:100%;padding-bottom:env(safe-area-inset-bottom)}.navigation-drawer .navigation-toggle{margin-left:auto}@media(max-width:1200px){:root{--focus-columns: minmax(0, 1fr);--analyst-columns: minmax(0, 1fr);--detail-columns: minmax(0, 1fr)}.session-transport{flex-wrap:wrap}.session-transport .transport-timeline{flex-basis:100%!important;order:1}}@media(max-width:1050px){:root{--two-columns: minmax(0, 1fr)}}@media(max-width:900px){.portal-shell{flex-direction:column}}@media(max-width:600px){:root{--page-head-padding: 16px;--page-body-padding: 16px 16px 28px;--dashboard-head-padding: 12px 16px;--dashboard-body-padding: 16px 16px 8px;--guide-columns: minmax(0, 1fr)}.portal-main{overflow-wrap:break-word}.portal-main .session-row{grid-template-columns:42px minmax(0,1fr)!important;gap:12px!important;padding:14px!important}.session-row>:first-child{width:42px!important}.session-row>:last-child{grid-column:2;justify-content:space-between}.session-row>:last-child>:first-child{text-align:left!important}.portal-main .seg{max-width:100%;flex-wrap:wrap}.portal-main .seg>button{min-height:36px}.portal-main input,.portal-main select,.portal-main textarea{font-size:16px}.session-transport{gap:10px!important;padding:10px 16px!important}.session-transport>*{flex-shrink:0}}.transport-timeline:focus-visible{outline:2px solid var(--accent);outline-offset:3px}body{font-family:Hanken Grotesk,sans-serif;-webkit-font-smoothing:antialiased;background:var(--bg);color:var(--text)}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;padding:0}.eq-modal{width:460px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;margin:auto;padding:0;background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:20px;box-shadow:0 24px 64px -24px #140a2873}.eq-modal::backdrop{background:#140a286b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.eq-modal button:disabled{cursor:wait;opacity:.65}.eq-modal button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media(prefers-reduced-motion:no-preference){.eq-modal[open]{animation:eqpop .16s ease-out}}input,select{font-family:inherit}a{color:var(--tint);text-decoration:none}a:hover{color:var(--accent)}:root[data-theme=light]{--bg: #f1ecf8;--panel: #f7f5fb;--card: #ffffff;--card2: #fbfafe;--border: #e7dff0;--border2: #efe9f6;--divider: #f1ecf8;--text: #241833;--dim: #5f5570;--label: #8b6db8;--faint: #b9a3d6;--accent: #49247d;--accent-soft: #f1ecf8;--coral: #d93a57;--ios: #1d4ed8;--android: #10b981;--on-accent: #ffffff;--tint: #49247d;--live: #ed4c67;--live-soft: #fff0f3;--success: #2fb574;--success-soft: #eaf7f0;--warning: #c77d14;--warning-soft: #fef3e2;--hero: #49247d;--sidebar: #ffffff;--shadow: 24px 40px -28px rgba(60, 26, 99, .3);--ax: #49247d;--ay: #ed4c67;--az: #2aa198;--grid: #efe9f6;--plot: #fcfbfe;--spec0: #f7f5fb;--spec1: #8b6db8;--spec2: #ed4c67;--spec3: #ffe7a0;--dot-lo: #b9a3d6;--dot-hi: #ed4c67}:root[data-theme=dark]{--bg: #0f0720;--panel: #150a29;--card: #1c1138;--card2: #20153e;--border: rgba(255, 255, 255, .11);--border2: rgba(255, 255, 255, .07);--divider: rgba(255, 255, 255, .08);--text: #f4effb;--dim: #b9a3d6;--label: #b9a3d6;--faint: #8b6db8;--accent: #ed4c67;--accent-soft: rgba(237, 76, 103, .14);--coral: #ff6e86;--ios: #7ba6f7;--android: #39d98a;--on-accent: #ffffff;--tint: #ff6e86;--live: #ff6e86;--live-soft: rgba(237, 76, 103, .16);--success: #39d98a;--success-soft: rgba(57, 217, 138, .12);--warning: #f5a623;--warning-soft: rgba(245, 166, 35, .16);--hero: #532f82;--sidebar: #160b2c;--shadow: 24px 44px -30px rgba(0, 0, 0, .7);--ax: #b39dff;--ay: #ff6e86;--az: #39d98a;--grid: rgba(255, 255, 255, .07);--plot: #160c2b;--spec0: #160c2b;--spec1: #6b3fa0;--spec2: #ed4c67;--spec3: #ffd37a;--dot-lo: #4a2e75;--dot-hi: #ff6e86}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-thumb{background:var(--faint);border-radius:8px;border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-track{background:transparent}@keyframes eqpulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.72)}}.hv{transition:filter .12s ease,background .12s ease,border-color .12s ease,transform .12s ease}.hv:hover{filter:brightness(1.05)}.rowhv{transition:background .12s ease,border-color .12s ease}.grotesk{font-family:Space Grotesk,sans-serif}.mono{font-family:Space Mono,monospace}.eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--label);font-weight:600}.microlabel{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);font-weight:600}.infodot{width:28px;height:28px;flex:0 0 28px;margin:-4px 0;color:var(--coral);display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;border-radius:50%;transition:background-color .12s ease}.infodot>svg{width:17px;height:17px;flex-shrink:0}.infodot:hover,.infodot[aria-expanded=true]{background:color-mix(in srgb,var(--coral) 14%,transparent)}.infodot:focus-visible{outline:2px solid var(--coral);outline-offset:2px}@media(max-width:600px){.infodot{width:36px;height:36px;flex-basis:36px;margin:-8px 0}}.panel{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:16px 16px 14px;display:flex;flex-direction:column;min-width:0}.badge{font-size:11px;font-weight:600;letter-spacing:.04em;border-radius:999px;padding:3px 10px;border:1px solid transparent;white-space:nowrap}.seg{display:flex;gap:3px;background:var(--bg);border:1px solid var(--border);border-radius:11px;padding:3px}.seg>button{padding:7px 13px;border-radius:8px;font-size:13px;font-weight:600;white-space:nowrap;color:var(--dim);background:transparent}.seg>button.on{color:var(--on-accent);background:var(--accent)}.select{background:var(--bg);border:1px solid var(--border);border-radius:9px;color:var(--dim);font-size:12.5px;font-weight:600;padding:6px 9px}.field{background:var(--bg);border:1px solid var(--border);border-radius:9px;color:var(--text);font-size:12.5px;font-weight:600;padding:6px 9px;outline:none}.field::placeholder{color:var(--faint);font-weight:500}.field:focus{border-color:var(--accent)}.select-lg{width:100%;background:var(--card);border:1px solid var(--border);border-radius:12px;color:var(--text);font-size:14px;font-weight:600;padding:11px 13px}@keyframes eqfade{0%{opacity:0}to{opacity:1}}@keyframes eqpop{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.eqspin{display:inline-block;border-radius:50%;border-style:solid;border-color:var(--faint);border-top-color:var(--accent);animation:eqspin .85s linear infinite;flex:none}@keyframes eqspin{to{transform:rotate(360deg)}}.eqbar{position:relative;overflow:hidden;height:5px;border-radius:999px;background:color-mix(in srgb,var(--faint) 45%,transparent)}.eqbar:after{content:"";position:absolute;inset:0 auto 0 0;width:34%;border-radius:999px;background:var(--accent);animation:eqsweep 1.4s ease-in-out infinite}@keyframes eqsweep{0%{transform:translate(-105%)}to{transform:translate(400%)}}@media(prefers-reduced-motion:reduce){.eqspin{animation-duration:2.4s}.eqbar:after{animation:none;width:100%;opacity:.45}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:Space Grotesk,sans-serif;font-size:13.5px;font-weight:600;line-height:1.2;padding:9px 16px;border-radius:10px;border:1px solid var(--border);background:var(--card2);color:var(--text);transition:background .13s ease,border-color .13s ease,color .13s ease,transform .13s ease}.btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{cursor:not-allowed;opacity:.45}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.btn-primary:hover:not(:disabled){background:var(--tint);border-color:var(--tint);color:var(--on-accent)}.skel{background:var(--divider);border-radius:6px;animation:eqbreathe 1.8s ease-in-out infinite}@keyframes eqbreathe{0%,to{opacity:.45}50%{opacity:.9}}@media(prefers-reduced-motion:reduce){.skel{animation:none;opacity:.6}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.activity-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;min-width:260px;max-width:1120px}@media(max-width:1080px){.activity-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-summary-grid>:first-child{grid-column:1 / -1}}@media(max-width:680px){.activity-summary-grid{grid-template-columns:minmax(0,1fr)}}.fleet-grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.fleet-grid>:nth-child(1),.fleet-grid>:nth-child(2){grid-row:span 2}@media(max-width:1080px){.fleet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fleet-grid>:nth-child(1),.fleet-grid>:nth-child(2){grid-row:auto}}@media(max-width:680px){.fleet-grid{grid-template-columns:minmax(0,1fr)}}.spin{animation:eq-spin .9s linear infinite}@keyframes eq-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spin{animation:none;opacity:.55}}
