.ha-controls-disclosure{margin-top:18px}.ha-controls-disclosure summary{cursor:pointer;font-weight:600}.ha-device-controls{gap:12px;min-width:0;margin-top:14px;display:grid}.ha-device-controls label{gap:6px;margin:0;display:grid}.ha-device-controls select,.ha-device-controls input{width:100%;min-width:0}.ha-device-controls button{justify-self:start}.light-controls{gap:14px;min-width:0;margin-top:16px;display:grid}.light-controls .range{margin:0}.light-color-row{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.light-color-row label{gap:6px;margin:0;display:grid}.light-color-row input[type=color]{cursor:pointer;min-width:72px;height:40px;padding:4px}.light-color-row form{flex:1;align-items:end;gap:8px;min-width:0;display:flex}.light-color-row input[type=text]{min-width:0}.light-swatches{grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;display:grid}.light-swatches button{aspect-ratio:1;border:2px solid #80808066;border-radius:50%;min-width:0;padding:0;box-shadow:inset 0 0 0 1px #fff3}.light-swatches button:focus-visible{outline-offset:3px;outline:3px solid}.light-controls.expanded{gap:24px;max-width:440px;margin:20px auto 30px}.light-hero{justify-items:center;gap:16px;display:grid}.light-hero strong{font-size:36px}.light-preview{background:#687080;border-radius:45px;width:100px;height:150px;transition:background .2s,box-shadow .2s}.light-preview.on{background:var(--bulb-color);box-shadow:0 0 55px color-mix(in srgb,var(--bulb-color) 30%,transparent)}.light-controls button:disabled{cursor:default;opacity:.5}.light-color-row form{flex-wrap:wrap}.light-color-row form label{flex:1;min-width:100px}.light-color-row form input{width:100%;min-width:0}*{box-sizing:border-box}body{margin:0;font-family:DM Sans,system-ui,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #38bdf8}button{border:1px solid var(--line,#d5dce5);background:var(--surface,#fff);color:var(--ink,#17202e);border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:9px 13px;display:inline-flex}button:hover:not(:disabled){border-color:#38bdf8}a{color:var(--accent,#38bdf8);text-decoration:none}h1,h2,h3,p{margin-top:0}.dashboard{--bg:#0e131d;--surface:#191f2b;--surface2:#202837;--line:#2b3443;--ink:#e8edf5;--muted:#929eb0;--accent:#38bdf8;background:var(--bg);min-height:100vh;color:var(--ink);grid-template-columns:238px minmax(0,1fr);font-size:14px;display:grid}.dashboard[data-theme=light]{--bg:#f2f5f9;--surface:#fff;--surface2:#eaf0f6;--line:#dbe3ed;--ink:#172333;--muted:#65758a;--accent:#0284c7}.sidebar{border-right:1px solid var(--line);background:var(--surface);flex-direction:column;height:100vh;padding:32px 18px 22px;display:flex;position:sticky;top:0}.brand{color:var(--ink);letter-spacing:2px;align-items:center;gap:11px;padding:0 10px 34px;font-family:Manrope,system-ui;font-size:20px;font-weight:800;display:flex}.brand img{width:40px;height:40px}.brand span span{letter-spacing:1px;color:var(--muted);margin-top:3px;font-size:12px;font-weight:500;display:block}.sidebar-label{letter-spacing:1.8px;color:var(--muted);padding:18px 12px 10px;font-size:10px;font-weight:700}.nav-item{background:0 0;border:0;justify-content:flex-start;gap:13px;width:100%;margin-bottom:5px;padding:13px 14px}.nav-item svg{width:19px;color:var(--muted)}.nav-item.selected{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.nav-item.selected svg{color:var(--accent)}.count{background:var(--surface2);border-radius:5px;margin-left:auto;padding:3px 7px;font-size:11px}.family-links a{color:var(--muted);justify-content:space-between;padding:9px 14px;font-size:13px;display:flex}.family-links a:hover{color:var(--accent)}.sidebar-bottom{color:var(--muted);margin-top:auto;padding:24px 12px 0;font-size:12px}.sidebar-bottom small{margin-top:13px;font-size:10px;display:block}.dot{background:#e9ad55;border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block}.dot.online{background:#65d1a1}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;height:76px;padding:0 42px;display:flex}.breadcrumb{color:var(--muted);font-size:13px}.breadcrumb span{color:var(--line);margin:0 14px}.toolbar{align-items:center;gap:8px;display:flex}.toolbar>button:first-child,.toolbar>button:nth-child(2){color:var(--muted);background:0 0;border:0}.primary{background:var(--accent);border-color:var(--accent);color:#07131e;font-weight:700}.mobile-menu{display:none}.canvas{max-width:1460px;margin:0 auto;padding:42px}.intro{justify-content:space-between;align-items:center;margin-bottom:26px;display:flex}.eyebrow{color:var(--muted);letter-spacing:1.3px;text-transform:uppercase;font-size:11px}.intro h1{letter-spacing:-1.3px;margin:8px 0;font-family:Manrope,system-ui;font-size:38px;line-height:1.3}.home-dot{background:var(--accent);border-radius:50%;width:7px;height:7px;margin-left:7px;display:inline-block}.intro p{color:var(--muted);margin-bottom:0;line-height:1.7}.home-summary{color:var(--accent);background:var(--surface);border:1px solid var(--line);border-radius:12px;align-items:center;gap:12px;padding:15px 20px;display:flex}.home-summary span{color:var(--ink);font-size:13px}.home-summary small{color:var(--muted);margin-top:4px;font-size:11px;display:block}.viewbar{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;margin-bottom:24px;display:flex}.viewbar>div{align-items:center;gap:6px;display:flex}.viewbar [role=tab]{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:14px 17px}.viewbar [role=tab].active{color:var(--accent);border-bottom-color:var(--accent)}.viewbar>div:nth-child(2){padding-bottom:8px}.tile-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:18px;display:grid}.tile{grid-column:span var(--span);border:1px solid var(--line);background:var(--surface);border-radius:16px;min-width:0;padding:22px;position:relative;box-shadow:0 4px 18px #00000008}.tile-title{align-items:center;gap:13px;margin-bottom:19px;display:flex}.tile-title h3{margin:0 0 4px;font-size:14px;font-weight:700;line-height:1.4}.tile-title small,.tile small{color:var(--muted);font-size:11px}.tile-title>span:nth-child(2){min-width:0}.tile-icon{background:var(--surface2);width:42px;height:42px;color:var(--muted);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.tile-icon.lit{background:color-mix(in srgb,var(--accent) 13%,transparent);color:var(--accent)}.tile-icon svg{width:21px}.switch{background:#505c6c;border:0;border-radius:20px;flex-shrink:0;justify-content:flex-start;width:40px;height:23px;margin-left:auto;padding:3px}.switch>span{background:#fff;border-radius:50%;width:17px;height:17px;transition:transform .15s}.switch.on{background:var(--accent)}.switch.on>span{transform:translate(17px)}.sensor-value{letter-spacing:-.8px;text-transform:capitalize;overflow-wrap:anywhere;margin:14px 0;font-family:Manrope,system-ui;font-size:34px;font-weight:600}.sensor-value.compact{letter-spacing:0;color:var(--muted);font-family:DM Sans,system-ui;font-size:17px}.sensor-value small,.gauge-value small{margin-left:5px;font-size:16px;font-weight:400}.range{margin-top:20px;display:block}.range>span{text-transform:capitalize;color:var(--muted);justify-content:space-between;font-size:12px;display:flex}.range b{color:var(--ink);font-weight:500}input[type=range]{width:100%;height:6px;accent-color:var(--accent);border:0;margin:15px 0 4px;padding:0}.thermostat-ring{border:7px solid var(--surface2);border-top-color:var(--accent);border-right-color:var(--accent);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:160px;height:160px;margin:8px auto 23px;display:flex}.thermostat-ring strong{font-family:Manrope,system-ui;font-size:47px;font-weight:600}.thermostat-ring sup{font-size:24px}.thermostat-ring span{color:var(--muted);text-transform:capitalize;font-size:11px}.setpoints{gap:14px;margin-bottom:12px;display:flex}.setpoints label{flex:1}.setpoints input{margin-top:5px}.control-row{flex-wrap:wrap;gap:8px;margin:16px 0 0;display:flex}.control-row button{background:var(--surface2);flex:1;font-size:12px}.clock-value{letter-spacing:-1px;margin:20px 0 10px;font-family:Manrope,system-ui;font-size:30px}.section-heading{box-shadow:none;background:0 0;border:0;border-radius:0;padding:5px 0}.section-heading h2{letter-spacing:-.6px;margin-bottom:5px;font-family:Manrope,system-ui;font-size:23px}.section-heading p{color:var(--muted);margin:0;font-size:12px}.entity-rows>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:15px 0;display:flex}.entity-rows>div:last-child{border:0}.entity-rows b{text-transform:capitalize;color:var(--muted);font-size:12px;font-weight:400}.gauge-value{text-align:center;padding:12px;font-size:40px}meter{width:100%;height:20px;accent-color:var(--accent)}.history{width:100%;height:90px;color:var(--accent);margin-bottom:8px}.text-content{white-space:pre-wrap;color:var(--muted);overflow-wrap:anywhere;line-height:1.7}.picture{object-fit:cover;border-radius:9px;width:100%;max-height:340px;display:block}.tile a{align-items:center;gap:7px;padding-top:12px;display:flex}.unavailable{color:var(--muted);margin:15px 0;font-size:12px;line-height:1.7}.tile-action{width:100%;color:var(--accent);background:var(--surface2);margin-top:12px}.canvas-footer{color:var(--muted);justify-content:space-between;padding-top:38px;font-size:10px;display:flex}.canvas-footer span:last-child{letter-spacing:2px}.empty{text-align:center;color:var(--muted);padding:70px 20px}.empty>svg{color:var(--accent);margin-bottom:20px}.empty h2{color:var(--ink);font-family:Manrope}.empty button{margin:8px}.banner,.notice{background:var(--surface2);color:var(--muted);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;padding:12px 16px;font-size:12px;display:flex}.banner button{padding:6px 9px;font-size:11px}.notice.error{color:#ff9595;background:#b73d3d18}.status{color:var(--muted);margin-bottom:14px;font-size:11px}.edit-hint{color:var(--accent);align-items:center;gap:8px;margin-bottom:20px;font-size:12px;display:flex}.editing{cursor:grab;border-style:dashed;padding-top:48px}.tile-edit{color:var(--muted);align-items:center;gap:3px;display:flex;position:absolute;top:9px;left:12px;right:12px}.tile-edit>svg{margin-right:auto}.tile-edit button{background:var(--surface2);border:0;padding:5px}.modal{--surface:#191f2b;--surface2:#202837;--line:#344051;--ink:#e8edf5;--muted:#a3adbd;--accent:#38bdf8;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:18px;width:calc(100% - 28px);max-width:560px;max-height:90vh;padding:26px;box-shadow:0 25px 100px #0008}.modal.wide{max-width:900px}.modal::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#070c16b0}.modal header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px;display:flex}.modal header h2{letter-spacing:-.4px;margin:0;font-family:Manrope,system-ui;font-size:21px}.modal header button{background:0 0;border:0;padding:5px}.modal-subtitle{color:var(--muted);font-size:13px;line-height:1.7}.modal h3{margin:24px 0 14px;font-size:14px}.modal label{color:var(--muted);margin:15px 0;font-size:12px;display:block}.modal input,.modal select,.modal textarea,.tile select,.tile input:not([type=range]):not([type=checkbox]){border:1px solid var(--line);background:var(--surface2);width:100%;color:var(--ink);border-radius:8px;min-width:0;margin-top:7px;padding:11px 12px;display:block}.modal input[type=color]{height:42px;padding:4px}.form-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.modal-actions{justify-content:flex-end;gap:8px;margin-top:24px;display:flex}.danger{color:#ff9595}.search{border:1px solid var(--line);background:var(--surface2);border-radius:10px;align-items:center;gap:10px;padding:0 12px;display:flex!important}.search input{background:0 0;border:0;margin:0}.filter-tabs{flex-wrap:wrap;gap:7px;margin:20px 0;display:flex}.filter-tabs button{background:0 0;font-size:12px}.filter-tabs .active{color:var(--accent);border-color:var(--accent)}.catalog{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.catalog>button{text-align:left;justify-content:initial;background:var(--surface2);grid-template-columns:1fr auto;gap:8px;padding:17px;display:grid}.catalog>button>svg:first-child{color:var(--accent);width:23px;margin-bottom:7px}.catalog strong,.catalog span{grid-column:1/-1}.catalog strong{font-size:13px}.catalog span{color:var(--muted);font-size:11px;line-height:1.6}.catalog>button>svg:last-child{color:var(--muted);grid-area:1/2}.fine-print{color:var(--muted);margin-top:18px;font-size:11px;line-height:1.7}.device-list>div{border-bottom:1px solid var(--line);align-items:center;gap:13px;padding:17px 0;display:flex}.device-list>div>svg{color:var(--accent);flex-shrink:0}.device-list span{flex:1;min-width:0}.device-list strong{font-size:13px;display:block}.device-list small{color:var(--muted);overflow-wrap:anywhere;margin-top:5px;font-size:11px;display:block}.device-list button{font-size:11px}.theme-options{gap:9px;margin-top:18px;display:flex}.checkbox{align-items:center;gap:10px;display:flex!important}.checkbox input{width:auto;margin:0}.modal fieldset{border:1px solid var(--line);border-radius:8px}.loading{color:#e8edf5;text-align:center;background:#111827;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100vh;padding:20px;display:flex}.loading>svg{color:#38bdf8}.loading h1{font-size:26px}.loading p{color:#a3adbd}.spin{animation:1.2s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=1450px){.canvas{padding:48px 64px}.tile{padding:26px}.editing{padding-top:50px}}@media (width<=1100px){.dashboard{grid-template-columns:200px minmax(0,1fr)}.canvas{padding:28px}.topbar{padding:0 28px}.tile-grid{gap:12px}.tile{padding:17px}.tile-title{gap:9px}.tile-title h3{font-size:12px}.tile-icon{width:34px;height:34px}.home-summary{padding:12px}.editing{padding-top:48px}.catalog{grid-template-columns:repeat(2,1fr)}}@media (width<=780px){.dashboard{display:block}.sidebar{z-index:10;width:238px;display:none;position:fixed;box-shadow:20px 0 80px #0007}.sidebar.open{display:flex}.mobile-menu{background:0 0;border:0;padding:6px;display:flex}.topbar{background:var(--bg);z-index:5;height:65px;padding:0 16px;position:sticky;top:0}.breadcrumb{margin-right:auto;font-size:12px}.breadcrumb span{margin:0 5px}.toolbar{gap:3px}.toolbar button{padding:7px;font-size:11px}.toolbar>button:nth-child(2){display:none}.canvas{padding:25px 16px}.intro h1{font-size:30px}.intro p{font-size:12px}.home-summary{display:none}.tile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tile{grid-column:span min(var(--span),2);padding:18px}.section-heading{grid-column:1/-1;padding:6px 0}.viewbar{overflow-x:auto}.viewbar [role=tab]{white-space:nowrap;padding:13px 11px}.viewbar>div:nth-child(2) button{white-space:nowrap;padding:6px;font-size:11px}.viewbar>div:nth-child(2) button:first-child{gap:0;font-size:0}.viewbar>div:nth-child(2) button:first-child svg{font-size:initial}.editing{padding-top:48px}.tile-title{gap:9px}.tile-title h3{font-size:13px}.tile-title small{font-size:10px}.sensor-value{font-size:29px}.thermostat-ring{width:140px;height:140px}.clock-value{font-size:25px}.modal{padding:20px}.catalog{gap:9px}.catalog>button{padding:13px}.edit-hint{font-size:11px;line-height:1.6}.banner{align-items:flex-start}.tile-edit{gap:2px;left:7px;right:7px}.tile-edit button{padding:4px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.viewbar [role=tab].drop-target{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);outline:2px dashed var(--accent);outline-offset:-3px;border-bottom-color:var(--accent)}.html-attribute{isolation:isolate;text-transform:none;overflow-wrap:anywhere;max-width:100%;font:14px/1.5 Arial,sans-serif;position:relative;overflow:hidden}.html-attribute img{max-width:100%}.html-attribute table{table-layout:fixed;border-collapse:collapse;max-width:100%}.html-attribute td,.html-attribute th{vertical-align:top;text-align:left;padding:2px 4px}.html-attribute .pixora-locator{border-radius:10px}.tile.headerless{padding:12px}.tile.headerless .tile-title{display:none}.tile.headerless.editing{padding-top:48px}.headerless-control{justify-content:flex-end;margin-bottom:8px;display:flex}.tile.headerless>.sensor-value:first-child,.tile.headerless>.clock-value{margin-top:0}.tile.headerless.section-heading{padding:5px 0}.topbar{height:56px;padding:0 24px}.canvas{padding:12px 24px 24px}.viewbar{margin-bottom:14px}.viewbar [role=tab]{padding:10px 14px}.toolbar-status{color:var(--muted);margin-right:8px;font-size:11px}.canvas-footer{padding-top:20px}@media (width<=780px){.topbar{height:52px;padding:0 12px}.canvas{padding:8px 12px 18px}.toolbar-status{display:none}.viewbar [role=tab]{padding:10px 11px}}.toolbar>button[aria-label=Refresh\ devices],.toolbar>button[aria-label=Full\ screen]{color:var(--muted);background:0 0;border:0}@media (width<=780px){.toolbar>button[aria-label=Full\ screen]{display:none}}.slider-line{align-items:center;gap:12px;margin-top:10px;display:flex}.slider-line input[type=range]{flex:1;width:0;min-width:0;height:6px;margin:0}.slider-line b{text-align:right;min-width:46px;color:var(--ink);white-space:nowrap;flex-shrink:0;font-size:12px;font-weight:500}.dashboard>main{background-color:var(--grid-background,var(--bg));background-image:var(--grid-image,none);background-position:50%;background-size:cover;background-attachment:fixed}.tile-grid{grid-template-columns:repeat(var(--columns,4),minmax(0,1fr));gap:var(--grid-gap,18px)}.tile-grid .tile{grid-column:span min(var(--span),var(--columns,4));background:var(--tile-background,var(--surface));border-radius:var(--tile-radius,16px);font-size:var(--tile-font,14px)}.tile-title h3{font-size:1em}.tile small,.tile-title small{font-size:.79em}.tile .sensor-value{font-size:2.43em}.tile .range>span,.tile .slider-line b,.tile .control-row button{font-size:.86em}.tile .tile-icon{width:var(--icon-size,42px);height:var(--icon-size,42px)}.tile-icon svg{flex-shrink:0;width:75%;max-width:100%;height:75%;max-height:100%;display:block}.tile-grid>.section-heading{background:0 0;border-radius:0}.tile .html-attribute{font-size:var(--tile-font,14px)}.tile-grid{align-items:var(--tile-alignment,stretch)}.tile.no-header-name .tile-title h3{display:none}.dashboard .topbar{background:var(--canvas-panel,var(--bg));border-color:var(--canvas-line,var(--line))}.dashboard .breadcrumb,.dashboard .breadcrumb span,.dashboard .toolbar-status,.dashboard .toolbar>button[aria-label],.dashboard .mobile-menu{color:var(--canvas-ink,var(--ink))}.dashboard .viewbar{background:var(--canvas-backing,transparent);border-color:var(--canvas-line,var(--line));border-radius:8px 8px 0 0}.dashboard .viewbar [role=tab]{color:var(--canvas-ink,var(--ink))}.dashboard .viewbar [role=tab].active{color:var(--canvas-ink,var(--ink));border-bottom-color:var(--canvas-ink,var(--ink));font-weight:700}.dashboard .canvas-footer,.dashboard .edit-hint,.dashboard .empty{color:var(--canvas-ink,var(--ink));background:var(--canvas-backing,transparent);border-radius:8px;padding:8px}.dashboard .empty h2,.dashboard .empty>svg{color:inherit}.dashboard .edit-hint{margin-bottom:12px}.dashboard .canvas-footer{margin-top:12px}.dashboard .viewbar [role=tab].drop-target{outline-color:var(--canvas-ink,var(--ink));background:var(--canvas-panel,var(--bg))}.tile.no-device-name .device-name{display:none}.tile.no-header-name .tile-title .device-name{color:var(--ink);font-size:1em;font-weight:700;line-height:1.4;display:block}.tile.no-header-name.no-device-name .device-name{display:none}.positioned-grid{grid-auto-rows:minmax(100px,auto)}.grid-drop-cell{border:1px dashed var(--canvas-line);border-radius:var(--tile-radius,16px);min-height:100px;color:var(--canvas-ink);opacity:.45;place-items:center;display:grid}.grid-drop-cell span{font-size:11px}.grid-drop-cell.drop-hover{opacity:1;background:color-mix(in srgb,var(--canvas-ink) 15%,transparent);outline:2px solid var(--canvas-ink)}.grid-add-rows{margin-top:16px}.tile-stack{gap:var(--grid-gap,18px);flex-direction:column;align-self:start;min-width:0;display:flex}.tile-stack>.tile{flex:none;width:100%}.tile-stack-drop{height:max(14px,var(--grid-gap,18px));color:var(--canvas-ink);z-index:2;opacity:.65;justify-content:center;align-items:center;font-size:10px;display:flex;position:absolute;top:100%;left:0;right:0}.tile-stack-drop.drop-hover{opacity:1;background:var(--canvas-panel);outline:2px solid var(--canvas-ink)}.icon-setting{color:var(--muted);margin:16px 0;font-size:12px}.icon-setting>button{background:var(--surface2);justify-content:flex-start;width:100%;margin-top:7px;display:flex}.icon-setting>button>span{margin-left:auto}.icon-picker .icon-default{margin:16px 0}.icon-choices{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px;display:grid}.icon-choices>button{background:var(--surface2);flex-direction:column;min-height:86px;font-size:11px}.icon-choices>button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.section-heading h2>svg,.tile h3>svg{vertical-align:middle;margin-right:8px}.tile{color:var(--ink)}.tile-grid>.section-heading,.tile-stack>.section-heading{background:var(--tile-background,var(--surface))}.dashboard{display:block}.dashboard .topbar{flex-wrap:nowrap;gap:14px;height:auto;min-height:64px;padding-top:10px;padding-bottom:10px;display:flex;overflow-x:auto}.dashboard-top-options{flex-shrink:0;align-items:center;gap:8px;display:flex}.dashboard-top-options>button{white-space:nowrap;color:var(--canvas-ink,var(--ink));border-color:var(--canvas-line,var(--line));background:0 0}.dashboard .topbar>.breadcrumb{white-space:nowrap;margin-right:auto}.dashboard .toolbar{white-space:nowrap;flex-shrink:0}.dashboard .topbar .toolbar>button{flex-shrink:0}@media (width<=780px){.dashboard .topbar>.breadcrumb,.dashboard .toolbar-status{display:none}.dashboard .topbar{gap:10px;position:static}.dashboard-top-options>button{padding:7px;font-size:11px}.dashboard-top-options{gap:5px}}.dashboard-logo{color:var(--canvas-ink,var(--ink));letter-spacing:1px;flex-shrink:0;align-items:center;gap:8px;font-size:14px;font-weight:800;display:flex}.dashboard-logo img{width:32px;height:32px}.dashboard-logo small{letter-spacing:0;font-size:10px;font-weight:400;display:block}@media (width<=780px){.dashboard-logo>span{display:none}}.dashboard>main{min-height:100dvh}.tile-grid .tile{border-width:var(--tile-border-width,1px);box-shadow:var(--tile-shadow,0 4px 18px #00000008);padding:var(--tile-padding,22px);border-color:var(--tile-border-color,var(--line));background:var(--tile-fill,var(--tile-background,var(--surface)))}.tile-grid .tile.section-heading{background:var(--tile-fill,var(--tile-background,var(--surface)))}.attribute-rows{gap:10px;margin:14px 0;display:grid}.attribute-row{justify-content:space-between;align-items:baseline;gap:12px;min-width:0;display:flex}.attribute-row>span{color:var(--muted);text-transform:capitalize}.attribute-row>b{overflow-wrap:anywhere;text-align:right}.attribute-row:has(.html-attribute){display:block}.tile-icon.status-colored{color:var(--icon-status-color,var(--muted));background:color-mix(in srgb,var(--icon-status-color,var(--muted)) 13%,transparent)}.device-details-button{color:var(--muted);background:0 0;margin-top:14px;padding:5px 8px;font-size:.8em}.device-attributes{gap:0;margin:0;display:grid}.device-attributes>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(100px,1fr) minmax(0,2fr);gap:16px;padding:12px 0;display:grid}.device-attributes dt{color:var(--muted);text-transform:capitalize;overflow-wrap:anywhere}.device-attributes dd{overflow-wrap:anywhere;min-width:0;margin:0}.device-attributes pre{white-space:pre-wrap;margin:0;font-size:.9em}.device-attributes summary{cursor:pointer;margin-top:8px;font-size:.85em}.device-attributes .history{height:65px}@media (width<=500px){.device-attributes>div{grid-template-columns:1fr;gap:5px}}.edit-grid{position:relative}.edit-grid .grid-drop-cell{cursor:pointer;transition:opacity .15s,background-color .15s}.grid-drop-preview{pointer-events:none;z-index:4;border:2px solid var(--canvas-ink);border-radius:var(--tile-radius,16px);background:color-mix(in srgb,var(--canvas-panel) 75%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--canvas-ink) 15%,transparent);color:var(--canvas-ink);align-self:start;place-items:center;min-width:0;font-weight:700;display:grid;position:relative}.grid-drop-preview:before{content:"";border-top:1px dashed var(--canvas-ink);border-left:1px dashed var(--canvas-ink);opacity:.7;position:absolute;inset:-8px}.grid-drop-preview span{text-align:center;padding:8px;font-size:12px}.tile.moving-tile{outline:2px solid var(--canvas-ink);outline-offset:3px}.tile-edit .tile-move-handle{touch-action:none;cursor:grab;margin-right:auto}.tile-edit .tile-move-handle[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}.tile-resize-handle{background:var(--surface2);width:28px;height:24px;color:var(--muted);cursor:ew-resize;touch-action:none;z-index:3;border:0;padding:0;position:absolute;bottom:5px;right:5px}.tile-resize-handle span{font-size:18px}.resize-size{background:var(--surface2);color:var(--ink);z-index:3;border-radius:6px;padding:4px 8px;font-size:11px;position:absolute;bottom:8px;right:40px}.tile.editing{padding-bottom:calc(var(--tile-padding,22px) + 18px)}.tile-grid .compact-tile{padding:12px 14px}.compact-tile .tile-title{gap:10px;margin-bottom:10px}.compact-tile .tile-icon{width:min(var(--icon-size,42px),32px);height:min(var(--icon-size,42px),32px);border-radius:9px}.compact-tile .sensor-value,.compact-tile .sensor-value.compact{margin:8px 0;font-size:1.35em}.compact-tile .range{margin-top:10px}.compact-tile .attribute-rows{gap:6px;margin:8px 0}.compact-tile .device-details-button{margin-top:8px}.compact-tile.editing{padding-top:48px;padding-bottom:32px}.tile-icon,.tile-icon svg,.switch,.switch span,.tile-action,.device-details-button{transition:color .18s,background-color .18s,transform .18s,box-shadow .18s}.switch:active:not(:disabled){transform:scale(.96)}.device-details-button:hover{color:var(--ink)}.viewbar [role=tab]{transition:background-color .15s,border-color .15s}.tile-resize-handle:focus-visible{outline-offset:1px}@media (width<=780px){.dashboard .canvas{padding:18px 14px}.dashboard .topbar{scrollbar-width:thin;gap:8px;padding:8px 12px}.dashboard-logo{background:var(--canvas-panel,var(--bg));z-index:5;padding-right:5px;position:sticky;left:0}.dashboard .topbar button{min-width:44px;min-height:44px}.dashboard-top-options>button{font-size:12px}.dashboard .viewbar{flex-wrap:wrap;gap:8px;margin-bottom:16px}.viewbar>div[role=tablist]{scrollbar-width:thin;max-width:100%;overflow-x:auto}.viewbar [role=tab]{white-space:nowrap;min-height:44px;padding:10px 14px}.tile .control-row button,.tile .tile-action,.tile .device-details-button{min-height:44px}.tile .switch{min-width:52px;min-height:36px}.tile .slider-line{gap:10px}.tile .slider-line input[type=range]{touch-action:pan-y;height:24px}.tile .tile-edit{flex-wrap:wrap;gap:3px;left:8px;right:8px}.tile .tile-edit button{min-width:34px;min-height:36px;padding:4px}.tile.editing,.compact-tile.editing{padding-top:94px;padding-bottom:48px}.tile-resize-handle{width:44px;height:36px;bottom:5px;right:5px}.resize-size{right:54px}.tile-stack-drop{min-height:18px;font-size:11px}.grid-drop-cell{min-height:110px}.modal{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:20px}.modal header{gap:10px}.modal button,.modal select,.modal input:not([type=checkbox]):not([type=range]):not([type=color]){min-height:44px}.modal .checkbox{min-height:36px}.modal .form-grid{grid-template-columns:1fr}.icon-choices{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.edit-hint{font-size:12px;line-height:1.5}}@media (prefers-reduced-motion:reduce){.tile-icon,.tile-icon svg,.switch,.switch span,.tile-action,.device-details-button,.viewbar [role=tab],.grid-drop-cell{transition:none}.switch:active:not(:disabled){transform:none}}.tile-title button.tile-icon{cursor:pointer;border:0;padding:0}.tile-title button.tile-icon:disabled{opacity:1;cursor:default}.quick-view-name{cursor:pointer;border-radius:4px}.quick-view-name:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.quick-view-name:hover h3,.quick-view-name:hover .device-name{text-underline-offset:3px;text-decoration:underline}.entity-details-icon{background:0 0;border:0;padding:0}.entity-device-name{color:var(--ink);text-align:left;background:0 0;border:0;justify-content:flex-start;padding:0}.entity-device-name:hover{text-decoration:underline}.viewbar [role=tab]>svg{flex-shrink:0}.theme-presets{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.theme-presets>button{gap:9px;padding:8px;font-size:12px;display:grid}.preset-swatch{border-radius:8px;justify-content:center;align-items:center;gap:5px;width:100%;height:56px;padding:10px;display:flex}.preset-swatch i{border:1px solid;border-radius:6px;width:28px;height:32px;display:block}.kiosk .dashboard-top-options,.kiosk .breadcrumb,.kiosk .toolbar{display:none}.dashboard.kiosk .topbar{justify-content:space-between;min-height:52px}.kiosk-exit{color:var(--canvas-ink);border-color:var(--canvas-line);background:0 0;font-size:12px}.kiosk .canvas{padding-top:16px}@media (width<=600px){.theme-presets{grid-template-columns:repeat(2,minmax(0,1fr))}}.alignment-tools{color:var(--canvas-ink);background:var(--canvas-backing,transparent);flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;display:flex}.alignment-tools>span{margin-right:6px;font-size:12px}.alignment-tools button{font-size:12px}.tile-edit .tile-selection{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;flex:none;margin:0 3px 0 0}.tile.selected-tile{outline:2px solid var(--accent);outline-offset:3px}.dashboard-image{margin:0}.image-frame{background:var(--surface2);isolation:isolate;border-radius:10px;position:relative;overflow:hidden}.image-frame>img{width:100%;height:100%;max-height:none;transition:opacity .25s;display:block}.image-placeholder{background:var(--surface2);color:var(--muted);z-index:1;flex-direction:column;justify-content:center;align-items:center;gap:10px;font-size:.85em;display:flex;position:absolute;inset:0}.image-placeholder:not(.image-error):before{content:"";background:linear-gradient(110deg,transparent 20%,color-mix(in srgb,var(--ink) 6%,transparent) 50%,transparent 80%);pointer-events:none;animation:2s ease-in-out infinite image-sheen;position:absolute;inset:0}.dashboard-image figcaption{color:var(--muted);overflow-wrap:anywhere;margin-top:10px;font-size:.86em;line-height:1.5}.tile .device-name{font-size:var(--device-name-font,.79em)}.tile.no-header-name .tile-title .device-name{font-size:var(--device-name-font,1em)}.tile .sensor-value,.tile .gauge-value,.tile .clock-value{font-size:var(--reading-font,2.43em)}.tile .sensor-value.compact{font-size:var(--reading-font,1.22em)}.tile.compact-tile .sensor-value,.tile.compact-tile .sensor-value.compact{font-size:var(--reading-font,1.35em)}.tile .thermostat-ring strong{font-size:var(--reading-font,2.6em)}.tile .range>span,.tile .attribute-row>span,.tile .primary-attribute-label{font-size:var(--label-font,.86em)}.tile .primary-attribute-label{color:var(--muted);margin-bottom:8px}.dashboard .viewbar [role=tab]{font-size:var(--view-tab-font,14px);padding:var(--view-tab-padding,12px 16px);min-height:44px}.viewbar .view-name{display:var(--view-name-display,inline)}.viewbar [role=tab]>svg{display:var(--view-icon-display,inline-block);width:1.15em;height:1.15em}.dashboard .topbar{position:relative}.refresh-progress{opacity:0;pointer-events:none;height:2px;transition:opacity .15s;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.refresh-progress.visible{opacity:1}.refresh-progress:after{content:"";background:var(--canvas-ink);width:35%;height:100%;animation:1.2s ease-in-out infinite refresh-slide;position:absolute}.loading-skeleton{grid-template-columns:repeat(3,1fr);gap:14px;width:90vw;max-width:800px;margin-top:20px;display:grid}.loading-skeleton>div{background:#191f2b;border-radius:16px;height:130px}@keyframes refresh-slide{0%{transform:translate(-110%)}to{transform:translate(400%)}}@keyframes image-sheen{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (width<=780px){.alignment-tools{gap:6px}.alignment-tools button{min-height:40px}.tile-edit .tile-selection{width:22px;height:22px}.loading-skeleton{grid-template-columns:1fr}.loading-skeleton>div{height:90px}.dashboard .viewbar [role=tab]{min-width:44px}.dashboard .toolbar-status{display:none}}@media (prefers-reduced-motion:reduce){.image-frame>img,.refresh-progress{transition:none}.image-placeholder:before,.refresh-progress:after{animation:none}.refresh-progress:after{width:100%}.loading-skeleton>div{animation:none}}.tile-edit{scrollbar-width:thin;justify-content:flex-start;padding-bottom:3px;overflow:auto hidden}.tile-edit>button{flex-shrink:0}.tile-edit .tile-move-handle{margin-right:0}@media (width<=780px){.tile .tile-edit{flex-wrap:nowrap;padding-bottom:4px}.tile .tile-edit button{flex-shrink:0;min-width:40px;min-height:40px}.tile.editing,.compact-tile.editing{padding-top:68px}}.tile-search-button{flex-shrink:0;align-self:center;margin-left:auto}.tile-search-results{gap:8px;max-height:55vh;margin-top:18px;display:grid;overflow:auto}.tile-search-results>button{text-align:left;grid-template-columns:1fr auto;justify-content:stretch;min-height:60px;display:grid}.tile-search-results strong,.tile-search-results small{overflow-wrap:anywhere;grid-column:1}.tile-search-results small{color:var(--muted)}.tile-search-results span{color:var(--accent);grid-area:1/2/span 2;font-size:12px}.tile.search-highlight{outline:3px solid var(--accent);outline-offset:4px}.tile:focus{outline-offset:4px}.modal .modal-actions{flex-wrap:wrap}.tile input,.tile select{min-width:0;max-width:100%}.tile .tile-title>span{overflow-wrap:anywhere;min-width:0}.tile .control-row{flex-wrap:wrap}.kiosk .tile-search-button{display:none}@media (width<=600px){.tile-search-button span{display:none}.tile-search-button{min-width:44px;min-height:44px}.viewbar>div:nth-child(3){max-width:100%;overflow-x:auto}.tile-search-results span{font-size:10px}}.tile .tile-edit{scrollbar-width:none;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:4px;margin:0 0 12px;padding:0;display:flex;position:static;overflow:visible}.tile .tile-edit button{flex:none;min-width:28px;min-height:28px;padding:5px}.tile .tile-edit input.tile-selection{background:0 0;border:0;flex:0 0 18px;width:18px;min-width:18px;height:18px;margin:0 4px 0 0;padding:0;display:inline-block}.tile.editing{padding-top:var(--tile-padding,22px)}.tile.compact-tile.editing{padding-top:12px}@media (width<=600px){.tile .tile-edit button{min-width:36px;min-height:36px}.tile .tile-edit input.tile-selection{flex-basis:22px;width:22px;min-width:22px;height:22px}}.auto-device-setup{border:1px solid var(--accent,#38bdf8);background:#38bdf814;border-radius:12px;margin:16px 0;padding:16px}.auto-device-setup p{margin:8px 0 0}.reading-options{margin:16px 0 24px}.reading-options summary{cursor:pointer;padding:10px 0;font-weight:600}.dashboard .viewbar{border-bottom:1px solid var(--canvas-line,var(--line));align-items:flex-end;gap:12px;padding-top:6px}.dashboard .viewbar>div[role=tablist]{scrollbar-width:thin;align-items:flex-end;gap:6px;min-width:0;max-width:100%;padding:6px 3px 0;overflow-x:auto}.dashboard .viewbar [role=tab]{border:1px solid color-mix(in srgb,var(--canvas-ink,var(--ink)) 16%,transparent);background:color-mix(in srgb,var(--canvas-panel,var(--bg)) 88%,var(--canvas-ink,var(--ink)) 12%);color:var(--canvas-ink,var(--ink));min-height:44px;box-shadow:inset 0 1px 0 color-mix(in srgb,var(--canvas-ink,var(--ink)) 10%,transparent);white-space:nowrap;border-bottom:0;border-radius:14px 14px 0 0;flex-shrink:0;margin-top:5px;transition:background .18s,box-shadow .18s;position:relative}.dashboard .viewbar [role=tab]:hover{background:color-mix(in srgb,var(--canvas-panel,var(--bg)) 80%,var(--canvas-ink,var(--ink)) 20%);border-color:color-mix(in srgb,var(--canvas-ink,var(--ink)) 40%,transparent)}.dashboard .viewbar [role=tab].active{border-color:color-mix(in srgb,var(--canvas-ink,var(--ink)) 45%,transparent);background:color-mix(in srgb,var(--canvas-panel,var(--bg)) 76%,var(--canvas-ink,var(--ink)) 24%);min-height:49px;box-shadow:0 -4px 16px #00000018,inset 0 3px 0 var(--canvas-ink,var(--ink));margin-top:0;font-weight:800}.dashboard .viewbar [role=tab].drop-target{outline:2px dashed var(--canvas-ink,var(--ink));outline-offset:-4px;background:color-mix(in srgb,var(--canvas-panel,var(--bg)) 65%,var(--canvas-ink,var(--ink)) 35%)}.dashboard .viewbar [role=tab]:focus-visible{outline-offset:-4px}.dashboard .viewbar>.tile-search-button,.dashboard .viewbar>div:not([role=tablist]){margin-bottom:6px}@media (width<=780px){.dashboard .viewbar>div[role=tablist]{width:100%}.dashboard .viewbar [role=tab]{border-radius:12px 12px 0 0}}@media (prefers-reduced-motion:reduce){.dashboard .viewbar [role=tab]{transition:none}}.dashboard .topbar{box-shadow:0 1px 0 color-mix(in srgb,var(--canvas-ink,var(--ink)) 5%,transparent)}.dashboard-top-options>button,.dashboard .toolbar>button,.tile-search-button{border-radius:11px;transition:background-color .16s,border-color .16s}.dashboard-top-options>button:hover,.dashboard .toolbar>button:not(.primary):hover,.tile-search-button:hover{background:color-mix(in srgb,var(--canvas-ink,var(--ink)) 9%,var(--canvas-panel,var(--bg)))}.dashboard-logo small{opacity:.8;line-height:1.5}.dashboard .breadcrumb{font-weight:500}.dashboard .toolbar-status{font-variant-numeric:tabular-nums}.tile-title h3{letter-spacing:-.015em}.tile .device-name{line-height:1.55}.tile .sensor-value,.tile .range b,.tile .attribute-row>b,.tile .clock-value{font-variant-numeric:tabular-nums}.tile .control-row button,.tile .tile-action{border-radius:10px;font-weight:600;transition:background-color .16s,border-color .16s}.tile .control-row button:hover,.tile .tile-action:hover{background:color-mix(in srgb,var(--accent) 12%,var(--surface2))}.tile .switch span{box-shadow:0 1px 3px #0003}.tile .device-details-button{border-color:#0000;border-radius:8px}.tile .device-details-button:hover{background:var(--surface2);border-color:var(--line)}.tile .tile-edit button{border-radius:8px}.tile .tile-edit button:hover{background:color-mix(in srgb,var(--accent) 12%,var(--surface2))}.modal{border:1px solid var(--line);scrollbar-width:thin;scrollbar-color:var(--line) var(--surface)}.modal header{border-bottom:1px solid var(--line);padding-bottom:16px}.modal header h2{letter-spacing:-.025em;line-height:1.3}.modal header>button{border-radius:50%;flex-shrink:0}.modal header>button:hover{background:var(--surface2)}.modal label{font-weight:500;line-height:1.5}.modal input:not([type=checkbox]):not([type=range]):not([type=color]),.modal select,.modal textarea{border-radius:10px;transition:border-color .16s,box-shadow .16s}.modal input:not([type=checkbox]):not([type=range]):not([type=color]):focus,.modal select:focus,.modal textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.modal fieldset{border-radius:12px}.modal legend{padding:0 7px;font-weight:600}.modal .modal-actions{border-top:1px solid var(--line);padding-top:18px}.modal .modal-actions button{border-radius:10px;font-weight:600}.modal .filter-tabs{gap:8px}.modal .filter-tabs button{border-radius:10px}.modal .filter-tabs button.active{background:color-mix(in srgb,var(--accent) 12%,var(--surface));font-weight:700}.modal .device-list>div{border-radius:8px;transition:background-color .16s}.modal .device-list>div:hover{background:color-mix(in srgb,var(--ink) 3%,transparent)}.modal .icon-choices>button{border-radius:12px}.modal .icon-choices>button[aria-pressed=true]{background:color-mix(in srgb,var(--accent) 12%,var(--surface2));box-shadow:inset 0 0 0 1px var(--accent)}.modal .reading-options{border:1px solid var(--line);border-radius:12px;padding:0 14px}.modal .reading-options[open]{padding-bottom:14px}.modal .reading-options summary{color:var(--ink);padding:14px 0}@media (prefers-reduced-motion:reduce){.dashboard-top-options>button,.dashboard .toolbar>button,.tile-search-button,.tile .control-row button,.tile .tile-action,.modal input,.modal select,.modal textarea,.modal .device-list>div{transition:none}}.tile .switch{flex-shrink:0;justify-content:flex-start;align-items:center}.tile .switch.on{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.tile .switch span{transition:transform .22s cubic-bezier(.2,.8,.2,1),background-color .18s}.slider-line input[type=range]{appearance:none;box-shadow:none;cursor:pointer;background:0 0;border:0;min-width:0;height:24px;margin:0;padding:0}.slider-line input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right,var(--accent) var(--range-fill,0%),color-mix(in srgb,var(--ink) 25%,var(--surface)) var(--range-fill,0%));border-radius:99px;height:6px}.slider-line input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);border:2px solid var(--surface);border-radius:50%;width:18px;height:18px;margin-top:-6px;box-shadow:0 1px 4px #0003}.slider-line input[type=range]::-moz-range-track{background:color-mix(in srgb,var(--ink) 25%,var(--surface));border-radius:99px;height:6px}.slider-line input[type=range]::-moz-range-progress{background:var(--accent);border-radius:99px;height:6px}.slider-line input[type=range]::-moz-range-thumb{background:var(--accent);border:2px solid var(--surface);border-radius:50%;width:14px;height:14px;box-shadow:0 1px 4px #0003}.slider-line input[type=range]:disabled{cursor:default;opacity:.5}.slider-line>b{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700;line-height:1.5}.dashboard .edit-hint{border:1px solid var(--canvas-line);border-radius:10px;padding:10px 12px;line-height:1.5}.tile.editing{border-style:dashed}.tile .tile-edit{border-bottom:1px solid var(--line);gap:5px;padding-bottom:10px}.tile .tile-edit button{background:color-mix(in srgb,var(--ink) 5%,transparent);border-color:#0000}.tile .tile-edit .tile-move-handle{color:var(--accent)}.grid-drop-cell{opacity:.3}.grid-drop-cell.drop-available{opacity:.55}.grid-drop-cell.drop-hover{opacity:1}.tile-stack-drop{border-radius:0 0 8px 8px}.tile-stack-drop.drop-hover{background:color-mix(in srgb,var(--canvas-panel) 85%,var(--canvas-ink) 15%)}.tile.command-success:after{content:"";border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 2px var(--accent);z-index:4;animation:1s ease-out both command-acknowledged;position:absolute;inset:0}@keyframes command-acknowledged{0%,25%{opacity:.8}to{opacity:0}}.device-detail-heading{align-items:center;gap:14px;margin:22px 0;display:flex}.device-detail-heading>div{min-width:0}.device-detail-heading h3{overflow-wrap:anywhere;letter-spacing:-.02em;margin:0 0 8px;line-height:1.4}.device-detail-symbol{background:color-mix(in srgb,var(--accent) 12%,var(--surface));height:48px;color:var(--accent);border-radius:14px;flex:0 0 48px;place-items:center;display:grid}.device-detail-badges{flex-wrap:wrap;gap:6px;display:flex}.device-detail-badges>span{border:1px solid var(--line);color:var(--muted);border-radius:99px;padding:4px 8px;font-size:11px}.device-detail-badges>.unavailable{color:#fca5a5;background:#7f1d1d33;border-color:#f8717144}.modal .ha-device-controls>form{border:1px solid var(--line);background:color-mix(in srgb,var(--ink) 3%,var(--surface));border-radius:12px;padding:14px}.modal .ha-controls-disclosure{border:1px solid var(--line);border-radius:12px;padding:12px 14px}.modal .device-attributes dt{line-height:1.5}.modal .device-attributes dd{font-variant-numeric:tabular-nums;line-height:1.5}.dashboard .empty{border:1px dashed var(--canvas-line);background:color-mix(in srgb,var(--canvas-panel) 92%,var(--canvas-ink) 8%);border-radius:20px;max-width:620px;margin:36px auto;padding:32px 24px}.dashboard .empty>svg{background:color-mix(in srgb,var(--canvas-ink) 10%,transparent);border-radius:18px;width:66px;height:66px;padding:10px}.dashboard .empty h2{letter-spacing:-.03em;margin-top:18px;line-height:1.3}.dashboard .empty p{max-width:380px;margin-left:auto;margin-right:auto;line-height:1.6}.dashboard .empty button{border-radius:11px;margin:5px}.tile-title{align-items:center}.tile .range{line-height:1.5}.tile .entity-rows>div{align-items:center}.tile .attribute-row{line-height:1.5}.light-controls .light-swatches button{transition:box-shadow .16s}.light-controls .light-swatches button:hover:not(:disabled){box-shadow:0 0 0 3px color-mix(in srgb,var(--ink) 16%,transparent)}@media (width<=600px){.dashboard .empty{margin:24px auto;padding:24px 16px}.device-detail-heading{gap:10px}.device-detail-symbol{flex-basis:40px;height:40px}.slider-line input[type=range]::-webkit-slider-thumb{width:22px;height:22px;margin-top:-8px}.slider-line input[type=range]::-moz-range-thumb{width:18px;height:18px}}@media (prefers-reduced-motion:reduce){.tile .switch span,.light-controls .light-swatches button{transition:none}.tile.command-success:after{opacity:.6;animation:none}}@media (width<=600px){.light-controls .light-swatches{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.light-controls .light-swatches button{justify-self:center;width:100%;max-width:48px;min-height:44px}}@media (width>=601px) and (width<=1280px) and (pointer:coarse){.dashboard .topbar button,.dashboard .viewbar button,.tile .control-row button,.tile .tile-action,.tile .device-details-button,.modal button,.modal select{min-height:44px}.tile .tile-edit button{min-width:40px;min-height:40px}.tile .switch{min-width:52px;min-height:36px}.tile .slider-line input[type=range]{touch-action:pan-y;height:32px}.tile .slider-line input[type=range]::-webkit-slider-thumb{width:22px;height:22px;margin-top:-8px}.tile .slider-line input[type=range]::-moz-range-thumb{width:18px;height:18px}.dashboard .topbar{gap:10px;padding-left:20px;padding-right:20px}.dashboard .canvas{padding-left:20px;padding-right:20px}}.density-presets{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0;display:grid}.density-presets button{min-height:48px;padding:10px 8px;font-weight:600}.density-presets button[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent)}.tile-state-wash{border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,color-mix(in srgb,var(--state-color) 9%,transparent),transparent 70%);position:absolute;inset:0}.tile-state-wash~*{position:relative}.tile .tile-state-wash~.tile-resize-handle{position:absolute}.device-offline-badge{border:1px dashed var(--line);background:var(--surface2);color:var(--muted);border-radius:9px;margin:10px 0;padding:8px 10px;font-size:.85em;line-height:1.5}.entity-offline{color:var(--muted);font-style:italic}.device-reading-skeleton{align-content:center;gap:12px;min-height:80px;display:grid}.device-reading-skeleton span{background:color-mix(in srgb,var(--ink) 10%,transparent);border-radius:99px;max-width:75%;height:12px}.device-reading-skeleton span:first-child{max-width:45%;height:26px}.tile[aria-busy=true] .tile-icon{outline:1px dashed var(--muted);outline-offset:3px}.kiosk-reveal{color:var(--canvas-ink);border-color:var(--canvas-line);background:0 0;min-width:44px;min-height:44px;margin-left:auto}.dashboard.kiosk.kiosk-chrome-visible .dashboard-top-options,.dashboard.kiosk.kiosk-chrome-visible .toolbar{display:flex}.dashboard.kiosk.kiosk-chrome-visible .breadcrumb{display:block}.kiosk.kiosk-chrome-visible .tile-search-button{display:inline-flex}.dashboard.kiosk.kiosk-chrome-visible .topbar{justify-content:flex-start}.kiosk-chrome-visible .kiosk-exit{flex-shrink:0;min-height:44px}.dashboard.kiosk.kiosk-chrome-visible .topbar>.breadcrumb{margin-right:auto}@media (width<=780px){.dashboard.kiosk.kiosk-chrome-visible .breadcrumb{display:none}}.flows-intro{align-items:flex-start;gap:14px;margin-top:22px;display:flex}.flows-intro>svg{color:var(--accent);flex-shrink:0}.flows-intro h3{margin-bottom:8px}.flows-intro p{color:var(--muted);line-height:1.6}.flow-draft-note{border:1px solid var(--line);color:var(--muted);border-radius:10px;padding:12px;line-height:1.6}.flow-import-card,.flow-list-card{border:1px solid var(--line);background:var(--surface2);border-radius:12px;margin-top:16px;padding:18px}.flow-import-card label{overflow-wrap:anywhere}.flow-import-card summary{cursor:pointer;margin-top:18px;font-weight:600}.flow-import-card li{padding:8px 0}.flow-import-card li small{color:var(--muted);display:block}.flow-list-card{justify-content:space-between;align-items:center;gap:12px;display:flex}.flow-list-card h3{overflow-wrap:anywhere;margin-bottom:6px}.flow-list-card p{color:var(--muted);margin-bottom:10px;font-size:12px}.flow-list-card span{border:1px solid var(--line);color:var(--accent);border-radius:99px;padding:4px 8px;font-size:11px}.flows-empty{text-align:center;color:var(--muted);padding:30px 15px}.flows-empty>svg{color:var(--accent);margin-bottom:15px}.modal:has(.flow-editor){width:calc(100vw - 32px);max-width:1400px}.flow-editor{margin-top:18px}.flow-editor-heading{flex-wrap:wrap;align-items:end;gap:16px;display:flex}.flow-editor-heading>label{flex:1;min-width:180px;margin:0}.flow-editor-heading .control-row{margin:0}.flow-editor-tools{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex}.flow-editor-tools select{flex:1;width:auto;min-width:130px;margin:0}.flow-editor-layout{grid-template-columns:minmax(0,1fr) 280px;gap:16px;display:grid}.flow-canvas{border:1px solid var(--line);background:#101622;border-radius:14px;min-width:0;height:520px;overflow:hidden}.flow-node-settings{background:var(--surface2);border:1px solid var(--line);border-radius:14px;min-width:0;max-height:520px;padding:16px;overflow:auto}.flow-node-settings label:first-of-type{margin-top:0}.flow-node-settings button{margin-top:12px}.pixora-flow-node{color:#e8edf5;background:#202837;border:1px solid #435167;border-left:4px solid #38bdf8;border-radius:12px;min-width:210px;max-width:250px;padding:14px 26px 14px 16px;position:relative;box-shadow:0 4px 20px #0003}.pixora-flow-node.selected{outline-offset:3px;outline:2px solid #38bdf8}.pixora-flow-node small{text-transform:uppercase;letter-spacing:.07em;color:#9caec5;margin-bottom:7px;font-size:10px;display:block}.pixora-flow-node strong{overflow-wrap:anywhere;font-size:14px;display:block}.pixora-flow-node>span{color:#a9b8ca;overflow-wrap:anywhere;margin-top:8px;font-size:11px;line-height:1.5;display:block}.pixora-flow-node[data-kind=condition]{border-left-color:#a78bfa}.pixora-flow-node[data-kind=service]{border-left-color:#4ade80}.pixora-flow-node[data-kind=delay],.pixora-flow-node[data-kind=wait]{border-left-color:#fbbf24}.pixora-flow-node .react-flow__handle{background:#38bdf8;border:2px solid #101622;width:12px;height:12px}.branch-label{color:#a9b8ca;font-size:9px;font-style:normal;position:absolute;right:8px}.branch-label.yes{top:25%}.branch-label.no{top:65%}.flow-canvas .react-flow__controls button{color:#e8edf5;background:#202837;border-radius:0;min-width:32px;min-height:32px;padding:6px}.flow-canvas .react-flow__controls button svg{fill:currentColor}.flow-canvas .react-flow__edge-path{stroke:#849cb8;stroke-width:2px}.flow-connections{margin-top:16px}.flow-connections summary{cursor:pointer}.flow-connections>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.flow-connections span{overflow-wrap:anywhere}@media (width<=900px){.flow-editor-layout{grid-template-columns:1fr}.flow-canvas{height:420px}.flow-node-settings{max-height:none}.flow-editor-tools select{min-width:120px}.modal:has(.flow-editor){width:calc(100vw - 24px)}.flow-editor-heading .control-row,.flow-list-card{flex-wrap:wrap}}.flow-editor-heading .control-row{flex-wrap:wrap}.flow-editor-heading .control-row button{white-space:nowrap;flex:none}.flow-editor-heading .control-row .primary{background:var(--accent);color:#07131e;border-color:var(--accent)}.flow-editor-heading .control-row button svg{flex-shrink:0}.flow-run-history{margin-top:24px}.flow-run-history details{border:1px solid var(--line);border-radius:10px;margin:10px 0;padding:14px}.flow-run-history summary{cursor:pointer;font-weight:600}.flow-run-history li{padding:8px 0;line-height:1.6}.flow-run-history li small{color:var(--muted);display:block}.flow-list-card>.control-row{flex-wrap:wrap;max-width:460px}.flow-list-card>.control-row button{white-space:nowrap;flex:0 auto}.flows-panel>.control-row>.primary{background:var(--accent);color:#07131e;border-color:var(--accent)}.flow-weekdays>div{flex-wrap:wrap;gap:8px;display:flex}.flow-node-settings .flow-weekdays .checkbox{border:1px solid var(--border,#344051);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:6px;min-height:44px;margin:0;padding:9px 10px;display:flex}.flow-node-settings .flow-weekdays .checkbox:has(input:checked){color:#eaf8ff;background:#12394c;border-color:#31baf2}.flow-node-settings .flow-weekdays input{accent-color:#31baf2;width:14px;height:14px;margin:0}.device-picker{min-width:0}.device-search-summary{justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;font-size:.85em;display:flex}.device-search-summary button{min-height:36px;padding:5px 10px}.modal:has(.flow-editor)>header{align-items:center;gap:12px;display:flex}.modal:has(.flow-editor)>header>h2{display:none}.modal:has(.flow-editor)>header>button{flex:none;order:2}.modal:has(.flow-editor)>header>.flow-editor-heading{flex-wrap:nowrap;flex:1;order:1;align-items:center;gap:12px;min-width:0;padding:3px;overflow-x:auto}.flow-header-brand{white-space:nowrap;align-items:center;gap:10px;font-size:1.25rem;display:flex}.flow-header-brand svg{color:var(--accent);flex:none}.flow-editor-heading>label{align-items:center;gap:10px;min-width:160px;display:flex}.flow-editor-heading>label>span{white-space:nowrap;font-size:.85rem}.flow-editor-heading>label>input{width:100%;min-width:90px;margin:0}.flow-editor-heading .control-row{flex-wrap:nowrap;flex:none}@media (width<=900px){.flow-editor-heading>label>span{display:none}.flow-editor-heading .control-row button>span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.flow-editor-heading .control-row button{min-width:40px;padding:10px}.flow-editor-heading>label{min-width:130px}.flow-header-brand{gap:6px;font-size:1rem}.modal:has(.flow-editor)>header>.flow-editor-heading{gap:8px}.flow-editor-heading .control-row{gap:6px}}:is(.modal:has(.flows-panel),.modal:has(.flow-editor)){box-sizing:border-box;width:95vw;max-width:95vw;height:95dvh;max-height:95dvh}.modal:has(.flow-editor) .flow-canvas{height:clamp(300px,95dvh - 260px,900px)}.modal:has(.flow-editor) .flow-node-settings{max-height:clamp(300px,95dvh - 260px,900px)}@media (width<=900px){.modal:has(.flow-editor) .flow-canvas{height:clamp(260px,40dvh,520px)}.modal:has(.flow-editor) .flow-node-settings{max-height:none}.flow-editor-heading .control-row button>span{display:none}}.flow-canvas{position:relative}.flow-edge-menu{z-index:10;border:1px solid var(--line);background:var(--surface2);border-radius:12px;min-width:132px;padding:6px;position:absolute;box-shadow:0 8px 28px #0006}.flow-edge-menu button{justify-content:flex-start;width:100%;min-height:40px}.flow-canvas .react-flow__edge:hover .react-flow__edge-path{stroke:#38bdf8;stroke-width:3px}.flow-canvas .react-flow__edge-interaction{cursor:pointer}.flow-editor-tools .flow-node-picker{flex:1;min-width:130px;position:relative}.flow-node-picker>button{text-align:left;background:var(--surface2);gap:10px;width:100%;min-height:54px}.flow-node-picker>button>span:not(.flow-node-option-icon){flex:1}.flow-node-option-icon{color:#fff;border-radius:8px;flex:none;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.flow-node-picker [role=listbox]{z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:12px;width:max-content;min-width:100%;max-width:min(340px,80vw);max-height:340px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;overflow:auto;box-shadow:0 12px 32px #0006}.flow-node-picker [role=option]{text-align:left;background:var(--surface2);gap:10px;width:100%;min-height:48px;margin:0 0 4px;display:flex}.flow-node-picker [role=option]>span:not(.flow-node-option-icon){flex:1}.flow-node-picker [role=option][aria-selected=true]{border-color:var(--accent)}.flow-node-picker [role=option]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.flow-node-picker .flow-node-menu{z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:12px;width:max-content;min-width:100%;max-width:min(340px,80vw);padding:8px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 12px 32px #0006}.flow-node-picker .flow-node-menu>input{min-height:40px;margin:0 0 8px}.flow-node-picker .flow-node-menu [role=listbox]{box-shadow:none;border:0;width:100%;max-height:280px;padding:0;position:static}.flow-node-picker .flow-node-menu{box-sizing:border-box;width:100%;max-width:100%}.flow-node-picker .flow-node-menu>input{box-sizing:border-box;width:100%;min-width:0}.flow-node-picker [role=option]>span:not(.flow-node-option-icon){overflow-wrap:anywhere;min-width:0}.flow-extra-rules fieldset{border:1px solid var(--line);border-radius:12px;margin:16px 0;padding:12px}.flow-extra-rules h4{margin:16px 0 8px}.flow-extra-rules legend{padding:0 6px;font-weight:600}.flow-target-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:8px 0;display:flex}.flow-target-row>span{overflow-wrap:anywhere}.flow-target-row>button{flex:none;margin:0}.flow-step-badge{background:#163b2e;border-radius:6px;align-items:center;gap:5px;width:max-content;margin-top:8px;padding:3px 7px;color:#86efac!important;font-size:11px!important;display:inline-flex!important}.flow-step-badge[data-status=failed]{background:#451e27;color:#fda4af!important}.flow-step-badge[data-status=pending]{background:#293345;color:#a9b8ca!important}.flow-step-badge[data-status=no]{background:#443116;color:#fde68a!important}.flow-preview-details{border:1px solid var(--line);background:var(--surface2);border-radius:12px;margin:12px 0;padding:12px 16px}.flow-preview-details>summary{cursor:pointer;font-weight:600}.flow-preview-details>ol{max-height:220px;padding-left:22px;overflow:auto}.flow-preview-details li{margin-bottom:8px}.flow-preview-details li>button{text-align:left;justify-content:space-between;align-items:center;gap:10px;width:100%;display:flex}.flow-preview-details .flow-step-badge{flex:none;margin:0}.flow-preview-details li>p{overflow-wrap:anywhere;margin:6px 0}.flow-canvas-tools{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;display:flex}.flow-canvas-tools>label{white-space:nowrap;align-items:center;gap:8px;margin:0 8px;display:flex}.flow-canvas-tools>span{color:var(--muted);margin-left:auto;font-size:11px}.flow-canvas-tools>button{min-height:40px}.flow-canvas-tools input{width:16px;height:16px;margin:0}@media (width<=900px){.flow-canvas-tools>span{display:none}}.flow-check-panel{border:1px solid var(--line);background:var(--surface2);border-radius:10px;margin:10px 0;padding:10px 14px}.flow-check-panel summary{cursor:pointer;font-size:.85rem}.flow-check-panel summary>svg{vertical-align:middle;color:#4ade80;margin-right:6px}.flow-check-panel.has-errors summary>svg{color:#fbbf24}.flow-check-panel ul{max-height:240px;margin:8px 0;padding-left:20px;overflow:auto}.flow-check-panel li{margin:8px 0}.flow-check-panel li button{text-align:left;flex-direction:column;align-items:flex-start;gap:4px;width:100%}.flow-check-panel li button span{color:var(--muted);font-size:.82rem}.flow-check-panel li[data-severity=error]::marker{color:#fbbf24}.flow-check-panel li>p{margin:0;font-size:.85rem}.flow-library-search{background:var(--surface2);border:1px solid var(--line);border-radius:12px;align-items:center;gap:10px;margin:18px 0 12px;padding:0 12px;display:flex}.flow-library-search>svg{color:var(--muted);flex:none}.flow-library-search>input{background:0 0;border:0;min-width:0;margin:0}.flow-library-filters{flex-wrap:wrap;gap:8px;display:flex}.flow-library-filters button{gap:8px;min-height:40px}.flow-library-filters button[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface2))}.flow-library-filters button>span{background:var(--surface);border-radius:6px;padding:2px 5px;font-size:11px}.flow-clear-filters{color:var(--accent);font-size:inherit;background:0 0;border:0;min-height:0;padding:0;display:inline}.flow-card-content{flex:1;min-width:0}.flow-card-heading{align-items:center;gap:10px;display:flex}.flow-card-heading>svg{color:var(--accent);flex:none}.flow-card-heading h3{margin:0}.flow-card-tags{flex-wrap:wrap;gap:6px;margin:12px 0;display:flex}.flow-list-card[data-status=enabled] .flow-status{color:#86efac;background:#163b2e;border-color:#22764c}.flow-list-card[data-status=paused] .flow-status{color:#fde68a;background:#443116;border-color:#765626}.flow-card-summary{flex-wrap:wrap;gap:12px;margin:10px 0;display:flex}.flow-card-summary>span{color:var(--muted);border:0;border-radius:0;align-items:center;gap:5px;padding:0;font-size:12px;display:flex}.flow-card-devices{text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-bottom:8px;overflow:hidden}.flow-list-card .flow-last-result{color:#86efac;margin:0}.flow-list-card .flow-last-result.failed{color:#fda4af;overflow-wrap:anywhere}.flow-list-card>.control-row{flex:none}@media (width<=900px){.flow-card-content{flex-basis:100%}.flow-list-card>.control-row{max-width:none}.flow-library-filters{gap:6px}.flow-library-filters button{padding:8px 10px}}.modal .flow-library-search{display:flex}.modal .flow-library-search>input{flex:1;width:auto;min-width:0}.flow-library .flow-list-card>.control-row{flex-wrap:wrap;flex:0 460px;width:460px;min-width:0;max-width:100%}.flow-library .flow-list-card>.control-row>button{flex:0 auto}@media (width<=900px){.flow-library .flow-list-card>.control-row{flex-basis:100%;width:100%}}.flow-list-card .flow-last-result{color:color-mix(in srgb,var(--ink) 60%,#22c55e)}.flow-list-card .flow-last-result.failed{color:color-mix(in srgb,var(--ink) 60%,#f43f5e)}.flow-import-review h4,.flow-import-review summary{align-items:center;gap:8px;display:flex}.flow-import-review h4{margin:18px 0 12px}.flow-import-review details{margin-top:16px}.modal .flow-import-search{flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0;display:flex}.flow-import-search input{flex-basis:100%;min-width:0}.flow-import-issues li{overflow-wrap:anywhere;margin-bottom:8px}.flow-node-heading{align-items:center;gap:9px;display:flex}.flow-node-heading .flow-node-option-icon{border-radius:8px;flex-shrink:0;width:28px;height:28px}.flow-node-heading strong{min-width:0}.pixora-flow-node .flow-node-summary{color:#d4dfed;-webkit-line-clamp:3;white-space:pre-wrap;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.pixora-flow-node.is-disabled{background:#1b2230;border-style:dashed}.pixora-flow-node.is-disabled .flow-node-heading,.pixora-flow-node.is-disabled .flow-node-summary{opacity:.6}.pixora-flow-node .flow-node-disabled{color:#fbd38d;font-weight:600}.flow-node-picker [role=option] small{color:var(--muted);margin-top:3px;font-size:.75rem;font-weight:400;line-height:1.4;display:block}.flow-node-quick-actions{flex-wrap:wrap;gap:6px;margin:0 0 12px;display:flex}.flow-node-settings .flow-node-quick-actions button{min-height:44px;margin:0;padding:8px 10px}.flow-edge-menu [role=menuitem]{justify-content:flex-start;width:100%;min-height:44px}.flow-starter-picker{border:1px solid var(--line);background:var(--surface2);border-radius:16px;margin:18px 0;padding:18px}.flow-starter-heading{justify-content:space-between;align-items:start;gap:16px;display:flex}.flow-starter-heading h3{margin:0}.flow-starter-heading p{color:var(--muted);font-size:.85rem;line-height:1.5}.flow-starter-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:10px;margin-top:14px;display:grid}.flow-starter-grid>button{text-align:left;background:var(--surface);align-items:center;gap:12px;min-height:94px;padding:16px;display:flex}.flow-starter-grid>button>span{flex:1;min-width:0}.flow-starter-grid strong,.flow-starter-grid small{overflow-wrap:anywhere;display:block}.flow-starter-grid small{color:var(--muted);margin-top:6px;font-size:.8rem;font-weight:400;line-height:1.5}.flow-starter-grid>button>svg{color:var(--accent);flex-shrink:0}@media (width<=600px){.flow-starter-heading{flex-wrap:wrap}.flow-starter-picker{padding:12px}}.flow-node-connections{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:12px 0;padding:10px 0}.flow-node-connections summary{cursor:pointer;font-size:.85rem;font-weight:600}.flow-node-connections h4{align-items:center;gap:6px;margin:12px 0 6px;font-size:.8rem;display:flex}.flow-node-connection{gap:4px;margin-bottom:5px;display:flex}.flow-node-settings .flow-node-connection button{min-height:44px;margin:0;padding:8px}.flow-node-connection>button:first-child{text-align:left;flex:1;justify-content:space-between;min-width:0}.flow-node-connection span{overflow-wrap:anywhere}.flow-node-connection small{color:var(--muted)}.flow-canvas .react-flow__minimap{background:#172132;border:1px solid #435167;border-radius:10px;width:160px;height:100px;overflow:hidden}.flow-canvas .react-flow__node,.flow-canvas .react-flow__edge{transition:opacity .15s}.flow-history-filters{grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr));gap:12px;display:grid}.flow-history-filters label{min-width:0}.flow-history-result{border:1px solid var(--line);background:var(--surface2);border-radius:12px;margin:10px 0;padding:12px 14px}.flow-history-result[data-status=failed],.flow-history-result[data-status=interrupted]{border-left:3px solid #f87171}.flow-history-result[data-status=running]{border-left:3px solid #38bdf8}.flow-history-result[data-status=completed]{border-left:3px solid #4ade80}.flow-history-result summary{cursor:pointer;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.flow-history-result summary>span{overflow-wrap:anywhere;min-width:0}.flow-history-duration{color:var(--muted);white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.flow-history-result-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.flow-history-result-meta button{min-height:40px;padding:8px 10px}.flow-history-result li small{color:var(--muted);overflow-wrap:anywhere;display:block}@media (width<=600px){.flow-history-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.flow-history-filters label:first-child{grid-column:1/-1}}.flow-history-chevron{flex-shrink:0;transition:transform .15s}.flow-history-result[open] .flow-history-chevron{transform:rotate(180deg)}.flow-history-result summary>span{flex:1}.flow-find-bar{flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 14px;display:flex}.flow-find-bar label{border:1px solid var(--line);background:var(--surface2);border-radius:10px;flex:1;align-items:center;gap:8px;min-width:200px;margin:0;padding:0 12px;display:flex}.flow-find-bar label:focus-within{outline:2px solid var(--accent)}.flow-find-bar input{min-width:0;box-shadow:none;background:0 0;border:0;outline:none;width:100%;margin:0}.flow-find-bar>span{color:var(--muted);font-size:.78rem}.flow-find-bar>button{min-height:44px;padding:10px}@media (width<=600px){.flow-find-bar label{flex-basis:100%}.flow-find-bar>span{flex:1}}.flow-library-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;display:grid}.flow-library-options label{min-width:0;margin:0}@media (width<=600px){.flow-library-options{grid-template-columns:1fr}}.flow-description-editor{border-top:1px solid var(--line);margin:10px 0;padding:12px 0}.flow-description-editor summary{cursor:pointer;font-size:.85rem;font-weight:600}.flow-description-editor textarea{resize:vertical;min-height:90px}.flow-card-description{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.85rem;line-height:1.55;display:-webkit-box;overflow:hidden}.flow-check-next{background:#fbbf2410;border:1px solid #b88734;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:12px 0;padding:12px 14px;display:flex}.flow-check-next span{color:var(--muted);font-size:.85rem}.flow-check-next button{min-height:44px}.flow-insert-choice{color:var(--muted);margin:4px 4px 8px;font-size:.78rem;display:block}.flow-insert-choice select{max-width:200px;min-height:40px;margin:5px 0 0;padding:8px}.flow-edge-menu:has(.flow-insert-choice){box-sizing:border-box;width:210px;max-width:calc(100% - 16px)}.flow-insert-choice select{box-sizing:border-box;width:100%}.flow-node-connection{flex-wrap:wrap}.flow-connection-insert{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-basis:100%;align-items:end;gap:8px;padding:8px;display:flex}.flow-connection-insert label{flex:1;min-width:0}.flow-node-settings .flow-connection-insert select{width:100%;min-width:0}.flow-connection-insert>button{flex-shrink:0}.flow-mapping-item{border:1px solid var(--line);background:var(--surface2);border-radius:12px;margin-top:12px;padding:14px}.flow-mapping-item>small{color:var(--muted);overflow-wrap:anywhere;margin:5px 0 12px;display:block}.flow-editor-mappings>label{display:block}.flow-node-note-badge{color:#94a3b8;flex-shrink:0;margin:0!important;display:inline-flex!important}.flow-node-notes{border:1px solid var(--line);border-radius:10px;margin:12px 0;padding:10px}.flow-node-notes summary{cursor:pointer;font-size:.85rem;font-weight:600}.flow-node-notes label{margin-top:12px}.flow-direction-settings fieldset{border:1px solid var(--line);border-radius:12px;min-width:0;margin:12px 0;padding:12px}.flow-direction-settings legend{padding:0 6px;font-weight:600}.global-variables{border:1px solid var(--line);background:var(--surface2);border-radius:14px;min-width:0;margin:16px 0;padding:16px}.global-variables>header{justify-content:space-between;align-items:center;display:flex}.global-variables h3{align-items:center;gap:8px;margin:0;display:flex}.global-variable-create{grid-template-columns:minmax(0,1fr) 110px minmax(0,1fr) auto;align-items:end;gap:10px;margin-bottom:18px;display:grid}.global-variable-row{border-top:1px solid var(--line);flex-wrap:wrap;align-items:end;gap:12px;padding:14px 0;display:flex}.global-variable-row>div:first-child{flex:1;min-width:120px}.global-variable-row small{color:var(--muted);overflow-wrap:anywhere;margin-top:5px;display:block}.global-variable-row>label{flex:1;min-width:120px}.global-variable-row .control-row{margin:0}.global-variables input,.global-variables select{width:100%;min-width:0}.flow-editor .global-variable-create{grid-template-columns:1fr 1fr}.flow-node-settings .global-variables{padding:10px}@media (width<=650px){.global-variable-create{grid-template-columns:1fr 1fr}.global-variable-row>.control-row{width:100%}}.flow-variable-parameter{margin-top:7px}.flow-variable-parameter select{width:100%;font-size:.8rem}.flow-variable-parameter small{color:var(--muted);margin-top:5px;font-size:.75rem;display:block}.global-variable-usage{background:var(--surface);border-radius:8px;flex-basis:100%;min-width:0;padding:8px 10px}.global-variable-usage summary{cursor:pointer;font-size:.9em}.global-variable-usage>div{overflow-wrap:anywhere;padding:6px 0}.global-variable-row>div:first-child>button{margin-top:8px;padding:6px 9px;font-size:.85em}.global-variable-row .control-row{flex-wrap:wrap}.global-variable-row time{font-variant-numeric:tabular-nums}.flow-settings-tabs{min-width:0;margin:12px 0}.flow-settings-row>[role=tablist]{border-bottom:1px solid var(--line);scrollbar-width:thin;flex-wrap:nowrap;gap:6px;max-width:100%;padding:4px 0 8px;display:flex;overflow-x:auto}.flow-settings-tabs [role=tab]{white-space:nowrap;color:var(--muted);background:var(--surface2);border:1px solid var(--line);border-radius:10px 10px 0 0;flex:none;align-items:center;gap:8px;padding:10px 14px;display:flex}.flow-settings-tabs [role=tab][aria-selected=true]{color:var(--text);border-color:var(--accent,#38bdf8);box-shadow:inset 0 -2px 0 var(--accent,#38bdf8)}.flow-tab-count{background:var(--surface);border-radius:20px;padding:1px 6px;font-size:.8em}.flow-tab-ok{color:#4ade80}.flow-settings-tabs>[role=tabpanel]:not([hidden]){padding:12px 0}.flow-settings-tabs .flow-description-editor{border:0;margin:0}.flow-settings-tabs .global-variables{margin:0}.flow-settings-tabs [role=tab]:focus-visible{outline:2px solid var(--accent,#38bdf8);outline-offset:2px}.flow-canvas-tools>.flow-find-bar{flex-wrap:nowrap;flex:300px;min-width:0;margin:0}.flow-canvas-tools .flow-find-bar label{min-width:120px}.flow-canvas-tools .flow-find-bar input{width:100%;height:auto;min-height:40px}.flow-canvas-tools .flow-find-bar>span{white-space:nowrap}.flow-canvas-tools .flow-find-bar>button{flex:none;min-height:40px;padding:8px}.flow-canvas-tools>span{text-align:right;flex-basis:100%}@media (width>=1600px){.flow-canvas-tools>span{flex-basis:auto}}@media (width<=1100px){.flow-canvas-tools .flow-find-bar>span{display:none}}@media (width<=600px){.flow-canvas-tools>.flow-find-bar{flex-basis:100%}.flow-canvas-tools .flow-find-bar label{flex-basis:auto}}.flow-history-timestamp{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:12px;font-weight:400}.flow-history-result>summary{flex-wrap:wrap}.flow-history-result>summary>.flow-history-duration{margin-left:0}@media (width<=600px){.flow-history-timestamp{flex-basis:100%;margin-left:24px}}.flow-editor-heading .control-row .flow-save-button.is-pending{color:#fff;background:#dc2626;border-color:#dc2626}.flow-editor-heading .control-row .flow-save-button.is-saved{color:#fff;background:#15803d;border-color:#15803d}@media (width<=900px){.flow-editor-heading .control-row .flow-save-button>span{clip-path:none;width:auto;height:auto;display:inline;position:static;overflow:visible}}.flow-settings-row{border-bottom:1px solid var(--line);align-items:center;gap:16px;min-width:0;display:flex}.flow-settings-row>[role=tablist]{border-bottom:0;flex:1;min-width:0}.flow-graph-count{white-space:nowrap;color:var(--muted);flex:none;font-size:.85rem}
