/* ===== dashboard.css ===== */
body:not(.tv-body) .btn.warning {
  background: linear-gradient(135deg, #d97706 0%, #f59e0b 100%);
  border-color: rgba(245, 158, 11, .28);
  color: #ffffff;
  box-shadow: 0 8px 18px rgba(245, 158, 11, .18);
}

body:not(.tv-body) .btn.warning:hover {
  background: linear-gradient(135deg, #b45309 0%, #d97706 100%);
  color: #ffffff;
  box-shadow: 0 12px 26px rgba(245, 158, 11, .26);
  filter: none;
}

body:not(.tv-body) .btn.ghost {
  background: #ffffff;
  color: #475569;
  border-color: rgba(203, 213, 225, .86);
  box-shadow: none;
}

body:not(.tv-body) .btn.ghost:hover {
  background: #f8fafc;
  color: #0f172a;
  border-color: rgba(148, 163, 184, .9);
  box-shadow: 0 6px 16px rgba(15, 23, 42, .07);
}

body:not(.tv-body) .btn.small {
  min-height: 32px;
  padding: 6px 10px;
  border-radius: 10px;
  font-size: 11.5px;
  gap: 5px;
}

body:not(.tv-body) .btn.small .icon {
  width: 13px;
  height: 13px;
}

body:not(.tv-body) .btn:disabled,
body:not(.tv-body) .btn.disabled,
body:not(.tv-body) button:disabled {
  opacity: .56;
  cursor: not-allowed;
  transform: none !important;
  box-shadow: none !important;
  filter: grayscale(.12);
}

body:not(.tv-body) .btn-row,
body:not(.tv-body) .hero-actions,
body:not(.tv-body) .settings-actions,
body:not(.tv-body) .screen-card-actions,
body:not(.tv-body) .playlist-item-actions,
body:not(.tv-body) .asset-actions-row,
body:not(.tv-body) .user-actions,
body:not(.tv-body) .default-media-actions,
body:not(.tv-body) .individual-tv-actions,
body:not(.tv-body) .screen-emergency-modal-actions {
  gap: 8px;
}

/* Icon-only and compact action buttons */
body:not(.tv-body) .asset-actions-row .btn,
body:not(.tv-body) .playlist-item-actions .btn,
body:not(.tv-body) .screen-card-actions .btn,
body:not(.tv-body) .screen-card-actions .btn,
body:not(.tv-body) .user-actions .btn {
  border-radius: 11px;
}

/* Quick action cards keep the same simple button language */
body:not(.tv-body) .quick-action {
  border-radius: 16px;
  border-color: rgba(203, 213, 225, .85);
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}

body:not(.tv-body) .quick-action:hover {
  background: linear-gradient(180deg, #EEF6F8 0%, #ffffff 100%);
  border-color: rgba(44, 92, 113, .32);
  box-shadow: 0 10px 22px rgba(44, 92, 113, .11);
}

/* Rich text editor toolbar buttons */
body:not(.tv-body) .rich-editor-toolbar button,
body:not(.tv-body) .compact-emergency-toolbar button {
  min-height: 32px;
  border-radius: 10px;
  border: 1px solid rgba(203, 213, 225, .9);
  background: #ffffff;
  color: #334155;
  font-weight: 600;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
  transition: all .16s ease;
}

body:not(.tv-body) .rich-editor-toolbar button:hover,
body:not(.tv-body) .compact-emergency-toolbar button:hover {
  background: #f8fafc;
  border-color: rgba(148, 163, 184, .9);
  transform: translateY(-1px);
  box-shadow: 0 6px 14px rgba(15, 23, 42, .08);
}

body:not(.tv-body) .rich-editor-toolbar button.active,
body:not(.tv-body) .compact-emergency-toolbar button.active {
  background: var(--primary-dark);
  color: #ffffff;
  border-color: var(--primary-dark);
}

@media (max-width: 640px) {
  body:not(.tv-body) .btn {
    min-height: 40px;
    padding: 9px 12px;
  }
}


/* TV screen IP / Android TV app link UI */
.form-row-wide { grid-column: span 2; }
.android-tv-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid rgba(44,92,113,.18);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(232,241,244,.92), rgba(255,255,255,.96));
  margin: 10px 0;
}
.android-tv-panel > div { display: grid; gap: 4px; min-width: 0; }
.android-tv-panel span:first-child { display: inline-flex; align-items: center; gap: 6px; color: #2C5C71; font-weight: 600; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; }
.android-tv-panel code { overflow-wrap: anywhere; }
.android-tv-panel .help { color: #64748b; font-size: 12px; }
@media (max-width: 900px) {
  .form-row-wide { grid-column: auto; }
  .android-tv-panel { align-items: stretch; flex-direction: column; }
}


/* ================================================================
   Dashboard TV Health Monitor + Android TV actions
   ================================================================ */
.dashboard-tv-card {
  grid-template-columns: 52px minmax(0, 1fr) auto;
  align-items: start;
}
.dashboard-tv-health-panel {
  grid-column: 1 / -1;
  display: grid;
  gap: 10px;
  padding: 12px;
  border-radius: 16px;
  border: 1px solid rgba(44, 92, 113, .16);
  background: linear-gradient(135deg, rgba(255,255,255,.86), rgba(232,241,244,.74));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
}
.dashboard-tv-health-head {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
}
.dashboard-tv-health-head > span {
  width: 34px;
  height: 34px;
  border-radius: 13px;
  display: grid;
  place-items: center;
  background: rgba(44, 92, 113, .10);
  color: var(--primary);
  flex: 0 0 auto;
}
.dashboard-tv-health-head b {
  display: block;
  font-size: 12.5px;
  color: #163244;
}
.dashboard-tv-health-head small {
  display: block;
  margin-top: 1px;
  font-size: 11px;
  font-weight: 600;
  color: #64748b;
}
.dashboard-tv-health-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.dashboard-tv-health-grid span {
  display: grid;
  grid-template-columns: 18px minmax(72px, auto) minmax(0, 1fr);
  align-items: center;
  gap: 6px;
  min-width: 0;
  padding: 8px 9px;
  border-radius: 13px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(148, 163, 184, .22);
}
.dashboard-tv-health-grid .icon {
  width: 15px;
  height: 15px;
  color: var(--primary);
}
.dashboard-tv-health-grid b {
  font-size: 11px;
  color: #334155;
  white-space: nowrap;
}
.dashboard-tv-health-grid em {
  font-style: normal;
  font-size: 11px;
  font-weight: 600;
  color: #475569;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: right;
}
.dashboard-tv-health-error {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 9px 10px;
  border-radius: 13px;
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #991b1b;
  font-size: 12px;
  font-weight: 600;
}
.dashboard-tv-actions {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.dashboard-tv-actions .btn {
  width: 100%;
  justify-content: center;
}
.btn.soft {
  background: #e8f1f4;
  color: var(--primary-dark);
  border-color: #a9c7d2;
}
.btn.soft:hover:not(:disabled) {
  background: #d8e9ee;
  border-color: var(--primary-light);
}
@media (max-width: 720px) {
  .dashboard-tv-card { grid-template-columns: 44px minmax(0, 1fr); }
  .dashboard-tv-health-grid,
  .dashboard-tv-actions { grid-template-columns: 1fr; }
  .dashboard-tv-health-grid span { grid-template-columns: 18px 88px minmax(0,1fr); }
}

/* ================================================================
   Dashboard TV Health Monitor dropdown
   ================================================================ */
.dashboard-tv-health-dropdown {
  padding: 0;
  overflow: hidden;
}
.dashboard-tv-health-dropdown summary {
  list-style: none;
  cursor: pointer;
  user-select: none;
  padding: 12px;
  border-radius: 16px;
}
.dashboard-tv-health-dropdown summary::-webkit-details-marker { display: none; }
.dashboard-tv-health-dropdown .dashboard-tv-health-head {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  width: 100%;
}
.dashboard-tv-health-dropdown[open] .dashboard-tv-health-head {
  border-bottom: 1px solid rgba(44,92,113,.12);
  border-radius: 16px 16px 0 0;
}
.dashboard-tv-health-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 30px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(44,92,113,.18);
  color: var(--primary-dark);
  font-style: normal;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
  box-shadow: var(--shadow-xs);
}
.dashboard-tv-health-toggle .icon {
  width: 14px;
  height: 14px;
  transition: transform var(--transition);
}
.dashboard-tv-health-dropdown[open] .dashboard-tv-health-toggle .icon {
  transform: rotate(180deg);
}
.dashboard-tv-health-dropdown[open] .dashboard-tv-health-toggle {
  background: #e8f1f4;
  border-color: #a9c7d2;
}
.dashboard-tv-health-body {
  display: grid;
  gap: 10px;
  padding: 12px;
  animation: healthDropInV45 .16s ease-out;
}
@keyframes healthDropInV45 {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 560px) {
  .dashboard-tv-health-dropdown .dashboard-tv-health-head {
    grid-template-columns: 34px minmax(0, 1fr);
  }
  .dashboard-tv-health-toggle {
    grid-column: 1 / -1;
    justify-content: center;
    width: 100%;
    margin-top: 6px;
  }
}


/* My Profile / Change Password */
.profile-page { display: grid; gap: 18px; width: 100%; }
.profile-hero { display:flex; align-items:center; gap:18px; padding:22px; background: linear-gradient(135deg, rgba(44,92,113,.10), rgba(255,255,255,.92)); border-color: rgba(44,92,113,.16); }
.profile-hero h2 { margin: 4px 0 2px; font-size: clamp(1.35rem, 2vw, 1.9rem); color: var(--text); }
.profile-avatar { width:62px; height:62px; border-radius:22px; display:grid; place-items:center; color:#fff; background: linear-gradient(135deg, #2C5C71, #3E7890); box-shadow: 0 18px 38px rgba(44,92,113,.22); flex:0 0 auto; }
.profile-avatar svg { width:30px; height:30px; }
.profile-grid { align-items:start; }
.profile-card { min-height: 100%; }
.profile-detail-list { display:grid; gap:10px; margin: 16px 0; }
.profile-detail-list > div { display:flex; justify-content:space-between; gap:14px; align-items:center; padding:11px 12px; border:1px solid rgba(44,92,113,.12); border-radius:14px; background:#f8fbfc; }
.profile-detail-list span { color: var(--muted); font-size:.86rem; }
.profile-detail-list b { text-align:right; color:var(--text); font-size:.92rem; }
.profile-password-form { margin-top: 12px; }
.profile-password-hint { min-height: 22px; }
.text-success { color:#16723a; font-weight:700; }
.text-danger { color:#b42318; font-weight:700; }
.sidebar-user #profileBtn { margin-left:auto; }
.sidebar-user #profileBtn + #logoutBtn { margin-left:4px; }
@media (max-width: 820px) {
  .profile-hero { align-items:flex-start; }
  .profile-detail-list > div { flex-direction:column; align-items:flex-start; }
  .profile-detail-list b { text-align:left; }
}


.staff-dashboard-hero { margin-bottom: 14px; }
.staff-quick-grid { margin-top: 14px; }
.staff-quick-grid .quick-action { min-height: 92px; }
.staff-notice-card { margin-top: 14px; }


body:not(.tv-body) .dashboard-tv-card.no-android-tv {
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-areas:
    "main"
    "health"
    "actions" !important;
  align-items: stretch !important;
  gap: 9px !important;
  overflow: visible !important;
  border-color: rgba(44,92,113,.16) !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbfc 100%) !important;
}
body:not(.tv-body) .dashboard-tv-card.no-android-tv::before {
  background: #2C5C71 !important;
  box-shadow: none !important;
}
body:not(.tv-body) .dashboard-tv-card.no-android-tv.active::before {
  background: #2C5C71 !important;
  box-shadow: none !important;
}
body:not(.tv-body) .dashboard-tv-card.no-android-tv .dashboard-tv-main {
  grid-area: main !important;
  width: 100% !important;
  display: grid !important;
  grid-template-columns: 40px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 9px !important;
}
body:not(.tv-body) .dashboard-tv-card.no-android-tv .dashboard-tv-health-popup-btn {
  grid-area: health !important;
  width: 100% !important;
  min-width: 0 !important;
}
body:not(.tv-body) .dashboard-tv-card.no-android-tv .dashboard-android-tv-actions {
  grid-area: actions !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  margin-top: 0 !important;
}
body:not(.tv-body) .dashboard-tv-card.no-android-tv .dashboard-android-tv-actions .btn {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  min-height: 38px !important;
  font-size: 12px !important;
  border-radius: 13px !important;
}
body:not(.tv-body) .dashboard-tv-card.no-android-tv .dashboard-tv-orb {
  background: #e8f1f4 !important;
  color: #2C5C71 !important;
}
body:not(.tv-body) .dashboard-tv-card.no-android-tv.active .dashboard-tv-orb::after,
body:not(.tv-body) .dashboard-tv-card.no-android-tv.inactive .dashboard-tv-orb::after {
  content: none !important;
}
body:not(.tv-body) .dashboard-tv-card.no-android-tv .dashboard-tv-state strong {
  background: #e8f1f4 !important;
  color: #21485A !important;
}
@media (max-width: 700px) {
  body:not(.tv-body) .dashboard-tv-card.no-android-tv .dashboard-tv-main {
    grid-template-columns: 36px minmax(0, 1fr) !important;
  }
  body:not(.tv-body) .dashboard-tv-card.no-android-tv .dashboard-tv-state {
    grid-column: 1 / -1 !important;
    justify-items: start !important;
  }
}


/* ================================================================
   Admin typography polish — smaller headings, lighter weight
   Scope: admin UI only. TV display pages are not affected.
   ================================================================ */
body:not(.tv-body) {
  --font-page-title: clamp(18px, 1.55vw, 23px);
  --font-hero-title: clamp(18px, 1.7vw, 24px);
  --font-card-title: 14px;
  --font-section-title: 13.5px;
  --font-modal-title: 15px;
  --font-large-text: 15px;
}

/* H1 scale: smaller and cleaner */
body:not(.tv-body) h1,
body:not(.tv-body) .page-title h1,
body:not(.tv-body) .topbar-titles h1,
body:not(.tv-body) .login-brand-row h1,
body:not(.tv-body) .login-card h1,
body:not(.tv-body) .advanced-login-card h1,
body:not(.tv-body) #loginView #loginTitle {
  font-size: var(--font-page-title) !important;
  font-weight: 600 !important;
  line-height: 1.16 !important;
  letter-spacing: -.025em !important;
}

/* H2 scale: slightly smaller than before, with medium weight */
body:not(.tv-body) h2,
body:not(.tv-body) .card h2,
body:not(.tv-body) .section-title h2,
body:not(.tv-body) .modal-head h2,
body:not(.tv-body) .modal h2,
body:not(.tv-body) .android-tv-modal-head h2,
body:not(.tv-body) .android-tv-schedule-head h2,
body:not(.tv-body) .android-tv-child-head h2,
body:not(.tv-body) .screen-upsert-head h2,
body:not(.tv-body) .modal-title-stack h2 {
  font-size: var(--font-modal-title) !important;
  font-weight: 600 !important;
  line-height: 1.22 !important;
  letter-spacing: -.02em !important;
}

/* Page/hero headings that were visually too large */
body:not(.tv-body) .dashboard-hero h2,
body:not(.tv-body) .v5-hero h2,
body:not(.tv-body) .media-hero h2,
body:not(.tv-body) .playlist-hero h2,
body:not(.tv-body) .settings-hero h2,
body:not(.tv-body) .users-hero h2,
body:not(.tv-body) .activity-hero h2,
body:not(.tv-body) .emergency-hero h2,
body:not(.tv-body) .help-hero.card h2,
body:not(.tv-body) .screens-hero h2,
body:not(.tv-body) .profile-hero h2 {
  font-size: var(--font-hero-title) !important;
  font-weight: 600 !important;
  line-height: 1.18 !important;
  letter-spacing: -.025em !important;
}

/* Keep dark hero text readable while reducing size */
body:not(.tv-body) .dashboard-hero h2,
body:not(.tv-body) .emergency-hero h2,
body:not(.tv-body) .help-hero.card h2,
body:not(.tv-body) .modal-title-stack h2 {
  color: #fff !important;
}

/* Card titles and larger label text */
body:not(.tv-body) .card h3,
body:not(.tv-body) .help-card h3,
body:not(.tv-body) .settings-category-card b,
body:not(.tv-body) .user-card h3,
body:not(.tv-body) .screen-card-title b,
body:not(.tv-body) .screen-card .screen-card-title b,
body:not(.tv-body) .screen-card h3,
body:not(.tv-body) .screen-card h3,
body:not(.tv-body) .ticker-panel-head b,
body:not(.tv-body) .settings-panel-mini-title b,
body:not(.tv-body) .android-tv-title b,
body:not(.tv-body) .android-tv-control-title b,
body:not(.tv-body) .android-tv-schedule-title b,
body:not(.tv-body) .screen-health-modal .android-tv-control-title b {
  font-size: var(--font-card-title) !important;
  font-weight: 600 !important;
  line-height: 1.24 !important;
  letter-spacing: -.015em !important;
}

/* Section/subsection labels */
body:not(.tv-body) .section-title h2,
body:not(.tv-body) .screen-upsert-section-title,
body:not(.tv-body) .screen-emergency-section-title,
body:not(.tv-body) .ticker-panel-head small,
body:not(.tv-body) .settings-panel-mini-title small,
body:not(.tv-body) .android-tv-section-head b,
body:not(.tv-body) .android-tv-section-head small {
  font-size: var(--font-section-title) !important;
  font-weight: 600 !important;
}

/* Reduce oversized supporting text slightly */
body:not(.tv-body) .page-description,
body:not(.tv-body) .page-title p,
body:not(.tv-body) .dashboard-hero p,
body:not(.tv-body) .media-hero p,
body:not(.tv-body) .playlist-hero p,
body:not(.tv-body) .settings-hero p,
body:not(.tv-body) .users-hero p,
body:not(.tv-body) .emergency-hero p,
body:not(.tv-body) .help-hero.card p,
body:not(.tv-body) .screens-hero p,
body:not(.tv-body) .profile-hero p {
  font-size: 12px !important;
  line-height: 1.45 !important;
}

/* Login page headline should be professional, not oversized */
body:not(.tv-body) .login-brand-headline {
  font-size: clamp(19px, 2vw, 24px) !important;
  font-weight: 600 !important;
  letter-spacing: -.02em !important;
}

@media (max-width: 720px) {
  body:not(.tv-body) {
    --font-page-title: 17px;
    --font-hero-title: 17px;
    --font-modal-title: 14px;
    --font-card-title: 13.5px;
  }
}


body:not(.tv-body) {
  --font-button-weight: 600;
  --font-strong-weight: 600;
  --font-heading-weight: 600;
  --font-emphasis-weight: 700;
  --font-button-size: 12.5px;
}

/* All admin buttons: clean 600 weight */
body:not(.tv-body) button,
body:not(.tv-body) .btn,
body:not(.tv-body) .pill-btn,
body:not(.tv-body) .icon-btn,
body:not(.tv-body) .format-toggle,
body:not(.tv-body) .rich-editor-toolbar button,
body:not(.tv-body) .login-submit-btn,
body:not(.tv-body) #loginView .login-submit-btn,
body:not(.tv-body) .android-tv-control-actions .btn,
body:not(.tv-body) .android-tv-control-actions .btn,
body:not(.tv-body) .ticker-mode-card,
body:not(.tv-body) .dashboard-tv-health-popup-btn,
body:not(.tv-body) .dashboard-tv-health-btn,
body:not(.tv-body) .tv-health-monitor-btn,
body:not(.tv-body) .screen-android-tv-open {
  font-weight: var(--font-button-weight) !important;
  font-size: var(--font-button-size) !important;
  letter-spacing: .005em !important;
}

/* Button content should not look extra-bold */
body:not(.tv-body) .btn b,
body:not(.tv-body) button b,
body:not(.tv-body) .pill-btn b,
body:not(.tv-body) .ticker-mode-card b,
body:not(.tv-body) .dashboard-tv-health-popup-btn em {
  font-weight: var(--font-button-weight) !important;
}

/* Reduce general overly-heavy admin text */
body:not(.tv-body) b,
body:not(.tv-body) strong,
body:not(.tv-body) .brand-title,
body:not(.tv-body) .card b,
body:not(.tv-body) .card strong,
body:not(.tv-body) .section-title h2,
body:not(.tv-body) .settings-category-card b,
body:not(.tv-body) .settings-panel-badge,
body:not(.tv-body) .screen-card-title b,
body:not(.tv-body) .ticker-panel-head b,
body:not(.tv-body) .ticker-preview-head span,
body:not(.tv-body) .ticker-save-hint span,
body:not(.tv-body) .android-tv-title b,
body:not(.tv-body) .android-tv-section-head b,
body:not(.tv-body) .android-tv-control-title b,
body:not(.tv-body) .android-tv-schedule-title b,
body:not(.tv-body) .screen-health-modal .android-tv-control-title b,
body:not(.tv-body) .screen-upsert-section-title,
body:not(.tv-body) .screen-upsert-intro b,
body:not(.tv-body) .preview-toolbar span,
body:not(.tv-body) .android-tv-panel span:first-child {
  font-weight: var(--font-strong-weight) !important;
}

/* Values, badges and visual chips: bold enough, but not heavy */
body:not(.tv-body) .metric-value,
body:not(.tv-body) .activity-count,
body:not(.tv-body) .user-avatar,
body:not(.tv-body) .flow-card span,
body:not(.tv-body) .badge,
body:not(.tv-body) .eyebrow,
body:not(.tv-body) .library-note,
body:not(.tv-body) .playlist-summary-row span,
body:not(.tv-body) .media-select-check,
body:not(.tv-body) .playlist-select-check,
body:not(.tv-body) .duration-control label,
body:not(.tv-body) .duration-control span,
body:not(.tv-body) .duration-input,
body:not(.tv-body) .emergency-live-badge,
body:not(.tv-body) .emergency-preview span,
body:not(.tv-body) .settings-panel-badge,
body:not(.tv-body) .android-tv-token-pill,
body:not(.tv-body) .android-tv-status-grid em,


/* ===== settings.css ===== */
body:not(.tv-body) .android-tv-day-badge,
body:not(.tv-body) .android-tv-schedule-summary .sum span,
body:not(.tv-body) .android-tv-volume-value,
body:not(.tv-body) .screen-card-info-grid em,
body:not(.tv-body) .text-success,
body:not(.tv-body) .text-danger {
  font-weight: var(--font-emphasis-weight) !important;
}

.tv-body:not(.no-progress):not(.no-ticker) .tv-ticker { bottom: var(--tv-progress-height, 5px); }
.tv-body.no-progress .tv-ticker { bottom: 0; }
.tv-progress { bottom: 0; height: var(--tv-progress-height, 5px); box-shadow: none !important; }


body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card {
  overflow: hidden !important;
  isolation: isolate !important;
  transform: translateZ(0);
  animation: none !important;
  border-width: 1px !important;
  box-shadow: 0 10px 26px rgba(15, 23, 42, .075), inset 0 1px 0 rgba(255,255,255,.72) !important;
}
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card:hover {
  transform: translateY(-1px) translateZ(0);
  box-shadow: 0 16px 34px rgba(15, 23, 42, .10), inset 0 1px 0 rgba(255,255,255,.82) !important;
}
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card > * {
  position: relative;
  z-index: 2;
}
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card::after {
  content: "" !important;
  position: absolute !important;
  width: 150px !important;
  height: 150px !important;
  right: -54px !important;
  top: -60px !important;
  border-radius: 999px !important;
  z-index: 0 !important;
  pointer-events: none !important;
  opacity: .55 !important;
  transform: none !important;
}
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.active,
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.active.no-android-tv {
  border-color: rgba(34,197,94,.36) !important;
  background: linear-gradient(135deg, #f8fff9 0%, #ecfdf5 54%, #dcfce7 100%) !important;
  box-shadow: 0 12px 28px rgba(16,185,129,.13), inset 0 1px 0 rgba(255,255,255,.86) !important;
}
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.active::before,
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.active.no-android-tv::before {
  background: linear-gradient(180deg, #22c55e, #059669) !important;
  box-shadow: 0 0 18px rgba(34,197,94,.42) !important;
  animation: dashboardTvModernBar 2.2s ease-in-out infinite !important;
}
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.active::after,
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.active.no-android-tv::after {
  background: radial-gradient(circle, rgba(34,197,94,.30) 0%, rgba(34,197,94,.12) 42%, transparent 70%) !important;
  animation: dashboardTvInteriorGlow 3.6s ease-in-out infinite !important;
}
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.inactive,
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.inactive.no-android-tv {
  border-color: rgba(148,163,184,.46) !important;
  background: linear-gradient(135deg, #f8fafc 0%, #eef2f7 52%, #e2e8f0 100%) !important;
  box-shadow: 0 10px 24px rgba(100,116,139,.12), inset 0 1px 0 rgba(255,255,255,.66) !important;
}
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.inactive::before,
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.inactive.no-android-tv::before {
  background: linear-gradient(180deg, #94a3b8, #64748b) !important;
  box-shadow: none !important;
  animation: dashboardTvModernInactiveBar 2.8s ease-in-out infinite !important;
}
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.inactive::after,
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.inactive.no-android-tv::after {
  background: radial-gradient(circle, rgba(100,116,139,.22) 0%, rgba(148,163,184,.10) 44%, transparent 70%) !important;
  animation: dashboardTvInteriorGlow 5.2s ease-in-out infinite !important;
}
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.disabled {
  border-color: rgba(245,158,11,.36) !important;
  background: linear-gradient(135deg, #fffbeb 0%, #fff7ed 52%, #f8fafc 100%) !important;
  box-shadow: 0 10px 24px rgba(245,158,11,.10), inset 0 1px 0 rgba(255,255,255,.72) !important;
}
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.disabled::before {
  background: linear-gradient(180deg, #f59e0b, #d97706) !important;
  box-shadow: none !important;
  animation: none !important;
}
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.disabled::after {
  background: radial-gradient(circle, rgba(245,158,11,.18) 0%, transparent 68%) !important;
  animation: none !important;
}
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.active .dashboard-tv-orb,
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.active.no-android-tv .dashboard-tv-orb {
  color: #047857 !important;
  background: linear-gradient(135deg, #dcfce7, #bbf7d0) !important;
  box-shadow: 0 0 0 5px rgba(34,197,94,.10), inset 0 1px 0 rgba(255,255,255,.80) !important;
}
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.active .dashboard-tv-orb::after,
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.active.no-android-tv .dashboard-tv-orb::after {
  content: "" !important;
  position: absolute !important;
  inset: -6px !important;
  border: 2px solid rgba(34,197,94,.24) !important;
  border-radius: 20px !important;
  background: transparent !important;
  animation: dashboardTvModernOrbPulse 2.2s ease-out infinite !important;
}
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.inactive .dashboard-tv-orb,
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.inactive.no-android-tv .dashboard-tv-orb {
  color: #475569 !important;
  background: linear-gradient(135deg, #e2e8f0, #cbd5e1) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.58) !important;
}
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.inactive .dashboard-tv-orb::after,
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.inactive.no-android-tv .dashboard-tv-orb::after {
  content: "" !important;
  position: absolute !important;
  right: 5px !important;
  top: 5px !important;
  width: 9px !important;
  height: 9px !important;
  border-radius: 999px !important;
  background: #64748b !important;
  border: 2px solid rgba(255,255,255,.75) !important;
  animation: dashboardTvModernDot 2s ease-in-out infinite !important;
}
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.active .dashboard-tv-copy b,
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.active.no-android-tv .dashboard-tv-copy b { color: #064e3b !important; }
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.active .dashboard-tv-copy span,
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.active .dashboard-tv-copy small,
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.active .dashboard-tv-state em,
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.active.no-android-tv .dashboard-tv-copy span,
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.active.no-android-tv .dashboard-tv-copy small,
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.active.no-android-tv .dashboard-tv-state em { color: #047857 !important; }
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.inactive .dashboard-tv-copy b,
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.inactive.no-android-tv .dashboard-tv-copy b { color: #334155 !important; }
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.inactive .dashboard-tv-copy span,
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.inactive .dashboard-tv-copy small,
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.inactive .dashboard-tv-state em,
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.inactive.no-android-tv .dashboard-tv-copy span,
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.inactive.no-android-tv .dashboard-tv-copy small,
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.inactive.no-android-tv .dashboard-tv-state em { color: #64748b !important; }
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.active .dashboard-tv-state strong,
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.active.no-android-tv .dashboard-tv-state strong {
  background: rgba(187,247,208,.92) !important;
  color: #047857 !important;
  box-shadow: 0 0 0 1px rgba(34,197,94,.18) inset !important;
}
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.inactive .dashboard-tv-state strong,
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.inactive.no-android-tv .dashboard-tv-state strong {
  background: rgba(203,213,225,.90) !important;
  color: #334155 !important;
  box-shadow: 0 0 0 1px rgba(100,116,139,.18) inset !important;
}
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card .dashboard-tv-health-popup-btn {
  backdrop-filter: blur(8px);
}
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.active .dashboard-tv-health-popup-btn,
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.active.no-android-tv .dashboard-tv-health-popup-btn {
  border-color: rgba(34,197,94,.22) !important;
  background: rgba(255,255,255,.72) !important;
  color: #065f46 !important;
}
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.inactive .dashboard-tv-health-popup-btn,
body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card.inactive.no-android-tv .dashboard-tv-health-popup-btn {
  border-color: rgba(148,163,184,.42) !important;
  background: rgba(248,250,252,.76) !important;
  color: #475569 !important;
}
@keyframes dashboardTvInteriorGlow {
  0%,100% { opacity: .40; transform: scale(.96); }
  50% { opacity: .68; transform: scale(1.04); }
}
@keyframes dashboardTvModernBar {
  0%,100% { opacity: .88; }
  50% { opacity: 1; box-shadow: 0 0 22px rgba(34,197,94,.55); }
}
@keyframes dashboardTvModernInactiveBar {
  0%,100% { opacity: .48; }
  50% { opacity: .86; }
}
@keyframes dashboardTvModernOrbPulse {
  0% { transform: scale(.94); opacity: .78; }
  70%,100% { transform: scale(1.18); opacity: 0; }
}
@keyframes dashboardTvModernDot {
  0%,100% { opacity: .52; transform: scale(.88); }
  50% { opacity: 1; transform: scale(1.06); }
}
@media (prefers-reduced-motion: reduce) {
  body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card,
  body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card::before,
  body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card::after,
  body:not(.tv-body) .dashboard-tv-status-grid .dashboard-tv-card .dashboard-tv-orb::after {
    animation: none !important;
  }
}


/* ================================================================
   Dashboard Live TV Status: active/inactive colour and animation
   ================================================================ */
.dashboard-tv-summary .no-android{
  background:#f1f5f9;
  color:#475569;
  border-color:#cbd5e1;
}
.dashboard-tv-card{
  isolation:isolate;
}
.dashboard-tv-card::after{
  pointer-events:none;
}
.dashboard-tv-card.active,
.dashboard-tv-card.active.no-android-tv{
  border-color:#86efac;
  background:linear-gradient(135deg,#f7fff9 0%,#ecfdf5 54%,#dcfce7 100%);
  box-shadow:0 12px 30px rgba(16,185,129,.14), inset 0 1px 0 rgba(255,255,255,.88);
  animation:dashboardTvActiveGlow 2.4s ease-in-out infinite;
}
.dashboard-tv-card.active::before,
.dashboard-tv-card.active.no-android-tv::before{
  background:#10b981;
  box-shadow:0 0 18px rgba(16,185,129,.60);
  animation:dashboardTvStatusBarLive 1.9s ease-in-out infinite;
}
.dashboard-tv-card.active::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  border-radius:inherit;
  background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.42) 38%,transparent 70%);
  transform:translateX(-130%);
  animation:dashboardTvActiveSheen 4.6s ease-in-out infinite;
}
.dashboard-tv-card.active > *{
  position:relative;
  z-index:1;
}
.dashboard-tv-card.active .dashboard-tv-orb{
  color:#047857;
  background:#bbf7d0;
  box-shadow:0 0 0 5px rgba(16,185,129,.10);
}
.dashboard-tv-card.active .dashboard-tv-copy b{
  color:#064e3b;
}
.dashboard-tv-card.active .dashboard-tv-copy span,
.dashboard-tv-card.active .dashboard-tv-copy small{
  color:#047857;
}
.dashboard-tv-card.active .dashboard-tv-control-note.no-android-tv{
  color:#0f766e;
}
.dashboard-tv-card.active .dashboard-tv-state strong{
  background:#bbf7d0;
  color:#047857;
  box-shadow:0 0 0 1px rgba(16,185,129,.18) inset;
}
.dashboard-tv-card.active .dashboard-tv-state em{
  color:#047857;
}
.dashboard-tv-card.active .dashboard-tv-health-popup-btn{
  border-color:#bbf7d0;
  background:linear-gradient(180deg,#ffffff,#f0fdf4);
  color:#065f46;
}
.dashboard-tv-card.active .dashboard-tv-health-popup-btn>span,
.dashboard-tv-card.active .dashboard-tv-health-popup-btn em{
  background:#dcfce7;
  color:#047857;
}
.dashboard-tv-card.inactive,
.dashboard-tv-card.inactive.no-android-tv{
  border-color:#cbd5e1;
  background:linear-gradient(135deg,#e5e7eb 0%,#f1f5f9 48%,#e2e8f0 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65);
  animation:dashboardTvInactiveBreath 3.4s ease-in-out infinite;
}
.dashboard-tv-card.inactive::before,
.dashboard-tv-card.inactive.no-android-tv::before{
  background:#94a3b8;
  box-shadow:none;
  animation:dashboardTvInactiveBar 2.2s ease-in-out infinite;
}
.dashboard-tv-card.inactive .dashboard-tv-orb,
.dashboard-tv-card.inactive.no-android-tv .dashboard-tv-orb{
  background:#cbd5e1;
  color:#475569;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45);
}
.dashboard-tv-card.inactive .dashboard-tv-orb::after{
  background:#64748b;
  animation:dashboardTvInactiveDot 1.8s ease-in-out infinite;
}
.dashboard-tv-card.inactive .dashboard-tv-copy b,
.dashboard-tv-card.inactive.no-android-tv .dashboard-tv-copy b{
  color:#334155;
}
.dashboard-tv-card.inactive .dashboard-tv-copy span,
.dashboard-tv-card.inactive .dashboard-tv-copy small,
.dashboard-tv-card.inactive .dashboard-tv-state em{
  color:#64748b;
}
.dashboard-tv-control-note{
  margin-top:2px;
  font-weight:600;
}
.dashboard-tv-control-note.no-android-tv{
  color:#64748b;
}
.dashboard-tv-control-note.has-android-tv{
  color:#2C5C71;
}
.dashboard-tv-card.inactive .dashboard-tv-state strong,
.dashboard-tv-card.inactive.no-android-tv .dashboard-tv-state strong{
  background:#cbd5e1;
  color:#334155;
  box-shadow:0 0 0 1px rgba(100,116,139,.18) inset;
}
.dashboard-tv-card.inactive .dashboard-tv-health-popup-btn,
.dashboard-tv-card.inactive.no-android-tv .dashboard-tv-health-popup-btn{
  border-color:#cbd5e1;
  background:linear-gradient(180deg,#f8fafc,#e2e8f0);
  color:#475569;
  box-shadow:none;
}
.dashboard-tv-card.inactive .dashboard-tv-health-popup-btn>span,
.dashboard-tv-card.inactive .dashboard-tv-health-popup-btn em{
  background:#e2e8f0;
  color:#475569;
}
.dashboard-tv-card.inactive .dashboard-tv-health-popup-btn b{
  color:#334155;
}
.dashboard-tv-card.inactive .dashboard-tv-health-popup-btn small{
  color:#64748b;
}
.dashboard-tv-card.inactive .dashboard-tv-actions .btn:not(.danger),
.dashboard-tv-card.inactive.no-android-tv .dashboard-tv-actions .btn:not(.danger){
  background:#e2e8f0;
  color:#475569;
  border-color:#cbd5e1;
  box-shadow:none;
}
.dashboard-tv-card.disabled{
  border-color:#fde68a;
  background:linear-gradient(135deg,#fffbeb,#f8fafc);
  animation:none;
}
.dashboard-tv-card.disabled::before{
  background:#f59e0b;
  box-shadow:none;
  animation:none;
}
@keyframes dashboardTvActiveGlow{
  0%,100%{box-shadow:0 10px 24px rgba(16,185,129,.11), inset 0 1px 0 rgba(255,255,255,.88);}
  50%{box-shadow:0 16px 36px rgba(16,185,129,.24), 0 0 0 4px rgba(16,185,129,.08), inset 0 1px 0 rgba(255,255,255,.95);}
}
@keyframes dashboardTvActiveSheen{
  0%,55%{transform:translateX(-130%);opacity:0;}
  70%{opacity:.85;}
  100%{transform:translateX(130%);opacity:0;}
}
@keyframes dashboardTvStatusBarLive{
  0%,100%{opacity:.8;}
  50%{opacity:1;box-shadow:0 0 24px rgba(16,185,129,.72);}
}
@keyframes dashboardTvInactiveBreath{
  0%,100%{filter:grayscale(.12);opacity:.96;}
  50%{filter:grayscale(.26);opacity:.86;}
}
@keyframes dashboardTvInactiveBar{
  0%,100%{opacity:.42;}
  50%{opacity:.82;}
}
@keyframes dashboardTvInactiveDot{
  0%,100%{opacity:.42;transform:scale(.86);}
  50%{opacity:1;transform:scale(1.08);}
}
@media (prefers-reduced-motion: reduce){
  .dashboard-tv-card.active,
  .dashboard-tv-card.active::after,
  .dashboard-tv-card.active::before,
  .dashboard-tv-card.inactive,
  .dashboard-tv-card.inactive::before,
  .dashboard-tv-card.inactive .dashboard-tv-orb::after,
  .screen-status-dot.online{
    animation:none!important;
  }
}


/* Dashboard animated TV activity cards */
.dashboard-tv-panel { overflow: hidden; }
.dashboard-tv-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}
.dashboard-tv-summary span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 999px;
  padding: 7px 11px;
  font-size: 12px;
  font-weight: 600;
  border: 1px solid var(--line);
}
.dashboard-tv-summary .active { background: #ecfdf5; color: #047857; border-color: #a7f3d0; }
.dashboard-tv-summary .inactive { background: #f8fafc; color: #64748b; border-color: #e2e8f0; }
.dashboard-tv-summary .disabled { background: #fffbeb; color: #92400e; border-color: #fde68a; }
.dashboard-tv-status-grid {
  display: grid;
  gap: 10px;
  max-height: 390px;
  overflow-y: auto;
  padding-right: 3px;
}
.dashboard-tv-card {
  display: grid;
  grid-template-columns: 52px minmax(0,1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255,255,255,.88);
  box-shadow: var(--shadow-xs);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
  position: relative;
  overflow: hidden;
}
.dashboard-tv-card:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow-sm);
}
.dashboard-tv-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 14px;
  bottom: 14px;
  width: 4px;
  border-radius: 0 999px 999px 0;
  background: #cbd5e1;
}
.dashboard-tv-card.active { border-color: #a7f3d0; background: linear-gradient(135deg, #ffffff, #ecfdf5); }
.dashboard-tv-card.active::before { background: #10b981; box-shadow: 0 0 18px rgba(16,185,129,.55); }
.dashboard-tv-card.inactive { border-color: #e2e8f0; background: linear-gradient(135deg, #ffffff, #f8fafc); }
.dashboard-tv-card.disabled { opacity: .72; background: #f8fafc; }
.dashboard-tv-orb {
  width: 44px;
  height: 44px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  background: #f1f5f9;
  color: #64748b;
  position: relative;
}
.dashboard-tv-card.active .dashboard-tv-orb {
  color: #047857;
  background: #d1fae5;
}
.dashboard-tv-card.active .dashboard-tv-orb::after {
  content: "";
  position: absolute;
  inset: -6px;
  border-radius: 20px;
  border: 2px solid rgba(16,185,129,.30);
  animation: tvPulse 1.7s ease-in-out infinite;
}
.dashboard-tv-card.inactive .dashboard-tv-orb::after {
  content: "";
  position: absolute;
  right: 5px;
  top: 5px;
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #94a3b8;
}
@keyframes tvPulse { 0% { transform: scale(.92); opacity: .95; } 70% { transform: scale(1.18); opacity: 0; } 100% { transform: scale(1.18); opacity: 0; } }
.dashboard-tv-copy { min-width: 0; }
.dashboard-tv-copy b {
  display: block;
  font-size: 13px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dashboard-tv-copy span,
.dashboard-tv-copy small {
  display: block;
  color: var(--muted);
  font-size: 11.5px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dashboard-tv-copy small { margin-top: 2px; font-weight: 700; color: #475569; }
.dashboard-tv-state {
  display: grid;
  justify-items: end;
  min-width: 116px;
  gap: 1px;
}
.dashboard-tv-state strong {
  font-size: 12px;
  border-radius: 999px;
  padding: 4px 9px;
  background: #f1f5f9;
  color: #475569;
}
.dashboard-tv-card.active .dashboard-tv-state strong { background: #d1fae5; color: #047857; }
.dashboard-tv-card.disabled .dashboard-tv-state strong { background: #fef3c7; color: #92400e; }
.dashboard-tv-state em {
  font-style: normal;
  color: var(--muted);
  font-size: 11px;
  text-align: right;
}
.dashboard-tv-card .btn { grid-column: 1 / -1; justify-content: center; }
.screen-status-dot.online { animation: statusDotPulse 1.8s ease-in-out infinite; }
@keyframes statusDotPulse { 0%,100% { box-shadow: 0 0 0 4px rgba(16,185,129,.15); } 50% { box-shadow: 0 0 0 8px rgba(16,185,129,.05); } }


/* ═══════════════════════════════════════════════════════
   TV Screens popup controls + dashboard live preview
   ═══════════════════════════════════════════════════════ */
.dashboard-tv-card{padding:14px;gap:12px;}
.dashboard-tv-main{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;}
.dashboard-android-tv-actions{margin-top:10px;display:flex;gap:7px;flex-wrap:wrap;}
.dashboard-android-tv-actions .btn{min-height:32px;padding:7px 10px;font-size:12px;}
.dashboard-android-tv-preview{border:1px solid rgba(44,92,113,.14);border-radius:16px;background:#f8fbfc;padding:10px;}
.dashboard-android-tv-preview-head{display:flex;align-items:center;gap:8px;margin-bottom:8px;color:#21485A;}
.dashboard-android-tv-preview-head b{font-size:12px;font-weight:600;}
.dashboard-android-tv-preview-head small{margin-left:auto;color:#64748b;font-size:11px;}
.dashboard-android-tv-preview-frame{position:relative;aspect-ratio:16/9;max-height:170px;background:#07111c;border-radius:12px;overflow:hidden;display:grid;place-items:center;border:1px solid rgba(15,23,42,.14);}
.dashboard-android-tv-preview-frame img{width:100%;height:100%;object-fit:contain;background:#020617;z-index:2;}
.dashboard-android-tv-preview-placeholder{position:absolute;inset:0;display:grid;place-items:center;gap:6px;color:#94a3b8;font-size:12px;text-align:center;padding:12px;}
.dashboard-android-tv-preview-placeholder .icon{margin:auto;color:#64748b;}
.dashboard-android-tv-preview-frame.error{background:#f8fafc;border-style:dashed;}
.dashboard-tv-health{margin-top:0;}


/* ================================================================
   Dashboard fit + compact Android TV/health/schedule popup polish
   ================================================================ */
.dashboard-tv-card {
  padding: 11px;
  gap: 9px;
  overflow: hidden;
}
.dashboard-tv-main {
  grid-template-columns: 40px minmax(0, 1fr) auto;
  gap: 9px;
  min-width: 0;
}
.dashboard-tv-card .dashboard-tv-orb {
  width: 38px;
  height: 38px;
  border-radius: 14px;
}
.dashboard-tv-card .dashboard-tv-copy b { font-size: 12.5px; }
.dashboard-tv-card .dashboard-tv-copy span,
.dashboard-tv-card .dashboard-tv-copy small { font-size: 10.5px; }
.dashboard-tv-card .dashboard-tv-state { min-width: 88px; }
.dashboard-tv-card .dashboard-tv-state strong { font-size: 10.5px; padding: 3px 8px; }
.dashboard-tv-card .dashboard-tv-state em { font-size: 10px; max-width: 145px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-android-tv-preview {
  padding: 7px;
  border-radius: 13px;
  min-width: 0;
}
.dashboard-android-tv-preview-head { margin-bottom: 5px; gap: 6px; }
.dashboard-android-tv-preview-head b { font-size: 11px; }
.dashboard-android-tv-preview-head small { font-size: 9.5px; max-width: 54%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-android-tv-preview-frame {
  max-height: 108px;
  min-height: 82px;
  border-radius: 10px;
}
.dashboard-android-tv-preview-frame img {
  object-fit: contain;
  width: 100%;
  height: 100%;
}
.dashboard-tv-health-dropdown summary { padding: 8px; }
.dashboard-tv-health-dropdown .dashboard-tv-health-head { grid-template-columns: 28px minmax(0, 1fr) auto; gap: 7px; }
.dashboard-tv-health-head > span { width: 28px; height: 28px; border-radius: 10px; }
.dashboard-tv-health-head b { font-size: 11.5px; }
.dashboard-tv-health-head small { font-size: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.dashboard-tv-health-toggle { min-height: 26px; padding: 4px 8px; font-size: 10px; }
.dashboard-tv-health-body { padding: 8px; gap: 7px; }
.dashboard-tv-health-grid { gap: 6px; }
.dashboard-tv-health-grid span { padding: 6px 7px; border-radius: 10px; grid-template-columns: 15px minmax(58px, auto) minmax(0, 1fr); gap: 4px; }
.dashboard-tv-health-grid .icon { width: 13px; height: 13px; }
.dashboard-tv-health-grid b { font-size: 9.5px; }
.dashboard-tv-health-grid em { font-size: 10px; }
.dashboard-android-tv-actions { margin-top: 6px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.dashboard-android-tv-actions .btn { min-height: 29px; padding: 5px 8px; font-size: 10.5px; width: 100%; justify-content: center; }
.dashboard-android-tv-mini { margin-top: 8px; padding: 9px; border-radius: 13px; }
.dashboard-android-tv-mini-head { margin-bottom: 7px; gap: 7px; }
.dashboard-android-tv-mini-head > span { width: 28px; height: 28px; border-radius: 10px; }
.dashboard-android-tv-mini-head b { font-size: 12px; }
.dashboard-android-tv-mini-head small { font-size: 10px; }
.dashboard-tv-card * { min-width: 0; }


/* ================================================================
   Dashboard popup health + compact nested Android TV dialogs
   ================================================================ */
.dashboard-tv-card:has(.dashboard-android-tv-preview){
  display:grid;
  grid-template-columns:minmax(0,1fr) 148px;
  grid-template-areas:
    "main preview"
    "health preview"
    "actions preview";
  align-items:start;
  gap:8px 10px;
}
.dashboard-tv-card:has(.dashboard-android-tv-preview) .dashboard-tv-main{grid-area:main;}
.dashboard-tv-card:has(.dashboard-android-tv-preview) .dashboard-android-tv-preview{grid-area:preview;align-self:start;width:148px;justify-self:end;}
.dashboard-tv-card:has(.dashboard-android-tv-preview) .dashboard-tv-health-popup-btn{grid-area:health;}
.dashboard-tv-card:has(.dashboard-android-tv-preview) .dashboard-android-tv-actions{grid-area:actions;}
.dashboard-tv-card .dashboard-tv-copy b{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dashboard-tv-card .dashboard-tv-copy span,
.dashboard-tv-card .dashboard-tv-copy small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dashboard-tv-health-popup-btn{
  width:100%;border:1px solid rgba(44,92,113,.14);background:linear-gradient(180deg,#fff,#f8fbfc);border-radius:13px;padding:8px;display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:7px;align-items:center;text-align:left;cursor:pointer;color:#21485A;box-shadow:0 4px 12px rgba(15,23,42,.035);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.dashboard-tv-health-popup-btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(44,92,113,.12);border-color:rgba(44,92,113,.25);}
.dashboard-tv-health-popup-btn>span{width:28px;height:28px;display:grid;place-items:center;border-radius:10px;background:#e8f1f4;color:#2C5C71;}
.dashboard-tv-health-popup-btn b{display:block;font-size:11.5px;color:#0f172a;}
.dashboard-tv-health-popup-btn small{display:block;font-size:10px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dashboard-tv-health-popup-btn em{font-style:normal;display:inline-flex;align-items:center;gap:5px;font-weight:600;font-size:10px;color:#2C5C71;background:#eef6f8;border-radius:999px;padding:5px 8px;}
.dashboard-android-tv-preview{max-width:148px;}
.dashboard-android-tv-preview-head{display:grid;grid-template-columns:15px 1fr;gap:4px;align-items:center;}
.dashboard-android-tv-preview-head small{grid-column:1 / -1;max-width:100%;margin-left:0;text-align:right;}
.dashboard-android-tv-preview-frame{max-height:86px;min-height:76px;aspect-ratio:16/9;}
.dashboard-android-tv-preview-frame img{object-fit:contain;}
.dashboard-android-tv-preview-frame.sleeping{background:linear-gradient(135deg,#0f172a,#1e293b);}
.dashboard-android-tv-preview-frame.sleeping .dashboard-android-tv-preview-placeholder{color:#cbd5e1;}
.dashboard-android-tv-actions{grid-template-columns:repeat(2,minmax(0,1fr));}
.dashboard-android-tv-actions .btn:first-child{grid-column:1 / -1;}


.dashboard-android-tv-actions{flex-wrap:wrap;gap:8px}
.dashboard-android-tv-mini{margin-top:14px;padding:14px;border:1px solid rgba(44,92,113,.16);border-radius:16px;background:linear-gradient(180deg,#f8fbfc,#eef6f8)}
.dashboard-android-tv-mini-head{display:flex;align-items:center;gap:10px;margin-bottom:10px;color:#21485A}
.dashboard-android-tv-mini-head>span{width:34px;height:34px;border-radius:12px;background:#E8F1F4;display:grid;place-items:center;color:#2C5C71}
.dashboard-android-tv-mini-head b{display:block;font-size:.9rem}.dashboard-android-tv-mini-head small{display:block;color:#64748b;font-size:.78rem}.android-tv-grid span em{word-break:break-word}


@media (max-width: 900px) {
  .dashboard-tv-card { grid-template-columns: 48px minmax(0,1fr); }
  .dashboard-tv-state { grid-column: 2; justify-items: start; min-width: 0; }
  .dashboard-tv-state em { text-align: left; }
}
@media (max-width: 560px) {
  .dashboard-tv-card { grid-template-columns: 44px minmax(0,1fr); padding: 11px; }
  .dashboard-tv-orb { width: 40px; height: 40px; border-radius: 14px; }
}


@media(max-width:900px){
  .dashboard-tv-card:has(.dashboard-android-tv-preview){grid-template-columns:1fr;grid-template-areas:"main" "preview" "health" "actions";}
  .dashboard-tv-card:has(.dashboard-android-tv-preview) .dashboard-android-tv-preview{width:100%;max-width:none;justify-self:stretch;}
  .dashboard-android-tv-preview-frame{max-height:120px;}
}


/* Profile account details editor */
.profile-details-form { margin-top: 14px; }
.profile-details-form input[readonly] {
  background: #f3f6f8;
  color: var(--muted);
  cursor: not-allowed;
}
.profile-detail-compact { margin: 4px 0 0; }
.profile-detail-compact > div { padding: 10px 12px; }


body:not(.tv-body) .dash-ui-page,
body:not(.tv-body) .staff-dashboard-ui {
  display: grid !important;
  gap: 13px !important;
  width: 100% !important;
  margin: 0 auto !important;
}
body:not(.tv-body) .dash-ui-page * { box-sizing: border-box !important; }
body:not(.tv-body) .dash-ui-page .card {
  border-color: rgba(44,92,113,.12) !important;
  box-shadow: 0 12px 30px rgba(15,23,42,.06), inset 0 1px 0 rgba(255,255,255,.74) !important;
}
body:not(.tv-body) .dash-ui-emergency-banner {
  border-radius: 18px !important;
  padding: 11px 13px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
}
body:not(.tv-body) .dash-ui-hero.card {
  position: relative !important;
  overflow: hidden !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.6fr) minmax(310px, .72fr) !important;
  gap: 14px !important;
  align-items: stretch !important;
  padding: 16px !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 10% 0%, rgba(62,120,144,.28), transparent 28%),
    radial-gradient(circle at 95% 20%, rgba(44,92,113,.18), transparent 25%),
    linear-gradient(135deg, #21485A 0%, #2C5C71 54%, #3E7890 100%) !important;
  color: #fff !important;
}
body:not(.tv-body) .dash-ui-hero.card.danger {
  background:
    radial-gradient(circle at 10% 0%, rgba(251,191,36,.28), transparent 28%),
    radial-gradient(circle at 95% 20%, rgba(239,68,68,.24), transparent 25%),
    linear-gradient(135deg, #7f1d1d 0%, #b91c1c 54%, #d97706 100%) !important;
}
body:not(.tv-body) .dash-ui-hero-main {
  position: relative !important;
  z-index: 1 !important;
  display: grid !important;
  gap: 12px !important;
  align-content: center !important;
  min-width: 0 !important;
}
body:not(.tv-body) .dash-ui-hero-kicker {
  width: fit-content !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 5px 9px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.14) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  color: rgba(255,255,255,.92) !important;
  font-size: 10.8px !important;
  font-weight: 600 !important;
  letter-spacing: .045em !important;
  text-transform: uppercase !important;
}
body:not(.tv-body) .dash-ui-hero-kicker .icon { width: 14px !important; height: 14px !important; }
body:not(.tv-body) .dash-ui-hero-title-row {
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
}
body:not(.tv-body) .dash-ui-hero-icon {
  width: 48px !important;
  height: 48px !important;
  border-radius: 17px !important;
  display: grid !important;
  place-items: center !important;
  background: rgba(255,255,255,.16) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18) !important;
}
body:not(.tv-body) .dash-ui-hero-icon .icon { width: 23px !important; height: 23px !important; }
body:not(.tv-body) .dash-ui-hero h2 {
  margin: 0 !important;
  color: #fff !important;
  font-size: clamp(19px, 2.15vw, 28px) !important;
  line-height: 1.08 !important;
  font-weight: 700 !important;
  letter-spacing: -.01em !important;
}
body:not(.tv-body) .dash-ui-hero p {
  margin: 5px 0 0 !important;
  max-width: 760px !important;
  color: rgba(255,255,255,.78) !important;
  font-size: 12.4px !important;
  line-height: 1.45 !important;
  font-weight: 580 !important;
}
body:not(.tv-body) .dash-ui-hero-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}
body:not(.tv-body) .dash-ui-hero-actions .btn {
  min-height: 36px !important;
  border-radius: 11px !important;
  box-shadow: 0 8px 20px rgba(15,23,42,.16) !important;
}
body:not(.tv-body) .dash-ui-live-card {
  position: relative !important;
  z-index: 1 !important;
  display: grid !important;
  gap: 12px !important;
  min-width: 0 !important;
  padding: 14px !important;
  border-radius: 20px !important;
  background: rgba(255,255,255,.13) !important;
  border: 1px solid rgba(255,255,255,.20) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18) !important;
}
body:not(.tv-body) .dash-ui-live-top {
  display: grid !important;
  grid-template-columns: 42px minmax(0,1fr) !important;
  align-items: center !important;
  gap: 10px !important;
}
body:not(.tv-body) .dash-ui-live-icon {
  width: 42px !important;
  height: 42px !important;
  border-radius: 15px !important;
  display: grid !important;
  place-items: center !important;
  background: rgba(255,255,255,.18) !important;
  color: #fff !important;
}
body:not(.tv-body) .dash-ui-live-card.ok .dash-ui-live-icon { box-shadow: 0 0 0 5px rgba(34,197,94,.12) !important; }
body:not(.tv-body) .dash-ui-live-card.danger .dash-ui-live-icon { box-shadow: 0 0 0 5px rgba(239,68,68,.13) !important; }
body:not(.tv-body) .dash-ui-live-icon .icon { width: 21px !important; height: 21px !important; }
body:not(.tv-body) .dash-ui-live-card b {
  display: block !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
}
body:not(.tv-body) .dash-ui-live-card small {
  display: block !important;
  margin-top: 2px !important;
  color: rgba(255,255,255,.75) !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}
body:not(.tv-body) .dash-ui-progress-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  color: rgba(255,255,255,.76) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
}
body:not(.tv-body) .dash-ui-progress-row strong { color: #fff !important; font-weight: 600 !important; }
body:not(.tv-body) .dash-ui-progress {
  height: 8px !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  background: rgba(255,255,255,.18) !important;
  box-shadow: inset 0 1px 3px rgba(15,23,42,.18) !important;
}
body:not(.tv-body) .dash-ui-progress i {
  display: block !important;
  height: 100% !important;
  border-radius: inherit !important;
  background: linear-gradient(90deg, #bbf7d0, #22c55e) !important;
}
body:not(.tv-body) .dash-ui-live-card.danger .dash-ui-progress i { background: linear-gradient(90deg, #fed7aa, #f97316) !important; }
body:not(.tv-body) .dash-ui-live-stats {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 7px !important;
}
body:not(.tv-body) .dash-ui-live-stats span {
  padding: 8px !important;
  border-radius: 13px !important;
  background: rgba(255,255,255,.12) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  text-align: center !important;
}
body:not(.tv-body) .dash-ui-live-stats b { font-size: 16px !important; }
body:not(.tv-body) .dash-ui-live-stats small { margin: 0 !important; font-size: 10px !important; }
body:not(.tv-body) .dash-ui-metric-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  gap: 10px !important;
}
body:not(.tv-body) .dash-ui-metric-card.card {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) 42px !important;
  gap: 9px !important;
  align-items: center !important;
  min-height: 86px !important;
  padding: 13px !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbfc 100%) !important;
}
body:not(.tv-body) .dash-ui-metric-copy span {
  display: block !important;
  color: #64748b !important;
  font-size: 10.5px !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  font-weight: 600 !important;
}
body:not(.tv-body) .dash-ui-metric-copy b {
  display: block !important;
  margin-top: 2px !important;
  color: #0f172a !important;
  font-size: 22px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
}
body:not(.tv-body) .dash-ui-metric-copy small {
  display: block !important;
  margin-top: 5px !important;
  color: #64748b !important;
  font-size: 10.8px !important;
  font-weight: 620 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
body:not(.tv-body) .dash-ui-metric-icon {
  width: 42px !important;
  height: 42px !important;
  border-radius: 15px !important;
  display: grid !important;
  place-items: center !important;
  color: #21485A !important;
  background: linear-gradient(135deg, #E8F1F4, #D6E5EA) !important;
}
body:not(.tv-body) .dash-ui-metric-icon .icon { width: 20px !important; height: 20px !important; }
body:not(.tv-body) .dash-ui-panel.card,
body:not(.tv-body) .dash-ui-action-centre.card {
  padding: 13px !important;
  border-radius: 22px !important;
  background: rgba(255,255,255,.94) !important;
}
body:not(.tv-body) .dash-ui-panel-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  margin-bottom: 12px !important;
}
body:not(.tv-body) .dash-ui-panel-head > div {
  display: grid !important;
  grid-template-columns: 36px minmax(0,1fr) !important;
  gap: 9px !important;
  align-items: center !important;
  min-width: 0 !important;
}
body:not(.tv-body) .dash-ui-panel-head > div > span {
  width: 36px !important;
  height: 36px !important;
  border-radius: 13px !important;
  display: grid !important;
  place-items: center !important;
  background: linear-gradient(135deg, #21485A, #3E7890) !important;
  color: #fff !important;
}
body:not(.tv-body) .dash-ui-panel-head .icon { width: 17px !important; height: 17px !important; }
body:not(.tv-body) .dash-ui-panel-head h2 {
  margin: 0 !important;
  color: #21485A !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  letter-spacing: -.015em !important;
}
body:not(.tv-body) .dash-ui-panel-head p {
  grid-column: 2 !important;
  margin: -2px 0 0 !important;
  color: #64748b !important;
  font-size: 11.4px !important;
  font-weight: 620 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
body:not(.tv-body) .dash-ui-action-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 8px !important;
}
body:not(.tv-body) .dash-ui-action-item {
  display: grid !important;
  grid-template-columns: 34px minmax(0,1fr) auto !important;
  gap: 8px !important;
  align-items: center !important;
  min-width: 0 !important;
  padding: 10px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(44,92,113,.12) !important;
  background: #f8fafc !important;
}
body:not(.tv-body) .dash-ui-action-item.ok { background: #f0fdf4 !important; border-color: #bbf7d0 !important; }
body:not(.tv-body) .dash-ui-action-item.warning { background: #fffbeb !important; border-color: #fde68a !important; }
body:not(.tv-body) .dash-ui-action-item.danger { background: #fef2f2 !important; border-color: #fecaca !important; }
body:not(.tv-body) .dash-ui-action-item.info { background: #f0f9ff !important; border-color: #bae6fd !important; }
body:not(.tv-body) .dash-ui-action-icon {
  width: 34px !important;
  height: 34px !important;
  border-radius: 12px !important;
  display: grid !important;
  place-items: center !important;
  color: #21485A !important;
  background: #E8F1F4 !important;
}
body:not(.tv-body) .dash-ui-action-item.ok .dash-ui-action-icon { color: #047857 !important; background: #dcfce7 !important; }
body:not(.tv-body) .dash-ui-action-item.warning .dash-ui-action-icon { color: #b45309 !important; background: #fef3c7 !important; }
body:not(.tv-body) .dash-ui-action-item.danger .dash-ui-action-icon { color: #b91c1c !important; background: #fee2e2 !important; }
body:not(.tv-body) .dash-ui-action-icon .icon { width: 16px !important; height: 16px !important; }
body:not(.tv-body) .dash-ui-action-item b {
  display: block !important;
  color: #0f172a !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
body:not(.tv-body) .dash-ui-action-item small {
  display: block !important;
  margin-top: 2px !important;
  color: #64748b !important;
  font-size: 10.7px !important;
  font-weight: 620 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
body:not(.tv-body) .dash-ui-main-grid {
  display: grid !important;
  grid-template-columns: minmax(330px, .9fr) minmax(0, 1.45fr) !important;
  gap: 13px !important;
  align-items: start !important;
}
body:not(.tv-body) .dash-ui-quick-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 8px !important;
}
body:not(.tv-body) .dash-ui-quick-action {
  width: 100% !important;
  min-height: 68px !important;
  display: grid !important;
  grid-template-columns: 36px minmax(0,1fr) !important;
  align-items: center !important;
  gap: 9px !important;
  padding: 10px !important;
  border: 1px solid rgba(44,92,113,.12) !important;
  border-radius: 16px !important;
  background: linear-gradient(180deg, #ffffff, #f8fbfc) !important;
  color: #0f172a !important;
  text-align: left !important;
  cursor: pointer !important;
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease, background .14s ease !important;
}
body:not(.tv-body) .dash-ui-quick-action:hover {
  transform: translateY(-1px) !important;
  border-color: rgba(44,92,113,.28) !important;
  background: linear-gradient(180deg, #f8fbfc, #E8F1F4) !important;
  box-shadow: 0 12px 24px rgba(44,92,113,.10) !important;
}
body:not(.tv-body) .dash-ui-quick-action > span {
  width: 36px !important;
  height: 36px !important;
  border-radius: 13px !important;
  display: grid !important;
  place-items: center !important;
  background: #E8F1F4 !important;
  color: #21485A !important;
}
body:not(.tv-body) .dash-ui-quick-action .icon { width: 17px !important; height: 17px !important; }
body:not(.tv-body) .dash-ui-quick-action b {
  display: block !important;
  color: #0f172a !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
body:not(.tv-body) .dash-ui-quick-action small {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  color: #64748b !important;
  font-size: 10.8px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
}
body:not(.tv-body) .dash-ui-tv-summary {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin-bottom: 10px !important;
}
body:not(.tv-body) .dash-ui-tv-summary span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 5px 9px !important;
  border-radius: 999px !important;
  border: 1px solid #cbd5e1 !important;
  background: #f8fafc !important;
  color: #475569 !important;
  font-size: 10.5px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}
body:not(.tv-body) .dash-ui-tv-summary .icon { width: 12px !important; height: 12px !important; }
body:not(.tv-body) .dash-ui-tv-summary .active { background: #ecfdf5 !important; border-color: #bbf7d0 !important; color: #047857 !important; }
body:not(.tv-body) .dash-ui-tv-summary .inactive { background: #f8fafc !important; border-color: #cbd5e1 !important; color: #64748b !important; }
body:not(.tv-body) .dash-ui-tv-summary .disabled { background: #fffbeb !important; border-color: #fde68a !important; color: #b45309 !important; }
body:not(.tv-body) .dash-ui-tv-grid {
  display: grid !important;
  gap: 9px !important;
  max-height: 590px !important;
  overflow-y: auto !important;
  padding-right: 3px !important;
  scrollbar-width: thin !important;
  scrollbar-color: #A9C7D2 transparent !important;
}
body:not(.tv-body) .dash-ui-tv-grid::-webkit-scrollbar { width: 5px !important; }
body:not(.tv-body) .dash-ui-tv-grid::-webkit-scrollbar-thumb { background: #A9C7D2 !important; border-radius: 99px !important; }
body:not(.tv-body) .dash-ui-tv-card {
  position: relative !important;
  isolation: isolate !important;
  display: grid !important;
  gap: 8px !important;
  padding: 10px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(44,92,113,.12) !important;
  background: linear-gradient(180deg, #ffffff, #f8fbfc) !important;
  box-shadow: 0 8px 20px rgba(15,23,42,.05) !important;
  overflow: hidden !important;
}
body:not(.tv-body) .dash-ui-tv-card::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 12px !important;
  bottom: 12px !important;
  width: 4px !important;
  border-radius: 0 999px 999px 0 !important;
  background: #94a3b8 !important;
}
body:not(.tv-body) .dash-ui-tv-card.active { background: linear-gradient(135deg, #f8fff9, #ecfdf5) !important; border-color: #bbf7d0 !important; }
body:not(.tv-body) .dash-ui-tv-card.active::before { background: #22c55e !important; box-shadow: 0 0 16px rgba(34,197,94,.42) !important; }
body:not(.tv-body) .dash-ui-tv-card.disabled { background: linear-gradient(135deg, #fffbeb, #fff7ed) !important; border-color: #fde68a !important; }
body:not(.tv-body) .dash-ui-tv-card.disabled::before { background: #f59e0b !important; }
body:not(.tv-body) .dash-ui-tv-head {
  display: grid !important;
  grid-template-columns: 38px minmax(0,1fr) auto !important;
  gap: 8px !important;
  align-items: center !important;
}
body:not(.tv-body) .dash-ui-tv-orb {
  width: 38px !important;
  height: 38px !important;
  border-radius: 14px !important;
  display: grid !important;
  place-items: center !important;
  color: #475569 !important;
  background: #e2e8f0 !important;
}
body:not(.tv-body) .dash-ui-tv-card.active .dash-ui-tv-orb { color: #047857 !important; background: #dcfce7 !important; box-shadow: 0 0 0 5px rgba(34,197,94,.10) !important; }
body:not(.tv-body) .dash-ui-tv-card.disabled .dash-ui-tv-orb { color: #b45309 !important; background: #fef3c7 !important; }
body:not(.tv-body) .dash-ui-tv-orb .icon { width: 18px !important; height: 18px !important; }
body:not(.tv-body) .dash-ui-tv-title { min-width: 0 !important; }
body:not(.tv-body) .dash-ui-tv-title b {
  display: block !important;
  color: #0f172a !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
body:not(.tv-body) .dash-ui-tv-title span {
  display: block !important;
  margin-top: 1px !important;
  color: #64748b !important;
  font-size: 10.7px !important;
  font-weight: 620 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
body:not(.tv-body) .dash-ui-tv-badge {
  padding: 4px 8px !important;
  border-radius: 999px !important;
  background: #e2e8f0 !important;
  color: #475569 !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}
body:not(.tv-body) .dash-ui-tv-card.active .dash-ui-tv-badge { background: #bbf7d0 !important; color: #047857 !important; }
body:not(.tv-body) .dash-ui-tv-card.disabled .dash-ui-tv-badge { background: #fef3c7 !important; color: #92400e !important; }
body:not(.tv-body) .dash-ui-tv-meta {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 6px !important;
}
body:not(.tv-body) .dash-ui-tv-meta span {
  display: grid !important;
  grid-template-columns: 15px minmax(48px, auto) minmax(0,1fr) !important;
  gap: 4px !important;
  align-items: center !important;
  min-width: 0 !important;
  padding: 6px 7px !important;
  border-radius: 11px !important;
  border: 1px solid rgba(44,92,113,.10) !important;
  background: rgba(255,255,255,.72) !important;
}
body:not(.tv-body) .dash-ui-tv-meta .icon { width: 13px !important; height: 13px !important; color: #2C5C71 !important; }
body:not(.tv-body) .dash-ui-tv-meta b { color: #475569 !important; font-size: 9.8px !important; font-weight: 600 !important; }
body:not(.tv-body) .dash-ui-tv-meta em {
  min-width: 0 !important;
  color: #0f172a !important;
  font-style: normal !important;
  font-size: 10px !important;
  font-weight: 650 !important;
  text-align: right !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
body:not(.tv-body) .dash-ui-health-btn {
  width: 100% !important;
  min-height: 42px !important;
  display: grid !important;
  grid-template-columns: 30px minmax(0,1fr) auto !important;
  gap: 7px !important;
  align-items: center !important;
  padding: 7px !important;
  border-radius: 13px !important;
  border: 1px solid rgba(44,92,113,.12) !important;
  background: rgba(255,255,255,.82) !important;
  color: #21485A !important;
  text-align: left !important;
  cursor: pointer !important;
}
body:not(.tv-body) .dash-ui-health-btn:hover { border-color: #A9C7D2 !important; background: #E8F1F4 !important; }
body:not(.tv-body) .dash-ui-health-btn > span {
  width: 30px !important;
  height: 30px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 10px !important;
  background: #E8F1F4 !important;
  color: #21485A !important;
}
body:not(.tv-body) .dash-ui-health-btn .icon { width: 14px !important; height: 14px !important; }
body:not(.tv-body) .dash-ui-health-btn b {
  display: block !important;
  color: #0f172a !important;
  font-size: 11.2px !important;
  font-weight: 600 !important;
}
body:not(.tv-body) .dash-ui-health-btn small {
  display: block !important;
  color: #64748b !important;
  font-size: 9.8px !important;
  font-weight: 620 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
body:not(.tv-body) .dash-ui-health-btn em {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 5px 8px !important;
  border-radius: 999px !important;
  background: #E8F1F4 !important;
  color: #21485A !important;
  font-style: normal !important;
  font-size: 9.6px !important;
  font-weight: 600 !important;
}
body:not(.tv-body) .dash-ui-tv-actions {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 6px !important;
}
body:not(.tv-body) .dash-ui-tv-actions .btn { width: 100% !important; justify-content: center !important; min-height: 31px !important; font-size: 10.5px !important; padding: 5px 7px !important; }
body:not(.tv-body) .dash-ui-tv-actions .btn:first-child:last-child { grid-column: 1 / -1 !important; }
body:not(.tv-body) .dash-ui-android-preview {
  display: grid !important;
  gap: 6px !important;
  padding: 7px !important;
  border-radius: 13px !important;
  border: 1px solid rgba(44,92,113,.12) !important;
  background: rgba(255,255,255,.74) !important;
}
body:not(.tv-body) .dash-ui-android-preview-head {
  display: grid !important;
  grid-template-columns: 16px minmax(0,1fr) auto !important;
  gap: 5px !important;
  align-items: center !important;
  color: #21485A !important;
}
body:not(.tv-body) .dash-ui-android-preview-head .icon { width: 13px !important; height: 13px !important; }
body:not(.tv-body) .dash-ui-android-preview-head b { font-size: 10.8px !important; color: #21485A !important; font-weight: 600 !important; }
body:not(.tv-body) .dash-ui-android-preview-head small { color: #64748b !important; font-size: 9.5px !important; font-weight: 620 !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }
body:not(.tv-body) .dash-ui-preview-frame {
  position: relative !important;
  aspect-ratio: 16/9 !important;
  max-height: 126px !important;
  min-height: 86px !important;
  width: 100% !important;
  border-radius: 11px !important;
  overflow: hidden !important;
  display: grid !important;
  place-items: center !important;
  background: #020617 !important;
  border: 1px solid rgba(15,23,42,.18) !important;
}
body:not(.tv-body) .dash-ui-preview-frame img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  z-index: 2 !important;
  background: #020617 !important;
}
body:not(.tv-body) .dash-ui-preview-placeholder {
  position: absolute !important;
  inset: 0 !important;
  display: grid !important;
  place-items: center !important;
  align-content: center !important;
  gap: 4px !important;
  padding: 8px !important;
  color: #94a3b8 !important;
  font-size: 10.5px !important;
  font-weight: 650 !important;
  text-align: center !important;
}
body:not(.tv-body) .dash-ui-preview-placeholder .icon { width: 18px !important; height: 18px !important; }
body:not(.tv-body) .dash-ui-flow-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 10px !important;
}
body:not(.tv-body) .dash-ui-flow-card.card {
  display: grid !important;
  grid-template-columns: 40px minmax(0,1fr) !important;
  align-items: center !important;
  gap: 9px !important;
  padding: 12px !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, #ffffff, #f8fbfc) !important;
}
body:not(.tv-body) .dash-ui-flow-card > span {
  width: 40px !important;
  height: 40px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, #21485A, #3E7890) !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 600 !important;
}
body:not(.tv-body) .dash-ui-flow-card b { display: block !important; color: #0f172a !important; font-size: 12.5px !important; font-weight: 600 !important; }
body:not(.tv-body) .dash-ui-flow-card p { margin: 2px 0 0 !important; color: #64748b !important; font-size: 10.8px !important; font-weight: 620 !important; }
body:not(.tv-body) .dash-ui-empty { padding: 18px !important; border-radius: 16px !important; background: #f8fafc !important; border: 1px dashed #cbd5e1 !important; color: #64748b !important; text-align: center !important; }

@media (max-width: 1280px) {
  body:not(.tv-body) .dash-ui-main-grid { grid-template-columns: 1fr !important; }
  body:not(.tv-body) .dash-ui-tv-grid { max-height: none !important; }
}
@media (max-width: 1060px) {
  body:not(.tv-body) .dash-ui-hero.card { grid-template-columns: 1fr !important; }
  body:not(.tv-body) .dash-ui-action-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  body:not(.tv-body) .dash-ui-metric-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}
@media (max-width: 760px) {
  body:not(.tv-body) .dash-ui-hero.card { padding: 13px !important; border-radius: 20px !important; }
  body:not(.tv-body) .dash-ui-hero-title-row { grid-template-columns: 42px minmax(0,1fr) !important; }
  body:not(.tv-body) .dash-ui-hero-icon { width: 42px !important; height: 42px !important; border-radius: 14px !important; }
  body:not(.tv-body) .dash-ui-hero-actions .btn { width: 100% !important; justify-content: center !important; }
  body:not(.tv-body) .dash-ui-panel-head { align-items: flex-start !important; flex-direction: column !important; }
  body:not(.tv-body) .dash-ui-panel-head > div { width: 100% !important; }
  body:not(.tv-body) .dash-ui-panel-head p { white-space: normal !important; }
  body:not(.tv-body) .dash-ui-action-grid,
  body:not(.tv-body) .dash-ui-quick-grid,
  body:not(.tv-body) .dash-ui-flow-grid,
  body:not(.tv-body) .dash-ui-metric-grid { grid-template-columns: 1fr !important; }
  body:not(.tv-body) .dash-ui-tv-meta { grid-template-columns: 1fr !important; }
  body:not(.tv-body) .dash-ui-tv-actions { grid-template-columns: 1fr !important; }
  body:not(.tv-body) .dash-ui-tv-head { grid-template-columns: 36px minmax(0,1fr) !important; }
  body:not(.tv-body) .dash-ui-tv-badge { grid-column: 1 / -1 !important; width: fit-content !important; }
  body:not(.tv-body) .dash-ui-health-btn { grid-template-columns: 30px minmax(0,1fr) !important; }
  body:not(.tv-body) .dash-ui-health-btn em { grid-column: 1 / -1 !important; justify-content: center !important; }
  body:not(.tv-body) .dash-ui-emergency-banner { align-items: stretch !important; flex-direction: column !important; }
}
