/* =====================================================================
   AEHI · owner-support-center.css (2.12.3-fix)
   Support & health tab + owner support center — full styles
   ===================================================================== */

/* ── Shared loading / empty ── */
.support-loading{padding:48px 0;text-align:center;color:var(--v9-text-3);font-size:13px;animation:supportPulse 1.4s ease-in-out infinite}
@keyframes supportPulse{0%,100%{opacity:.45}50%{opacity:1}}
.support-empty{padding:32px 16px;text-align:center;color:var(--v9-text-3);font-size:13px}

/* ── Device support header ── */
.support-device-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:0 0 20px;border-bottom:1px solid var(--v9-line)}
.support-device-head h3{margin:4px 0 2px;font-size:16px;font-weight:700;color:var(--v9-text)}
.support-device-head p{margin:0;font-size:12px;color:var(--v9-text-3)}
.support-device-head .eyebrow{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--v9-text-3);font-weight:600}
.support-big-state{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap}
.support-big-state.online{background:var(--v9-success-soft);color:var(--v9-success)}
.support-big-state.offline{background:var(--v9-danger-soft);color:var(--v9-danger)}

/* ── Section headers ── */
.support-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:24px 0 12px;flex-wrap:wrap}
.support-section-head h4{margin:0 0 2px;font-size:14px;font-weight:700;color:var(--v9-text)}
.support-section-head p{margin:0;font-size:12px;color:var(--v9-text-3)}
.support-section-head span{font-size:12px;color:var(--v9-text-3)}

/* ── Timeline actions ── */
.support-timeline-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.support-timeline-actions button{font-size:10px;padding:6px 8px}

/* ── Day pager tabs ── */
.support-day-pager{display:flex;gap:6px;margin:16px 0 12px;flex-wrap:wrap}
.support-day-tab{display:flex;flex-direction:column;align-items:center;gap:1px;padding:8px 16px;border:1px solid var(--v9-line);border-radius:var(--v9-radius-sm);background:var(--v9-surface-2);color:var(--v9-text-2);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}
.support-day-tab small{font-size:10px;font-weight:400;color:var(--v9-text-3)}
.support-day-tab:hover{border-color:var(--v9-primary);color:var(--v9-primary)}
.support-day-tab.active{background:var(--v9-primary-soft);border-color:var(--v9-primary);color:var(--v9-primary)}
.support-day-tab.active small{color:var(--v9-primary)}

/* ── Analog clock card ── */
.support-clock-card{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:16px 24px;padding:16px 0;align-items:start}
.support-clock-wrap{grid-row:1/3;display:flex;flex-direction:column;align-items:center;gap:6px}
.support-clock{width:180px;height:180px}
.clock-face{fill:var(--v9-surface-2);stroke:var(--v9-line);stroke-width:.6}
.clock-ring{fill:none;stroke:var(--v9-line);stroke-width:.3}
.clock-tick{stroke-width:2.2;stroke-linecap:round}
.clock-tick.online{stroke:var(--v9-success)}
.clock-tick.offline{stroke:var(--v9-danger)}
.clock-tick.unknown{stroke:var(--v9-line-strong)}
.clock-number{font-size:3px;fill:var(--v9-text-3);text-anchor:middle;dominant-baseline:central;font-weight:500}
.clock-center{fill:var(--v9-text-3)}
.clock-hand{stroke:var(--v9-text);stroke-width:1;stroke-linecap:round}
.clock-hand-hour{stroke-width:1.4}
.clock-hand-minute{stroke-width:.8;opacity:.7}
.clock-caption{font-size:11px;color:var(--v9-text-3);text-align:center}

/* ── Clock legend ── */
.support-clock-legend{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--v9-text-2)}
.support-clock-legend b{font-size:13px;color:var(--v9-text);margin-bottom:2px}
.support-clock-legend strong{font-size:22px;font-weight:800;color:var(--v9-primary);margin-bottom:4px}
.legend-online{color:var(--v9-success)}
.legend-offline{color:var(--v9-danger)}
.legend-unknown{color:var(--v9-text-3)}

/* ── Hour grid (shared by device tab + owner center) ── */
.support-hour-grid{display:flex;flex-wrap:wrap;gap:4px;grid-column:1/-1}
.support-hour,.support-hour-grid button.support-hour{display:inline-flex;align-items:center;justify-content:center;width:32px;height:28px;border-radius:6px;font-size:11px;font-weight:600;border:1px solid var(--v9-line);background:var(--v9-surface-2);color:var(--v9-text-3);cursor:default;transition:all .15s}
button.support-hour{cursor:pointer}
button.support-hour:hover{transform:scale(1.08)}
.support-hour.online{background:var(--v9-success-soft);color:var(--v9-success);border-color:var(--v9-success)}
.support-hour.offline{background:var(--v9-danger-soft);color:var(--v9-danger);border-color:var(--v9-danger)}
.support-hour.unknown{background:var(--v9-surface-3);color:var(--v9-text-3);border-color:var(--v9-line)}

/* ── Timeline events ── */
.support-timeline{margin-top:16px}
.support-event{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid var(--v9-line)}
.support-event:last-child{border-bottom:none}
.support-event-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:4px;background:var(--v9-info)}
.support-event-dot.info{background:var(--v9-info)}
.support-event-dot.warning{background:var(--v9-warning)}
.support-event-dot.error,.support-event-dot.danger{background:var(--v9-danger)}
.support-event-dot.success{background:var(--v9-success)}
.support-event div{flex:1;min-width:0}
.support-event b{display:block;font-size:13px;font-weight:600;color:var(--v9-text);line-height:1.4}
.support-event small{display:block;font-size:11px;color:var(--v9-text-3);margin-top:1px}
.support-event time{flex-shrink:0;font-size:11px;color:var(--v9-text-3);white-space:nowrap}
.support-event-delete{flex-shrink:0;font-size:10px!important;padding:4px 8px!important}

/* ── Owner support center layout ── */
.support-center-view .view-heading{margin-bottom:16px}
.support-layout{display:grid;grid-template-columns:280px 1fr;gap:16px;min-height:420px}
@media(max-width:800px){.support-layout{grid-template-columns:1fr;min-height:auto}}

/* ── Device sidebar ── */
.support-devices{overflow-y:auto;max-height:70vh}
.support-search{padding:8px}
.support-search input{width:100%;padding:8px 12px;border:1px solid var(--v9-line);border-radius:var(--v9-radius-sm);background:var(--v9-surface-2);color:var(--v9-text);font-size:12px;font-family:inherit}
.support-search input:focus{outline:none;border-color:var(--v9-primary)}
.support-device-list{display:flex;flex-direction:column;gap:2px;padding:0 4px 8px}
.support-device-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border:none;border-radius:var(--v9-radius-sm);background:transparent;cursor:pointer;text-align:start;width:100%;font-family:inherit;color:var(--v9-text);transition:background .12s}
.support-device-row:hover{background:var(--v9-surface-2)}
.support-device-row.active{background:var(--v9-primary-soft)}
.support-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.support-status-dot.online{background:var(--v9-success)}
.support-status-dot.offline{background:var(--v9-danger)}
.support-device-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.support-device-main b{font-size:12px;font-weight:600;color:var(--v9-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.support-device-main small{font-size:10px;color:var(--v9-text-3)}
.support-device-state{font-size:10px;font-weight:600;color:var(--v9-text-3);white-space:nowrap}

/* ── Detail panel ── */
.support-detail{padding:16px;overflow-y:auto}

/* ── Owner support center — day rows ── */
.support-day{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--v9-line)}
.support-day:last-child{border-bottom:none}
.support-day-label{font-size:11px;font-weight:600;color:var(--v9-text-2);min-width:90px;white-space:nowrap}

/* ── Hours section wrapper ── */
.support-hours{margin:20px 0 0}

/* ── Visibility panel (owner) ── */
.support-visibility{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px;margin-bottom:16px;border:1px solid var(--v9-line);border-radius:var(--v9-radius-sm);background:var(--v9-surface-2)}
.support-visibility h4{margin:0;font-size:13px;font-weight:600;color:var(--v9-text)}
.support-visibility p{margin:0;font-size:11px;color:var(--v9-text-3)}
.support-visibility select,.support-visibility input{font-size:12px}

/* ── Nav badge ── */
.support-nav-item{position:relative}
.support-nav-badge{position:absolute;left:6px;top:4px;font-size:8px;padding:2px 6px;border-radius:8px;background:var(--v9-primary-soft);color:var(--v9-primary);font-weight:600;white-space:nowrap}

/* ── Responsive ── */
@media(max-width:600px){
  .support-clock-card{grid-template-columns:1fr;text-align:center}
  .support-clock-wrap{grid-row:auto}
  .support-clock{width:140px;height:140px}
  .support-clock-legend{align-items:center}
}

/* Minute-level presence: green online, red offline, gray no sample. */
.support-minute-grid-wrap{display:flex;flex-direction:column;gap:7px;width:100%;margin-top:8px}
.support-hour-row{display:grid;grid-template-columns:42px minmax(0,1fr) 64px;align-items:center;gap:8px;min-height:24px}
.support-hour-label{font-size:10px;color:var(--v9-text-3);font-variant-numeric:tabular-nums;text-align:end;direction:ltr}
.support-minute-grid{display:grid;grid-template-columns:repeat(60,minmax(2px,1fr));gap:2px;min-width:0}
.support-minute{display:block;height:14px;border-radius:3px;background:var(--v9-surface-3);border:1px solid var(--v9-line);min-width:2px;transition:transform .12s,filter .12s}
.support-minute:hover{transform:scaleY(1.35);filter:brightness(1.12)}
.support-minute.online{background:var(--v9-success);border-color:var(--v9-success)}
.support-minute.offline{background:var(--v9-danger);border-color:var(--v9-danger)}
.support-minute.unknown{background:var(--v9-surface-3);border-color:var(--v9-line)}
.support-hour-total{font-size:10px;text-align:start;white-space:nowrap;color:var(--v9-text-3)}
.support-hour-total.online{color:var(--v9-success)}
.support-hour-total.offline{color:var(--v9-danger)}
.support-minute-grid-wrap.owner-hours{margin-top:0}
.support-day .support-minute-grid-wrap{flex:1}
@media(max-width:700px){
  .support-hour-row{grid-template-columns:34px minmax(0,1fr) 50px;gap:5px}
  .support-minute-grid{gap:1px}
  .support-minute{height:11px;border-radius:2px}
  .support-hour-total{font-size:9px}
}
