/* Coherent final layer: touch targets, automation hierarchy and accessible states. */
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[role="button"]:focus-visible{outline:3px solid color-mix(in oklch,var(--amber) 72%,white);outline-offset:2px}
[role="button"]{cursor:pointer}
.task-bell.enabled{background:var(--amber-soft)!important;color:#75401f!important}.premium-task [data-edit-task]{cursor:pointer;min-width:0}.premium-meta{font-size:10px}.task-more,.premium-check{position:relative}.task-more::after,.premium-check::after{content:'';position:absolute;inset:-9px}
.automation-reference{padding-top:0}.room-head{padding:4px 2px 12px}.room-head>div{min-width:0}.room-head>div>small{font-size:9px;letter-spacing:.12em;font-weight:700;color:#a26a42}.room-head>div>b{margin-top:4px;font-size:24px;color:var(--ink)}.room-head>div>span{display:block;margin-top:4px;font-size:10px;color:var(--muted)}.room-power{width:46px;height:46px;box-shadow:0 12px 22px -18px #000;background:var(--paper-3);color:var(--ink)}.room-power svg{width:20px;height:20px}.room-power.on{background:var(--amber);color:#231b17}.room-power:disabled{opacity:.42}
.room-scenes{margin:0 0 18px}.room-scenes>div{padding:2px 0 5px}.room-scenes button{min-height:42px;padding:10px 14px;background:var(--paper-2);color:var(--ink);border:1px solid var(--line);font-size:10px;font-weight:650}.room-scenes button i{font-style:normal;color:#c7773e;margin-right:5px}
.automation-reference>.room-map{margin:0 0 22px}.room-map>header{align-items:center;margin-bottom:3px}.room-map h2{font-size:20px}.room-map>header>span{font-size:8px}.room-map-stage{aspect-ratio:1.48!important}.room-marker{width:44px;min-width:44px;height:44px;padding:0;border-radius:15px;background:rgba(26,20,16,.5);backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);border-color:rgba(255,232,214,.24);color:#fdf4ea;box-shadow:0 14px 28px -10px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.14)}.room-marker svg{width:20px;height:20px}
.room-marker[data-map-domain="climate"]{color:#f2af8f}.room-marker[data-map-domain="light"]{color:#f7d38c}.room-marker[data-map-domain="fan"]{color:#dcd6cd}.room-marker[data-map-domain="media_player"],.room-marker[data-map-domain="switch"]{color:#cfd8de}
.room-marker:active,.room-marker.dragging{background:color-mix(in oklch,var(--amber) 42%,rgba(26,20,16,.55));border-color:color-mix(in oklch,var(--amber) 60%,white);color:#2c2016;box-shadow:0 18px 34px -10px rgba(0,0,0,.6),0 0 0 4px color-mix(in oklch,var(--amber) 26%,transparent)}
:root[data-theme="dark"] .room-marker{background:rgba(26,20,16,.5);color:#fdf4ea;border-color:rgba(255,232,214,.24)}:root[data-theme="dark"] .room-marker:active,:root[data-theme="dark"] .room-marker.dragging{background:color-mix(in oklch,var(--amber) 42%,rgba(26,20,16,.55));color:#2c2016}
.room-marker.active{background:linear-gradient(145deg,#f4b56d,#dc8754)!important;color:#281e1a!important;border-color:#f9d5b0!important;box-shadow:0 14px 28px -8px rgba(220,135,84,.7),inset 0 1px 0 #fff8!important}
:root[data-theme="dark"] .room-marker.active{background:linear-gradient(145deg,#b86b42,#7d4937)!important;color:#fdf4ea!important;border-color:#e0946c!important;box-shadow:0 14px 28px -8px rgba(184,107,66,.7),inset 0 1px 0 #ffffff22!important}
.room-overview{margin-top:0}.room-overview h2{font-size:24px}.room-overview header>span{width:32px;height:32px;font-size:10px}.room-device-grid{gap:12px}.room-device{min-height:140px;padding:16px;border:1px solid color-mix(in oklch,var(--line) 80%,transparent);box-shadow:0 16px 28px -28px #000}.room-device.active{background:linear-gradient(145deg,#f4b56d,#dc8754);color:#281e1a}.room-device.unavailable{opacity:.58}.room-device-top>i{display:grid;width:42px;height:42px;place-items:center;border-radius:13px;background:var(--paper-2)}.room-device.active .room-device-top>i{background:#ffffff45}.room-device-top>i svg{width:21px;height:21px}.room-device b{font-size:13px}.room-device small{font-size:9.5px}.air-reference-card{margin-bottom:20px}
.notice-invite{max-width:420px;margin:0 auto;grid-template-columns:minmax(0,1fr) auto auto}.notice-invite span{line-height:1.35}
.repeat-picker{flex-wrap:wrap;overflow:visible}
.ai-online.offline{color:var(--red)}.ai-online.offline i{background:var(--red)}.ai-online.checking i{background:var(--muted-2);animation:ai-pulse 1.2s ease-in-out infinite}@keyframes ai-pulse{0%,100%{opacity:1}50%{opacity:.35}}
.finance-item [data-edit-transaction]{cursor:pointer}.finance-item strong,.fixed-item strong{display:flex;align-items:center;justify-content:flex-end;gap:5px}.finance-item strong button,.fixed-item strong button{width:24px;height:24px;min-width:24px;border-radius:50%;background:#f4e9e5;color:#9e544c;border:none;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;cursor:pointer;padding:0;transition:background .15s ease,transform .15s ease}.finance-item strong button:hover,.fixed-item strong button:hover{background:#ecd5ce;transform:scale(1.06)}.finance-item strong button svg,.fixed-item strong button svg{width:12px;height:12px;display:block}
:root[data-theme="dark"] .finance-item strong button,:root[data-theme="dark"] .fixed-item strong button{background:#3a2f2f;color:#e29a90}:root[data-theme="dark"] .finance-item strong button:hover,:root[data-theme="dark"] .fixed-item strong button:hover{background:#4a3a3a}
:root[data-theme="dark"] .room-head>div>b{color:var(--ink)}:root[data-theme="dark"] .room-head>div>small{color:#e5a36d}:root[data-theme="dark"] .room-power{background:#1d1d24!important;color:var(--ink)}:root[data-theme="dark"] .room-power.on{background:#efaa64!important;color:#221a16}:root[data-theme="dark"] .room-scenes button{background:#17171d;color:var(--ink);border-color:#303039}:root[data-theme="dark"] .room-device.active{background:linear-gradient(145deg,#b86b42,#7d4937)!important}:root[data-theme="dark"] .room-device-top>i{background:#222229}
@media(max-width:360px){.room-head>div>b{font-size:22px}.room-device{min-height:128px;padding:13px}.room-marker{width:40px;min-width:40px;height:40px}.notice-invite{left:12px;right:12px;grid-template-columns:1fr auto}.notice-invite [data-later]{display:none}}
:root[data-theme="dark"] .auto-toggle{background:#3a3841;box-shadow:inset 0 1px 3px rgba(0,0,0,.35)}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.month-nav{display:flex;align-items:center;justify-content:center;gap:14px;margin:14px 0 4px}.month-nav b{font:600 11px var(--font-body);color:var(--ink);min-width:120px;text-align:center}.month-nav button{width:30px;height:30px;border-radius:50%;background:var(--paper-2);color:var(--ink);font-size:15px;line-height:1}.month-nav button:disabled{opacity:.35}
:root[data-theme="dark"] .month-nav button{background:#242229}
@keyframes view-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.view-enter{animation:view-enter .24s ease both}
.task-stack .premium-task{animation:card-enter .28s ease both}.task-stack .premium-task:nth-child(1){animation-delay:0s}.task-stack .premium-task:nth-child(2){animation-delay:.03s}.task-stack .premium-task:nth-child(3){animation-delay:.06s}.task-stack .premium-task:nth-child(4){animation-delay:.09s}.task-stack .premium-task:nth-child(n+5){animation-delay:.12s}@keyframes card-enter{from{opacity:0;transform:translateY(5px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
.premium-check{transition:background .15s ease,border-color .15s ease}.auto-toggle i{transition:transform .2s ease,background .2s ease}
.finance-actions button{display:inline-flex;align-items:center;justify-content:center;gap:5px}.action-icon{width:13px;height:13px;flex:0 0 auto}
.air-ref-heading b{color:var(--ink)!important}.air-ref-temperature strong{color:var(--ink)!important}.air-ref-temperature em{color:#c7773e!important}.air-ref-slider{background:conic-gradient(from 220deg,var(--amber) 0 55%,#efe2d2 55% 100%,transparent 100%)!important}.air-ref-slider input{accent-color:var(--amber)!important}.air-ref-slider>div{color:var(--ink)!important}.air-ref-options button.selected{background:var(--amber)!important;color:#231b17!important}
:root[data-theme="dark"] .air-ref-slider{background:conic-gradient(from 220deg,var(--amber) 0 55%,#3a332a 55% 100%,transparent 100%)!important}:root[data-theme="dark"] .air-ref-options button.selected{background:var(--amber)!important;color:#231b17!important}
.budget-row.selected{background:var(--amber-soft);margin:0 -8px;padding:9px 8px;border-radius:12px;border-bottom-color:transparent}.filter-chip{background:var(--amber-soft);color:#9c5d1e;border-radius:999px;padding:6px 10px;font-size:9px;font-weight:700}
:root[data-theme="dark"] .filter-chip{color:#e5a36d}
.redemption-log{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.redemption-log>small{display:block;font-size:8px;letter-spacing:.08em;color:var(--muted);margin-bottom:6px}.redemption-row{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:10px}.redemption-row span{flex:1;color:var(--ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.redemption-row b{font-weight:500;color:var(--muted)}.redemption-row em{font-style:normal;color:#d77827;font-weight:600}
.task-more,.premium-check,.task-add,.task-bell,.schedule-title button,.sheet-top button,.room-power,.finance-item strong button,.fixed-item strong button,.month-nav button{display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;line-height:1!important}
.boot-loading{display:grid;place-items:center;min-height:60dvh}.boot-loading span{display:grid;place-items:center;width:44px;height:44px;border-radius:16px;background:linear-gradient(135deg,var(--amber),var(--violet));color:#231b17;font-size:19px;animation:boot-pulse 1.1s ease-in-out infinite}@keyframes boot-pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(.82);opacity:.6}}
