html{--lumo-primary-color: hsl(214, 90%, 52%);--lumo-primary-text-color: hsl(214, 90%, 42%);--lumo-font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}vaadin-app-layout::part(navbar){min-height:var(--lumo-size-l)}.top-bar{border-bottom:1px solid var(--lumo-contrast-10pct)}.top-nav{gap:var(--lumo-space-xs);margin-inline-start:var(--lumo-space-m)}.top-nav-link{text-decoration:none;color:var(--lumo-body-text-color);font-weight:500;font-size:var(--lumo-font-size-s);padding:var(--lumo-space-xs) var(--lumo-space-s);border-radius:var(--lumo-border-radius-m);white-space:nowrap}.top-nav-link:hover{background:var(--lumo-contrast-5pct)}.top-nav-link[highlight]{color:var(--lumo-primary-text-color);background:var(--lumo-primary-color-10pct)}.ha-launch{display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;border-radius:50%;background:#03a9f4;color:#fff;box-shadow:0 1px 3px #03a9f473;transition:transform .12s ease,box-shadow .12s ease,background .12s ease;flex:0 0 auto}.ha-launch:hover{background:#0288d1;transform:translateY(-1px);box-shadow:0 3px 8px #03a9f48c}.ha-launch vaadin-icon{width:1.15rem;height:1.15rem}vaadin-grid::part(weekend-row){background-color:var(--lumo-contrast-5pct)}vaadin-grid::part(day-start){border-top:2px solid var(--lumo-contrast-50pct)}vaadin-grid::part(week-start){border-top:4px solid var(--lumo-contrast-80pct)}.recordings-view vaadin-grid vaadin-multi-select-combo-box{--lumo-text-field-size: var(--lumo-size-s);font-size:var(--lumo-font-size-s)}.recordings-view .dur{display:inline-block;min-width:3.2em;padding:0 .45em;border-radius:var(--lumo-border-radius-s);font-size:var(--lumo-font-size-s);font-variant-numeric:tabular-nums;text-align:right}.recordings-view .dur-xs{color:var(--lumo-tertiary-text-color)}.recordings-view .dur-s{background:#e7f0f9}.recordings-view .dur-m{background:#c6e6f1}.recordings-view .dur-l{background:#b1e7d9}.recordings-view .dur-xl{background:#a0e3b7;color:#115f2b;font-weight:600}.recordings-view vaadin-grid vaadin-text-field{--lumo-text-field-size: var(--lumo-size-s);font-size:var(--lumo-font-size-s);padding-block:0}.recordings-view .lvl{display:inline-flex;align-items:center;gap:.32em;height:1.5em;padding:0 .55em;border-radius:1em;font-size:var(--lumo-font-size-xs);font-weight:500;line-height:1;white-space:nowrap;background:var(--lumo-contrast-5pct);color:var(--lumo-secondary-text-color)}.recordings-view .lvl:before{content:"";width:.5em;height:.5em;border-radius:50%;background:var(--lvl-dot, var(--lumo-contrast-40pct));flex:none}.recordings-view .lvl-must{--lvl-dot: var(--lumo-error-color);color:var(--lumo-error-text-color);background:var(--lumo-error-color-10pct);font-weight:600}.recordings-view .lvl-consider{--lvl-dot: hsl(35, 90%, 50%)}.recordings-view .lvl-skip{--lvl-dot: var(--lumo-contrast-30pct)}.recordings-view .tier-switch-wrap{display:inline-flex;flex-direction:column;align-items:center;gap:2px}.recordings-view .tier-switch{display:inline-flex;gap:2px}.recordings-view .tier-seg{width:1.55em;height:1.55em;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--lumo-border-radius-s);font-size:var(--lumo-font-size-xs);font-weight:600;line-height:1;cursor:pointer;user-select:none;color:var(--lumo-tertiary-text-color);background:transparent;border:1px solid var(--lumo-contrast-20pct);transition:background 80ms ease,color 80ms ease,border-color 80ms ease}.recordings-view .tier-seg:hover{background:color-mix(in srgb,var(--medal) 20%,transparent);border-color:var(--medal);color:var(--lumo-body-text-color)}.recordings-view .tier-seg.on{background:var(--medal);border-color:var(--medal);color:#000000bf;font-weight:700;box-shadow:0 1px 2px #00000047}.recordings-view .tier-bronze{--medal: #b0692c}.recordings-view .tier-silver{--medal: #a6acb4}.recordings-view .tier-gold{--medal: #ecc017}.recordings-view .tier-eta{font-size:var(--lumo-font-size-xs);font-weight:600;line-height:1;color:var(--lumo-primary-text-color);white-space:nowrap}.smarthome-view .sh-section{gap:var(--lumo-space-s)}.sh-banner{display:flex;align-items:center;gap:var(--lumo-space-s);padding:var(--lumo-space-s) var(--lumo-space-m);background:var(--lumo-primary-color-10pct);border:1px solid var(--lumo-primary-color-50pct);border-radius:var(--lumo-border-radius-m);font-size:var(--lumo-font-size-s)}.sh-banner vaadin-icon{color:var(--lumo-primary-color);flex:none}.sh-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--lumo-space-m);width:100%}.sh-tile{border-radius:var(--lumo-border-radius-l);overflow:hidden;background:var(--lumo-contrast-5pct);border:1px solid var(--lumo-contrast-10pct)}.sh-tile-img{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover;background:var(--lumo-contrast-10pct)}.sh-tile-cap{display:block;padding:var(--lumo-space-xs) var(--lumo-space-s);font-size:var(--lumo-font-size-s);font-weight:500}.sh-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--lumo-space-s);width:100%}.sh-card{display:flex;flex-direction:column;gap:2px;padding:var(--lumo-space-s) var(--lumo-space-m);background:var(--lumo-base-color);border:1px solid var(--lumo-contrast-10pct);border-radius:var(--lumo-border-radius-m)}.sh-card-name{font-size:var(--lumo-font-size-xs);color:var(--lumo-secondary-text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sh-card-value{font-size:var(--lumo-font-size-l);font-weight:600}.sh-empty{display:flex;flex-direction:column;align-items:flex-start;gap:var(--lumo-space-xs);padding:var(--lumo-space-l);background:var(--lumo-contrast-5pct);border:1px dashed var(--lumo-contrast-20pct);border-radius:var(--lumo-border-radius-l);width:100%}.sh-activity{display:flex;flex-direction:column;width:100%;border:1px solid var(--lumo-contrast-10pct);border-radius:var(--lumo-border-radius-m);overflow:hidden}.sh-act-row{display:flex;align-items:center;gap:var(--lumo-space-s);padding:var(--lumo-space-xs) var(--lumo-space-m);border-bottom:1px solid var(--lumo-contrast-5pct)}.sh-act-row:last-child{border-bottom:none}.sh-act-name{flex:1;font-size:var(--lumo-font-size-s)}.sh-act-state{font-size:var(--lumo-font-size-s);font-weight:600}.sh-act-time{font-size:var(--lumo-font-size-xs);color:var(--lumo-secondary-text-color);min-width:5em;text-align:right}.sh-dot{width:8px;height:8px;border-radius:50%;background:var(--lumo-contrast-30pct);flex:none}.sh-dot.on{background:var(--lumo-success-color)}
