/* LifeTv panel identity. App preview canvases keep the customer's own colors. */
:root {
  --life-cyan:#009fff;
  --life-blue:#2563eb;
  --life-purple:#7900b8;
  --life-focus:#65c9ff;
  --life-violet:#c5adff;
  --life-bg:#0b0e17;
  --life-surface:#101522;
  --life-raised:#172136;
  --life-input:#121c2e;
  --life-border:#2b3b57;
  --life-text:#edf3ff;
  --life-muted:#acb9d0;
  --life-dim:#93a6c5;
  --life-mark:linear-gradient(135deg,var(--life-cyan),var(--life-purple));
  --life-button:linear-gradient(110deg,#176bc2,#6830be);
  --life-button-hover:linear-gradient(110deg,#145fae,#5925a9);
  --life-selected:linear-gradient(110deg,#143557,#34214e);
  --life-card:linear-gradient(135deg,#121d30,#171a2d);
  --life-highlight:linear-gradient(120deg,#123961,#322050);
  --life-overlay:#050916cf;
  --life-chart-roku:#bc96ff;
  --life-chart-android:#719aff;
  --life-chart-firetv:#43c8ff;
  --life-chart-ios:#d69be8;
  --life-chart-other:#a2b8da;
  --life-chart-unknown:#6d819f;
}
body.admin-ui.lifetv-panel,body.lifetv-activation {
  --bg:var(--life-bg);--bg2:var(--life-surface);--bg3:var(--life-raised);
  --card:var(--life-surface);--border:var(--life-border);
  --accent:var(--life-focus);--accent2:var(--life-violet);--green:var(--life-focus);
  --text:var(--life-text);--text2:var(--life-muted);--text3:var(--life-dim);
  --text-secondary:var(--life-muted);
  --deep-blue:var(--life-bg);--dark-gray:var(--life-raised);--accent-blue:var(--life-focus);
  --text-main:var(--life-text);--text-muted:var(--life-muted);
  --glass-bg:var(--life-surface);--glass-border:var(--life-border);
  color:var(--life-text);
  background:radial-gradient(ellipse at 95% 0%,#7900b80a,transparent 45%),var(--life-bg);
}
/* Persistent navigation */
body.admin-ui.lifetv-panel .sidebar{background:var(--life-surface);border-color:var(--life-border)}
body.admin-ui.lifetv-panel .logo-icon,
body.lifetv-activation .logo-box{background:var(--life-mark);border:0;color:#fff}
body.admin-ui.lifetv-panel .topbar{background:linear-gradient(100deg,#101a2cf5,#151226f5);border-color:var(--life-border)}
body.admin-ui.lifetv-panel .nav-item.active{background:var(--life-selected);color:var(--life-focus);box-shadow:inset 2px 0 var(--life-focus)}
body.admin-ui.lifetv-panel .nav-item:hover{background:#1b2a41}
body.admin-ui.lifetv-panel .user-badge{background:#172037}
body.admin-ui.lifetv-panel .user-avatar{background:linear-gradient(130deg,#164168,#442763);color:#e9edff}
body.admin-ui.lifetv-panel .sidebar-footer{border-color:var(--life-border)}
body.admin-ui.lifetv-panel .workspace-label{background:#151d32;border-color:#374362;color:#c3d1e8}
/* Shared surfaces and forms */
body.admin-ui.lifetv-panel :is(.card,.analytics-panel,.team-editor,.team-directory){background:var(--life-card);border-color:var(--life-border)}
body.admin-ui.lifetv-panel .card-header{background:linear-gradient(100deg,#15233a,#201c37);border-color:var(--life-border)}
body.admin-ui.lifetv-panel .card-title{color:var(--life-text)}
body.admin-ui.lifetv-panel :is(th,.team-space th){background:#121b2d;border-color:var(--life-border);color:var(--life-muted)}
body.admin-ui.lifetv-panel td{border-color:#263650;color:#c7d5ec}
body.admin-ui.lifetv-panel tr:hover td{background:#25345033}
body.admin-ui.lifetv-panel .form-control,
body.lifetv-activation .form-control{background:var(--life-input);border-color:#354765;color:var(--life-text)}
body.admin-ui.lifetv-panel .form-control::placeholder{color:var(--life-dim)}
body.admin-ui.lifetv-panel .form-control:focus,
body.lifetv-activation .form-control:focus{border-color:var(--life-focus);box-shadow:0 0 0 3px #009fff1c}
body.admin-ui.lifetv-panel .form-label{color:#cbd8f0}
body.admin-ui.lifetv-panel :is(.form-hint,.hint,.pv-screen-name){color:var(--life-muted)}
body.admin-ui.lifetv-panel :is(.btn-primary,.btn-success),
body.lifetv-activation .btn-activate{background:var(--life-button);border-color:transparent;color:#fff}
body.admin-ui.lifetv-panel :is(.btn-primary,.btn-success):hover,
body.lifetv-activation .btn-activate:hover{background:var(--life-button-hover);box-shadow:0 6px 18px #15285766}
body.admin-ui.lifetv-panel .btn-secondary{background:#1b2840;border-color:#354967;color:#e0eaff}
body.admin-ui.lifetv-panel .btn-secondary:hover{background:#253652;border-color:#6b7cac}
body.admin-ui.lifetv-panel .btn-restore{border-color:#526285;color:#ccd8ef}
body.admin-ui.lifetv-panel .btn-restore:hover{border-color:#ff9393;color:#ff9393}
body.admin-ui.lifetv-panel .btn-danger{background:#6c2d43;color:#fff}
body.admin-ui.lifetv-panel .btn-danger:hover{background:#863650}
body.admin-ui.lifetv-panel :is(.badge-green,.badge-blue){background:#009fff1a;color:#95dcff}
body.admin-ui.lifetv-panel .badge-gray{background:#a293d417;color:#c8c8e4}
body.admin-ui.lifetv-panel :is(.alert-success,.alert-info,.panel-readonly){background:#112d49;border-color:#315775;color:#b9e6ff}
body.admin-ui.lifetv-panel .text-green{color:var(--life-focus)}
body.admin-ui.lifetv-panel .toggle input:checked+.slider,
body.admin-ui.lifetv-panel .switch input:checked+.slider{background:var(--life-button);border-color:#7777c2}
body.admin-ui.lifetv-panel .switch .slider{background:#29354b}
body.admin-ui.lifetv-panel .toggle input:focus-visible+.slider,
body.admin-ui.lifetv-panel .switch input:focus-visible+.slider{outline:2px solid var(--life-focus);outline-offset:4px}
body.admin-ui.lifetv-panel :focus-visible{outline-color:var(--life-focus)}
body.admin-ui.lifetv-panel input[type=checkbox]{accent-color:var(--life-blue)}
body.admin-ui.lifetv-panel :is(.stat-card,.team-metrics article){background:var(--life-card);border-color:var(--life-border)}
body.admin-ui.lifetv-panel .stat-card.blue,
body.admin-ui.lifetv-panel .team-metrics article:first-child{background:var(--life-highlight);border-color:#475681}
body.admin-ui.lifetv-panel .stat-card.blue :is(.stat-value,.stat-label,.stat-icon){color:#d9ecff}
body.admin-ui.lifetv-panel :is(.workspace-shortcuts>a,.url-box){background:#15223a;border-color:var(--life-border)}
body.admin-ui.lifetv-panel .url-box{color:var(--life-focus)}
body.admin-ui.lifetv-panel .grp-banner{background:linear-gradient(100deg,#153453,#2d214655);border-left-color:var(--life-focus)}
/* Dashboard: same identity, distinct series, unchanged data and scales. */
body.admin-ui.lifetv-panel .analytics-dashboard{--cyan:var(--life-focus);--muted:var(--life-muted)}
body.admin-ui.lifetv-panel .metric{background:var(--life-card);border-color:var(--life-border)}
body.admin-ui.lifetv-panel .metric-featured{background:var(--life-highlight);border-color:#465e89}
body.admin-ui.lifetv-panel .metric-featured .metric-value{color:#b4e7ff}
body.admin-ui.lifetv-panel .metric-featured .metric-label>i{color:var(--life-violet)}
body.admin-ui.lifetv-panel :is(.analytics-heading h1>span,.team-heading h1 span){color:var(--life-violet)}
body.admin-ui.lifetv-panel :is(.period-switch,.chart-mode){background:#131c30;border-color:#344361}
body.admin-ui.lifetv-panel :is(.period-switch a,.chart-mode a)[aria-current]{background:var(--life-selected);color:#eef3ff}
body.admin-ui.lifetv-panel :is(.period-switch a,.chart-mode a):hover{background:#283c58;color:#fff}
body.admin-ui.lifetv-panel .evolution-panel{background:radial-gradient(ellipse at 5% 40%,#009fff0e,transparent 65%),var(--life-card)}
body.admin-ui.lifetv-panel .platform-card{background:var(--life-card);border-color:var(--life-border)}
body.admin-ui.lifetv-panel .platform-card:is(:hover,.selected){background:#202943;border-color:var(--platform-color)}
body.admin-ui.lifetv-panel .platform-symbol{background:#23324c}
body.admin-ui.lifetv-panel .platform-legend.selected{background:#29243f;border-color:#655087}
body.admin-ui.lifetv-panel .platform-legend:hover{background:#23334c}
body.admin-ui.lifetv-panel .chart-key>i{background:var(--life-focus);box-shadow:0 0 9px #009fff66}
body.admin-ui.lifetv-panel .chart-grid-line{stroke:#2d3b58}
body.admin-ui.lifetv-panel .chart-hit{fill:var(--life-focus)}
body.admin-ui.lifetv-panel .chart-empty{background:#131c2ff2}
body.admin-ui.lifetv-panel .enabled-badge{color:#95dcff}
body.admin-ui.lifetv-panel .enabled-badge>i{background:var(--life-focus)}
/* Team directory and permission editor */
body.admin-ui.lifetv-panel .team-space{--team-cyan:var(--life-focus);--team-muted:var(--life-muted)}
body.admin-ui.lifetv-panel .team-dot{background:var(--life-focus);box-shadow:0 0 14px #009fff55}
body.admin-ui.lifetv-panel .team-avatar{background:linear-gradient(135deg,#17416a,#41265e);border-color:#4b5982;color:#dceaff}
body.admin-ui.lifetv-panel .team-role{background:#38264f;color:#d8c3ff}
body.admin-ui.lifetv-panel .team-role.is-monitor{background:#1b3452;color:#a3ddff}
body.admin-ui.lifetv-panel .team-status.is-enabled{color:#95dcff}
body.admin-ui.lifetv-panel .team-status.is-enabled i{background:var(--life-focus)}
body.admin-ui.lifetv-panel :is(.team-permission-tags span,.permission-list,.permission-row){border-color:var(--life-border)}
body.admin-ui.lifetv-panel .team-permission-tags span{background:#19233b;color:#c5d4ef}
body.admin-ui.lifetv-panel .team-chip{background:#2b214333;border-color:#625080;color:#d4c5f5}
body.admin-ui.lifetv-panel .team-search{background:var(--life-input);border-color:#354765}
body.admin-ui.lifetv-panel .team-note{background:linear-gradient(105deg,#102a43,#251b39);border-color:#3b4669}
/* Dialogs, API tools and feedback */
body.admin-ui.lifetv-panel :is(.sec-modal,#editModal>div,#activateModal>div,#demoActivateModal>div){background:var(--life-card);border-color:#48577d}
body.admin-ui.lifetv-panel :is(.sec-overlay,#editModal,#activateModal,#demoActivateModal){background:var(--life-overlay)!important;backdrop-filter:blur(5px)}
body.admin-ui.lifetv-panel .sec-modal-head{background:var(--life-selected);border-color:var(--life-border)}
body.admin-ui.lifetv-panel :is(.apikey-tab.active,.tab-btn.active){background:var(--life-button);border-color:#5368a7;color:#fff}
body.admin-ui.lifetv-panel .panel-toast{color:#fff;background:var(--life-button)}
body.admin-ui.lifetv-panel .panel-toast.is-error{background:#822b47}
/* The separate activation page is part of the same panel. */
body.lifetv-activation{color-scheme:dark;background:radial-gradient(ellipse at 0% 10%,#009fff18,transparent 60%),radial-gradient(ellipse at 100% 90%,#7900b830,transparent 60%),var(--life-bg)}
body.lifetv-activation .card{background:var(--life-card);border-color:#3b4a6a}
body.lifetv-activation :is(.step,.captcha-box){background:var(--life-input);border-color:var(--life-border)}
body.lifetv-activation .form-control::placeholder{color:var(--life-dim)}
body.lifetv-activation :is(.form-hint,.footer){color:var(--life-dim)}
body.lifetv-activation :is(.alert-ok,.success-icon){background:#009fff15;border-color:#327da6;color:var(--life-focus)}
body.lifetv-activation .captcha-box.done{background:#16324f;border-color:var(--life-focus)}
body.lifetv-activation .cbx-ok path{fill:var(--life-focus)}
body.lifetv-activation :focus-visible{outline:2px solid var(--life-focus);outline-offset:4px}
body.lifetv-access{margin:0;min-height:100vh;display:grid;place-items:center;padding:24px;box-sizing:border-box;background:radial-gradient(ellipse at top left,#009fff18,transparent 60%),radial-gradient(ellipse at bottom right,#7900b825,transparent 60%),var(--life-bg);color:var(--life-text);font:16px/1.6 system-ui;color-scheme:dark}
body.lifetv-access main{width:min(100%,560px);padding:32px;box-sizing:border-box;background:var(--life-card);border:1px solid var(--life-border);border-radius:20px}
body.lifetv-access h1{margin:0 0 12px;font-size:28px}
body.lifetv-access p{color:var(--life-muted);margin:0 0 24px}
body.lifetv-access a{display:inline-block;padding:10px 18px;border-radius:10px;background:var(--life-button);color:#fff;text-decoration:none}
body.lifetv-access a:hover{background:var(--life-button-hover)}
body.lifetv-access a:focus-visible{outline:2px solid var(--life-focus);outline-offset:4px}
@media(prefers-reduced-motion:reduce){body.lifetv-panel *,body.lifetv-activation *{transition:none!important;animation:none!important}}
