:root{
  --brand:#7C3AED;--brand-hover:#6D28D9;--brand-soft:#f2f1fa;--brand-glow:#7C3AED22;
  --teal:#167c6a;--teal-soft:#e8f7f4;--gold:#b7791f;--gold-soft:#fdf6e7;
  --ink:#242337;--muted:#62677b;--border:#dce0eb;--surface:#F8F9FC;--card:#fff;--input:#F1F3F8;
  --good:#167c6a;--good-bg:#e8f7f4;--warn:#80520c;--warn-bg:#fff7e6;--bad:#9f2447;--bad-bg:#fff0f3;
  --radius:14px;--shadow:0 1px 2px #24233710,0 6px 24px #2423370a;
  --font:Inter,"Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--surface);color:var(--ink);font-family:var(--font);font-size:14.5px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:var(--brand);text-decoration:none}
h1,h2,h3,h4{margin:0;font-weight:650;letter-spacing:-.01em}
h1{font-size:24px}h3{font-size:15px}
p{margin:0}
.shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh}
.sidebar{background:#fff;border-right:1px solid var(--border);padding:18px 14px;position:sticky;top:0;height:100vh;overflow:auto;display:flex;flex-direction:column;gap:6px}
.brandmark{display:flex;align-items:center;gap:10px;padding:4px 8px 16px}
.brandmark .logo{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--brand),#a06eee);display:grid;place-items:center;color:#fff;font-weight:800;font-size:15px;box-shadow:0 4px 14px var(--brand-glow)}
.brandmark b{display:block;font-size:15px}.brandmark small{color:var(--muted);font-size:11.5px;letter-spacing:.04em;text-transform:uppercase}
.nav-group{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:14px 10px 4px;font-weight:600}
.nav-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;color:var(--ink);font-weight:500}
.nav-item:hover{background:var(--brand-soft)}
.nav-item.active{background:var(--brand-soft);color:var(--brand)}
.nav-ico{display:inline-flex;color:inherit;opacity:.85}
.side-foot{margin-top:auto;padding:12px 10px 0;font-size:12px;color:var(--muted);border-top:1px solid var(--border)}
.main{min-width:0;display:flex;flex-direction:column}
.topbar{position:sticky;top:0;z-index:5;background:#ffffffe8;backdrop-filter:blur(8px);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;padding:10px 24px;min-height:60px}
.topbar .crumb{font-weight:600;color:var(--muted)}
.topbar .spacer{flex:1}
#menuBtn{display:none;background:none;border:0;color:var(--ink);cursor:pointer;padding:6px}
.role-switch{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted)}
.role-switch select{max-width:220px}
#meBox{display:flex;align-items:center;gap:8px}
.me-text{display:flex;flex-direction:column;line-height:1.2}.me-text span{font-size:11.5px;color:var(--muted)}
#view{padding:24px;max-width:1280px;width:100%}
.page{display:flex;flex-direction:column;gap:18px}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.page-head .sub{color:var(--muted);margin-top:4px;max-width:720px}
.actions{display:flex;gap:8px;flex-wrap:wrap}
.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px;border-bottom:1px solid var(--border)}
.card-body{padding:16px 18px}
.kpi{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow)}
.kpi-label{font-size:12.5px;color:var(--muted);font-weight:500}
.kpi-value{font-size:28px;font-weight:700;letter-spacing:-.02em;margin-top:4px}
.kpi-hint{font-size:12px;color:var(--muted);margin-top:2px}
.kpi.brand{background:linear-gradient(135deg,var(--brand),#9b6cf3);color:#fff;border:0}.kpi.brand .kpi-label,.kpi.brand .kpi-hint{color:#f1eaff}
.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;background:var(--input);color:var(--muted);white-space:nowrap}
.badge.good{background:var(--good-bg);color:var(--good)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.bad{background:var(--bad-bg);color:var(--bad)}
.badge.brand{background:var(--brand-soft);color:var(--brand)}
.badge.stage-natural{background:var(--teal-soft);color:var(--teal)}.badge.stage-progression{background:var(--brand-soft);color:var(--brand)}.badge.stage-actualization{background:var(--gold-soft);color:var(--gold)}
.badge.pillar-product{background:#edf5ff;color:#215a91}.badge.pillar-behaviors{background:var(--brand-soft);color:var(--brand)}.badge.pillar-personal{background:var(--teal-soft);color:var(--teal)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border);background:#fff;color:var(--ink);padding:8px 14px;border-radius:10px;font:600 13.5px var(--font);cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1);white-space:nowrap}
.btn:hover{border-color:var(--brand);color:var(--brand)}
.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 4px 14px var(--brand-glow)}.btn.primary:hover{background:var(--brand-hover);color:#fff}
.btn.teal{background:var(--teal);border-color:var(--teal);color:#fff}
.btn.danger{color:var(--bad)}.btn.danger:hover{border-color:var(--bad)}
.btn.ghost{border-color:transparent;background:transparent}
.btn.sm{padding:5px 10px;font-size:12.5px}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn-ico{display:inline-flex}
.input{width:100%;border:1px solid var(--border);background:var(--input);border-radius:10px;padding:9px 12px;font:14px var(--font);color:var(--ink);outline:none;transition:border .15s}
.input:focus{border-color:var(--brand);background:#fff;box-shadow:0 0 0 3px var(--brand-glow)}
textarea.input{resize:vertical}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field-label{font-size:12.5px;font-weight:600;color:var(--ink)}.field-hint{font-size:12px;color:var(--muted)}
.form{display:grid;gap:14px}.form-row{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.range-wrap{display:flex;align-items:center;gap:10px}.range{flex:1;accent-color:var(--brand)}.range-wrap output{min-width:22px;font-weight:700;color:var(--brand)}
.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:12px;background:#fff}
.table{width:100%;border-collapse:collapse;font-size:13.5px}
.table th{text-align:left;font-size:12px;color:var(--muted);font-weight:600;padding:10px 14px;background:var(--surface);border-bottom:1px solid var(--border);white-space:nowrap}
.table td{padding:11px 14px;border-bottom:1px solid var(--border);vertical-align:middle}
.table tr:last-child td{border-bottom:0}
.table tr.clickable{cursor:pointer}.table tr.clickable:hover td{background:#faf9ff}
.empty{text-align:center;padding:36px 18px;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:8px}
.empty h3{color:var(--ink)}.empty-ico{color:var(--brand);opacity:.7}
.loading{display:flex;align-items:center;gap:10px;color:var(--muted);padding:30px}
.spinner{width:16px;height:16px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--brand);animation:spin .8s linear infinite;display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.45}}
.ring{position:relative;display:inline-grid;place-items:center;flex:none}
.ring svg{position:absolute;inset:0}.ring span{font-weight:750;font-size:.95em}
.ring-bg{fill:none;stroke:var(--input);stroke-width:6}.ring-fg{fill:none;stroke-width:6;stroke-linecap:round;transition:stroke-dashoffset .6s}
.ring.good .ring-fg{stroke:var(--good)}.ring.warn .ring-fg{stroke:#d69e2e}.ring.bad .ring-fg{stroke:var(--bad)}.ring.muted .ring-fg{stroke:var(--border)}
.bar{height:8px;background:var(--input);border-radius:99px;overflow:hidden}
.bar-fill{height:100%;background:var(--brand);border-radius:99px}.bar-fill.teal{background:var(--teal)}.bar-fill.gold{background:var(--gold)}.bar-fill.bad{background:var(--bad)}
.chart-svg{width:100%;height:auto;display:block}.grid-line{stroke:var(--border);stroke-dasharray:3 4}.axis{font-size:10px;fill:var(--muted)}
.legend{display:flex;gap:14px;font-size:12px;color:var(--muted);margin-top:6px;flex-wrap:wrap}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px}
.avatar{display:inline-grid;place-items:center;border-radius:50%;font-weight:700;flex:none}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:14px;overflow:auto}
.tabs button{background:none;border:0;padding:9px 14px;font:600 13.5px var(--font);color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}
.tabs button.active{color:var(--brand);border-bottom-color:var(--brand)}
.list{display:flex;flex-direction:column;gap:10px}
.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.row.between{justify-content:space-between}
.muted{color:var(--muted)}.small{font-size:12.5px}.strong{font-weight:650}
.stack{display:flex;flex-direction:column;gap:6px}
.hero{background:radial-gradient(120% 140% at 0% 0%,#a06eee 0%,var(--brand) 45%,#4c1d95 100%);color:#fff;border-radius:18px;padding:26px 28px;position:relative;overflow:hidden}
.hero h1{font-size:26px}.hero p{color:#efe7ff;max-width:640px;margin-top:6px}
.hero::after{content:"";position:absolute;right:-60px;top:-60px;width:240px;height:240px;border-radius:50%;background:#ffffff14}
.lifecycle{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.lc{border-radius:14px;padding:16px;border:1px solid var(--border);background:#fff}
.lc h4{font-size:13px;text-transform:uppercase;letter-spacing:.06em}.lc .n{font-size:26px;font-weight:750;margin-top:4px}
.lc.natural{border-top:4px solid var(--teal)}.lc.natural h4{color:var(--teal)}
.lc.progression{border-top:4px solid var(--brand)}.lc.progression h4{color:var(--brand)}
.lc.actualization{border-top:4px solid var(--gold)}.lc.actualization h4{color:var(--gold)}
/* transcript */
.transcript{display:flex;flex-direction:column;gap:10px;max-height:520px;overflow:auto;padding:4px}
.bubble{max-width:82%;padding:10px 14px;border-radius:14px;font-size:14px;line-height:1.45}
.bubble.persona,.bubble.customer{background:var(--input);align-self:flex-start;border-top-left-radius:4px}
.bubble.trainee,.bubble.agent{background:var(--brand);color:#fff;align-self:flex-end;border-top-right-radius:4px}
.bubble.system{background:var(--warn-bg);color:var(--warn);align-self:center;font-size:12.5px}
.bubble .who{display:block;font-size:11px;font-weight:700;opacity:.75;margin-bottom:2px;text-transform:uppercase;letter-spacing:.04em}
.bubble.partial{opacity:.6;font-style:italic}
.quote{border-left:3px solid var(--brand);background:var(--brand-soft);padding:6px 10px;border-radius:0 8px 8px 0;font-size:13px;margin-top:4px}
.tip{border:1px solid var(--border);border-radius:12px;padding:12px 14px;display:grid;gap:6px;background:#fff}
.tip .said{color:var(--bad)}.tip .better{color:var(--good)}
.crit{display:grid;grid-template-columns:1fr auto;gap:6px 12px;padding:12px 0;border-bottom:1px solid var(--border)}
.crit:last-child{border-bottom:0}
/* live call */
.callpad{display:flex;flex-direction:column;align-items:center;gap:14px;padding:24px;text-align:center}
.orb{width:120px;height:120px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#b794f6,var(--brand) 55%,#4c1d95);box-shadow:0 0 0 0 var(--brand-glow);transition:transform .12s,box-shadow .25s,filter .25s}.orb.live{animation:pulse 2s infinite;box-shadow:0 0 0 12px var(--brand-glow)}.orb.connecting{animation:orb-connect 1.4s ease-in-out infinite;filter:saturate(.82)}
@keyframes orb-connect{0%,100%{box-shadow:0 0 0 0 var(--brand-glow)}50%{box-shadow:0 0 0 14px var(--brand-glow)}}
.call-state{display:flex;align-items:center;gap:8px;font-weight:600}.call-state::before{content:'';width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px currentColor;opacity:.18}.call-state.connecting{background:#edf5ff;color:#215a91}.call-state.live{background:var(--good-bg);color:var(--good)}.call-state.ended,.call-state.error{background:var(--warn-bg);color:var(--warn)}.call-state.scoring{background:var(--brand-soft);color:var(--brand)}
.notice{border-radius:12px;padding:12px 14px;background:var(--warn-bg);color:var(--warn);font-size:13px}
.notice.info{background:#edf5ff;color:#215a91}.notice.good{background:var(--good-bg);color:var(--good)}
#toasts{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;gap:8px;z-index:50}
.toast{background:var(--ink);color:#fff;padding:10px 16px;border-radius:10px;font-size:13.5px;box-shadow:0 8px 30px #0003;transition:opacity .4s}
.toast.good{background:var(--teal)}.toast.bad{background:var(--bad)}.toast.out{opacity:0}
.milestone{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--border);border-radius:12px;background:#fff}
.milestone.locked{opacity:.55}.milestone.passed{border-color:#b5e3d9;background:#f6fcfa}
.mstate{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--input);color:var(--muted)}
.milestone.passed .mstate{background:var(--teal);color:#fff}.milestone.open .mstate{background:var(--brand);color:#fff}
.heat td{text-align:center}.heat .cell{display:inline-block;min-width:44px;padding:4px 6px;border-radius:8px;font-weight:650;font-size:12.5px}
@media (max-width:1100px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:820px){
  .shell{grid-template-columns:1fr}
  .sidebar{position:fixed;left:0;top:0;bottom:0;width:270px;z-index:20;transform:translateX(-100%);transition:transform .2s;box-shadow:0 0 40px #0002}
  body.nav-open .sidebar{transform:none}
  #menuBtn{display:inline-flex}
  #view{padding:16px}
  .topbar{padding:8px 14px}
  .g2,.g3,.g4,.lifecycle{grid-template-columns:1fr}
  .me-text,.role-switch>span{display:none}
  .role-switch select{max-width:150px}
  .bubble{max-width:92%}
  .table thead{display:none}.table,.table tbody,.table tr,.table td{display:block;width:100%}
  .table tr{border-bottom:1px solid var(--border);padding:6px 0}.table td{border:0;padding:4px 14px;display:flex;justify-content:space-between;gap:12px}
  .table td::before{content:attr(data-label);color:var(--muted);font-size:12px;font-weight:600}
  h1{font-size:21px}.hero{padding:20px}
}

/* views: quality */
.inline-editor{border-color:#cfc3f5}.studio-editor,.upload-panel,.bulk-invite,.inline-create{margin-top:0}.check-list{display:flex;flex-wrap:wrap;gap:8px}.check-item{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;background:var(--surface);border:1px solid var(--border);border-radius:8px;font-size:12.5px}.persona-grid,.super-grid,.rubric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.filter-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.upload-panel,.inline-create,.bulk-invite{padding:16px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.qa-detail{align-items:start}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.progress-notice .bar{margin-top:8px}.rate-cell{display:grid;grid-template-columns:minmax(80px,1fr) auto;gap:8px;align-items:center;min-width:150px}.nudge{display:flex;flex-direction:column;gap:6px;padding:11px 12px;border-radius:10px;border-left:3px solid var(--brand);background:var(--brand-soft);font-size:13px}.nudge.compliance{border-color:var(--gold);background:var(--gold-soft)}.nudge.fact_warning{border-color:var(--bad);background:var(--bad-bg)}.coach-note{margin-top:4px}.ring-pair{display:flex;gap:18px}.center{align-items:center;text-align:center}.evidence-list{display:flex;flex-direction:column;gap:7px}.evidence-list blockquote{margin:0}.rubric-card{padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.mini-metric{display:flex;align-items:center;gap:7px;min-width:82px}.mini-metric .bar{flex:1}.audit-detail{display:block;max-width:260px;white-space:pre-wrap;word-break:break-word;font-size:11px;color:var(--muted)}.candidate-body{min-height:100vh;background:linear-gradient(145deg,#f4f0ff 0%,#f8f9fc 44%,#e9f6f3 100%)}.candidate-shell{max-width:680px;margin:0 auto;padding:28px 16px 42px}.candidate-brand{display:flex;align-items:center;gap:10px;margin:0 4px 22px;color:var(--ink)}.candidate-brand span:last-child{display:flex;flex-direction:column;line-height:1.25}.candidate-brand small{color:var(--muted);font-size:12px}.candidate-logo{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(135deg,var(--brand),#a06eee);color:#fff;font-weight:800;box-shadow:0 5px 16px var(--brand-glow)}.candidate-card{background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:0 12px 40px #24233712;overflow:hidden}.candidate-step{padding:28px;display:flex;flex-direction:column;gap:18px}.candidate-step h1{font-size:28px}.candidate-step h2{font-size:16px}.candidate-step .lead{font-size:16px;color:var(--muted)}.eyebrow{font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;font-weight:750;color:var(--brand)}.candidate-brief{border:1px solid #ded6f6;border-radius:13px;padding:16px;background:#faf9ff;display:flex;flex-direction:column;gap:8px}.candidate-brief ul{padding-left:20px;margin:0;color:var(--muted)}.expect-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.expect-grid>div{padding:12px;background:var(--surface);border-radius:10px;display:flex;flex-direction:column;font-size:12px;color:var(--muted)}.expect-grid strong{color:var(--ink);font-size:13px}.consent-copy{max-height:270px;overflow:auto;white-space:pre-wrap;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--muted)}.consent-check{display:flex;gap:10px;align-items:flex-start;font-size:13px}.consent-check input{margin-top:3px;accent-color:var(--brand)}.text-action{border:0;background:none;padding:2px 0;color:var(--brand);font:600 13px var(--font);cursor:pointer;text-align:left}.channel-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.channel-card{padding:18px;border:1px solid var(--border);border-radius:13px;display:flex;flex-direction:column;gap:10px}.channel-card p{color:var(--muted);font-size:13px;flex:1}.channel-icon{color:var(--brand);font-size:28px}.candidate-transcript{min-height:230px;max-height:430px;overflow:auto;display:flex;flex-direction:column;gap:10px;padding:4px}.candidate-call-state{margin:0;font-size:13px;font-weight:650;display:flex;align-items:center;justify-content:center;gap:8px}.candidate-call-state::before{content:'';width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px currentColor;opacity:.18}.candidate-call-state.connecting{color:#215a91}.candidate-call-state.live{color:var(--good)}.candidate-call-state.ended,.candidate-call-state.error{color:var(--warn)}.candidate-message{margin:14px 18px 0;padding:10px 12px;border-radius:9px;background:var(--warn-bg);color:var(--warn);font-size:13px}.roleplay{gap:14px}.roleplay .callpad{padding:8px}.roleplay .orb{width:82px;height:82px}.chat-compose{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.thanks{min-height:360px;justify-content:center;text-align:center;align-items:center}.thanks .lead{max-width:390px}
@media (max-width:820px){.persona-grid,.super-grid,.rubric-grid{grid-template-columns:1fr}.filter-bar{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.candidate-shell{padding:18px 12px 28px}.candidate-step{padding:22px 18px}.candidate-step h1{font-size:24px}.expect-grid,.channel-options{grid-template-columns:1fr}.chat-compose{grid-template-columns:1fr}.chat-compose .btn{width:100%}}


/* views: training */
.person{display:flex;align-items:center;gap:9px;min-width:0}.tight{gap:2px}.score-bar{display:flex;align-items:center;gap:8px;min-width:100px}.score-bar .bar{flex:1}.metric-list{gap:12px}.skill-row{display:grid;gap:6px}.delta{font-size:12px;font-weight:700}.delta.up{color:var(--good)}.delta.down{color:var(--bad)}.behavior-chips{display:flex;gap:7px;flex-wrap:wrap}.profile-hero,.scorecard-hero{display:flex;align-items:center;gap:16px;padding:18px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.score-overall{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:96px}.score-overall .ring span{font-size:1.15em}.scorecard-copy{min-width:0;flex:1}.profile-copy{flex:1}.hero-meta{margin-top:18px;font-size:12px;color:#efe7ff}.milestone-callout{align-items:flex-start}.lesson-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.lesson-row:last-child{border-bottom:0}.lesson-rate{text-align:right;align-items:flex-end}.activity-list{gap:0}.activity-row{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid var(--border);color:var(--ink)}.activity-row:last-child{border-bottom:0}.activity-row:hover{color:var(--brand)}.activity-dot{width:8px;height:8px;border-radius:50%;background:var(--brand);margin-top:6px;flex:none}
.filter-row{display:grid;grid-template-columns:repeat(2,minmax(0,220px));gap:12px}.scenario-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.scenario-card{display:flex;flex-direction:column;gap:14px;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.scenario-card .actions{margin-top:auto}.scenario-meta{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:12px}.scenario-meta span:not(:last-child)::after{content:'·';margin-left:10px;color:var(--border)}.session-layout{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,1.7fr);gap:16px;align-items:start}.session-layout>.card:first-child{position:sticky;top:78px}.roleplay-stage .card-body{min-height:520px}.roleplay-transcript{flex:1;min-height:260px}.session-controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.chat-compose{display:flex;gap:8px;flex:1;min-width:min(100%,280px)}.chat-compose .input{min-width:0}.brief .objective{font-size:13px;padding-left:14px;position:relative}.brief .objective::before{content:'✓';position:absolute;left:0;color:var(--teal);font-weight:700}.scorecard-hero h2{font-size:20px}.human-override{margin-left:auto;display:flex;flex-direction:column;gap:2px;padding:9px 12px;border-radius:10px;background:var(--brand-soft);color:var(--brand)}.criteria-groups{display:flex;flex-direction:column;gap:14px}.criterion-group h3{margin-bottom:4px}.fact-row{display:grid;grid-template-columns:1fr auto;gap:6px 10px;padding:9px 0;border-bottom:1px solid var(--border)}.fact-row.incorrect{padding:10px;background:var(--bad-bg);border-radius:8px;border:0}.signal-row{display:flex;flex-direction:column;gap:3px;padding-bottom:10px;border-bottom:1px solid var(--border)}.recording-host audio{width:100%}
.program-list{gap:16px}.month-timeline{display:grid;grid-template-columns:repeat(6,minmax(190px,1fr));gap:10px;overflow-x:auto;padding-bottom:4px}.month-column{min-width:190px;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.month-label{display:flex;justify-content:space-between;gap:8px;margin-bottom:9px}.milestone-list{gap:7px}.milestone{align-items:flex-start}.milestone-copy{width:100%;min-width:0}.milestone-actions{margin-top:4px}.builder-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.builder-month{padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.builder-milestones{margin-top:10px}.builder-row{display:grid;grid-template-columns:1.3fr 1fr 1.4fr .7fr auto;gap:8px;align-items:end;padding:10px;border:1px solid var(--border);border-radius:10px;background:#fff}.builder-row .field-label{font-size:11px}.cell{display:flex!important;gap:3px;flex-wrap:wrap;justify-content:center;white-space:normal}.mini-pillar{font-size:10px}.mini-pillar.product{color:#215a91}.mini-pillar.behaviors{color:var(--brand)}.mini-pillar.personal{color:var(--teal)}.enrol-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.enrol-choice{display:flex;align-items:center;gap:8px;padding:9px;border:1px solid var(--border);border-radius:10px;background:#fff;cursor:pointer}.enrol-choice .small{margin-left:auto}
@media (max-width:1100px){.scenario-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.builder-row{grid-template-columns:repeat(2,minmax(0,1fr))}.builder-row .btn{grid-column:span 2}.session-layout{grid-template-columns:1fr}.session-layout>.card:first-child{position:static}.roleplay-stage .card-body{min-height:0}}
@media (max-width:820px){.filter-row,.scenario-grid,.builder-months,.enrol-list{grid-template-columns:1fr}.profile-hero,.scorecard-hero{align-items:flex-start;flex-wrap:wrap}.human-override{margin-left:0;width:100%}.chat-compose{width:100%;flex-basis:100%}.builder-row{grid-template-columns:1fr}.builder-row .btn{grid-column:auto}.month-timeline{grid-template-columns:1fr;overflow:visible}.month-column{min-width:0}.scorecard-hero .ring{width:70px!important;height:70px!important}.milestone{padding:10px}}

/* views: quality */
.candidate-card .chat-compose{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;width:auto;flex-basis:auto}.candidate-card .chat-compose .input{min-width:0}
@media (max-width:820px){.candidate-card .chat-compose{grid-template-columns:1fr;width:auto;flex-basis:auto}.candidate-card .chat-compose .btn{width:100%}}

/* calls */
.calls-ledger{overflow:hidden}.calls-ledger-head{align-items:flex-start}.calls-ledger-head>div{min-width:0}.calls-filter{display:grid;grid-template-columns:minmax(180px,1fr) 150px 145px 145px auto auto;gap:8px;align-items:center;width:min(100%,850px)}.calls-filter .input{min-width:0;padding:8px 10px;font-size:13px}.calls-filter .btn{padding:8px 11px}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.call-direction{font-weight:650;white-space:nowrap}.call-direction.inbound{color:var(--teal)}.call-direction.outbound{color:var(--brand)}.call-remote{font-variant-numeric:tabular-nums;white-space:nowrap}.call-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.call-actions .btn{padding:5px 8px}.calls-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border-top:1px solid var(--border);background:var(--surface)}.call-detail-hero .card-body{display:grid;gap:14px}.call-detail-title{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.call-detail-title h2{font-size:20px;overflow-wrap:anywhere}.call-detail-title .muted{margin-top:3px}.call-meta{display:flex;gap:14px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:13px}.call-meta strong{color:var(--ink)}.call-recording{display:grid;gap:9px}.call-recording audio{width:100%;max-width:100%}.call-transcript{max-height:none;min-height:180px}.call-transcript .bubble{overflow-wrap:anywhere}.call-line-time{display:block;font-size:10px;opacity:.75;margin-top:5px}.call-analysis{gap:16px}.call-analysis h4{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px}.call-chips{display:flex;flex-wrap:wrap;gap:6px}.qa-call-panel{display:grid;gap:10px}.qa-call-panel .row{align-items:flex-start}.call-notes{display:grid;gap:0;margin:0;padding:0;list-style:none}.call-notes li{padding:12px 0;border-bottom:1px solid var(--border)}.call-notes li:last-child{border-bottom:0}.call-notes .small{display:block;margin-top:3px}@media (max-width:1060px){.calls-filter{grid-template-columns:minmax(180px,1fr) 145px 145px 145px auto}.calls-filter .ghost{display:none}}@media (max-width:820px){.calls-ledger-head{display:block}.calls-ledger-head>div{margin-bottom:12px}.calls-filter{width:100%;grid-template-columns:1fr 1fr}.calls-filter .input:first-of-type{grid-column:1/-1}.calls-filter .btn,.calls-filter a{min-height:40px}.calls-pagination{padding:12px}.call-actions{justify-content:flex-start}.call-detail-title{display:grid;gap:10px}.call-detail-title .badge{justify-self:start}.call-detail-hero+.grid{grid-template-columns:1fr}.call-transcript{padding:0}.call-transcript .bubble{max-width:100%}.qa-call-panel .row{display:grid}.qa-call-panel .btn{width:100%}}

/* phone */
/* moved to public/css/phone.css */

/* qa settings */
.qa-settings-host{min-width:0}.qa-form-list{display:flex;flex-direction:column;gap:8px}.qa-form-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--border)}.qa-form-row:last-child{border:0}.qa-editor-card{border-color:#cfc3f5}.qa-channels{display:flex;flex-wrap:wrap;gap:8px}.qa-choice{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid var(--border);border-radius:9px;background:var(--surface);font-size:12.5px;cursor:pointer}.qa-choice input{accent-color:var(--brand)}.qa-criteria{display:flex;flex-direction:column;gap:8px}.qa-criterion{display:grid;grid-template-columns:minmax(150px,1fr) 100px 110px 90px;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:#fff}.qa-criterion .field{gap:3px}.qa-criterion .field-label{font-size:11px}.qa-toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.qa-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--border);border-radius:10px;background:#fff;cursor:pointer}.qa-toggle input{width:18px;height:18px;accent-color:var(--brand);flex:none}.qa-setting-panel{max-width:880px}@media (max-width:820px){.qa-form-row{align-items:flex-start;flex-direction:column}.qa-criterion{grid-template-columns:1fr 1fr}.qa-criterion>span{grid-column:span 1}.qa-toggle-grid{grid-template-columns:1fr}}
