:root{color:#0f172a;background:#eef6fb;font-family:Inter,Microsoft YaHei,PingFang SC,Noto Sans CJK SC,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button{font:inherit}button:focus-visible{outline:3px solid rgba(37,99,235,.35);outline-offset:2px}.app-shell{min-height:100vh;padding:32px;background:linear-gradient(180deg,#f7fbff,#e7f1f8)}.workspace{width:min(1180px,100%);margin:0 auto}.app-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.eyebrow{margin:0 0 6px;color:#2563eb;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}h1,h2,h3,p{margin:0}h1{font-size:clamp(26px,4vw,36px);line-height:1.15}h2{font-size:20px;line-height:1.25}h3{font-size:15px;line-height:1.3}.connection-status{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid #bfdbfe;border-radius:8px;color:#1e3a8a;background:#eff6ff;font-size:14px;font-weight:700;white-space:nowrap}.status-dot{width:8px;height:8px;border-radius:999px;background:#16a34a}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px}.bed-panel,.control-panel{border:1px solid #d8e5ef;border-radius:8px;background:#fffffff0;box-shadow:0 18px 48px #0f172a14}.bed-panel{padding:24px}.control-panel{display:grid;align-content:start;gap:14px;padding:20px}.panel-heading{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:18px}.control-panel .panel-heading{margin-bottom:0}.lock-badge{display:inline-flex;align-items:center;min-height:32px;padding:0 10px;border-radius:999px;color:#166534;background:#dcfce7;font-size:13px;font-weight:800;white-space:nowrap}.lock-badge.locked{color:#92400e;background:#fef3c7}.bed-stage{display:grid;min-height:430px;place-items:center;border:1px solid #dbeafe;border-radius:8px;background:linear-gradient(#eaf4fb 1px,transparent 1px),linear-gradient(90deg,#eaf4fb 1px,transparent 1px),#f8fbfe;background-size:28px 28px;overflow:hidden}.bed-illustration{display:block;width:min(760px,98%);height:auto;overflow:visible}.bed-deck-motion-group,.bed-board-group{transform-box:view-box;transition:transform .8s cubic-bezier(.22,1,.36,1);will-change:transform}.bed-deck-motion-group{filter:none}.bed-board{fill:#006eb3}.static-bed-layer{filter:none}.figma-bed-base{display:block;pointer-events:none}.status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.status-card{padding:16px;border:1px solid #dbeafe;border-radius:8px;background:#f8fbff}.status-card span{display:block;margin-bottom:8px;color:#475569;font-size:13px;font-weight:700}.status-card strong{color:#0f172a;font-size:24px;font-variant-numeric:tabular-nums}.control-section{display:grid;gap:12px;padding:14px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fbff}.control-section.active{border-color:#93c5fd;background:#eff6ff}.control-section-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.control-section-title span{border-radius:999px;padding:3px 8px;color:#1d4ed8;background:#dbeafe;font-size:12px;font-weight:800}.angle-button-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.angle-button,.secondary-button{min-height:56px;border:1px solid #cbd5e1;border-radius:8px;color:#1e293b;background:#fff;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.angle-button{padding:0 10px;font-size:16px;font-weight:800;font-variant-numeric:tabular-nums}.angle-button:hover:not(:disabled),.secondary-button:hover:not(:disabled){border-color:#2563eb;background:#eff6ff}.angle-button:active:not(:disabled),.secondary-button:active:not(:disabled){transform:translateY(1px)}.angle-button.active{border-color:#2563eb;color:#1d4ed8;background:#dbeafe}.angle-button:disabled,.secondary-button:disabled{color:#94a3b8;background:#f1f5f9;cursor:not-allowed}.secondary-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.secondary-button{font-size:15px;font-weight:800}.secondary-button.warning.active{border-color:#f59e0b;color:#92400e;background:#fef3c7}.state-summary{padding:16px;border-radius:8px;background:#f8fafc}.state-summary p{margin-bottom:8px;color:#475569;font-size:13px;font-weight:700}.state-summary strong{display:block;color:#0f172a;font-size:15px;line-height:1.5}.rail-status-card{--rail-accent: #d99424;--rail-accent-dark: #8a5312;--rail-accent-soft: #fff8e8;display:grid;gap:12px;padding:14px;border:1px solid #bfdbfe;border-left:3px solid var(--rail-accent);border-radius:8px;background:#fbfdff}.rail-status-card.safe{--rail-accent: #3c9b68;--rail-accent-dark: #21613f;--rail-accent-soft: #edf8f1}.rail-status-card.danger{--rail-accent: #cf6158;--rail-accent-dark: #8b352f;--rail-accent-soft: #fff1f0}.rail-card-heading,.rail-level-badge{display:flex;align-items:center}.rail-card-heading{justify-content:space-between;gap:12px}.rail-card-kicker{margin-bottom:3px;color:#64748b;font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.rail-level-badge{gap:6px;min-height:26px;padding:0 9px;border-radius:999px;color:var(--rail-accent-dark);background:var(--rail-accent-soft);font-size:12px;font-weight:800}.rail-level-dot{width:7px;height:7px;border-radius:999px;background:var(--rail-accent)}.mini-bed-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:110px;padding:4px 8px;border:1px solid #dbeafe;border-radius:7px;background:linear-gradient(#edf5fb 1px,transparent 1px),linear-gradient(90deg,#edf5fb 1px,transparent 1px),#f8fbfe;background-size:16px 16px}.mini-bed-diagram{display:block;width:100%;max-height:116px}.mini-bed-caption{max-width:28px;color:#64748b;font-size:10px;font-weight:700;line-height:1.45}.mini-bed-shadow{fill:#d9e6ee}.mini-bed-frame{fill:#fff;stroke:#5d7893;stroke-width:2}.mini-mattress{fill:#e9f3f9;stroke:#b8cedc}.mini-pillow{fill:#fff;stroke:#c6d8e4}.mini-patient{fill:#6d879d}.mini-bed-end,.mini-bed-leg{fill:none;stroke:#5d7893;stroke-linecap:round;stroke-width:3}.mini-caster{fill:#5d7893}.mini-rail{stroke:#0f172a26;stroke-width:1}.mini-rail.up{fill:#4ba875}.rail-status-card.warning .mini-rail.down{fill:#dda23f}.rail-status-card.danger .mini-rail.down{fill:#d5675e}.rail-monitor.level-warning .mini-rail.down{fill:#dda23f}.rail-monitor.level-danger .mini-rail.down{fill:#d5675e}.rail-status-copy{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rail-status-copy>div{min-width:0;padding-left:9px;border-left:1px solid #dbe5ec}.rail-status-copy span,.rail-status-copy strong{display:block}.rail-status-copy span{margin-bottom:4px;color:#64748b;font-size:11px;font-weight:700}.rail-status-copy strong{color:#26384a;font-size:13px;line-height:1.45}.rail-status-copy .rail-risk-text{color:var(--rail-accent-dark)}@media(max-width:960px){.dashboard-grid{grid-template-columns:1fr}.bed-stage{min-height:360px}}@media(max-width:640px){.app-shell{padding:16px}.app-header,.panel-heading{align-items:stretch;flex-direction:column}.status-grid{grid-template-columns:1fr}.angle-button-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.status-card .status-card-text{font-size:clamp(15px,1.25vw,19px)}@media(min-width:961px){.app-shell{min-height:100vh;min-height:100dvh;padding:18px 22px}.workspace{display:grid;grid-template-rows:auto minmax(0,1fr);width:min(1600px,100%);min-height:calc(100vh - 36px);min-height:calc(100dvh - 36px)}.app-header{min-height:54px;margin-bottom:12px}.app-header h1{font-size:clamp(24px,2.2vw,32px)}.dashboard-grid{grid-template-columns:minmax(0,1.86fr) minmax(360px,1fr);gap:14px;min-height:0}.bed-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:0;padding:18px}.bed-panel .panel-heading{margin-bottom:10px}.bed-stage{min-height:0}.status-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:10px}.status-card{min-height:66px;padding:10px 12px}.status-card span{margin-bottom:4px}.status-card strong{font-size:clamp(18px,1.55vw,23px)}.control-panel{grid-template-rows:auto repeat(3,auto) auto minmax(0,1fr);gap:9px;min-height:0;padding:16px}.control-section{grid-template-columns:112px minmax(0,1fr);align-items:center;gap:8px;padding:9px 10px}.angle-button-grid{gap:6px}.angle-button,.secondary-button{min-height:42px}.secondary-actions{gap:8px}.rail-status-card{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;gap:8px;min-height:0;padding:11px 12px}.rail-card-heading{grid-column:1}.mini-bed-wrap{grid-column:1;grid-row:2;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;min-height:0;padding:2px 10px 5px}.mini-bed-diagram{width:min(250px,100%);max-height:148px;margin:0 auto}.mini-bed-caption{max-width:none;text-align:center}.rail-status-copy{grid-column:1;grid-row:3;grid-template-columns:minmax(0,1fr);gap:5px}.rail-status-copy>div{display:grid;grid-template-columns:104px minmax(0,1fr);align-items:baseline;gap:8px;padding:5px 8px;border-left:0;border-radius:6px;background:#f8fafc}.rail-status-copy span{margin-bottom:0}}@media(min-width:961px)and (min-height:600px){body{overflow:hidden}.app-shell{height:100vh;height:100dvh;min-height:0}.workspace{height:100%;min-height:0}}@media(max-height:820px)and (min-width:961px){.app-shell{padding-block:12px}.app-header{min-height:46px;margin-bottom:8px}.eyebrow{margin-bottom:2px}.bed-panel{padding:14px}.control-panel{gap:6px;padding:12px}.control-section{padding-block:7px}.angle-button,.secondary-button{min-height:36px}.status-card{min-height:58px;padding-block:8px}}@media(max-height:680px)and (min-width:961px){.app-shell{padding:8px 12px}.app-header{min-height:38px;margin-bottom:6px}.app-header h1{font-size:22px}.connection-status{min-height:34px;padding-inline:11px;font-size:13px}.dashboard-grid{gap:9px}.bed-panel{padding:10px}.bed-panel .panel-heading{margin-bottom:6px}.panel-heading h2{font-size:17px}.lock-badge{min-height:28px;font-size:12px}.control-panel{gap:4px;padding:9px}.control-panel .panel-heading{min-height:32px}.control-section{grid-template-columns:98px minmax(0,1fr);gap:5px;padding:5px 7px}.control-section h3{font-size:13px}.control-section-title span{padding:2px 6px;font-size:10px}.angle-button-grid{gap:4px}.angle-button,.secondary-button{min-height:32px}.angle-button{font-size:14px}.status-grid{gap:6px;margin-top:7px}.status-card{min-height:50px;padding:6px 9px}.status-card span{font-size:11px}.status-card strong,.status-card .status-card-text,.status-card .status-card-angle{font-size:16px}.rail-status-card{gap:4px;padding:7px 9px}.rail-card-kicker{display:none}.mini-bed-wrap{padding:0 8px 3px}.mini-bed-diagram{max-height:96px}.mini-bed-caption{font-size:9px}.rail-status-copy{gap:3px}.rail-status-copy>div{grid-template-columns:96px minmax(0,1fr);padding:3px 6px}.rail-status-copy span{font-size:10px}.rail-status-copy strong{font-size:12px}}.bed-controls-panel{display:grid;grid-template-columns:104px minmax(0,1fr) 142px;align-items:stretch;gap:9px;margin-top:9px;padding-top:9px;border-top:1px solid #dbe5ec}.bed-controls-heading{display:grid;align-content:center}.bed-controls-heading .eyebrow{font-size:10px}.bed-controls-heading h2{font-size:17px}.bed-control-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;min-width:0}.bed-controls-panel .control-section{display:grid;grid-template-columns:minmax(0,1fr);align-content:center;gap:6px;min-width:0;padding:7px 8px}.bed-controls-panel .control-section-title{min-height:20px}.bed-controls-panel .control-section-title h3{font-size:12px;white-space:nowrap}.bed-controls-panel .angle-button-grid{grid-template-columns:repeat(auto-fit,minmax(34px,1fr));gap:4px}.bed-controls-panel .angle-button,.bed-controls-panel .secondary-button{min-height:32px}.bed-controls-panel .angle-button{padding-inline:4px;font-size:13px}.bed-controls-panel .secondary-actions{grid-template-columns:1fr;gap:6px}.bed-controls-panel .secondary-button{font-size:13px}.safety-panel{--sensor-accent: #3c9b68;--sensor-accent-dark: #21613f;--sensor-accent-soft: #edf8f1;display:grid;grid-template-rows:auto minmax(0,1.45fr) minmax(0,1fr) minmax(0,1fr);gap:8px;min-height:0;padding:13px;border:1px solid #d8e5ef;border-radius:8px;background:#fffffff5;box-shadow:0 18px 48px #0f172a14}.safety-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.safety-panel-heading h2{font-size:20px}.overview-badge,.monitor-level{display:inline-flex;align-items:center;color:var(--sensor-accent-dark);background:var(--sensor-accent-soft)}.overview-badge{gap:8px;min-width:136px;padding:7px 9px;border-radius:7px}.overview-badge>div,.overview-badge strong,.overview-badge small{display:block}.overview-badge small{margin-top:1px;color:#64748b;font-size:9px;white-space:nowrap}.level-dot{flex:0 0 auto;width:8px;height:8px;border-radius:999px;background:var(--sensor-accent)}.level-safe{--sensor-accent: #3c9b68;--sensor-accent-dark: #21613f;--sensor-accent-soft: #edf8f1}.level-info{--sensor-accent: #2787b5;--sensor-accent-dark: #165b7c;--sensor-accent-soft: #eaf6fb}.level-off{--sensor-accent: #8496a8;--sensor-accent-dark: #526273;--sensor-accent-soft: #f0f4f7}.level-warning{--sensor-accent: #d99424;--sensor-accent-dark: #8a5312;--sensor-accent-soft: #fff8e8}.level-danger{--sensor-accent: #cf6158;--sensor-accent-dark: #8b352f;--sensor-accent-soft: #fff1f0}.safety-monitor{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:6px;min-height:0;padding:9px 10px;border:1px solid #dbe5ec;border-left:3px solid var(--sensor-accent);border-radius:8px;background:#fbfdff;overflow:hidden}.monitor-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.monitor-heading>div{min-width:0}.monitor-heading h3{margin-bottom:1px;color:#203449;font-size:13px}.monitor-heading strong{display:block;overflow:hidden;color:var(--sensor-accent-dark);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.monitor-level{flex:0 0 auto;gap:5px;min-height:24px;padding:0 8px;border-radius:999px;font-size:10px;font-weight:800}.monitor-level .level-dot{width:6px;height:6px}.rail-monitor-body{display:grid;grid-template-columns:minmax(118px,.95fr) minmax(144px,1.05fr);align-items:stretch;gap:8px;min-height:0}.rail-monitor .mini-bed-wrap{display:grid;grid-column:auto;grid-row:auto;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;min-height:0;padding:2px 5px 3px}.rail-monitor .mini-bed-diagram{width:min(180px,100%);max-height:104px;margin:auto}.rail-monitor .mini-bed-caption{max-width:none;text-align:center}.rail-simulator{display:grid;grid-template-columns:1fr 1fr;align-content:center;gap:5px;padding:6px;border:1px solid #e1eaf0;border-radius:6px;background:#f7fafc}.simulator-label{grid-column:1 / -1;color:#64748b;font-size:9px;font-weight:800;letter-spacing:.08em}.rail-toggle{min-width:0}.rail-toggle>span{display:block;margin-bottom:2px;color:#526273;font-size:9px;font-weight:700}.rail-toggle>div,.segmented-row>div{display:grid;grid-template-columns:1fr 1fr;gap:2px}.rail-toggle button,.segmented-row button{min-width:0;min-height:25px;padding:0 4px;border:1px solid #ccd8e2;border-radius:5px;color:#526273;background:#fff;font-size:9px;font-weight:800;cursor:pointer}.rail-toggle button.active,.segmented-row button.active{border-color:#4d8fb8;color:#07567f;background:#e9f5fb}.rail-toggle button:focus-visible,.segmented-row button:focus-visible{outline:2px solid rgba(37,99,235,.35);outline-offset:1px}.monitor-message{overflow:hidden;color:var(--sensor-accent-dark);font-size:10px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.compact-monitor-body{display:grid;grid-template-columns:78px minmax(0,1fr);align-items:center;gap:9px;min-height:0}.safety-icon{display:block;width:76px;max-height:66px;padding:4px;border:1px solid #c9e1f0;border-radius:7px;background:#f3faff}.brake-status-icon{display:block;width:72px;height:64px;overflow:visible}.brake-stem,.brake-fork,.brake-wheel{fill:none;stroke:#005b94;stroke-linecap:round;stroke-linejoin:round;stroke-width:3}.brake-hub{fill:#005b94}.brake-pedal,.brake-lock-body,.brake-lock-shackle,.brake-lock-key{stroke:var(--sensor-accent);stroke-linecap:round;stroke-linejoin:round}.brake-pedal{fill:var(--sensor-accent-soft);stroke-width:3}.brake-lock-body{fill:#fff;stroke-width:2.5}.brake-lock-shackle{fill:none;stroke-width:2.5}.brake-lock-key{fill:var(--sensor-accent);stroke-width:2}.icon-frame,.icon-mattress{fill:#e1f2fa;stroke:#258ab8;stroke-width:2}.icon-detail,.icon-brake,.icon-bed,.icon-person-line{fill:none;stroke:#258ab8;stroke-linecap:round;stroke-linejoin:round;stroke-width:3}.icon-wheel{fill:#fff;stroke:var(--sensor-accent);stroke-width:3}.icon-wheel-core,.icon-person{fill:var(--sensor-accent)}.monitor-control-stack{display:grid;gap:5px}.segmented-row{display:grid;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:5px}.segmented-row>span{color:#526273;font-size:9px;font-weight:700}@media(min-width:961px){.bed-panel{grid-template-rows:auto minmax(0,1fr) auto auto}}@media(max-height:680px)and (min-width:961px){.bed-controls-panel{grid-template-columns:86px minmax(0,1fr) 112px;gap:5px;margin-top:5px;padding-top:5px}.bed-controls-heading h2{font-size:14px}.bed-controls-panel .control-section{gap:3px;padding:4px 5px}.bed-controls-panel .control-section-title{min-height:16px}.bed-controls-panel .angle-button,.bed-controls-panel .secondary-button{min-height:27px}.bed-controls-panel .angle-button{font-size:11px}.safety-panel{gap:5px;padding:8px}.safety-panel-heading .eyebrow,.overview-badge small{display:none}.safety-panel-heading h2{font-size:17px}.overview-badge{min-width:auto;padding:6px 8px}.safety-monitor{gap:3px;padding:5px 7px}.monitor-heading h3{font-size:11px}.monitor-heading strong,.monitor-message{font-size:9px}.monitor-level{min-height:20px;padding-inline:6px}.rail-monitor-body{grid-template-columns:minmax(100px,.9fr) minmax(136px,1.1fr);gap:5px}.rail-monitor .mini-bed-diagram{max-height:76px}.rail-monitor .mini-bed-caption,.simulator-label{display:none}.rail-simulator{gap:3px;padding:4px}.rail-toggle button,.segmented-row button{min-height:21px;font-size:8px}.compact-monitor-body{grid-template-columns:58px minmax(0,1fr);gap:6px}.safety-icon{width:56px;max-height:50px;padding:2px}.brake-status-icon{width:56px;height:50px}.segmented-row{grid-template-columns:54px minmax(0,1fr);gap:3px}}:root{--workbench-bg: #edf2f3;--workbench-surface: #ffffff;--workbench-subtle: #f6f9fa;--workbench-ink: #132436;--workbench-muted: #506476;--workbench-line: #c9d8df;--workbench-line-strong: #9bb5c2;--device-blue: #005b94;--device-blue-deep: #003f67;--device-blue-soft: #e9f3f8}body{background:var(--workbench-bg)}button:focus-visible{outline:3px solid rgba(0,91,148,.5);outline-offset:2px}.app-shell{padding:24px;background:var(--workbench-bg)}.workspace{width:min(1480px,100%)}.app-header{min-height:72px;margin-bottom:16px;padding:0 0 14px;border-bottom:2px solid var(--workbench-line-strong)}.app-title-block{min-width:0}.eyebrow{margin-bottom:4px;color:var(--device-blue);font-size:11px;letter-spacing:.1em}.app-header h1{color:var(--workbench-ink);font-size:clamp(25px,2.5vw,34px);letter-spacing:-.035em}.app-subtitle{margin-top:5px;color:var(--workbench-muted);font-size:14px;font-weight:600}.connection-status{min-height:38px;border-color:#9cc4d8;border-radius:4px;color:#154967;background:#f1f8fb;box-shadow:inset 0 1px #ffffffe6}.bed-panel,.safety-panel{border:1px solid var(--workbench-line-strong);border-radius:4px;background:var(--workbench-surface);box-shadow:none}.bed-panel{position:relative;padding:18px}.panel-heading h2,.safety-panel-heading h2{color:var(--workbench-ink);font-size:20px;letter-spacing:-.02em}.lock-badge{min-height:28px;border:1px solid #b7dfc7;border-radius:4px;color:#17623d;background:#eef9f2}.lock-badge.locked{border-color:#ebd19a;color:#815315;background:#fff8e7}.bed-stage{position:relative;border:1px solid #9cc4d8;border-radius:3px;background:linear-gradient(#e5eef2 1px,transparent 1px),linear-gradient(90deg,#e5eef2 1px,transparent 1px),#f8fbfc;background-size:28px 28px}.bed-stage:before{position:absolute;inset:0;border-top:3px solid var(--device-blue);content:"";pointer-events:none}.bed-board{fill:var(--device-blue);stroke:var(--device-blue-deep)}.status-grid{gap:0;margin-top:12px;border:1px solid var(--workbench-line);border-radius:3px;background:var(--workbench-subtle)}.status-card{min-width:0;padding:11px 13px;border:0;border-right:1px solid var(--workbench-line);border-radius:0;background:transparent}.status-card:last-child{border-right:0}.status-card span{margin-bottom:3px;color:var(--workbench-muted);font-size:11px;letter-spacing:.02em}.status-card strong,.status-card .status-card-text,.status-card .status-card-angle{overflow:hidden;color:var(--workbench-ink);font-size:clamp(16px,1.65vw,23px);text-overflow:ellipsis;white-space:nowrap}.bed-controls-panel{gap:12px;margin-top:12px;padding:12px 0 0;border-top:2px solid var(--workbench-line-strong)}.bed-controls-heading h2{color:var(--workbench-ink);font-size:17px}.bed-controls-panel .control-section{gap:7px;padding:8px 9px;border:1px solid var(--workbench-line);border-left:3px solid transparent;border-radius:3px;background:var(--workbench-subtle)}.bed-controls-panel .control-section.active{border-color:#9fc8dc;border-left-color:var(--device-blue);background:#f0f7fa}.bed-controls-panel .control-section-title h3{color:#284052;font-size:12px}.control-section-title span{border-radius:3px;color:#07567f;background:#dceff7}.angle-button,.secondary-button{border-color:#b9cad3;border-radius:3px;color:#233748;background:#fff;box-shadow:inset 0 1px #ffffffe6}.angle-button:hover:not(:disabled),.secondary-button:hover:not(:disabled){border-color:var(--device-blue);color:var(--device-blue-deep);background:#eef7fb}.angle-button:active:not(:disabled),.secondary-button:active:not(:disabled){transform:scale(.98)}.angle-button.active{border-color:var(--device-blue);color:#fff;background:var(--device-blue)}.secondary-button.warning.active{border-color:#c48a25;color:#774814;background:#fff7e2}.safety-panel{grid-template-rows:auto minmax(0,1.36fr) minmax(0,.9fr) minmax(0,.9fr);gap:10px;padding:14px;border-left:4px solid var(--device-blue);background:#fbfcfc}.safety-panel-heading{min-height:48px;padding-bottom:10px;border-bottom:1px solid var(--workbench-line)}.overview-badge{min-width:126px;border:1px solid color-mix(in srgb,var(--sensor-accent) 32%,transparent);border-radius:4px;background:var(--sensor-accent-soft)}.overview-badge small{color:#5e7080;font-size:10px}.safety-monitor{gap:8px;padding:10px;border:1px solid var(--workbench-line);border-left:4px solid var(--sensor-accent);border-radius:3px;background:#fff}.monitor-heading h3{color:var(--workbench-ink);font-size:13px}.monitor-level{min-height:25px;border:1px solid color-mix(in srgb,var(--sensor-accent) 28%,transparent);border-radius:4px;font-size:11px}.rail-monitor-body{grid-template-columns:minmax(128px,.95fr) minmax(166px,1.05fr);gap:10px}.rail-monitor .mini-bed-wrap{border-color:#c8dce6;border-radius:3px;background:linear-gradient(#edf3f5 1px,transparent 1px),linear-gradient(90deg,#edf3f5 1px,transparent 1px),#fafcfc}.rail-simulator{gap:6px;padding:8px;border-color:#cbdbe2;border-radius:3px;background:#f5f8f9}.simulator-label{color:#496273;font-size:10px}.rail-toggle>span,.segmented-row>span{color:#43596a;font-size:10px}.rail-toggle button,.segmented-row button{min-height:28px;border-color:#b9cad3;border-radius:3px;color:#3e5666;font-size:10px;transition:background .15s ease-out,border-color .15s ease-out,color .15s ease-out,transform 80ms ease-out}.rail-toggle button:hover,.segmented-row button:hover{border-color:var(--device-blue);color:var(--device-blue-deep);background:#f0f7fa}.rail-toggle button:active,.segmented-row button:active{transform:scale(.98)}.rail-toggle button.active,.segmented-row button.active{border-color:#4a8bb1;color:#064d73;background:#e1f0f6}.compact-monitor-body{grid-template-columns:78px minmax(0,1fr);gap:12px}.safety-icon{border-color:#b7d2df;border-radius:3px;background:#f1f8fa}.monitor-message{padding-top:6px;border-top:1px solid #e1eaee;font-size:11px}.segmented-row{grid-template-columns:66px minmax(0,1fr);gap:7px}@media(min-width:961px){.app-shell{padding:16px 20px}.workspace{min-height:calc(100dvh - 32px)}.app-header{min-height:60px;margin-bottom:12px;padding-bottom:10px}.bed-panel{padding:16px}.status-card{min-height:62px}}@media(min-width:961px)and (max-height:700px){.app-shell{padding:8px 12px}.workspace{min-height:calc(100dvh - 16px)}.app-header{min-height:42px;margin-bottom:7px;padding-bottom:6px}.app-header h1{font-size:22px}.app-subtitle,.safety-panel-heading .eyebrow{display:none}.connection-status{min-height:32px;padding-inline:10px;font-size:12px}.dashboard-grid{gap:10px}.bed-panel{padding:10px}.panel-heading{margin-bottom:6px}.panel-heading h2,.safety-panel-heading h2{font-size:17px}.status-grid{margin-top:7px}.status-card{min-height:48px;padding:6px 9px}.status-card span{font-size:10px}.status-card strong,.status-card .status-card-text,.status-card .status-card-angle{font-size:15px}.bed-controls-panel{grid-template-columns:86px minmax(0,1fr) 108px;gap:6px;margin-top:7px;padding-top:7px}.bed-controls-heading h2{font-size:14px}.bed-controls-panel .control-section{gap:3px;padding:4px 5px}.bed-controls-panel .angle-button,.bed-controls-panel .secondary-button{min-height:26px}.safety-panel{gap:5px;padding:8px}.safety-panel-heading{min-height:32px;padding-bottom:5px}.overview-badge{min-width:auto;padding:5px 7px}.overview-badge small{display:none}.safety-monitor{gap:3px;padding:5px 7px}.monitor-heading h3{font-size:11px}.monitor-heading strong,.monitor-message{font-size:9px}.monitor-level{min-height:20px;padding-inline:6px;font-size:9px}.rail-monitor-body{gap:5px}.rail-simulator{gap:3px;padding:4px}.simulator-label,.rail-monitor .mini-bed-caption{display:none}.rail-toggle button,.segmented-row button{min-height:21px;font-size:8px}.compact-monitor-body{grid-template-columns:58px minmax(0,1fr);gap:6px}.brake-status-icon{width:56px;height:50px}.safety-icon{width:56px;max-height:50px}.segmented-row{grid-template-columns:54px minmax(0,1fr);gap:3px}}@media(max-width:960px){.app-shell{padding:16px}.dashboard-grid{grid-template-columns:1fr}.status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.status-card:nth-child(2){border-right:0}.status-card:nth-child(-n+2){border-bottom:1px solid var(--workbench-line)}.bed-controls-panel,.bed-control-groups{grid-template-columns:1fr}.secondary-actions{grid-template-columns:1fr 1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}:root{--modern-page: #f2f6f8;--modern-surface: #ffffff;--modern-soft: #f6f9fb;--modern-line: #d9e4ea;--modern-text: #162b3b;--modern-muted: #617484;--modern-blue: #005b94;--modern-blue-soft: #e8f3f8;--modern-shadow: 0 12px 28px -6px rgba(15, 23, 42, .1), 0 2px 6px -1px rgba(15, 23, 42, .08);--modern-shadow-hover: 0 10px 28px rgba(25, 59, 79, .09), 0 2px 5px rgba(25, 59, 79, .04)}body,.app-shell{background:var(--modern-page)}.app-shell{padding:22px 24px}.workspace{width:min(1440px,100%)}.app-header{min-height:64px;margin-bottom:16px;padding:0;border:0}.eyebrow{margin-bottom:5px;color:#5b7384;font-size:11px;font-weight:750;letter-spacing:.04em;text-transform:none}.app-header h1{color:var(--modern-text);font-size:clamp(25px,2.4vw,33px);font-weight:750;letter-spacing:-.04em}.app-subtitle{margin-top:6px;color:var(--modern-muted);font-size:14px;font-weight:500}.connection-status{min-height:40px;padding-inline:14px;border:1px solid #c8dce7;border-radius:10px;color:#22536e;background:#ffffffb8;box-shadow:0 2px 7px #193b4f0a}.dashboard-grid{grid-template-columns:minmax(0,1.76fr) minmax(352px,.95fr);gap:16px}.bed-panel,.safety-panel{border:1px solid var(--modern-line);border-radius:14px;background:var(--modern-surface);box-shadow:var(--modern-shadow)}.bed-panel{padding:18px}.panel-heading{margin-bottom:12px}.panel-heading h2,.safety-panel-heading h2{color:var(--modern-text);font-size:21px;font-weight:750;letter-spacing:-.025em}.lock-badge{min-height:30px;padding-inline:11px;border:0;border-radius:999px;color:#1a6943;background:#e8f8ed;box-shadow:inset 0 0 0 1px #c9ead5}.lock-badge.locked{color:#7b4c10;background:#fff6df;box-shadow:inset 0 0 0 1px #efd9a8}.bed-stage{border:1px solid #cfe1eb;border-radius:12px;background:#edf7fb;box-shadow:none}.bed-board{fill:#006eb3;stroke:none}.bed-stage:before{display:none}.status-grid{gap:8px;margin-top:12px;border:0;border-radius:0;background:transparent}.status-card{min-height:66px;padding:11px 12px;border:1px solid #e0e9ee;border-radius:10px;background:var(--modern-soft);box-shadow:0 2px 5px #193b4f06}.status-card:last-child{border-right:1px solid #e0e9ee}.status-card span{margin-bottom:4px;color:var(--modern-muted);font-size:11px;font-weight:650;letter-spacing:0}.status-card strong,.status-card .status-card-text,.status-card .status-card-angle{color:var(--modern-text);font-size:clamp(16px,1.6vw,22px)}.bed-controls-panel{grid-template-columns:112px minmax(0,1fr) 128px;gap:10px;margin-top:12px;padding:11px;border:1px solid #e0e9ee;border-radius:12px;background:#f7fafb}.bed-controls-heading h2{color:var(--modern-text);font-size:17px}.bed-controls-panel .control-section{gap:6px;padding:8px;border:1px solid #e0e9ee;border-left:1px solid #e0e9ee;border-radius:9px;background:#fff;box-shadow:0 2px 5px #193b4f06}.bed-controls-panel .control-section.active{border-color:#b8d5e4;border-left-color:#b8d5e4;background:#f4faff;box-shadow:inset 0 2px 0 var(--modern-blue),0 2px 5px #193b4f06}.bed-controls-panel .control-section-title h3{color:#2d4658;font-size:12px}.control-section-title span{border-radius:999px;color:#0f587c;background:#e4f2f8}.angle-button,.secondary-button{border-color:#cbd9e1;border-radius:8px;color:#344d5e;background:#fff;box-shadow:0 1px 2px #193b4f0a;transition:transform 80ms ease-out,background .15s ease-out,border-color .15s ease-out,box-shadow .15s ease-out}.angle-button:hover:not(:disabled),.secondary-button:hover:not(:disabled){border-color:#8ebbd0;color:#064f79;background:#f2f9fc;box-shadow:0 3px 7px #193b4f12}.angle-button.active{border-color:var(--modern-blue);color:#fff;background:var(--modern-blue);box-shadow:0 3px 8px #005b942e}.safety-panel{grid-template-rows:auto minmax(0,1.36fr) minmax(0,.9fr) minmax(0,.9fr);gap:10px;padding:15px;border-left:1px solid var(--modern-line);background:#fff}.safety-panel-heading{min-height:48px;padding-bottom:0;border-bottom:0}.overview-badge{min-width:132px;padding:7px 10px;border:0;border-radius:10px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--sensor-accent) 20%,transparent)}.overview-badge strong{font-size:12px}.safety-monitor{gap:8px;padding:10px;border:1px solid #e0e9ee;border-left:1px solid #e0e9ee;border-radius:11px;background:#f8fafb;box-shadow:0 2px 6px #193b4f07}.monitor-heading h3{color:var(--modern-text);font-size:13px}.monitor-heading-main{display:flex;align-items:center;gap:7px;min-width:0}.rail-status-diagram{display:block;justify-self:center;align-self:center;position:relative;width:min(100%,66px);height:84px}.rail-status-layer{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}.rail-status-overlay-leftHead{clip-path:inset(5% 88% 63% 0)}.rail-status-overlay-leftFoot{clip-path:inset(42% 88% 10% 0)}.rail-status-overlay-rightHead{clip-path:inset(5% 0 63% 88%)}.rail-status-overlay-rightFoot{clip-path:inset(42% 0 10% 88%)}.monitor-heading strong{font-size:12px}.monitor-level{min-height:25px;border:0;border-radius:999px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--sensor-accent) 20%,transparent)}.rail-monitor-body{gap:10px}.rail-monitor .mini-bed-wrap{border:1px solid #d8e6ed;border-radius:9px;background:#fff}.rail-simulator{gap:6px;padding:8px;border:1px solid #e0e9ee;border-radius:9px;background:#fff}.simulator-label{color:var(--modern-muted);font-size:10px;letter-spacing:0}.rail-toggle button,.segmented-row button{min-height:28px;border-color:#cbd9e1;border-radius:7px;color:#3e5666;background:#fff;box-shadow:0 1px 2px #193b4f09}.rail-toggle button.active,.segmented-row button.active{border-color:#97c3d8;color:#07577e;background:var(--modern-blue-soft)}.compact-monitor-body{grid-template-columns:96px minmax(0,1fr);gap:12px}.figma-safety-icon{display:block;width:92px;height:72px;object-fit:contain}.figma-safety-icon.muted{filter:grayscale(1);opacity:.48}.safety-icon{border-color:#d0e3ec;border-radius:9px;background:#fff;box-shadow:0 1px 3px #193b4f06}.monitor-message{padding-top:6px;border-top:1px solid #e3ebef;font-size:11px}@media(min-width:961px)and (max-height:700px){.app-shell{padding:9px 12px}.app-header{min-height:42px;margin-bottom:7px}.app-header h1{font-size:22px}.app-subtitle{display:none}.bed-panel{padding:10px}.status-card{min-height:48px;padding:6px 9px}.bed-controls-panel{grid-template-columns:86px minmax(0,1fr) 108px;gap:6px;margin-top:7px;padding:7px;border-radius:9px}.bed-controls-panel .control-section{gap:3px;padding:4px 5px;border-radius:6px}.angle-button,.secondary-button{border-radius:5px}.safety-panel{gap:5px;padding:8px;border-radius:11px}.safety-panel-heading{min-height:32px}.safety-monitor{gap:3px;padding:5px 7px;border-radius:7px}.rail-simulator{gap:3px;padding:4px;border-radius:6px}.rail-monitor .mini-bed-wrap,.safety-icon{border-radius:6px}.rail-status-diagram{width:min(100%,48px);height:60px}.compact-monitor-body{grid-template-columns:64px minmax(0,1fr)}.figma-safety-icon{width:62px;height:52px}.rail-toggle button,.segmented-row button{border-radius:4px}}
