:root {
    --ink: #dbe8e7;
    --muted: #7f9698;
    --dim: #496166;
    --panel: rgba(10, 27, 33, .92);
    --panel-2: rgba(13, 37, 44, .82);
    --line: rgba(132, 176, 176, .19);
    --cyan: #5ee7d5;
    --cyan-soft: #2aa899;
    --amber: #f2b84b;
    --red: #f17171;
    --green: #67dea4;
    --bg: #050d11;
    --display: "Arial Narrow", "Roboto Condensed", Arial, sans-serif;
    --body: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { background: var(--bg); color-scheme: dark; }
body {
    margin: 0;
    min-height: 100vh;
    color: var(--ink);
    background:
        radial-gradient(circle at 85% 0%, rgba(27, 102, 103, .22), transparent 32rem),
        radial-gradient(circle at 10% 90%, rgba(35, 75, 97, .18), transparent 30rem),
        linear-gradient(160deg, #071217, #03090c 65%);
    font-family: var(--body);
}

button, input, select { font: inherit; }
button { cursor: pointer; }
.stars { position: fixed; inset: 0; pointer-events: none; opacity: .35; background-image: radial-gradient(#9bd7d2 0.6px, transparent 0.7px); background-size: 31px 31px; mask-image: linear-gradient(to bottom, black, transparent 75%); }
.app-shell { min-height: 100vh; position: relative; }
.topbar {
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 clamp(18px, 4vw, 58px);
    border-bottom: 1px solid var(--line);
    background: rgba(4, 13, 17, .88);
    backdrop-filter: blur(14px);
    position: sticky;
    top: 0;
    z-index: 20;
}
.brand { color: var(--ink); text-decoration: none; display: flex; align-items: center; gap: 13px; }
.brand strong { font: 700 15px/1 var(--display); letter-spacing: .18em; }
.brand small { display: block; margin-top: 5px; color: var(--muted); font-size: 8px; letter-spacing: .25em; }
.brand-mark { width: 38px; height: 38px; border: 1px solid var(--cyan-soft); border-radius: 50%; display: grid; place-items: center; position: relative; }
.brand-mark::before, .brand-mark::after { content: ""; position: absolute; border: 1px solid rgba(94, 231, 213, .35); border-radius: 50%; }
.brand-mark::before { width: 25px; height: 25px; }
.brand-mark::after { width: 3px; height: 3px; background: var(--cyan); box-shadow: 0 0 9px var(--cyan); }
.brand-mark i { position: absolute; width: 46px; height: 1px; background: linear-gradient(90deg, transparent, var(--cyan-soft), transparent); transform: rotate(-32deg); }
.brand-mark i:nth-child(2) { transform: rotate(28deg); width: 34px; }
.brand-mark i:nth-child(3) { transform: rotate(86deg); width: 30px; }

main { width: min(1480px, 100%); margin: auto; padding: clamp(20px, 3vw, 42px); }
.loading-panel { min-height: 60vh; display: grid; place-content: center; justify-items: center; color: var(--muted); letter-spacing: .08em; }
.loader { width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--dim); border-top-color: var(--cyan); animation: spin 1s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

.auth-layout { min-height: calc(100vh - 150px); display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(320px, 480px); align-items: center; gap: clamp(35px, 7vw, 110px); }
.eyebrow { color: var(--cyan); text-transform: uppercase; font: 700 11px/1 var(--display); letter-spacing: .25em; }
.hero h1 { margin: 18px 0; max-width: 750px; font: 300 clamp(45px, 7vw, 92px)/.9 var(--display); letter-spacing: -.045em; text-transform: uppercase; }
.hero h1 em { display: block; color: var(--cyan); font-style: normal; }
.hero p { max-width: 590px; color: #9fb1b2; line-height: 1.8; font-size: 16px; }
.mission-tags { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 30px; }
.mission-tags span { border: 1px solid var(--line); color: var(--muted); padding: 8px 11px; font: 600 10px/1 var(--display); letter-spacing: .12em; text-transform: uppercase; }

.panel { border: 1px solid var(--line); background: var(--panel); box-shadow: 0 25px 80px rgba(0,0,0,.3); }
.panel-pad { padding: clamp(22px, 3vw, 38px); }
.panel-head { display: flex; align-items: start; justify-content: space-between; gap: 20px; padding: 19px 22px; border-bottom: 1px solid var(--line); }
.panel-head h2, .panel-head h3 { margin: 0; font: 600 14px/1.2 var(--display); letter-spacing: .1em; text-transform: uppercase; }
.panel-head p { color: var(--muted); margin: 7px 0 0; font-size: 12px; }
.auth-tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--line); margin-bottom: 25px; }
.auth-tabs button { flex: 1; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--muted); padding: 14px; text-transform: uppercase; font: 700 10px var(--display); letter-spacing: .15em; }
.auth-tabs button.active { color: var(--cyan); border-bottom-color: var(--cyan); }
.field { display: grid; gap: 8px; margin-bottom: 17px; }
.field label { color: #9eb1b2; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.field input, .field select { width: 100%; border: 1px solid var(--line); border-radius: 2px; color: var(--ink); background: #07151a; padding: 13px 14px; outline: none; }
.field input:focus, .field select:focus { border-color: var(--cyan-soft); box-shadow: 0 0 0 3px rgba(94,231,213,.08); }
.button { border: 1px solid var(--cyan-soft); background: var(--cyan); color: #04201d; padding: 12px 17px; font: 800 11px/1 var(--display); letter-spacing: .11em; text-transform: uppercase; min-height: 42px; }
.button:hover { filter: brightness(1.08); }
.button:disabled { cursor: not-allowed; opacity: .4; }
.button.secondary { background: transparent; color: var(--cyan); }
.button.ghost { background: transparent; color: var(--muted); border-color: var(--line); }
.button.warning { border-color: #815f26; background: rgba(242,184,75,.12); color: var(--amber); }
.button.small { min-height: 32px; padding: 8px 11px; font-size: 9px; }
.form-error { color: #ff9797; background: rgba(241,113,113,.08); border-left: 2px solid var(--red); padding: 10px 12px; font-size: 12px; margin-bottom: 16px; }

.setup-wrap { max-width: 1050px; margin: 30px auto; }
.setup-intro { text-align: center; margin-bottom: 35px; }
.setup-intro h1 { font: 300 clamp(35px, 5vw, 60px)/1 var(--display); text-transform: uppercase; margin: 12px; }
.origins { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; margin: 17px 0 24px; }
.origin-card { position: relative; display: block; border: 1px solid var(--line); padding: 17px; color: var(--muted); cursor: pointer; min-height: 125px; }
.origin-card input { position: absolute; opacity: 0; }
.origin-card:has(input:checked) { border-color: var(--cyan); color: var(--ink); background: rgba(94,231,213,.06); }
.origin-card strong { display: block; color: var(--ink); margin-bottom: 8px; font: 700 12px var(--display); letter-spacing: .06em; text-transform: uppercase; }
.origin-card span { font-size: 12px; line-height: 1.55; }

.status-bar { display: flex; align-items: center; gap: 18px; font: 600 10px var(--display); letter-spacing: .08em; text-transform: uppercase; }
.status-chip { display: flex; align-items: center; gap: 7px; color: var(--muted); white-space: nowrap; }
.status-chip strong { color: var(--ink); }
.dot { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 8px var(--green); }
.speed-controls { display: flex; border: 1px solid var(--line); }
.speed-controls button { border: 0; border-right: 1px solid var(--line); background: transparent; color: var(--muted); padding: 7px 9px; font: 700 9px var(--display); }
.speed-controls button:last-child { border-right: 0; }
.speed-controls button.active { background: var(--cyan); color: #05211e; }

.dashboard-head { display: flex; align-items: end; justify-content: space-between; gap: 22px; margin: 8px 0 25px; }
.dashboard-head h1 { font: 300 clamp(30px, 4vw, 49px)/1 var(--display); margin: 8px 0 0; letter-spacing: -.02em; }
.company-metrics { display: flex; gap: 22px; }
.metric { text-align: right; }
.metric span { display: block; color: var(--muted); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.metric strong { font: 500 18px var(--display); }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(320px, .75fr); gap: 16px; }
.mission-select-head { display: flex; align-items: end; justify-content: space-between; gap: 25px; margin: 8px 0 18px; }
.mission-select-head h2 { margin: 8px 0 0; font: 400 clamp(24px, 3vw, 38px)/1 var(--display); text-transform: uppercase; }
.mission-select-head p { max-width: 580px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.mission-choice-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.mission-choice { padding: 21px; display: flex; flex-direction: column; min-height: 325px; position: relative; overflow: hidden; }
.mission-choice.recommended { border-color: rgba(94,231,213,.55); background: linear-gradient(150deg, rgba(25,72,75,.78), var(--panel)); }
.mission-choice.locked { opacity: .58; background: rgba(8,20,25,.72); }
.mission-choice.recommended::after { content: ""; position: absolute; width: 180px; height: 180px; border: 1px solid rgba(94,231,213,.11); border-radius: 50%; right: -80px; top: -90px; }
.mission-choice-top { min-height: 28px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.mission-index { color: var(--dim); font: 400 20px var(--display); }
.recommend-tag { color: var(--cyan); border: 1px solid rgba(94,231,213,.35); padding: 5px 7px; font: 700 8px var(--display); letter-spacing: .08em; text-transform: uppercase; }
.cert-tag, .lock-tag { color: var(--muted); border: 1px solid var(--line); padding: 5px 7px; font: 700 8px var(--display); letter-spacing: .08em; text-transform: uppercase; }
.lock-tag { color: var(--amber); border-color: rgba(242,184,75,.3); }
.mission-choice h3 { margin: 21px 0 10px; font: 500 21px/1.05 var(--display); text-transform: uppercase; }
.mission-choice p { color: var(--muted); font-size: 12px; line-height: 1.6; margin: 0 0 18px; }
.mission-choice .button { margin-top: auto; align-self: flex-start; }
.choice-meta { display: flex; flex-wrap: wrap; gap: 6px; margin: auto 0 17px; }
.choice-meta span { color: var(--muted); border: 1px solid var(--line); padding: 5px 7px; font: 600 8px var(--display); letter-spacing: .06em; text-transform: uppercase; }
.progression-banner { display: grid; grid-template-columns: minmax(250px,.55fr) minmax(350px,1fr); gap: 30px; align-items: center; padding: 20px 24px; margin-bottom: 25px; border-color: rgba(94,231,213,.32); }
.network-section { margin-bottom: 25px; overflow: hidden; }
.network-section-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding: 22px 24px; border-bottom: 1px solid var(--line); }
.network-section:not(.expanded) .station-market { display: none; }
.network-section:not(.expanded) .network-section-head { border-bottom: 0; }
.expansion-toggle { position: relative; cursor: pointer; transition: background .16s ease; }
.expansion-toggle:hover, .expansion-toggle:focus { background: rgba(94,231,213,.055); outline: none; }
.expansion-icon { display: grid; place-items: center; width: 27px; height: 27px; margin-left: auto; border: 1px solid var(--cyan); color: var(--cyan); font: 500 22px/1 var(--display); font-style: normal; }
.network-section-head h2 { margin: 7px 0 5px; font: 400 25px var(--display); text-transform: uppercase; }
.network-section-head p { max-width: 720px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.network-count { white-space: nowrap; color: var(--green); font: 700 9px var(--display); letter-spacing: .1em; }
.station-market { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.station-offer { display: grid; grid-template-columns: 1fr auto; gap: 9px 18px; padding: 20px 24px; border-right: 1px solid var(--line); }
.station-offer:last-child { border-right: 0; }
.station-offer.purchased { background: rgba(103,222,164,.045); }
.station-offer > div:first-child span { color: var(--cyan); font-size: 8px; letter-spacing: .1em; text-transform: uppercase; }
.station-offer h3 { margin: 5px 0 0; font: 500 17px var(--display); text-transform: uppercase; }
.station-offer p { grid-column: 1 / -1; margin: 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.station-offer .button { align-self: start; grid-column: 2; grid-row: 1; }
.station-specs { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 6px; }
.station-specs span { padding: 5px 7px; border: 1px solid var(--line); color: var(--muted); font: 600 8px var(--display); text-transform: uppercase; }
.station-assignment { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 0 0 14px; padding: 13px 16px; border: 1px solid rgba(94,231,213,.3); background: rgba(94,231,213,.045); }
.station-assignment span { display: block; color: var(--cyan); font-size: 8px; letter-spacing: .12em; text-transform: uppercase; }
.station-assignment strong { display: block; margin-top: 3px; font: 500 12px var(--display); text-transform: uppercase; }
.station-assignment select { width: min(520px,55%); }
.cert-level span, .cert-progress span { display: block; color: var(--muted); font-size: 8px; letter-spacing: .13em; text-transform: uppercase; }
.cert-level strong { display: block; margin-top: 6px; color: var(--cyan); font: 500 21px var(--display); text-transform: uppercase; }
.cert-progress > div:first-child { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 7px; }
.cert-progress > div:first-child strong { color: var(--ink); font: 500 12px var(--display); }
.cert-progress small { display: block; margin-top: 7px; color: var(--muted); font-size: 9px; line-height: 1.4; }
.mission-hero { padding: clamp(24px, 3vw, 38px); min-height: 310px; position: relative; overflow: hidden; }
.mission-hero::after { content: ""; position: absolute; width: 360px; height: 360px; border: 1px solid var(--line); border-radius: 50%; right: -120px; top: -180px; box-shadow: inset 0 0 80px rgba(94,231,213,.05); }
.mission-hero h2 { font: 300 clamp(31px, 4vw, 53px)/1 var(--display); text-transform: uppercase; max-width: 680px; margin: 17px 0; }
.mission-hero p { max-width: 690px; color: #9db1b2; line-height: 1.7; }
.brief-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); margin: 24px -38px -38px; position: absolute; left: 38px; right: 38px; bottom: 38px; }
.brief-item { background: #0a1b21; padding: 14px 16px; }
.brief-item span { display: block; color: var(--muted); text-transform: uppercase; font-size: 8px; letter-spacing: .13em; margin-bottom: 6px; }
.brief-item strong { font: 500 12px/1.4 var(--display); }
.asset-list, .history-list { padding: 8px 18px 18px; }
.asset-row { display: grid; grid-template-columns: 35px 1fr auto; align-items: center; gap: 10px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.asset-icon { width: 30px; height: 30px; display: grid; place-items: center; border: 1px solid var(--line); color: var(--cyan); font-size: 13px; }
.asset-row strong { display: block; font-size: 12px; }
.asset-row small { color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
.asset-components { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.asset-components span { padding: 3px 6px; border: 1px solid var(--line); color: var(--cyan); font: 700 8px var(--display); letter-spacing: .04em; text-transform: uppercase; }
.asset-components em { color: var(--muted); font-style: normal; font-weight: 400; }
.health { color: var(--green); font: 600 11px var(--display); }
.empty-mission { padding: 33px; text-align: center; }
.empty-mission p { color: var(--muted); line-height: 1.6; }

.ops-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(340px, .8fr); gap: 16px; }
.ops-main { display: grid; gap: 16px; }
.mission-strip { padding: 19px 23px; display: flex; justify-content: space-between; gap: 18px; align-items: center; }
.mission-strip h1 { font: 400 clamp(22px, 3vw, 34px)/1 var(--display); margin: 7px 0 0; }
.mission-development { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 15px 18px; border: 1px solid rgba(242,184,75,.45); background: linear-gradient(90deg,rgba(242,184,75,.11),rgba(8,22,27,.9)); }
.mission-development span { display: block; margin-bottom: 5px; color: var(--amber); font: 700 8px var(--display); letter-spacing: .13em; text-transform: uppercase; }
.mission-development strong { display: block; color: #e6d7b8; font: 500 11px/1.55 var(--display); }
.mission-development > i { flex: 0 0 auto; color: var(--amber); font: 700 8px var(--display); letter-spacing: .1em; }
.mission-development.info { border-color: rgba(94,231,213,.35); background: linear-gradient(90deg,rgba(94,231,213,.08),rgba(8,22,27,.9)); }
.mission-development.info span, .mission-development.info > i { color: var(--cyan); }
.contact-clock { text-align: right; }
.contact-clock strong { font: 400 25px var(--display); color: var(--cyan); }
.contact-clock span { color: var(--muted); display: block; font-size: 9px; text-transform: uppercase; }
.tabs { display: flex; overflow-x: auto; border-bottom: 1px solid var(--line); }
.tabs button { border: 0; border-right: 1px solid var(--line); background: transparent; color: var(--muted); padding: 14px 18px; font: 700 9px var(--display); letter-spacing: .12em; text-transform: uppercase; }
.tabs button.active { color: var(--cyan); box-shadow: inset 0 -2px var(--cyan); background: rgba(94,231,213,.04); }
.tab-body { padding: 22px; min-height: 430px; }
.receiver-grid { display: grid; grid-template-columns: minmax(0, 1fr) 230px; gap: 19px; }
.scope { border: 1px solid var(--line); background: #02090d; position: relative; overflow: hidden; }
.scope canvas { display: block; width: 100%; height: 300px; }
.scope-label { position: absolute; left: 12px; top: 10px; color: rgba(94,231,213,.65); font: 700 8px var(--display); letter-spacing: .14em; }
.orbit-tab-body { padding: 0; min-height: 0; }
.orbit-layout { display: grid; grid-template-columns: minmax(0, 1fr) 265px; min-height: 470px; background: #040f15; }
.orbit-map-wrap { position: relative; align-self: center; min-width: 0; overflow: hidden; border-right: 1px solid var(--line); background: #06151d; }
.orbit-map-wrap canvas { display: block; width: 100%; aspect-ratio: 2 / 1; }
.orbit-legend { position: absolute; left: 12px; bottom: 10px; display: flex; flex-wrap: wrap; gap: 11px; padding: 7px 9px; color: #a7c0c0; background: rgba(2,9,13,.82); border: 1px solid rgba(132,176,176,.2); font: 600 8px var(--display); letter-spacing: .05em; text-transform: uppercase; }
.orbit-legend span { display: flex; align-items: center; gap: 5px; }
.orbit-legend i { display: block; width: 10px; height: 2px; background: var(--cyan); }
.orbit-legend .satellite-key { background: #f2d956; }
.orbit-legend .station-key { width: 7px; height: 7px; border-radius: 50%; }
.orbit-legend .footprint-key { background: transparent; border-top: 1px dashed var(--cyan); }
.orbit-readout { padding: 22px 18px; background: linear-gradient(145deg, rgba(12,34,41,.92), rgba(3,13,18,.98)); }
.orbit-readout h2 { margin: 7px 0 4px; font: 400 22px var(--display); text-transform: uppercase; }
.orbit-readout > p { margin: 0 0 17px; color: var(--muted); font-size: 9px; letter-spacing: .06em; text-transform: uppercase; }
.orbit-readout > small { display: block; margin-top: 15px; color: var(--dim); font-size: 8px; line-height: 1.55; }
.orbit-status { display: grid; gap: 0; border-top: 1px solid var(--line); }
.orbit-status > div { padding: 9px 0; border-bottom: 1px solid var(--line); }
.orbit-status span { display: block; color: var(--muted); font-size: 7px; letter-spacing: .12em; text-transform: uppercase; }
.orbit-status strong { display: block; margin-top: 4px; color: #c9dddd; font: 500 10px/1.45 var(--display); }
.orbit-status strong.visible { color: var(--green); }
.mission-pass-note { margin: 14px 0; padding: 9px 10px; border: 1px solid rgba(94,231,213,.22); background: rgba(94,231,213,.04); }
.mission-pass-note span { display: block; color: var(--muted); font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
.mission-pass-note strong { display: block; margin-top: 4px; color: var(--cyan); font: 600 10px var(--display); }
.receiver-controls { display: grid; gap: 13px; align-content: start; }
.digital { border: 1px solid var(--line); padding: 14px; background: #051116; }
.digital label { color: var(--muted); text-transform: uppercase; font-size: 8px; letter-spacing: .12em; }
.digital strong { display: block; margin-top: 5px; font: 500 21px var(--display); color: var(--cyan); }
.tune-buttons { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px; }
.quality-bar, .progress-bar { height: 7px; background: #061014; overflow: hidden; border: 1px solid var(--line); }
.quality-bar i, .progress-bar i { display: block; height: 100%; background: linear-gradient(90deg, var(--cyan-soft), var(--cyan)); transition: width .25s; }
.reception-warning { display: grid; grid-template-columns: 1fr auto; gap: 5px 16px; align-items: center; margin: 15px 0; padding: 14px; border: 1px solid rgba(241,113,113,.38); background: rgba(241,113,113,.07); }
.reception-warning strong { color: #ffb0b0; font: 600 13px var(--display); text-transform: uppercase; letter-spacing: .05em; }
.reception-warning span { color: var(--muted); font-size: 10px; line-height: 1.5; grid-column: 1; }
.reception-warning .button { grid-column: 2; grid-row: 1 / span 2; }
.command-notice { display: grid; grid-template-columns: 1fr auto; gap: 5px 16px; align-items: center; margin-top: 16px; padding: 14px; border: 1px solid rgba(94,231,213,.3); background: rgba(94,231,213,.05); }
.command-notice strong { color: var(--cyan); font: 600 13px var(--display); text-transform: uppercase; }
.command-notice span { color: var(--muted); font-size: 10px; grid-column: 1; }
.command-notice .button { grid-column: 2; grid-row: 1 / span 2; }
.identity-warning { margin: 12px 0 0; color: var(--amber); font-size: 9px; line-height: 1.5; }
.telemetry-needed-list { display: grid; gap: 6px; margin: 15px 0; }
.telemetry-needed-list span { padding: 9px 11px; border-left: 2px solid var(--cyan); background: rgba(94,231,213,.045); color: #c7dada; font: 600 9px var(--display); letter-spacing: .04em; }
.command-stack { display: grid; gap: 9px; margin-top: 20px; }
.command-console-head { display: flex; align-items: end; justify-content: space-between; gap: 22px; margin-bottom: 18px; }
.command-console-head h2 { margin: 7px 0; font: 400 26px var(--display); text-transform: uppercase; }
.command-console-head p { max-width: 690px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.command-console-head > span { flex: 0 0 auto; color: var(--green); font: 700 8px var(--display); letter-spacing: .11em; }
.command-mission-goal { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 0 0 12px; padding: 13px 15px; border: 1px solid rgba(242,184,75,.32); border-left: 3px solid var(--amber); background: rgba(242,184,75,.055); }
.command-mission-goal span { display: block; margin-bottom: 5px; color: var(--amber); font: 700 7px var(--display); letter-spacing: .13em; }
.command-mission-goal strong { color: #dfe9e7; font: 500 10px/1.5 var(--display); }
.command-mission-goal small { flex: 0 0 auto; color: var(--dim); font: 700 7px var(--display); letter-spacing: .08em; }
.modifier-summary { display: flex; flex: 0 0 auto; align-items: center; justify-content: flex-end; gap: 5px; flex-wrap: wrap; }
.modifier-summary span { margin: 0; color: var(--amber); font: 700 7px var(--display); letter-spacing: .1em; }
.modifier-summary b { padding: 4px 6px; border: 1px solid rgba(242,184,75,.3); color: #f5d99b; font: 700 7px var(--display); letter-spacing: .06em; text-transform: uppercase; }
.auxiliary-telemetry { margin-top: 12px; padding-top: 10px; border-top: 1px solid rgba(120,160,170,.2); }
.auxiliary-telemetry > span { display: block; margin: 0 0 7px; color: var(--dim); font: 700 7px var(--display); letter-spacing: .09em; }
.command-console-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(260px,.8fr); gap: 12px; }
.cosmos-console, .console-telemetry, .command-log { border: 1px solid var(--line); background: #031016; }
.cosmos-console, .console-telemetry { padding: 15px; }
.console-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: -15px -15px 15px; padding: 9px 12px; border-bottom: 1px solid var(--line); background: #071b22; }
.console-title span { color: var(--cyan); font: 700 8px var(--display); letter-spacing: .13em; }
.console-title i { color: var(--green); font: 700 7px var(--display); letter-spacing: .1em; }
.command-description { min-height: 48px; margin: 0 0 12px; padding: 11px; border-left: 2px solid var(--cyan); background: rgba(94,231,213,.045); color: var(--muted); font-size: 10px; line-height: 1.5; }
.command-description span { display: block; margin-bottom: 4px; color: var(--amber); font: 700 7px var(--display); letter-spacing: .12em; text-transform: uppercase; }
.no-arguments { color: var(--dim); font-size: 10px; }
.engineering-list { display: grid; }
.engineering-list > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid rgba(132,176,176,.1); }
.engineering-list span { color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .07em; }
.engineering-list strong { color: #d4e5e5; font: 600 9px var(--display); text-align: right; text-transform: uppercase; }
.engineering-list strong.on { color: var(--green); }
.engineering-list strong.off, .engineering-list strong.fault { color: var(--red); }
.assessment-locked, #recovery-assessment { margin-top: 14px; padding: 12px; border: 1px solid var(--line); background: rgba(132,176,176,.035); }
.assessment-locked strong { display: block; color: var(--muted); font: 600 9px var(--display); text-transform: uppercase; }
.assessment-locked span { display: block; margin-top: 5px; color: var(--dim); font-size: 8px; line-height: 1.45; }
.command-log { margin-top: 12px; padding: 15px; }
.command-log-row { display: grid; grid-template-columns: 58px 150px minmax(130px,.7fr) minmax(220px,1.5fr) 70px; gap: 10px; align-items: center; padding: 9px 0; border-bottom: 1px solid rgba(132,176,176,.1); }
.command-log-row time { color: var(--dim); font: 8px monospace; }
.command-log-row strong { color: var(--cyan); font: 600 9px var(--display); }
.command-log-row span, .command-log-row p { color: var(--muted); font-size: 8px; line-height: 1.4; }
.command-log-row p { margin: 0; }
.command-log-row b { color: var(--green); font: 700 7px var(--display); text-align: right; text-transform: uppercase; }
.command-log-row.rejected b { color: var(--amber); }
.command-log-row.fault b { color: var(--red); }
.empty-command-log { padding: 17px 0 5px; color: var(--dim); font-size: 9px; }
.command-card { display: grid; grid-template-columns: 36px 1fr auto; align-items: center; gap: 14px; padding: 15px; border: 1px solid var(--line); opacity: .45; background: rgba(4,16,20,.45); }
.command-card.available, .command-card.complete { opacity: 1; }
.command-card.available { border-color: rgba(94,231,213,.4); }
.command-card.complete { border-color: rgba(103,222,164,.25); }
.command-number { color: var(--dim); font: 400 18px var(--display); }
.command-card strong { display: block; font: 600 12px var(--display); text-transform: uppercase; }
.command-card p { margin: 5px 0 0; color: var(--muted); font-size: 10px; }
.command-state { color: var(--green); font: 700 9px var(--display); text-transform: uppercase; letter-spacing: .08em; }
.control-row { display: flex; gap: 7px; flex-wrap: wrap; }
.telemetry-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.telemetry-card { border: 1px solid var(--line); padding: 17px; background: rgba(4,16,20,.5); }
.telemetry-card span { display: block; color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }
.telemetry-card strong { display: block; font: 400 28px var(--display); margin: 7px 0; }
.telemetry-card small { color: var(--green); }
.procedure-list { padding: 8px 18px 18px; }
.step { display: grid; grid-template-columns: 26px 1fr; gap: 11px; padding: 13px 0; border-bottom: 1px solid var(--line); opacity: .45; }
.step.available, .step.complete { opacity: 1; }
.step-no { width: 23px; height: 23px; border-radius: 50%; border: 1px solid var(--dim); display: grid; place-items: center; font-size: 9px; }
.step.complete .step-no { background: var(--cyan); color: #04201d; border-color: var(--cyan); }
.step strong { display: block; font: 600 11px var(--display); text-transform: uppercase; letter-spacing: .04em; }
.step p { color: var(--muted); font-size: 10px; line-height: 1.45; margin: 5px 0 0; }
.history-list { max-height: 350px; overflow-y: auto; }
.history-row { display: grid; grid-template-columns: 55px 8px 1fr; gap: 9px; padding: 9px 0; font-size: 10px; color: var(--muted); border-bottom: 1px solid rgba(132,176,176,.08); }
.history-row time { color: var(--dim); font-family: monospace; }
.history-row i { width: 6px; height: 6px; border-radius: 50%; margin-top: 3px; background: var(--cyan-soft); }
.history-row.success i { background: var(--green); }
.history-row.warning i { background: var(--amber); }
.outcome { padding: 22px; border-left: 3px solid var(--green); background: rgba(103,222,164,.07); }
.outcome h3 { margin: 0 0 8px; font: 500 20px var(--display); }
.outcome p { margin: 0; color: var(--muted); }
.outcome.failed { border-left-color: var(--red); background: rgba(241,113,113,.07); }
.outcome.failed h3 { color: #ffb0b0; }
.outcome.aborted { border-left-color: var(--amber); background: rgba(236,190,92,.07); }
.outcome.aborted h3 { color: var(--amber); }
.toast-region { position: fixed; right: 20px; bottom: 20px; z-index: 50; display: grid; gap: 8px; }
.toast { max-width: 360px; padding: 13px 16px; background: #122930; border: 1px solid var(--line); box-shadow: 0 15px 50px #000; font-size: 12px; animation: slide .2s ease-out; }
.toast.error { border-color: rgba(241,113,113,.55); color: #ffc0c0; }
@keyframes slide { from { transform: translateY(8px); opacity: 0; } }

@media (max-width: 900px) {
    .auth-layout, .dashboard-grid, .ops-grid { grid-template-columns: 1fr; }
    .auth-layout { padding: 30px 0; }
    .hero h1 { font-size: 54px; }
    .status-chip.optional { display: none; }
    .dashboard-head { align-items: start; flex-direction: column; }
    .company-metrics { width: 100%; justify-content: space-between; }
    .metric { text-align: left; }
    .brief-grid { position: static; margin: 25px 0 0; grid-template-columns: 1fr; }
    .mission-hero { min-height: 0; }
    .receiver-grid, .orbit-layout, .command-console-grid { grid-template-columns: 1fr; }
    .orbit-map-wrap { border-right: 0; border-bottom: 1px solid var(--line); }
    .orbit-readout { display: grid; grid-template-columns: 1fr 2fr; gap: 0 20px; }
    .orbit-readout .orbit-status { grid-column: 2; grid-row: 1 / span 4; }
    .mission-choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .progression-banner { grid-template-columns: 1fr; gap: 16px; }
    .station-market { grid-template-columns: 1fr; }
    .station-offer { border-right: 0; border-bottom: 1px solid var(--line); }
    .station-offer:last-child { border-bottom: 0; }
}

@media (max-width: 600px) {
    .topbar { height: 62px; padding: 0 14px; }
    .brand small { display: none; }
    .brand strong { font-size: 12px; }
    main { padding: 14px; }
    .origins { grid-template-columns: 1fr; }
    .hero { display: none; }
    .auth-layout { display: block; min-height: auto; padding-top: 30px; }
    .status-bar { gap: 8px; }
    .status-chip.company-name { display: none; }
    .company-metrics { gap: 12px; flex-wrap: wrap; }
    .mission-strip { align-items: start; }
    .contact-clock strong { font-size: 17px; }
    .telemetry-grid { grid-template-columns: 1fr; }
    .mission-select-head { display: block; }
    .mission-select-head p { margin-top: 12px; }
    .mission-choice-grid { grid-template-columns: 1fr; }
    .mission-choice { min-height: 270px; }
    .network-section-head, .station-assignment { display: block; }
    .network-count { display: block; margin-top: 12px; }
    .station-assignment select { width: 100%; margin-top: 10px; }
    .station-offer { display: block; }
    .station-offer .button { margin-top: 12px; }
    .command-card { grid-template-columns: 30px 1fr; }
    .command-card .button, .command-state { grid-column: 2; justify-self: start; }
    .tab-body { padding: 14px; }
    .scope canvas { height: 230px; }
    .orbit-readout { display: block; }
    .orbit-readout .orbit-status { display: grid; }
    .orbit-legend { right: 8px; left: 8px; gap: 7px; }
    .command-console-head, .command-mission-goal, .mission-development { display: block; }
    .command-console-head > span, .mission-development > i { display: block; margin-top: 10px; }
    .command-mission-goal small { display: block; margin-top: 9px; }
    .modifier-summary { justify-content: flex-start; margin-top: 9px; }
    .command-log { overflow-x: auto; }
    .command-log-row { min-width: 720px; }
}
