:root{color-scheme:dark;--frame: #101114;--frame-soft: #15171b;--frame-muted: #1c1f25;--sidebar: #0c0d10;--panel: #17191e;--panel-soft: #1d2026;--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .14);--text: #f5f1ea;--muted: #97918a;--ok: #3ad38b;--warn: #f5b257;--danger: #f26d77;--accent: #3772ff;--shadow: 0 38px 80px rgba(15, 15, 18, .34)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--text);font-family:Segoe UI Variable Text,Bahnschrift,Microsoft YaHei UI,sans-serif;background:radial-gradient(circle at 16% 12%,rgba(55,114,255,.12),transparent 22%),linear-gradient(180deg,#0e1014,#12151b)}button,input,select,textarea{font:inherit}button{cursor:pointer}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;border:1px solid var(--line);border-radius:16px;background:#ffffff0a;color:var(--text);padding:13px 14px;outline:none;transition:border-color .16s ease,background .16s ease}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{border-color:#3772ff73;background:#ffffff0f}input:not([type=checkbox]):not([type=radio])::placeholder{color:#f5f1ea47}select option,select optgroup{color:#101114;background:#f8fafc}.panel-kicker{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.18em;font-size:11px;color:#f5f1ea9e}.field-label{display:grid;gap:8px}.field-label>span{color:#f5f1eacc;font-size:13px}.badge{border-radius:999px;border:1px solid var(--line-strong);padding:7px 11px;font-size:12px;white-space:nowrap}.badge.tone-ok{background:#3ad38b21;color:#b6f6d5}.badge.tone-warn{background:#f5b25724;color:#ffd8a4}.badge.tone-danger{background:#f26d7726;color:#ffc8cd}.badge.tone-neutral{background:#ffffff0f;color:#ece7df}.primary-button,.secondary-button,.ghost-button{border-radius:999px;border:1px solid transparent;padding:12px 18px;transition:transform .16s ease,opacity .16s ease,border-color .16s ease}.primary-button{background:linear-gradient(135deg,#3772ff,#74a3ff);color:#fff}.secondary-button{background:linear-gradient(135deg,#3b3f47,#59606d);color:#fff}.ghost-button{background:#ffffff0a;color:var(--text);border-color:var(--line)}.ghost-button.danger-button{color:#ffc8cd;border-color:#f26d7742;background:#f26d7714}.primary-button:hover,.secondary-button:hover,.ghost-button:hover{transform:translateY(-1px)}.primary-button:active,.secondary-button:active,.ghost-button:active{transform:translateY(0) scale(.985)}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled{opacity:.48;cursor:not-allowed;transform:none}.status-lamp{width:10px;height:10px;border-radius:999px;background:#ffffff2e;display:inline-block}.status-lamp.tone-ok{background:var(--ok);box-shadow:0 0 16px #3ad38b80}.status-lamp.tone-warn{background:var(--warn);box-shadow:0 0 16px #f5b2576b}.status-lamp.tone-danger{background:var(--danger);box-shadow:0 0 16px #f26d776b}.login-shell,.workbench-shell{min-height:100vh;padding:0}.login-frame,.workbench-frame{min-height:100vh;border-radius:0;background:var(--frame);border:0;box-shadow:none;overflow:hidden}.login-frame{display:grid;place-items:center;padding:34px;background:radial-gradient(circle at 14% 14%,rgba(55,114,255,.18),transparent 22%),linear-gradient(180deg,rgba(255,255,255,.02),transparent 36%),linear-gradient(180deg,#111318,#0e1014)}.login-panel-head h2,.login-brand h1,.frame-header-title h1{margin:8px 0 0}.sidebar-brand-mark{width:62px;height:62px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(135deg,#3772ff,#6fa0ff);color:#fff;font-size:24px;font-weight:800;letter-spacing:.08em}.login-panel-head p,.login-panel-copy p,.frame-header-title p,.info-block p,.info-block span,.dense-row span,.media-meta span,.roster-tile small,.fleet-row-meta small,.sidebar-brand-copy span,.sidebar-caption,.sidebar-micro,.statusbar-label,.toolbar-select span,.clock-group span,.login-runtime span,.toolbar-runtime p,.header-utility-chip span{color:var(--muted)}.monitor-footer,.sidebar-status,.header-utility-metrics,.header-utility-actions,.device-toolbar,.badge-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sidebar-status{justify-content:space-between}.login-panel{width:min(100%,468px);padding:38px 34px;display:grid;align-content:center;background:linear-gradient(180deg,#ffffff08,#fff0),#15171beb;border:1px solid var(--line);border-radius:32px}.login-panel.standalone{box-shadow:0 24px 64px #08090c57}.login-brand{display:flex;align-items:center;gap:16px}.login-panel-head{display:grid;gap:22px;margin-bottom:28px}.login-panel-copy{display:grid;gap:12px}.login-form{display:grid;gap:16px}.login-form-actions{display:grid;gap:14px;margin-top:8px}.login-submit{width:100%}.remember-check{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:18px;border:1px solid var(--line);background:#ffffff08}.remember-check input{width:18px;height:18px;margin:0;accent-color:var(--accent)}.remember-check span{color:#f5f1ead6}.login-runtime{display:flex;align-items:center;gap:10px;min-height:22px}.device-log-list{display:grid;gap:12px}.device-log-row{display:grid;gap:8px;padding:14px 16px;border:1px solid rgba(133,155,199,.22);border-radius:16px;background:#0c111ce6}.device-log-meta{display:grid;gap:2px}.device-log-meta strong{color:#f4f7fb}.device-log-meta span{color:#d6e0f1c7;font-size:12px}.device-log-pre{margin:0;white-space:pre-wrap;word-break:break-word;font:12px/1.6 Cascadia Code,Consolas,monospace;color:#dce6f7}.device-log-payload{padding-top:8px;border-top:1px solid rgba(133,155,199,.16);color:#9ad9ff}.workbench-frame{display:grid;grid-template-columns:232px minmax(0,1fr)}.frame-sidebar{background:var(--sidebar);border-right:1px solid var(--line);display:grid;grid-template-rows:auto 1fr auto;gap:24px;padding:24px 18px}.sidebar-brand{display:flex;align-items:center;gap:14px}.sidebar-brand-copy{display:grid;gap:4px}.sidebar-nav{display:grid;gap:8px;align-content:start}.sidebar-nav-link{width:100%;border:1px solid transparent;border-radius:20px;padding:14px;text-align:left;background:transparent;color:var(--text);transition:border-color .16s ease,background .16s ease,transform .16s ease}.sidebar-nav-link small{color:var(--muted)}.sidebar-nav-label{display:block;margin-bottom:4px;font-size:15px}.sidebar-nav-link:hover,.sidebar-nav-link.active{border-color:#3772ff47;background:linear-gradient(135deg,#3772ff2e,#ffffff05);transform:translate(3px)}.sidebar-footer{display:grid;gap:12px}.sidebar-status{padding:14px;border-radius:22px;border:1px solid var(--line);background:#ffffff08}.sidebar-caption{display:block;font-size:12px;margin-bottom:6px}.sidebar-micro{font-size:12px;letter-spacing:.08em;text-transform:uppercase}.frame-main{min-width:0;display:grid;grid-template-rows:auto minmax(0,1fr);background:var(--frame-soft)}.frame-header{padding:22px 24px 20px;border-bottom:1px solid var(--line);display:grid;gap:16px}.frame-header-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap}.frame-header-title p{margin:8px 0 0}.frame-header-tools{display:grid;gap:10px;justify-items:end;flex:1 1 520px}.header-utility-metrics,.header-utility-actions{justify-content:flex-end}.frame-toolbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:stretch}.toolbar-group,.toolbar-select,.toolbar-runtime,.header-utility-chip,.workspace-panel,.dense-row,.roster-tile,.fleet-row-card,.info-block,.timeline-chip,.media-library-card{border:1px solid var(--line);background:var(--panel)}.toolbar-group,.toolbar-select,.toolbar-runtime,.header-utility-chip,.workspace-panel,.info-block,.timeline-chip,.media-library-card,.roster-tile,.fleet-row-card{border-radius:24px}.toolbar-group,.toolbar-select,.toolbar-runtime{padding:12px 14px}.header-utility-chip{min-height:48px;min-width:112px;padding:10px 14px;display:grid;gap:4px}.header-utility-chip span{font-size:11px;letter-spacing:.14em;text-transform:uppercase}.header-utility-chip strong{font-size:14px;line-height:1.2}.toolbar-action-button{min-height:48px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center}.button-inline-busy{display:inline-flex;align-items:center;justify-content:center;gap:8px}.button-busy-dot{width:8px;height:8px;border-radius:999px;background:currentColor;opacity:.8;animation:button-busy-pulse 1s ease-in-out infinite}.toolbar-select{min-width:0;max-width:none;display:grid;gap:8px}.clock-group{min-width:188px}.toolbar-select select{padding:10px 12px;border-radius:14px}.clock-group strong{display:block;font-size:24px;line-height:1}.toolbar-runtime{margin-left:0;min-width:0;display:grid;gap:6px;align-content:center}.statusbar-label{font-size:11px;letter-spacing:.16em;text-transform:uppercase}.toolbar-runtime p{margin:0;line-height:1.6}.toast-viewport{position:fixed;top:20px;right:20px;z-index:60;display:grid;gap:12px;width:min(360px,calc(100vw - 28px));pointer-events:none}.toast-notice{pointer-events:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start;padding:14px 16px;border-radius:18px;border:1px solid var(--line);box-shadow:0 16px 36px #04081047;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#12161eeb}.toast-notice.tone-ok{border-color:#3ad38b47;background:linear-gradient(180deg,#3ad38b14,#12161ef0)}.toast-notice.tone-warn{border-color:#f5b25747;background:linear-gradient(180deg,#f5b25714,#12161ef0)}.toast-notice.tone-danger{border-color:#f26d7747;background:linear-gradient(180deg,#f26d7717,#12161ef0)}.toast-notice-copy{display:grid;gap:4px}.toast-notice-copy strong{font-size:12px;letter-spacing:.12em;text-transform:uppercase}.toast-notice-copy span{color:var(--text);line-height:1.5}.toast-dismiss-button{min-width:auto;padding:8px 12px;border-radius:14px}.status-feedback-banner{display:flex;align-items:center;gap:12px;margin-top:12px;padding:14px 16px;border-radius:18px;border:1px solid var(--line);background:#ffffff0a}.status-feedback-banner strong{font-size:13px;letter-spacing:.12em;text-transform:uppercase}.status-feedback-banner span{color:var(--text);line-height:1.6}.status-feedback-banner.tone-ok{border-color:#3ad38b3d;background:#3ad38b14}.status-feedback-banner.tone-warn{border-color:#f5b25742;background:#f5b25714}.status-feedback-banner.tone-danger{border-color:#f26d773d;background:#f26d7714}.status-feedback-banner.pending{box-shadow:0 0 0 1px #3772ff38,0 0 22px #3772ff1f}@keyframes button-busy-pulse{0%,to{transform:scale(.85);opacity:.5}50%{transform:scale(1.15);opacity:1}}.frame-content{min-width:0;padding:18px 24px 24px;overflow:auto}.dashboard-grid{display:grid;gap:16px}.overview-grid{grid-template-columns:1.05fr 1.35fr .8fr;grid-template-areas:"hero monitor monitor" "signal monitor monitor" "command event roster"}.hero-panel{grid-area:hero}.monitor-panel{grid-area:monitor}.signal-panel{grid-area:signal}.command-panel{grid-area:command}.event-panel{grid-area:event}.roster-panel{grid-area:roster}.monitor-grid{grid-template-columns:1fr;grid-template-areas:"stage" "timeline" "media"}.monitor-stage-panel{grid-area:stage}.timeline-panel{grid-area:timeline}.monitor-event-panel{grid-area:events}.media-panel{grid-area:media}.live-grid{grid-template-columns:1.35fr .85fr;grid-template-areas:"stage metrics" "history history";align-items:start}.live-grid.live-grid-expanded{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"stage stage" "metrics metrics" "history history"}.live-stage-shell{grid-area:stage;align-content:start;gap:12px}.live-metrics-panel{grid-area:metrics}.live-history-panel{grid-area:history}.live-viewer-shell{min-width:0;display:flex;justify-content:stretch}.live-video-stage{position:relative;width:100%;aspect-ratio:16 / 9;min-height:clamp(360px,42vw,720px);border-radius:28px;overflow:hidden;border:1px solid var(--line-strong);background:radial-gradient(circle at 18% 18%,rgba(255,255,255,.08),transparent 24%),linear-gradient(160deg,#0e1216f5,#07080bfa);box-shadow:inset 0 1px #ffffff0d}.live-video-stage-expanded{width:100%;max-width:none;min-height:min(80vh,920px);aspect-ratio:auto}.live-video-element{width:100%;height:100%;min-height:360px;display:block;object-fit:cover;background:#060709f5}.live-video-host{width:100%;height:100%;min-height:360px}.live-video-stage-expanded .live-video-element,.live-video-stage-expanded .live-video-host{min-height:min(80vh,920px)}.live-stage-toolbar{position:absolute;top:18px;left:18px;right:18px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px}.live-stage-toolbar-actions{display:flex;align-items:center;gap:10px}.live-fullscreen-button,.live-debug-button{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0a0c1094}.live-stage-overlay{position:absolute;left:18px;right:18px;bottom:18px;z-index:2;max-width:min(560px,100%);display:grid;gap:6px;padding:16px 18px;border-radius:22px;background:linear-gradient(180deg,#090b0e70,#090b0ec7);border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.live-stage-overlay strong{font-size:20px;line-height:1.2}.live-stage-overlay div,.live-stage-overlay small{color:#f5f1eac2;line-height:1.6}.live-resume-button{justify-self:start}.live-debug-panel{margin-top:16px;padding:18px;border-radius:22px;border:1px solid var(--line-strong);background:linear-gradient(180deg,#0a0e12f0,#07090cf5);display:grid;gap:12px}.live-debug-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.live-debug-panel-actions{display:flex;align-items:center;gap:10px}.live-debug-panel-meta{display:flex;flex-wrap:wrap;gap:12px;color:#f5f1eaa3;font-size:13px}.live-debug-panel-pre{margin:0;padding:14px 16px;border-radius:16px;background:#030507eb;border:1px solid rgba(255,255,255,.06);color:#e8f4ffdb;font-size:12px;line-height:1.5;overflow:auto;white-space:pre-wrap;word-break:break-word;max-height:360px}.live-control-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.live-toolbar-field,.live-toolbar-toggle{min-width:0;min-height:54px;border-radius:18px;border:1px solid var(--line);background:#ffffff06;padding:8px 12px}.live-toolbar-field{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px}.live-toolbar-field span,.live-toolbar-toggle span,.live-history-filter span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#f5f1eadb}.live-toolbar-field strong{font-size:13px;line-height:1;color:#f5f1eaeb}.live-toolbar-field select{min-width:0;min-height:36px;padding:7px 12px;font-size:12px;border-radius:14px}.live-toolbar-range{grid-template-columns:auto auto minmax(0,1fr)}.live-toolbar-field input[type=range]{width:100%;padding:0;border:0;border-radius:999px;background:transparent}.live-toolbar-toggle{display:inline-flex;align-items:center;gap:10px}.live-toolbar-toggle input{width:18px;height:18px;margin:0;accent-color:var(--accent)}.live-action-summary{display:grid;gap:6px;min-width:0}.live-action-summary strong{font-size:22px;line-height:1.2}.live-action-summary small{color:var(--muted);line-height:1.6}.live-action-buttons{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}.live-history-row small{display:block;margin-top:8px;color:var(--muted);line-height:1.5}.live-history-toolbar{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr);gap:12px;align-items:end}.live-history-filter{display:grid;gap:6px}.live-history-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.live-history-summary span{color:var(--muted);font-size:13px}.events-grid{grid-template-columns:minmax(0,1.45fr) minmax(320px,.95fr);grid-template-areas:"records records" "trace sidebar";align-items:start}.events-records-panel{grid-area:records}.events-trace-panel{grid-area:trace}.events-notifications-panel{grid-area:notifications}.events-commands-panel{grid-area:commands}.events-sidebar-stack{grid-area:sidebar;display:grid;gap:16px;min-width:0;align-self:start}.catalog-summary-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-summary-card{display:grid;gap:12px;padding:16px;border-radius:20px;border:1px solid rgba(255,255,255,.08);background:#0b121c7a}.catalog-summary-row{align-items:flex-start}.catalog-summary-row strong{display:block}.catalog-summary-row span{color:#f5f1eaad;font-size:12px;line-height:1.6}.events-insight-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.events-chart-card{display:grid;gap:14px;min-width:0}.events-bar-list{display:grid;gap:12px}.events-bar-row{display:grid;gap:8px}.events-bar-meta{display:grid;gap:4px}.events-bar-meta span{color:#f5f1eaad;font-size:12px;line-height:1.5}.events-bar-track{overflow:hidden;height:10px;border-radius:999px;background:#ffffff14}.events-bar-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#e1c472eb,#eee1b6b8)}.events-hour-grid{display:grid;gap:8px;grid-template-columns:repeat(12,minmax(0,1fr))}.events-day-grid{display:grid;gap:10px;grid-template-columns:repeat(7,minmax(0,1fr))}.events-day-card{display:grid;gap:8px;justify-items:center}.events-day-card strong{font-size:11px;color:#f5f1eacc}.events-day-card span{font-size:11px;color:#f5f1ea94}.events-day-track{width:100%;min-height:120px;display:flex;align-items:flex-end;padding-top:10px;border-radius:16px;background:linear-gradient(180deg,#ffffff05,#ffffff14)}.events-day-fill{display:block;width:100%;border-radius:16px;background:linear-gradient(180deg,#48a0f847,#48a0f8eb)}.events-hour-card{display:grid;gap:8px;justify-items:center}.events-hour-card strong{font-size:11px;color:#f5f1eacc}.events-hour-card span{font-size:11px;color:#f5f1ea94}.events-hour-track{width:100%;min-height:92px;display:flex;align-items:flex-end;padding:8px 0 0;border-radius:16px;background:linear-gradient(180deg,#ffffff05,#ffffff14)}.events-hour-fill{display:block;width:100%;border-radius:16px;background:linear-gradient(180deg,#e1c47247,#e1c472eb)}.event-record-row{cursor:pointer;transition:border-color .14s ease,background .14s ease,transform .14s ease}.event-record-row.active,.event-record-row:hover{background:#ffffff0a;box-shadow:0 0 0 1px #e1c47238 inset}.events-trace-scroll,.events-side-scroll{min-width:0;overflow:auto;padding-right:4px}.events-trace-scroll{max-height:min(68vh,920px)}.events-side-scroll{max-height:min(32vh,360px)}.events-commands-panel .events-side-scroll{max-height:min(68vh,920px)}.event-detail-grid{display:grid;gap:14px;grid-template-columns:.9fr 1.1fr}.event-detail-stack{display:grid;gap:14px;min-width:0}.event-detail-card{display:grid;gap:12px}.event-payload-list{display:grid;gap:10px}.devices-grid{grid-template-columns:1.1fr .9fr;grid-template-areas:"remote battery" "config debug" "fleet qr";min-width:0}.qr-workspace{grid-area:qr;min-width:0}.remote-workspace{grid-area:remote;min-width:0}.battery-workspace{grid-area:battery;min-width:0}.config-workspace{grid-area:config;min-width:0}.fleet-workspace{grid-area:fleet;min-width:0}.debug-workspace{grid-area:debug;min-width:0}.climate-grid{grid-template-columns:1.1fr .9fr;grid-template-areas:"hero chart" "readings fleet" "manage calibrations"}.climate-hero-panel{grid-area:hero}.climate-chart-panel{grid-area:chart}.climate-reading-panel{grid-area:readings}.climate-fleet-panel{grid-area:fleet}.climate-manage-panel{grid-area:manage}.climate-calibration-history-panel{grid-area:calibrations}.climate-chart-toolbar{display:grid;gap:12px}.climate-chart-tabs{justify-content:flex-end}.climate-chart-tabs .ghost-button,.climate-chart-tabs .primary-button{min-width:84px}.climate-calibration-form{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}.climate-field{display:grid;gap:8px}.climate-field span{font-size:12px;color:var(--muted)}.climate-field input,.climate-field select{width:100%;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:#0f141cc7;color:var(--text)}.climate-field input:disabled{opacity:.72}.climate-field-wide{grid-column:1 / -1}.climate-model-metrics{margin-top:12px}.climate-calibration-row{align-items:center}.panel-actions{display:flex;gap:12px;margin-top:16px}.archive-grid{grid-template-columns:1.05fr .95fr;grid-template-areas:"hero settings" "list list"}.archive-hero-panel{grid-area:hero}.archive-settings-panel{grid-area:settings}.archive-list-panel{grid-area:list}.archive-list-panel{min-width:0;container-type:inline-size}.settings-grid{grid-template-columns:1.25fr .75fr}.settings-site-panel{grid-column:1 / -1}.settings-side{align-self:start}.workspace-panel{border-radius:28px;padding:20px;display:grid;gap:16px;min-width:0;background:linear-gradient(180deg,#ffffff05,#fff0),var(--panel)}.panel-heading.compact{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.hero-panel{grid-template-columns:1fr;align-content:space-between;background:radial-gradient(circle at 18% 18%,rgba(55,114,255,.14),transparent 28%),var(--panel-soft)}.hero-copy strong{display:block;font-size:54px;line-height:1;margin:12px 0 6px}.hero-copy small{color:var(--muted)}.hero-copy p{margin:16px 0 0;line-height:1.7;color:var(--muted);max-width:28ch}.hero-summary,.signal-grid,.timeline-grid,.media-grid,.roster-grid,.fleet-grid,.info-stack{display:grid;gap:12px;min-width:0}.hero-summary,.signal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.camera-stage{min-height:360px;min-width:0;display:grid;align-content:space-between;gap:18px;padding:18px;border-radius:26px;border:1px solid var(--line-strong);background:radial-gradient(circle at 18% 18%,rgba(255,255,255,.08),transparent 24%),linear-gradient(160deg,#1c1c1ff0,#0d0d0ff5);background-size:cover;background-position:center}.camera-stage.large{min-height:520px}.camera-stage-top,.media-actions,.dense-row,.fleet-row-card,.timeline-chip{display:flex;align-items:center;justify-content:space-between;gap:12px}.camera-stage-body{align-self:end;max-width:68%}.camera-stage-body strong{display:block;font-size:clamp(28px,3vw,42px);line-height:1.06}.camera-stage-body small{display:block;margin-top:10px;color:#f5f1eac7;line-height:1.65}.monitor-footer,.live-stage-actions{padding:14px 16px;border-radius:20px;border:1px solid var(--line);background:#0d0e118c;justify-content:space-between}.live-stage-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px}.monitor-footer span{display:block;color:var(--muted);font-size:12px}.monitor-footer strong{display:block;margin-top:6px}.section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.section-header h3{margin:8px 0 0}.metric-tile,.timeline-chip,.roster-tile,.info-block{border-radius:22px;padding:16px}.metric-tile span{display:block;color:var(--muted)}.metric-tile strong{display:block;margin-top:10px;font-size:24px}.metric-tile small{display:block;margin-top:6px;color:var(--muted)}.dense-list{display:grid;gap:10px}.dense-row{border-radius:20px;padding:14px 16px}.dense-row strong{display:block;margin-bottom:4px}.action-row{align-items:flex-start}.row-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.timeline-chip{text-align:left;color:var(--text)}.timeline-chip strong{display:block;margin:8px 0 4px;font-size:22px}.timeline-chip small{color:var(--muted)}.media-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.media-library-card{padding:16px;display:grid;gap:14px}.media-thumb{aspect-ratio:16 / 10;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#ffffff08;display:grid;place-items:center}.media-thumb img{width:100%;height:100%;object-fit:cover}.media-meta{display:grid;gap:4px}.monitor-panel-head,.monitor-inline-tools,.monitor-library-tabs,.monitor-library-toolbar,.monitor-library-statusbar,.monitor-pager,.monitor-stage-meta,.monitor-stage-action-row,.media-card-action-pack,.monitor-viewer-toolbar,.monitor-viewer-toolbar-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.monitor-panel-head,.monitor-library-statusbar,.monitor-timeline-statusbar,.monitor-stage-footer,.monitor-library-group-head,.monitor-timeline-card-top,.monitor-viewer-toolbar{justify-content:space-between}.monitor-stage-panel{background:radial-gradient(circle at 18% 18%,rgba(55,114,255,.12),transparent 24%),var(--panel-soft)}.monitor-stage-footer{display:grid;gap:14px;padding:16px 18px;border-radius:20px;border:1px solid var(--line);background:#0b0d109e}.monitor-stage-meta{justify-content:flex-start}.monitor-stage-meta>div{min-width:140px}.monitor-stage-meta span{display:block;color:var(--muted);font-size:12px}.monitor-stage-meta strong{display:block;margin-top:6px}.monitor-timeline-panel,.monitor-library-panel{gap:18px}.monitor-inline-tools{justify-content:flex-end}.monitor-timeline-statusbar span{color:var(--muted)}.monitor-date-field,.monitor-select-field{display:grid;gap:8px;min-width:148px}.monitor-date-field span,.monitor-select-field span{color:var(--muted);font-size:12px;letter-spacing:.12em;text-transform:uppercase}.monitor-timeline-stream{display:grid;gap:12px}.monitor-timeline-item{width:100%;padding:0;border:0;background:transparent;color:var(--text);display:grid;grid-template-columns:90px 28px minmax(0,1fr);gap:12px;text-align:left}.monitor-timeline-time{padding-top:10px;display:grid;gap:6px;color:var(--muted)}.monitor-timeline-time span{font-size:20px;color:var(--text)}.monitor-timeline-rail{position:relative;display:grid;justify-items:center}.monitor-timeline-dot{width:14px;height:14px;border-radius:999px;border:3px solid rgba(255,255,255,.08);background:#ffffff1f;margin-top:12px;position:relative;z-index:1}.monitor-timeline-dot.tone-ok{background:var(--ok)}.monitor-timeline-dot.tone-warn{background:var(--warn)}.monitor-timeline-dot.tone-danger{background:var(--danger)}.monitor-timeline-dot.tone-neutral{background:#ffffff57}.monitor-timeline-line{position:absolute;top:24px;bottom:-12px;width:2px;background:#ffffff14}.monitor-timeline-card{border-radius:22px;border:1px solid var(--line);background:#ffffff08;padding:16px 18px;display:grid;gap:10px;transition:border-color .16s ease,transform .16s ease,background .16s ease}.monitor-timeline-card p,.monitor-timeline-card small{margin:0;color:var(--muted);line-height:1.6}.monitor-timeline-item:hover .monitor-timeline-card,.monitor-timeline-item.active .monitor-timeline-card{border-color:#3772ff57;background:linear-gradient(135deg,#3772ff24,#ffffff05);transform:translateY(-1px)}.monitor-library-tabs{justify-content:flex-end}.monitor-library-toolbar{align-items:flex-end}.monitor-library-toolbar .monitor-date-field,.monitor-library-toolbar .monitor-select-field{flex:1 1 150px}.monitor-library-statusbar span{color:var(--muted)}.monitor-library-groups{display:grid;gap:20px}.monitor-library-group{display:grid;gap:14px}.monitor-library-group-head span{color:var(--muted)}.monitor-browser-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.monitor-media-card{border-radius:24px;border:1px solid var(--line);background:#ffffff06}.monitor-thumb-button{padding:0;cursor:pointer}.monitor-thumb-button:disabled{cursor:not-allowed}.monitor-video-thumb{position:relative;background:#0b1015}.media-play-button,.media-pending-chip{position:absolute;left:14px;bottom:14px}.media-pending-chip{padding:8px 12px;border-radius:999px;border:1px solid rgba(245,178,87,.28);background:#f5b2571f;color:#ffd8a4;font-size:12px}.media-card-action-pack{justify-content:flex-end}.upload-progress-button{position:relative;overflow:hidden}.upload-progress-fill{position:absolute;top:0;right:0;bottom:0;left:0;width:38%;background:linear-gradient(90deg,#d6a44c14,#d6a44c6b,#d6a44c14);animation:upload-progress-slide 1.2s linear infinite}.upload-progress-label{position:relative;z-index:1}@keyframes upload-progress-slide{0%{transform:translate(-130%)}to{transform:translate(360%)}}.media-icon-button{width:42px;height:42px;border-radius:10px;border:1px solid var(--line);background:#ffffff0a;color:var(--text)}.monitor-viewer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#06080cd6;display:grid;place-items:center;padding:24px}.monitor-viewer-shell{width:min(1200px,100%);max-height:calc(100vh - 48px);overflow:hidden;display:grid;gap:16px;padding:20px;border-radius:28px;border:1px solid var(--line);background:#101216;box-shadow:var(--shadow)}.monitor-viewer-stage{min-height:480px;border-radius:24px;border:1px solid var(--line);background:#090b0f;overflow:auto}.monitor-image-viewer{min-height:480px;display:grid;place-items:center;padding:28px}.monitor-image-viewer img{max-width:100%;max-height:75vh;transform-origin:center center;transition:transform .16s ease}.monitor-video-viewer{width:100%;height:min(75vh,760px);display:block;background:#050608}.roster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.roster-tile strong{display:block;margin:10px 0 6px;font-size:24px}.command-table{display:grid;gap:10px}.command-head,.command-row{display:grid;grid-template-columns:1.2fr 1fr .8fr 1fr;gap:12px;padding:12px 14px;border-radius:18px}.command-head{border:1px solid var(--line);background:#ffffff05;color:var(--muted)}.command-row{border:1px solid rgba(255,255,255,.04);background:#ffffff08}.qr-workspace-body{display:grid;grid-template-columns:320px minmax(0,1fr);gap:16px}.qr-stage{padding:18px;border-radius:28px;border:1px solid var(--line);background:#ffffff08}.qr-frame,.qr-placeholder{width:100%;aspect-ratio:1;display:grid;place-items:center;background:#f4f5f7;border-radius:22px;overflow:hidden}.qr-frame svg{width:100%;height:100%}.qr-placeholder{color:#101114}.qr-inspector{display:grid;gap:14px}.qr-inspector .info-block span,.qr-inspector .info-block p{display:block;overflow-wrap:anywhere;word-break:break-word}.info-block strong{display:block;margin-bottom:8px}.info-block p{margin:8px 0 0;line-height:1.7}.settings-client-auth-form,.settings-site-card-grid,.settings-site-metrics{display:grid;gap:14px}.settings-client-auth-form{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.settings-site-card-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.settings-site-card{display:grid;gap:14px;padding:18px;border-radius:22px;border:1px solid rgba(255,255,255,.08);background:#0b121c85}.settings-site-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.settings-site-card-head strong,.settings-site-card-head span,.settings-site-metric span,.settings-site-metric strong{display:block}.settings-site-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-site-metric{padding:14px 16px;border-radius:18px;border:1px solid var(--line);background:#ffffff08}.settings-site-metric span{color:var(--muted);font-size:12px}.settings-site-metric strong{margin-top:8px;font-size:24px}.device-toolbar.stack{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.fleet-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));min-width:0}.battery-chart-shell{margin-top:12px}.battery-chart-point{fill:#f3f5f8e0}.battery-chart-point.charging{fill:#f0b34b;stroke:#121216b8;stroke-width:2px}.temperature-chart-axis.is-dashed{stroke-dasharray:6 6}.remote-config-grid{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:16px}.remote-config-toggle-grid{display:grid;gap:10px 16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:16px}.fleet-row-card{border-radius:22px;padding:16px;flex-wrap:wrap}.fleet-row-card strong,.fleet-row-card span{display:block}.fleet-row-card strong,.fleet-row-card span,.fleet-row-meta small,.remote-workspace .info-block span,.remote-workspace .info-block p,.debug-workspace .info-block span,.debug-workspace .info-block p{overflow-wrap:anywhere;word-break:break-word}.fleet-row-meta{display:flex;gap:10px;flex-wrap:wrap}.settings-editor{display:grid;gap:16px}.settings-site-create,.settings-site-list,.settings-site-actions{display:grid;gap:12px}.settings-site-row{align-items:center;gap:16px}.settings-site-actions{grid-auto-flow:column;grid-auto-columns:max-content;align-items:center;justify-content:end}.inline-editor{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.inline-editor input{flex:1 1 220px}.chart-shell{border-radius:24px;border:1px solid var(--line);background:#ffffff05;padding:12px}.temperature-chart{width:100%;height:auto;display:block}.temperature-chart-axis{stroke:#ffffff24;stroke-width:1}.temperature-chart-label{fill:var(--muted);font-size:11px;letter-spacing:.05em}.archive-manager-toolbar{display:grid;gap:14px}.archive-filter-shell,.archive-bulk-toolbar,.archive-bulk-actions,.archive-workspace,.archive-detail-body,.archive-detail-actions,.archive-detail-grid,.archive-detail-metrics,.archive-card-main,.archive-card-head,.archive-space-strip,.archive-space-strip-copy{display:grid;gap:14px;min-width:0}.archive-search{max-width:420px}.archive-filter-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.archive-bulk-toolbar{padding:16px 18px;border-radius:22px;border:1px solid var(--line);background:#ffffff08}.archive-bulk-summary span{color:var(--muted)}.archive-bulk-actions{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.archive-workspace{grid-template-columns:minmax(0,1.45fr) minmax(320px,.85fr);align-items:start;min-width:0}.archive-list{display:grid;gap:12px;min-width:0}.archive-card{display:grid;grid-template-columns:40px 172px minmax(0,1fr) auto;grid-template-areas:"select visual main actions";align-items:stretch;gap:16px;padding:16px;border-radius:22px;border:1px solid var(--line);background:#ffffff08;min-width:0}.archive-card-row{cursor:pointer;transition:border-color .16s ease,transform .16s ease,background .16s ease}.archive-card-row:hover,.archive-card-row.active{border-color:#3772ff47;background:#ffffff0d;transform:translateY(-1px)}.archive-card-select{grid-area:select;display:grid;align-content:start;justify-items:center;padding-top:6px}.archive-card-select input{width:18px;height:18px;margin:0;accent-color:var(--accent)}.archive-card-visual{grid-area:visual;min-height:116px;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#ffffff0a}.archive-card-visual img{width:100%;height:100%;object-fit:cover;display:block}.archive-card-placeholder{width:100%;height:100%;min-height:116px;display:grid;place-items:center;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;background:radial-gradient(circle at 18% 20%,rgba(55,114,255,.18),transparent 22%),linear-gradient(180deg,#ffffff08,#ffffff03)}.archive-card-copy{display:grid;gap:6px;align-content:center}.archive-card-copy span,.archive-card-copy small{color:var(--muted)}.archive-card-copy strong,.archive-card-copy span,.archive-card-copy small,.archive-detail-head strong,.archive-detail-head small,.archive-space-strip-copy strong,.archive-space-strip-copy span,.archive-detail-grid .info-block span,.archive-detail-grid .info-block p{overflow-wrap:anywhere;word-break:break-word}.archive-card-head{grid-template-columns:minmax(0,1fr) auto;align-items:start}.archive-card-main{grid-area:main}.archive-status-badges{justify-content:flex-end}.archive-space-strip{padding:12px 14px;border-radius:18px;border:1px solid rgba(255,255,255,.06);background:#ffffff08}.archive-space-strip.detail{padding:16px}.archive-space-strip-copy span{color:var(--muted)}.archive-space-meter{width:100%;height:8px;border-radius:999px;overflow:hidden;background:#ffffff14}.archive-space-meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(135deg,#3ad38b,#7dc4ff)}.archive-card-actions{grid-area:actions;display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}@container (max-width: 1500px){.archive-workspace,.archive-detail-metrics,.archive-detail-grid{grid-template-columns:1fr}.archive-card{grid-template-columns:minmax(0,1fr);grid-template-areas:"select" "visual" "main" "actions";align-items:start}.archive-card-select{justify-items:start;padding-top:0}.archive-card-visual{width:min(100%,320px);max-width:100%;justify-self:start}.archive-card-head{grid-template-columns:1fr}.archive-card-actions,.archive-status-badges{justify-content:flex-start}}.archive-detail-drawer{position:sticky;top:0;border-radius:24px;border:1px solid var(--line);background:linear-gradient(180deg,#ffffff05,#fff0),#17191ef5;overflow:hidden;min-width:0}.archive-detail-preview{aspect-ratio:16 / 10;border-bottom:1px solid var(--line);background:#ffffff08}.archive-detail-preview img{width:100%;height:100%;object-fit:cover;display:block}.archive-detail-body{padding:18px}.archive-detail-head small{color:var(--muted)}.archive-detail-actions,.archive-detail-metrics,.archive-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.empty-block{padding:18px;border-radius:22px;border:1px dashed var(--line-strong);color:var(--muted);background:#ffffff05}@keyframes riseIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.workspace-panel,.timeline-chip,.media-library-card,.fleet-row-card,.login-panel{animation:riseIn .32s ease both}.automation-grid{grid-template-columns:1.05fr 1.35fr;grid-template-areas:"hero hero" "list editor" "history profiles"}.automation-hero-panel{grid-area:hero}.automation-list-panel{grid-area:list}.automation-editor-panel{grid-area:editor}.automation-history-panel{grid-area:history}.automation-profile-panel{grid-area:profiles}.automation-toolbar,.automation-preset-row,.toolbar-actions-row{display:flex;flex-wrap:wrap;gap:10px}.automation-rule-list,.automation-editor-grid,.automation-builder-stack,.automation-profile-stack,.automation-block-list,.automation-profile-list{display:grid;gap:14px}.automation-rule-card{display:grid;gap:12px;padding:16px;border-radius:20px;border:1px solid rgba(255,255,255,.08);background:#0b121cad}.automation-rule-card-active{border-color:#e1c4726b;box-shadow:0 0 0 1px #e1c4722e inset}.automation-profile-card,.automation-stage-card,.automation-block-card{display:grid;gap:12px;padding:16px;border-radius:20px;border:1px solid rgba(255,255,255,.08);background:#0b121c85}.automation-rule-head,.automation-rule-footer,.automation-stage-head,.automation-block-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.automation-rule-head>div,.automation-rule-footer>span{display:grid;gap:4px}.automation-rule-head span,.automation-rule-footer span{color:#f5f1ea9e;font-size:12px}.automation-rule-meta{display:flex;flex-wrap:wrap;gap:8px}.automation-rule-scope{display:grid;gap:4px;color:#f5f1eaad;font-size:12px}.automation-stage-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.automation-profile-editor{display:grid;gap:14px}.automation-history-grid{display:grid;gap:14px;grid-template-columns:.8fr 1.2fr}.automation-execution-row{cursor:pointer;transition:background .14s ease,box-shadow .14s ease}.automation-execution-row.active,.automation-execution-row:hover{background:#ffffff0a;box-shadow:0 0 0 1px #e1c47238 inset}.automation-trace-panel,.automation-trace-grid,.automation-trace-stack,.automation-trace-card{display:grid;gap:14px;min-width:0}.automation-trace-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.automation-workflow-grid{grid-template-columns:1fr;grid-template-areas:"overview" "studio" "secondary";align-items:start;--automation-workflow-surface: linear-gradient(180deg, rgba(18, 24, 38, .94), rgba(12, 17, 27, .96));--automation-workflow-surface-soft: linear-gradient(180deg, rgba(23, 31, 48, .92), rgba(15, 21, 34, .94));--automation-workflow-surface-strong: linear-gradient(180deg, rgba(11, 16, 26, .98), rgba(7, 11, 18, .99));--automation-workflow-border: rgba(148, 163, 184, .18);--automation-workflow-border-strong: rgba(96, 165, 250, .3);--automation-workflow-glow: rgba(59, 130, 246, .16);--automation-workflow-grid-line: rgba(148, 163, 184, .12);--automation-workflow-node-bg: linear-gradient(180deg, rgba(30, 41, 59, .96), rgba(15, 23, 42, .98))}.automation-workflow-overview{grid-area:overview}.automation-workflow-studio{grid-area:studio}.automation-workflow-secondary{grid-area:secondary}.automation-workflow-overview,.automation-workflow-studio,.automation-workflow-secondary,.automation-workflow-profile-editor{min-width:0}.automation-workflow-overview-head,.automation-workflow-rulebar,.automation-workflow-command-bar,.automation-workflow-secondary-head,.automation-workflow-dock-head,.automation-workflow-canvas-shell{display:flex;gap:12px;flex-wrap:wrap}.automation-workflow-overview-head,.automation-workflow-rulebar,.automation-workflow-secondary-head,.automation-workflow-dock-head,.automation-workflow-canvas-shell{align-items:flex-start;justify-content:space-between}.automation-workflow-toolbar,.automation-workflow-command-bar{display:flex;gap:12px;flex-wrap:wrap}.automation-workflow-command-bar{align-items:center;justify-content:flex-start}.automation-workflow-overview-head p{margin:10px 0 0;max-width:720px;color:var(--muted);line-height:1.6}.automation-workflow-overview-actions,.automation-workflow-topbar-actions{display:flex;gap:10px;flex-wrap:wrap}.automation-workflow-overview-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.automation-workflow-issue-list,.automation-workflow-trace,.automation-workflow-profile-editor,.automation-workflow-secondary-list{display:grid;gap:12px;min-width:0}.automation-workflow-secondary-list .dense-list{max-height:clamp(340px,58vh,760px);overflow:auto;padding-right:4px}.automation-workflow-rulebar-main{display:grid;gap:8px;min-width:0}.automation-workflow-rulebar-main p,.automation-workflow-inline-note{margin:0;color:var(--muted);line-height:1.6}.automation-workflow-rulebar-actions,.automation-workflow-template-row,.automation-workflow-topbar-actions{display:flex;gap:10px;flex-wrap:wrap}.automation-workflow-rule-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,320px);gap:12px;overflow-x:auto;padding-bottom:4px}.automation-workflow-rule-strip-empty{min-height:72px;align-content:center}.automation-workflow-rule-chip{display:grid;gap:8px;min-width:0;padding:16px 18px;border-radius:20px;border:1px solid var(--automation-workflow-border);background:var(--automation-workflow-surface-soft);text-align:left;box-shadow:0 18px 34px #050a1238;transition:border-color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease}.automation-workflow-rule-chip:hover{transform:translateY(-1px);border-color:var(--automation-workflow-border-strong);box-shadow:0 22px 40px #050a1247}.automation-workflow-rule-chip.active{border-color:var(--automation-workflow-border-strong);background:linear-gradient(180deg,#1e40af4d,#0f172af5),#0f172af5;box-shadow:0 20px 38px #1e40af2e}.automation-workflow-rule-chip-head{display:flex;gap:10px;align-items:flex-start;justify-content:space-between}.automation-workflow-rule-chip strong{display:block}.automation-workflow-rule-chip span,.automation-workflow-rule-chip small{color:var(--muted);overflow-wrap:anywhere}.automation-workflow-rule-item{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--automation-workflow-border);background:var(--automation-workflow-surface-soft);border-radius:18px;padding:14px 16px;text-align:left;box-shadow:0 16px 30px #050a122e;transition:border-color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease}.automation-workflow-rule-item>div{min-width:0}.automation-workflow-rule-item:hover{transform:translateY(-1px);border-color:var(--automation-workflow-border-strong);box-shadow:0 18px 34px #050a1238}.automation-workflow-rule-item.active{border-color:var(--automation-workflow-border-strong);background:linear-gradient(180deg,#1e40af3d,#0f172af5),#0f172af5;box-shadow:0 18px 34px #1e40af29}.automation-workflow-rule-item strong,.automation-workflow-palette-group strong{display:block}.automation-workflow-rule-item span,.automation-workflow-palette-group span{color:var(--muted);overflow-wrap:anywhere}.automation-workflow-studio{display:grid;gap:18px}.automation-workflow-canvas-shell,.automation-workflow-dock{padding:18px 20px;border-radius:28px;border:1px solid var(--automation-workflow-border);background:var(--automation-workflow-surface);box-shadow:0 22px 44px #04080f42}.automation-workflow-canvas-meta{display:flex;justify-content:flex-end;min-width:min(320px,100%)}.automation-workflow-node-focus{min-width:min(320px,100%);padding:14px 16px;border-radius:22px;border:1px solid var(--automation-workflow-border);background:#0f172ad6;box-shadow:inset 0 1px #ffffff0a}.automation-workflow-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.automation-workflow-meta-wide{grid-column:span 2}.automation-workflow-palette-group{display:grid;gap:10px;padding-top:12px;border-top:1px solid var(--automation-workflow-border)}.automation-workflow-chip-list,.automation-workflow-actions{display:flex;gap:10px;flex-wrap:wrap}.automation-workflow-chip-list .ghost-button,.automation-workflow-actions .ghost-button{padding:10px 14px}.automation-workflow-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.automation-workflow-canvas{min-width:0;min-height:720px;border:1px solid var(--automation-workflow-border);border-radius:28px;overflow:hidden;background:radial-gradient(circle at top,rgba(59,130,246,.16),transparent 34%),radial-gradient(circle at 16% 18%,rgba(14,165,233,.12),transparent 18%),var(--automation-workflow-surface-strong);box-shadow:inset 0 1px #ffffff0a,inset 0 0 0 1px #ffffff05}.automation-workflow-canvas .react-flow{min-height:720px}.automation-workflow-canvas .react-flow__panel{margin:18px}.automation-workflow-canvas .react-flow__background pattern circle,.automation-workflow-canvas .react-flow__background pattern line{fill:var(--automation-workflow-grid-line);stroke:var(--automation-workflow-grid-line)}.automation-workflow-canvas .react-flow__controls,.automation-workflow-canvas .react-flow__minimap{border:1px solid var(--automation-workflow-border);border-radius:18px;overflow:hidden;background:#0a0e16f0;box-shadow:0 16px 32px #050a1247}.automation-workflow-canvas .react-flow__controls-button{background:#0f172af5;color:#f8fafceb;border-bottom:1px solid var(--automation-workflow-border)}.automation-workflow-canvas .react-flow__controls-button:hover{background:#1e293bf5}.automation-workflow-canvas .react-flow__controls-button svg{fill:currentColor}.automation-workflow-canvas .react-flow__minimap-mask{fill:#3b82f62e}.automation-workflow-canvas .react-flow__edge-path,.automation-workflow-canvas .react-flow__connection-path{stroke:#93c5fdc7;stroke-width:2}.automation-workflow-canvas .react-flow__handle{width:11px;height:11px;border:2px solid rgba(219,234,254,.92);background:#2563eb}.automation-workflow-dock{display:grid;gap:16px}.automation-workflow-dock-panel,.automation-workflow-node-panel,.automation-workflow-output-panel{display:grid;gap:14px;min-width:0}.automation-workflow-issue-list{display:grid;gap:12px}.automation-workflow-secondary{gap:18px}.automation-workflow-tabbar{display:inline-flex;gap:6px;padding:4px;border-radius:999px;border:1px solid var(--automation-workflow-border);background:#0f172ab8}.automation-workflow-tabbar .ghost-button{padding:10px 14px;border-color:transparent;background:transparent}.automation-workflow-tabbar .ghost-button.active{background:linear-gradient(180deg,#3b82f638,#1e293beb);border-color:var(--automation-workflow-border-strong);box-shadow:0 12px 24px #0f172a42}.automation-workflow-history-layout,.automation-workflow-profiles-layout,.automation-workflow-detail-grid{display:grid;gap:16px;align-items:start}.automation-workflow-history-layout,.automation-workflow-profiles-layout{grid-template-columns:320px minmax(0,1fr)}.automation-workflow-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.automation-wide-field{grid-column:1 / -1}.automation-code-input{min-height:96px;font-family:Cascadia Code,Fira Code,monospace}.automation-support-note{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.automation-support-note span{flex:1;min-width:220px;line-height:1.6}.automation-checkbox-field{align-content:end}.workflow-node-shell{min-width:170px;padding:12px 14px;border-radius:18px;border:1px solid var(--automation-workflow-border);background:var(--automation-workflow-node-bg);color:var(--text);box-shadow:0 18px 34px #04080f47}.workflow-node-shell.selected{border-color:var(--automation-workflow-border-strong);box-shadow:0 22px 40px #04080f52,0 0 0 1px var(--automation-workflow-glow)}.workflow-node-kicker{display:block;margin-bottom:4px;color:#bfdbfeb8;text-transform:uppercase;letter-spacing:.08em;font-size:11px}.workflow-node-shell strong{display:block;margin-bottom:4px;color:#f8fafc}.workflow-node-shell small{color:#e2e8f0b8}.workflow-node-trigger{border-left:4px solid #1c57d1}.workflow-node-condition{border-left:4px solid #117a65}.workflow-node-logic{border-left:4px solid #7a3cff}.workflow-node-action{border-left:4px solid #d97706}.workflow-node-utility{border-left:4px solid #475569}@media(max-width:1500px){.automation-workflow-overview-stats,.automation-workflow-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1180px){.automation-workflow-history-layout,.automation-workflow-profiles-layout,.automation-workflow-detail-grid,.automation-workflow-library-grid{grid-template-columns:1fr}.automation-workflow-canvas{min-height:620px}}@media(max-width:860px){.automation-workflow-rule-strip{grid-auto-columns:minmax(220px,88vw)}.automation-workflow-tabbar{width:100%;justify-content:stretch}.automation-workflow-tabbar .ghost-button{flex:1;justify-content:center}.automation-workflow-secondary-list .dense-list{max-height:none}.automation-workflow-canvas-shell,.automation-workflow-dock{padding:16px}.automation-workflow-canvas{min-height:520px}}@media(max-width:620px){.automation-workflow-overview-stats,.automation-workflow-meta-grid{grid-template-columns:1fr}.automation-workflow-rulebar-actions,.automation-workflow-template-row{width:100%}.automation-workflow-rulebar-actions .ghost-button,.automation-workflow-template-row .ghost-button{flex:1 1 100%}}.status-banner{padding:10px 12px;border-radius:14px;border:1px solid rgba(223,112,103,.3);background:#5a1f1f61;color:#ffe1ddf2}@media(max-width:1500px){.overview-grid{grid-template-columns:1fr 1fr;grid-template-areas:"hero signal" "monitor monitor" "command event" "roster roster"}.archive-workspace,.archive-detail-metrics,.archive-detail-grid{grid-template-columns:1fr}.settings-grid,.climate-grid,.archive-grid,.automation-grid{grid-template-columns:1fr;grid-template-areas:none}.remote-config-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1180px){.login-frame,.workbench-frame{grid-template-columns:1fr}.workbench-frame{grid-template-rows:auto auto}.frame-sidebar{grid-template-rows:auto;border-right:0;border-bottom:1px solid var(--line)}.sidebar-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.sidebar-footer{grid-template-columns:repeat(2,minmax(0,1fr))}.frame-header-tools{justify-items:start}.header-utility-metrics,.header-utility-actions{justify-content:flex-start}.monitor-grid,.live-grid,.devices-grid,.events-grid,.climate-grid,.archive-grid,.automation-grid,.overview-grid{grid-template-columns:1fr;grid-template-areas:none}.climate-calibration-form,.remote-config-grid{grid-template-columns:1fr}.hero-panel,.monitor-panel,.signal-panel,.command-panel,.event-panel,.roster-panel,.monitor-stage-panel,.timeline-panel,.monitor-event-panel,.media-panel,.live-stage-shell,.live-metrics-panel,.live-history-panel,.qr-workspace,.remote-workspace,.fleet-workspace,.debug-workspace,.automation-hero-panel,.automation-list-panel,.automation-editor-panel,.automation-history-panel,.events-records-panel,.events-trace-panel,.events-notifications-panel,.events-commands-panel,.events-sidebar-stack{grid-area:auto}.qr-workspace-body,.hero-summary,.signal-grid,.catalog-summary-grid,.events-insight-grid,.roster-grid,.command-head,.command-row,.device-toolbar.stack,.fleet-grid,.archive-workspace,.archive-detail-metrics,.archive-detail-grid,.settings-site-actions{grid-template-columns:1fr}.events-trace-scroll,.events-side-scroll{max-height:none;padding-right:0}.camera-stage-body{max-width:100%}.events-hour-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.events-day-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.event-detail-grid,.automation-history-grid,.automation-trace-grid{grid-template-columns:1fr}.live-control-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.live-history-toolbar,.live-stage-actions{grid-template-columns:1fr}.live-action-buttons{justify-content:flex-start}}@media(max-width:1500px){.archive-card{grid-template-columns:1fr;align-items:start}.archive-card-select{justify-items:start;padding-top:0}.archive-card-visual{width:min(100%,320px)}.archive-card-head{grid-template-columns:1fr}.archive-card-actions{grid-column:auto;justify-content:flex-start}.archive-status-badges{justify-content:flex-start}}@media(max-width:1360px){.frame-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:960px){.login-frame{padding:24px}.login-panel{width:min(100%,560px);padding:30px 26px}.frame-header-bar{flex-direction:column}.frame-header-title,.frame-header-tools{width:100%}.frame-header-tools{justify-items:stretch}.header-utility-metrics,.header-utility-actions{justify-content:flex-start}.header-utility-chip{flex:1 1 150px;min-width:0}.frame-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar-group,.toolbar-select,.toolbar-runtime{min-width:0;max-width:none}.toolbar-runtime{margin-left:0;grid-column:1 / -1}}@media(max-width:780px){.login-shell,.workbench-shell{padding:0}.frame-header,.frame-content,.login-panel{padding:20px}.login-frame{padding:14px}.frame-sidebar{padding:16px 14px;gap:16px}.sidebar-brand{gap:12px}.sidebar-brand-mark{width:52px;height:52px;border-radius:18px;font-size:20px}.toolbar-select,.toolbar-group,.toolbar-runtime{min-width:100%;max-width:none}.frame-header-tools{justify-items:stretch}.header-utility-metrics,.header-utility-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%}.header-utility-chip,.toolbar-action-button{width:100%;min-width:0}.frame-toolbar{grid-template-columns:1fr}.inline-editor{flex-direction:column;align-items:stretch}.archive-card,.archive-card-head{grid-template-columns:1fr}.archive-card-actions,.archive-status-badges{justify-content:flex-start}.archive-detail-actions,.archive-bulk-actions{grid-template-columns:1fr}.archive-search{max-width:none}.archive-filter-row{display:grid;grid-template-columns:1fr;align-items:stretch}.archive-list-panel,.archive-manager-toolbar,.archive-filter-shell,.archive-bulk-toolbar,.archive-workspace,.archive-list,.archive-detail-drawer{width:100%;min-width:0}.archive-bulk-toolbar,.archive-detail-drawer{overflow:hidden}.sidebar-nav{grid-template-columns:1fr 1fr}.sidebar-footer,.monitor-grid .media-grid,.live-control-bar{grid-template-columns:1fr}.live-toolbar-field{grid-template-columns:1fr;align-items:stretch}.live-toolbar-range{grid-template-columns:1fr}.live-video-stage,.live-video-stage-expanded{width:100%;min-height:280px}.live-video-element,.live-video-stage-expanded .live-video-element{min-height:280px}.live-stage-toolbar{align-items:flex-start;flex-wrap:wrap}.live-stage-overlay{left:14px;right:14px;bottom:14px}.live-action-buttons{display:grid;grid-template-columns:1fr}.timeline-chip{align-items:flex-start;flex-wrap:wrap}.timeline-chip small{width:100%;overflow-wrap:anywhere;word-break:break-word}}@media(max-width:580px){.login-panel{border-radius:24px;padding:22px 18px}.login-brand{align-items:flex-start}.login-panel-copy h2,.frame-header-title h1{font-size:clamp(26px,7vw,34px)}.header-utility-metrics,.header-utility-actions,.sidebar-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar-nav-link{padding:12px;border-radius:18px}.sidebar-nav-label{font-size:14px}.header-utility-chip,.toolbar-action-button{min-height:44px}.sidebar-footer{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar-status{padding:12px}.frame-sidebar{gap:12px}.clock-group strong{font-size:22px}.frame-content{padding:14px}}@media(max-width:960px)and (orientation:landscape){.login-frame{place-items:start center;padding:16px}.login-panel{width:min(100%,620px)}.frame-sidebar{grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto;grid-template-areas:"brand nav";align-items:start;gap:10px;padding:12px 14px}.sidebar-brand{grid-area:brand;gap:10px}.sidebar-nav{grid-area:nav;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.sidebar-footer{display:none}.sidebar-nav-link{padding:10px 12px;border-radius:16px}.sidebar-status{padding:12px}.frame-header{padding:14px 16px 12px;gap:12px}.frame-header-bar{flex-direction:row;align-items:flex-start;gap:12px}.frame-header-title{flex:0 1 260px}.frame-header-tools{width:auto;flex:1 1 0;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:8px}.header-utility-metrics,.header-utility-actions{justify-content:flex-end;gap:8px}.header-utility-metrics{display:grid;grid-template-columns:repeat(3,minmax(84px,1fr))}.header-utility-chip{min-width:84px;min-height:44px;padding:8px 10px}.toolbar-action-button{min-height:44px;padding:0 14px}.frame-toolbar{grid-template-columns:minmax(148px,.9fr) repeat(2,minmax(0,1fr)) minmax(220px,1.1fr);gap:10px}.toolbar-group,.toolbar-select,.toolbar-runtime{min-width:0;max-width:none}.toolbar-runtime{grid-column:auto}.frame-content{padding:16px 20px 20px}}
