/* v8 – wyłącznie SZESC nowych koncepcji. Żadna reguła nie zmienia 12 stylów oryginalnych. */
body:is(.homeos,.wallpad,.command,.blueprint,.morning,.ink) {
  --work-width: 2320px;
}
body:is(.homeos,.wallpad,.command,.blueprint,.morning,.ink) .dashboard-grid,
body:is(.homeos,.wallpad,.command,.blueprint,.morning,.ink) .header-top {
  width:min(var(--work-width), calc(100% - 32px));
  max-width:var(--work-width);
  min-width:0;
}
body:is(.homeos,.wallpad,.command,.blueprint,.morning,.ink) :is(.room-card,.scenes-card,.fusionsolar-card,.event-log-card,.device-row,.fusionsolar-item) { min-width:0; }
body:is(.homeos,.wallpad,.command,.blueprint,.morning,.ink) .header-top {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(200px,420px) minmax(0,1fr);
  gap:12px; justify-content:normal; align-items:center; flex:0 0 auto; transform:none; position:relative;
}
body:is(.homeos,.wallpad,.command,.blueprint,.morning,.ink) .header-left {grid-column:1;min-width:0;}
body:is(.homeos,.wallpad,.command,.blueprint,.morning,.ink) .spotify-in-header.spotify-card {grid-column:2;grid-row:1; width:100%;max-width:420px;justify-self:center;min-width:0;}
body:is(.homeos,.wallpad,.command,.blueprint,.morning,.ink) .header-right {grid-column:3;grid-row:1;justify-self:end;white-space:nowrap;min-width:0;}
body:is(.homeos,.wallpad,.command,.blueprint,.morning,.ink) .device-name > span:not(.battery-indicator) {
  overflow-wrap:anywhere; line-height:1.3;
}
body:is(.homeos,.wallpad,.command,.blueprint,.morning,.ink) .device-status {min-width:0;}
body:is(.homeos,.wallpad,.command,.blueprint,.morning,.ink) .weather-details-panel {grid-template-columns:repeat(auto-fit,minmax(min(100%,125px),1fr));}
body:is(.homeos,.wallpad,.command,.blueprint,.morning,.ink) .device-row-full-width {grid-column:1/-1;min-height:0;}
body:is(.homeos,.wallpad,.command,.blueprint,.morning,.ink) .event-log-list-container {max-height:none;overflow:visible;}
body:is(.homeos,.wallpad,.command,.blueprint,.morning,.ink) .event-log-item {max-width:100%;}
/* Nie utrzymujemy niewidocznych paneli pomocniczych w innych motywach. */
.homeos-rail[hidden],.wallpad-nav[hidden],.command-status[hidden],.blueprint-head[hidden],.morning-hero[hidden],.ink-head[hidden] {display:none!important;}

/* 1 / HOME OS: aplikacja domowa z boczną nawigacją, scenami i kafelkami urządzeń. */
body.homeos { --work-width:2350px; --app-rail:226px; }
body.homeos .header-top { width:calc(100% - 32px); max-width:2350px; margin-bottom:14px; }
body.homeos .dashboard-grid {
  width:calc(100% - var(--app-rail) - 54px); max-width:2100px;
  margin:0 16px 22px calc(var(--app-rail) + 38px);
  grid-template-columns:repeat(12,minmax(0,1fr));gap:12px; align-items:start;
}
body.homeos .homeos-rail {
  position:fixed; left:16px; top:104px; bottom:16px; width:var(--app-rail);
  display:flex; flex-direction:column; gap:14px; padding:18px 12px;
  background:var(--panel); border:1px solid var(--line); border-radius:22px;
  box-shadow:var(--shadow-soft); z-index:10;
}
body.homeos .homeos-rail__kicker {font-size:.67rem;letter-spacing:.13em;font-weight:750;color:var(--muted);}
body.homeos .homeos-rail__title {font-size:1.16rem;letter-spacing:-.035em;}
body.homeos .homeos-rail__nav {display:grid;gap:5px;overflow:auto;scrollbar-width:thin;}
body.homeos .homeos-rail__link {width:100%;border:0;background:transparent;color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 12px;border-radius:12px;text-align:left;font-weight:650;font-size:.86rem;}
body.homeos .homeos-rail__link:hover,body.homeos .homeos-rail__link:focus-visible {background:var(--soft);}
body.homeos .homeos-rail__count {flex:0 0 auto;font-size:.7rem;color:var(--muted);font-weight:700;}
body.homeos .homeos-rail__footer {margin-top:auto;padding:14px 8px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:8px;}
body.homeos .concept-stat {display:grid;gap:3px;}
body.homeos .concept-stat__number {font-size:1.35rem;}
body.homeos .concept-stat__caption {font-size:.62rem;letter-spacing:.08em;color:var(--muted);}
body.homeos .dashboard-grid > .scenes-card {grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:10px 12px;background:var(--panel);border:1px solid var(--line);border-radius:17px;}
body.homeos .scenes-card h2 {margin:0;font-size:.76rem;color:var(--muted);white-space:nowrap;}
body.homeos .scenes-list {display:flex;flex-wrap:wrap;gap:8px;}
body.homeos .scene-button {min-height:35px;border-radius:11px;padding:7px 12px;}
body.homeos .dashboard-grid > .room-card:not(.fusionsolar-card):not(.event-log-card) {grid-column:span 4;padding:15px;scroll-margin-top:90px;}
body.homeos .dashboard-grid > .room-card:has(.weather-widget) {grid-column:span 8;}
body.homeos .dashboard-grid > .fusionsolar-card,body.homeos .dashboard-grid > .event-log-card {grid-column:span 6;}
body.homeos .room-card h2 {margin-bottom:12px; font-size:1rem;}
body.homeos .devices-list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
body.homeos .device-row:not(.device-row-full-width) {display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr;gap:4px;min-height:105px;padding:12px;align-items:start;border-radius:16px;}
body.homeos .device-row:not(.device-row-full-width) .device-name {grid-column:1/-1;grid-row:1/3;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;height:100%;gap:10px;padding-right:8px;}
body.homeos .device-row:not(.device-row-full-width) .device-status {grid-column:2;grid-row:1;position:relative;z-index:1;align-items:start;max-width:104px;}
body.homeos .device-row[data-has-switch='1']:has(input:checked) {outline:1px solid var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--element));}
body.homeos .device-row .status-indicator {width:35px;height:35px;border-radius:11px;}
body.homeos .weather-main-panel {min-height:115px;}

/* 2 / WALLPAD: fizyczny ekran dotykowy z wyborem pokoju, duże kontrolki. */
body.wallpad {--work-width:2300px;}
body.wallpad .header-top {max-width:2300px;}
body.wallpad .wallpad-nav {width:min(2300px,calc(100% - 32px));margin:0 auto 14px;display:grid;grid-template-columns:auto 1fr;gap:6px 18px;align-items:center;padding:15px 20px;background:var(--panel);border:1px solid var(--line);border-radius:24px;}
body.wallpad .wallpad-nav__kicker {grid-column:1;font-size:.64rem;letter-spacing:.15em;color:var(--muted);font-weight:700;}
body.wallpad .wallpad-nav__title {grid-column:1;font-size:1.3rem;letter-spacing:-.03em;}
body.wallpad .wallpad-nav__tabs {grid-column:2;grid-row:1/span 2;display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:8px;}
body.wallpad .wallpad-nav__tab {background:var(--element);color:var(--ink);min-height:46px;border-radius:14px;padding:9px 17px;border:1px solid var(--line);font-weight:700;}
body.wallpad .wallpad-nav__tab[aria-pressed='true'] {background:var(--accent);color:var(--accent-ink);border-color:transparent;}
body.wallpad .wallpad-nav__select {display:none;width:100%;padding:13px;background:var(--element);color:var(--ink);border:1px solid var(--line);border-radius:14px;}
body.wallpad .dashboard-grid {grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;}
body.wallpad .dashboard-grid > .scenes-card {grid-column:1/-1;display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
body.wallpad .scenes-card h2 {margin:0;font-size:.85rem;}
body.wallpad .scene-button {min-height:52px;padding:12px 17px;}
body.wallpad .dashboard-grid > .room-card:not(.fusionsolar-card):not(.event-log-card) {grid-column:span 6;}
body.wallpad .dashboard-grid > .room-card:has(.weather-widget) {grid-column:span 12;}
body.wallpad .dashboard-grid > .fusionsolar-card,body.wallpad .dashboard-grid > .event-log-card {grid-column:span 6;}
body.wallpad .devices-list {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,175px),1fr));gap:10px;}
body.wallpad .device-row:not(.device-row-full-width) {min-height:105px;padding:15px;border-radius:18px;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:8px;}
body.wallpad .device-name > span:not(.battery-indicator) {font-size:.89rem;}
body.wallpad .device-status {justify-content:flex-end;}
body.wallpad .device-status .value {font-size:1.15rem;}
body.wallpad .switch {width:52px;height:30px;flex-basis:52px;}
body.wallpad .slider::before {height:24px;width:24px;}
body.wallpad .switch input:checked+.slider::before {transform:translateX(22px);}
body.wallpad[data-wallpad-view='single'] .dashboard-grid > .room-card:not(.scenes-card):not(.fusionsolar-card):not(.event-log-card) {display:none;}
body.wallpad[data-wallpad-view='single'] .dashboard-grid > .room-card.wallpad-active {display:block;grid-column:1/-1;}
body.wallpad[data-wallpad-view='single'] .room-card.wallpad-active .devices-list {grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));}
body.wallpad[data-wallpad-view='single'] .room-card.wallpad-active .device-row:not(.device-row-full-width) {min-height:150px;padding:20px;}
body.wallpad[data-wallpad-view='single'] .dashboard-grid > .fusionsolar-card,body.wallpad[data-wallpad-view='single'] .dashboard-grid > .event-log-card {grid-column:span 6;}

/* 3 / COMMAND: rejestr operatorski, metryki i lewa kolumna komend. */
body.command {--work-width:2340px;--command-rail:216px;font-family:'IBM Plex Mono',ui-monospace,monospace;}
body.command .header-top {border-radius:7px;}
body.command .command-status {width:min(2340px,calc(100% - 32px));margin:0 auto 12px;display:flex;gap:24px;flex-wrap:wrap;align-items:center;padding:11px 18px;background:var(--panel);border-left:4px solid var(--accent);border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line);}
body.command .command-status__name {font-size:.79rem;letter-spacing:.1em;margin-right:auto;}
body.command .concept-stat {display:flex;gap:8px;align-items:baseline;}
body.command .concept-stat__caption {font-size:.68rem;color:var(--muted);}
body.command .concept-stat__number {font-size:1.08rem;}
body.command .dashboard-grid {grid-template-columns:var(--command-rail) minmax(0,1fr);gap:8px;align-items:start;}
body.command .dashboard-grid > .scenes-card {grid-column:1;grid-row:1 / span 70;position:sticky;top:12px;padding:12px;}
body.command .scenes-card h2 {font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;padding-bottom:8px;border-bottom:1px solid var(--line);}
body.command .scenes-list {display:grid;grid-template-columns:1fr;gap:5px;}
body.command .scene-button {width:100%;min-height:42px;justify-content:flex-start;border-radius:3px;font-family:inherit;font-size:.75rem;}
body.command .dashboard-grid > .room-card {grid-column:2;display:grid;grid-template-columns:clamp(145px,14vw,200px) minmax(0,1fr);gap:12px;align-items:start;padding:12px;border-radius:5px;}
body.command .room-card h2 {margin:0;padding:12px 8px 0 0;font-size:.82rem;line-height:1.4;letter-spacing:.04em;text-transform:uppercase;}
body.command .devices-list {grid-template-columns:repeat(auto-fit,minmax(min(100%,235px),1fr));gap:5px;}
body.command .device-row:not(.device-row-full-width) {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:43px;padding:7px 9px;gap:8px;border-radius:3px;}
body.command .device-row:not(.device-row-full-width) .device-name {gap:7px;}
body.command .device-row:not(.device-row-full-width) .status-indicator {width:20px;height:20px;flex-basis:20px;font-size:.78rem;background:transparent;}
body.command .device-name > span:not(.battery-indicator) {font-size:.77rem;}
body.command .device-status .value {font-size:.85rem;white-space:nowrap;}
body.command .device-row .last-changed,body.command .device-row .last-seen {font-size:.63rem;}
body.command .device-row.alert-active {border-color:var(--warn);border-left:3px solid var(--warn);}
body.command .dashboard-grid > .fusionsolar-card,body.command .dashboard-grid > .event-log-card {grid-column:2;display:block;}
body.command .fusionsolar-list {grid-template-columns:repeat(auto-fit,minmax(140px,1fr));}
body.command .fusionsolar-item {border-radius:3px;}
body.command .room-card:has(.weather-widget) .devices-list {grid-template-columns:1fr;}
body.command .weather-widget {grid-template-columns:minmax(140px,210px) minmax(0,1fr);}

/* 4 / BLUEPRINT: równoległe linie stref, techniczne moduły, numeracja. */
body.blueprint {--work-width:2290px;--zone-width:205px;}
body.blueprint .blueprint-head {width:min(2290px,calc(100% - 32px));margin:0 auto 10px;padding:11px 15px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);background:var(--panel);}
body.blueprint .blueprint-head__name {font-size:.78rem;letter-spacing:.17em;font-weight:800;}
body.blueprint .blueprint-head__key {font-size:.73rem;color:var(--muted);}
body.blueprint .dashboard-grid {grid-template-columns:1fr;gap:8px;}
body.blueprint .dashboard-grid > .room-card,body.blueprint .dashboard-grid > .scenes-card {grid-column:1/-1;display:grid;grid-template-columns:var(--zone-width) minmax(0,1fr);gap:16px;align-items:stretch;border-radius:3px;padding:12px 15px;position:relative;}
body.blueprint .dashboard-grid > .room-card::before {content:'ZONE ' attr(data-blueprint-zone);position:absolute;top:6px;left:14px;color:var(--muted);font-size:.61rem;letter-spacing:.12em;}
body.blueprint .dashboard-grid > .room-card h2 {grid-column:1;grid-row:1;margin:0;padding:18px 8px 6px 14px;border-left:3px solid var(--accent);font-size:.92rem;letter-spacing:.02em;align-self:center;}
body.blueprint .dashboard-grid > .room-card > .devices-list,body.blueprint .dashboard-grid > .scenes-card > .scenes-list {grid-column:2;grid-row:1;}
body.blueprint .dashboard-grid > .room-card:not(.fusionsolar-card):not(.event-log-card) {grid-column:1/-1;}
body.blueprint .dashboard-grid > .fusionsolar-card,body.blueprint .dashboard-grid > .event-log-card {grid-column:1/-1;}
body.blueprint .devices-list {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,215px),1fr));gap:8px;align-content:center;}
body.blueprint .device-row:not(.device-row-full-width) {display:grid;grid-template-columns:minmax(0,1fr) auto;min-height:54px;padding:8px 12px;border-radius:3px;border:1px solid var(--line);border-left:3px solid var(--accent);align-items:center;gap:7px;}
body.blueprint .status-indicator {border-radius:0;width:25px;height:25px;flex-basis:25px;}
body.blueprint .device-name > span:not(.battery-indicator) {font-size:.82rem;}
body.blueprint .device-status .value {font-size:.86rem;}
body.blueprint .scenes-card h2 {grid-column:1;grid-row:1;margin:0;padding-left:16px;align-self:center;text-transform:uppercase;font-size:.82rem;}
body.blueprint .scenes-list {display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
body.blueprint .scene-button {min-height:42px;border-radius:3px;}
body.blueprint .fusionsolar-card,body.blueprint .event-log-card {min-height:0;}
body.blueprint .room-card:has(.weather-widget) .devices-list {grid-template-columns:1fr;}
body.blueprint .weather-widget {grid-template-columns:minmax(140px,.4fr) minmax(0,1.6fr);}
body.blueprint .fusionsolar-list {grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));}
body.blueprint .fusionsolar-card h2,body.blueprint .event-log-card h2 {padding-top:18px;}

/* 5 / MORNING: strona startowa, hero + pogoda i energia jako pierwszy rząd. */
body.morning {--work-width:2140px;}
body.morning .header-top {max-width:2140px;}
body.morning .morning-hero {width:min(2140px,calc(100% - 32px));margin:0 auto 14px;display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;padding:22px 28px;border-radius:26px;background:var(--panel);border:1px solid var(--line);}
body.morning .morning-hero__eyebrow {font-size:.7rem;letter-spacing:.14em;color:var(--muted);font-weight:800;}
body.morning .morning-hero__title {font-size:clamp(1.8rem,3vw,3.1rem);margin:5px 0 3px;letter-spacing:-.06em;font-weight:850;line-height:1.1;}
body.morning .morning-hero__date {font-size:.88rem;color:var(--muted);margin:0;}
body.morning .morning-hero__stats {display:flex;gap:10px;flex-wrap:wrap;}
body.morning .concept-stat {padding:10px 17px;border-radius:17px;background:var(--element);min-width:90px;display:grid;gap:3px;}
body.morning .concept-stat__number {font-size:1.5rem;letter-spacing:-.04em;}
body.morning .concept-stat__caption {color:var(--muted);font-size:.75rem;}
body.morning .dashboard-grid {grid-template-columns:repeat(12,minmax(0,1fr));gap:13px;align-items:start;}
body.morning .dashboard-grid > .room-card:has(.weather-widget) {grid-column:span 7;order:-3;}
body.morning .dashboard-grid > .fusionsolar-card {grid-column:span 5;order:-2;}
body.morning .dashboard-grid > .scenes-card {grid-column:span 3;order:-1;}
body.morning .dashboard-grid > .room-card:not(.fusionsolar-card):not(.event-log-card):not(:has(.weather-widget)) {grid-column:span 3;order:0;}
body.morning .dashboard-grid > .event-log-card {grid-column:span 6;order:2;}
body.morning .room-card,body.morning .dashboard-grid > .scenes-card {border-radius:24px;}
body.morning .scenes-card h2 {font-size:1rem;margin-bottom:12px;}
body.morning .scenes-list {display:grid;grid-template-columns:1fr 1fr;gap:8px;}
body.morning .scene-button {min-height:54px;padding:9px 10px;justify-content:flex-start;}
body.morning .devices-list {display:grid;grid-template-columns:1fr;gap:7px;}
body.morning .device-row:not(.device-row-full-width) {min-height:57px;padding:9px 11px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px;}
body.morning .device-name .status-indicator {width:28px;height:28px;flex-basis:28px;}
body.morning .device-name > span:not(.battery-indicator) {font-size:.79rem;}
body.morning .device-status .value {font-size:.88rem;}
body.morning .weather-widget {grid-template-columns:minmax(155px,.7fr) minmax(0,1.4fr);gap:12px;}
body.morning .weather-main-panel {min-height:190px;align-items:center;justify-content:center;text-align:center;}
body.morning .weather-temp {font-size:clamp(2.2rem,4vw,4rem);}
body.morning .weather-details-panel {grid-template-columns:repeat(auto-fit,minmax(min(100%,125px),1fr));}
body.morning .detail-item {min-height:52px;}
body.morning .fusionsolar-list {grid-template-columns:repeat(2,minmax(0,1fr));}
body.morning .fusionsolar-item {min-height:66px;}

/* 6 / E-INK: kontrastowy raport w wielu kolumnach, bez kart i animacji. */
body.ink {--work-width:2190px;font-family:'IBM Plex Mono',ui-monospace,monospace;}
body.ink .header-top {max-width:2190px;border-radius:0;box-shadow:none;}
body.ink .ink-head {width:min(2190px,calc(100% - 32px));margin:0 auto 16px;padding:12px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:3px double var(--ink);border-bottom:3px double var(--ink);}
body.ink .ink-head__name {font-size:.92rem;letter-spacing:.05em;}
body.ink .ink-head__date {font-size:.76rem;color:var(--muted);}
body.ink .ink-head__stats {display:flex;gap:18px;flex-wrap:wrap;}
body.ink .concept-stat {display:flex;align-items:baseline;gap:7px;}
body.ink .concept-stat__number {font-size:1.1rem;}
body.ink .concept-stat__caption {font-size:.65rem;color:var(--muted);}
body.ink .dashboard-grid {max-width:2190px;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 32px;align-items:start;}
body.ink .dashboard-grid > .scenes-card {grid-column:1/-1;display:flex;align-items:center;gap:15px;flex-wrap:wrap;border-bottom:2px solid var(--ink);padding-bottom:10px;}
body.ink .room-card,body.ink .dashboard-grid > .scenes-card {background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;}
body.ink .dashboard-grid > .room-card:not(.fusionsolar-card):not(.event-log-card) {grid-column:span 1;}
body.ink .dashboard-grid > .room-card:has(.weather-widget) {grid-column:span 2;}
body.ink .dashboard-grid > .fusionsolar-card,body.ink .dashboard-grid > .event-log-card {grid-column:span 1;}
body.ink .room-card h2,body.ink .scenes-card h2 {margin:0 0 7px;padding:0 0 8px;border-bottom:2px solid var(--ink);font-size:.96rem;font-family:inherit;text-transform:uppercase;letter-spacing:.04em;}
body.ink .scenes-card h2 {border:0;margin:0;font-size:.75rem;}
body.ink .scenes-list {display:flex;flex-wrap:wrap;gap:7px;}
body.ink .scene-button {background:transparent;border:1px solid var(--ink);border-radius:0;min-height:32px;padding:6px 10px;font-size:.73rem;}
body.ink .devices-list {display:grid;grid-template-columns:1fr;gap:0;}
body.ink .device-row:not(.device-row-full-width) {min-height:37px;padding:5px 0;border:0;border-bottom:1px dashed var(--line);background:transparent;border-radius:0;box-shadow:none;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;}
body.ink .device-row:not(.device-row-full-width) .device-name {gap:7px;}
body.ink .device-row .status-indicator {background:transparent;width:20px;height:20px;flex-basis:20px;font-size:.8rem;color:var(--ink);}
body.ink .device-name > span:not(.battery-indicator) {font-size:.77rem;}
body.ink .device-status .value {font-size:.82rem;}
body.ink .device-row:hover {background:color-mix(in srgb,var(--ink) 4%,transparent);}
body.ink .room-card .battery-indicator {font-size:.60rem;}
body.ink .fusionsolar-list {grid-template-columns:1fr;gap:0;}
body.ink .fusionsolar-item {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;min-height:30px;background:transparent;border:0;border-bottom:1px dashed var(--line);padding:7px 0;border-radius:0;}
body.ink .fusionsolar-value {font-size:.84rem;}
body.ink .weather-widget {grid-template-columns:minmax(120px,.7fr) minmax(0,1.4fr);}
body.ink .weather-main-panel {background:transparent;border:1px solid var(--ink);border-radius:0;}
body.ink .weather-details-panel {grid-template-columns:repeat(auto-fit,minmax(min(100%,110px),1fr));}
body.ink .detail-item {background:transparent;border:0;border-bottom:1px dashed var(--line);border-radius:0;padding:8px 3px;}
body.ink .event-log-item {font-size:.73rem;padding:6px 0;}
body.ink :is(.room-card,.device-row,.scene-button,.scenes-card,.fusionsolar-card,.event-log-card,.status-indicator) {animation:none!important;transform:none;transition:none;}

/* Przejścia szerokości – każda koncepcja zachowuje własną hierarchię. */
@media (min-width:1800px) {
  body.homeos .dashboard-grid > .room-card:not(.fusionsolar-card):not(.event-log-card):not(:has(.weather-widget)) {grid-column:span 3;}
  body.homeos .dashboard-grid > .room-card:has(.weather-widget) {grid-column:span 6;}
  body.wallpad[data-wallpad-view='all'] .dashboard-grid > .room-card:not(.fusionsolar-card):not(.event-log-card):not(:has(.weather-widget)) {grid-column:span 4;}
  body.wallpad[data-wallpad-view='all'] .dashboard-grid > .room-card:has(.weather-widget) {grid-column:span 8;}
  body.morning .dashboard-grid > .room-card:not(.fusionsolar-card):not(.event-log-card):not(:has(.weather-widget)) {grid-column:span 3;}
}
@media (max-width:1450px) {
  body.homeos {--app-rail:186px;}
  body.homeos .dashboard-grid > .room-card:not(.fusionsolar-card):not(.event-log-card):not(:has(.weather-widget)) {grid-column:span 6;}
  body.homeos .dashboard-grid > .room-card:has(.weather-widget) {grid-column:span 12;}
  body.morning .dashboard-grid > .room-card:not(.fusionsolar-card):not(.event-log-card):not(:has(.weather-widget)) {grid-column:span 4;}
  body.morning .dashboard-grid > .scenes-card {grid-column:span 4;}
  body.morning .dashboard-grid > .room-card:has(.weather-widget) {grid-column:span 7;}
}
@media (max-width:1100px) {
  body:is(.homeos,.wallpad,.command,.blueprint,.morning,.ink) .header-top {grid-template-columns:auto minmax(0,1fr);gap:8px 12px;}
  body:is(.homeos,.wallpad,.command,.blueprint,.morning,.ink) .header-left {grid-column:1;grid-row:1;}
  body:is(.homeos,.wallpad,.command,.blueprint,.morning,.ink) .header-right {grid-column:2;grid-row:1;justify-self:end;}
  body:is(.homeos,.wallpad,.command,.blueprint,.morning,.ink) .spotify-in-header.spotify-card {grid-column:1/-1;grid-row:2;width:100%;max-width:none;}
  body.homeos .homeos-rail {position:relative;left:auto;top:auto;bottom:auto;width:calc(100% - 32px);margin:0 auto 12px;padding:12px 14px;display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:10px;}
  body.homeos .homeos-rail__title {font-size:.87rem;}
  body.homeos .homeos-rail__nav {display:flex;flex:1 1 auto;flex-wrap:wrap;gap:4px;overflow:visible;}
  body.homeos .homeos-rail__link {width:auto;padding:8px 10px;font-size:.74rem;background:var(--element);}
  body.homeos .homeos-rail__footer,body.homeos .homeos-rail__kicker {display:none;}
  body.homeos .dashboard-grid {width:calc(100% - 32px);max-width:2350px;margin:0 auto 22px;}
  body.command .dashboard-grid {grid-template-columns:1fr;}
  body.command .dashboard-grid > .scenes-card {position:static;grid-row:auto;grid-column:1;}
  body.command .scenes-list {grid-template-columns:repeat(auto-fit,minmax(130px,1fr));}
  body.command .dashboard-grid > .room-card {grid-column:1;}
  body.command .dashboard-grid > .fusionsolar-card,body.command .dashboard-grid > .event-log-card {grid-column:1;}
  body.morning .dashboard-grid > .room-card:has(.weather-widget),body.morning .dashboard-grid > .fusionsolar-card {grid-column:span 12;}
  body.ink .dashboard-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  body.ink .dashboard-grid > .room-card:has(.weather-widget) {grid-column:span 2;}
}
@media (max-width:760px) {
  body:is(.homeos,.wallpad,.command,.blueprint,.morning,.ink) .header-top,
  body:is(.homeos,.wallpad,.command,.blueprint,.morning,.ink) .dashboard-grid {width:calc(100% - 20px);}
  body:is(.homeos,.wallpad,.command,.blueprint,.morning,.ink) .header-right .date,body:is(.homeos,.wallpad,.command,.blueprint,.morning,.ink) .header-right .small-note {display:none;}
  body.homeos .homeos-rail,body.wallpad .wallpad-nav,body.command .command-status,body.blueprint .blueprint-head,body.morning .morning-hero,body.ink .ink-head {width:calc(100% - 20px);}
  body.homeos .dashboard-grid > .room-card:not(.fusionsolar-card):not(.event-log-card),body.homeos .dashboard-grid > .fusionsolar-card,body.homeos .dashboard-grid > .event-log-card {grid-column:1/-1;}
  body.homeos .dashboard-grid {width:calc(100% - 20px);}
  body.homeos .homeos-rail {padding:12px;}
  body.homeos .homeos-rail__title {width:100%;}
  body.homeos .homeos-rail__nav {display:flex;flex-wrap:wrap;}
  body.wallpad .wallpad-nav {display:block;padding:14px;}
  body.wallpad .wallpad-nav__title {margin:3px 0 10px;}
  body.wallpad .wallpad-nav__tabs {display:none;}
  body.wallpad .wallpad-nav__select {display:block;}
  body.wallpad .dashboard-grid > .room-card:not(.fusionsolar-card):not(.event-log-card),body.wallpad .dashboard-grid > .fusionsolar-card,body.wallpad .dashboard-grid > .event-log-card {grid-column:1/-1;}
  body.wallpad[data-wallpad-view='single'] .room-card.wallpad-active .devices-list {grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));}
  body.wallpad[data-wallpad-view='single'] .room-card.wallpad-active .device-row:not(.device-row-full-width) {min-height:115px;padding:13px;}
  body.command .dashboard-grid > .room-card {display:block;}
  body.command .room-card h2 {padding:0 0 9px;margin:0 0 9px;border-bottom:1px solid var(--line);}
  body.command .devices-list {grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));}
  body.blueprint .dashboard-grid > .room-card,body.blueprint .dashboard-grid > .scenes-card {display:block;padding:13px;}
  body.blueprint .dashboard-grid > .room-card h2 {padding:16px 0 9px 10px;margin:0 0 10px;}
  body.blueprint .scenes-card h2 {margin:0 0 10px;}
  body.blueprint .weather-widget {grid-template-columns:1fr;}
  body.morning .morning-hero {padding:17px;gap:13px;}
  body.morning .morning-hero__stats {width:100%;}
  body.morning .concept-stat {flex:1 1 80px;min-width:0;}
  body.morning .dashboard-grid > :is(.room-card,.scenes-card,.fusionsolar-card,.event-log-card) {grid-column:1/-1;}
  body.morning .scenes-list {grid-template-columns:repeat(2,minmax(0,1fr));}
  body.morning .weather-widget {grid-template-columns:1fr;}
  body.morning .weather-main-panel {min-height:110px;flex-direction:row;gap:12px;}
  body.ink .dashboard-grid {grid-template-columns:1fr;}
  body.ink .dashboard-grid > :is(.room-card,.scenes-card,.fusionsolar-card,.event-log-card) {grid-column:1/-1;}
  body.ink .ink-head__stats {gap:12px;}
  body.ink .weather-widget {grid-template-columns:1fr;}
}
@media (max-width:420px) {
  body:is(.homeos,.wallpad,.command,.blueprint,.morning,.ink) .header-left .logo img {max-width:124px;height:auto;max-height:30px;}
  body.homeos .devices-list {grid-template-columns:repeat(2,minmax(0,1fr));}
  body.homeos .device-row:not(.device-row-full-width) {min-height:101px;padding:10px;}
  body.homeos .device-row .status-indicator {width:29px;height:29px;}
  body.wallpad .devices-list {grid-template-columns:repeat(2,minmax(0,1fr));}
  body.wallpad .device-row:not(.device-row-full-width) {min-height:108px;padding:10px;}
  body.command .devices-list {grid-template-columns:1fr;}
  body.blueprint .devices-list {grid-template-columns:1fr;}
  body.morning .scenes-list {grid-template-columns:1fr 1fr;}
  body.ink .ink-head__name {font-size:.80rem;}
}
@media (prefers-reduced-motion: reduce) {
  body:is(.homeos,.wallpad,.command,.blueprint,.morning,.ink) * {scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important;}
}

/* Ostateczne nadpisania specyficznych selektorów odziedziczonych z v6. */
body.blueprint .dashboard-grid > .room-card > h2::before {content:none;display:none;}
body.morning .dashboard-grid > .room-card:not(.fusionsolar-card):not(.event-log-card):has(.weather-widget) {grid-column:span 7;order:-3;}
body.morning .dashboard-grid > .fusionsolar-card {grid-column:span 5;order:-2;}
body.morning .dashboard-grid > .scenes-card {grid-column:span 3;order:-1;}
@media (max-width:1100px) {
  body.morning .dashboard-grid > .room-card:not(.fusionsolar-card):not(.event-log-card):has(.weather-widget),
  body.morning .dashboard-grid > .fusionsolar-card {grid-column:1/-1;}
}
@media (max-width:760px) {
  body.homeos .dashboard-grid > .room-card:not(.fusionsolar-card):not(.event-log-card),
  body.homeos .dashboard-grid > .room-card:not(.fusionsolar-card):not(.event-log-card):not(:has(.weather-widget)),
  body.homeos .dashboard-grid > .room-card:not(.fusionsolar-card):not(.event-log-card):has(.weather-widget),
  body.morning .dashboard-grid > .room-card:not(.fusionsolar-card):not(.event-log-card):has(.weather-widget) {grid-column:1/-1;}
}

/* WallPad: pewne filtrowanie pomieszczeń, również przy starszych regułach display. */
body.wallpad[data-wallpad-view="single"] .dashboard-grid > .room-card.wallpad-room-hidden {display:none!important;}
body.wallpad[data-wallpad-view="single"] .dashboard-grid > .room-card.wallpad-active {display:block!important;grid-column:1/-1;}
body.wallpad[data-wallpad-view="single"] .dashboard-grid > :is(.fusionsolar-card,.event-log-card) {display:none!important;}
/* WallPad / tablet 761–950px: poprzednie CSS chowały równocześnie taby i select. */
@media (max-width:950px) {
  body.wallpad .wallpad-nav {grid-template-columns:minmax(0,1fr);}
  body.wallpad .wallpad-nav__kicker,
  body.wallpad .wallpad-nav__title {grid-column:1;}
  body.wallpad .wallpad-nav__tabs {display:none!important;}
  body.wallpad .wallpad-nav__select {display:block!important;grid-column:1;grid-row:3;max-width:100%;}
}
