*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.static{position:static}.table{display:table}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{color-scheme:dark;--color-bg: #130906;--color-bg-deep: #0d0503;--color-panel: #21120c;--color-panel-soft: #2c1a12;--color-panel-raised: #341f16;--color-border: rgba(248, 157, 74, .16);--color-border-strong: rgba(255, 164, 83, .32);--color-text: #f6eee8;--color-text-muted: #b9a69a;--color-text-soft: #8d7669;--color-accent: #ff7f26;--color-accent-soft: #b85a21;--color-success: #8ed66d;--color-warning: #f6b44c;--shadow-panel: 0 18px 42px rgba(0, 0, 0, .34);--radius-panel: clamp(16px, 1.35vw, 28px);--radius-card: clamp(10px, .8vw, 16px);--gap: clamp(8px, .9vw, 20px);--pad: clamp(10px, 1vw, 22px);--font-ui: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%}body{margin:0;overflow:hidden;background:radial-gradient(circle at 20% 10%,rgba(111,48,20,.28),transparent 32%),linear-gradient(135deg,var(--color-bg),var(--color-bg-deep) 72%);color:var(--color-text);font-family:var(--font-ui)}button{font:inherit}.dashboard-app{width:100vw;height:100vh;min-width:1024px;min-height:600px;padding:clamp(10px,1.1vw,26px);display:grid;grid-template-rows:clamp(38px,4.2vh,72px) minmax(0,1fr);gap:var(--gap);overflow:hidden}.dashboard-topbar{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:var(--gap)}.brand-lockup{height:100%;min-width:0;display:flex;align-items:center}.brand-lockup img{width:clamp(132px,13vw,310px);height:auto;max-height:clamp(30px,3.5vh,58px);-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 6px 16px rgba(0,0,0,.32))}.topbar-meta{min-width:0;flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:clamp(6px,.6vw,14px)}.environment-status{min-width:0;flex:1 1 auto;display:grid;grid-template-columns:repeat(4,minmax(0,auto));align-items:center;justify-content:center;gap:clamp(5px,.5vw,12px)}.environment-status.has-sensor-chips{grid-template-columns:repeat(6,minmax(0,auto))}.topbar-chip,.environment-chip,.topbar-power{height:clamp(28px,3.4vh,46px);border:1px solid var(--color-border);border-radius:999px;background:#26160fb8;color:var(--color-text-muted);display:inline-flex;align-items:center;justify-content:center;gap:clamp(5px,.45vw,10px);white-space:nowrap;box-shadow:inset 0 1px #ffffff0d}.topbar-chip,.environment-chip{padding:0 clamp(10px,.9vw,18px);font-size:clamp(10px,.72vw,16px)}.environment-chip{min-width:0;background:#140a0780;gap:clamp(5px,.45vw,10px)}.environment-label{color:var(--color-text-soft)}.environment-chip strong{min-width:0;color:var(--color-text);font-weight:760;overflow:hidden;text-overflow:ellipsis}.topbar-chip svg,.environment-chip svg,.topbar-power svg{width:clamp(13px,1vw,20px);height:clamp(13px,1vw,20px);color:var(--color-accent);flex:0 0 auto}.topbar-power{width:clamp(30px,3.4vh,46px);padding:0;cursor:pointer}.topbar-action{cursor:pointer}.topbar-action span{min-width:0;overflow:hidden;text-overflow:ellipsis}.topbar-action:focus-visible,.topbar-power:focus-visible,.icon-button:focus-visible,.dashboard-chat-control:focus-visible,.dashboard-chat-icon-button:focus-visible,.segment:focus-visible,.startup-skip:focus-visible{outline:2px solid rgba(255,210,172,.88);outline-offset:3px}.dashboard-grid{min-width:0;min-height:0;display:grid;grid-template-columns:minmax(0,1.24fr) minmax(0,.82fr) minmax(0,.78fr);grid-template-rows:minmax(0,1.17fr) minmax(0,.6fr) minmax(0,.72fr);grid-template-areas:"camera recognition conversation" "items recognition conversation" "face equipment equipment";gap:var(--gap)}.grid-area-camera,.grid-area-items,.grid-area-recognition,.grid-area-face,.grid-area-conversation,.grid-area-equipment{min-width:0;min-height:0}.grid-area-camera{grid-area:camera}.grid-area-items{grid-area:items}.grid-area-recognition{grid-area:recognition}.grid-area-face{grid-area:face}.grid-area-conversation{grid-area:conversation}.conversation-stack{display:grid;grid-template-rows:minmax(0,.82fr) minmax(0,1fr);gap:var(--gap)}.grid-area-equipment{grid-area:equipment}.panel{width:100%;height:100%;min-width:0;min-height:0;border:1px solid var(--color-border);border-radius:var(--radius-panel);background:linear-gradient(145deg,#392116db,#1c0f0af0),var(--color-panel);box-shadow:var(--shadow-panel),inset 0 1px #ffffff0b;overflow:hidden}.panel:not(.camera-panel){padding:var(--pad);display:flex;flex-direction:column;gap:clamp(7px,.7vw,14px)}.panel-header{min-width:0;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:clamp(8px,.8vw,16px)}.panel-title-group{min-width:0;display:flex;align-items:center;gap:clamp(7px,.62vw,13px)}.panel-title-icon{flex:0 0 auto;width:clamp(15px,1.05vw,23px);height:clamp(15px,1.05vw,23px);color:var(--color-accent)}.panel-title-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.panel-title,.camera-label{color:var(--color-text);font-size:clamp(14px,1vw,26px);font-weight:680;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.panel-eyebrow,.camera-room,.panel-action{color:var(--color-text-soft);font-size:clamp(9px,.62vw,14px);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.panel-action{flex:0 0 auto;padding:clamp(4px,.38vw,8px) clamp(7px,.58vw,12px);border:1px solid var(--color-border);border-radius:999px;background:#ff7f2614;color:var(--color-text-muted)}.status-badge{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;height:clamp(19px,1.72vw,32px);padding:0 clamp(7px,.62vw,14px);border-radius:999px;border:1px solid transparent;font-size:clamp(9px,.62vw,14px);font-weight:700;line-height:1;white-space:nowrap;text-transform:uppercase}.status-badge--live{background:#ff7f2633;border-color:#ff7f266b;color:#ffd4b6;position:relative}.status-badge--live:before{width:clamp(5px,.45vw,9px);height:clamp(5px,.45vw,9px);margin-right:6px;border-radius:50%;background:var(--color-accent);box-shadow:0 0 #ff7f2694;content:"";animation:pulseLive 1.8s infinite}.status-badge--amber{background:#ff7f2629;border-color:#ff7f2647;color:#ffc08d}.status-badge--success{background:#8ed66d24;border-color:#8ed66d47;color:#c7f1b1}.status-badge--warning{background:#f6b44c24;border-color:#f6b44c47;color:#ffd89b}.status-badge--muted{background:#b9a69a1a;border-color:#b9a69a2e;color:var(--color-text-muted)}.camera-panel{display:grid;grid-template-rows:minmax(0,1fr) auto}.camera-feed{min-height:0;position:relative;overflow:hidden;border-radius:calc(var(--radius-panel) - 1px);background:linear-gradient(180deg,#ffe4cf21,#301a1161),linear-gradient(135deg,#6c564a,#9c7f6f 42%,#2b1a12)}.camera-feed:before{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 15% 18%,rgba(255,137,52,.36),transparent 21%),linear-gradient(180deg,transparent 58%,rgba(17,8,5,.74));content:""}.camera-feed--neutral:before{background:radial-gradient(circle at 15% 18%,rgba(255,137,52,.25),transparent 21%),linear-gradient(180deg,transparent 58%,rgba(17,8,5,.74))}.camera-feed--alert:before{background:radial-gradient(circle at 15% 18%,rgba(255,137,52,.42),transparent 21%),radial-gradient(circle at 82% 24%,rgba(255,127,38,.2),transparent 23%),linear-gradient(180deg,transparent 58%,rgba(17,8,5,.78))}.camera-scene{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.camera-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.camera-feed-fallback{position:absolute;left:50%;top:50%;z-index:2;transform:translate(-50%,-50%);color:#ffeee0db;font-size:clamp(.86rem,.85vw,1rem);font-weight:700;text-align:center;text-transform:uppercase}.scene-lamp{position:absolute;left:11%;top:13%;width:5.6%;height:22%;border-radius:999px 999px 20% 20%;background:linear-gradient(#ffd8a7,#ff8a32);box-shadow:0 0 34px #ff81276b}.scene-lamp:after{position:absolute;left:46%;top:100%;width:5%;height:180%;background:#25150fcc;content:""}.scene-sofa{position:absolute;left:25%;bottom:29%;width:47%;height:25%;border-radius:22% 22% 14% 14%;background:linear-gradient(180deg,#5b3329,#2a1712);box-shadow:0 16px 28px #00000057}.scene-sofa:before,.scene-sofa:after{position:absolute;top:20%;width:19%;height:44%;border-radius:18%;background:#b4836f;content:""}.scene-sofa:before{left:21%}.scene-sofa:after{right:21%}.scene-table{position:absolute;left:38%;bottom:17%;width:24%;height:11%;border-radius:50%;background:linear-gradient(180deg,#5f3425,#25130d);box-shadow:0 18px 22px #0006}.scene-plant{position:absolute;right:14%;top:9%;width:16%;height:44%;border-radius:55% 45% 48% 52%;background:radial-gradient(ellipse at 35% 25%,rgba(41,101,45,.95),transparent 38%),radial-gradient(ellipse at 70% 42%,rgba(54,126,57,.9),transparent 42%),radial-gradient(ellipse at 48% 68%,rgba(25,79,36,.82),transparent 38%);filter:drop-shadow(0 14px 20px rgba(0,0,0,.4))}.scene-scanline{position:absolute;left:9%;right:9%;top:var(--motion-level, 34%);height:2px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(255,127,38,.78),transparent);box-shadow:0 0 20px #ff7f2670;opacity:.72;transition:top .42s ease}.camera-topline,.camera-footer{position:absolute;left:clamp(12px,1.1vw,24px);right:clamp(12px,1.1vw,24px);z-index:1;display:flex;align-items:center;justify-content:space-between;gap:clamp(8px,.8vw,16px)}.camera-topline{top:clamp(10px,1vw,22px);justify-content:flex-start}.camera-time,.camera-resolution,.camera-source-chip,.motion-chip,.signal-chip{display:inline-flex;align-items:center;gap:6px;height:clamp(23px,2vw,38px);padding:0 clamp(8px,.72vw,14px);border:1px solid rgba(255,255,255,.08);border-radius:999px;background:#1f120dc2;color:var(--color-text-muted);font-size:clamp(9px,.68vw,15px);white-space:nowrap;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.camera-resolution{margin-left:auto;color:var(--color-text)}.camera-footer{bottom:clamp(10px,1vw,22px)}.camera-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.camera-controls{flex:0 0 auto;display:flex;align-items:center;gap:clamp(6px,.55vw,12px)}.icon-button{width:clamp(30px,2.6vw,50px);height:clamp(30px,2.6vw,50px);border:1px solid rgba(255,255,255,.09);border-radius:50%;background:#271811c7;color:var(--color-text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .16s ease,transform .16s ease,background .16s ease}.icon-button:hover,.topbar-power:hover,.segment:hover{border-color:var(--color-border-strong);background:#ff7f2629}.icon-button:disabled{cursor:not-allowed;opacity:.44}.icon-button:disabled:hover{border-color:#ffffff17;background:#271811c7}.icon-button svg{width:clamp(14px,1.1vw,22px);height:clamp(14px,1.1vw,22px)}.camera-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;padding:clamp(12px,1.4vw,28px);background:#080403f0}.camera-fullscreen-feed{width:100%;height:100%;border-radius:var(--radius-panel)}.camera-selector-row{min-width:0;padding:clamp(8px,.75vw,14px);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(7px,.7vw,14px);background:#190c089e}.camera-source-chip svg,.motion-chip svg,.signal-chip svg{width:clamp(12px,.9vw,18px);height:clamp(12px,.9vw,18px);color:var(--color-accent)}.segmented-control{min-width:0;height:clamp(28px,2.3vw,42px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:3px;border:1px solid var(--color-border);border-radius:999px;background:#0e07057a}.segment{min-width:0;border:0;border-radius:999px;background:transparent;color:var(--color-text-soft);cursor:pointer;font-size:clamp(9px,.62vw,14px);line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.segment.is-active{background:var(--color-accent);color:#fff7ef}.item-strip{--item-strip-gap: clamp(7px, .7vw, 14px);min-height:0;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--item-strip-gap) * 2)) / 3);gap:var(--item-strip-gap);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:rgba(255,127,38,.32) transparent}.item-card{min-width:0;min-height:0;padding:clamp(8px,.75vw,14px);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-card);background:#0f070561;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:clamp(5px,.52vw,10px)}.item-icon{width:clamp(28px,2.7vw,52px);height:clamp(28px,2.7vw,52px);border-radius:50%;background:#ff7f262e;color:var(--color-accent);display:inline-flex;align-items:center;justify-content:center}.item-icon svg{width:clamp(15px,1.25vw,24px);height:clamp(15px,1.25vw,24px)}.item-copy{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:3px}.item-name,.item-location,.item-meta span,.record-zone,.record-summary,.conversation-text,.face-label,.face-time,.equipment-row>div{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-name,.record-zone,.face-label{color:var(--color-text);font-size:clamp(11px,.78vw,17px);font-weight:650;line-height:1.1}.item-location,.item-meta,.face-time{color:var(--color-text-soft);font-size:clamp(9px,.62vw,14px);line-height:1.1}.item-meta{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:8px}.item-meta span:first-child{color:var(--color-accent);font-weight:750}.record-list,.conversation-list,.face-list,.equipment-table{min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:rgba(255,127,38,.32) transparent}.record-list,.conversation-list,.face-list{display:flex;flex-direction:column;gap:clamp(6px,.58vw,12px)}.record-row{min-width:0;display:grid;grid-template-columns:clamp(38px,3vw,68px) minmax(0,1fr);gap:clamp(8px,.75vw,14px);padding:clamp(7px,.68vw,13px);border-radius:var(--radius-card);background:#0f070557;border:1px solid rgba(255,255,255,.055)}.record-time{color:var(--color-text-soft);font-size:clamp(9px,.62vw,14px);white-space:nowrap}.record-main{min-width:0;display:flex;flex-direction:column;gap:clamp(4px,.38vw,8px)}.record-line,.conversation-meta,.face-row,.equipment-device,.equipment-meta{min-width:0;display:flex;align-items:center;gap:clamp(6px,.58vw,12px)}.record-line{justify-content:space-between}.record-summary,.conversation-text{margin:0;color:var(--color-text-muted);font-size:clamp(10px,.68vw,15px);line-height:1.25;overflow-wrap:anywhere}.conversation-reply-context{margin:0;color:var(--color-text-soft);font-size:clamp(9px,.62vw,14px);line-height:1.25;overflow-wrap:anywhere}.conversation-row{min-width:0;padding:clamp(8px,.8vw,16px);border:1px solid rgba(255,255,255,.055);border-radius:var(--radius-card);background:#0f070557;display:flex;flex-direction:column;gap:clamp(5px,.52vw,10px)}.conversation-meta{justify-content:space-between}.speaker{flex:0 0 auto;padding:clamp(4px,.38vw,7px) clamp(7px,.62vw,12px);border-radius:999px;font-size:clamp(9px,.62vw,14px);font-weight:700;line-height:1;color:#fff7ef}.speaker--resident{background:#ff7f26c7}.speaker--assistant{background:#85593ac2}.speaker--system{background:#634c3ec2}.dashboard-chat-panel{gap:clamp(8px,.76vw,15px)}.assistant-chat-panel{min-height:0}.dashboard-chat-status,.dashboard-chat-message-meta,.dashboard-chat-controls,.dashboard-chat-input{min-width:0;display:flex;align-items:center;gap:clamp(7px,.64vw,13px)}.dashboard-chat-status,.dashboard-chat-message-meta{justify-content:space-between}.dashboard-chat-status{flex:0 0 auto}.dashboard-chat-list{min-height:0;flex:1 1 auto;overflow:auto;scrollbar-width:thin;scrollbar-color:rgba(255,127,38,.32) transparent;display:flex;flex-direction:column;gap:clamp(6px,.58vw,12px)}.assistant-chat-thread{position:relative;min-height:0;flex:1 1 auto;overflow:auto;scrollbar-width:thin;scrollbar-color:rgba(255,127,38,.32) transparent;display:flex;flex-direction:column;gap:clamp(8px,.72vw,14px)}.assistant-chat-message{position:relative;min-width:0;width:-moz-fit-content;width:fit-content;max-width:min(100%,34ch);padding:clamp(8px,.72vw,14px);border:1px solid rgba(255,255,255,.07);border-radius:var(--radius-card);background:#0f070566;display:flex;flex-direction:column;gap:clamp(5px,.5vw,9px)}.assistant-chat-message--assistant{align-self:flex-start;border-color:#ff7f2629;background:#2a160d80}.assistant-chat-message--user{align-self:flex-end;max-width:min(88%,30ch);background:#482717a3;border-color:#ff7f2638}.assistant-chat-message-meta{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:clamp(8px,.7vw,14px)}.assistant-chat-message-text,.assistant-chat-reply-context{margin:0;font-size:clamp(10px,.68vw,15px);line-height:1.28;overflow-wrap:anywhere}.assistant-chat-message-text{color:var(--color-text-muted)}.assistant-chat-reply-context{padding-left:clamp(7px,.58vw,11px);border-left:1px solid rgba(255,127,38,.28);color:var(--color-text-soft)}.dashboard-chat-message{min-width:0;padding:clamp(8px,.8vw,16px);border:1px solid rgba(255,255,255,.055);border-radius:var(--radius-card);background:#0f070557;display:flex;flex-direction:column;gap:clamp(5px,.52vw,10px)}.dashboard-chat-message--assistant{border-color:#ff7f262e;background:#2a160d7a}.dashboard-chat-message-text,.dashboard-chat-error{margin:0;color:var(--color-text-muted);font-size:clamp(10px,.68vw,15px);line-height:1.25}.dashboard-chat-proactive{flex:0 0 auto;padding:clamp(4px,.36vw,7px) clamp(7px,.58vw,11px);border:1px solid rgba(255,127,38,.28);border-radius:999px;background:#ff7f261f;color:#ffc08d;font-size:clamp(9px,.62vw,14px);font-weight:700;line-height:1}.dashboard-chat-unavailable{flex:0 0 auto;color:var(--color-text-soft);font-size:clamp(9px,.62vw,14px);line-height:1}.dashboard-chat-error{flex:0 0 auto;padding:clamp(7px,.68vw,12px);border:1px solid rgba(246,180,76,.28);border-radius:var(--radius-card);background:#76321547;color:#ffd7aa}.dashboard-chat-controls{flex:0 0 auto;flex-wrap:wrap}.dashboard-chat-control,.dashboard-chat-icon-button{min-width:0;border:1px solid var(--color-border);background:#26160fbd;color:var(--color-text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:clamp(6px,.55vw,11px);transition:border-color .16s ease,background .16s ease,transform .16s ease}.dashboard-chat-control{height:clamp(31px,2.4vw,46px);padding:0 clamp(10px,.86vw,16px);border-radius:999px;font-size:clamp(10px,.72vw,15px);font-weight:750;white-space:nowrap}.dashboard-chat-icon-button{width:clamp(34px,2.6vw,50px);height:clamp(34px,2.6vw,50px);padding:0;border-radius:50%}.dashboard-chat-control svg,.dashboard-chat-icon-button svg{flex:0 0 auto;width:clamp(14px,1vw,20px);height:clamp(14px,1vw,20px);color:var(--color-accent)}.dashboard-chat-control:hover,.dashboard-chat-icon-button:hover{border-color:var(--color-border-strong);background:#ff7f2626}.dashboard-chat-control.is-active,.dashboard-chat-icon-button.is-active{border-color:#ff7f2685;background:#ff7f2633;color:var(--color-text)}.dashboard-chat-icon-button:disabled{cursor:not-allowed;opacity:.52}.dashboard-chat-input{flex:0 0 auto}.dashboard-chat-input-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dashboard-chat-input input{min-width:0;flex:1 1 auto;height:clamp(34px,2.6vw,50px);border:1px solid var(--color-border);border-radius:999px;background:#0f07056b;color:var(--color-text);font:inherit;font-size:clamp(10px,.72vw,15px);outline:none;padding:0 clamp(12px,.95vw,18px)}.dashboard-chat-input input::-moz-placeholder{color:var(--color-text-soft)}.dashboard-chat-input input::placeholder{color:var(--color-text-soft)}.dashboard-chat-input input:focus{border-color:var(--color-border-strong);box-shadow:0 0 0 2px #ff7f261f}.face-row{padding:clamp(8px,.78vw,15px);border-radius:var(--radius-card);background:#0f070557;border:1px solid rgba(255,255,255,.055)}.face-avatar{flex:0 0 auto;width:clamp(27px,2.35vw,46px);height:clamp(27px,2.35vw,46px);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--color-text);font-size:clamp(11px,.85vw,18px);font-weight:780}.face-avatar--known{background:linear-gradient(145deg,#ff7f26eb,#a34918e6)}.face-avatar--unknown{background:#b9a69a29;border:1px solid rgba(185,166,154,.2)}.face-copy{min-width:0;flex:1 1 auto;display:flex;flex-direction:column;gap:3px}.equipment-table{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(7px,.65vw,14px)}.equipment-row{min-width:0;min-height:0;padding:clamp(8px,.72vw,14px);border-radius:var(--radius-card);border:1px solid rgba(255,255,255,.055);background:#0f070557;display:grid;grid-template-columns:minmax(110px,.9fr) minmax(78px,.55fr) minmax(150px,1.35fr) minmax(120px,.82fr);align-items:center;gap:clamp(8px,.72vw,16px)}.equipment-device{color:var(--color-text);font-size:clamp(11px,.78vw,17px);font-weight:650}.equipment-state{flex:0 0 auto;width:clamp(24px,1.9vw,38px);height:clamp(24px,1.9vw,38px);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#ff7f2621}.equipment-state svg{width:clamp(13px,.95vw,20px);height:clamp(13px,.95vw,20px)}.equipment-state--success{color:var(--color-success)}.equipment-state--pending{color:#f4d0a7}.equipment-state--warning{color:var(--color-warning)}.equipment-state--offline{color:var(--color-text-soft)}.equipment-room,.equipment-action,.equipment-meta{color:var(--color-text-muted);font-size:clamp(10px,.7vw,15px)}.equipment-meta{justify-content:space-between}.state-label{flex:0 0 auto;padding:clamp(4px,.35vw,7px) clamp(7px,.58vw,12px);border-radius:999px;font-size:clamp(9px,.6vw,13px);font-weight:750;line-height:1;text-transform:uppercase}.state-label--success{color:#cff2bd;background:#8ed66d1f}.state-label--pending{color:#ffe3bf;background:#f6b44c1c}.state-label--warning{color:#ffd89b;background:#f6b44c29}.state-label--offline{color:var(--color-text-muted);background:#b9a69a1a}.empty-state{min-height:0;display:grid;place-items:center;color:var(--color-text-soft);font-size:clamp(10px,.7vw,15px)}.item-strip>.empty-state,.equipment-table>.empty-state{grid-column:1 / -1}.startup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;min-width:1024px;min-height:600px;overflow:hidden;background:radial-gradient(circle at 50% 46%,rgba(255,127,38,.22),transparent 24%),radial-gradient(circle at 23% 22%,rgba(189,91,33,.24),transparent 28%),linear-gradient(140deg,#120805fa,#080302fa 74%);color:var(--color-text);animation:startupReveal .26s ease-out both}.startup-overlay.is-closing{pointer-events:none;animation:startupClose .42s ease both}.startup-grid{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;opacity:.28;background:linear-gradient(rgba(255,127,38,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,127,38,.1) 1px,transparent 1px);background-size:clamp(34px,3vw,86px) clamp(34px,3vw,86px);transform:perspective(900px) rotateX(64deg) translateY(13%);transform-origin:center bottom;animation:startupGrid 10s linear both}.startup-stage{position:absolute;inset:clamp(58px,7vh,120px) clamp(110px,11vw,360px) clamp(86px,9vh,180px)}.startup-core-zone,.startup-owl-zone,.startup-dialogue,.startup-projection,.startup-reasoning{position:absolute;display:grid;place-items:center}.startup-core-zone{left:50%;top:46%;width:clamp(230px,22vw,560px);height:clamp(230px,22vw,560px);transform:translate(-50%,-50%)}.startup-halo{position:absolute;border-radius:50%;border:1px solid rgba(255,179,117,.34);box-shadow:0 0 28px #ff7f262e,inset 0 0 28px #ff7f261a}.startup-halo--outer{top:0;right:0;bottom:0;left:0;animation:startupHalo 3.2s ease-in-out infinite}.startup-halo--middle{top:16%;right:16%;bottom:16%;left:16%;animation:startupHalo 2.6s ease-in-out .32s infinite reverse}.startup-halo--inner{top:31%;right:31%;bottom:31%;left:31%;animation:startupHalo 2.2s ease-in-out .64s infinite}.startup-circuit{position:absolute;top:50%;width:clamp(180px,20vw,520px);height:1px;background:linear-gradient(90deg,transparent,rgba(255,127,38,.72),transparent);box-shadow:0 0 18px #ff7f2657;opacity:0;animation:startupCircuit 10s ease both}.startup-circuit--left{right:66%}.startup-circuit--right{left:66%}.startup-product{position:relative;z-index:2;display:block;height:auto;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 24px 34px rgba(0,0,0,.5));-webkit-user-select:none;-moz-user-select:none;user-select:none}.startup-product--core{width:clamp(126px,12vw,310px);animation:startupCore 10s ease both}.startup-product--owl{width:clamp(132px,14vw,340px);animation:startupOwl 10s ease both}.startup-core-label,.startup-owl-label{position:absolute;z-index:3;bottom:15%;padding:clamp(6px,.55vw,12px) clamp(10px,.9vw,18px);border:1px solid var(--color-border);border-radius:999px;background:#170a06b8;color:var(--color-text-muted);font-size:clamp(10px,.72vw,16px);font-weight:700;white-space:nowrap;opacity:0;animation:startupLabel 10s ease both}.startup-owl-label{bottom:-13%;animation-delay:0ms}.startup-owl-zone{left:74%;top:34%;width:clamp(190px,17vw,420px);height:clamp(150px,14vw,360px);transform:translate(-50%,-50%)}.startup-detection-frame{position:absolute;border:1px solid rgba(255,176,111,.64);border-radius:14px;opacity:0;box-shadow:0 0 18px #ff7f2638;animation:startupDetection 10s ease both}.startup-detection-frame--one{left:9%;top:10%;width:34%;height:33%}.startup-detection-frame--two{right:11%;bottom:17%;width:42%;height:38%;animation-delay:.22s}.startup-scan-beam{position:absolute;left:6%;right:6%;height:2px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(255,214,177,.92),transparent);box-shadow:0 0 28px #ff7f2680;opacity:0;animation:startupScanBeam 10s ease both}.startup-dialogue{left:26%;top:38%;width:clamp(130px,11vw,280px);height:clamp(76px,6vw,150px);transform:translate(-50%,-50%);opacity:0;animation:startupModule 10s ease both}.startup-dialogue span{position:absolute;bottom:34%;width:9px;border-radius:999px;background:linear-gradient(#ffe1c4,var(--color-accent));box-shadow:0 0 16px #ff7f2647;animation:startupWave .9s ease-in-out infinite}.startup-dialogue span:nth-child(1){left:30%;height:24%}.startup-dialogue span:nth-child(2){left:42%;height:50%;animation-delay:.12s}.startup-dialogue span:nth-child(3){left:54%;height:34%;animation-delay:.24s}.startup-dialogue span:nth-child(4){left:66%;height:62%;animation-delay:.36s}.startup-projection{left:54%;bottom:0;width:clamp(260px,28vw,680px);height:clamp(130px,12vw,330px);transform:translate(-50%);opacity:0;animation:startupProjection 10s ease both}.startup-projection-beam{position:absolute;top:0;width:54%;height:100%;clip-path:polygon(44% 0,56% 0,100% 100%,0 100%);background:linear-gradient(180deg,rgba(255,127,38,.36),transparent)}.startup-projection-map{position:absolute;bottom:9%;width:82%;height:48%;border:1px solid rgba(255,178,113,.24);border-radius:18px;background:linear-gradient(rgba(255,127,38,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(255,127,38,.14) 1px,transparent 1px);background-size:16px 16px;transform:perspective(520px) rotateX(62deg)}.startup-reasoning{right:12%;bottom:18%;width:clamp(170px,15vw,360px);height:clamp(120px,10vw,250px);opacity:0;animation:startupReasoning 10s ease both}.startup-reasoning span{position:absolute;width:clamp(10px,.8vw,18px);height:clamp(10px,.8vw,18px);border-radius:50%;background:#ffd7b4;box-shadow:0 0 22px #ff7f2685}.startup-reasoning span:nth-child(1){left:20%;top:20%}.startup-reasoning span:nth-child(2){right:25%;top:32%}.startup-reasoning span:nth-child(3){left:38%;bottom:22%}.startup-reasoning span:nth-child(4){right:12%;bottom:19%}.startup-reasoning:before{position:absolute;top:20%;right:20%;bottom:20%;left:20%;background:linear-gradient(35deg,transparent 48%,rgba(255,127,38,.56) 49%,rgba(255,127,38,.56) 51%,transparent 52%),linear-gradient(145deg,transparent 48%,rgba(255,127,38,.44) 49%,rgba(255,127,38,.44) 51%,transparent 52%);content:""}.startup-dialogue strong,.startup-projection strong,.startup-reasoning strong{position:absolute;bottom:0;padding:clamp(5px,.5vw,10px) clamp(9px,.8vw,16px);border-radius:999px;background:#0f0705ad;color:var(--color-text-muted);font-size:clamp(10px,.72vw,16px);white-space:nowrap}.startup-copy{position:absolute;left:clamp(28px,4vw,120px);top:clamp(28px,4vh,86px);display:flex;flex-direction:column;gap:clamp(7px,.7vw,14px)}.startup-eyebrow{color:var(--color-accent);font-size:clamp(10px,.78vw,18px);font-weight:760;text-transform:uppercase}.startup-copy h1{margin:0;color:var(--color-text);font-size:clamp(28px,4vw,96px);line-height:.96}.startup-timeline{position:absolute;left:clamp(28px,4vw,120px);bottom:clamp(28px,4vh,86px);width:min(36vw,560px);min-width:330px;margin:0;padding:0;display:grid;gap:clamp(7px,.66vw,14px);list-style:none}.startup-step{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(8px,.7vw,16px);padding:clamp(7px,.65vw,13px) clamp(9px,.85vw,18px);border:1px solid rgba(255,255,255,.06);border-radius:999px;background:#1b0d0894;color:var(--color-text-soft);opacity:.36;transform:translate(-12px);animation:startupStep 10s ease both;animation-delay:calc(var(--step-index) * 1.18s)}.startup-step svg{width:clamp(14px,1vw,22px);height:clamp(14px,1vw,22px);color:var(--color-accent)}.startup-step span{min-width:0;display:flex;align-items:baseline;justify-content:space-between;gap:12px}.startup-step strong,.startup-step small{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.startup-step strong{color:var(--color-text);font-size:clamp(10px,.76vw,17px)}.startup-step small{color:var(--color-text-soft);font-size:clamp(9px,.62vw,14px)}.startup-skip{position:absolute;right:clamp(24px,3vw,86px);top:clamp(24px,3vh,68px);min-width:clamp(72px,6vw,132px);height:clamp(34px,3.2vw,56px);border:1px solid var(--color-border-strong);border-radius:999px;background:#26160fc2;color:var(--color-text);cursor:pointer;font-size:clamp(11px,.78vw,17px);font-weight:760;transition:background .16s ease,transform .16s ease}.startup-skip:hover{background:#ff7f262e;transform:translateY(-1px)}.control-loading,.control-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:18;min-width:1024px;min-height:600px}.control-loading{display:grid;place-items:center;background:#0803029e;color:var(--color-text);font-weight:760}.control-overlay{padding:clamp(18px,2vw,42px);background:#080302b8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:grid;place-items:center}.control-panel-shell{width:min(1520px,calc(100vw - clamp(36px,4vw,84px)));height:min(900px,calc(100vh - clamp(36px,4vw,84px)));min-height:0;border:1px solid var(--color-border-strong);border-radius:var(--radius-panel);background:linear-gradient(145deg,#392116f5,#120805fa),var(--color-panel);box-shadow:0 30px 80px #0000008f,inset 0 1px #ffffff0e;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.control-header{min-width:0;padding:clamp(14px,1.2vw,26px);display:flex;align-items:center;justify-content:space-between;gap:var(--gap);border-bottom:1px solid rgba(255,255,255,.06)}.control-title-group{min-width:0;display:flex;align-items:center;gap:clamp(10px,.9vw,18px)}.control-title-icon,.control-device-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#ff7f2629;color:var(--color-accent)}.control-title-icon{width:clamp(38px,3vw,58px);height:clamp(38px,3vw,58px)}.control-title-icon svg{width:clamp(20px,1.5vw,30px);height:clamp(20px,1.5vw,30px)}.control-title-group h2,.control-confirm-card h3{margin:0;color:var(--color-text);font-size:clamp(20px,1.45vw,34px);line-height:1.05}.control-title-group p,.control-confirm-card p{margin:4px 0 0;color:var(--color-text-soft);font-size:clamp(10px,.72vw,15px)}.control-close{flex:0 0 auto;width:clamp(36px,2.8vw,52px);height:clamp(36px,2.8vw,52px);border:1px solid var(--color-border);border-radius:50%;background:#26160fbd;color:var(--color-text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.control-close svg{width:clamp(17px,1.2vw,24px);height:clamp(17px,1.2vw,24px)}.control-content{min-height:0;padding:clamp(12px,1.1vw,24px);display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);grid-template-areas:"master products" "rooms products" "demo products" "status products";gap:clamp(10px,.95vw,18px);align-items:start;overflow:auto;scrollbar-width:thin;scrollbar-color:rgba(255,127,38,.32) transparent}.control-section{min-width:0;min-height:auto;padding:clamp(11px,.95vw,20px);border:1px solid rgba(255,255,255,.055);border-radius:var(--radius-card);background:#0f070557;display:flex;flex-direction:column;gap:clamp(8px,.75vw,15px)}.control-section--master{grid-area:master}.control-section--rooms{grid-area:rooms}.control-section--products{grid-area:products}.control-section--demo{grid-area:demo}.control-section--status{grid-area:status}.control-section-heading{min-width:0;display:flex;align-items:center;gap:clamp(7px,.65vw,13px);color:var(--color-text);font-size:clamp(13px,.9vw,19px);font-weight:760}.control-section-heading svg{flex:0 0 auto;width:clamp(16px,1vw,22px);height:clamp(16px,1vw,22px);color:var(--color-accent)}.control-button-grid,.control-device-grid,.control-status-grid,.control-product-visuals{min-width:0;display:grid;gap:clamp(7px,.65vw,13px)}.control-button-grid,.control-button-grid--inline,.control-device-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.control-device-grid--products{grid-template-columns:repeat(3,minmax(0,1fr))}.control-command,.control-toggle{min-width:0;border:1px solid var(--color-border);border-radius:999px;background:#26160fbd;color:var(--color-text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:clamp(6px,.55vw,11px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:border-color .16s ease,background .16s ease,transform .16s ease}.control-command{height:clamp(34px,2.6vw,50px);padding:0 clamp(11px,.95vw,18px);font-size:clamp(10px,.72vw,15px);font-weight:750}.control-command svg{flex:0 0 auto;width:clamp(14px,1vw,20px);height:clamp(14px,1vw,20px);color:var(--color-accent)}.control-command:hover,.control-close:hover,.control-toggle:hover{border-color:var(--color-border-strong);background:#ff7f2626}.control-command:focus-visible,.control-close:focus-visible,.control-toggle:focus-visible{outline:2px solid rgba(255,210,172,.88);outline-offset:3px}.control-command.is-active,.control-toggle.is-active{border-color:#ff7f2685;background:#ff7f2633;color:var(--color-text)}.control-command.is-danger{border-color:#f6b44c57;color:#ffd7aa;background:#7632156b}.control-device{min-width:0;padding:clamp(8px,.75vw,14px);border:1px solid rgba(255,255,255,.055);border-radius:var(--radius-card);background:#09040347;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"main toggle" "status toggle";align-items:center;gap:clamp(6px,.55vw,11px)}.control-device-main{grid-area:main;min-width:0;display:flex;align-items:center;gap:clamp(7px,.65vw,13px)}.control-device-icon{width:clamp(28px,2.3vw,44px);height:clamp(28px,2.3vw,44px)}.control-device-icon svg{width:clamp(15px,1.05vw,21px);height:clamp(15px,1.05vw,21px)}.control-device-main span:last-child{min-width:0;display:flex;flex-direction:column;gap:2px}.control-device strong,.control-device small,.control-device-status span:last-child{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.control-device strong{color:var(--color-text);font-size:clamp(11px,.78vw,16px)}.control-device small,.control-device-status{color:var(--color-text-soft);font-size:clamp(9px,.64vw,13px)}.control-device-status{grid-area:status;min-width:0;display:flex;align-items:center;gap:6px}.control-dot{flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:var(--color-text-soft)}.control-dot.is-online{background:var(--color-success);box-shadow:0 0 12px #8ed66d80}.control-dot.is-standby{background:var(--color-warning);box-shadow:0 0 12px #f6b44c75}.control-dot.is-off{background:#ef5b45;box-shadow:0 0 12px #ef5b456b}.control-dot.is-offline{background:var(--color-text-soft)}.control-device-status-text{padding:2px 7px;border-radius:999px}.control-device-status-text.is-online{color:#c7f1b1;background:#8ed66d1a}.control-device-status-text.is-standby{color:#ffd89b;background:#f6b44c1f}.control-device-status-text.is-off{color:#ffb8aa;background:#ef5b451f}.control-device-status-text.is-offline{color:var(--color-text-muted);background:#b9a69a1a}.control-toggle{grid-area:toggle;min-width:clamp(48px,3.8vw,74px);height:clamp(28px,2.2vw,40px);padding:0 clamp(8px,.7vw,13px);font-size:clamp(10px,.68vw,14px);font-weight:800}.control-product-visuals{grid-template-columns:repeat(2,minmax(0,1fr))}.control-product-visuals article{min-width:0;min-height:clamp(84px,7vw,150px);padding:clamp(9px,.8vw,16px);border:1px solid rgba(255,255,255,.055);border-radius:var(--radius-card);background:radial-gradient(circle at 50% 38%,rgba(255,127,38,.18),transparent 54%);display:grid;grid-template-rows:minmax(0,1fr) auto;place-items:center;gap:7px}.control-product-visuals img{max-width:min(56%,170px);max-height:clamp(54px,5.2vw,112px);height:auto;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 13px 22px rgba(0,0,0,.45))}.control-product-visuals span{color:var(--color-text-muted);font-size:clamp(10px,.72vw,14px);font-weight:750;text-align:center;white-space:nowrap}.control-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.control-status-grid span{min-width:0;padding:clamp(8px,.75vw,14px);border:1px solid rgba(255,255,255,.055);border-radius:var(--radius-card);background:#09040347;color:var(--color-text-soft);display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:3px 8px;font-size:clamp(9px,.64vw,13px)}.control-status-grid svg{grid-row:1 / 3;width:clamp(15px,1vw,21px);height:clamp(15px,1vw,21px);color:var(--color-accent)}.control-status-grid strong{min-width:0;color:var(--color-text);font-size:clamp(11px,.78vw,16px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.control-confirm{position:fixed;top:0;right:0;bottom:0;left:0;z-index:19;display:grid;place-items:center;background:#080302ad}.control-confirm-card{width:min(420px,calc(100vw - 56px));padding:clamp(18px,1.6vw,28px);border:1px solid var(--color-border-strong);border-radius:var(--radius-card);background:linear-gradient(145deg,#392116fa,#120805fc);box-shadow:0 24px 70px #00000085}.control-confirm-actions{margin-top:clamp(14px,1.2vw,22px);display:flex;justify-content:flex-end;gap:10px}.control-content--hub{grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);grid-template-areas:"connection connection" "relay gimbal" "servos servos" "hubstatus hubstatus"}.control-section--connection{grid-area:connection}.control-section--relay{grid-area:relay}.control-section--gimbal{grid-area:gimbal}.control-section--servos{grid-area:servos}.control-section--hub-status{grid-area:hubstatus}.control-section-heading small{min-width:0;margin-left:auto;color:var(--color-text-soft);font-size:clamp(9px,.62vw,13px);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.control-command:disabled,.control-toggle:disabled,.control-segment:disabled,.hub-gimbal-keys button:disabled,.hub-servo input:disabled{cursor:not-allowed;opacity:.48}.control-command.is-primary{border-color:#ff7f2680;background:#ff7f2638;color:var(--color-text)}.hub-connection-grid{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.56fr) minmax(230px,.7fr);gap:clamp(8px,1.6vw,14px);align-items:stretch}.hub-connection-status,.hub-command-summary,.hub-relay,.hub-servo{min-width:0;border:1px solid rgba(255,255,255,.055);border-radius:var(--radius-card);background:#09040347}.hub-connection-status{padding:clamp(9px,.8vw,15px);display:flex;align-items:center;gap:clamp(8px,.7vw,14px)}.hub-connection-status div,.hub-command-summary{min-width:0;display:flex;flex-direction:column;gap:3px}.hub-connection-status strong,.hub-command-summary strong{color:var(--color-text);font-size:clamp(12px,.84vw,17px);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hub-connection-status small,.hub-command-summary small{color:var(--color-text-soft);font-size:clamp(9px,.64vw,13px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hub-mode-switch{min-width:166px;padding:4px;border:1px solid var(--color-border);border-radius:999px;background:#26160fbd;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-self:center}.control-segment{min-width:0;height:clamp(28px,2.1vw,38px);padding:0 clamp(8px,.7vw,13px);border-radius:999px;color:var(--color-text-soft);font-size:clamp(9px,.64vw,13px);font-weight:800;white-space:nowrap}.control-segment.is-active{background:#ff7f2638;color:var(--color-text);box-shadow:inset 0 0 0 1px #ff7f2638}.hub-connection-actions{min-width:0;display:grid;align-self:center}.hub-power-button{min-height:clamp(42px,3.4vw,62px);border-width:1px;font-size:clamp(11px,.78vw,16px)}.hub-power-button svg{width:clamp(18px,1.35vw,26px);height:clamp(18px,1.35vw,26px)}.hub-power-button.is-connected{border-color:#5eead475;background:#14b8a62e;color:var(--color-text)}.hub-power-button.is-connecting{border-color:#ffd6b175;background:#ff7f2633;color:var(--color-text)}.hub-power-button.is-disconnected{border-color:#ff7f2680;background:#ff7f2638;color:var(--color-text)}.hub-power-button.is-error{border-color:#f6b44c70;background:#7632156b;color:#ffd7aa}.hub-command-summary{padding:clamp(8px,.72vw,14px)}.hub-command-summary span{min-width:0;color:var(--color-text-soft);font-size:clamp(9px,.64vw,13px);display:flex;align-items:center;gap:6px}.hub-command-summary svg{flex:0 0 auto;width:14px;height:14px;color:var(--color-accent)}.hub-error,.hub-notice{min-width:0;padding:clamp(8px,.72vw,13px);border:1px solid rgba(246,180,76,.28);border-radius:var(--radius-card);background:#76321533;color:#ffd7aa;display:flex;align-items:center;gap:8px;font-size:clamp(10px,.7vw,14px)}.hub-notice{border-color:#b9a69a2e;background:#b9a69a14;color:var(--color-text-muted)}.hub-error svg,.hub-notice svg{flex:0 0 auto;width:16px;height:16px}.hub-error span,.hub-notice span{min-width:0;flex:1}.hub-error button{flex:0 0 auto;color:var(--color-text);font-size:inherit;font-weight:800;text-decoration:underline;text-underline-offset:3px}.hub-product-strip{min-width:0;min-height:clamp(70px,5.8vw,118px);padding:clamp(8px,.75vw,14px);border:1px solid rgba(255,255,255,.055);border-radius:var(--radius-card);background:radial-gradient(circle at 24% 42%,rgba(255,127,38,.18),transparent 48%),#09040347;display:flex;align-items:center;justify-content:space-between;gap:clamp(8px,.75vw,15px)}.hub-product-strip--owl{min-height:clamp(62px,5vw,100px)}.hub-product-strip img{max-width:min(42%,148px);max-height:clamp(52px,4.8vw,94px);height:auto;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 13px 22px rgba(0,0,0,.45))}.hub-product-strip--owl img{max-width:min(44%,172px)}.hub-product-strip>span{min-width:0;color:var(--color-text-muted);font-size:clamp(10px,.72vw,14px);font-weight:800;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hub-mode-badge{padding:clamp(5px,.45vw,8px) clamp(8px,.7vw,13px);border:1px solid rgba(255,127,38,.3);border-radius:999px;background:#ff7f261f;color:#ffd4b6}.hub-mode-badge.is-mock{border-color:#f6b44c52;background:#f6b44c1f;color:#ffd89b}.hub-relay-grid{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(7px,.65vw,13px)}.hub-sensor-panel{min-width:0;display:grid;gap:clamp(8px,.72vw,14px)}.hub-sensor-panel-heading{min-width:0;display:flex;align-items:center;gap:8px;color:var(--color-text);font-size:clamp(11px,.78vw,16px);font-weight:800}.hub-sensor-panel-heading svg{flex:0 0 auto;width:clamp(14px,1vw,20px);height:clamp(14px,1vw,20px);color:var(--color-accent)}.hub-sensor-grid{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(7px,.65vw,13px)}.hub-sensor{min-width:0;padding:clamp(9px,.78vw,15px);border:1px solid rgba(255,255,255,.055);border-radius:var(--radius-card);background:#09040347;display:grid;gap:clamp(7px,.62vw,12px)}.hub-sensor.is-normal{border-color:#8ed66d33}.hub-sensor.is-warning{border-color:#f6b44c52;background:#7632153d}.hub-sensor.is-danger{border-color:#ef5b4566;background:#5e181047}.hub-sensor-topline,.hub-sensor-meta{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px}.hub-sensor-tag{padding:3px 7px;border:1px solid rgba(45,212,191,.22);border-radius:6px;background:#14b8a61f;color:#67e8f9;font-size:clamp(8px,.56vw,11px);font-weight:850;letter-spacing:0}.hub-sensor strong{min-width:0;color:var(--color-text);font-size:clamp(10px,.72vw,15px);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hub-sensor-topline em{color:var(--color-text-soft);font-size:clamp(9px,.62vw,13px);font-style:normal;font-weight:760;white-space:nowrap}.hub-sensor.is-normal .hub-sensor-topline em{color:#c7f1b1}.hub-sensor.is-warning .hub-sensor-topline em{color:#ffd89b}.hub-sensor.is-danger .hub-sensor-topline em{color:#ffb8aa}.hub-sensor-reading{min-width:0;display:flex;align-items:baseline;gap:4px}.hub-sensor-reading strong{color:var(--color-accent);font-size:clamp(22px,1.7vw,36px);line-height:1}.hub-sensor-reading span,.hub-sensor-meta span{color:var(--color-text-soft);font-size:clamp(8px,.58vw,12px)}.hub-sensor-meter{position:relative;height:clamp(5px,.45vw,8px);overflow:hidden;border-radius:999px;background:#ffffff1a}.hub-sensor-meter span{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:linear-gradient(90deg,#67e8f9,var(--color-accent))}.hub-sensor.is-warning .hub-sensor-meter span{background:linear-gradient(90deg,#f6b44c,var(--color-accent))}.hub-sensor.is-danger .hub-sensor-meter span{background:linear-gradient(90deg,#ef5b45,#ffb86b)}.hub-sensor-meta{grid-template-columns:minmax(0,1fr) auto}.hub-sensor-meta span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hub-relay{padding:clamp(8px,.75vw,14px);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.hub-relay.is-active{border-color:#ff7f2657;background:#ff7f261a}.hub-relay div{min-width:0;display:flex;flex-direction:column;gap:2px}.hub-relay strong,.hub-servo strong{min-width:0;color:var(--color-text);font-size:clamp(10px,.72vw,15px);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hub-relay span,.hub-servo span{color:var(--color-text-soft);font-size:clamp(8px,.58vw,12px)}.hub-servo-grid{min-width:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(7px,.65vw,13px)}.hub-servo{padding:clamp(8px,.72vw,13px);display:flex;flex-direction:column;gap:clamp(6px,.55vw,10px)}.hub-servo-topline{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:7px;align-items:center}.hub-servo em{color:var(--color-accent);font-size:clamp(10px,.72vw,14px);font-style:normal;font-weight:800;white-space:nowrap}.hub-servo input{width:100%;accent-color:var(--color-accent);cursor:pointer;touch-action:none}.hub-gimbal{min-width:0;display:grid;grid-template-columns:minmax(220px,1fr) minmax(160px,.62fr);grid-template-areas:"pad readout" "pad keys";gap:clamp(9px,.8vw,16px);align-items:center}.hub-gimbal-pad{--gimbal-stick-size: clamp(42px, 3.8vw, 70px);grid-area:pad;position:relative;aspect-ratio:1;width:min(100%,360px);min-width:220px;justify-self:center;border:1px solid rgba(255,255,255,.06);border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(255,127,38,.15),transparent 21%),radial-gradient(circle at 50% 50%,rgba(255,255,255,.05),transparent 56%),#0904035c;overflow:hidden;touch-action:none}.hub-gimbal-pad:focus-visible{outline:2px solid rgba(255,210,172,.88);outline-offset:4px}.hub-gimbal-pad.is-disabled{opacity:.56}.hub-gimbal-pad.is-dragging .hub-gimbal-stick{transition:none}.hub-gimbal-crosshair{position:absolute;top:18%;right:18%;bottom:18%;left:18%;border-left:1px solid rgba(255,255,255,.18);border-top:1px solid rgba(255,255,255,.18)}.hub-gimbal-crosshair:after{position:absolute;left:50%;top:-10%;width:1px;height:120%;background:#ffffff14;content:""}.hub-gimbal-stick{position:absolute;width:var(--gimbal-stick-size);height:var(--gimbal-stick-size);border:3px solid rgba(255,255,255,.86);border-radius:50%;background:var(--color-accent);box-shadow:0 0 28px #ff7f2673;transform:translate(-50%,-50%);transition:left .12s ease,top .12s ease}.hub-gimbal-readout{grid-area:readout;min-width:0;display:grid;gap:8px}.hub-gimbal-readout span{min-width:0;padding:clamp(10px,.8vw,15px);border:1px solid rgba(255,255,255,.055);border-radius:var(--radius-card);background:#09040347;display:flex;flex-direction:column;align-items:center;gap:3px}.hub-gimbal-readout small{color:var(--color-text-soft);font-size:clamp(8px,.58vw,12px);font-weight:800;text-transform:uppercase;white-space:nowrap}.hub-gimbal-readout strong{color:var(--color-accent);font-size:clamp(20px,1.5vw,32px);line-height:1}.hub-gimbal-keys{grid-area:keys;min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,44px));grid-template-areas:". up ." "left center right" ". down .";justify-content:center;gap:7px}.hub-gimbal-keys button{width:clamp(39px,3.1vw,51px);height:clamp(39px,3.1vw,51px);border:1px solid var(--color-border);border-radius:50%;background:#26160fbd;color:var(--color-text);display:inline-flex;align-items:center;justify-content:center}.hub-gimbal-keys button:hover{border-color:var(--color-border-strong);background:#ff7f2626}.hub-gimbal-keys button:nth-child(1){grid-area:up}.hub-gimbal-keys button:nth-child(2){grid-area:left}.hub-gimbal-keys button:nth-child(3){grid-area:center}.hub-gimbal-keys button:nth-child(4){grid-area:right}.hub-gimbal-keys button:nth-child(5){grid-area:down}.hub-gimbal-keys svg{width:clamp(17px,1.21vw,23px);height:clamp(17px,1.21vw,23px);color:var(--color-accent)}@keyframes pulseLive{0%{box-shadow:0 0 #ff7f2685}70%{box-shadow:0 0 0 9px #ff7f2600}to{box-shadow:0 0 #ff7f2600}}@keyframes startupReveal{0%{opacity:0}to{opacity:1}}@keyframes startupClose{to{opacity:0;transform:scale(1.012)}}@keyframes startupGrid{0%{background-position:0 0}to{background-position:0 120px}}@keyframes startupHalo{0%,to{opacity:.36;transform:scale(.98)}50%{opacity:.96;transform:scale(1.04)}}@keyframes startupCircuit{7%,86%{opacity:.8;transform:scaleX(1)}0%,to{opacity:0;transform:scaleX(.35)}}@keyframes startupCore{0%{opacity:0;transform:translateY(18px) scale(.78)}12%,to{opacity:1;transform:translateY(0) scale(1)}}@keyframes startupOwl{0%,17%{opacity:0;transform:translate(-20px,12px) scale(.82)}28%,to{opacity:1;transform:translate(0) scale(1)}}@keyframes startupLabel{0%,8%{opacity:0;transform:translateY(8px)}15%,92%{opacity:1;transform:translateY(0)}to{opacity:0}}@keyframes startupDetection{0%,24%{opacity:0;transform:scale(.86)}33%,60%{opacity:1;transform:scale(1)}74%,to{opacity:.3;transform:scale(1.06)}}@keyframes startupScanBeam{0%,24%{opacity:0;top:12%}30%,58%{opacity:1}63%,to{opacity:0;top:82%}}@keyframes startupModule{0%,37%{opacity:0;transform:translate(-50%,-44%) scale(.86)}44%,76%{opacity:1;transform:translate(-50%,-50%) scale(1)}88%,to{opacity:0}}@keyframes startupWave{0%,to{transform:scaleY(.7)}50%{transform:scaleY(1.22)}}@keyframes startupProjection{0%,50%{opacity:0;transform:translate(-50%) translateY(16px)}58%,82%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:.3}}@keyframes startupReasoning{0%,64%{opacity:0;transform:translateY(18px) scale(.9)}72%,96%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0}}@keyframes startupStep{0%{opacity:.36;transform:translate(-12px)}10%,70%{opacity:1;transform:translate(0)}to{opacity:.52;transform:translate(0)}}@media(max-width:1120px){.dashboard-app{padding:10px;gap:8px}.dashboard-grid{gap:8px;grid-template-columns:minmax(0,1.17fr) minmax(0,.86fr) minmax(0,.78fr)}.panel:not(.camera-panel){padding:10px}.topbar-chip:first-child{display:none}.environment-status{grid-template-columns:repeat(4,minmax(0,auto));gap:5px}.environment-status.has-sensor-chips{grid-template-columns:repeat(6,minmax(0,auto))}.environment-chip{padding:0 8px}.environment-label,.environment-chip--date .environment-label{display:none}.environment-chip--date strong{max-width:156px}.topbar-action span{display:none}.equipment-table{grid-template-columns:repeat(4,minmax(0,1fr))}.equipment-row{grid-template-columns:minmax(0,1fr);gap:5px;align-content:start}.equipment-action{color:var(--color-text-soft);font-size:9px;line-height:1.1}.equipment-room{color:var(--color-text-muted);font-size:9px;line-height:1.1}.equipment-meta{margin-top:auto}.control-overlay{padding:10px}.control-panel-shell{width:calc(100vw - 20px);height:calc(100vh - 20px)}.control-header{padding:10px 12px}.control-title-icon{width:34px;height:34px}.control-title-group h2{font-size:18px}.control-title-group p{font-size:10px}.control-close{width:34px;height:34px}.control-content{padding:10px;display:flex;flex-direction:column;align-items:stretch;gap:8px}.control-section{flex:0 0 auto;min-height:auto;padding:9px;gap:7px}.control-section-heading{font-size:12px}.control-button-grid,.control-device-grid,.control-status-grid,.control-product-visuals{gap:6px}.control-device-grid--products{grid-template-columns:repeat(2,minmax(0,1fr))}.control-command{height:30px;padding:0 8px;font-size:9px}.control-device{padding:7px;gap:5px}.control-device-icon{width:26px;height:26px}.control-device strong{font-size:10px}.control-device small,.control-device-status{font-size:8px}.control-toggle{min-width:42px;height:26px;font-size:9px}.control-product-visuals article{min-height:72px;padding:7px}.control-product-visuals img{max-height:46px}.control-product-visuals span{font-size:9px}.control-status-grid span{padding:7px;font-size:8px}.control-status-grid strong{font-size:10px}.control-section-heading small{font-size:8px}.hub-connection-grid,.hub-gimbal{display:flex;flex-direction:column;align-items:stretch}.hub-mode-switch{min-width:0;width:100%}.hub-connection-actions{grid-template-columns:1fr}.hub-product-strip{min-height:64px}.hub-product-strip img{max-height:48px}.hub-relay-grid,.hub-servo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-relay,.hub-servo{padding:7px}.hub-gimbal-pad{min-width:190px;width:min(100%,260px)}.hub-gimbal-readout{grid-template-columns:repeat(2,minmax(0,1fr))}.startup-stage{top:72px;right:82px;bottom:62px;left:82px}.startup-timeline{width:320px;min-width:320px}.startup-step{padding:6px 10px}.startup-step small{display:none}}@media(min-width:2400px){:root{--gap: 28px;--pad: 28px}.dashboard-app{padding:32px;grid-template-rows:86px minmax(0,1fr)}.brand-lockup img{width:360px;max-height:72px}.topbar-chip,.camera-time,.camera-resolution,.camera-source-chip,.signal-chip{font-size:18px}.panel-title,.camera-label{font-size:30px}.panel-eyebrow,.camera-room,.panel-action,.record-time,.item-location,.item-meta,.face-time,.equipment-room,.equipment-action,.equipment-meta{font-size:17px}.item-name,.record-zone,.face-label,.equipment-device{font-size:21px}.record-summary,.conversation-text,.assistant-chat-message-text,.assistant-chat-reply-context,.dashboard-chat-message-text,.dashboard-chat-error{font-size:18px}.record-row,.conversation-row,.dashboard-chat-message,.face-row,.equipment-row,.item-card{padding:22px}.record-list,.conversation-list,.dashboard-chat-list,.face-list{gap:18px}.status-badge,.speaker,.dashboard-chat-proactive,.dashboard-chat-unavailable,.state-label{font-size:15px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-delay:0ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}.startup-grid,.startup-circuit,.startup-detection-frame,.startup-scan-beam{opacity:.34}.startup-product,.startup-core-label,.startup-owl-label,.startup-step{opacity:1;transform:none}.startup-dialogue{opacity:1;transform:translate(-50%,-50%)}.startup-projection{opacity:1;transform:translate(-50%)}.startup-reasoning{opacity:1;transform:none}}
