/* Compact workspace: content owns scrolling; mobile navigation stays in one row. */
:root{--chrome:174px;--radius:10px}body.closed{--chrome:144px}header{height:56px;padding:0 18px}.notice{height:30px}.telemetry{height:44px;padding:0 8px}.telemetry>span{padding:0 12px}.telemetry b{font-size:13px}#flightAlert{height:44px;background:var(--card);border-bottom:1px solid var(--line)}.flight-alert-main{width:100%;height:100%;border:0;border-radius:0;display:flex;align-items:center;gap:10px;padding:0 18px;text-align:left;font-size:12px}.flight-alert-main>span:not(.alert-dot){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.flight-alert-main b,.flight-alert-main small{flex-shrink:0}.alert-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0}.has-alert .alert-dot{background:#dd743c}.has-alert .flight-alert-main{background:#dc853412;color:#b96125}body.dark .has-alert .flight-alert-main{color:#ffc68b}nav{width:82px;bottom:30px;padding:7px}nav button{min-height:44px;gap:3px;font-size:11px}nav button svg{width:18px;height:18px}nav button:last-child{margin-top:0}main{margin-left:82px;max-width:none;padding:16px 18px 28px;height:calc(100dvh - var(--chrome) - 30px);min-height:0}.page-head{margin-bottom:12px}.page-head h1{font-size:20px}.head-actions button{padding:6px 10px}.dashboard-top,.dashboard-mid,.dashboard-bottom{gap:10px;margin-bottom:10px}.instrument{height:270px}.dashboard-top>.card:last-child{height:270px}.card-title{padding:9px 12px}.sensor{min-height:78px;padding:7px}.sensor-grid{padding:8px;gap:6px}.sensor svg{width:22px;height:22px}.sensor small{font-size:11px}.attitude-values{height:48px}.model canvas{height:calc(100% - 48px)}.model-tag{bottom:57px}.quick{min-height:180px}.metric{padding:10px 6px}.metric strong{font-size:21px;overflow-wrap:anywhere}.channels{min-height:150px}.channel .track{height:75px}.sensor-chart{height:220px}.sensor-wave-toolbar{margin:10px 0;gap:9px}.sensor-readings{padding:9px 12px;gap:12px}.tabs{margin-bottom:12px}.content-pad{padding:16px}.fusion-summary{margin-bottom:12px;padding:12px 14px}.fusion-heading{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px}.fusion-heading small{color:var(--muted);font-size:11px}.fusion-items{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.fusion-items>div{display:flex;flex-direction:column;gap:3px}.fusion-items small{color:var(--muted);font-size:11px}.fusion-items b{font-size:13px}.status-warn{color:#c87537}.fusion-summary details{margin-top:8px;font-size:12px}.fusion-summary details .fusion-items{margin-top:10px}.flight-filters{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:12px}.flight-filters button{padding:6px 10px;font-size:12px}.flight-filters input{margin-left:auto;min-width:120px;max-width:260px;flex:1;padding:7px 10px}.message-help{margin:0;padding:0 12px 10px}.message-workspace .console{height:clamp(260px,45dvh,650px);background:var(--card);color:var(--text);padding:0 12px;overflow:auto}.flight-row{display:grid;grid-template-columns:70px 44px minmax(0,1fr);gap:8px;padding:9px 6px;border-bottom:1px solid var(--line);font-size:12px;line-height:1.6;overflow-wrap:anywhere}.flight-row time{color:var(--muted);font:11px/1.8 ui-monospace,monospace}.message-level{color:var(--muted)}.severity-0,.severity-1,.severity-2,.severity-3{border-left:3px solid #d55b57}.severity-4{border-left:3px solid #de9b44}.severity-0 .message-level,.severity-1 .message-level,.severity-2 .message-level,.severity-3 .message-level{color:#cd5552}.severity-4 .message-level{color:#bb7b2c}.message-empty{padding:28px 10px;color:var(--muted)}.repeat-count{color:var(--accent);font-size:11px}.message-tools{padding:12px;border-top:1px solid var(--line)}summary{cursor:pointer}.stream-controls{display:flex;gap:9px;align-items:end;flex-wrap:wrap;margin-top:12px}.stream-controls label{display:flex;flex-direction:column;gap:4px;font-size:11px}.stream-controls select{min-width:70px;padding:6px}#flightMessagesDialog{position:fixed;inset:0 0 0 auto;margin:0;width:min(560px,100vw);height:100dvh;max-height:100dvh;max-width:100vw;border:0;border-left:1px solid var(--line);border-radius:0;background:var(--card);color:var(--text);padding:18px;overflow:auto}.flight-drawer-actions{display:flex;gap:8px}#flightMessagesDialog .flight-filters{padding:10px 0}#flightDrawerRows{margin-top:12px}button{min-height:32px}.toolbar{flex-wrap:wrap}#settingsFields input,#settingsFields select{min-width:100px;max-width:210px}
@media(min-width:751px) and (max-width:1100px){.dashboard-top>.card:last-child{height:185px}.fusion-items{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:750px){:root{--chrome:244px}body.closed{--chrome:214px}header{height:56px;padding:0 10px;gap:6px}.brand b{font-size:15px}.brand b span{font-size:12px}.brand small{display:none}.header-actions{gap:4px}.header-actions button{padding:7px;font-size:11px}.notice{height:30px;padding:0 10px}.flight-alert-main{padding:0 10px;gap:7px}.flight-alert-main small{font-size:10px}.telemetry{height:50px}.telemetry>span{padding:0 10px}nav{top:calc(var(--chrome) - 64px)!important;left:0;right:0;bottom:auto;width:100%;height:64px;min-height:0;display:flex;flex-direction:row;gap:4px;padding:5px 8px;overflow-x:auto;overflow-y:hidden;border-right:0;border-bottom:1px solid var(--line);scrollbar-width:none}nav button{flex:0 0 54px;min-height:48px;padding:5px 2px;gap:3px}nav button.active:before{left:10px;right:10px;top:auto;bottom:0;height:2px;width:auto}main{margin-left:0;height:calc(100dvh - var(--chrome) - 46px);padding:12px 10px 24px}.page-head h1{font-size:18px}.page-head{align-items:start;gap:8px}.page-head .eyebrow{font-size:11px}.head-actions{gap:5px}.head-actions button{font-size:11px;padding:6px 8px}.dashboard-top{grid-template-columns:repeat(2,minmax(0,1fr))}.instrument{height:195px}.dashboard-top>.card:last-child{grid-column:1/-1;height:auto}.sensor-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto}.sensor{min-height:72px}.model-tag{font-size:8px;bottom:49px}.attitude-values{height:42px}.attitude-values div{font-size:8px}.attitude-values b{font-size:12px}.model canvas{height:calc(100% - 42px)}.instrument-offline{font-size:9px;padding:3px 4px;top:7px;right:6px}.dashboard-mid,.dashboard-bottom{grid-template-columns:minmax(0,1fr)}.channels{min-height:140px}.quick{grid-template-columns:repeat(4,minmax(0,1fr));min-height:190px;padding:14px 7px 14px 25px}.metric strong{font-size:16px}.metric small{font-size:9px}.metric{padding:8px 2px}.quick-edit-mark{right:2px;font-size:11px}.dashboard-bottom .map{height:150px}.sensor-chart{height:190px}.sensor-readings b{font-size:12px}.sensor-wave-toolbar label{font-size:11px}.sensor-wave-toolbar select{padding:6px}.sensor-wave-toolbar button{font-size:11px}.fusion-summary{padding:10px 12px}.fusion-items{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 10px}.flight-filters{gap:5px;padding:10px}.flight-filters input{flex-basis:100%;max-width:none;margin:2px 0 0}.flight-filters button{min-height:36px}.flight-row{grid-template-columns:59px 34px minmax(0,1fr);gap:6px;font-size:11px}.flight-row time{font-size:10px}.message-workspace .console{height:42dvh}.content-pad{padding:12px}.tabs{overflow:auto;white-space:nowrap;gap:4px}.tabs button{padding:9px 11px;font-size:12px}.table-wrap table{font-size:12px}#flightMessagesDialog{padding:14px}footer{bottom:0}#settingsFields input,#settingsFields select{min-width:90px;max-width:160px}}
@media(max-width:360px){.quick{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-top{grid-template-columns:minmax(0,1fr)}.dashboard-top>.card:last-child{grid-column:auto}.instrument{height:220px}}

/* One brand across every screen size. */
.brand{flex-shrink:0;gap:7px}.brand b{font-size:18px;white-space:nowrap;letter-spacing:0}.header-actions{margin-left:auto}.home-link{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:6px 10px;border:1px solid var(--line);border-radius:7px;color:var(--text);text-decoration:none;font-size:12px;white-space:nowrap}.home-link:hover{background:var(--soft)}header #deviceIdentity{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}#quickSearch{width:100%;margin:0 0 12px;padding:10px 12px}.quick-group{margin:14px 0}.quick-group h3{font-size:12px;color:var(--muted);margin:0 0 7px}.quick-picker button{min-height:55px}.quick-picker i{font-style:normal}.quick-picker .available{color:#368c59}.quick-dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0 0;border-top:1px solid var(--line)}.quick-dialog-footer small{color:var(--muted);font-size:11px}#quickDialog [hidden]{display:none!important}#quickDialog{width:600px}#quickDialog .dialog-head{gap:12px}.quick .metric strong{font-variant-numeric:tabular-nums}.metric[data-quick-edit] strong{font-size:clamp(13px,1.5vw,21px)}
@media(max-width:750px){header{flex-wrap:nowrap}.brand b{font-size:16px}.brandmark{display:none}.header-actions .home-link{font-size:11px;min-height:32px;padding:6px}.header-actions button{min-height:32px}.header-actions #theme{display:none}.tagline{display:none}.quick .metric strong{font-size:15px}#quickDialog{padding:16px;width:calc(100vw - 24px)}.quick-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-picker button{padding:9px;font-size:11px}.quick-dialog-footer{align-items:flex-start}}@media(max-width:360px){header{height:56px;padding:0 7px}.brand b{font-size:14px}.header-actions{gap:3px}.header-actions button,.header-actions .home-link{padding:5px;font-size:10px}.quick-picker{grid-template-columns:minmax(0,1fr)}}

.file-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.file-heading h2{font-size:17px;margin:0}.file-heading p{margin:5px 0 12px}.file-shortcuts{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.file-path-form{display:flex;gap:7px;margin-bottom:12px}.file-path-form input{flex:1;min-width:0;font-family:ui-monospace,monospace}.file-status-bar{display:flex;gap:10px;align-items:center;justify-content:space-between;margin:12px 0;font-size:12px;overflow-wrap:anywhere}.file-error{color:#bf5555}.file-name{display:flex;align-items:center;gap:7px;text-align:left;border:0;background:transparent;width:100%;overflow-wrap:anywhere}.file-name span{min-width:0}.file-table{width:100%;min-width:0!important;table-layout:fixed}.file-table th:first-child{width:60%}.file-table td{padding:9px 5px;font-size:12px}.file-table th{font-size:12px;text-align:left}.file-table td:nth-child(2){color:var(--muted);font-family:ui-monospace,monospace}.file-table td:last-child button{font-size:11px;padding:5px 7px}#fileProgress progress{width:100%;height:7px;accent-color:var(--accent)}#fileProgress small{display:block;color:var(--muted);margin:5px 0 12px}.file-browser [hidden]{display:none!important}@media(max-width:750px){.file-path-form{flex-wrap:wrap}.file-path-form input{flex-basis:calc(100% - 75px)}.file-shortcuts button,.file-path-form button{font-size:11px}.file-table th:first-child{width:54%}.file-table td{font-size:11px}.file-name{font-size:11px;padding:5px 2px}.file-table td:last-child button{padding:5px}.file-heading h2{font-size:16px}}
/* Log explorer follows the compact white file-manager layout. */
.file-explorer{padding:0;background:transparent;border:0}.file-explorer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.file-location{display:flex;align-items:center;gap:7px;min-width:0;flex:1}.file-location>button{font-size:22px;width:34px;padding:0;flex-shrink:0;color:var(--muted)}.file-breadcrumbs{display:flex;align-items:center;gap:4px;overflow-x:auto;min-width:0;font-size:12px;scrollbar-width:thin}.file-breadcrumbs button{border:0;background:transparent;color:var(--accent);padding:3px 5px;white-space:nowrap}.file-breadcrumbs span{color:var(--muted)}.file-toolbar-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.file-toolbar-actions>button{font-size:11px;padding:5px 9px}.file-download-primary{color:var(--accent);border-color:#477de24d;background:#477de208}.file-view-switch{display:flex;align-items:center;gap:3px;border-left:1px solid var(--line);padding-left:8px;margin-left:4px}.file-view-switch button{width:32px;padding:5px;display:grid;place-items:center}.file-view-switch svg{width:17px;height:17px}.file-path-editor{margin:8px 0;color:var(--muted);font-size:11px}.file-path-editor summary{display:inline-block}.file-path-editor .file-path-form{margin:10px 0}.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));align-content:start;gap:12px;min-height:280px;padding:20px 8px}.file-tile{padding:7px;border:1px solid transparent;border-radius:8px;min-width:0;align-self:start}.file-tile:hover{background:var(--soft)}.file-tile.file-selected{border-color:#477de255;background:#477de208}.file-tile-main{width:100%;border:0;background:transparent;display:flex;align-items:center;flex-direction:column;gap:7px;padding:0;font-size:12px;min-width:0}.file-tile-main svg{width:57px;height:48px;flex-shrink:0}.file-tile-main span{max-width:100%;overflow-wrap:anywhere;line-height:1.5}.file-tile-main small{font-size:10px;color:var(--muted)}.document-glyph{color:var(--accent)}.file-tile-actions{display:flex;justify-content:center;gap:5px;margin-top:7px}.file-tile-actions button{font-size:10px;padding:3px 6px;min-height:28px}.file-delete{color:#ba5656}.file-delete:disabled{color:var(--muted)}.file-grid-empty{grid-column:1/-1;text-align:center;color:var(--muted);padding:60px 12px;font-size:12px}.file-explorer .file-name svg{width:25px;height:24px;flex-shrink:0}.file-explorer .file-table th:first-child{width:55%}.file-explorer .file-table th:last-child{width:26%}.file-row-actions{display:flex;gap:5px;justify-content:flex-end;flex-wrap:wrap}.file-selected td{background:#477de208}.file-explorer-footer{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 0;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.file-help{margin:7px 0}.file-explorer .table-wrap{min-height:280px}.file-browser [hidden]{display:none!important}#fileDeleteDialog{max-width:calc(100vw - 24px);width:430px}#fileDeleteDialog h2{font-size:18px}.delete-file-name{display:block;margin-top:20px;font-size:15px;overflow-wrap:anywhere}.delete-file-path{font:12px/1.6 ui-monospace,monospace;color:var(--muted);padding:10px;background:var(--bg);border-radius:6px;overflow-wrap:anywhere}.delete-confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.danger-button{background:#c35a55;border-color:#c35a55;color:white}.danger-button:hover{background:#b74c47}.danger-button:disabled{background:var(--soft);border-color:var(--line);color:var(--muted)}
@media(max-width:750px){.file-explorer-toolbar{gap:8px;padding:8px 0}.file-location{flex-basis:100%}.file-toolbar-actions{width:100%;gap:5px}.file-toolbar-actions>button{font-size:10px;padding:5px 7px}.file-view-switch{margin-left:auto}.file-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px;padding:14px 0;min-height:250px}.file-tile{padding:6px 3px}.file-tile-main svg{width:49px;height:42px}.file-tile-main{font-size:11px}.file-explorer .file-table th:first-child{width:48%}.file-explorer .file-table th:last-child{width:32%}.file-row-actions button{min-height:30px}.file-explorer-footer{font-size:10px}.file-help{font-size:10px}}@media(max-width:360px){.file-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.file-toolbar-actions>button{padding:4px 5px}.file-view-switch{padding-left:5px;margin-left:0}}
