/* Board-only spatial launcher: navigation artwork is illustrative, never production telemetry. */
body.ui-spatial-ready { --ui-sidebar-width:0px; background:#f4f6f9!important; }
body.ui-spatial-ready .main-container { flex-direction:column; min-width:0; }
body.ui-spatial-ready .main-container > .sidebar { display:none!important; }
body.ui-spatial-ready .main-content { width:100%; min-width:0; min-height:0; }
body.ui-spatial-ready .top-bar { position:relative!important; inset:auto!important; z-index:20; flex:0 0 auto; display:flex; align-items:center; height:auto; min-height:72px; padding:12px 30px; gap:18px; overflow:visible; background:rgba(255,255,255,.96)!important; }
body.ui-spatial-ready .top-bar-left { gap:12px; }
body.ui-spatial-ready .top-bar-left .logo { display:inline-flex!important; width:48px; height:36px; flex:0 0 48px; border:0; box-shadow:none; background:transparent; padding:0; }
body.ui-spatial-ready .top-bar-left .logo img { width:100%; height:100%; object-fit:contain; }
body.ui-spatial-ready .top-bar-left .title { font-size:20px!important; letter-spacing:-.4px; }
body.ui-spatial-ready .top-bar-center { padding:0; }
body.ui-spatial-ready .top-bar-center .clock { font-size:21px!important; letter-spacing:.6px; }
body.ui-spatial-ready .top-bar-center .date { font-size:10px; margin-top:3px; }
body.ui-spatial-ready .top-bar-right { padding:0; margin:0; border:0; max-width:none; gap:8px; }
body.ui-spatial-ready .content-area { position:relative; display:flex; flex-direction:column; min-height:0; flex:1 1 auto; }
body.ui-spatial-ready .content-area > #storageWarnBar { flex:0 0 auto; }
body.ui-spatial-ready .page-view { height:auto; flex:1 1 auto; min-height:0; padding:22px 30px 90px; scroll-padding-top:22px; }
body.ui-spatial-ready .ui-spatial-dock { position:relative; z-index:30; display:flex; align-items:center; gap:15px; flex:0 0 auto; min-height:49px; padding:6px 30px; border-bottom:1px solid #e1e6ed; background:rgba(248,250,252,.97); }
.ui-spatial-dock button, .ui-spatial-hero button { font:inherit; cursor:pointer; -webkit-tap-highlight-color:transparent; }
.ui-spatial-dock button:focus-visible, .ui-spatial-hero button:focus-visible { outline:3px solid #5c93cf; outline-offset:4px; }
.ui-spatial-dock svg, .ui-spatial-node > svg { display:block; width:24px; height:24px; flex:0 0 24px; }
.ui-spatial-home { display:inline-flex; align-items:center; gap:7px; min-height:36px; padding:4px 8px; border:0; background:transparent; color:#305782; border-radius:8px; font-size:12px!important; font-weight:600!important; }
.ui-spatial-home > svg { width:17px; height:17px; flex-basis:17px; }
.ui-spatial-home:hover { background:#e8eff7; }
.ui-spatial-current { padding-left:15px; border-left:1px solid #dce2e9; color:#8492a4; font-size:12px; }
.ui-spatial-menu { position:relative; margin-left:auto; }
body.ui-spatial-ready .ui-spatial-menu-toggle { display:flex; align-items:center; justify-content:space-between; gap:17px; min-height:36px; min-width:109px; padding:7px 12px; border:1px solid #dce4ec; border-radius:9px; background:#fff; color:#334c6a; font-size:12px; box-shadow:0 2px 3px #1e355207; }
.ui-spatial-menu-toggle[aria-expanded="true"] { border-color:#a6c1df; }
.ui-spatial-menu-panel { position:absolute; right:0; top:calc(100% + 9px); width:320px; max-width:calc(100vw - 28px); padding:8px; border:1px solid #dce4ef; border-radius:18px; background:rgba(255,255,255,.98); backdrop-filter:blur(24px); box-shadow:0 20px 55px #19395c24,0 3px 8px #18304a0b; }
.ui-spatial-menu-panel[hidden], .ui-spatial-node[hidden], .ui-spatial-menu-item[hidden] { display:none!important; }
.ui-spatial-menu-item { display:flex; align-items:center; gap:13px; width:100%; min-height:62px; padding:10px 13px; border:0; border-radius:11px; background:transparent; color:#375e89; text-align:left; }
.ui-spatial-menu-item:hover, .ui-spatial-menu-item[aria-current="page"] { background:#eff4fa; }
.ui-spatial-menu-item .ui-spatial-node-copy strong { font-size:13px; }
.ui-spatial-menu-item .ui-spatial-node-copy small { font-size:11px; }
.ui-spatial-hero { position:relative; isolation:isolate; margin:0 0 23px; border:1px solid #e0e7ee; border-radius:25px; background:linear-gradient(140deg,#fff 12%,#f5f8fc 54%,#edf3fa); box-shadow:inset 0 1px 0 #fff,0 14px 35px -20px #274f7736; overflow:hidden; }
.ui-spatial-hero:focus { outline:none; }
.ui-spatial-intro { position:relative; z-index:4; display:flex; align-items:center; justify-content:space-between; padding:28px 34px 5px; gap:24px; }
.ui-spatial-eyebrow { color:#7d90a7; font-size:9px; letter-spacing:2.1px; font-weight:600; line-height:1.4; }
.ui-spatial-heading h1 { color:#173450; font-size:clamp(24px,2.15vw,34px); line-height:1.4; font-weight:650; letter-spacing:-.9px; margin:9px 0 5px; }
.ui-spatial-description { color:#77889b; font-size:12px; line-height:1.7; margin:0; }
.ui-spatial-actions { flex:0 0 auto; }
.ui-spatial-hero .ui-spatial-primary { display:flex; align-items:center; gap:22px; min-height:43px; padding:11px 18px; border:1px solid #254f82; border-radius:11px; background:linear-gradient(180deg,#365f90,#224875); box-shadow:inset 0 1px 0 #ffffff25,0 5px 13px #22487527; color:#fff; font-size:12px; font-weight:550; }
.ui-spatial-primary:hover { background:linear-gradient(180deg,#416f9f,#2a5588); transform:translateY(-1px); }
.ui-spatial-primary span { font-size:18px; line-height:1; }
.ui-spatial-stage { position:relative; height:clamp(420px,35vw,590px); width:100%; margin-top:3px; perspective:1400px; background:radial-gradient(ellipse at 50% 58%,#ffffffb3 5%,transparent 70%); }
.ui-spatial-scene { position:absolute; inset:0 0 0; transform:translate3d(var(--scene-dx,0),var(--scene-dy,0),0); transition:transform 500ms cubic-bezier(.2,.65,.3,1); pointer-events:none; }
.ui-spatial-image { display:block; width:94%; height:100%; margin:0 auto; object-fit:contain; object-position:center 53%; mix-blend-mode:multiply; filter:drop-shadow(0 17px 16px #395d7620); user-select:none; }
.ui-spatial-image-unavailable .ui-spatial-scene { background:radial-gradient(ellipse,#e6eef8,transparent 66%); }
.ui-spatial-paths { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; overflow:visible; }
.ui-spatial-link { opacity:.5; transition:opacity 200ms; }
.ui-spatial-link path { fill:none; stroke:#6a9ed1; stroke-width:1.1; stroke-dasharray:5 8; vector-effect:non-scaling-stroke; }
.ui-spatial-link circle { fill:#4b8dce; stroke:#fff; stroke-width:1.5; }
.ui-spatial-link .ui-spatial-beacon { fill:#a6cdec; fill-opacity:.16; stroke:#88b8e4; stroke-width:1; animation:ui-spatial-glow 4s ease-in-out infinite; }
.ui-spatial-nodes { position:absolute; inset:0; }
.ui-spatial-node { position:absolute; left:var(--node-x); top:var(--node-y); display:flex; align-items:center; gap:12px; width:204px; min-height:80px; padding:17px 16px; border:1px solid #d3e0ed; border-radius:15px; text-align:left; color:#416c99; background:linear-gradient(145deg,#fffffff0,#f7fbfff0); backdrop-filter:blur(16px); box-shadow:inset 0 1px 0 #fff,0 3px 2px #708ba317,0 14px 24px -14px #204e7840; transform:translate(-50%,-50%); transition:box-shadow 200ms,background 200ms,border-color 200ms,translate 200ms; }
.ui-spatial-node > svg { width:26px; height:26px; flex-basis:26px; }
.ui-spatial-node-copy { min-width:0; flex:1; }
.ui-spatial-node-copy strong { display:block; font-size:14px; line-height:1.5; font-weight:650; color:#2f4864; white-space:nowrap; }
.ui-spatial-node-copy small { display:block; margin-top:4px; font-size:10px; color:#7a8da3; white-space:nowrap; }
.ui-spatial-arrow { flex:0 0 auto; margin-left:auto; font-size:17px; color:#7496b8; }
.ui-spatial-node:hover, .ui-spatial-node:focus-visible { z-index:5; translate:0 -6px; border-color:#8db3d6; background:#fff; box-shadow:inset 0 1px 0 #fff,0 5px 1px #7593af0d,0 20px 35px -12px #25588a4a; }
.ui-spatial-node:active { translate:0 -2px; }
.ui-spatial-node[aria-current="page"] { border-color:#93b1cf; }
.ui-spatial-node[aria-current="page"]::after { content:""; position:absolute; left:18px; right:18px; bottom:-1px; height:2px; border-radius:2px; background:#698eb8; }
.ui-spatial-node:disabled, .ui-spatial-menu-item:disabled { opacity:.45; cursor:default; }
.ui-spatial-stage[data-focused-page="dashboard"] .ui-spatial-link-dashboard,
.ui-spatial-stage[data-focused-page="projects"] .ui-spatial-link-projects,
.ui-spatial-stage[data-focused-page="warnings"] .ui-spatial-link-warnings,
.ui-spatial-stage[data-focused-page="aftersale"] .ui-spatial-link-aftersale,
.ui-spatial-stage[data-focused-page="report"] .ui-spatial-link-report,
.ui-spatial-stage[data-focused-page="changelog"] .ui-spatial-link-changelog,
.ui-spatial-stage[data-focused-page="system"] .ui-spatial-link-system { opacity:1; }
.ui-spatial-stage[data-focused-page] .ui-spatial-link path { animation:ui-spatial-flow 18s linear infinite; }
.ui-spatial-footer { position:relative; display:flex; justify-content:space-between; align-items:center; padding:12px 27px 15px; gap:15px; border-top:1px solid #e2eaf380; color:#7d8fa4; font-size:10px; }
.ui-spatial-scene-label { display:inline-flex; align-items:center; gap:7px; }
.ui-spatial-scene-label::before { content:""; width:5px; height:5px; background:#759abc; border-radius:50%; }
.ui-spatial-status { font-size:11px; color:#5d7e9f; }
body.ui-spatial-ready #page-dashboard > .dashboard-header { margin:19px 0 12px; min-height:34px; }
body.ui-spatial-ready #page-dashboard > .dashboard-header .dh-title { font-size:15px; letter-spacing:0; }
body.ui-spatial-ready #page-dashboard > .dashboard-header .dh-title .ui-line-icon { width:18px; height:18px; }
body.ui-spatial-ready #kpiGrid { grid-template-columns:repeat(8,minmax(0,1fr)); gap:10px; margin:0 0 24px; }
body.ui-spatial-ready #kpiGrid .kpi-card { display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; min-height:112px; padding:14px 15px!important; gap:0; border-radius:13px!important; box-shadow:0 2px 8px #1d375404!important; }
body.ui-spatial-ready #kpiGrid .kpi-label { order:-2; padding:0!important; margin:0 0 8px; font-size:11px!important; white-space:normal; }
body.ui-spatial-ready #kpiGrid .kpi-icon { display:none!important; }
body.ui-spatial-ready #kpiGrid .kpi-value { font-size:29px!important; letter-spacing:-.8px; }
body.ui-spatial-ready #kpiGrid .kpi-sub { margin-top:5px; font-size:10px!important; }
body.ui-spatial-ready #autoSaveBar { left:24px; }
body.ui-spatial-ready #page-dashboard > .ui-workshop .ui-workshop-scene { display:none; }
body.ui-spatial-ready .ui-workshop { scroll-margin-top:22px; }
@keyframes ui-spatial-flow { to { stroke-dashoffset:-156; } }
@keyframes ui-spatial-glow { 0%,100% { opacity:.45; } 50% { opacity:1; } }
@media (min-width:1800px) {
  body.ui-spatial-ready .page-view { padding-inline:42px; }
  body.ui-spatial-ready .top-bar, body.ui-spatial-ready .ui-spatial-dock { padding-inline:42px; }
  .ui-spatial-stage { height:600px; }
  .ui-spatial-node { width:224px; min-height:86px; }
  .ui-spatial-node-copy strong { font-size:15px; }
  .ui-spatial-node-copy small { font-size:11px; }
}
@media (max-width:1190px) {
  body.ui-spatial-ready .top-bar { display:grid; grid-template-columns:1fr auto; }
  body.ui-spatial-ready .top-bar-right { grid-column:1/-1; justify-content:flex-start; }
  body.ui-spatial-ready #kpiGrid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  body.ui-spatial-ready #kpiGrid .kpi-card { min-height:104px; }
  .ui-spatial-node { width:181px; gap:9px; padding:14px 12px; min-height:77px; }
  .ui-spatial-node-copy strong { font-size:13px; }
  .ui-spatial-node-copy small { font-size:9px; }
  .ui-spatial-node > svg { width:22px; height:22px; flex-basis:22px; }
}
@media (max-width:800px) {
  body.ui-spatial-ready .top-bar { padding:12px 18px; min-height:0; gap:10px; }
  body.ui-spatial-ready .top-bar-left .title { font-size:17px!important; }
  body.ui-spatial-ready .top-bar-center .clock { font-size:18px!important; }
  body.ui-spatial-ready .top-bar-center .date { font-size:9px; }
  body.ui-spatial-ready .ui-spatial-dock { padding-inline:18px; }
  body.ui-spatial-ready .page-view { padding:17px 18px 90px; }
  .ui-spatial-hero { border-radius:20px; }
  .ui-spatial-intro { padding:24px 23px 0; }
  .ui-spatial-heading h1 { font-size:25px; }
  .ui-spatial-description { font-size:11px; }
  .ui-spatial-hero .ui-spatial-primary { gap:10px; padding-inline:12px; }
  .ui-spatial-stage { height:auto; margin-top:0; }
  .ui-spatial-scene { position:relative; height:280px; }
  .ui-spatial-image { width:100%; }
  .ui-spatial-paths { display:none; }
  .ui-spatial-nodes { position:relative; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; padding:0 22px 22px; }
  .ui-spatial-node { position:relative; inset:auto; transform:none; width:100%; min-height:84px; border-radius:13px; padding:15px 14px; }
  .ui-spatial-node-copy strong { font-size:14px; }
  .ui-spatial-node-copy small { font-size:10px; white-space:normal; }
  .ui-spatial-node:hover, .ui-spatial-node:focus-visible { translate:0 -2px; }
  .ui-spatial-node:first-child { grid-column:1/-1; min-height:72px; }
  .ui-spatial-node:first-child .ui-spatial-node-copy small { display:inline-block; margin-top:0; }
  .ui-spatial-node:first-child .ui-spatial-node-copy strong { display:inline-block; margin-right:12px; }
  .ui-spatial-footer { padding:12px 23px 15px; }
}
@media (max-width:520px) {
  body.ui-spatial-ready .top-bar { padding:10px 14px; }
  body.ui-spatial-ready .top-bar-left { gap:7px; }
  body.ui-spatial-ready .top-bar-left .logo { width:36px; height:29px; flex-basis:36px; }
  body.ui-spatial-ready .top-bar-left .title { font-size:15px!important; }
  body.ui-spatial-ready .top-bar-right { gap:7px; }
  body.ui-spatial-ready .top-bar-right > span:first-child { flex:1 1 100%; }
  body.ui-spatial-ready .top-bar-right .fullscreen-hint, body.ui-spatial-ready .top-bar-right button { min-height:38px; }
  body.ui-spatial-ready .ui-spatial-dock { min-height:52px; padding:7px 14px; gap:9px; }
  .ui-spatial-current { padding-left:10px; font-size:11px; }
  .ui-spatial-home { min-height:39px; }
  body.ui-spatial-ready .ui-spatial-menu-toggle { min-height:39px; min-width:102px; }
  body.ui-spatial-ready .page-view { padding:14px 12px 88px; }
  .ui-spatial-intro { flex-wrap:wrap; padding:23px 20px 0; gap:16px; }
  .ui-spatial-heading h1 { font-size:23px; letter-spacing:-.7px; }
  .ui-spatial-description { font-size:11px; }
  .ui-spatial-actions { width:100%; }
  .ui-spatial-hero .ui-spatial-primary { width:100%; min-height:44px; justify-content:space-between; }
  .ui-spatial-scene { height:219px; margin-top:2px; }
  .ui-spatial-nodes { gap:9px; padding:0 13px 18px; }
  .ui-spatial-node { gap:9px; padding:13px 11px; min-height:89px; }
  .ui-spatial-node > svg { width:21px; height:21px; flex-basis:21px; }
  .ui-spatial-node-copy strong { font-size:13px; }
  .ui-spatial-node-copy small { font-size:10px; line-height:1.5; margin-top:4px; }
  .ui-spatial-node .ui-spatial-arrow { display:none; }
  .ui-spatial-node:first-child .ui-spatial-arrow { display:block; }
  .ui-spatial-footer { padding:10px 17px 13px; flex-wrap:wrap; gap:7px; }
  .ui-spatial-status { font-size:10px; }
  body.ui-spatial-ready #kpiGrid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  body.ui-spatial-ready #kpiGrid .kpi-card { min-height:111px; padding:16px!important; }
  body.ui-spatial-ready #kpiGrid .kpi-label { font-size:12px!important; }
  body.ui-spatial-ready #kpiGrid .kpi-sub { font-size:11px!important; }
  body.ui-spatial-ready .dashboard-header { flex-wrap:wrap; }
}
@media (prefers-reduced-motion:reduce) {
  .ui-spatial-scene, .ui-spatial-node, .ui-spatial-link { transition:none!important; }
  .ui-spatial-scene { transform:none!important; }
  .ui-spatial-paths *, .ui-spatial-primary { animation:none!important; transition:none!important; }
  .ui-spatial-node:hover, .ui-spatial-node:focus-visible, .ui-spatial-node:active, .ui-spatial-primary:hover { translate:none!important; }
}
