:root{color-scheme:dark;--bg:#0c141d;--panel:#15222e;--line:#2c4050;--ink:#e6eef5;--muted:#9aafbf;--accent:#4bd7c4;font-family:system-ui,"Yu Gothic UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-size:14px}header{min-height:70px;padding:16px 3%;display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--line);flex-wrap:wrap}.brand{font-size:24px;font-weight:750;text-decoration:none;color:var(--accent);margin-right:auto}.brand span{display:block;font-size:10px;letter-spacing:2px;color:var(--muted)}main{max-width:1500px;margin:auto;padding:28px 3%}h1{font-size:28px;margin:6px 0 16px}h2{font-size:22px}h3{margin:8px 0}button,input,select{font:inherit}button,select,input{border:1px solid var(--line);border-radius:6px;color:var(--ink);background:#10202d;padding:9px 12px}button{cursor:pointer}button:hover{border-color:var(--accent)}button:disabled{opacity:.4;cursor:default}.primary{background:var(--accent);color:#062820;border-color:var(--accent);font-weight:700}a{color:var(--accent)}input[type=checkbox]{accent-color:var(--accent);width:18px;height:18px}input[type=range]{padding:0;width:100%;accent-color:var(--accent)}.muted,small{color:var(--muted);line-height:1.7}.eyebrow{letter-spacing:2px;font-size:11px;color:var(--accent)}.title-row,.toolbar,.row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.toolbar{padding:12px 0;border-block:1px solid var(--line);margin-bottom:18px}nav{display:flex;gap:6px;flex-wrap:wrap}nav button[aria-pressed=true]{background:#25434b;border-color:var(--accent)}#owner{margin-left:auto}.badge{display:inline-block;border:1px solid #ac8750;color:#ffcf87;padding:5px 8px;border-radius:5px}.receivers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.receiver{background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:8px;padding:18px;min-width:0}.receiver:nth-child(2){border-top-color:#76b7ff}.receiver:nth-child(3){border-top-color:#e8c777}.receiver:nth-child(4){border-top-color:#caa5ef}.tuner{display:flex;gap:8px;margin:10px 0}.tuner input{font-family:ui-monospace,monospace;font-size:23px;min-width:0;width:100%;letter-spacing:1px}.metrics{display:grid;grid-template-columns:1fr 1fr 110px;gap:12px;margin:16px 0}.metric strong{display:block;font:24px ui-monospace,monospace;margin:6px 0}.iq{width:100%;height:90px;background:#0b1923;border:1px solid var(--line)}.iq line{stroke:var(--line)}.iq circle{fill:var(--accent)}.sender{min-height:58px;color:var(--muted);font-size:12px;line-height:1.7;border-top:1px solid var(--line);padding-top:10px;overflow-wrap:anywhere}.channel-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;border-bottom:1px solid var(--line);padding:7px 0}.channel-row label{display:flex;align-items:center;gap:7px}.channel-row span{font-family:ui-monospace,monospace}.settings{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.settings label{display:grid;gap:6px;min-width:0}.settings input{width:100%}select{max-width:100%}#message{color:#ffcf87;min-height:20px}#login{max-width:420px;margin:7vh auto 2vh}#login-form{display:grid;gap:20px;margin:30px 0}#login-form label{display:grid;gap:8px}details{color:var(--muted);line-height:1.7}footer{padding:30px;text-align:center;color:var(--muted);font-size:12px}.record{display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding:15px 0;border-bottom:1px solid var(--line)}.record>div{flex:1;min-width:180px}.record audio{height:34px;max-width:100%}.flow{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:30px 0}.flow article{flex:1;min-width:210px;background:var(--panel);padding:20px;border:1px solid var(--line);border-radius:8px}pre{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;background:var(--panel);padding:20px;border-radius:8px}[hidden]{display:none!important}@media(max-width:760px){.receivers{grid-template-columns:1fr}header{gap:10px}.title-row{align-items:flex-start}.metrics{grid-template-columns:1fr 1fr 95px}#owner{margin-left:0}main{padding:22px 4%}h1{font-size:24px}.tuner input{font-size:20px}}@media(pointer:coarse){button,select,input:not([type=checkbox]):not([type=range]){min-height:44px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

.hardware{border:1px solid var(--line);padding:16px;margin:16px 0;border-radius:8px}.hardware summary{cursor:pointer;font-size:18px;color:var(--text)}.hardware-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:16px 0}.hardware-grid label{display:grid;gap:6px}.hardware input:not([type=checkbox]),.hardware select{width:100%;min-width:0}.hardware-channel{display:grid;grid-template-columns:70px 2fr 1fr 1fr;gap:10px;align-items:center;margin:10px 0}.preset-results{max-height:240px;overflow:auto}.preset-results button{display:block;width:100%;text-align:left;margin:4px 0}@media(max-width:650px){.hardware-channel{grid-template-columns:70px 1fr}.hardware{padding:10px}}

#gps-spectrum{background:#071720;width:100%;max-height:240px;border:1px solid var(--line);border-radius:8px}#gps-spectrum text{fill:var(--muted);font-size:14px}.gps-metrics{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.gps-metrics span{background:var(--panel);padding:12px;border-radius:6px}#gps-peaks{overflow-x:auto}#gps-peaks table{width:100%;border-collapse:collapse}#gps-peaks th,#gps-peaks td{text-align:left;padding:10px;border-bottom:1px solid var(--line)}#gps-peaks tr.candidate{color:var(--accent)}

#gps-frame{width:100%;height:850px;border:1px solid #35515b;border-radius:12px;background:#0b121c}

.receiver-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 16px}.receiver-actions span{color:var(--muted)}.channel-state{grid-column:1 / -1;padding-left:25px}.channel-state[data-status=receiving]{color:var(--accent)}.channel-state[data-status=error]{color:#ffb3a7}.hardware summary{color:var(--ink)}

.account-row{display:flex;align-items:end;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:14px 0}.account-row label{display:grid;gap:6px}.account-row strong{min-width:100px;align-self:center}#account-issued:empty{display:none}

canvas[data-spectrum]{width:100%;height:140px;cursor:crosshair}#audit-log{max-height:400px;overflow:auto;white-space:pre-wrap}.hardware-channel{flex-wrap:wrap}#passkey-access{margin:1rem 0}#passkey-access details{margin:1rem 0}

.signal-tools,.background-audio{padding:14px 0;border-top:1px solid var(--line)}.signal-tools small{display:block;margin:8px 0}.scan-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.scan-grid label{display:grid;gap:5px}.scan-grid input{width:100%;min-width:0}.background-audio audio{width:100%;margin-top:12px}.background-audio span{margin-left:12px}

.password-assist{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.password-assist button{font-size:14px;padding:8px 12px}#login-form{min-width:0}#login-form label,#login-form input{min-width:0;max-width:100%}

.audio-help{padding:14px 0;border-top:1px solid var(--line)}.audio-help button{margin:4px 8px 4px 0}.audio-help p{overflow-wrap:anywhere}

.jr-panel{margin:1rem 0;border-top:1px solid #344653;padding-top:1rem}.jr-message{border:1px solid #344653;border-radius:8px;padding:12px;margin:12px 0;overflow-wrap:anywhere}.jr-message h4{margin:8px 0}.jr-message pre{white-space:pre-wrap;word-break:break-all;max-height:18rem;overflow:auto}.jr-message dd{margin:0 0 8px}.jr-message dt{color:#91aaa9}.jr-table{overflow:auto}.jr-table th,.jr-table td{padding:8px;border-bottom:1px solid #344653;white-space:nowrap}

.fsk-control{display:grid;gap:.4rem;margin:.8rem 0 .4rem}.fsk-control select{width:100%;max-width:100%}.fsk-hint{display:block;line-height:1.6}

.client-session{border:1px solid #304653;border-radius:12px;padding:1rem;margin:.7rem 0;overflow-wrap:anywhere}.client-session p{margin:.5rem 0}

#passkey-access>button{display:block;width:100%;margin:.7rem 0}#enroll-form{display:grid;gap:12px}#enroll-form label{display:grid;gap:6px}#enroll-key{width:100%;min-width:0}#enrollment[open]{padding:14px;border:1px solid var(--accent);border-radius:8px}#enroll-status{color:var(--accent);overflow-wrap:anywhere}

.rf-controls{margin:14px 0;border:1px solid var(--line);padding:12px;border-radius:8px}.rf-controls summary{cursor:pointer;color:var(--ink)}.gain-controls,.tone-controls,.frequency-book{display:grid;gap:10px;padding:14px 0;border-bottom:1px solid var(--line)}.rf-controls label{display:block}.rf-controls label input:not([type=checkbox]),.rf-controls select{display:block;width:100%;min-width:0;margin-top:6px}.rf-controls small{display:block}.rf-controls output,.settings output{color:var(--accent);font-variant-numeric:tabular-nums}.frequency-book form{display:grid;gap:10px}.book-actions{display:flex;gap:8px;flex-wrap:wrap}.digital-overview{padding:14px 0;border-top:1px solid var(--line)}.digital-channels{display:grid;grid-template-columns:1fr 1fr;gap:8px}.digital-channel{border:1px solid var(--line);border-left:3px solid #6ab7ef;border-radius:6px;padding:10px;min-width:0;background:#101c28}.digital-channel[data-active=true]{border-color:var(--accent)}.digital-channel button{display:block;width:100%;padding:6px 0;font-family:ui-monospace,monospace;font-size:14px}.digital-channel meter{width:100%;height:18px}.digital-channel p{font-size:12px;line-height:1.6;margin:4px 0;overflow-wrap:anywhere}.digital-channel .row span{font-size:11px;color:var(--accent)}.digital-channel:nth-child(2){border-left-color:#caa5ef}.digital-channel:nth-child(3){border-left-color:#edc26d}.digital-channel:nth-child(4){border-left-color:#61d4b4}.jr-counts{display:flex;gap:8px;margin:12px 0}.jr-counts span{background:#101c28;border:1px solid var(--line);border-radius:6px;padding:10px;flex:1;font-size:12px}.jr-counts strong{display:block;font-size:22px;color:var(--accent)}.jr-panel [data-jr-messages]{max-height:600px;overflow:auto}.jr-table caption{text-align:left;color:var(--muted);padding:10px 0}.jr-table table{border-collapse:collapse;width:100%}.receiver>label{display:grid;gap:5px}input[type=range]{min-height:32px}.receiver-actions{flex-wrap:wrap}.frequency-book h3{color:var(--ink)}

.records-filter{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.records-filter label{display:grid;gap:6px;min-width:0}.records-filter input,.records-filter select{width:100%;min-width:0;max-width:100%;box-sizing:border-box}.record-filter-actions{display:flex;gap:10px;flex-wrap:wrap;grid-column:1/-1}.record-info{min-width:0;flex:1;overflow-wrap:anywhere}.record-info strong,.record-info small{display:block;margin:6px 0}.record-system{color:var(--accent);font-size:13px}.records-pagination{display:flex;gap:16px;align-items:center;justify-content:center;margin:20px 0}.record audio{max-width:100%;min-width:0}.empty-records{padding:30px 12px;text-align:center;border:1px dashed var(--line);border-radius:10px}@media(max-width:650px){.records-filter{grid-template-columns:minmax(0,1fr)}.record{flex-wrap:wrap}.record-info{flex-basis:100%}.record audio{width:100%}.records-pagination{gap:8px}.records-pagination button{padding:10px}}
#account-policies form{display:flex;gap:12px;align-items:end;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid var(--line)}#account-policies strong{min-width:140px;align-self:center}#account-policies label{display:flex;gap:8px;align-items:center}#account-policies input[type=number]{width:80px}#account-policies input[type=checkbox]{flex:none}

.highway-caller{margin:0 0 18px;padding:16px 18px;background:#102129;border:1px solid #6d633e;border-left:5px solid #e8c777;border-radius:10px;min-width:0}
.caller-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px 14px;flex-wrap:wrap;color:#f2d58e;font-size:14px;font-weight:700}
.caller-channel{color:#c3d3df;font-size:13px;font-weight:500;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.caller-name{display:block;margin:10px 0 14px;color:#fff4cf;font-size:30px;font-weight:800;line-height:1.4;letter-spacing:.02em;overflow-wrap:anywhere}
.caller-details{display:flex;gap:6px 20px;flex-wrap:wrap;padding-top:10px;border-top:1px solid #3c4b4f;color:#c3d3df;font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.highway-caller[data-known=false]{border-color:#506373;border-left-color:#94a9b8}
.highway-caller[data-known=false] .caller-name{color:#c3d3df;font-size:24px;font-weight:650}
@media(max-width:480px){.highway-caller{padding:14px}.caller-name{font-size:27px}.caller-channel{flex-basis:100%}}

.spectrum-panel{margin:16px 0;padding:12px;border:1px solid #31495d;border-radius:9px;background:#0a1723;min-width:0}.spectrum-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.spectrum-heading strong{font-size:14px}.spectrum-heading label{display:flex;align-items:center;gap:8px;font-size:12px}.spectrum-heading select{min-width:0;width:auto;padding:5px 8px;font-size:12px}.spectrum-panel canvas[data-spectrum]{display:block;width:100%;height:180px;margin-top:6px}.spectrum-panel small{display:block;line-height:1.6;overflow-wrap:anywhere}.analog-signals{padding:10px 12px;background:#101e2b;border-radius:8px;font-size:14px}.analog-signals [data-active=true]{color:#69ebcb;font-weight:700}

.channel-plan {margin:14px 0;padding:12px;border:1px solid var(--line,#314654);border-radius:10px;min-width:0}
.channel-plan summary {cursor:pointer;font-weight:700}
.channel-plan-row {display:grid;grid-template-columns:65px minmax(80px,1fr) minmax(105px,1fr);gap:8px;align-items:center;margin:10px 0}
.channel-plan-row input {width:100%;min-width:0;box-sizing:border-box}
.channel-plan-row input[type=checkbox] {width:auto}
.channel-plan [data-plan-result] {display:block;margin-top:10px;overflow-wrap:anywhere}
.channel-plan form>button {margin:4px 6px 4px 0}
@media(max-width:500px){.channel-plan-row {grid-template-columns:60px minmax(0,1fr)}.channel-plan-row>label:last-child{grid-column:2}.channel-plan{padding:9px}}

.approval-panel{margin:14px 0;padding:16px;border:1px solid #31495d;border-radius:10px;background:#10202c}.approval-panel[data-pending=true]{border:2px solid #e9b75f;background:#2b251b}.approval-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.approval-heading strong{font-size:20px}.approval-panel details{margin-top:12px}.approval-panel button{margin:5px 6px 5px 0}.approval-panel p{overflow-wrap:anywhere}

#login.login-page{max-width:1040px;margin:24px auto 32px}.login-intro{padding:14px 0 20px}.login-intro h1{font-size:clamp(26px,4vw,38px);letter-spacing:-.025em;margin:10px 0}.login-intro>p{font-size:16px;color:var(--muted);line-height:1.8}.approval-required{padding:18px 22px;border:1px solid #b88d44;border-left:5px solid #e9b75f;border-radius:8px;background:#27241d;display:grid;gap:7px;line-height:1.7}.approval-required strong{color:#ffd894;font-size:19px}.approval-required span{color:#e7d9c1}.registration-steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0;margin:24px 0}.registration-steps li{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:16px;background:#101d28;min-width:0}.registration-steps li[aria-current=step]{border-color:var(--accent)}.step-number{flex:0 0 32px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#263a49;color:var(--ink);font-weight:700}.registration-steps li[aria-current=step] .step-number{background:var(--accent);color:#082820}.registration-steps strong,.registration-steps small{display:block}.registration-steps small{font-size:12px;line-height:1.6;margin-top:4px}.login-choices{display:grid;grid-template-columns:1fr 1fr;gap:18px}.login-card{padding:26px;border:1px solid var(--line);border-radius:12px;background:var(--panel);display:flex;flex-direction:column;min-width:0}.login-card-label{font-size:12px;font-weight:700;color:var(--accent);letter-spacing:.02em}.login-card h2{margin:12px 0 2px;font-size:23px}.login-card p{line-height:1.9;color:#c2d1dc}.login-card>button{width:100%;margin-top:auto;min-height:50px;font-weight:700;white-space:normal}.login-card .login-card-note{margin:14px 0 0;font-size:12px;color:var(--muted)}.enrollment-panel,.login-help{margin-top:22px;border:1px solid var(--line);border-radius:10px;padding:18px 22px;background:#101c27}.enrollment-panel summary,.login-help summary{cursor:pointer;font-weight:700;color:var(--ink);font-size:16px}.enrollment-panel[open] summary{margin-bottom:16px}#enroll-form{display:grid;gap:18px;max-width:680px}#enroll-form label{display:grid;gap:7px}#enroll-form input{width:100%;min-width:0;font-size:16px}#enroll-form button{min-height:50px}.login-help dt{font-weight:700;color:var(--ink);margin:18px 0 5px}.login-help dd{margin:0;line-height:1.9}.registration-progress{padding:24px;margin:0 0 24px;border:2px solid #e9b75f;border-radius:12px;background:#29231a}.registration-progress h2{font-size:24px;line-height:1.5;margin:10px 0;color:#ffdc9c}.registration-progress p{line-height:1.9}.registration-progress[data-status=approved]{border-color:var(--accent);background:#102e2a}.registration-progress[data-status=approved] h2{color:var(--accent)}.registration-progress .text-button{border:0;background:transparent;color:var(--muted);padding-left:0;font-size:12px}.registration-progress button{margin:4px 8px 4px 0}.registration-progress [role=status]{overflow-wrap:anywhere}
@media(max-width:700px){#login.login-page{margin-top:0}.login-choices{grid-template-columns:1fr}.registration-steps{grid-template-columns:1fr;gap:8px;margin:18px 0}.registration-steps li{padding:12px 15px}.registration-steps small{margin-top:2px}.login-card{padding:22px}.approval-required{padding:16px}.approval-required strong{font-size:17px}.enrollment-panel,.login-help,.registration-progress{padding:18px}.registration-progress h2{font-size:21px}.login-card>button{font-size:14px}.registration-progress button{max-width:100%;white-space:normal}}
.analog-meter-panel{margin:16px 0;padding:14px;border:1px solid var(--line);border-radius:8px;background:#0b1923}.rf-meter-row{padding:9px 0;border-top:1px solid var(--line)}.rf-meter-heading{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.rf-meter-heading strong{margin-left:auto;font:700 20px ui-monospace,monospace;color:var(--accent)}.rf-meter-heading small{flex-basis:100%}.rf-meter-row[data-selected=true] .rf-meter-heading>span{color:var(--accent)}.rf-meter{height:16px;background:#20313f;position:relative;margin-top:6px;overflow:hidden;border-radius:3px}.rf-fill{display:block;height:100%;background:linear-gradient(90deg,#238574,#4bd7c4);transition:width .2s}.rf-peak,.rf-threshold{position:absolute;top:0;bottom:0;width:2px;background:#f7ca62}.rf-threshold{background:#fff}.rf-meter-row[data-valid=false] .rf-peak{display:none}.rf-scale{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin-top:3px}.scan-buttons{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.scan-grid label{display:grid;gap:4px;min-width:0}.scan-grid input,.scan-grid select{width:100%;min-width:0}.scan-hits{max-height:200px;overflow:auto;padding-left:22px;font-size:12px}.analog-scan>summary{font-weight:700;color:var(--ink);padding:10px 0}.analog-scan p[role=status]{padding:10px;background:#0b1923;border-left:3px solid var(--accent);overflow-wrap:anywhere}
