:root{--ink:#171b1a;--cream:#f5f3ed;--gold:#b4915b;--line:#e0dfd7;--muted:#6b716a;--green:#477563}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Segoe UI,Arial,sans-serif;font-size:15px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer;border:0;background:var(--ink);color:white;padding:12px 18px;border-radius:9px;font-weight:600}button:disabled{opacity:.45;cursor:not-allowed}button.secondary{background:transparent;color:var(--ink);border:1px solid var(--line)}button.gold{background:var(--gold);color:#191b19}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2.5px;color:var(--muted);text-transform:uppercase}.logo{font-size:25px;letter-spacing:5px;font-weight:600;display:flex;gap:12px;align-items:center}.logo-mark{color:var(--gold);font-size:31px}.sidebar{position:fixed;inset:0 auto 0 0;width:232px;background:var(--ink);color:white;padding:35px 25px;display:flex;flex-direction:column;z-index:2}.sidebar .eyebrow{color:#a3aca5;margin:10px 0 50px}.sidebar nav{display:grid;gap:8px}.sidebar nav button{text-align:left;background:transparent;color:#b4bcb6;font-weight:400;padding:14px;display:flex;gap:15px}.sidebar nav button.active{background:#2b322e;color:#e6cc9d}.sidebar .bottom{margin-top:auto;border-top:1px solid #343b36;padding-top:25px;color:#a3aca5;font-size:12px;line-height:1.8}.sidebar .bottom button{color:#bfc6c1;padding:8px 0;background:none}.main{margin-left:232px;padding:35px 48px 70px;max-width:1700px}.topbar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:36px}.topbar .status{font-size:12px;display:flex;gap:8px;align-items:center}.dot{height:7px;width:7px;background:var(--green);border-radius:50%}.dot.offline{background:#ad794a}.avatar{display:inline-grid;place-items:center;width:34px;height:34px;background:#e6e4db;border-radius:50%;margin-left:15px}.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;gap:20px}h1{font-weight:400;font-family:Georgia,serif;font-size:44px;letter-spacing:-1px;margin:8px 0 12px}h2{font-size:23px;font-weight:500;margin:10px 0 20px}h3{font-size:18px;font-weight:500;margin:5px 0 12px}p{line-height:1.7}.muted{color:var(--muted);font-size:13px}.hero{background:#202b25;border-radius:16px;color:#f6f1e5;padding:34px 36px;display:grid;grid-template-columns:1fr 200px;gap:15px;margin-bottom:32px;overflow:hidden}.hero .eyebrow{color:#bdcbbb}.hero h2{font-family:Georgia,serif;font-weight:400;font-size:32px;line-height:1.25;max-width:460px;margin-bottom:10px}.hero p{color:#bac8bd;max-width:430px;font-size:13px}.orbit{width:180px;height:180px;border:1px solid #a28a5b55;border-radius:50%;display:grid;place-items:center;transform:rotate(-25deg)}.orbit:before{content:'V';font-family:Georgia,serif;font-size:70px;color:#c7ae7a;border:1px solid #a28a5b77;border-radius:50%;width:130px;height:130px;display:grid;place-items:center;transform:rotate(25deg)}.section-title{display:flex;align-items:center;justify-content:space-between;margin:30px 0 18px}.section-title h2{margin:0}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.card{background:#fffefa;border:1px solid var(--line);border-radius:13px;padding:23px}.room{position:relative;min-height:150px;text-align:left;color:var(--ink);display:flex;flex-direction:column;justify-content:space-between;font-weight:400}.room .room-symbol{font-size:28px;color:#8b795b;margin-bottom:20px}.room .room-bottom{display:flex;justify-content:space-between;align-items:end}.room .room-bottom h3{margin-bottom:5px}.room .room-bottom .arrow{font-size:22px;color:#9b8c71}.room:hover{border-color:var(--gold)}.small-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.pill{display:inline-block;font-size:10px;letter-spacing:1px;padding:5px 9px;border-radius:20px;background:#ecefe8;color:#47705a}.pill.pending{color:#966b37;background:#f6efdf}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.control{display:flex;justify-content:space-between;align-items:center;gap:15px}.control button{min-width:72px}.control .on{background:var(--gold)}.brightness{margin-top:22px;display:flex;align-items:center;gap:10px;font-size:12px}.brightness input{accent-color:var(--gold);width:100%}.scene{display:flex;justify-content:space-between;align-items:center;gap:12px}.scene button{padding:9px 13px}.empty{padding:40px 25px;text-align:center;border:1px dashed #d5d4ca;border-radius:12px}.empty h3{font-family:Georgia,serif;font-size:26px}.callout{background:#e9ebe2;border-radius:13px;padding:24px;margin-top:24px;display:flex;justify-content:space-between;gap:20px;align-items:center}.callout p{margin:4px 0}.ticket{margin-bottom:15px}.ticket summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center}.message{padding:13px 15px;background:#f0f1e9;margin-top:12px;border-radius:8px;white-space:pre-wrap}.message small{display:block;font-size:10px;color:var(--muted);margin-bottom:7px}.ticket form{margin-top:15px}.ticket img{max-width:160px;border-radius:7px;margin:10px 10px 0 0}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-brand{background:#202b25;padding:70px;color:white;display:flex;flex-direction:column;justify-content:center}.login-brand h1{font-size:60px;max-width:500px;margin-top:60px}.login-brand p{max-width:400px;color:#bdc9c0}.login-form{padding:60px;display:flex;flex-direction:column;justify-content:center;max-width:520px;margin:auto;width:100%}.login-form .logo{margin-bottom:40px}label{display:block;font-size:12px;font-weight:600;margin:16px 0}input:not([type=range]),select,textarea{display:block;width:100%;margin-top:8px;border:1px solid #d9dcd2;border-radius:7px;background:#fffefa;padding:11px;color:var(--ink)}textarea{resize:vertical}.login-form button{width:100%;margin-top:12px}.error{color:#a14735;font-size:13px}dialog{border:0;border-radius:15px;max-width:520px;width:calc(100% - 32px);padding:30px;max-height:90vh;overflow:auto}dialog::backdrop{background:#171b1aa6}#notice{position:fixed;bottom:22px;right:24px;background:var(--ink);color:white;padding:15px 22px;border-radius:9px;max-width:430px;z-index:10;display:none}.footnote{margin-top:35px;border-top:1px solid var(--line);padding-top:16px;font-size:11px;color:var(--muted)}.product{min-height:200px}.product .price{font-family:Georgia,serif;font-size:25px;margin:18px 0}.catalog-art{height:120px;background:linear-gradient(120deg,#eae5d9,#dddccf);border-radius:8px;margin-bottom:20px;display:grid;place-items:center;font-size:40px;color:#8c7b5e}.mobile-title{display:none}
@media(min-width:1300px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1000px){.main{padding:25px}.sidebar{width:200px;padding:30px 18px}.main{margin-left:200px}.small-grid{grid-template-columns:1fr}.hero{grid-template-columns:1fr 140px}.orbit{width:130px;height:130px}.orbit:before{width:100px;height:100px}}@media(max-width:700px){.sidebar{inset:auto 0 0 0;width:100%;height:73px;padding:5px 5px;display:block;border-top:1px solid #40493e}.sidebar>.logo,.sidebar>.eyebrow,.sidebar .bottom{display:none}.sidebar nav{display:grid;grid-template-columns:repeat(6,1fr);gap:0}.sidebar nav button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 1px;font-size:10px;border-radius:7px}.sidebar nav button span:first-child{font-size:19px}.main{margin:0;padding:22px 18px 100px}.mobile-title{display:block;letter-spacing:3px;font-weight:600}.topbar{margin-bottom:22px}.topbar .eyebrow{font-size:9px}.topbar .status{font-size:10px}.avatar{display:none}.heading{align-items:start}h1{font-size:34px}.heading button{padding:10px;font-size:12px}.hero{padding:24px;grid-template-columns:1fr;margin-bottom:20px}.hero h2{font-size:28px}.orbit{display:none}.grid{grid-template-columns:1fr}.room{min-height:130px}.callout{flex-direction:column;align-items:start}.login{grid-template-columns:1fr}.login-brand{padding:35px}.login-brand h1{font-size:37px;margin-top:25px}.login-brand .orbit{display:none}.login-form{padding:30px}.login-form .logo{display:none}#notice{bottom:90px;right:15px;left:15px}.footnote{line-height:1.6}}

[hidden]{display:none!important}.project-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}.record-filter{max-width:520px}.record dl{font-size:12px;margin:20px 0}.record dl div{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:9px 0;border-bottom:1px solid var(--line)}.record dt{color:var(--muted)}.record dd{margin:0;overflow-wrap:anywhere}.record .actions button{font-size:12px}.project-row strong{overflow-wrap:anywhere}

button.working{position:relative;opacity:.9;cursor:progress}button.working::after{content:'';display:inline-block;width:10px;height:10px;margin-left:8px;border:1.5px solid currentColor;border-right-color:transparent;border-radius:50%;animation:vortex-spin .8s linear infinite}@keyframes vortex-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){button.working::after{animation:none}}

/* Selected app direction: deep green, champagne, and compact room controls. */
:root{color-scheme:dark;--ink:#f1efe5;--cream:#101512;--gold:#b5935d;--line:#30382f;--muted:#98a294;--green:#95ac96;--surface:#1b211c;--raised:#222923;--tint:#b5935d26}
body{background:var(--cream);font-size:14px}button{background:var(--gold);color:#19231d;border-radius:8px;font-size:12px;padding:11px 15px}button.secondary{border-color:var(--line);color:var(--ink)}button:disabled{opacity:.42}.card{background:var(--surface);padding:17px;border-radius:11px}.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.main{max-width:680px;margin:0 auto;padding:24px 23px 118px}.topbar{margin:0 0 28px;padding-bottom:18px}.topbar .status{font-size:10px;gap:6px;color:var(--muted)}.avatar{display:none}.app-wordmark .logo{font-family:Georgia,serif;font-size:17px;letter-spacing:4px;gap:9px}.logo-mark{font-size:21px}.heading{margin:0 0 22px;align-items:center}.eyebrow{font-size:9px;letter-spacing:1.5px}.heading h1{font-family:Segoe UI,Arial,sans-serif;font-size:27px;font-weight:400;letter-spacing:-.5px;margin:8px 0 0}.icon-button{width:34px;height:34px;padding:0;display:grid;place-items:center;border-radius:50%}.icon-button .icon{width:18px;height:18px}.grid,.small-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.room{display:block;min-height:132px;padding:20px 17px;background:var(--surface)}.room>.icon{color:var(--gold);margin-bottom:20px}.room h3{font-size:14px;margin:0 0 7px}.room .muted{font-size:11px;display:block}.section-title{margin:23px 0 12px}.section-title h2{font-size:14px;margin:0}.section-title .muted{font-size:10px}.subtle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);margin-top:25px;padding-top:16px;font-size:11px;color:var(--muted)}.text-button{background:none;color:var(--gold);padding:3px;border:0;font-size:11px}.lights-grid{grid-template-columns:1fr}.light-card{padding:13px}.control{gap:11px}.device-icon{display:grid;place-items:center;width:33px;height:33px;background:var(--tint);border-radius:50%;color:var(--gold);flex-shrink:0}.device-icon .icon{width:19px;height:19px}.device-label{flex:1;min-width:0}.device-label h3{font-size:13px;margin:0 0 5px;overflow-wrap:anywhere}.device-label .pill{padding:0;border:0;background:none;color:var(--muted);font-size:9px;letter-spacing:.5px}.device-label .pill.pending{background:none;color:var(--gold)}.control .power-button{min-width:0;width:33px;height:33px;padding:0;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:transparent;color:var(--muted);position:relative}.control .power-button.on{background:var(--tint);color:var(--gold);border-color:#b5935d55}.power-button .icon{width:16px;height:16px}.power-button.working::after{position:absolute;margin:0;inset:-4px;width:auto;height:auto;border-color:var(--gold);border-right-color:transparent}.brightness{position:relative;margin:12px 0 0;display:block}.brightness input{width:100%;height:33px;margin:0;display:block;appearance:none;border:0;border-radius:7px;background:linear-gradient(to right,var(--gold) var(--level),var(--raised) var(--level));cursor:pointer}.brightness input::-webkit-slider-thumb{appearance:none;width:4px;height:18px;border-radius:3px;background:#fff9ed}.brightness input::-moz-range-thumb{width:4px;height:18px;border:0;border-radius:3px;background:#fff9ed}.brightness input:disabled{opacity:.45;cursor:default}.brightness .level{position:absolute;right:11px;top:10px;font-size:10px;color:#eeeadd;pointer-events:none;text-shadow:0 1px 2px #0008}.mood-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.mood-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:91px;padding:14px 7px;color:var(--muted);font-size:11px;font-weight:400;position:relative}.mood-tile>.icon{color:var(--gold);width:29px;height:29px}.mood-tile small:empty{display:none}.mood-tile small{font-size:9px;color:var(--gold)}.mood-tile.working{border-color:var(--gold)}.mood-tile.working::after{position:absolute;right:8px;top:8px;margin:0;color:var(--gold)}.room-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:15px 0;border-block:1px solid var(--line);gap:12px}.room-metrics>div{border-right:1px solid var(--line);padding-right:8px;min-width:0}.room-metrics>div:last-child{border:0}.room-metrics .icon{width:14px;height:14px;color:var(--gold);margin-right:6px}.room-metrics strong{font-size:16px;font-weight:400;overflow-wrap:anywhere}.room-metrics small{display:block;font-size:9px;color:var(--muted);margin-top:6px}.equipment-tile{display:flex;align-items:center;gap:12px;padding:15px 12px}.equipment-tile>.icon{color:var(--gold)}.equipment-tile h3{font-size:12px;margin:0 0 6px}.equipment-tile .muted{font-size:10px}.room-details{border-top:1px solid var(--line);margin-top:25px;padding-top:16px}.room-details summary{display:flex;justify-content:space-between;cursor:pointer;list-style:none;color:var(--muted);font-size:11px}.device-detail{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding:15px 0}.device-detail strong{font-size:12px;font-weight:400;display:block;margin-bottom:5px}.device-detail .muted{font-size:10px}.menu-card{display:flex;align-items:center;gap:14px;text-align:left;color:var(--ink);font-weight:400;min-height:90px}.menu-card>.icon{color:var(--gold)}.menu-card>span:first-of-type{flex:1}.menu-card small{display:block;font-size:10px;color:var(--muted);margin-top:7px}.account-detail{margin-top:28px;border-top:1px solid var(--line);padding-top:18px;display:grid;gap:10px;font-size:11px;color:var(--muted)}.account-detail button{justify-self:start}.sidebar{inset:auto 0 0;width:100%;max-width:680px;height:auto;margin:auto;padding:11px 8px calc(15px + env(safe-area-inset-bottom));display:block;background:var(--cream);border-top:1px solid var(--line);z-index:3}.sidebar>.logo,.sidebar>.eyebrow,.sidebar .bottom{display:none}.sidebar nav{display:grid;grid-template-columns:repeat(5,1fr);gap:0}.sidebar nav button{padding:4px 0;display:flex;flex-direction:column;align-items:center;gap:7px;font-size:10px;background:none;border-radius:0;color:var(--muted);font-weight:400}.sidebar nav button.active{background:none;color:var(--gold)}.sidebar nav button .icon{width:21px;height:21px}.message{background:var(--raised)}.pill{background:var(--tint);color:var(--gold)}.pill.pending{background:var(--tint);color:var(--gold)}input:not([type=range]),select,textarea{background:var(--surface);color:var(--ink);border-color:var(--line)}.callout{background:var(--raised);padding:18px}.callout h3{font-size:16px}.empty{padding:28px 17px;border-color:var(--line)}.empty h3{font-family:Segoe UI,Arial,sans-serif;font-size:20px}.catalog-art{background:var(--raised);color:var(--gold);height:100px}.login-brand{background:var(--cream);padding:38px}.login-brand h1{font-size:32px;margin-top:30px}.login-form{padding:35px 27px}.login .orbit{display:none}.login-form .logo{display:none}.error{color:#e6ad94}dialog{background:var(--surface);color:var(--ink);padding:25px}.footnote{font-size:10px;line-height:1.7}.preview-note{font-size:10px;color:var(--muted);text-align:center;margin-top:25px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#notice{background:var(--raised);border:1px solid var(--line);bottom:90px;font-size:12px;color:var(--ink)}@media(max-width:520px){.main{padding:23px 20px 110px}.small-grid{grid-template-columns:1fr}.heading h1{font-size:25px}.topbar{margin-bottom:25px}.room{min-height:126px}.room-metrics strong{font-size:14px}.room-metrics{gap:7px}.mood-tile{font-size:10px}.login{display:block}.login-brand{padding:28px 27px}.login-brand h1{margin-top:20px;font-size:27px}.menu-card{grid-column:1/-1}}@media(prefers-reduced-motion:reduce){button.working::after{animation:none}}
.design-preview .mood-tile:disabled,.design-preview .power-button:disabled,.design-preview .brightness input:disabled{opacity:1}
h1{font-family:Segoe UI,Arial,sans-serif;font-size:27px;font-weight:400;letter-spacing:-.5px}#mood-off{min-height:38px;min-width:88px;padding:8px 12px;border:1px solid #b5935d55;border-radius:7px;color:var(--gold)}.design-preview #mood-off:disabled{opacity:1}@media(pointer:coarse){.control .power-button{width:44px;height:44px}#mood-off{min-height:44px}.text-button{min-height:44px}}

/* Quiet mood acknowledgment and expanded lighting, within the selected velvet palette. */
.mood-tile.mood-chosen{border-color:var(--gold);background:var(--tint);color:var(--ink)}
.mood-tile:disabled[aria-busy="true"],.mood-tile:disabled[aria-pressed="true"],#mood-off:disabled[aria-busy="true"]{opacity:1}
.mood-tile.working::after{display:none}
.mood-tile.room-waiting:disabled{opacity:1}
.light-open{padding:0;background:none;color:inherit;text-align:left;font:inherit;min-height:32px}
.light-open>span{color:var(--gold);margin-left:6px}
#light-dialog{max-width:430px;border:1px solid var(--line);padding:24px}
.light-panel-heading{display:flex;justify-content:space-between;align-items:start;gap:15px}
.light-panel-heading h2{margin:9px 0 0;font-size:22px}
.light-panel-heading button{padding:10px 12px}
.light-section{border-top:1px solid var(--line);padding-top:8px;margin-top:24px}
.light-section h3{font-size:15px;margin-top:12px}
.light-section label{font-size:13px;font-weight:400}
.light-section input[type=range]{width:100%;accent-color:var(--gold);height:35px}
.color-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.color-preset{background:transparent;color:var(--muted);font-size:11px;display:flex;flex-direction:column;align-items:center;gap:7px;padding:8px 4px;min-height:68px}
.color-preset>.color-swatch{height:26px;width:26px;border-radius:50%;display:block;flex-shrink:0}
.color-choice{display:flex;align-items:center;gap:20px;justify-content:space-between}
.color-choice input[type=color]{width:64px;height:44px;padding:4px;margin-top:9px}
.white-ends{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin-top:-8px;margin-bottom:15px}
#light-dialog button:disabled{opacity:.7}
@media(max-width:420px){#light-dialog{padding:20px}.color-choice{gap:12px}}

.light-tabs{display:flex;gap:8px;margin-top:20px;flex-wrap:wrap}.light-tabs button.active{border-color:var(--gold);color:var(--gold);background:var(--tint)}#light-dialog [hidden]{display:none}

/* One complete lighting surface. Swatches use stylesheet classes under the strict CSP. */
#light-dialog .swatch-amber{background:#ff9b38}#light-dialog .swatch-rose{background:#e789a8}#light-dialog .swatch-lavender{background:#aa93dc}#light-dialog .swatch-blue{background:#739ee8}#light-dialog .swatch-green{background:#82b98f}#light-dialog .swatch-soft{background:#fff0d8}
#light-dialog .white-candle{background:#ffc184}#light-dialog .white-warm{background:#ffdbb2}#light-dialog .white-soft{background:#ffead1}#light-dialog .white-neutral{background:#f8f1e5}#light-dialog .white-daylight{background:#eef3ff}#light-dialog .white-cool{background:#d4e3ff}
.light-status-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px}.light-status-row p{margin:0}
#light-dialog .light-section{margin-top:18px;padding-top:4px}#light-dialog .light-section h3{margin:12px 0}
.brightness-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.brightness-presets button{padding:9px 3px;min-height:38px}
.wheel-row{display:flex;align-items:center;justify-content:center;gap:25px;margin:10px 0 16px}
#color-wheel{width:160px;height:160px;max-width:55%;aspect-ratio:1;border-radius:50%;position:relative;touch-action:none;flex-shrink:0;background:radial-gradient(circle,#fff 0%,#fff0 70%),conic-gradient(from 90deg,#f00,#ff0,#0f0,#0ff,#00f,#f0f,#f00)}
#color-wheel[aria-disabled=true]{opacity:.6}
#wheel-marker{position:absolute;width:18px;height:18px;border:2px solid #fff;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 1px 4px #0009;pointer-events:none}
.color-reference{display:flex;flex-direction:column;align-items:center;gap:10px;font-size:12px}.color-reference .muted{font-size:11px}
#selected-color-dot{display:block;width:36px;height:36px;border-radius:50%;border:1px solid var(--line)}
#light-dialog .color-preset{min-height:60px;padding:7px 3px;gap:6px}#light-dialog .color-preset>span:not(.color-swatch){font-size:11px;width:auto;height:auto;background:none;border-radius:0}
.white-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.white-presets small{font-size:10px;color:var(--muted)}
.light-tech{border-top:1px solid var(--line);margin-top:22px;padding-top:15px;color:var(--muted);font-size:11px}.light-tech summary{cursor:pointer}.tech-toggle{display:flex;align-items:center;gap:8px;line-height:1.5}.tech-toggle input{width:18px;height:18px;margin:0;accent-color:var(--gold)}
.light-card[data-light-card]{cursor:pointer}.light-card .power-button,.light-card input{cursor:pointer}
@media(pointer:coarse){#light-dialog .brightness-presets button{min-height:44px}.color-preset{min-height:66px}}
@media(max-width:360px){#light-dialog{padding:16px}.wheel-row{gap:15px}#color-wheel{width:140px;height:140px}}

#light-dialog.design-preview #color-wheel[aria-disabled=true],#light-dialog.design-preview .color-preset:disabled{opacity:1}

/* Approved room and home layout. */
.icon-button .icon{display:block;margin:0}.mood-tile{font-size:14px;min-height:122px;padding:16px 7px}.mood-tile>.icon{width:38px;height:38px}.mood-tile small{font-size:11px}.property-shortcuts .mood-tile>.icon{width:27px;height:27px}.property-shortcuts .mood-tile{font-size:12px;min-height:100px}.room-power-action{display:flex;align-items:center;gap:10px}.room-power-action button[aria-pressed=true]{color:var(--gold);background:var(--tint)}.light-color-reading{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:5px}.light-color-reading:before{content:"";width:8px;height:8px;flex-shrink:0;border-radius:50%;background:var(--light-color,var(--gold))}.light-card .brightness input{background:linear-gradient(to right,var(--light-color,var(--gold)) var(--level),var(--raised) var(--level))}.quick-effect{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding-top:9px;border-top:1px solid var(--line)}.quick-effect label{font-size:12px;color:var(--muted);margin:0;font-weight:400}.quick-effect select{width:auto;max-width:65%;margin:0;padding:9px;font-size:12px;color:var(--gold)}.home-report{border-top:1px solid var(--line);padding-top:18px;margin-top:25px}.home-report summary{display:flex;justify-content:space-between;gap:12px;list-style:none;font-size:12px;color:var(--muted);cursor:pointer}.home-report strong{font-size:12px;font-weight:400;text-align:right;overflow-wrap:anywhere}.home-report .device-detail{font-size:12px}.active-theme,.theme-scenes,.setup-note{font-size:12px}.theme-scenes{color:var(--muted);margin-top:15px}.theme-scenes summary{cursor:pointer}.section-title>small{color:var(--muted);font-size:11px}.room-heading [data-active-theme]{display:block;font-size:11px;margin-top:9px}@media(pointer:coarse){.icon-button{width:44px;height:44px}.quick-effect select{min-height:44px}}

/* Lighting-first room navigation and quiet Home context. */
.room-navigation nav{display:flex;overflow-x:auto;scrollbar-width:none;gap:0;justify-content:space-between}.room-navigation nav::-webkit-scrollbar{display:none}.room-navigation nav button{flex:1 0 66px;max-width:100px;min-height:54px;font-size:11px;padding:4px 3px;line-height:1.3}.room-navigation nav button:first-child{position:sticky;left:0;background:var(--cream);z-index:1}.room-navigation nav button span{white-space:normal}.home-heading{margin-top:9px;margin-bottom:25px;gap:12px}.home-heading h1{margin:0;flex:1}.home-context{display:flex;flex-direction:column;align-items:flex-end;gap:5px;color:var(--muted);font-size:11px;max-width:155px;text-align:right}.weather-line{display:flex;align-items:center;gap:5px;color:var(--ink);font-size:12px}.weather-line .icon{width:18px;height:18px;color:var(--gold)}.home-context time{font-size:14px;color:var(--ink);font-variant-numeric:tabular-nums}.room-temperature{display:block;color:var(--ink);font-size:14px;margin:5px 0 10px}.room-grid .room{min-height:150px}.home-services .menu-card{min-height:70px;font-size:13px;padding:15px 12px}.home-services .menu-card>span{flex:0}#home-theme{font-size:16px;min-height:48px;margin-top:0}.room-metrics{font-size:12px}@media(max-width:350px){.home-heading h1{font-size:24px}.home-context{max-width:130px}.home-heading{gap:8px}.home-services .menu-card{grid-column:auto;font-size:12px;padding:12px 9px}}@media(prefers-reduced-motion:no-preference){.room-navigation nav{scroll-behavior:smooth}}
.home-services .menu-card{grid-column:auto}

/* Compact equipment controls retain the room palette and touch spacing. */
.tv-tile{text-align:left;width:100%;color:var(--ink);cursor:pointer}.tv-tile>span:last-child{margin-left:auto;color:var(--gold)}
.tv-dialog{width:min(440px,calc(100vw - 28px));max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border:1px solid #384139;border-radius:22px;background:#1b211c;color:#f1efe5;box-sizing:border-box}
.tv-dialog::backdrop{background:#050a07b8}.tv-dialog h2{font-size:27px;margin:8px 0}.tv-overview{display:flex;align-items:center;gap:16px;margin:24px 0 12px}.tv-overview>.icon{width:42px;height:42px;color:#b5935d}.tv-overview>div{flex:1}.tv-overview small{display:block;margin-top:5px}.tv-message:empty{display:none}.tv-volume{display:grid;grid-template-columns:1fr auto;gap:16px;margin:24px 0}.tv-volume input{grid-column:1/-1;width:100%;accent-color:#b5935d}.tv-actions{display:flex;gap:10px;flex-wrap:wrap}.tv-actions button{flex:1;min-height:44px}.tv-input{display:grid;gap:12px;margin:24px 0}.tv-input select{max-width:100%;min-height:46px}.tv-dialog #tv-care{margin-top:16px;font-size:14px}
.tv-dialog .light-panel-head{display:flex;justify-content:space-between;align-items:start;gap:12px}.tv-dialog label{font-size:14px}.tv-tile{color:#f1efe5}

.home-health{margin-top:30px}.health-item{display:flex;align-items:center;gap:12px;padding:18px 0;border-bottom:1px solid #303a31}.health-item>div{flex:1;min-width:0}.health-item small{display:block;color:#98a294;font-size:12px;margin-bottom:7px}.health-item strong{font-size:15px}.health-item p{font-size:14px;color:#b8bfb4;line-height:1.5;margin:7px 0 0}.health-item button{flex-shrink:0;min-height:44px}.health-urgent{color:#dc957d!important}.health-coverage{font-size:12px;line-height:1.6;margin-top:20px}.home-health summary{gap:14px}.home-health summary span:last-child{text-align:right}

.now-playing{border-top:1px solid #303a31;padding-top:20px;margin:20px 0}.now-playing h3{font-size:20px;line-height:1.4;margin:12px 0 5px;overflow-wrap:anywhere}.now-playing p{margin:0;font-size:14px}.tv-tile>div{min-width:0}.tv-tile [data-reading]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.now-playing p{overflow-wrap:anywhere}

.remote-panel{margin:22px 0;border-top:1px solid #303a31;padding-top:18px}.remote-panel summary{font-size:14px;cursor:pointer;color:#b5935d}.remote-pad{display:grid;grid-template-columns:repeat(3,54px);justify-content:center;gap:8px;margin:20px 0}.remote-pad button{height:50px;padding:0}.remote-pad [data-remote-button=UP]{grid-column:2}.remote-pad [data-remote-button=LEFT]{grid-column:1;grid-row:2}.remote-pad [data-remote-button=ENTER]{grid-column:2;grid-row:2;border-color:#b5935d}.remote-pad [data-remote-button=RIGHT]{grid-column:3;grid-row:2}.remote-pad [data-remote-button=DOWN]{grid-column:2;grid-row:3}.remote-extras{display:flex;gap:12px;justify-content:center}.remote-extras button{min-width:80px}

.theme-editor-selectors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}.theme-light h3{display:flex;align-items:center;gap:12px}.theme-light h3 .icon{color:#b5935d}.theme-light label{font-size:14px}.theme-light input[type=range]{display:block;width:100%;margin-top:18px;accent-color:#b5935d}.theme-light [data-theme-percent]{float:right;color:#b5935d}.theme-field[hidden]{display:none!important}.theme-light input[type=color]{height:48px;padding:5px}.theme-save-bar{display:flex;align-items:center;gap:18px;margin:24px 0}.theme-editor-note{font-size:13px;line-height:1.6}@media(max-width:600px){.theme-editor-selectors{grid-template-columns:1fr 1fr}.theme-editor-selectors>label:first-child{grid-column:1/-1}}

@media(max-width:600px){#theme-editor-form>.grid{grid-template-columns:1fr}.theme-light input,.theme-light select{min-height:44px}}

/* Approved phone refinement: existing artwork, colors and visual slider remain. */
body{font-size:18px}
button,input,select,textarea,.room h3,.device-label h3,.light-open,.mood-tile,.property-shortcuts .mood-tile,.section-title h2,.theme-light label,.theme-editor-selectors label,.light-section label,.light-section h3,.quick-effect label,.quick-effect select{font-size:18px}
.muted,.room .muted,.light-color-reading,.room-heading [data-active-theme],.active-theme,.theme-scenes,.setup-note,.theme-editor-note,.home-report summary,.home-report strong,.home-report .device-detail{font-size:16px}
.mood-tile small{font-size:14px}
.brightness{height:33px;isolation:isolate}
.brightness::before{content:"";position:absolute;inset:0;border-radius:7px;background:linear-gradient(to right,var(--light-color,var(--gold)) var(--level,0%),var(--raised) var(--level,0%));pointer-events:none;z-index:-1}
.light-card .brightness input,.brightness input{position:absolute;top:-10px;left:-14px;width:calc(100% + 28px);height:54px;background:transparent;border-radius:0;touch-action:pan-y}
.brightness input::-webkit-slider-runnable-track{height:44px;background:transparent}
.brightness input::-webkit-slider-thumb{width:28px;height:44px;border:0;border-radius:0;background:linear-gradient(#fff9ed,#fff9ed) center/4px 18px no-repeat}
.brightness input::-moz-range-track{height:44px;background:transparent}
.brightness input::-moz-range-thumb{width:28px;height:44px;border:0;border-radius:0;background:linear-gradient(#fff9ed,#fff9ed) center/4px 18px no-repeat}
.brightness .level{font-size:14px;top:8px}
.theme-light input[type=range],.light-section input[type=range]{height:48px;touch-action:pan-y}
.theme-wheel{width:160px;height:160px;max-width:55%;aspect-ratio:1;border-radius:50%;position:relative;touch-action:none;flex-shrink:0;background:radial-gradient(circle,#fff 0%,#fff0 70%),conic-gradient(from 90deg,#f00,#ff0,#0f0,#0ff,#00f,#f0f,#f00)}
.theme-marker{position:absolute;width:18px;height:18px;border:2px solid #fff;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 1px 4px #0009;pointer-events:none}
.theme-dot{display:block;width:36px;height:36px;border-radius:50%;border:1px solid var(--line)}
.theme-field .color-preset,.color-preset,#light-dialog .color-preset>span:not(.color-swatch){font-size:16px}
.theme-field .color-reference{font-size:16px}
.theme-field .color-preset{min-height:66px}
.theme-light input[type=hidden]{display:none}

.room-humidity,.room-water{display:block;color:var(--muted);font-size:14px;margin:5px 0 10px;line-height:1.4}.room-water.water-alert{color:#ff8270}.room [hidden]{display:none!important}

.room-humidity,.room-water{color:var(--ink)}.room-grid .room .room-alert-reading{color:var(--muted)}.room-water.water-alert{color:var(--muted)}.room-theme-label{font-size:18px;font-weight:400;margin:12px 0 8px}#room-theme{margin:0 0 20px;min-height:48px;font-size:18px}

/* Approved compact Home and moods-first room layout. Slider styling is unchanged. */
.home-heading{align-items:flex-start;margin-top:0;margin-bottom:24px}.home-title{min-width:0;flex:1}.home-title .eyebrow{margin:0 0 22px}.home-title h1{margin:0}.home-context{max-width:190px;flex-shrink:0}.home-context .weather-line{margin:0;min-height:14px}.home-heading .home-context{padding-top:0}.room-grid .room{position:relative;min-height:145px;text-align:left}.room-card-readings{position:absolute;top:20px;right:12px;display:flex;align-items:center;gap:8px;max-width:calc(100% - 55px);flex-wrap:wrap;justify-content:flex-end}.room-card-readings .room-temperature,.room-card-readings .room-humidity,.room-card-readings .room-water{display:inline;margin:0;font-size:14px;line-height:1.3}.room-card-readings [hidden]{display:none}.room-grid .room>h3{margin-top:0}.home-kpi{display:flex;justify-content:space-between;gap:10px;margin-top:24px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:14px}.home-services .menu-card{min-height:88px;font-size:18px}.room-metrics{margin-bottom:18px}@media(max-width:380px){.home-context{max-width:170px}.weather-line{font-size:12px}.home-title .eyebrow{font-size:9px}.room-card-readings{top:17px;font-size:13px}.room-card-readings .room-temperature,.room-card-readings .room-humidity{font-size:13px}.home-kpi{font-size:12px}}

/* Approved water alert: visible only while the local hub alert is active. */
#emergency-status[hidden]{display:none}#emergency-status{margin:0 0 22px}.emergency-alert{display:flex;align-items:center;gap:12px;width:100%;background:var(--surface);border:1px solid var(--gold);border-radius:11px;padding:15px;text-align:left;color:var(--ink)}.emergency-alert>.icon{color:var(--gold);width:24px;height:24px}.emergency-alert>span:nth-child(2){flex:1;min-width:0}.emergency-alert strong{display:block;font-size:18px;font-weight:400}.emergency-alert small{display:block;font-size:14px;color:var(--muted);line-height:1.45;margin-top:6px}.emergency-alert>span:last-child{color:var(--gold)}.emergency-detail{background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:18px;margin-top:12px}.emergency-detail .section-title{margin-top:0}.emergency-detail p{font-size:18px;line-height:1.5}.emergency-detail p.muted{font-size:14px}.emergency-detail .device-detail{font-size:14px}.emergency-detail .device-detail strong{font-size:14px}.emergency-detail [data-emergency-ack]{width:100%;min-height:48px;font-size:16px;line-height:1.4}

/* Approved Quiet inset: room selector presentation only. */
.room-theme-inset{display:block;margin:12px 0 20px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px 18px;font-weight:400}
.room-theme-inset .room-theme-label{display:block;margin:0;color:var(--muted);font-size:14px;line-height:1.4}
.room-theme-choice{position:relative;display:flex;align-items:center}
.room-theme-inset :is(#room-theme,#home-theme){appearance:none;-webkit-appearance:none;position:relative;z-index:1;display:block;width:100%;min-width:0;min-height:48px;margin:0;padding:6px 32px 6px 0;border:0;border-radius:0;background:transparent;color:var(--gold);font-size:18px;font-weight:400;line-height:1.4}
.room-theme-inset :is(#room-theme,#home-theme) option{background:var(--surface);color:var(--ink)}
.room-theme-chevron{position:absolute;right:4px;color:var(--gold);font-size:22px;pointer-events:none}

.home-theme-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.home-theme-heading .room-theme-label{font-weight:400;letter-spacing:0}.home-theme-heading #edit-themes{font-size:14px;padding:0;min-height:24px}

/* Approved Floating menu, shared across single-choice selects. */
.vortex-dropdown{position:relative;display:block;width:100%;min-width:0;margin-top:8px}
.vortex-dropdown-trigger{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--gold);font-size:18px;font-weight:400;text-align:left}
.vortex-dropdown-value{min-width:0;overflow-wrap:anywhere}.vortex-dropdown-chevron{flex-shrink:0;color:var(--gold)}
.vortex-native-select{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;min-width:0!important;padding:0!important;margin:0!important;border:0!important;opacity:0!important;clip-path:inset(50%)!important;overflow:hidden!important;pointer-events:none!important}
.room-theme-choice>.vortex-dropdown{margin-top:0}.room-theme-inset .vortex-dropdown-trigger{border:0;border-radius:0;padding:6px 0;background:transparent}
.room-theme-choice:has(.vortex-dropdown)>.room-theme-chevron{display:none}
.quick-effect .vortex-dropdown{width:auto;min-width:140px;margin:0}.quick-effect .vortex-dropdown-trigger{font-size:18px;min-height:44px}
.vortex-dropdown-menu{position:fixed;z-index:100;width:280px;overflow:auto;overscroll-behavior:contain;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);box-shadow:0 8px 28px #0006}
.vortex-dropdown-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px}.vortex-dropdown-heading strong{font-size:18px;font-weight:400;min-width:0;overflow-wrap:anywhere}
.vortex-dropdown-close{flex-shrink:0;min-height:44px;padding:0 4px;background:none;color:var(--gold);font-size:16px;font-weight:400}
.vortex-dropdown-menu .vortex-dropdown-search{margin:0 0 10px;width:100%;min-height:44px;background:var(--raised);color:var(--ink);border-color:var(--line);font-size:18px}
.vortex-dropdown-group{color:var(--muted);font-size:14px;margin:12px 0 6px}.vortex-dropdown-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;padding:8px 12px;border-radius:8px;background:none;color:var(--ink);font-size:18px;font-weight:400;text-align:left;overflow-wrap:anywhere}
.vortex-dropdown-option[aria-selected=true]{background:var(--tint);color:var(--gold)}.vortex-dropdown-check{color:var(--gold);flex-shrink:0}.vortex-dropdown-empty{font-size:16px;color:var(--muted);margin:10px 0}
.music-sources,.music-results{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.music-source,.music-item{display:flex;flex-direction:column;align-items:flex-start;gap:10px;text-align:left;min-width:0;font-size:18px}.music-source[aria-pressed=true]{border-color:var(--gold);background:var(--tint)}.music-source strong,.music-item strong{font-weight:400;overflow-wrap:anywhere}.music-source small,.music-item small{font-size:14px;line-height:1.5}.music-video{opacity:.65}.music-search{display:flex;gap:10px;align-items:center}.music-search input{min-width:0;flex:1}.music-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.music-tabs button{min-height:44px;font-size:16px}.music-tabs button[aria-pressed=true]{color:var(--gold);border-color:var(--gold)}.music-message{font-size:14px}.music-art{display:flex;align-items:center;justify-content:center;width:100%;height:92px;border-radius:8px;background:linear-gradient(135deg,var(--tint),var(--surface))}.music-art .icon{width:34px;height:34px}.music-item-action{color:var(--gold);font-size:14px}.music-now{margin-top:24px}.music-track{display:flex;align-items:center;gap:16px;margin:24px 0}.music-track h2{font-size:22px;overflow-wrap:anywhere}.music-track p{margin:8px 0}.music-playback{display:flex;justify-content:center;gap:12px}.music-playback button{min-height:48px;min-width:48px}#music-confirm{width:min(480px,calc(100% - 24px));max-height:85vh;overflow:auto}#music-confirm>button{width:100%;margin-top:16px}.music-library{margin-top:24px}@media(min-width:900px){.music-sources{grid-template-columns:repeat(4,minmax(0,1fr))}.music-results{grid-template-columns:repeat(3,minmax(0,1fr))}}
.music-source,.music-item{color:var(--ink);font-weight:400}.music-source>.icon,.music-art>.icon{color:var(--gold)}.music-source small,.music-item small{font-weight:400}
.music-lounge .music-lounge-heading{align-items:center;margin-bottom:18px;gap:12px}.music-lounge-heading h1{margin:0;font-size:27px}.music-source-picker{width:160px;max-width:48%;margin:0}.music-source-picker select{margin:0}.music-source-picker .vortex-dropdown-trigger{background:transparent;border:0;color:var(--gold);font-size:16px;padding:8px 0;gap:8px;text-align:right}.music-source-picker .vortex-dropdown-trigger-label{overflow-wrap:normal}.music-room-picker{display:block;padding:10px 14px;background:var(--surface);border-radius:10px;margin:0 0 18px}.music-room-picker>span{display:block;font-size:13px;color:var(--muted);margin-bottom:3px}.music-room-picker .vortex-dropdown{margin:0}.music-room-picker .vortex-dropdown-trigger{border:0;background:transparent;padding:0;min-height:44px}.music-lounge .music-now{margin:0 0 24px;padding:17px}.music-now-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.music-refresh{display:grid;place-items:center;min-width:44px;min-height:44px;padding:0}.music-refresh .icon{width:17px;height:17px}.music-lounge .music-track{margin:10px 0 14px;gap:12px}.music-now-art,.music-song-art{display:grid;place-items:center;flex-shrink:0;background:var(--raised);color:var(--gold);border-radius:8px;width:44px;height:44px}.music-now-art .icon,.music-song-art .icon{width:22px;height:22px}.music-lounge .music-track>div{min-width:0}.music-lounge .music-track h2{font-size:20px;margin:0;font-weight:400}.music-lounge .music-track p{font-size:14px;margin:5px 0}.music-lounge [data-music-player-state]{display:block;font-size:12px}.music-lounge .music-playback{margin:10px 0 14px;gap:12px}.music-lounge .music-playback button{display:grid;place-items:center;color:var(--gold);border-radius:50%;min-width:44px;min-height:44px;padding:0}.music-volume{display:flex;align-items:center;gap:12px;margin:0;color:var(--muted);font-size:13px}.music-volume>.icon{width:18px;height:18px;flex-shrink:0}.music-volume input{min-width:0;width:100%;accent-color:var(--gold)}.music-volume strong{font-weight:400;min-width:34px;font-size:14px}.music-saved-playlists .section-title{margin:0 0 12px}.music-playlist-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.music-playlist{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:8px;min-width:0;color:var(--ink);padding:14px;font-weight:400}.music-playlist .icon{color:var(--gold);width:20px;height:20px}.music-playlist strong{font-weight:400;font-size:16px;overflow-wrap:anywhere}.music-playlist small{color:var(--muted);font-size:12px;font-weight:400}.music-lounge .music-library{margin-top:22px}.music-lounge .music-search{background:var(--surface);border:1px solid var(--line);border-radius:9px;gap:8px;padding:0 10px;margin:0 0 12px}.music-lounge .music-search input{background:transparent;border:0;padding:10px 0;margin:0;font-size:16px;min-height:46px}.music-search-icon{display:grid;place-items:center;color:var(--muted);flex-shrink:0}.music-search-icon .icon{width:18px;height:18px}.music-lounge .music-search button{min-height:44px;font-size:14px;padding:5px 0;flex-shrink:0;font-weight:400}.music-library-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.music-lounge .music-tabs{margin:0;gap:18px;flex-wrap:wrap}.music-lounge .music-tabs button{padding:5px 0;border:0;background:transparent;color:var(--muted);font-weight:400;font-size:16px;border-radius:0}.music-lounge .music-tabs button[aria-pressed=true]{color:var(--gold)}.music-lounge #music-saved{font-size:14px;font-weight:400;padding:4px 0;min-height:44px}.music-lounge .music-message{font-size:12px;margin:8px 0 0}.music-lounge .music-results{display:block}.music-lounge .music-song-row{display:flex;flex-direction:row;align-items:center;gap:12px;width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:13px 0;min-height:74px;font-weight:400;color:var(--ink);text-align:left}.music-song-copy{display:block;min-width:0;flex:1}.music-song-copy strong{display:block;font-size:18px;font-weight:400;overflow-wrap:anywhere}.music-song-copy small{display:block;font-size:13px;margin-top:4px;font-weight:400;line-height:1.4}.music-song-play{display:grid;place-items:center;flex-shrink:0;min-width:28px;color:var(--gold)}.music-song-play .icon{width:18px;height:18px}.music-lounge #music-more{margin-top:18px}@media(max-width:360px){.music-source-picker{width:145px}.music-lounge .music-tabs{gap:14px}.music-song-copy strong{font-size:17px}}


/* Experience refinements */
.room-theme-heading{margin-bottom:10px}.room-theme-heading h2{color:var(--ink)}.room-theme-heading .room-comfort-entry{margin:0;padding:0;font-size:14px}.dialog-footer{display:flex;justify-content:flex-end;margin-top:20px}.theme-save-bar .theme-saved{background:transparent;color:var(--gold);border:1px solid var(--line)}

.check-row{display:flex;gap:12px;align-items:center}.check-row input{width:auto}.bilresa-remote{display:flex;flex-direction:column;align-items:stretch;width:120px;padding:12px;border-radius:44px;background:var(--surface);border:1px solid var(--line);margin:20px auto;gap:12px}.bilresa-button{height:85px;border-radius:50%;background:var(--raised);color:var(--ink);font-size:32px;border:1px solid var(--line)}.bilresa-button.chosen{border-color:var(--gold);color:var(--gold)}.input-rule,.group-room,.mood-audio{border-top:1px solid var(--line);padding:18px 0}.input-rule h3{font-size:18px}.room-details .device-detail{gap:12px;flex-wrap:wrap}.theme-light [data-theme-mode].sr-only{visibility:hidden}.music-playlist-grid{max-height:320px;overflow:auto}

.tone-summary{display:block;color:var(--gold);font-weight:400;margin:8px 0}.room-now-playing .room-audio-open{display:flex;align-items:center;gap:16px;text-align:left;width:100%}.room-now-playing .room-audio-open h3{color:var(--ink)}.room-audio-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:15px}.room-audio-actions button .icon{margin:0}.heading{flex-wrap:wrap}.theme-light [data-theme-mode][hidden]{display:none!important}
.actions #cancel-request{order:2}.music-lounge-heading{gap:12px}.music-lounge-heading>button{padding:0}.room-audio-open .eyebrow{font-size:11px}
.input-rule [hidden]{display:none!important}.group-room summary{color:var(--ink);font-size:20px;cursor:pointer;padding-bottom:12px}.group-room [data-group-lights] strong{font-size:14px}

/* Compact room equipment and direct input action choices. */
.equipment-grid{grid-template-columns:minmax(0,1fr)!important}.equipment-grid>.card{min-height:0;width:100%;padding:18px 20px}.equipment-grid .equipment-tile{display:flex;align-items:center;text-align:left;gap:16px;min-height:94px}.equipment-grid .equipment-tile>div,.room-audio-open>div{min-width:0;flex:1}.equipment-grid .equipment-tile>.icon,.room-audio-open>.icon{flex:none;width:28px;height:28px;margin:0}.room-audio-open{background:transparent;padding:0;color:var(--ink)}.room-audio-open>div>span,.room-audio-open>div>small{display:block}.room-audio-open h3{margin:5px 0}.room-audio-open [data-reading]{font-size:16px;font-weight:500;line-height:1.4;overflow-wrap:anywhere}.room-audio-open [data-room-audio-artist]{margin-top:4px;line-height:1.4}.room-audio-actions{justify-content:flex-end;margin-top:12px}.room-audio-actions button{padding:10px 14px}.input-action-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}.input-action-choices button{white-space:normal;min-height:44px}.input-action-choices .chosen{border-color:var(--gold);background:var(--tint);color:var(--gold)}.input-rule .sr-only{display:none}.input-rule [data-input-mood],.input-rule [data-input-targets]{padding:0 12px 12px;border-left:2px solid var(--gold)}

.input-gesture-choices{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.input-gesture-choices .chosen{border-color:var(--gold);color:var(--gold);background:var(--tint)}#input-editor .bilresa-remote{width:90px;padding:9px;gap:8px;margin:12px auto}#input-editor .bilresa-button{height:60px;font-size:28px}

.room-details .input-name-link{text-align:left;color:var(--ink);font-size:inherit;padding:0;font-weight:600}

/* Home actions and shared media panels. */
.property-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.property-shortcuts .mood-tile{min-height:96px;padding:14px;display:grid;grid-template-columns:24px minmax(0,1fr);gap:6px 10px;text-align:left;align-content:center}.property-shortcuts .mood-tile>.icon{width:24px;height:24px;margin:0;grid-row:1/3}.property-shortcuts .mood-tile>span{font-size:16px;line-height:1.3}.property-shortcuts .mood-tile>small{display:block;font-size:12px;color:var(--muted);line-height:1.4}.shortcut-feedback{padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:10px;font-size:14px}.room-media-card .room-audio-open{min-height:85px}.room-media-card{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.room-media-card .room-audio-actions{margin:0}.room-media-card .room-audio-open [data-room-media-copy]{margin-top:4px;line-height:1.4}.room-media-card .room-audio-open>div>span{display:block}.room-media-card .room-audio-open h3{margin:4px 0;font-size:18px}

/* Equipment follows the room typography and palette. */
.equipment-grid>.card{border-radius:14px;padding:16px 18px;color:var(--ink);font-weight:400}.equipment-grid .equipment-tile{min-height:94px}.equipment-grid .equipment-tile h3,.equipment-grid .room-audio-open h3{font-size:18px;font-weight:400;line-height:1.35;color:var(--ink);margin:0 0 5px}.equipment-grid .equipment-tile .muted,.equipment-grid .room-audio-open .muted{font-size:14px;line-height:1.45;font-weight:400}.equipment-grid .room-audio-open [data-reading]{font-size:15px;font-weight:400}.equipment-grid .room-audio-open>.icon,.equipment-grid .equipment-tile>.icon{width:42px;height:42px;padding:10px;border-radius:12px;background:var(--tint);color:var(--gold)}.room-media-card .room-audio-open{min-height:64px}.room-media-card .room-audio-actions{padding-top:8px;border-top:1px solid var(--line);gap:12px}.room-media-card .room-audio-actions button{font-size:14px;font-weight:400;min-height:44px}.room-media-card .room-audio-actions>.secondary{width:44px;display:grid;place-items:center;padding:0;border-radius:50%}.equipment-grid [data-input-detail]>span:last-child,.room-audio-open>span:last-child{color:var(--gold);font-size:22px;font-weight:400}
#input-editor{padding:24px;color:var(--ink)}#input-editor h2{font-size:24px;font-weight:400;line-height:1.3;margin:0 0 12px}#input-editor h3{font-size:18px;font-weight:400;line-height:1.4}#input-editor p.muted{font-size:14px;font-weight:400;line-height:1.5;margin:10px 0}#input-editor label{font-size:15px;font-weight:400}#input-editor .input-action-choices button,#input-editor .input-gesture-choices button{font-size:15px;font-weight:400;line-height:1.3;border-radius:10px;padding:10px 12px;min-height:44px}#input-editor .input-gesture-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#input-editor .bilresa-remote{width:80px;background:var(--raised);border-radius:40px;padding:8px;margin:14px auto;box-shadow:0 4px 16px #0002}#input-editor .bilresa-button{height:54px;font-size:28px;font-weight:400;background:var(--surface);color:var(--ink);display:grid;place-items:center;padding:0}#input-editor .bilresa-button.chosen{background:var(--tint);color:var(--gold);border-color:var(--gold)}#input-editor .input-rule{padding:14px 0}#input-editor [data-input-save]{width:100%;font-size:16px;font-weight:500;min-height:46px}#input-editor .vortex-dropdown-trigger,#input-editor input{font-size:16px;font-weight:400;min-height:44px}

.readiness-device{border-top:1px solid var(--line);padding:16px 0}.readiness-device>div{display:flex;justify-content:space-between;gap:12px}.readiness-device strong{font-size:18px;font-weight:400}.readiness-device small{font-size:13px;color:var(--muted)}.readiness-device p{font-size:14px;line-height:1.5;margin:8px 0}.readiness-status{display:block;color:var(--gold);font-size:14px;margin-top:7px}.readiness-status.unavailable{color:#e59b8f}

/* Home dashboard polish: clearer hierarchy, quieter surfaces, and balanced phone cards. */
.home-heading{position:relative;align-items:center;margin:0 0 22px;padding:8px 0 20px;border-bottom:1px solid var(--line)}
.home-title .eyebrow{color:var(--gold);letter-spacing:1.8px;margin:0 0 8px}
.home-heading h1{font-size:30px;letter-spacing:-.7px;font-weight:350}
.home-context{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(145deg,var(--surface),var(--cream));gap:5px}
.home-context .weather-line{color:var(--ink);font-size:13px}.home-context time{font-size:16px;font-weight:500}.home-context [data-home-date]{font-size:12px;color:var(--muted)}
.home-theme-inset{margin:16px 0 24px;padding:16px 18px;border-color:#b5935d42;background:linear-gradient(135deg,#b5935d12,var(--surface) 55%);box-shadow:0 8px 24px #00000012}
.home-theme-heading{margin-bottom:4px}.home-theme-heading .room-theme-label{font-size:15px;color:var(--muted)}
.home-theme-inset>small{display:block;max-width:48em;font-size:13px;line-height:1.5;color:var(--muted)}
.home-heading~.section-title{margin-top:28px;margin-bottom:13px}.home-heading~.section-title h2{font-size:17px;font-weight:450;letter-spacing:-.15px}
.property-shortcuts{gap:11px}.property-shortcuts .mood-tile{min-height:88px;padding:13px 14px;border-radius:13px;background:linear-gradient(145deg,var(--surface),#ffffff04);transition:transform .16s ease,border-color .16s ease,background .16s ease}
.property-shortcuts .mood-tile:not(:disabled):hover,.room-grid .room:hover,.home-services .menu-card:hover{transform:translateY(-2px);border-color:#b5935d88}
.property-shortcuts .mood-tile>.icon{color:var(--gold)}.property-shortcuts .mood-tile>span{font-size:16px;font-weight:500;color:var(--ink)}
.property-shortcuts .mood-tile>small{font-size:12px;line-height:1.4}
.room-grid{gap:11px}.room-grid .room{min-height:140px;padding:16px;border-radius:13px;background:linear-gradient(155deg,var(--surface),#ffffff03);transition:transform .16s ease,border-color .16s ease}
.room-grid .room>.icon{display:block;box-sizing:content-box;width:22px;height:22px;padding:8px;margin:0 0 15px;border:1px solid #b5935d33;border-radius:10px;background:var(--tint);color:var(--gold)}
.room-grid .room>h3{font-size:17px;font-weight:500;line-height:1.25;margin:0 0 5px;padding-right:48px}
.room-grid .room>[data-room-summary]{display:block;font-size:13px;line-height:1.4;max-width:95%;color:var(--muted)}
.room-card-readings{top:15px;right:11px;gap:5px}.room-card-readings .room-temperature,.room-card-readings .room-humidity,.room-card-readings .room-water{font-size:12px;padding:4px 6px;border-radius:7px;background:var(--raised);color:var(--ink)}
.home-services{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.home-services .menu-card{grid-column:auto;min-height:76px;padding:13px 14px;gap:11px;border-radius:13px;background:linear-gradient(145deg,var(--surface),#ffffff03);font-size:15px;line-height:1.25;transition:transform .16s ease,border-color .16s ease}
.home-services .menu-card>.icon{width:20px;height:20px;box-sizing:content-box;padding:8px;border-radius:10px;background:var(--tint);color:var(--gold)}
.home-services .menu-card>span{flex:1;min-width:0;font-weight:450}.home-services .menu-card:focus-visible,.property-shortcuts .mood-tile:focus-visible,.room-grid .room:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.home-report{margin-top:24px;padding:15px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.home-report summary{font-size:14px;color:var(--ink)}.home-report summary span:last-child{color:var(--gold)}
.home-report[open] summary{padding-bottom:12px;border-bottom:1px solid var(--line)}.home-report .device-detail{padding:12px 0}
.home-kpi{justify-content:flex-start;flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:16px;border-top:0}
.home-kpi span{padding:8px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
@media(max-width:520px){.home-heading{padding-bottom:16px}.home-heading h1{font-size:27px}.home-context{max-width:170px;padding:8px 9px}.home-context .weather-line{font-size:12px}.home-context time{font-size:14px}.home-context [data-home-date]{font-size:11px}.home-theme-inset{padding:14px;margin:12px 0 21px}.property-shortcuts .mood-tile{min-height:86px;padding:11px}.property-shortcuts .mood-tile>span{font-size:15px}.property-shortcuts .mood-tile>small{font-size:11px}.home-services .menu-card{grid-column:auto;min-height:76px;font-size:14px;padding:11px 10px;gap:8px}.home-services .menu-card>.icon{width:18px;height:18px;padding:7px}.room-grid .room{min-height:135px;padding:14px}.room-grid .room>h3{font-size:15px}.home-kpi span{font-size:11px;padding:7px 9px}}
@media(max-width:360px){.home-context{max-width:145px}.home-title .eyebrow{font-size:8px}.property-shortcuts{gap:8px}.home-services{gap:8px}.home-services .menu-card{font-size:13px;padding:10px 8px}.home-services .menu-card>.icon{padding:6px}.home-kpi{gap:6px}.home-kpi span{padding:6px 7px}}
@media(prefers-reduced-motion:reduce){.property-shortcuts .mood-tile,.room-grid .room,.home-services .menu-card{transition:none}}



/* Music Assistant-inspired provider views with real, property-private artwork. */
.music-lounge-heading{align-items:flex-end;justify-content:space-between;margin-bottom:18px}
.music-provider-tabs{display:flex;gap:6px;max-width:100%;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--line)}
.music-provider-tabs button{flex:0 0 auto;min-height:44px;padding:8px 12px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--muted);font-size:15px;font-weight:400}
.music-provider-tabs button[aria-selected=true]{border-bottom-color:var(--gold);color:var(--gold)}
.music-library-intro{margin-bottom:14px}.music-library-intro h2{margin:0 0 5px;font-size:20px}.music-library-intro p{margin:0;font-size:13px;line-height:1.45}
.music-playlist-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:390px;padding:1px 1px 8px}
.music-playlist{padding:9px;gap:8px;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.music-playlist-art{display:grid;place-items:center;position:relative;overflow:hidden;width:100%;aspect-ratio:1/1;border-radius:8px;background:linear-gradient(135deg,var(--tint),var(--raised));color:var(--gold)}
.music-playlist-art img{width:100%;height:100%;object-fit:cover;display:block}
.music-playlist-art .icon{width:30px;height:30px}
.music-playlist strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:14px;line-height:1.35}
.music-playlist small{font-size:11px}
.music-song-art{width:52px;height:52px;border-radius:8px;overflow:hidden}
.music-song-art img{width:100%;height:100%;object-fit:cover;display:block}
.music-song-art.has-art{background:var(--raised)}
@media(min-width:700px){.music-playlist-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-height:440px}.music-provider-tabs button{padding-inline:16px}}
@media(max-width:420px){.music-lounge-heading{align-items:flex-start;flex-direction:column}.music-provider-tabs{width:100%}.music-provider-tabs button{padding-inline:10px}.music-playlist-grid{gap:9px}}

/* Brand-consistent keyboard focus without removing accessibility. */
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold)!important;outline-offset:3px!important}
.room-theme-mark{display:grid;place-items:center;flex:0 0 26px;width:26px;height:26px;border-radius:50%;background:var(--tint);color:var(--gold)}.room-theme-mark .icon{width:17px;height:17px}.room-theme-choice{display:flex;align-items:center;gap:9px}.room-theme-choice #room-theme{flex:1}
.room-action-strip{overflow:hidden;white-space:nowrap;border-block:1px solid var(--line);padding:9px 0;margin:0 0 14px;color:var(--gold);font-size:12px;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}.room-action-strip[hidden]{display:none}.room-action-track{width:max-content;padding-left:100%;animation:room-action-scroll 3.5s ease-in-out both}@keyframes room-action-scroll{0%{transform:translateX(0);opacity:0}12%{opacity:1}75%{opacity:1}100%{transform:translateX(-100%);opacity:0}}
.bilresa-tile{display:flex;align-items:center;gap:14px}.bilresa-tile>div{flex:1;min-width:0}.bilresa-device-art{position:relative;display:flex;flex:0 0 44px;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:44px;height:66px;border:1px solid #d8d6d0;border-radius:15px;background:linear-gradient(145deg,#fff,#ecebe6);box-shadow:inset 0 1px 2px #fff,0 2px 5px #0003}.bilresa-device-art:before{content:'IKEA';position:absolute;top:6px;color:#64645f;font-size:5px;font-weight:700;letter-spacing:.5px}.bilresa-device-art i{display:block;width:20px;height:20px;border:1px solid #d6d4ce;border-radius:50%;background:linear-gradient(#fff,#e8e7e2);box-shadow:inset 0 1px 2px #fff}.bilresa-device-art i:first-child{margin-top:8px}.bilresa-device-art i:last-child{margin-bottom:3px}
@media(prefers-reduced-motion:reduce){.room-action-track{animation:none;padding-left:0;width:auto}.room-action-strip{white-space:normal}}

/* 0.2.49 review: artwork-first catalog with a persistent compact player. */
.main.music-active{padding-bottom:260px}
.music-lounge .music-now.music-dock{position:fixed;z-index:5;left:calc(232px + 24px);right:24px;bottom:18px;width:auto;max-width:calc(1700px - 280px);margin:0 auto;padding:12px 16px;border-color:var(--line);background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 8px 28px #0003;backdrop-filter:blur(14px)}
.music-dock .music-now-heading{margin:0}.music-dock .music-now-heading .eyebrow{font-size:9px;letter-spacing:1.8px}.music-dock .music-track{margin:4px 0 8px;gap:10px}.music-dock .music-now-art{width:38px;height:38px}.music-dock .music-track h2{font-size:17px}.music-dock .music-track p{font-size:12px;margin:3px 0}.music-dock [data-music-player-state]{font-size:11px}.music-dock .music-playback{margin:0 0 7px;gap:8px}.music-dock .music-playback button{min-width:38px;min-height:38px}.music-dock .music-volume{gap:9px}.music-dock .music-volume>.icon{width:16px;height:16px}.music-dock .music-volume strong{font-size:12px;min-width:30px}
.music-lounge .music-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.music-lounge .music-song-row{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:8px;min-height:0;width:auto;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--surface);text-align:left}
.music-lounge .music-song-art{width:100%;height:auto;aspect-ratio:1;border-radius:8px;background:var(--raised)}
.music-lounge .music-song-art .icon{width:32px;height:32px}
.music-song-copy{padding:0 3px 3px}.music-song-copy strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:14px;line-height:1.35}.music-song-copy small{font-size:11px;line-height:1.35}
.music-song-play{position:absolute;right:14px;top:calc(100% - 57px);width:34px;height:34px;min-width:34px;border-radius:50%;background:var(--surface);box-shadow:0 2px 8px #0004}
@media(min-width:700px){.music-lounge .music-results{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1000px) and (min-width:701px){.music-lounge .music-now.music-dock{left:calc(200px + 18px);right:18px}}
@media(max-width:700px){.main.music-active{padding-bottom:270px}.music-lounge .music-now.music-dock{left:12px;right:12px;bottom:calc(73px + 8px + env(safe-area-inset-bottom));max-width:none;padding:10px 12px;border-radius:14px}.music-dock .music-now-heading .eyebrow{font-size:8px}.music-dock .music-track{margin:3px 0 6px}.music-dock .music-playback{gap:7px;margin-bottom:6px}.music-dock .music-playback button{min-width:36px;min-height:36px}.music-dock .music-volume{gap:8px}.music-lounge .music-results{gap:10px}}
@media(max-width:360px){.music-lounge .music-now.music-dock{left:8px;right:8px;padding:8px 10px}.music-lounge .music-results{gap:8px}.music-lounge .music-song-row{padding:6px}}
@media(prefers-reduced-motion:reduce){.music-lounge .music-song-row{transition:none}}

.music-now-art img{width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit}.music-now-art{overflow:hidden}

/* Approved room presentation, scoped so Home and provider pages stay intact. */
.approved-room-active .main{height:100dvh;display:flex;flex-direction:column;overflow:hidden;padding-bottom:0}
.approved-room{flex:1;min-height:0;display:flex;flex-direction:column;padding-bottom:54px}
.approved-room-frozen{flex:none;background:var(--cream)}
.approved-room .room-heading{align-items:flex-start;margin-bottom:14px;gap:15px}
.approved-room-context{margin-left:auto;flex:none;text-align:right}.approved-room-context #back{margin:6px 0 0 auto;width:32px;height:32px;min-height:32px;padding:6px}
.approved-status{position:relative;min-height:70px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.approved-status .room-metrics{border:0;margin:0;min-height:70px}.approved-status [data-status-feedback]{display:none;padding:18px 0;color:var(--gold)}
.approved-status.has-feedback .room-metrics{visibility:hidden}.approved-status.has-feedback [data-status-feedback]{display:block;position:absolute;inset:0;background:var(--cream)}
.approved-room-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding-bottom:24px}
.approved-room .mood-tile>svg{width:34px;height:34px}.approved-room .section-title{margin-top:24px}
.approved-remote{display:flex;align-items:center;gap:15px;text-align:left}.approved-remote img{width:48px;height:48px;object-fit:contain}.approved-remote>div{flex:1}.approved-remote h3{margin:0 0 4px}.approved-remote small{display:block}
.approved-room-player{position:fixed;z-index:8;bottom:0;left:232px;right:0;height:54px;background:var(--surface);display:flex;align-items:center;gap:10px;padding:6px 20px;border-top:1px solid var(--line)}
.approved-player-song{display:flex;align-items:center;gap:10px;min-width:0;flex:1;text-align:left;padding:0}.approved-player-song>svg{width:30px;height:30px;background:color-mix(in srgb,var(--gold) 13%,transparent);padding:6px;border-radius:9px;color:var(--gold);flex:none}.approved-player-song strong{display:block;color:var(--ink);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.approved-player-song span{min-width:0}.approved-player-song small{display:block;color:var(--muted);font-size:10px}
.approved-player-controls{display:flex;align-items:center;gap:3px}.approved-player-controls button{padding:5px;min-width:28px;min-height:36px;border:0;background:transparent}.approved-player-controls svg{width:18px;height:18px}.approved-player-remaining{font-size:11px;color:var(--muted);white-space:nowrap}
.approved-player-volume{position:absolute;top:-11px;left:14px;right:14px;margin:0;height:22px;display:block}.approved-player-volume input{appearance:none;width:100%;height:22px;margin:0;border:0;background:linear-gradient(var(--muted),var(--muted)) center/100% 1px no-repeat}
.approved-player-volume input::-webkit-slider-thumb{appearance:none;width:22px;height:22px;border:0;background:transparent;box-shadow:none}.approved-player-volume input::-moz-range-thumb{width:22px;height:22px;border:0;background:transparent}
.approved-sidebar-brand{padding:20px 18px 16px;border-bottom:1px solid var(--line);margin-bottom:8px}.approved-sidebar-brand .logo{font-size:20px}
@media(min-width:701px){.approved-room-active .topbar .app-wordmark{visibility:hidden}.approved-room-active .sidebar{padding-top:0}.approved-room-active .sidebar nav{display:flex;flex-direction:column}}
@media(max-width:700px){.approved-sidebar-brand{display:none}.approved-room-active .main{height:calc(100dvh - 73px - env(safe-area-inset-bottom));padding-bottom:0}.approved-room-player{left:0;bottom:calc(73px + env(safe-area-inset-bottom));padding:6px 10px}.approved-room-context{font-size:11px}.approved-room-context time{font-size:15px}.approved-room .room-heading h1{font-size:25px}.approved-player-song strong{font-size:12px}.approved-player-controls{gap:0}.approved-player-controls button{min-width:25px}.approved-room-scroll .mood-tile>svg{width:34px;height:34px}}

.approved-room-active .main{max-width:none}.approved-room .room-heading>.approved-room-context{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.approved-room-context .weather-line{display:flex;align-items:center;gap:6px}.approved-room-context time{font-weight:600}.approved-room-context [data-home-date]{font-size:11px}
#input-editor .approved-button-tree{display:grid;grid-template-columns:60px 1fr;gap:16px;margin:20px 0}#input-editor .approved-button-tree img{width:50px;height:90px;object-fit:contain}#input-editor .approved-button-branches>details{border-bottom:1px solid var(--line);padding:12px 0}#input-editor .approved-button-branches summary{cursor:pointer;color:var(--ink)}#input-editor .approved-gesture{border-left:1px solid var(--line);margin:10px 0 0 6px;padding:8px 0 8px 12px}#input-editor .approved-gesture>summary{color:var(--gold)}#input-editor .approved-gesture .input-rule{border:0;padding:8px 0}#input-editor .approved-input-actions{display:flex;flex-direction:column;gap:8px;margin-top:20px}#input-editor .approved-input-actions button[data-input-save]{background:var(--gold);color:#101512;width:100%}

.approved-room-active .main{max-width:none}.approved-room .room-heading>.approved-room-context{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.approved-room-context .weather-line{display:flex;align-items:center;gap:6px}.approved-room-context time{font-weight:600}.approved-room-context [data-home-date]{font-size:11px}
#input-editor .approved-button-tree{display:grid;grid-template-columns:60px 1fr;gap:16px;margin:20px 0}#input-editor .approved-button-tree img{width:50px;height:90px;object-fit:contain}#input-editor .approved-button-branches>details{border-bottom:1px solid var(--line);padding:12px 0}#input-editor .approved-button-branches summary{cursor:pointer;color:var(--ink)}#input-editor .approved-gesture{border-left:1px solid var(--line);margin:10px 0 0 6px;padding:8px 0 8px 12px}#input-editor .approved-gesture>summary{color:var(--gold)}#input-editor .approved-gesture .input-rule{border:0;padding:8px 0}#input-editor .approved-input-actions{display:flex;flex-direction:column;gap:8px;margin-top:20px}#input-editor .approved-input-actions button[data-input-save]{background:var(--gold);color:#101512;width:100%}

.approved-room .approved-room-context{background:transparent;border:0;border-radius:0;padding:0;box-shadow:none;min-width:0}.approved-icon-setting{max-width:180px;margin:8px 0}.approved-icon-setting select{font-size:12px}.approved-room .room-details .device-detail{flex-wrap:wrap}

/* 0.2.51: explicit desktop/phone geometry prevents inherited footer rules
   from centering the desktop sidebar over room controls. */
.approved-room .room-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto 32px;column-gap:16px;row-gap:3px;align-items:center}
.approved-room .room-heading>div:first-child{display:contents}
.approved-room .room-heading .eyebrow{grid-column:1;grid-row:1;margin:0}
.approved-room .room-heading h1{grid-column:1;grid-row:2;margin:2px 0}
.approved-room .room-heading [data-active-theme]{grid-column:1;grid-row:4;margin:0;align-self:center}
.approved-room .room-heading>.approved-room-context{grid-column:2;grid-row:1/5;display:grid;grid-template-rows:subgrid;gap:3px;align-items:center;justify-items:end;align-self:stretch;margin:0}
.approved-room-context #back{grid-row:4;margin:0}
.approved-player-volume input{background:linear-gradient(var(--gold),var(--gold)) center/100% 1px no-repeat}
.approved-playback-progress{position:absolute;bottom:0;left:14px;right:14px;height:2px;background:var(--line);pointer-events:none}
.approved-playback-progress>span{display:block;height:100%;background:var(--gold)}
@media(min-width:701px){
 #app.approved-room-active{max-width:none;margin:0}
 .approved-room-active>.sidebar{position:fixed;inset:0 auto 0 0;left:0;right:auto;top:0;bottom:0;width:200px;max-width:200px;height:100dvh;max-height:none;margin:0;padding:0 12px 20px;transform:none;overflow-y:auto;z-index:9;border-top:0;border-right:1px solid var(--line);background:var(--cream)}
 .approved-room-active>.sidebar nav{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;overflow:visible;gap:4px}
 .approved-room-active>.sidebar nav button{flex:0 0 auto;width:100%;max-width:none;min-height:44px;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;padding:10px 8px;text-align:left;font-size:12px;position:static}
 .approved-room-active>.sidebar nav button .icon{width:18px;height:18px;flex-shrink:0}
 .approved-room-active>.main{margin-left:200px;width:calc(100% - 200px);max-width:none;padding-left:28px;padding-right:28px}
 .approved-room-active .approved-room-player{left:200px;right:0;bottom:0}
}
@media(max-width:700px){
 .approved-room-active>.sidebar{position:fixed;inset:auto 0 0 0;transform:none;width:100%;max-width:none;height:calc(73px + env(safe-area-inset-bottom));margin:0;z-index:9;padding:7px 5px calc(8px + env(safe-area-inset-bottom));background:var(--cream)}
 .approved-room-active>.sidebar nav{display:flex;flex-direction:row;justify-content:space-between;gap:0;overflow-x:auto}
 .approved-room-active>.sidebar nav button{flex:1 0 52px;max-width:100px;min-height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:9px;padding:4px 1px}
 .approved-room-active>.main{margin-left:0;width:100%;max-width:none}
 .approved-room-active .approved-room-player{left:0;right:0;bottom:calc(73px + env(safe-area-inset-bottom))}
}

/* 0.2.52 approved desktop corrections; retain the existing visual language. */
@media(min-width:701px){
 #app.approved-home-active{max-width:none;margin:0}
 .approved-home-active>.sidebar{position:fixed;inset:0 auto 0 0;left:0;right:auto;top:0;bottom:0;width:200px;max-width:200px;height:100dvh;max-height:none;margin:0;padding:0 12px 20px;transform:none;overflow-y:auto;z-index:9;border-top:0;border-right:1px solid var(--line);background:var(--cream)}
 .approved-home-active>.sidebar nav{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;overflow:visible;gap:4px}
 .approved-home-active>.sidebar nav button{flex:0 0 auto;width:100%;max-width:none;min-height:44px;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;padding:10px 8px;text-align:left;font-size:12px;position:static}
 .approved-home-active>.sidebar nav button .icon{width:18px;height:18px;flex-shrink:0}
 .approved-home-active>.main{margin-left:200px;width:calc(100% - 200px);max-width:none;padding-left:28px;padding-right:28px}
 .approved-home-active .approved-room-player{left:200px;right:0;bottom:0}
}

.home-heading .home-context{background:none;border:0;border-radius:0;padding:0;box-shadow:none}
@media(min-width:701px){
 .approved-home-active .topbar .app-wordmark{visibility:hidden}
 .approved-home-active>.main{padding-bottom:32px}
 :is(.approved-home-active,.approved-room-active)>.main{font-size:18px}
 :is(.approved-home-active,.approved-room-active)>.sidebar nav button{font-size:14px;min-height:48px}
 :is(.approved-home-active,.approved-room-active)>.sidebar nav button .icon{width:22px;height:22px}
 :is(.approved-home-active,.approved-room-active) h1{font-size:30px}
 :is(.approved-home-active,.approved-room-active) .section-title h2,
 .approved-room .room-theme-label{font-size:20px}
 .approved-home-active .property-shortcuts .mood-tile>span,
 .approved-room .mood-tile>span{font-size:18px}
 .approved-home-active .property-shortcuts .mood-tile>small{font-size:14px}
 .approved-home-active .room-grid .room>h3{font-size:20px}
 .approved-home-active .room-grid .room>.muted{font-size:16px}
 .approved-room .approved-room-scroll .mood-tile{min-height:120px}
 .approved-room-player .approved-player-song strong{font-family:inherit;font-weight:400;font-size:16px}
 .approved-room-player .approved-player-song small{font-family:inherit;font-size:12px}
}

/* Larger playback symbols and separate touch targets, in the established slim player. */
.approved-room-player .approved-player-controls{gap:0;flex-shrink:0}
.approved-room-player .approved-player-controls button{width:44px;min-width:44px;height:44px;min-height:44px;padding:7px;display:flex;align-items:center;justify-content:center}
.approved-room-player .approved-player-controls svg{width:28px;height:28px;flex-shrink:0}

/* Music player is an attached bottom dock, aligned with the approved page shell. */
.music-lounge .music-now.music-dock{left:0;right:0;bottom:calc(73px + env(safe-area-inset-bottom));width:auto;max-width:none;margin:0;border-radius:0;border:0;border-top:1px solid var(--line);background:var(--surface);box-shadow:none;backdrop-filter:none;padding:12px 20px}
.music-lounge .music-dock .music-playback button{min-width:44px;min-height:44px}
.music-lounge .music-dock .music-playback button svg{width:28px;height:28px}
@media(min-width:701px){
 .approved-home-active>.main.music-active{padding-bottom:240px}
 .music-lounge .music-now.music-dock{left:200px;right:0;bottom:0;padding:12px 28px;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:24px;align-items:center}
 .music-dock .music-now-heading{grid-column:1/-1}
 .music-dock .music-track{grid-column:1;grid-row:2;min-width:0}
 .music-dock .music-playback{grid-column:2;grid-row:2;margin:0}
 .music-dock .music-volume{grid-column:1/-1}
}
@media(max-width:700px){.main.music-active{padding-bottom:320px}}

.music-playback-position,.music-remaining{display:none}
@media(min-width:701px){
 .music-lounge{display:grid;grid-template-columns:minmax(0,1fr) 230px;column-gap:16px;align-items:start}
 .music-lounge .music-lounge-heading{grid-column:1/-1;grid-row:1;display:grid;grid-template-columns:minmax(0,1fr) auto;margin-bottom:22px}
 .music-lounge-heading>div{grid-column:1}
 .music-lounge-heading .music-provider-tabs{grid-column:1/-1;grid-row:2;justify-content:flex-start;width:100%;margin-top:16px}
 .music-lounge .music-room-picker{grid-column:2;grid-row:2;margin:0 0 20px;padding:5px 12px;min-height:64px}
 .music-lounge .music-library{display:contents}
 .music-lounge .music-search{grid-column:1;grid-row:2;align-self:stretch;margin:0 0 20px;min-height:64px}
 .music-lounge .music-saved-playlists{grid-column:1/-1;grid-row:3;margin:8px 0 14px}
 .music-lounge .music-playlist-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
 .music-lounge .music-playlist{background:transparent;border:0;padding:0;gap:4px;box-shadow:none;transition:color .15s}
 .music-lounge .music-playlist-art{border-radius:9px;margin-bottom:5px}
 .music-lounge .music-playlist:hover{color:var(--gold)}
 .music-lounge .music-playlist:hover .music-playlist-art{filter:brightness(1.08)}
 .music-lounge .music-playlist strong{font-size:16px;font-weight:400}
 .music-lounge .music-playlist small{font-size:12px}
 .music-lounge .music-library-intro{grid-column:1/-1;grid-row:4;margin-top:10px}
 .music-lounge .music-library-intro h2{font-size:22px;margin-bottom:8px}
 .music-lounge .music-library-heading{grid-column:1/-1;grid-row:5}
 .music-lounge [data-music-message]{grid-column:1/-1;grid-row:6}
 .music-lounge .music-results{grid-column:1/-1;grid-row:7}
 .music-lounge #music-more{grid-column:1/-1;grid-row:8;justify-self:start}
 .music-lounge .music-song-art{width:48px;height:48px}
 .music-lounge .music-song-row{padding:13px 0;min-height:76px}
 .music-lounge .music-now.music-dock{padding:15px 28px 12px;grid-template-columns:minmax(0,1fr) auto auto;column-gap:12px;min-height:86px}
 .music-dock .music-now-heading{position:absolute;right:8px;top:4px}
 .music-dock .music-now-heading .eyebrow{display:none}
 .music-dock .music-refresh{min-width:24px;min-height:24px}
 .music-dock .music-refresh .icon{width:13px;height:13px}
 .music-dock .music-track{grid-column:1;grid-row:1;margin:0;gap:13px}
 .music-dock .music-now-art{width:48px;height:48px}
 .music-dock .music-track h2{font-size:17px;font-weight:400}
 .music-dock .music-track p{display:none}
 .music-dock [data-music-player-state]{font-size:12px}
 .music-dock .music-playback{grid-column:2;grid-row:1;margin:0;gap:8px}
 .music-dock .music-playback button{border:0;background:transparent}
 .music-dock .music-playback button[data-music-action=play],.music-dock .music-playback button[data-music-action=pause]{border-radius:50%;background:var(--gold);color:var(--cream)}
 .music-dock .music-volume{position:absolute;left:0;right:0;top:-10px;height:20px;gap:0}
 .music-dock .music-volume>.icon,.music-dock [data-music-volume-label]{display:none}
 .music-dock .music-volume input{appearance:none;-webkit-appearance:none;background:linear-gradient(var(--gold),var(--gold)) center/100% 1px no-repeat;height:20px;margin:0}
 .music-dock .music-volume input::-webkit-slider-runnable-track{height:1px;background:transparent}
 .music-dock .music-volume input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:18px;height:20px;background:transparent;margin-top:-10px}
 .music-dock .music-volume input::-moz-range-track{height:1px;background:transparent}
 .music-dock .music-volume input::-moz-range-thumb{width:18px;height:20px;background:transparent;border:0}
 .music-dock .music-remaining{display:block;grid-column:3;grid-row:1;font-size:12px;color:var(--muted);min-width:38px}
 .music-dock .music-playback-position{display:block;position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--line);pointer-events:none}
 .music-dock .music-playback-position[hidden]{display:none}
 .music-playback-position>span{display:block;height:100%;background:var(--gold)}
 .approved-home-active>.main.music-active{padding-bottom:125px}
}
@media(min-width:701px) and (max-width:1000px){.music-lounge .music-playlist-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.music-lounge{grid-template-columns:minmax(0,1fr) 190px}}
@media(prefers-reduced-motion:reduce){.music-lounge .music-playlist{transition:none}}

.client-access h2,.client-access h3{margin:8px 0;font-weight:400}
.client-access label{display:block;font-size:14px}
.client-access input{display:block;width:100%;min-width:0;margin-top:8px}
.client-access form{display:grid;gap:12px;margin:14px 0}
.client-access button{justify-self:start}
.access-member{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}
.access-member>span{overflow-wrap:anywhere;min-width:0}
.access-member small{display:block;margin-top:4px}
