:root{
  --ktv-bg:#050705;
  --ktv-surface:#090f0b;
  --ktv-surface-2:#0d1510;
  --ktv-line:#1c2b21;
  --ktv-line-2:#26382b;
  --ktv-text:#f3fff5;
  --ktv-soft:#b8cabc;
  --ktv-muted:#7f9185;
  --ktv-accent:#7ee787;
  --ktv-accent-2:#47c46b;
  --ktv-warn:#f5c542;
  --ktv-danger:#ef7166;
}
body{
  background:radial-gradient(circle at 10% 0%,rgba(126,231,135,.08),transparent 32%),#050705!important;
}
.ktv-sidebar{
  background:#050805!important;
  border-right:1px solid #162119!important;
}
.ktv-topbar{
  background:rgba(5,8,5,.94)!important;
  border-bottom:1px solid #162119!important;
}
.ktv-nav-section{color:#697a6d!important}
.ktv-nav a{color:#c6d8c9!important}
.ktv-nav a.active{background:#102017!important;border-color:#2d7a40!important}
.ktv-btn,button{
  background:#102017!important;
  border:1px solid #2a4532!important;
  color:#f3fff5!important;
  box-shadow:none!important;
}
.ktv-btn:hover,button:hover{border-color:#7ee787!important;background:#13291a!important}
.ktv-panel,.rail-card,.opp-card,.ktv-stat,.bettor-stats div,.help-card,.ktv-price-card{
  background:#080d0a!important;
  border-color:#1c2b21!important;
  box-shadow:none!important;
}
.ktv-hero,.bettor-hero{
  background:linear-gradient(135deg,#07120b,#0b120d)!important;
  border-color:#1c2b21!important;
  box-shadow:none!important;
}
.badge,.opp-badge,.ktv-plan-pill{
  background:#102017!important;
  border-color:#2d7a40!important;
  color:#bafbc7!important;
}
.badge.failed,.badge.error{border-color:#7a332d!important;color:#ffc5bd!important;background:#24100f!important}
.badge.warn{border-color:#7d6420!important;color:#ffe8a0!important;background:#221b0b!important}
.empty-state,.ktv-empty{
  background:#080d0a;
  border:1px dashed #2a4532;
  color:#b8cabc;
  border-radius:18px;
  padding:20px;
  line-height:1.5;
}
.ktv-loading{
  background:linear-gradient(90deg,#0d1510,#111b14,#0d1510);
  background-size:200% 100%;
  animation:ktvPulse 1.3s infinite;
  border-radius:16px;
  min-height:82px;
}
@keyframes ktvPulse{0%{background-position:0 0}100%{background-position:-200% 0}}
.user-lock{
  background:#0d1510;
  border:1px solid #2a4532;
  border-radius:20px;
  padding:20px;
}
.user-lock h3{margin:0 0 8px;font-size:22px}
.user-lock p{color:#b8cabc;margin:0 0 14px}
.public-page{padding-left:0!important}
.public-page .ktv-sidebar,.public-page .ktv-topbar{display:none!important}
.public-wrap{max-width:1180px;margin:0 auto;padding:26px}
.public-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}
.public-brand{display:flex;align-items:center;gap:12px;font-weight:1000;font-size:20px}
.public-links{display:flex;gap:10px;flex-wrap:wrap}
.public-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:center;padding:48px 0}
.public-hero h1{font-size:64px;line-height:.98;letter-spacing:-.055em;margin:0 0 18px}
.public-hero p{font-size:20px;color:#c9d8cc;line-height:1.45;margin:0 0 22px}
.mock-terminal{border:1px solid #1c2b21;background:#080d0a;border-radius:28px;padding:18px}
.mock-row{display:flex;justify-content:space-between;gap:12px;border:1px solid #1c2b21;background:#0d1510;border-radius:16px;padding:14px;margin-bottom:10px}
.public-section{padding:28px 0}
.public-section h2{font-size:40px;letter-spacing:-.035em;margin:0 0 14px}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.feature-card{border:1px solid #1c2b21;background:#080d0a;border-radius:22px;padding:20px}
.feature-card h3{margin:0 0 8px;font-size:22px}
.feature-card p{color:#b8cabc;line-height:1.45}
.ktv-price-card.featured{border-color:#2d7a40!important}
@media(max-width:1100px){
  .public-hero{grid-template-columns:1fr}
  .feature-grid{grid-template-columns:1fr}
  .public-hero h1{font-size:44px}
}
@media(max-width:900px){
  body.ktv-app{padding-left:0!important}
  .ktv-sidebar{transform:translateX(-105%);transition:.2s ease}
  .ktv-sidebar.open{transform:translateX(0)}
  .ktv-topbar{left:0!important}
  .ktv-content{padding:14px!important}
  .bettor-stats{grid-template-columns:1fr!important}
  .bettor-layout{grid-template-columns:1fr!important}
  .right-rail{position:static!important}
  .section-head{display:block!important}
  .tabs{margin-top:12px;overflow:auto}
  .opp-body{grid-template-columns:1fr!important}
  .opp-top{display:block!important}
  .edge{text-align:left!important;margin-top:14px}
  .hero-actions{justify-content:flex-start!important}
  .hero-actions input,.hero-actions select{width:100%!important;min-width:0!important}
}


.detail-section {
  border: 1px solid rgba(126, 231, 135, 0.18);
  background: rgba(4, 16, 9, 0.78);
  border-radius: 18px;
  padding: 18px;
  margin-bottom: 14px;
}
.detail-section h3 {
  margin: 0 0 10px;
  color: #c8ffd0;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-size: 12px;
}
.detail-section p {
  color: #f4fff5;
  line-height: 1.65;
}
.detail-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 14px;
}
.metric-card strong {
  display: block;
  font-size: 24px;
  color: #7ee787;
  margin: 8px 0;
}
.metric-card p {
  color: rgba(244,255,245,.76);
  font-size: 13px;
  line-height: 1.45;
}
.decision-card p { margin: 8px 0; }
.detail-book {
  padding: 11px 0;
  border-bottom: 1px solid rgba(126, 231, 135, 0.12);
}
@media (max-width: 900px) {
  .detail-metrics { grid-template-columns: 1fr; }
}



/* KTV paid-product mobile polish */
@media (max-width: 760px) {
  .ktv-content { padding: 12px !important; }
  .ktv-title, .bettor-hero h1, .public-hero h1 { font-size: 32px !important; line-height: 1.05 !important; }
  .bettor-stats, .admin-grid, .feature-grid, .pref-grid, .tracker-grid, .detail-grid, .detail-metrics { grid-template-columns: 1fr !important; }
  .opp-top, .section-head, .bettor-hero { display: block !important; }
  .edge { text-align: left !important; margin-top: 12px; }
  .opp-body { grid-template-columns: 1fr !important; }
  input, select, button, .ktv-btn { width: 100%; margin-top: 8px; }
  .public-links { display: grid !important; grid-template-columns: 1fr !important; }
  .modal-card { padding: 16px !important; }
  .ktv-sidebar.open { width: 86vw; }
}


.qa-row.qa-fail {
  border-color: rgba(255, 95, 95, 0.55) !important;
  background: rgba(95, 18, 18, 0.32) !important;
}
.qa-row.qa-warn {
  border-color: rgba(255, 215, 106, 0.55) !important;
  background: rgba(95, 72, 18, 0.22) !important;
}
.badge.fail {
  color: #ffd4d4 !important;
  border-color: rgba(255, 95, 95, 0.7) !important;
  background: rgba(120, 20, 20, 0.75) !important;
}
.badge.warn {
  color: #fff1b8 !important;
  border-color: rgba(255, 215, 106, 0.7) !important;
  background: rgba(120, 84, 20, 0.75) !important;
}
.badge.pass {
  color: #c8ffd0 !important;
}



.ktv-live-bar {
  position: sticky;
  top: 0;
  z-index: 999;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 10px 18px;
  background: rgba(4, 15, 8, 0.94);
  border-bottom: 1px solid rgba(126, 231, 135, 0.2);
  color: #e8ffec;
  backdrop-filter: blur(12px);
}
.live-dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 8px;
  border-radius: 50%;
  background: #7ee787;
  box-shadow: 0 0 14px rgba(126,231,135,.7);
}
.live-dot.delayed { background:#ffd76a; box-shadow:0 0 14px rgba(255,215,106,.7); }
.live-dot.stale, .live-dot.no-data { background:#ff6b6b; box-shadow:0 0 14px rgba(255,107,107,.7); }
.ktv-live-bar button {
  padding: 8px 12px;
}
@media(max-width:760px){
  .ktv-live-bar { display:block; font-size:13px; }
  .ktv-live-bar button { width:100%; margin-top:8px; }
}


.live-tape{
 position:sticky;
 top:0;
 z-index:999;
 display:flex;
 gap:10px;
 overflow:auto;
 padding:10px;
 background:#06110b;
 border-bottom:1px solid rgba(80,255,160,.12);
}
.tape-item{
 white-space:nowrap;
 background:#0b1c14;
 border:1px solid rgba(80,255,160,.15);
 padding:8px 12px;
 border-radius:999px;
 color:#d7f5df;
 font-size:12px;
}

.history-search{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap}.history-search input,.history-search select{padding:12px 14px;border-radius:12px;border:1px solid rgba(126,231,135,.25);background:rgba(5,18,10,.9);color:#eef8f0}.history-search input{min-width:360px}.history-layout{display:grid;grid-template-columns:minmax(240px,1fr) minmax(240px,1fr) minmax(520px,2fr);gap:16px;margin-top:18px}.history-list-panel,.history-profile-panel{border:1px solid rgba(126,231,135,.18);background:rgba(7,20,12,.78);border-radius:18px;padding:16px}.history-scroll{max-height:640px;overflow:auto;padding-right:4px}.history-row{width:100%;display:block;text-align:left;margin:8px 0;padding:14px;border-radius:14px;border:1px solid rgba(126,231,135,.18);background:rgba(9,28,16,.86);color:#eef8f0;cursor:pointer}.history-row:hover{border-color:rgba(126,231,135,.55);transform:translateY(-1px)}.history-row b{display:block;font-size:15px}.history-row span{display:block;opacity:.8;margin-top:5px;font-size:12px}.profile-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.profile-tabs button{padding:10px 12px}@media(max-width:1100px){.history-layout{grid-template-columns:1fr}.history-search input{min-width:100%}}


.explain-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  gap: 12px;
  margin-top: 14px;
}
.explain-box {
  border: 1px solid rgba(126,231,135,.16);
  background: rgba(7, 23, 13, .72);
  border-radius: 14px;
  padding: 14px;
}
.explain-box label {
  display: block;
  color: #7ee787;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: 7px;
}
.explain-box p {
  margin: 0;
  color: #e8f7ec;
  line-height: 1.45;
}
.signal-explained-card {
  border-color: rgba(126,231,135,.28) !important;
}
@media(max-width:800px){
  .explain-grid { grid-template-columns: 1fr; }
}

.ktv-terminal{max-width:1500px;margin:0 auto;padding:24px;color:#e8f7ec}
.terminal-topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;border:1px solid rgba(126,231,135,.16);background:linear-gradient(135deg,rgba(7,23,13,.95),rgba(2,8,5,.98));border-radius:22px;padding:22px;margin-bottom:16px}
.terminal-topbar h1{margin:4px 0 6px;font-size:34px}
.terminal-topbar p{margin:0;color:#a9cbb0}
.terminal-metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:16px}
.terminal-metrics div{border:1px solid rgba(126,231,135,.16);background:rgba(7,23,13,.72);border-radius:16px;padding:14px}
.terminal-metrics label{display:block;color:#7ee787;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.terminal-metrics strong{font-size:24px}
.terminal-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px}
.terminal-panel{border:1px solid rgba(126,231,135,.16);background:rgba(7,23,13,.72);border-radius:18px;overflow:hidden}
.terminal-main{grid-row:span 2}
.terminal-panel-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(126,231,135,.12);padding:14px 16px}
.terminal-panel-head h2{margin:0;font-size:16px}
.terminal-panel-head a{color:#7ee787;text-decoration:none;font-size:13px}
.terminal-list{display:flex;flex-direction:column;max-height:720px;overflow:auto}
.terminal-list.small{max-height:340px}
.terminal-row{display:grid;grid-template-columns:52px 1fr;gap:10px;padding:12px 14px;border-bottom:1px solid rgba(126,231,135,.08);text-decoration:none;color:inherit}
.terminal-row:hover{background:rgba(126,231,135,.06)}
.terminal-score{display:flex;align-items:center;justify-content:center;border:1px solid rgba(126,231,135,.3);border-radius:12px;color:#7ee787;font-weight:900}
.terminal-row strong{display:block;font-size:13px}
.terminal-row small{display:block;color:#a9cbb0;margin-top:4px}
@media(max-width:1000px){.terminal-grid{grid-template-columns:1fr}.terminal-main{grid-row:auto}.terminal-metrics{grid-template-columns:repeat(2,1fr)}.terminal-topbar{align-items:flex-start;flex-direction:column}}

.ktv-top-nav{position:sticky;top:0;z-index:50;display:flex;gap:8px;align-items:center;padding:10px 18px;background:rgba(1,8,4,.96);border-bottom:1px solid rgba(126,231,135,.16);overflow-x:auto}
.ktv-top-nav a{color:#dfffea;text-decoration:none;border:1px solid rgba(126,231,135,.18);background:rgba(7,23,13,.72);border-radius:999px;padding:8px 12px;font-size:13px;white-space:nowrap}
.ktv-top-nav a:hover{border-color:rgba(126,231,135,.55);background:rgba(126,231,135,.08)}
.ktv-top-nav .brand{font-weight:900;color:#7ee787}
.book-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(126,231,135,.08);padding:8px 0}
.detail-section{border:1px solid rgba(126,231,135,.14);border-radius:16px;padding:16px;margin-top:14px;background:rgba(7,23,13,.5)}
.detail-section h3{margin:0 0 10px;color:#7ee787;text-transform:uppercase;font-size:12px;letter-spacing:.12em}


.action-card{display:block!important;padding:0!important}
.terminal-row-main{display:grid;grid-template-columns:52px 1fr;gap:10px;padding:12px 14px;text-decoration:none;color:inherit}
.card-actions{display:flex;gap:8px;padding:0 14px 12px 76px;flex-wrap:wrap}
.card-actions a,.card-actions button{border:1px solid rgba(126,231,135,.22);background:rgba(7,23,13,.9);color:#dfffea;border-radius:999px;padding:6px 10px;font-size:12px;text-decoration:none;cursor:pointer}
.card-actions a:hover,.card-actions button:hover{border-color:rgba(126,231,135,.6);background:rgba(126,231,135,.08)}


.workstation-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.workstation-actions button{border:1px solid rgba(126,231,135,.25);background:rgba(7,23,13,.9);color:#dfffea;border-radius:999px;padding:9px 13px;cursor:pointer;font-weight:800}
.workstation-actions button:hover{border-color:rgba(126,231,135,.7);background:rgba(126,231,135,.08)}
.workstation-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.work-table{overflow:auto;border:1px solid rgba(126,231,135,.12);border-radius:14px}
.work-table table{width:100%;border-collapse:collapse}
.work-table th,.work-table td{padding:10px 12px;border-bottom:1px solid rgba(126,231,135,.08);text-align:left}
.work-table th{color:#7ee787;text-transform:uppercase;font-size:11px;letter-spacing:.1em;background:rgba(7,23,13,.75)}
.analog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.analog-card{display:block;text-decoration:none;color:inherit;border:1px solid rgba(126,231,135,.14);background:rgba(7,23,13,.65);border-radius:14px;padding:12px}
.analog-card span{display:inline-block;color:#7ee787;border:1px solid rgba(126,231,135,.35);border-radius:999px;padding:4px 8px;font-weight:900;margin-bottom:8px}
.analog-card strong{display:block}
.analog-card small{display:block;color:#a9cbb0;margin-top:6px}
@media(max-width:900px){.workstation-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.analog-grid{grid-template-columns:1fr}}
