:root {
  --bg:#0a1110;
  --panel:#101a18;
  --panel-alt:#13211e;
  --line:rgba(215,235,223,.16);
  --text:#edf5ef;
  --text-soft:#c7d7cf;
  --muted:#9aaea5;
  --mint:#69d9b4;
  --aqua:#5ab7ce;
  --warn:#e4be69;
  --danger:#e97968;
  --font-family:Inter,"Segoe UI",Arial,sans-serif;
  --kpi-title-size:11px;
  --kpi-title-weight:400;
  --kpi-title-line-height:14px;
  --kpi-value-size:22px;
  --kpi-value-weight:520;
  --kpi-value-line-height:26px;
  --kpi-detail-size:11px;
  --kpi-detail-weight:400;
  --kpi-detail-line-height:14px;
  --kpi-padding:17px;
  --kpi-value-gap:12px;
  --kpi-detail-gap:5px;
  --tile-title-size:13px;
  --tile-title-weight:600;
  --tile-header-height:55px;
  --tile-context-size:10px;
  --tile-context-header-height:72px;
  --tile-header-padding-top:15px;
  --tile-padding-x:16px;
  --tile-status-size:12px;
  --tile-status-weight:400;
  --plot-font-size:11px;
  --plot-legend-size:10px;
  color-scheme:dark;
}

* { box-sizing:border-box; }
body { margin:0; min-width:320px; background:var(--bg); color:var(--text); font-family:var(--font-family); }
button,input,select { font:inherit; }
button { cursor:pointer; }

.app-shell { max-width:1920px; min-height:100vh; margin:0 auto; padding:0 24px 28px; }
.topbar { position:relative; min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:22px; border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:11px; }
.brand-mark { width:25px; height:25px; background:conic-gradient(from 140deg,var(--mint),var(--aqua),var(--warn),var(--mint)); clip-path:polygon(50% 0,100% 28%,82% 100%,15% 82%,0 30%); }
.brand p,.eyebrow { margin:0; color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.02em; text-transform:uppercase; }
.brand h1 { margin:2px 0 0; font-size:17px; font-weight:650; }
.toolbar { display:flex; align-items:center; gap:15px; }
.toolbar label { display:grid; gap:3px; color:var(--muted); font-size:10px; font-weight:700; text-transform:uppercase; }
.toolbar label[hidden] { display:none; }
.toolbar select,.toolbar input { min-width:140px; border:0; border-bottom:1px solid var(--line); outline:0; background:transparent; color:var(--text); font-size:13px; padding:3px 0; }
.toolbar #currencySelect { min-width:80px; }
.toolbar #simulationSelect { width:min(280px,28vw); }
.toolbar option { background:var(--panel); }
.connection { display:inline-flex; align-items:center; gap:7px; color:var(--muted); font-size:11px; white-space:nowrap; }
.connection i { width:7px; height:7px; border-radius:50%; background:var(--warn); box-shadow:0 0 9px var(--warn); }
.connection.ready i { background:var(--mint); box-shadow:0 0 9px var(--mint); }
.connection.error i { background:var(--danger); box-shadow:0 0 9px var(--danger); }
.webxr-session-button { min-height:32px; border:1px solid rgba(105,217,180,.55); border-radius:4px; background:rgba(105,217,180,.09); color:var(--mint); padding:0 11px; font-size:11px; white-space:nowrap; }
.webxr-session-button:hover:not(:disabled),.webxr-session-button:focus-visible { border-color:var(--mint); background:rgba(105,217,180,.17); outline:0; }
.webxr-session-button:disabled { border-color:rgba(130,157,146,.28); color:#789084; background:transparent; cursor:not-allowed; }
.asset-nav.is-moderator-controlled .tree-item:disabled,.page-tab:disabled { cursor:not-allowed; opacity:.58; }
.webxr-session-button.is-active { border-color:var(--mint); background:rgba(105,217,180,.2); color:#effff8; }
.control-center-button { display:grid; width:34px; height:34px; flex:0 0 34px; place-items:center; border:1px solid var(--line); border-radius:4px; background:rgba(105,217,180,.06); color:var(--text-soft); padding:0; }
.control-center-button:hover,.control-center-button:focus-visible,.control-center-button[aria-expanded="true"] { border-color:var(--mint); outline:0; background:rgba(105,217,180,.14); color:var(--mint); }
.control-center-button .material-symbols-rounded { font-size:20px; }
.control-center { position:absolute; z-index:1300; top:calc(100% - 5px); right:0; display:grid; grid-template-rows:auto auto minmax(0,1fr) auto; width:min(390px,calc(100vw - 32px)); max-height:min(620px,calc(100vh - 92px)); overflow:hidden; border:1px solid rgba(105,217,180,.58); border-radius:8px; background:rgba(12,25,21,.98); box-shadow:0 24px 64px rgba(0,0,0,.52); }
.control-center[hidden] { display:none; }
.control-center__heading { padding:18px 20px 14px; }
.control-center__heading h2 { margin:4px 0 0; font-size:19px; font-weight:620; }
.control-center__tabs { display:flex; gap:5px; padding:0 16px 12px; border-bottom:1px solid var(--line); }
.control-center__tab { flex:1; min-height:34px; border:1px solid transparent; border-radius:4px; background:transparent; color:var(--muted); font-size:12px; }
.control-center__tab:hover,.control-center__tab:focus-visible,.control-center__tab[aria-selected="true"] { border-color:var(--line); outline:0; color:var(--text); }
.control-center__tab[aria-selected="true"] { border-color:var(--mint); background:rgba(105,217,180,.1); color:var(--mint); }
.control-center__content { min-height:170px; overflow-y:auto; padding:18px 20px 22px; scrollbar-color:rgba(105,217,180,.45) transparent; }
.control-center__description,.control-center__status { margin:0; color:var(--text-soft); font-size:12px; line-height:1.45; }
.control-center__introduction { margin:0 0 18px; color:var(--text-soft); font-size:13px; line-height:1.5; }
.control-center__input-section + .control-center__input-section { margin-top:22px; }
.control-center__input-section h3 { margin:0 0 9px; color:var(--text); font-size:13px; }
.control-center__input-section dl { display:grid; gap:0; margin:0; }
.control-center__input-section dl div { display:grid; grid-template-columns:minmax(118px,.8fr) 1.2fr; gap:12px; border-top:1px solid var(--line); padding:9px 0; }
.control-center__input-section dt,.control-center__input-section dd { margin:0; font-size:11px; line-height:1.45; }
.control-center__input-section dd { color:var(--text-soft); }
.control-center__input-section kbd { display:inline-block; max-width:100%; border:1px solid rgba(105,217,180,.38); border-radius:4px; background:rgba(105,217,180,.08); color:var(--mint); padding:2px 5px; font:600 10px/1.45 var(--font-family); }
.control-center__input-note { margin:8px 0 0; color:var(--muted); font-size:10px; line-height:1.5; }
.control-center__input-note--final { margin-top:18px; }
.control-center__setting { margin-top:22px; border:1px solid var(--line); border-radius:6px; padding:12px 13px; }
.control-center__setting label { display:flex; align-items:center; gap:8px; color:var(--text); font-size:12px; }
.control-center__setting input { accent-color:var(--mint); }
.control-center__setting p { margin:8px 0 0 22px; color:var(--muted); font-size:10px; line-height:1.5; }
.control-center__options { display:grid; gap:9px; margin-top:16px; }
.control-center__options button { min-height:44px; border:1px solid var(--line); border-radius:5px; background:var(--panel-alt); color:var(--text); padding:0 13px; text-align:left; }
.control-center__options button:hover,.control-center__options button:focus-visible { border-color:var(--mint); outline:0; }
.control-center__options button[aria-pressed="true"] { border-color:var(--mint); background:rgba(105,217,180,.18); color:var(--mint); }
.control-center__people { display:grid; gap:8px; margin:0; padding:0; list-style:none; }
.control-center__people li { display:flex; align-items:center; gap:11px; min-height:42px; border:1px solid var(--line); border-radius:5px; padding:8px 11px; color:var(--text); font-size:13px; }
.control-center__person-color { width:12px; height:12px; flex:0 0 12px; border-radius:50%; box-shadow:0 0 0 2px rgba(255,255,255,.12); }
.control-center__footer { display:flex; justify-content:flex-end; border-top:1px solid var(--line); padding:12px 16px; }
.control-center__logout { display:inline-flex; min-height:40px; align-items:center; gap:8px; border:1px solid var(--line); border-radius:5px; background:transparent; color:var(--text-soft); padding:0 13px; font-size:12px; }
.control-center__logout:hover,.control-center__logout:focus-visible { border-color:var(--danger); outline:0; background:rgba(233,121,104,.1); color:#ffafa2; }
.control-center__logout .material-symbols-rounded { font-size:18px; }
.workspace { display:grid; grid-template-columns:286px minmax(0,1fr); min-height:calc(100vh - 104px); }
.asset-nav { min-width:0; padding:22px 16px 20px 0; border-right:1px solid var(--line); }
.nav-heading { display:grid; gap:5px; padding:0 10px 16px; }
.nav-heading strong { font-size:12px; font-weight:500; }
.tree-search { display:grid; gap:5px; padding:0 10px 12px; color:var(--muted); font-size:10px; font-weight:700; text-transform:uppercase; }
.tree-search input { width:100%; height:32px; border:1px solid var(--line); border-radius:4px; outline:0; background:var(--panel); color:var(--text); padding:0 9px; font-size:12px; text-transform:none; }
.tree-search input:focus { border-color:var(--mint); }
.asset-tree { height:calc(100vh - 211px); overflow:auto; padding:0 4px 12px 6px; scrollbar-color:rgba(105,217,180,.45) transparent; }
.tree-list { margin:0; padding:0; list-style:none; }
.tree-list .tree-list { padding-left:13px; }
.tree-row { display:flex; align-items:center; min-width:0; min-height:28px; }
.tree-row[hidden] { display:none; }
.tree-toggle { width:21px; height:24px; flex:0 0 21px; border:0; background:transparent; color:var(--muted); padding:0; font-size:13px; }
.tree-toggle.empty { visibility:hidden; }
.tree-item { min-width:0; flex:1; border:0; background:transparent; color:var(--muted); padding:5px 6px; overflow:hidden; text-align:left; text-overflow:ellipsis; white-space:nowrap; font-size:12px; }
.tree-item:hover,.tree-item.is-selected { color:var(--text); background:rgba(105,217,180,.11); }
.tree-item.is-selected { box-shadow:inset 2px 0 0 var(--mint); }
.tree-type { flex:0 0 auto; margin-left:4px; color:#70847a; font-size:9px; }

.content { min-width:0; padding-left:24px; }
.dashboard-panel { padding:26px 0 44px; }
.dashboard-header { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; padding-bottom:19px; }
.dashboard-header h2 { margin:5px 0 0; font-size:21px; font-weight:600; }
#breadcrumb { display:flex; align-items:center; min-width:0; overflow:hidden; text-transform:none; white-space:nowrap; }
#breadcrumb .breadcrumb-item-button { border:0; outline:0; background:transparent; color:var(--mint); padding:0; font:inherit; letter-spacing:inherit; }
#breadcrumb .breadcrumb-item-button:hover:not(:disabled),#breadcrumb .breadcrumb-item-button:focus-visible { color:var(--text); text-decoration:underline; }
#breadcrumb .breadcrumb-item-button:disabled { color:var(--muted); cursor:not-allowed; opacity:.65; }
#breadcrumb .breadcrumb-separator { margin:0 5px; color:var(--muted); }
#breadcrumb .breadcrumb-last { overflow:hidden; color:var(--text-soft); text-overflow:ellipsis; }
.dashboard-navigation { display:grid; justify-items:end; gap:7px; max-width:68%; }
.page-tabs { display:flex; align-items:center; gap:5px; max-width:100%; overflow-x:auto; padding:1px; }
.page-tab { min-height:29px; flex:0 0 auto; border:1px solid transparent; border-radius:4px; background:transparent; color:var(--muted); padding:0 9px; font-size:11px; }
.page-tab:hover,.page-tab.is-active { border-color:var(--line); color:var(--text); }
.page-tab.is-active { border-color:var(--mint); color:var(--mint); }

.dashboard-room { position:relative; height:clamp(620px,calc(100vh - 174px),860px); min-height:620px; overflow:hidden; isolation:isolate; border:1px solid var(--line); border-radius:8px; background:radial-gradient(ellipse at 50% 25%,#162720 0%,#0c1714 45%,#0a1110 100%); box-shadow:inset 0 1px 0 rgba(255,255,255,.025); }
.dashboard-room::after { content:""; position:absolute; z-index:3; inset:0; pointer-events:none; background:linear-gradient(90deg,rgba(10,17,16,.34),transparent 18%,transparent 82%,rgba(10,17,16,.28)),linear-gradient(0deg,rgba(8,13,12,.46),transparent 28%); }
.simulation-status { position:absolute; z-index:8; top:16px; left:50%; display:flex; align-items:center; gap:12px; transform:translateX(-50%); border:1px solid rgba(105,217,180,.55); border-radius:6px; padding:9px 13px; background:rgba(8,18,15,.9); color:#effff8; box-shadow:0 8px 24px rgba(0,0,0,.28); pointer-events:none; }
.simulation-status[hidden] { display:none; }
.simulation-status strong { font-size:12px; }
.simulation-status span { color:var(--muted); font-size:11px; }
#sceneCanvas { position:absolute; inset:0; display:block; width:100%; height:100%; }
#sceneCanvas { outline:0; touch-action:none; cursor:grab; }
#sceneCanvas:active { cursor:grabbing; }
.touch-joystick { --joystick-x:0px; --joystick-y:0px; position:absolute; z-index:6; left:max(18px,env(safe-area-inset-left)); bottom:max(18px,env(safe-area-inset-bottom)); width:108px; height:108px; border:1px solid rgba(105,217,180,.58); border-radius:50%; background:radial-gradient(circle,rgba(105,217,180,.12),rgba(6,15,12,.58)); box-shadow:0 8px 24px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.035); touch-action:none; user-select:none; -webkit-user-select:none; }
.touch-joystick[hidden],.dashboard-room.is-webxr-presenting .touch-joystick { display:none; }
.touch-joystick::before,.touch-joystick::after { content:""; position:absolute; left:50%; top:50%; background:rgba(199,215,207,.17); transform:translate(-50%,-50%); pointer-events:none; }
.touch-joystick::before { width:1px; height:64%; }
.touch-joystick::after { width:64%; height:1px; }
.touch-joystick__knob { position:absolute; left:50%; top:50%; width:44px; height:44px; border:1px solid rgba(237,245,239,.72); border-radius:50%; background:rgba(105,217,180,.72); box-shadow:0 4px 14px rgba(0,0,0,.35); transform:translate(-50%,-50%) translate(var(--joystick-x),var(--joystick-y)); transition:transform .12s ease-out; pointer-events:none; }
.touch-joystick.is-active .touch-joystick__knob { transition:none; }
.plot-staging-layer { position:fixed; left:-100000px; top:0; display:block; width:max-content; height:max-content; overflow:visible; pointer-events:none; }
.spatial-staging-card { position:relative; display:block; flex:none; pointer-events:none !important; }
.plot-overlay-layer { position:absolute; z-index:8; inset:0; display:grid; place-items:center; pointer-events:none; }
.plot-overlay-layer[hidden] { display:none; }
.plot-overlay-layer.is-preparing .plot-overlay { visibility:hidden; }
.plot-overlay { display:grid; grid-template-rows:auto auto minmax(0,1fr); box-sizing:border-box; min-width:0; min-height:0; overflow:hidden; border:1px solid rgba(105,217,180,.72); border-radius:7px; background:var(--panel); box-shadow:0 26px 70px rgba(0,0,0,.58),0 0 0 1px rgba(105,217,180,.12); pointer-events:auto; }
.plot-overlay__header { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:48px; padding:9px 14px; border-bottom:1px solid var(--line); background:rgba(11,25,20,.98); }
.plot-overlay__heading { display:grid; flex:1 1 auto; gap:3px; min-width:0; }
.plot-overlay__title { min-width:0; margin:0; overflow:hidden; color:var(--text); font-size:15px; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.plot-overlay__context { min-height:12px; margin:0; overflow:hidden; color:var(--text-soft); font-size:10px; line-height:12px; text-overflow:ellipsis; white-space:nowrap; }
.plot-overlay__header-actions { display:flex; flex:0 0 auto; align-items:center; gap:10px; }
.plot-overlay__tabs { display:flex; align-items:center; padding:2px; border:1px solid rgba(105,217,180,.32); border-radius:5px; background:rgba(4,12,9,.72); }
.plot-overlay__tabs[hidden] { display:none; }
.plot-overlay__tab { border:0; border-radius:3px; background:transparent; color:var(--text-soft); padding:5px 9px; font:500 10px/1.1 Inter,Segoe UI,Arial,sans-serif; cursor:pointer; }
.plot-overlay__tab[aria-selected="true"] { background:rgba(105,217,180,.18); color:var(--mint); box-shadow:inset 0 0 0 1px rgba(105,217,180,.28); }
.plot-overlay__tab:hover,.plot-overlay__tab:focus-visible { color:var(--mint); outline:0; }
.plot-overlay__close { flex:0 0 auto; border:1px solid rgba(105,217,180,.52); border-radius:4px; background:rgba(8,19,15,.9); color:#d8ebe0; padding:6px 9px; font:500 10px/1.1 Inter,Segoe UI,Arial,sans-serif; cursor:pointer; }
.plot-overlay__close:hover,.plot-overlay__close:focus-visible { border-color:var(--mint); color:var(--mint); outline:0; }
.plot-overlay__description { margin:0; padding:10px 14px; border-bottom:1px solid var(--line); color:var(--text-soft); font-size:11px; line-height:1.45; }
.plot-overlay__description[hidden],.plot-overlay__graph[hidden],.plot-overlay__table[hidden] { display:none; }
.plot-overlay__content { grid-row:3; display:grid; grid-template-rows:minmax(0,1fr); min-width:0; min-height:0; overflow:hidden; }
.plot-overlay__graph { width:100%; height:100%; min-height:0; }
.plot-overlay__graph > .plot { width:100%; height:100%; min-height:0; }
.plot-overlay .plot .modebar { opacity:1; pointer-events:auto; }
.plot-overlay__table { box-sizing:border-box; width:100%; height:100%; min-width:0; min-height:0; overflow:auto; padding:14px; color:var(--text); font-size:11px; }
.plot-overlay__table table { width:100%; min-width:max-content; border-collapse:collapse; }
.plot-overlay__table th,.plot-overlay__table td { max-width:38rem; padding:8px 9px; overflow-wrap:anywhere; border-bottom:1px solid var(--line); }
.table-overlay-layer { position:fixed; z-index:1200; inset:0; display:grid; place-items:center; padding:clamp(12px,4vw,48px); background:rgba(3,8,7,.72); pointer-events:auto; }
.table-overlay-layer[hidden] { display:none; }
.table-overlay { display:grid; grid-template-rows:auto minmax(0,1fr); width:min(1200px,100%); max-height:100%; min-width:0; min-height:0; overflow:hidden; border:1px solid rgba(105,217,180,.72); border-radius:7px; background:var(--panel); box-shadow:0 26px 70px rgba(0,0,0,.62); }
.table-overlay__header { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:48px; padding:9px 14px; border-bottom:1px solid var(--line); }
.table-overlay__title { min-width:0; margin:0; overflow:hidden; font-size:15px; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.table-overlay__close { flex:0 0 auto; border:1px solid rgba(105,217,180,.52); border-radius:4px; background:rgba(8,19,15,.9); color:#d8ebe0; padding:6px 9px; font:500 10px/1.1 Inter,Segoe UI,Arial,sans-serif; }
.table-overlay__close:hover,.table-overlay__close:focus-visible { border-color:var(--mint); color:var(--mint); outline:0; }
.table-overlay__content { min-width:0; min-height:0; overflow:auto; padding:16px; }
.table-overlay__content table { width:100%; min-width:max-content; border-collapse:collapse; }
.table-overlay__content th,.table-overlay__content td { max-width:38rem; padding:9px 10px; overflow-wrap:anywhere; border-bottom:1px solid var(--line); }
.spatial-face { width:100%; height:100%; transform-origin:center center; }
.room-actions { position:absolute; z-index:5; right:17px; bottom:15px; display:flex; align-items:center; gap:10px; color:var(--muted); font-size:10px; }
.room-actions button { min-height:29px; border:1px solid rgba(105,217,180,.55); border-radius:4px; background:rgba(10,17,16,.76); color:var(--mint); padding:0 10px; font-size:11px; }
.room-actions button:hover { background:rgba(105,217,180,.12); }
.room-actions button:disabled { border-color:rgba(130,157,146,.3); color:#789084; background:rgba(10,22,18,.55); cursor:not-allowed; opacity:.72; }
.room-actions button.is-active { background:rgba(105,217,180,.16); color:#eafff6; }

.app-shell.is-immersive-presentation { position:fixed; z-index:1000; inset:0; width:100vw; max-width:none; min-height:0; height:100vh; margin:0; padding:0; overflow:hidden; background:var(--bg); }
.app-shell.is-immersive-presentation > .topbar,
.app-shell.is-immersive-presentation > .workspace > .asset-nav,
.app-shell.is-immersive-presentation .dashboard-header,
.app-shell.is-immersive-presentation .room-actions,
.app-shell.is-immersive-presentation .touch-joystick,
.app-shell.is-immersive-presentation .world-inspector,
.app-shell.is-immersive-presentation .world-tooltip { display:none !important; }
.app-shell.is-immersive-presentation > .workspace,
.app-shell.is-immersive-presentation > .workspace > .content,
.app-shell.is-immersive-presentation .dashboard-panel { display:block; width:100%; min-width:0; height:100%; min-height:0; margin:0; padding:0; }
.app-shell.is-immersive-presentation .dashboard-room { display:block; width:100%; height:100%; min-height:0; border:0; border-radius:0; box-shadow:none; }
.app-shell.is-immersive-presentation .dashboard-room::after { display:none; }

.kpi { min-height:112px; padding:var(--kpi-padding); border:1px solid var(--line); background:var(--panel); color:var(--text); overflow:hidden; box-shadow:0 12px 28px rgba(0,0,0,.19); }
.kpi p { margin:0; color:var(--muted); font-size:var(--kpi-title-size); font-weight:var(--kpi-title-weight); line-height:var(--kpi-title-line-height); }
.kpi strong { display:block; margin-top:var(--kpi-value-gap); font-size:var(--kpi-value-size); font-weight:var(--kpi-value-weight); line-height:var(--kpi-value-line-height); overflow-wrap:anywhere; }
.kpi span { display:block; min-height:var(--kpi-detail-line-height); margin-top:var(--kpi-detail-gap); color:var(--mint); font-size:var(--kpi-detail-size); font-weight:var(--kpi-detail-weight); line-height:var(--kpi-detail-line-height); }

.tile { min-width:0; min-height:265px; border:1px solid var(--line); border-radius:5px; background:var(--panel); overflow:hidden; box-shadow:0 14px 32px rgba(0,0,0,.22); }
.tile-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; min-height:var(--tile-header-height); padding:var(--tile-header-padding-top) var(--tile-padding-x) 8px; }
.tile-head h3 { margin:0; font-size:var(--tile-title-size); font-weight:var(--tile-title-weight); }
.tile-tools { display:flex; align-items:center; justify-content:flex-end; gap:7px; }
.tile-head span { color:var(--muted); font-size:10px; text-align:right; }
.plot { width:100%; height:220px; }
.tile .plot { height:calc(100% - 55px); min-height:220px; }
.table-body { max-height:360px; overflow:auto; padding:0 16px 16px; color:var(--text); font-size:11px; }
.table-body table { width:100%; border-collapse:collapse; }
.table-body th,.table-body td { max-width:26rem; padding:7px 5px; overflow-wrap:anywhere; border-bottom:1px solid var(--line); text-align:right; }
.table-body th:first-child,.table-body td:first-child { text-align:left; }
.tile-status { display:grid; min-height:200px; place-items:center; padding:20px; color:var(--muted); font-size:var(--tile-status-size); font-weight:var(--tile-status-weight); text-align:center; }
.tile-status.error { color:var(--danger); }
.dashboard-load-error { margin:0; padding:30px 0; color:var(--danger); font-size:13px; }

@media (max-width:1000px) {
  .topbar { padding:10px 0; }
  .toolbar { flex-wrap:wrap; justify-content:flex-end; }
  .workspace { grid-template-columns:230px minmax(0,1fr); }
  .content { padding-left:18px; }
  .dashboard-navigation { max-width:60%; }
}

@media (max-width:780px) {
  :root { --kpi-padding:13px; --kpi-value-size:18px; }
  .app-shell { padding:0 12px 22px; }
  .topbar { align-items:flex-start; min-height:120px; padding-top:16px; }
  .toolbar { flex-wrap:wrap; justify-content:flex-end; gap:8px 13px; }
  .toolbar select,.toolbar input { min-width:116px; }
  .connection { width:100%; justify-content:flex-end; }
  .webxr-session-button { margin-left:auto; }
  .control-center { max-height:calc(100vh - 136px); }
  .workspace { display:block; }
  .asset-nav { padding:17px 0 8px; border-right:0; border-bottom:1px solid var(--line); }
  .asset-tree { height:210px; }
  .content { padding:0; }
  .dashboard-panel { padding-top:20px; }
  .dashboard-header { align-items:flex-start; flex-direction:column; gap:13px; }
  .dashboard-navigation { width:100%; max-width:none; justify-items:start; }
  .page-tabs { width:100%; }
  .dashboard-room { height:clamp(520px,70vh,700px); min-height:520px; }
  .kpi { min-height:100px; }
}

.world-adjustments label { display:grid; grid-template-columns:75px 1fr 40px; align-items:center; gap:7px; color:#c7d7cf; font:500 10px/1.1 Inter,Segoe UI,Arial,sans-serif; }
.world-adjustments output { color:var(--mint); text-align:right; }
.world-adjustments input { width:100%; accent-color:var(--mint); cursor:pointer; }
.plot3d-adjustment-actions { display:flex; flex-wrap:wrap; gap:4px; justify-content:flex-end; }
.world-adjustments button { border:1px solid rgba(105,217,180,.42); border-radius:3px; background:rgba(10,22,18,.88); color:#d8ebe0; padding:3px 5px; font:500 10px/1.1 Inter,Segoe UI,Arial,sans-serif; cursor:pointer; }
.world-adjustments button:hover,.world-adjustments button:focus-visible { border-color:var(--mint); color:var(--mint); outline:0; }
.spatial-exhibit-card { display:grid; min-height:220px; place-items:center; padding:20px; background:linear-gradient(145deg,#10251d,#0b1713); color:#c7d7cf; font-size:12px; line-height:1.5; text-align:center; }
.world-inspector { position:absolute; z-index:6; right:17px; top:18px; display:grid; gap:10px; width:360px; max-width:calc(100% - 34px); padding:13px; border:1px solid rgba(105,217,180,.42); border-radius:7px; background:rgba(6,15,12,.94); box-shadow:0 18px 42px rgba(0,0,0,.38); backdrop-filter:blur(10px); }
.world-inspector[hidden] { display:none; }
.world-inspector button { border:1px solid rgba(105,217,180,.52); border-radius:4px; background:rgba(8,19,15,.88); color:#d8ebe0; padding:5px 7px; font:500 10px/1.1 Inter,Segoe UI,Arial,sans-serif; cursor:pointer; }
.world-inspector button:hover,.world-inspector button:focus-visible { border-color:var(--mint); color:var(--mint); outline:0; }
.world-inspector button.is-active { border-color:var(--mint); background:rgba(105,217,180,.16); color:#effff8; box-shadow:inset 0 0 0 1px rgba(105,217,180,.12); }
.world-inspector__header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.world-inspector__header div { display:grid; gap:3px; }
.world-inspector__header span,.world-inspector__label { color:var(--muted); font-size:9px; font-weight:700; letter-spacing:.035em; text-transform:uppercase; }
.world-inspector__header strong { font-size:14px; font-weight:600; }
.world-inspector .world-inspector__close { border-color:transparent; background:transparent; color:var(--muted); }
.world-inspector__help { margin:0; color:#aebfb7; font-size:10px; line-height:1.45; }
.world-inspector__views { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; }
.world-inspector .world-inspector__view { min-height:30px; text-align:left; }
.world-inspector__actions { display:flex; justify-content:flex-end; gap:5px; }
.world-adjustments { display:grid; flex:1 0 100%; gap:6px; padding:8px 9px; border:1px solid rgba(105,217,180,.28); border-radius:4px; background:rgba(7,17,14,.88); box-shadow:0 8px 20px rgba(0,0,0,.22); }
.world-tooltip { position:absolute; z-index:7; max-width:min(330px,calc(100% - 28px)); padding:7px 9px; border:1px solid rgba(105,217,180,.58); border-radius:4px; background:rgba(6,15,12,.94); color:#edf5ef; font:500 11px/1.35 Inter,Segoe UI,Arial,sans-serif; pointer-events:none; box-shadow:0 8px 20px rgba(0,0,0,.32); }
.world-tooltip.is-action { padding:8px 11px; border-color:rgba(105,217,180,.82); border-radius:5px; background:rgba(8,19,15,.97); color:var(--mint); font-weight:600; letter-spacing:.01em; box-shadow:0 10px 26px rgba(0,0,0,.4),0 0 0 1px rgba(105,217,180,.1); }
@media (max-width:780px) { .world-inspector { left:12px; right:12px; top:auto; bottom:54px; width:auto; max-width:none; } .dashboard-room.has-touch-controls .world-inspector { bottom:142px; } }

.control-center-button[hidden], #playbackButton[hidden] { display:none; }
.control-center-button[aria-pressed="true"] { color:var(--mint); border-color:var(--mint); }
.control-center__audio { display:grid; gap:12px; color:var(--text-soft); }
.control-center__audio p { margin:0; font-size:12px; line-height:1.5; }
.control-center__audio [role="alert"] { color:#ffafa2; }
.control-center__audio label { display:grid; gap:6px; font-size:12px; }
.control-center__audio select, .control-center__audio meter, .control-center__audio input { width:100%; }
.control-center__audio button, .control-center__people button, #playbackButton { min-height:36px; border:1px solid var(--line); border-radius:4px; background:rgba(105,217,180,.08); color:var(--text); padding:8px; }
.control-center__audio [hidden], .control-center__people [hidden] { display:none; }
.control-center__people li { flex-wrap:wrap; }
.control-center__people small { flex:1 0 80%; margin-left:23px; color:var(--text-soft); }
