.cloud-runtime-banner { padding: 16px 24px; color: #172340; background: #e8f1ff; border-bottom: 2px solid #1763e8; white-space: pre-wrap; overflow-wrap: anywhere; font: 1rem/1.6 system-ui, sans-serif; }
.cloud-runtime-banner[hidden] { display: none; }

.login-verification { min-width: 0; display: grid; gap: 8px; margin: 12px 0; }
.login-verification.hidden { display: none; }

/* Extended schedule editor; old Controllers retain group-day controls. */
.device-schedule-row { grid-template-columns:110px minmax(210px,2fr) minmax(100px,1fr) minmax(100px,1fr) 44px; }
.device-schedule-days { display:flex; flex-wrap:wrap; gap:6px; border:0; padding:0; margin:0; }
.device-schedule-days legend { margin-bottom:6px; }
.device-schedule-days label { display:inline-flex; align-items:center; gap:4px; font-size:12px; min-height:36px; }
.device-schedule-days input { width:auto; }
.device-schedule-trash { min-width:40px; min-height:40px; color:#c32736; background:#fff1f2; border:1px solid #f0aeb6; border-radius:8px; padding:8px; }
.device-schedule-trash svg { display:block; width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; }
.device-schedule-add { margin-top:12px; min-width:44px; min-height:44px; font-size:24px; }
@media(max-width:950px) { .device-schedule-row { grid-template-columns:1fr 1fr; } .device-schedule-days { grid-column:1 / -1; } }

/* Status appearance: one expandable editor, consistent with local setup/apps. */
.status-appearance-row > summary { cursor: pointer; font-weight: 700; min-height: 44px; display: flex; gap: 10px; align-items: center; }
.status-appearance-row > summary:focus-visible { outline: 2px solid var(--accent, #176bff); outline-offset: 3px; }
.status-light-fields, .light-bar-cloud-master { display: grid; gap: 12px; margin-block: 12px; }
.status-light-fields[hidden], .light-bar-cloud-master[hidden] { display: none; }
details.status-appearance-row { display: block; }
.status-appearance-row > summary::after { content: "+"; margin-left: auto; }
.status-appearance-row[open] > summary::after { content: "−"; }
.status-appearance-row > .field { margin-block: 12px; }
.status-light-fields { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
