/* User-selected 07: one blue/coral system for Web, login and embedded Studio. */
:root{--brand-primary:#406f8d;--brand-hover:#386b89;--brand-blue:#8ac8df;--brand-blue-soft:#eaf4fa;--brand-coral:#eeaa9e;--brand-coral-ink:#a64e46;--brand-coral-soft:#fff0ec;--brand-bg:#f4f7fb;--brand-ink:#293e50;--brand-muted:#5e7284;--brand-line:#dce7ee;--brand-on-primary:#fff;--td-brand-color:var(--brand-primary);--td-brand-color-hover:var(--brand-hover);--td-brand-color-active:#2f5c77;--td-brand-color-focus:#d8ebf5;--td-brand-color-light:var(--brand-blue-soft);--td-error-color:#b54846}
:root[data-theme=dark]{--brand-primary:#a7d4e7;--brand-hover:#c0e2ef;--brand-blue-soft:#2b4558;--brand-coral:#efb4a9;--brand-coral-ink:#efb4a9;--brand-coral-soft:#4b383b;--brand-bg:#17232e;--brand-ink:#eaf3fa;--brand-muted:#a5b6c5;--brand-line:#354958;--brand-on-primary:#203747}
/* Workspace chrome, status controls and details all use the same functional blue. */
:root{--mint:#a7d4e7;--amber:#efb4a9}
:root[data-theme=light]{--bg:var(--brand-bg);--surface:#fff;--surface-raised:#f1f6fa;--line:#e5edf2;--line-strong:var(--brand-line);--ink:var(--brand-ink);--muted:var(--brand-muted);--mint:var(--brand-primary);--amber:var(--brand-coral-ink)}
:root[data-theme=dark]{--bg:var(--brand-bg);--surface:#223240;--surface-raised:#2b3d4e;--line:#ffffff0d;--line-strong:var(--brand-line);--ink:var(--brand-ink);--muted:var(--brand-muted)}
.iot-app .primary{background:var(--brand-primary);color:var(--brand-on-primary);border-color:transparent}
.iot-app .secondary{color:var(--mint)}
.iot-app .space-hero{background:radial-gradient(ellipse at 100% 0%,#eeaa9e26,transparent 65%),linear-gradient(120deg,#24435b,#283849);border-color:#a7d4e733}
[data-theme=light] .iot-app .space-hero{background:radial-gradient(ellipse at 100% 0%,#f8d9d1,transparent 65%),linear-gradient(120deg,#e4f1f9,#f5f8fc);color:var(--brand-ink)}
[data-theme=light] .iot-app .sidebar,[data-theme=light] .iot-app .topbar{background:#ffffffed;border-color:var(--brand-line)}
[data-theme=light] .iot-app .nav-item.active{background:var(--brand-blue-soft);color:var(--brand-primary)}
.iot-app .toggle.is-on{background:var(--brand-primary)}
[data-theme=light] .iot-app .toggle.is-on{background:var(--brand-primary)}
.iot-app .metric-card:nth-child(2) .metric-icon,.iot-app .scene-icon{color:var(--brand-coral-ink);background:var(--brand-coral-soft)}
.iot-app .avatar{background:var(--brand-blue-soft);color:var(--brand-primary)}
.iot-app .scene-card{border-color:var(--brand-line)}
.iot-app .control-button.selected{background:var(--brand-blue-soft);border-color:var(--brand-primary);color:var(--brand-primary)}
[data-theme=light] .iot-app .on .art-state-badge,[data-theme=light] .iot-app .active .art-state-badge{background:var(--brand-blue-soft);color:var(--brand-primary);border-color:#b6d8e9;box-shadow:none}
[data-theme=light] .iot-app .state-active .device-state strong,[data-theme=light] .iot-app .state-on .device-state strong{color:var(--brand-primary)}
.iot-app .native-app-download{background:linear-gradient(110deg,#24435b,#423b45);border-color:var(--brand-line)}
[data-theme=light] .iot-app .native-app-download{background:linear-gradient(110deg,var(--brand-blue-soft),var(--brand-coral-soft));color:var(--brand-ink)}
.native-app-button{background:var(--brand-primary);color:var(--brand-on-primary)!important}
[data-theme=light] .native-app-copy p,[data-theme=light] .native-app-copy small,[data-theme=light] .native-app-help,[data-theme=light] .native-app-compat,[data-theme=light] .native-app-eyebrow{color:var(--brand-muted)}
/* Enterprise, employee, phone and admin login retain their standard layout. */
.auth-page{color:var(--brand-ink)}
.auth-brand-panel{background:radial-gradient(ellipse at 90% 10%,#f9dcd3aa,transparent 55%),radial-gradient(ellipse at 30% 55%,#dfedf7,transparent 70%),#f7f9fc;border-color:var(--brand-line)}
.auth-brand small,.auth-eyebrow,.auth-kicker,.auth-brand-copy p{color:var(--brand-muted)}
.auth-points span{border-color:var(--brand-line);color:#567288}
.auth-points svg,.auth-tabs button.active,.auth-success,.auth-secondary a{color:var(--brand-primary)}
.auth-points span:nth-child(2) svg{color:var(--brand-coral-ink)}
.auth-tabs{background:#f0f5f9}.auth-tabs button.active{box-shadow:0 2px 7px #2a4b6210}
.auth-form .t-input:focus-within{border-color:var(--brand-primary);box-shadow:0 0 0 3px #8ac8df33}
.auth-primary.t-button{background:var(--brand-primary);color:#fff;box-shadow:0 7px 18px #406f8d26}
.auth-primary.t-button:hover{background:var(--brand-hover)}
.auth-footer a:hover{color:var(--brand-primary)}
.admin-auth-page{background:radial-gradient(ellipse at 0% 0%,#d9eaf6,transparent 55%),radial-gradient(ellipse at 95% 100%,#f8d9d1,transparent 55%),#f4f7fb}
.admin-layout .auth-brand-panel{background:radial-gradient(ellipse at 95% 100%,#b77e7c,transparent 65%),linear-gradient(135deg,#3c6d8b,#608faa);color:#fff}
.admin-layout .auth-brand-copy p,.admin-layout .auth-eyebrow,.admin-layout .auth-points span,.admin-brand-note{color:#f3f6fb}
.admin-layout .auth-points svg{color:#f1c1b4}
/* Management surfaces share the selected brand, including their dark variant. */
:root{--accent:var(--brand-primary);--accent-soft:var(--brand-blue-soft)}
[data-theme=dark]{--accent:var(--brand-primary);--accent-soft:var(--brand-blue-soft)}
.admin-card.accent{background:linear-gradient(140deg,var(--brand-blue-soft),#fff);border-color:var(--brand-line)}
.admin-card:nth-child(2){background:linear-gradient(140deg,var(--brand-coral-soft),#fff)}
[data-theme=dark] .admin-card.accent{background:linear-gradient(140deg,#2b4558,#223240);border-color:var(--brand-line)}
[data-theme=dark] .admin-card:nth-child(2){background:linear-gradient(140deg,#4b383b,#223240)}
.status-pill{color:var(--brand-primary);background:var(--brand-blue-soft)}
[data-theme=dark] .status-pill{color:var(--brand-primary);background:var(--brand-blue-soft)}
.api-docs .endpoint,.api-docs code{color:var(--brand-primary)}
/* Editor accent; the six rendering ambiences and furniture textures stay independent. */
.app{--editor-blue:#406f8d;--editor-blue-soft:#eaf4fa;--editor-coral:#a64e46}
.app .primary{background:#406f8d;color:#fff}.app .primary:hover{background:#386b89}
.app .library-tabs button.active,.app .mode-tabs button.active{color:#406f8d}
.app .library-tabs button.active{background:#eaf4fa}
.app .floorplan-status:not(.error){color:#406f8d;background:#eaf4fa}
.app input[type=range]{accent-color:#406f8d}
.app button:focus-visible{outline-color:#406f8d}
.app[data-mode=edit] #generate{background:#a64e46;color:#fff}
.app[data-mode=edit] #generate:hover{background:#8f423c}

/* Standalone pages have no dashboard theme attribute; give them complete surfaces. */
body.robot-api-page{--bg:var(--brand-bg);--surface:#fff;--surface-raised:#f1f6fa;--line:#e5edf2;--line-strong:var(--brand-line);--ink:var(--brand-ink);--muted:var(--brand-muted);--mint:var(--brand-primary);--amber:var(--brand-coral-ink);background:var(--brand-bg);color:var(--brand-ink);color-scheme:light}
.robot-api-page .api-operation,.robot-api-page .api-result-guide{background:#fff;border:1px solid var(--brand-line);border-radius:18px;padding:24px}
.robot-api-page a{color:var(--brand-primary)}
.brand-help{background:var(--brand-bg);color:var(--brand-ink)}
.brand-help p,.brand-help footer{color:var(--brand-muted)}
.brand-help a{color:var(--brand-primary)}
.brand-help h2{color:var(--brand-coral-ink)}
.brand-download{color-scheme:light;background:radial-gradient(ellipse at 90% 0%,#f8ded6,transparent 45%),radial-gradient(ellipse at 0% 15%,#dceef8,transparent 55%),var(--brand-bg);color:var(--brand-ink)}
.brand-download .back,.brand-download .eyebrow,.brand-download .intro,.brand-download .version,.brand-download .tagline,.brand-download footer,.brand-download footer a,.brand-download .info p,.brand-download .info li,.brand-download .release-preview>p{color:var(--brand-muted)}
.brand-download .info>div{background:#fff;border-color:var(--brand-line)}
.brand-download .info .step{color:var(--brand-coral-ink)}
.brand-download .notice{color:var(--brand-coral-ink)!important;border-color:var(--brand-coral)}
.brand-download .chips span{border-color:var(--brand-line)}
body:has(.auth-layout) .auth-error{color:#b54846}
