/* Product surfaces. Geometry and device behaviour live in the component files. */
:root,[data-theme="dark"] {
  color-scheme:dark;
  --bg:#212529; --panel:#2b3035; --panel-raised:#343a40; --sidebar:#252a30;
  --inset:#252a30; --hover:#3c444d; --border:#414952; --line:var(--border);
  --text:#f1f3f5; --muted:#b0bac5; --subtle:#9da9b6;
  --accent:#8bb9ff; --accent-soft:#19375d; --accent-border:#3d638c;
  --primary:#0d6efd; --primary-hover:#0b5ed7; --on-primary:#fff;
  --success:#75d7ae; --success-bg:#153d32; --success-border:#326652;
  --danger:#ffadb5; --danger-bg:#472b32; --danger-border:#81505b;
  --warning:#ffd18a; --warning-bg:#463a23; --warning-border:#79613b;
  --overlay:rgba(10,14,19,.72); --shadow:0 4px 18px rgba(0,0,0,.08);
  --chart-grid:#46515e; --chart-label:#b0bac5; --chart-nozzle:#8bb9ff; --chart-bed:#ffc078;
  --model-grid:#708296; --model-future:#a3b0bf; --model-default:#8bb9ff; --model-active:#d1e5ff;
  --radius:16px; --radius-sm:10px;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
[data-theme="light"] {
  color-scheme:light;
  --bg:#f5f7fa; --panel:#fff; --panel-raised:#f1f4f8; --sidebar:#fff;
  --inset:#f7f9fc; --hover:#e9eef5; --border:#dce3ec; --line:var(--border);
  --text:#212529; --muted:#566373; --subtle:#647184;
  --accent:#0b5ed7; --accent-soft:#e9f1ff; --accent-border:#aacbff;
  --success:#146c43; --success-bg:#e7f5ee; --success-border:#add7bf;
  --danger:#b02a37; --danger-bg:#fff0f1; --danger-border:#edb0b7;
  --warning:#805100; --warning-bg:#fff5df; --warning-border:#e6c67b;
  --overlay:rgba(26,34,47,.38); --shadow:0 4px 18px rgba(33,37,41,.035);
  --chart-grid:#dce3ec; --chart-label:#566373; --chart-nozzle:#0b5ed7; --chart-bed:#a85b00;
  --model-grid:#8192a6; --model-future:#566373; --model-default:#0b5ed7; --model-active:#084298;
}
body{background:var(--bg);color:var(--text);font-size:14px;line-height:1.55}
::selection{background:var(--accent-soft);color:var(--text)}
button,.button-link,select,input:not([type="range"]):not([type="checkbox"]){border-radius:var(--radius-sm)}
button,.button-link,select{min-height:40px;padding:9px 14px;font-size:13px;font-weight:500;background:var(--panel);color:var(--text);border-color:var(--border)}
button:hover:enabled,.button-link:hover,select:hover:enabled{background:var(--hover);border-color:var(--subtle)}
button:disabled,input:disabled,select:disabled{opacity:.48;cursor:not-allowed}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.quiet,.text-button{background:transparent}.text-button{color:var(--accent);min-height:32px;padding:4px 0}
.text-button:hover:enabled{background:transparent;color:var(--accent);border-color:transparent;text-decoration:underline}
.primary,.login-card .primary,#settings-save,#printer-load,#printer-cleaning,.sd-upload-label,.upload-input::file-selector-button{
  color:var(--on-primary);background:var(--primary);border-color:var(--primary);font-weight:600;
}
.primary:hover:enabled,.login-card .primary:hover:enabled,#settings-save:hover:enabled,#printer-load:hover:enabled,#printer-cleaning:hover:enabled,.sd-upload-label:hover,.upload-input::file-selector-button:hover{
  color:var(--on-primary);background:var(--primary-hover);border-color:var(--primary-hover);
}
h1{font-size:30px;font-weight:650;letter-spacing:-.9px;line-height:1.25}
h2{font-size:17px;font-weight:600}h3{font-size:15px;font-weight:600}
.hint,.collection-heading .muted,.settings-field small{font-size:12px;line-height:1.75}
.pill{border-radius:999px;padding:5px 10px;background:var(--panel-raised);font-size:11px;font-weight:550;border:1px solid transparent}
.pill.online{color:var(--success);background:var(--success-bg);border-color:var(--success-border)}
.tiny-dot,.led,.signal-dot.is-live{background:var(--success)}
.viewer-card .tiny-dot{background:var(--subtle)}.viewer-card[data-connection="live"] .tiny-dot{background:var(--success);box-shadow:0 0 0 3px var(--success-bg)}
.small-tag{font-size:10px;letter-spacing:.45px;font-weight:600}
/* Sidebar and navigation */
body>header{position:fixed;inset:0 auto 0 0;width:232px;height:100dvh;display:flex;flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:0;padding:28px 18px 20px;background:var(--sidebar);border:0;border-right:1px solid var(--border);overflow-y:auto}
.brand{gap:12px;padding:0 8px;font-size:17px;letter-spacing:-.4px;min-height:46px}
.brandmark{width:38px;height:38px;flex-shrink:0;border:0;border-radius:12px;background:var(--primary);color:#fff;box-shadow:0 4px 10px rgba(13,110,253,.18)}
.brandmark svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round}
.brand small{display:block;margin-top:3px;letter-spacing:.1px;font-size:10px;color:var(--subtle)}
.sidebar-label{font-size:10px;font-weight:650;letter-spacing:1px;text-transform:uppercase;color:var(--subtle);padding:0 12px;margin:34px 0 12px}
.quick-nav{display:flex;flex-direction:column;width:auto;gap:5px;order:0;overflow:visible;padding:0;margin-bottom:28px}
.quick-nav a{min-height:44px;gap:12px;padding:11px 13px;font-size:13px;border-radius:11px;color:var(--muted);font-weight:500}
.quick-nav a svg{display:block;width:18px;height:18px;stroke-width:1.7}
.quick-nav a:hover{color:var(--text);background:var(--panel-raised)}
.quick-nav a.selected{background:var(--accent-soft);color:var(--accent);font-weight:600}
.appearance-control{margin-top:auto;padding:16px 8px 18px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--border)}
.appearance-control label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:500;color:var(--muted)}
.appearance-control svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.appearance-control select{min-height:34px;padding:6px 9px;max-width:105px;font-size:12px;background:var(--panel)}
.header-right{margin:0;padding:14px 12px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;background:var(--inset);border:1px solid var(--border);border-radius:13px}
.header-right #connection{grid-column:1/-1;justify-self:start}.header-right .access-role{grid-column:1;grid-row:2;width:auto}.header-right #logout{grid-column:2;grid-row:2}.header-right #admin-login{grid-column:1/-1;grid-row:3}
.access-role{font-size:11px;color:var(--muted);width:100%}
.admin-login{min-height:36px;padding:8px 11px;background:var(--primary);color:var(--on-primary);border-color:var(--primary);border-radius:9px;font-size:12px;text-align:center}
.admin-login:hover:enabled{background:var(--primary-hover);color:var(--on-primary);border-color:var(--primary-hover)}
#logout{padding:4px 0;min-height:28px;font-size:12px;color:var(--muted)}
main{max-width:1880px;margin:0 auto 0 232px;padding:34px clamp(24px,2.7vw,44px) 28px}
.page-heading{margin-bottom:28px;gap:20px;min-height:58px}.page-heading p{font-size:13px;margin-top:7px}
.page-context{font-size:11px;color:var(--muted);background:var(--panel);border:1px solid var(--border);padding:8px 12px;border-radius:999px}
footer{margin-top:30px;padding-top:20px;border-top:1px solid var(--border);font-size:11px}
/* Consistent cards and monitoring surfaces */
.viewer-card,.print-panel,.panel,.camera-settings,.printer-archive,.printer-controls,.file-card,.upload-box,.settings-actions,#job-journal{
  border-radius:var(--radius);background:var(--panel);border-color:var(--border);box-shadow:var(--shadow);
}
.workspace{grid-template-columns:minmax(0,1.85fr) minmax(305px,1fr);gap:24px}
.panel,.print-panel,.printer-controls,.settings-card,.maintenance-card{padding:24px}
.card-heading{min-height:62px;padding:15px 20px;gap:10px;font-size:14px;border-bottom:1px solid var(--border)}
.camera-source-control label{font-size:12px}.camera-source-control select{min-height:34px;font-size:12px;border-radius:9px}
.toolbar{padding:14px 16px}.toolbar button{min-height:36px;border-radius:9px;padding:7px 10px}
.toolbar button span{font-size:12px}.quality-controls{padding:0 20px 17px}.quality-controls select{min-height:34px;font-size:12px;border-radius:9px}
.viewer-foot{font-size:10px;padding:12px 20px;background:var(--inset)}
.stream-message{color:#f1f3f5;background:rgba(33,37,41,.92);border-radius:12px;line-height:1.7}
.zoom-badge{color:#fff;background:rgba(33,37,41,.85);border-radius:8px}
.viewport.camera-private{background:var(--inset)}.camera-private .stream-message{color:var(--muted);background:transparent}
.print-heading .eyebrow{font-size:13px;font-weight:600}.print-title-row{margin:22px 0}.printer-name{font-size:11px}
#print-job{font-size:19px;line-height:1.45;font-weight:600;margin-top:6px}#print-percent{font-size:28px;font-weight:650}
#print-progress{height:7px}.print-completion{font-size:12px;margin-bottom:10px}
.print-stats{gap:12px;margin-top:20px}.print-stats>div{background:var(--inset);border:1px solid var(--border);border-radius:12px;padding:12px}
.print-stats strong{font-size:21px;font-weight:600;margin:4px 0}.print-stats span{font-size:11px}.print-stats small{font-size:10px}
.stage-banner{border:0;background:var(--accent-soft);border-radius:12px;padding:13px;margin-top:18px}.stage-icon{color:var(--accent)}
.stage-banner strong{font-size:13px}.stage-banner small{font-size:11px}.stage-banner[data-phase="paused"],.stage-banner[data-phase="failed"]{background:var(--warning-bg)}
.stage-banner[data-phase="paused"] .stage-icon,.stage-banner[data-phase="failed"] .stage-icon{color:var(--warning)}
.sd-storage{padding-top:18px;margin-top:18px}.sd-heading{font-size:12px}.sd-figures b{font-size:16px;font-weight:600}.sd-note,.sd-files{font-size:11px}
.sd-meter{accent-color:var(--accent)}
.live-print-status .sd-files{display:none}.live-print-status .sd-note{font-size:11px;line-height:1.6}
.layer-print-status .sd-storage{display:none}
.camera-settings>summary{padding:20px 24px}.camera-settings aside{padding:0 24px 24px;gap:32px}.camera-settings .panel{box-shadow:none}
/* Forms, grouped actions and feedback */
.printer-speed-modes,.printer-light-buttons,.night-mode-controls{background:var(--inset);border:1px solid var(--border);padding:4px;border-radius:12px;gap:4px}
.printer-speed-modes button,.printer-light-buttons button,.night-mode-controls button{border-radius:9px;font-size:12px}
.printer-controls button.is-current,.night-mode-controls button[aria-pressed="true"]{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-border);box-shadow:none}
.printer-controls button.is-current small{color:inherit}.printer-controls button{border-radius:9px;min-height:38px}
.printer-controls button:disabled,.maintenance-card button:disabled{opacity:.55}
.printer-control-group h3,.printer-target-form label{font-size:13px;font-weight:600}
.printer-target-inputs input,.settings-field input:not([type="checkbox"]),.settings-field select,.filament-temperature input,.login-card input{
  border-radius:10px;background:var(--inset);border-color:var(--border);color:var(--text);min-height:42px;
}
.settings-field>label{font-size:13px}.settings-field{gap:8px;margin-top:20px}.settings-secret-status{color:var(--subtle)}
.settings-card-heading h2{font-size:17px}.settings-actions{padding:20px 24px}.settings-grid{gap:24px}
.settings-message,.settings-pending,.filament-reported,.sd-access,.sd-selection-toolbar{border-radius:12px;padding:14px 16px}
.settings-pending{border-color:var(--accent-border);background:var(--accent-soft)}
.printer-job-buttons .printer-danger,.settings-remove{color:var(--danger)}
.operation-status{background:var(--accent-soft);border-color:var(--accent-border);color:var(--text);border-radius:12px}
.operation-status[data-state="error"]{background:var(--danger-bg);border-color:var(--danger-border)}
.printer-command-status[data-state="rejected"],.printer-command-status[data-state="unconfirmed"]{color:var(--danger);background:var(--danger-bg)}
.view-switch .active,.follow-button.active,.accent-button{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-border)}
.toolpath-stage{border-radius:12px}.nozzle-key{background:var(--chart-nozzle)}.bed-key{background:var(--chart-bed)}
.material-panel .visual-heading img{border-radius:10px}.filament-swatch{outline-color:var(--subtle)}
.filament-swatch.unknown{background:repeating-linear-gradient(135deg,var(--subtle) 0 5px,var(--inset) 5px 10px)}
.maintenance-page-grid{gap:24px}.maintenance-card .printer-maintenance{gap:16px}.maintenance-card .maintenance-actions{gap:10px}
.maintenance-card>h3{font-size:17px}.printer-maintenance h3{font-size:17px}.maintenance-card .hint{font-size:12px}
.sd-manager-intro{padding:24px}.sd-upload-label{border-radius:10px;padding:10px 15px}
.sd-list-toolbar{gap:12px;padding:20px 0}.sd-file-list{border-radius:0 0 14px 14px;background:var(--panel)}
.sd-selection-toolbar{border-radius:14px 14px 0 0;background:var(--inset);gap:12px}.sd-file-row{padding:18px 20px}
.sd-file-row:hover{background:var(--inset)}.sd-file-detail strong{font-weight:550}.sd-file-detail small{font-size:11px}
.sd-file-actions button[data-delete],#sd-delete-selected,#sd-clear{color:var(--danger)}
.upload-box{border-style:dashed;padding:24px;gap:18px}.upload-input::file-selector-button{border-radius:9px;font-size:12px}
.upload-glyph{width:46px;height:46px;border-radius:12px;background:var(--accent-soft);display:grid;place-items:center;font-size:25px}
.file-art{background:var(--inset)}.file-content{padding:20px}.file-actions button,.file-actions .button-link{border-radius:9px}
.library-empty{border-radius:14px;background:var(--panel);padding:46px 24px}.journal-row{padding:22px 24px}
.auth{background:var(--overlay);backdrop-filter:blur(5px)}.login-card{width:420px;border-radius:20px;padding:32px;box-shadow:0 24px 80px rgba(0,0,0,.2)}
.login-card .primary{border-radius:10px;min-height:44px}.login-card .close-login{background:transparent;border-color:transparent}
.toast{background:var(--text);color:var(--panel);border:1px solid var(--border);border-radius:12px;padding:13px 20px;box-shadow:0 8px 32px rgba(0,0,0,.18)}
/* Responsive shell and comfortable touch targets */
@media(max-width:1250px){.toolbar button span{display:none}.settings-grid{gap:20px}.print-stats>div{padding:10px}}
@media(min-width:1001px) and (max-height:800px){body>header{padding-top:20px;padding-bottom:20px}.brand{min-height:38px}.brandmark{width:34px;height:34px;border-radius:10px}.sidebar-label{margin-top:18px;margin-bottom:8px}.quick-nav{gap:3px;margin-bottom:14px}.quick-nav a{min-height:38px;padding:8px 12px}.appearance-control{padding:12px 8px}.header-right{padding:12px;gap:8px}}
@media(min-width:1001px) and (max-width:1179px){.workspace{grid-template-columns:minmax(0,1fr)}.live-print-status .print-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.toolbar button span{display:inline}.page-context{display:none}.printer-main-controls{grid-template-columns:1fr 1fr}}
@media(max-width:1000px){
  body>header{position:static;height:auto;width:auto;overflow:visible;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 20px;padding:20px 24px 0;border:0;border-bottom:1px solid var(--border)}
  .brand{grid-column:1;grid-row:1;padding:0;font-size:17px}.brand small{display:none}.sidebar-label{display:none}
  .appearance-control{grid-column:2;grid-row:1;margin:0;padding:0;border:0}.appearance-control label{font-size:12px}.appearance-control select{max-width:110px}
  .quick-nav{grid-column:1/-1;grid-row:3;flex-direction:row;width:100%;min-width:0;gap:4px;overflow-x:auto;padding:0 0 14px;margin:0;scrollbar-width:none}
  .quick-nav::-webkit-scrollbar{display:none}
  .quick-nav a{min-height:40px;padding:9px 12px;font-size:12px;gap:8px}.quick-nav a svg{width:17px;height:17px}
  .header-right{display:flex;grid-column:1/-1;grid-row:2;flex-direction:row;flex-wrap:nowrap;justify-content:flex-start;margin:0;padding:0;background:transparent;border:0;gap:12px}
  .access-role{width:auto;font-size:11px;margin-right:auto}.admin-login{width:auto;padding:7px 12px;min-height:34px;font-size:12px}#logout{padding:6px 0}
  main{margin:0;padding:28px 24px;max-width:none}.page-context{display:none}.page-heading{min-height:0;margin-bottom:24px}
  .workspace{grid-template-columns:minmax(0,1.65fr) minmax(275px,1fr);gap:20px}.panel,.print-panel,.printer-controls{padding:22px}
  .maintenance-page-grid{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr 1fr}.sd-manager-intro{align-items:flex-start;flex-direction:column}
}
@media(max-width:760px){
  .workspace{grid-template-columns:minmax(0,1fr)}.toolbar button span{display:inline}.live-print-status .print-panel{display:block}
  .live-print-status .print-stats,.layer-print-status .print-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
  .settings-grid{grid-template-columns:1fr}.settings-intro{flex-direction:column}.settings-intro>button{align-self:flex-start}
  .settings-actions>div{flex-wrap:wrap}.printer-controls-heading{align-items:flex-start;flex-direction:column;gap:14px}.printer-controls-heading-actions{justify-content:flex-start;gap:8px}
  .sd-file-row{grid-template-columns:20px minmax(0,1fr) 85px;gap:12px}.sd-file-actions{grid-column:2/-1}.sd-selection-toolbar{gap:10px}
  .collection-heading{gap:16px}.camera-settings aside{padding:0 20px 20px;gap:24px}
}
@media(max-width:520px){
  body>header{padding:16px 16px 0;gap:14px 12px}.brand{font-size:16px;gap:9px}.brandmark{width:34px;height:34px;border-radius:10px}
  .appearance-control label span{display:none}.appearance-control label{gap:0}.appearance-control select{min-height:34px;width:92px;font-size:12px}
  .header-right{gap:8px}.header-right .pill{font-size:10px;padding:4px 8px}.header-right .access-role{font-size:10px}
  .quick-nav a{gap:7px;padding:9px 10px}.quick-nav a svg{display:block;width:16px;height:16px}
  main{padding:24px 16px}h1{font-size:26px}.page-heading p{font-size:12px;line-height:1.6;margin-top:6px}
  .panel,.print-panel,.printer-controls,.maintenance-card,.settings-card{padding:20px}.workspace,.visual-grid{gap:18px}
  .live-print-status .print-stats,.layer-print-status .print-stats{grid-template-columns:1fr 1fr;gap:10px}.print-stats>div{padding:12px}
  .card-heading{padding:14px 16px}.card-heading #clock{display:none}.camera-source-control{margin-left:auto;gap:6px}.camera-source-control label{display:none}.camera-source-control select{max-width:170px}
  .toolbar{padding:12px 10px;gap:3px}.toolbar button{padding:7px 6px}.toolbar button span{font-size:11px}.toolbar-group{gap:2px}
  .quality-controls{padding:0 16px 15px}.viewer-foot{padding:11px 16px;font-size:10px;gap:5px}
  .camera-settings>summary{padding:18px 20px}.camera-settings>summary small{display:none}.toolpath-stage{height:340px}
  .settings-actions{padding:18px}.settings-actions>div{justify-content:flex-start}.settings-actions button{flex:1;white-space:nowrap}
  .sd-manager-intro{padding:20px}.sd-file-row{padding:16px 12px;gap:10px}.sd-selection-toolbar{padding:14px 12px}.sd-list-toolbar>span{flex-basis:100%;margin:0}
  .sd-upload-controls{gap:8px}.sd-upload-controls>label:first-child{flex-basis:100%;font-size:12px}.sd-upload-controls select{max-width:140px}
  .upload-box{padding:20px}.collection-heading>button{white-space:nowrap;font-size:12px;padding:8px 10px}.login-card{padding:28px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* The same live viewer sits beside maintenance actions, without a second stream. */
.camera-slot{min-width:0}
.maintenance-workspace{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);gap:24px;align-items:start;margin-bottom:20px}
.maintenance-workspace .maintenance-page-grid{grid-template-columns:minmax(0,1fr)}
#maintenance-camera-slot{position:sticky;top:24px}
@media(max-width:1180px){.maintenance-workspace{grid-template-columns:minmax(0,1fr)}#maintenance-camera-slot{position:static}.maintenance-workspace .maintenance-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.maintenance-workspace{gap:18px}.maintenance-workspace .maintenance-page-grid{grid-template-columns:minmax(0,1fr)}}

.maintenance-setup{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;margin-bottom:20px;background:var(--accent-soft);border:1px solid var(--border);border-radius:var(--radius)}.maintenance-setup strong{font-size:14px}.maintenance-setup p{font-size:12px;line-height:1.7;color:var(--muted);margin:6px 0 0}.maintenance-setup a{flex-shrink:0;font-size:12px}@media(max-width:760px){.maintenance-setup{align-items:flex-start;flex-direction:column;gap:12px}}

/* Workspace refinement: compact navigation, searchable collections, focused settings. */
:root{--radius:14px;--radius-sm:9px}
body{line-height:1.6}
.skip-link{position:fixed;top:-80px;left:20px;z-index:100;background:var(--primary);color:white;padding:12px 20px;border-radius:10px}
.skip-link:focus{top:12px}
.page-heading h1:focus,main:focus{outline:none}
body>header{padding:24px 16px 16px}
.brand small{font-size:11px}.sidebar-label{margin:26px 0 8px;font-size:9px;letter-spacing:1.2px}
.quick-nav{gap:3px;margin-bottom:20px}.quick-nav a{min-height:40px;padding:9px 12px;border-radius:9px}
.nav-group-label{padding:0 12px;margin:16px 0 5px;text-transform:uppercase;font-size:9px;font-weight:650;letter-spacing:1.2px;color:var(--subtle)}
.quick-nav a.selected{box-shadow:inset 3px 0 0 var(--accent)}
.quick-nav a.has-changes:after{content:'';width:6px;height:6px;border-radius:50%;background:var(--warning);margin-left:auto}
.mobile-navigation{display:none}
main{padding-top:30px}.page-heading{margin-bottom:24px}.page-heading h1{font-size:28px;letter-spacing:-.7px}.page-heading p{color:var(--subtle);font-size:13px}
.page-context{border:0;background:transparent;padding:0;color:var(--subtle);font-size:11px}
.workspace-status{display:flex;align-items:center;gap:12px;padding:14px 18px;margin-bottom:24px;border:1px solid var(--border);border-radius:12px;background:var(--panel);color:var(--text);text-decoration:none;min-width:0}
main[data-page="live"] .workspace-status,main[data-page="layers"] .workspace-status{display:none}
.workspace-status:hover{border-color:var(--accent-border)}.status-orb{width:8px;height:8px;flex-shrink:0;background:var(--subtle);border-radius:50%}
.workspace-status[data-state="online"] .status-orb{background:var(--success);box-shadow:0 0 0 4px var(--success-bg)}
.workspace-status[data-state="attention"] .status-orb{background:var(--warning)}
.workspace-job{display:flex;align-items:center;gap:14px;min-width:0;flex:1;font-size:12px}.workspace-job strong{font-size:12px;white-space:nowrap}.workspace-job>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--muted)}
.workspace-progress{font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--muted)}.workspace-return{font-size:12px;color:var(--accent);white-space:nowrap;margin-left:10px}
.collection-heading,.settings-intro{margin-bottom:18px}.collection-heading h2{font-size:15px}.collection-heading .muted,.settings-intro .muted{max-width:680px;line-height:1.7;margin-top:4px}
.collection-tools{display:flex;align-items:flex-end;gap:16px;margin:24px 0 18px;padding:0;flex-wrap:wrap}
.search-field{flex:1;min-width:180px;max-width:440px}.search-field label,.sort-field label{display:block;font-size:11px;color:var(--muted);font-weight:550;margin-bottom:6px}
.search-field input{width:100%;min-height:40px;padding:10px 14px;border:1px solid var(--border);background:var(--panel);color:var(--text);font:inherit;font-size:13px}
.sort-field select{min-width:150px}.result-count{font-size:12px;color:var(--subtle);margin-left:auto;align-self:center;padding-top:19px}
.upload-box{border-style:dashed;background:var(--inset);box-shadow:none;padding:20px 24px}.upload-glyph{font-size:26px;color:var(--accent)}
.file-grid{gap:20px}.file-card{overflow:hidden}.file-content{padding:18px}.file-content h3{font-size:14px;line-height:1.55;overflow-wrap:anywhere}.file-content .eyebrow{font-size:10px;color:var(--accent);letter-spacing:.4px}
.file-actions{gap:8px;flex-wrap:wrap}.file-actions button,.file-actions a{font-size:11px;min-height:34px;padding:7px 10px}.file-actions .quiet{margin-left:auto;color:var(--muted)}
.library-empty{grid-column:1/-1;border:1px dashed var(--border);background:var(--inset);border-radius:14px;padding:44px 24px}.library-empty h3{font-size:17px}.library-empty p{font-size:13px}.library-empty button{margin-top:16px}
.printer-archive{padding:18px 22px}.printer-archive>summary{font-size:13px;color:var(--muted)}.printer-archive[open]>summary{color:var(--text);margin-bottom:16px}
.settings-navigation{display:flex;flex-wrap:wrap;gap:6px;padding:6px;margin:20px 0;background:var(--inset);border:1px solid var(--border);border-radius:12px}
.settings-navigation button{flex:1 1 auto;min-width:80px;border:1px solid transparent;background:transparent;color:var(--muted);font-size:12px;white-space:nowrap;min-height:38px}
.settings-navigation button[aria-pressed="true"]{background:var(--panel);border-color:var(--border);color:var(--text);box-shadow:0 2px 5px rgba(0,0,0,.06)}
.settings-grid{display:block}.settings-card:not([hidden]){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;max-width:1100px;margin:0 auto}
.settings-card>.settings-card-heading,.settings-card>p{grid-column:1/-1}.settings-field{min-width:0}.settings-field input:not([type="checkbox"]),.settings-field select{width:100%}
.settings-card>.settings-switch{align-self:center}.settings-field small{line-height:1.6;font-size:11px}
.settings-actions{position:sticky;bottom:16px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:20px;box-shadow:0 8px 32px rgba(0,0,0,.12);background:var(--panel)}
.settings-actions .settings-save-note{display:block;max-width:540px}.settings-save-note strong{display:block;font-size:12px;color:var(--muted)}.settings-save-note strong[data-dirty="true"]{color:var(--accent)}.settings-save-note p{font-size:11px;line-height:1.6;margin:4px 0 0}
.settings-actions>div:last-child{flex-shrink:0;display:flex;gap:10px}.settings-host-note{margin-top:20px}
.maintenance-workspace .maintenance-card{padding:22px}.maintenance-card .maintenance-actions{margin:10px 0}.printer-maintenance{align-content:start}
#maintenance-section>.collection-heading h2,#history-section>.collection-heading h2{display:none}
#maintenance-section>.collection-heading .muted{margin:0}.maintenance-card .hint{line-height:1.7}
.printer-controls-heading-actions .button-link{background:transparent;border-color:transparent;color:var(--accent)}
@media(min-width:1001px) and (max-height:800px){body>header{padding-top:16px}.sidebar-label{margin-top:16px}.quick-nav{gap:1px;margin-bottom:12px}.quick-nav a{min-height:34px;padding:6px 12px}.nav-group-label{margin-top:10px}.appearance-control{padding:10px 8px}.header-right{padding:10px}}
@media(max-width:1000px){body>header{padding:20px 24px 0}.nav-group-label{display:none}.quick-nav a.selected{box-shadow:inset 0 -2px 0 var(--accent)}.settings-actions{bottom:10px}.workspace-job{align-items:flex-start;flex-direction:column;gap:2px}.workspace-job>span{max-width:100%}}
@media(max-width:760px){.settings-card:not([hidden]){grid-template-columns:minmax(0,1fr);gap:0}.settings-actions{flex-direction:column;align-items:stretch;gap:14px;padding:16px}.settings-actions .settings-save-note p{display:none}.settings-actions>div:last-child{display:flex}.settings-navigation{gap:4px}.settings-navigation button{flex:1 1 28%;min-width:90px}.workspace-return{display:none}.collection-tools{gap:12px}.result-count{flex-basis:100%;margin:0;padding:0}.search-field{max-width:none}.sort-field select{min-width:130px}.settings-actions button{flex:1}}
@media(max-width:600px){body>header{padding:16px}.quick-nav{display:none}.mobile-navigation{display:flex;align-items:center;gap:12px;grid-column:1/-1;grid-row:3}.mobile-navigation label{font-size:12px;color:var(--muted)}.mobile-navigation select{flex:1;min-width:0;min-height:42px;background:var(--panel)}.page-heading h1{font-size:25px}.workspace-status{padding:12px 14px;gap:10px;margin-bottom:18px}.workspace-progress{font-size:11px}.workspace-job strong,.workspace-job>span{font-size:11px}.collection-tools{margin-top:20px}.search-field{min-width:160px}.upload-box{padding:18px}.printer-archive{padding:16px}.settings-navigation{margin:16px 0}}

.settings-message:empty{display:none}.settings-intro{align-items:center;margin-bottom:14px}.settings-intro .muted{margin:0;font-size:12px}.settings-navigation{margin-top:14px}.settings-actions{padding:16px 20px}.settings-save-note p{font-size:11px}.settings-save-note strong{font-weight:600}
