
/* KTV V71 Institutional Quality Layer */
:root{
  --ktv-v71-panel:#030a06;
  --ktv-v71-panel2:#06120b;
  --ktv-v71-border:rgba(112,255,143,.22);
  --ktv-v71-green:#22c55e;
  --ktv-v71-gold:#4ade80;
  --ktv-v71-red:#4ade80;
  --ktv-v71-blue:#4ade80;
  --ktv-v71-purple:#4ade80;
}
body.ktv-v71-ready{background:
 radial-gradient(circle at 15% 8%,rgba(102,224,127,.08),transparent 24%),
 radial-gradient(circle at 80% 18%,rgba(75,128,255,.07),transparent 26%),
 linear-gradient(180deg,#020604,#030a06 55%,#020604)!important;
}
.ktv-v71-live-ribbon{
  position:sticky;top:0;z-index:55;margin:0 auto 14px;max-width:1900px;
  display:grid;grid-template-columns:minmax(250px,1.2fr) repeat(4,minmax(110px,.45fr)) minmax(240px,1fr);
  gap:10px;padding:10px 14px;border:1px solid rgba(102,224,127,.22);
  border-radius:0 0 18px 18px;background:rgba(3,10,6,.92);backdrop-filter:blur(12px);
  box-shadow:0 14px 50px rgba(0,0,0,.35);
}
.ktv-v71-live-ribbon .pulse-dot{display:inline-block;width:9px;height:9px;border-radius:999px;background:#22c55e;box-shadow:0 0 16px #22c55e;animation:ktvPulse 1.2s infinite}
@keyframes ktvPulse{50%{opacity:.4;transform:scale(.72)}}
.ktv-v71-ribbon-cell{border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:9px 11px;background:rgba(255,255,255,.035);min-width:0}
.ktv-v71-ribbon-cell small{display:block;color:#22c55e;font-size:10px;text-transform:uppercase;letter-spacing:.13em;font-weight:900;white-space:nowrap}
.ktv-v71-ribbon-cell b{display:block;color:#ffffff;font-size:15px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ktv-v71-ribbon-cell.source-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ktv-v71-book-chip,.ktv-v71-sport-chip,.ktv-v71-team-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:4px 8px;background:rgba(255,255,255,.045);font-size:11px;font-weight:900;color:#f8fff9}
.ktv-v71-book-logo,.ktv-v71-team-logo,.ktv-v71-league-logo{display:inline-grid;place-items:center;flex:none;border-radius:999px;font-weight:1000;letter-spacing:-.04em}
.ktv-v71-book-logo{width:22px;height:22px;font-size:9px;color:#030a06;background:#22c55e}
.ktv-v71-team-logo{width:30px;height:30px;font-size:11px;color:#ffffff;border:1px solid rgba(255,255,255,.2);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.ktv-v71-league-logo{width:25px;height:25px;font-size:9px;background:#06120b;color:#22c55e;border:1px solid rgba(102,224,127,.2)}
.ktv-v71-team-chip{padding:5px 10px 5px 5px;border-radius:14px}
.ktv-v71-spark{height:38px;display:flex;align-items:flex-end;gap:3px}
.ktv-v71-spark span{width:5px;border-radius:5px 5px 0 0;background:linear-gradient(180deg,#22c55e,#0b1f12);min-height:5px}

.ktv-v71-workspace-header{
  border:1px solid var(--ktv-v71-border);border-radius:24px;padding:20px;margin:14px auto 18px;
  max-width:1900px;background:
  linear-gradient(120deg,rgba(102,224,127,.10),transparent 36%),
  linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));
  box-shadow:0 20px 70px rgba(0,0,0,.32);
}
.ktv-v71-workspace-header h1{font-size:clamp(28px,3vw,52px);letter-spacing:-.055em;line-height:.96;margin:0;color:#ffffff}
.ktv-v71-workspace-header p{margin:10px 0 0;color:#4ade80;max-width:980px;font-size:15px}
.ktv-v71-workspace-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.ktv-v71-tab{border:1px solid rgba(102,224,127,.22);border-radius:999px;padding:8px 12px;background:rgba(102,224,127,.06);color:#f8fff9;font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:1000}

.ktv-v71-analyst-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(330px,.8fr);gap:18px;max-width:1900px;margin:18px auto}
.ktv-v71-report-card,.ktv-v71-heat-panel,.ktv-v71-trader-panel,.ktv-v71-timeline-panel{
  border:1px solid rgba(255,255,255,.09);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02));padding:18px;box-shadow:0 16px 50px rgba(0,0,0,.22)
}
.ktv-v71-report-card h3,.ktv-v71-heat-panel h3,.ktv-v71-trader-panel h3,.ktv-v71-timeline-panel h3{margin:0 0 12px;color:#ffffff;font-size:16px;letter-spacing:-.02em}
.ktv-v71-report-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ktv-v71-report-section{border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:14px;background:rgba(0,0,0,.18)}
.ktv-v71-report-section b{display:block;color:#ffffff;margin-bottom:7px}
.ktv-v71-report-section p{margin:0;color:#4ade80;font-size:13px;line-height:1.45}
.ktv-v71-confidence-timeline{display:flex;align-items:end;gap:4px;height:54px;padding:10px;border-radius:16px;background:#030a06;border:1px solid rgba(102,224,127,.12)}
.ktv-v71-confidence-timeline span{flex:1;background:linear-gradient(180deg,#22c55e,#102718);border-radius:5px 5px 0 0;min-height:7px}
.ktv-v71-meter{height:12px;border-radius:999px;background:#030a06;border:1px solid rgba(255,255,255,.08);overflow:hidden}
.ktv-v71-meter span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#4ade80,#4ade80,#22c55e)}
.ktv-v71-mini-heatmap{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}
.ktv-v71-mini-heatmap span{height:34px;border-radius:9px;background:rgba(102,224,127,.12);border:1px solid rgba(102,224,127,.08)}
.ktv-v71-mini-heatmap span:nth-child(3n){background:rgba(255,200,87,.20)}
.ktv-v71-mini-heatmap span:nth-child(5n){background:rgba(107,182,255,.20)}
.ktv-v71-exec-ladder{display:grid;gap:8px}
.ktv-v71-exec-ladder div{display:grid;grid-template-columns:80px 1fr 70px;gap:10px;align-items:center;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:8px 10px;background:rgba(0,0,0,.20);color:#f8fff9;font-size:12px}
.ktv-v71-timeline{position:relative;height:120px;border-radius:18px;background:#030a06;border:1px solid rgba(102,224,127,.13);overflow:hidden}
.ktv-v71-timeline:before{content:"";position:absolute;left:18px;right:18px;top:58px;border-top:2px solid rgba(102,224,127,.25)}
.ktv-v71-timeline span{position:absolute;top:48px;width:18px;height:18px;border-radius:999px;background:#22c55e;box-shadow:0 0 18px rgba(102,224,127,.4)}
.ktv-v71-timeline span:nth-child(1){left:10%}.ktv-v71-timeline span:nth-child(2){left:28%;background:#4ade80}.ktv-v71-timeline span:nth-child(3){left:51%;background:#4ade80}.ktv-v71-timeline span:nth-child(4){left:76%;background:#22c55e}
.ktv-v71-card-fix .card,.ktv-v71-card-fix .panel,.ktv-v71-card-fix .terminal-card,.ktv-v71-card-fix .metric-card{min-width:0;overflow-wrap:anywhere}
.ktv-v71-card-fix table{table-layout:auto}
.ktv-v71-card-fix td,.ktv-v71-card-fix th{white-space:normal;vertical-align:top}
.ktv-workspace-market .ktv_v71_colorize,.ktv-v71-market{--ktv-v71-green:#4ade80;--ktv-v71-border:rgba(107,182,255,.28)}
.ktv-workspace-exec .ktv_v71_colorize,.ktv-v71-execution{--ktv-v71-green:#4ade80;--ktv-v71-border:rgba(255,200,87,.30)}
.ktv-workspace-board .ktv_v71_colorize,.ktv-v71-board{--ktv-v71-green:#22c55e}
.ktv-workspace-ops .ktv_v71_colorize,.ktv-v71-ops{--ktv-v71-green:#4ade80;--ktv-v71-border:rgba(183,140,255,.26)}
.ktv-v71-book-badge-row{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
.ktv-v71-evidence-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}
.ktv-v71-badge{border:1px solid rgba(255,255,255,.13);border-radius:999px;padding:4px 8px;background:rgba(255,255,255,.05);color:#f8fff9;font-size:11px;font-weight:900}
.ktv-v71-badge.good{color:#bbf7d0;border-color:rgba(102,224,127,.25)}
.ktv-v71-badge.warn{color:#bbf7d0;border-color:rgba(255,200,87,.25)}
.ktv-v71-badge.info{color:#f8fff9;border-color:rgba(107,182,255,.25)}
@media(max-width:1100px){
 .ktv-v71-live-ribbon{grid-template-columns:1fr 1fr}
 .ktv-v71-analyst-grid{grid-template-columns:1fr}
 .ktv-v71-report-sections{grid-template-columns:1fr}
}



/* KTV v103 clean production theme: green / black / white only */
:root{
  --ktv-bg:#020604!important; --ktv-bg2:#020604!important;
  --ktv-surface:#030a06!important; --ktv-card:#030a06!important;
  --ktv-green:#22c55e!important; --ktv-green2:#16a34a!important;
  --ktv-border:rgba(70,255,120,.30)!important; --ktv-border2:rgba(70,255,120,.55)!important;
  --ktv-text:#f8fff9!important; --ktv-muted:#bbf7d0!important;
  --blue:#22c55e!important; --red:#22c55e!important; --orange:#22c55e!important;
  --gold:#22c55e!important; --yellow:#22c55e!important; --purple:#22c55e!important; --pink:#22c55e!important;
}
html,body,#root,.app,main,.page,.ktv-page,.terminal-shell,.landing-page,.marketing-page{
  background:radial-gradient(circle at 18% 18%,rgba(70,255,120,.10),transparent 30%),
             linear-gradient(180deg,#020604 0%,#020604 100%)!important;
  color:var(--ktv-text)!important;
}
body:before,body:after,#root:before,#root:after,.app:before,.app:after,main:before,main:after,
.page:before,.page:after,.terminal-shell:before,.terminal-shell:after{
  content:none!important;display:none!important;border:0!important;box-shadow:none!important;
}
*{ scrollbar-color:#16a34a #020604!important; }
*:not(svg):not(path):not(circle):not(rect):not(line){
  border-color:var(--ktv-border);
}
header,nav,.topbar,.navbar,.site-header{
  background:#020604!important;border-color:var(--ktv-border)!important;color:var(--ktv-text)!important;
}
.hero,.hero-panel,.hero-card,.terminal-hero,.workspace-hero,.institutional-hero,.market-hero,.search-hero,
.execution-hero,.decision-hero,.player-hero,.team-hero,.book-hero,.replay-hero,
[class*="hero"],[class*="Hero"],[class*="workspace"],[class*="Workspace"]{
  background:linear-gradient(135deg,rgba(7,23,13,.98),rgba(3,9,6,.98))!important;
  border:1px solid var(--ktv-border)!important;
  border-left:1px solid var(--ktv-border)!important;
  color:var(--ktv-text)!important;
  box-shadow:0 18px 50px rgba(0,0,0,.35), inset 0 0 0 1px rgba(70,255,120,.05)!important;
}
.card,.panel,.box,.kpi,.metric,.tile,.module,.widget,.terminal-card,.stat-card,.summary-card,.report-card,.note-card,
.search-card,.result-card,[class*="card"],[class*="Card"],[class*="panel"],[class*="Panel"],
[class*="kpi"],[class*="Kpi"],[class*="metric"],[class*="Metric"]{
  background:linear-gradient(145deg,rgba(7,23,13,.96),rgba(3,11,7,.96))!important;
  border-color:var(--ktv-border)!important;color:var(--ktv-text)!important;
}
button,.btn,.button,.pill,.badge,.tag,.tab,.chip,a.button,a.btn,input[type=button],input[type=submit],
[class*="button"],[class*="Button"],[class*="btn"],[class*="Btn"],[class*="pill"],[class*="Pill"],
[class*="badge"],[class*="Badge"],[class*="tag"],[class*="Tag"],[class*="tab"],[class*="Tab"]{
  background:linear-gradient(180deg,#08160d,#06120b)!important;
  border:1px solid var(--ktv-border2)!important;color:var(--ktv-text)!important;
  box-shadow:0 8px 22px rgba(0,0,0,.22)!important;
}
button:hover,.btn:hover,.button:hover,.pill:hover,.badge:hover,.tag:hover,.tab:hover,.chip:hover,a.button:hover,a.btn:hover{
  background:linear-gradient(180deg,#0b1f12,#06120b)!important;border-color:var(--ktv-green)!important;color:#ffffff!important;
}
.active,[aria-current=page],[data-active=true],.selected,.is-active{
  background:linear-gradient(180deg,#0b1f12,#06120b)!important;border-color:var(--ktv-green)!important;color:#ffffff!important;
}
input,select,textarea{
  background:#030a06!important;border:1px solid var(--ktv-border)!important;color:var(--ktv-text)!important;box-shadow:none!important;
}
input::placeholder,textarea::placeholder{color:rgba(247,255,248,.55)!important}
h1,h2,h3,h4,h5,h6,strong,b,label{color:var(--ktv-text)!important}
.muted,.subtext,.subtitle,.caption,small{color:var(--ktv-muted)!important}
[class*="blue"],[class*="Blue"],[class*="orange"],[class*="Orange"],[class*="purple"],[class*="Purple"],
[class*="red"],[class*="Red"],[class*="gold"],[class*="Gold"]{
  color:inherit;border-color:var(--ktv-border)!important;
}
svg *[stroke]{stroke:#22c55e!important}
svg *[fill]:not([fill="none"]){fill:#08160d!important}
.production-note,.readiness-note,.terminal-readiness-note,.test-note,
[class*="ProductionAnalyst"],[class*="production-analyst"],[class*="Readiness"],[class*="readiness"],
[class*="TerminalReadiness"],[class*="terminal-readiness"]{display:none!important}
.global-search,.global-search-page,[class*="global-search"],[class*="GlobalSearch"],
.execution-page,.decision-page,.book-page,.replay-page,.market-page,.player-page,.team-page{
  background:linear-gradient(180deg,#020604,#020604)!important;
}
.status-bar,.bottom-bar,.dock,.terminal-dock,[class*="status"],[class*="Status"]{
  background:#030a06!important;border-color:rgba(70,255,120,.22)!important;color:var(--ktv-muted)!important;
}
.error,.danger,.warning,.alert,[class*="error"],[class*="danger"],[class*="warning"],[class*="alert"]{
  background:#06120b!important;border-color:rgba(70,255,120,.35)!important;color:#f8fff9!important;
}
.landing-page [class*="grid"],.marketing-page [class*="grid"],.public-landing [class*="grid"]{background-image:none!important}
