/* Business-only affordances; reviewed prototype styles are copied without edits. */
button[aria-busy="true"]{cursor:progress;opacity:.7;pointer-events:none}
.business-status{position:fixed;right:20px;bottom:20px;z-index:9999}
.business-video{position:relative;margin:12px 0}.business-video>.badge{position:absolute;right:12px;top:12px;pointer-events:none;background:#e7f2f0e8}
.asset-history table{min-width:0;table-layout:fixed;width:100%}.asset-history td,.asset-history th{white-space:normal;overflow-wrap:anywhere;vertical-align:top}.asset-history th:first-child{width:22%}.asset-history th:nth-child(2){width:14%}.asset-history th:nth-child(3){width:18%}.asset-history th:nth-child(4){width:26%}

/* Keep sampling labels inside the ring's hollow center at dashboard and screen sizes. */
.health-score{gap:18px;min-width:0}
.health-score .environment-ring{--environment-ring-size:107px;flex:0 0 var(--environment-ring-size);width:var(--environment-ring-size);height:var(--environment-ring-size);aspect-ratio:1}
.environment-ring .ring-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:72px;text-align:center;line-height:1.2;font-size:24px}
.environment-ring .ring-content strong{font-size:inherit;font-weight:600;line-height:1.2;white-space:nowrap}
.environment-ring .ring-content small{display:block;font-size:10px;font-weight:400;line-height:1.2;white-space:nowrap}
.health-copy{min-width:0;flex:1;overflow-wrap:anywhere}
.metric-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.metric-mini{min-width:0;gap:4px;flex-wrap:wrap}
.metric-mini strong{margin-left:auto;white-space:nowrap}
.screening .health-score .environment-ring{--environment-ring-size:82px}
.screening .environment-ring .ring-content{width:52px;font-size:20px}

.startup-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;padding:32px;text-align:center;background:#f5f7fb;color:#253d58}
.startup-loading h1{font-size:22px;letter-spacing:0}
.startup-loading p{font-size:13px;line-height:1.8;color:#74869c}
.startup-loading [hidden]{display:none}
.startup-spinner{width:34px;height:34px;border:3px solid #e0e8f3;border-top-color:#3069ed;border-radius:50%;animation:spin .8s linear infinite}
.startup-failed .startup-spinner{animation:none;border-color:#dce5f1}
.energy-load{display:flex;align-items:center;gap:12px;padding:22px;color:#74869c;font-size:12px;line-height:1.8}
.energy-load .spinner{flex:0 0 auto;width:22px;height:22px;border-color:#dde7f4;border-top-color:var(--accent)}
.energy-updated{margin:-10px 0 18px;color:#74869c;font-size:12px;line-height:1.6}
.delete-target{font-size:14px;line-height:1.8;margin:0 0 16px;overflow-wrap:anywhere}
.table-actions{flex-wrap:wrap;row-gap:6px}
.link.text-red{color:var(--red)}
.asset-workspace .table-actions .link.text-red{color:var(--red)}
.detail-table{min-width:0;max-width:100%}
.detail-table+.detail-table{margin-top:24px}
.detail-pagination{gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding:16px 0 0;margin-top:12px}
.detail-page-summary{font-size:12px;color:var(--muted);line-height:1.7}
.detail-page-controls{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-wrap:wrap}
.detail-page-controls label{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);white-space:nowrap}
.detail-page-controls select{width:auto;min-width:76px;min-height:32px;padding:5px 24px 5px 10px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font:inherit}
.detail-empty{text-align:center;color:var(--muted);padding:32px!important}
@media(max-width:680px){.detail-pagination{align-items:flex-start}.detail-page-controls{width:100%;justify-content:space-between;gap:10px}.detail-page-controls .page-buttons{flex-wrap:wrap}}
.booking-closed{background:repeating-linear-gradient(135deg,#f7f9fc,#f7f9fc 5px,#f0f3f8 5px,#f0f3f8 6px)}
.booking-hour{padding:4px;display:flex;flex-direction:column;gap:3px;min-height:60px}
.calendar-booking{display:block;width:100%;border:0;border-left:3px solid #3b82f6;border-radius:4px;background:#edf4ff;padding:6px;text-align:left;cursor:pointer;color:#244b80;overflow:hidden}
.calendar-booking strong,.calendar-booking small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.calendar-booking small{font-size:10px;margin-top:3px}
.calendar-booking.pending{border-color:#e0a33b;background:#fff7e6;color:#88601b}
.calendar-scroll{max-height:680px;overflow:auto}
.calendar .calendar-cell{min-height:34px}
.calendar .calendar-cell.head{position:sticky;top:0;z-index:3;background:#f6f9fd}
.calendar .booking-hour{padding:2px;min-height:34px}
.calendar .calendar-booking{padding:3px 5px;font-size:10px}
.calendar .calendar-cell.time{font-size:10px}
.booking-rule-snapshot{margin:18px 0;border:1px solid var(--line);border-radius:8px;padding:14px}
.booking-rule-snapshot summary{cursor:pointer;font-weight:600;color:var(--ink)}
.requirement-tools{flex-wrap:wrap;gap:10px}.requirement-map{height:520px;position:relative;border:1px solid var(--line);border-radius:12px;background:linear-gradient(135deg,#f3f7fc,#e5eef7);overflow:auto}.map-device{position:absolute;display:flex;flex-direction:column;gap:4px;align-items:center;max-width:160px;padding:10px;border:1px solid #b6c9dc;border-radius:9px;background:white;color:#23405a;font-size:11px;transform:translate(-10%,-10%)}.map-device svg{width:22px;height:22px}.map-device small{font-size:9px;overflow-wrap:anywhere}.map-device.has-alarm{border-color:#d54a46;background:#fff2f0;color:#b53630}
.weather-readings{display:flex;flex-wrap:wrap;gap:20px;margin:18px 0}.weather-readings>div{display:grid;gap:7px;min-width:90px}.weather-readings strong{font-size:20px}.weather-readings span,.weather-overview p{font-size:11px;opacity:.75}.screen-panel .weather-readings{gap:12px;margin:10px 0}.screen-panel .weather-readings strong{font-size:14px}.screen-panel .weather-readings>div{min-width:65px}.power-tree,.power-tree ul{list-style:none;padding-left:22px}.power-tree li{border-left:1px solid var(--line,#dce5ee);padding:8px 0 8px 18px}.power-tree-device{display:flex;align-items:center;gap:10px;text-align:left;border:1px solid var(--line,#dce5ee);border-radius:10px;padding:12px;background:var(--card,#fff);color:inherit}.power-tree-device small{display:block;margin-top:5px;font-size:11px;opacity:.7}.power-tree-device.has-alarm{border-color:#e07a82}
