
:root{
  --fp-bg:#050c14;
  --fp-panel:#081521;
  --fp-panel2:#0c1b29;
  --fp-line:#223b50;
  --fp-text:#eef5fb;
  --fp-muted:#8ca1b2;
  --fp-gold:#efb640;
  --fp-blue:#2c6089;
}
body.focus-body,body.panel-body{margin:0;background:var(--fp-bg);color:var(--fp-text)}
.focus-top{position:sticky;top:0;z-index:10000;background:rgba(5,12,20,.96);border-bottom:1px solid var(--fp-line);backdrop-filter:blur(16px)}
.focus-top .container-fluid{min-height:66px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.focus-brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none}.focus-brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(180deg,#efbd52,#d6962f);color:#111820;font-weight:950}.focus-brand strong,.focus-brand small{display:block}.focus-brand small{margin-top:2px;color:#71899b;font-size:.62rem;font-weight:900;letter-spacing:.12em}
.focus-top-right{display:flex;align-items:center;gap:10px}.focus-status{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid #30495d;border-radius:999px;color:#95a9b9;font-size:.75rem;font-weight:800}.focus-status i{font-size:.5rem}.focus-status.ready i{color:#44d17e}.focus-status.offline i{color:#ff6574}.focus-link{color:#9db0c0;text-decoration:none;font-size:.82rem;font-weight:800}
.focus-shell{min-height:100vh;padding:28px 0 60px;background:radial-gradient(circle at 15% 0%,rgba(46,102,151,.16),transparent 28%),radial-gradient(circle at 85% 5%,rgba(234,180,69,.07),transparent 22%)}
.focus-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;margin-bottom:16px;padding:26px;border:1px solid var(--fp-line);border-radius:19px;background:linear-gradient(135deg,#0d1d2d,#07131e)}.focus-intro h1{max-width:1000px;margin:.12em 0 .18em;font-size:clamp(2.25rem,5vw,5rem);line-height:.96;font-weight:950;letter-spacing:-.055em}.focus-intro p{max-width:900px;margin:0;color:#a6b8c6;line-height:1.6}
.focus-health{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.focus-health>div{min-width:130px;padding:10px 12px;border:1px solid #2b4459;border-radius:11px;background:#091622}.focus-health span,.focus-health strong{display:block}.focus-health span{color:#6f8799;font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.focus-health strong{margin-top:3px;color:#eaf3f9;font-size:.78rem}
.focus-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(410px,.85fr);gap:14px;align-items:start}.focus-setup-card,.focus-coach-card{border:1px solid var(--fp-line);border-radius:18px;background:#081521;overflow:hidden}.focus-coach-card{position:sticky;top:82px}
.focus-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:18px;border-bottom:1px solid var(--fp-line);background:#0c1b29}.focus-card-head h2{margin:.1em 0 .15em;font-weight:950;letter-spacing:-.03em}.focus-card-head p{margin:0;color:#7f94a6;font-size:.84rem}.focus-step{display:inline-block;color:var(--fp-gold);font-size:.68rem;font-weight:950;letter-spacing:.12em}
.focus-progress{min-width:120px;text-align:right}.focus-progress strong{display:block;margin-bottom:6px;color:#9db0bf;font-size:.76rem}.focus-progress>div{height:7px;overflow:hidden;border-radius:999px;background:#162536}.focus-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#2f7fb8,#efb640);transition:width .2s ease}
.focus-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px}.focus-form-grid label{display:block}.focus-form-grid label.wide{grid-column:1/-1}.focus-form-grid label>span{display:block;margin-bottom:5px;color:#7e94a6;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.focus-form-grid .form-control{background:#06111b!important;border-color:#284258!important;color:#fff!important}.focus-form-grid textarea{resize:vertical}
.coach-test-badge{padding:6px 8px;border:1px solid #3c5265;border-radius:999px;background:#0a1722;color:#8396a6;font-size:.64rem;font-weight:950;letter-spacing:.06em}.coach-test-badge.good{border-color:#2f6a47;background:#0b2116;color:#9de1b5}
.focus-avatar-stage{display:flex;align-items:center;gap:16px;padding:18px;border-bottom:1px solid var(--fp-line);background:radial-gradient(circle at 15% 50%,rgba(49,104,150,.22),transparent 22%),#07131e}.focus-avatar-orb{position:relative;flex:0 0 auto;width:92px;height:92px;display:grid;place-items:center;border:2px solid #456f90;border-radius:50%;background:radial-gradient(circle at 50% 35%,#2c5a7d,#123048 62%,#091722);color:var(--fp-gold);font-size:2.4rem;box-shadow:0 0 0 8px rgba(41,89,126,.14)}.focus-avatar-stage>div:last-child strong,.focus-avatar-stage>div:last-child small{display:block}.focus-avatar-stage>div:last-child strong{font-size:1.1rem}.focus-avatar-stage>div:last-child small{margin-top:3px;color:#7b92a4;font-size:.75rem}
.focus-voice-bars{position:absolute;bottom:11px;display:flex;gap:3px;align-items:end;height:16px}.focus-voice-bars span{width:3px;height:6px;border-radius:99px;background:#efb640}.focus-voice-bars span:nth-child(2){height:10px}.focus-voice-bars span:nth-child(3){height:15px}.focus-voice-bars span:nth-child(4){height:9px}.focus-voice-bars span:nth-child(5){height:6px}.focus-speaking .focus-voice-bars span{animation:bars .45s infinite alternate}.focus-speaking .focus-voice-bars span:nth-child(2){animation-delay:.08s}.focus-speaking .focus-voice-bars span:nth-child(3){animation-delay:.16s}.focus-speaking .focus-voice-bars span:nth-child(4){animation-delay:.24s}.focus-speaking .focus-voice-bars span:nth-child(5){animation-delay:.32s}@keyframes bars{to{height:16px;opacity:.45}}
.focus-quick{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:12px 14px;border-bottom:1px solid var(--fp-line)}.focus-quick button{padding:9px;border:1px solid #294459;border-radius:10px;background:#0b1a28;color:#a2b4c2;text-align:left;font-size:.75rem;font-weight:800}.focus-quick button:hover{background:#13304a;color:#fff}
.focus-chat{height:285px;overflow:auto;padding:14px}.focus-msg{display:flex;gap:8px;align-items:flex-start;margin-bottom:12px}.focus-msg.user{flex-direction:row-reverse}.focus-msg-icon{flex:0 0 auto;width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:#112a40;color:var(--fp-gold)}.focus-bubble{max-width:84%;padding:10px 11px;border:1px solid #294358;border-radius:12px;background:#0d1b29}.focus-msg.user .focus-bubble{background:#142b41}.focus-bubble strong{display:block;margin-bottom:4px;font-size:.75rem}.focus-bubble p{margin:0;color:#c3d0da;line-height:1.5;font-size:.84rem}.focus-sources{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.focus-sources a{padding:4px 6px;border:1px solid #304b61;border-radius:999px;color:#88a0b3;text-decoration:none;font-size:.62rem}
.focus-thinking{display:none;align-items:center;gap:4px;padding:7px 14px;color:#71899b;font-size:.7rem}.focus-thinking.show{display:flex}.focus-thinking span,.panel-thinking span{width:5px;height:5px;border-radius:50%;background:var(--fp-gold);animation:think .8s infinite alternate}.focus-thinking span:nth-child(2),.panel-thinking span:nth-child(2){animation-delay:.15s}.focus-thinking span:nth-child(3),.panel-thinking span:nth-child(3){animation-delay:.3s}@keyframes think{to{opacity:.25;transform:translateY(-2px)}}
.focus-compose{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:8px;padding:12px;border-top:1px solid var(--fp-line)}.focus-compose textarea{resize:none;background:#06111b!important;border-color:#294458!important;color:#fff!important}.focus-compose .btn{border-radius:11px}.focus-voice-toggle{margin:0 12px 12px;padding:7px 10px;border:1px solid #2b4458;border-radius:9px;background:#0a1723;color:#7f94a4;font-size:.72rem;font-weight:800}.focus-voice-toggle.active{color:#fff}.focus-voice-toggle.active i{color:var(--fp-gold)}
.focus-launch{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:14px;padding:22px;border:1px solid #4d6f8a;border-radius:18px;background:radial-gradient(circle at 85% 50%,rgba(237,180,64,.13),transparent 25%),linear-gradient(135deg,#10283c,#081521)}.focus-launch h2{margin:.15em 0 .15em;font-weight:950;letter-spacing:-.03em}.focus-launch p{max-width:850px;margin:0;color:#8fa4b4}.focus-launch .btn{min-width:230px}.focus-launch .btn.disabled{opacity:.55}

/* Full panel */
.panel-top{position:sticky;top:0;z-index:10000;min-height:62px;padding:0 20px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--fp-line);background:rgba(5,12,20,.97);backdrop-filter:blur(16px)}.panel-back{justify-self:start;color:#93a8b8;text-decoration:none;font-size:.8rem;font-weight:800}.panel-brand{text-align:center}.panel-brand strong,.panel-brand small{display:block}.panel-brand small{margin-top:2px;color:#71889a;font-size:.62rem;font-weight:900;letter-spacing:.1em}.panel-voice{justify-self:end;padding:7px 10px;border:1px solid #2d465a;border-radius:9px;background:#091723;color:#8da2b3;font-size:.74rem;font-weight:800}.panel-voice.active{color:#fff}.panel-voice.active i{color:var(--fp-gold)}
.panel-stage{display:grid;grid-template-columns:minmax(360px,.72fr) minmax(0,1.28fr);gap:14px;min-height:calc(100vh - 62px);padding:14px;background:radial-gradient(circle at 17% 18%,rgba(53,112,159,.17),transparent 27%),radial-gradient(circle at 85% 12%,rgba(235,181,69,.07),transparent 21%),#050c14}
.presenter-stage,.ai-panel-room{border:1px solid var(--fp-line);border-radius:18px;background:#07131e;overflow:hidden}.presenter-stage{display:flex;flex-direction:column;min-height:760px}.presenter-stage-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:20px;border-bottom:1px solid var(--fp-line);background:#0c1b29}.presenter-stage-top h1{margin:.1em 0 .1em;font-size:clamp(2rem,4vw,4.5rem);line-height:.93;font-weight:950;letter-spacing:-.05em}.presenter-stage-top p{margin:0;color:#7b91a3}.presenter-clock-wrap{text-align:right}.presenter-clock-wrap>span{display:block;color:#70879a;font-size:.62rem;font-weight:900;letter-spacing:.1em}.presenter-clock-wrap>strong{display:block;margin:2px 0 6px;color:var(--fp-gold);font-family:monospace;font-size:2rem}.presenter-clock-wrap button{padding:5px 7px;border:1px solid #304b60;border-radius:7px;background:#0b1926;color:#9eb0bf;font-size:.68rem;font-weight:800}
.presenter-center{position:relative;flex:1;min-height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.presenter-spotlight{position:absolute;top:-80px;width:380px;height:520px;background:linear-gradient(180deg,rgba(67,130,180,.18),transparent 72%);clip-path:polygon(43% 0,57% 0,90% 100%,10% 100%)}.presenter-avatar{position:relative;z-index:2;width:170px;height:170px;display:grid;place-items:center;border:2px solid #5b82a1;border-radius:50%;background:radial-gradient(circle at 50% 35%,#2b5878,#123149 60%,#081520);color:#dce8f0;font-size:4.5rem;box-shadow:0 0 0 14px rgba(51,104,146,.11),0 0 80px rgba(43,105,151,.16)}.presenter-copy{position:relative;z-index:2;margin-top:20px;text-align:center}.presenter-copy strong,.presenter-copy span{display:block}.presenter-copy strong{font-size:1.4rem}.presenter-copy span{margin-top:3px;color:#7f95a7;font-size:.8rem}.panel-speaking .presenter-avatar{box-shadow:0 0 0 14px rgba(51,104,146,.16),0 0 85px rgba(236,181,63,.2)}.time-up .presenter-clock-wrap strong{animation:timeflash .3s 4 alternate}@keyframes timeflash{to{color:#ff5d6f;transform:scale(1.06)}}
.presenter-profile{display:grid;gap:6px;padding:14px;border-top:1px solid var(--fp-line);border-bottom:1px solid var(--fp-line);background:#081521}.presenter-profile>div{display:grid;grid-template-columns:70px 1fr;gap:9px}.presenter-profile span{color:#6f8799;font-size:.68rem;font-weight:900;text-transform:uppercase}.presenter-profile strong{color:#c8d4de;font-size:.77rem;font-weight:650}.presenter-actions{display:flex;gap:8px;padding:14px}.presenter-actions .btn{flex:1}
.ai-panel-room{display:flex;flex-direction:column;min-height:760px}.panelist-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;padding:10px;border-bottom:1px solid var(--fp-line);background:#081521}.panelist{min-height:94px;padding:10px 7px;border:1px solid #243d52;border-radius:11px;background:#0a1724;color:#8fa4b5}.panelist i{display:block;margin-bottom:8px;color:#6e879b}.panelist strong,.panelist span{display:block}.panelist strong{color:#eef5fb;font-size:.76rem}.panelist span{margin-top:2px;font-size:.62rem}.panelist:hover,.panelist.active{background:#12283c;border-color:#4b718f;transform:translateY(-1px)}.panelist.active i{color:var(--fp-gold)}
.panel-chat-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:13px 15px;border-bottom:1px solid var(--fp-line);background:#0b1926}.panel-active-role{display:flex;align-items:center;gap:10px}.panel-role-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#122b42;color:var(--fp-gold)}.panel-active-role small,.panel-active-role strong{display:block}.panel-active-role small{color:#6f8799;font-size:.58rem;font-weight:900;letter-spacing:.1em}.panel-active-role strong{margin-top:2px;font-size:.9rem}.panel-rag-badge{padding:6px 8px;border:1px solid #2e4b61;border-radius:999px;color:#8da4b5;font-size:.66rem;font-weight:800}.panel-rag-badge i{color:#48c981}
.panel-chat{flex:1;min-height:430px;max-height:620px;overflow:auto;padding:16px}.panel-msg{display:flex;gap:9px;align-items:flex-start;margin-bottom:14px}.panel-msg.user{flex-direction:row-reverse}.panel-msg-avatar{flex:0 0 auto;width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#112a40;color:var(--fp-gold)}.panel-msg.user .panel-msg-avatar{color:#dce8f0}.panel-bubble{max-width:84%;padding:11px 12px;border:1px solid #294358;border-radius:12px;background:#0d1b29}.panel-msg.user .panel-bubble{background:#142c42}.panel-bubble strong{display:block;margin-bottom:5px;font-size:.75rem}.panel-bubble p{margin:0;color:#c5d1db;line-height:1.55;font-size:.85rem}.panel-sources{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.panel-sources a{padding:4px 6px;border:1px solid #304b61;border-radius:999px;color:#8ba1b3;text-decoration:none;font-size:.62rem}
.panel-thinking{display:none;align-items:center;gap:4px;padding:7px 15px;color:#71899b;font-size:.7rem}.panel-thinking.show{display:flex}.panel-thinking b{margin-left:4px}
.panel-compose{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:8px;padding:12px;border-top:1px solid var(--fp-line);background:#06111b}.panel-compose textarea{resize:none;background:#091723!important;border-color:#294459!important;color:#fff!important}.panel-compose .btn{display:flex;align-items:center;justify-content:center;gap:6px;border-radius:10px;font-weight:900}

@media(max-width:1200px){.focus-layout{grid-template-columns:1fr}.focus-coach-card{position:relative;top:auto}.panel-stage{grid-template-columns:1fr}.presenter-stage{min-height:610px}.panelist-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.focus-intro{grid-template-columns:1fr}.focus-health{grid-template-columns:1fr 1fr 1fr}.focus-launch{align-items:flex-start;flex-direction:column}.focus-launch .btn{width:100%}.panel-top{grid-template-columns:auto 1fr auto}.panel-brand small{display:none}}
@media(max-width:600px){.focus-top .container-fluid{padding:0 12px}.focus-status{display:none}.focus-form-grid{grid-template-columns:1fr}.focus-form-grid label.wide{grid-column:auto}.focus-quick{grid-template-columns:1fr}.focus-health{grid-template-columns:1fr}.panel-stage{padding:8px}.panelist-grid{grid-template-columns:1fr 1fr}.presenter-stage-top{flex-direction:column}.presenter-clock-wrap{text-align:left}.panel-compose{grid-template-columns:1fr}.panel-top{padding:0 10px}.panel-brand strong{font-size:.82rem}.panel-voice{font-size:0}.panel-voice i{font-size:1rem}}


/* Friction-reduction quick setup */
.focus-quickstart{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:12px 18px;
  border-bottom:1px solid var(--fp-line);
  background:#091722;
}
.focus-quickstart strong,
.focus-quickstart span{
  display:block;
}
.focus-quickstart strong{
  color:#eef5fb;
  font-size:.83rem;
}
.focus-quickstart span{
  margin-top:2px;
  color:#71889a;
  font-size:.72rem;
}
.focus-quickstart-actions{
  display:flex;
  gap:7px;
  flex:0 0 auto;
}
.focus-form-grid .form-select{
  background-color:#06111b!important;
  border-color:#284258!important;
  color:#fff!important;
}
.focus-form-grid .form-select option{
  background:#0a1724;
  color:#fff;
}

@media(max-width:650px){
  .focus-quickstart{
    align-items:flex-start;
    flex-direction:column;
  }
  .focus-quickstart-actions{
    width:100%;
  }
  .focus-quickstart-actions .btn{
    flex:1;
  }
}


/* Live Founder AI avatar in full panel */
.presenter-live-avatar{
  padding:18px 16px 12px;
}

.presenter-avatar-frame{
  position:relative;
  z-index:3;
  width:min(100%,460px);
  height:390px;
  overflow:hidden;
  border:1px solid #496f8d;
  border-radius:18px;
  background:#050d16;
  box-shadow:
    0 0 0 10px rgba(51,104,146,.09),
    0 24px 70px rgba(0,0,0,.34);
}

.presenter-avatar-frame iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  display:block;
  background:#07111f;
  opacity:0;
  transition:opacity .2s ease;
}

.presenter-avatar-frame iframe.loaded{
  opacity:1;
}

.presenter-avatar-frame iframe.failed{
  display:none;
}

.presenter-avatar-frame.speaking{
  border-color:#d9a942;
  box-shadow:
    0 0 0 10px rgba(51,104,146,.09),
    0 0 55px rgba(239,182,64,.18),
    0 24px 70px rgba(0,0,0,.34);
}

.presenter-avatar-fallback{
  position:absolute;
  inset:0;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  background:
    radial-gradient(circle at 50% 35%,#2a5678,#123049 58%,#07131e 76%);
  color:#fff;
}

.presenter-avatar-fallback.hidden{
  display:none;
}

.presenter-avatar-fallback i{
  width:120px;
  height:120px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:2px solid #557d9d;
  background:#10283d;
  color:var(--fp-gold);
  font-size:3.3rem;
  box-shadow:0 0 0 10px rgba(51,104,146,.12);
}

.presenter-avatar-fallback strong{
  margin-top:10px;
  font-size:1.1rem;
}

.presenter-avatar-fallback span{
  color:#8298aa;
  font-size:.76rem;
}

@media(max-width:700px){
  .presenter-avatar-frame{
    width:100%;
    height:520px;
  }
}


/* ==========================================================
   PANEL VIEWPORT CLEANUP + ORIGINAL 3D AVATAR
   ========================================================== */

html{
  min-height:100%;
}

body.panel-body{
  height:100dvh;
  min-height:100dvh;
  overflow:hidden;
  overscroll-behavior:none;
}

.panel-top{
  height:62px;
  min-height:62px;
}

.panel-stage{
  height:calc(100dvh - 62px);
  min-height:0!important;
  overflow:hidden;
  align-items:stretch;
}

.presenter-stage,
.ai-panel-room{
  height:100%;
  min-height:0!important;
  overflow:hidden;
}

.presenter-stage{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto auto;
}

.presenter-stage-top{
  flex:0 0 auto;
}

.presenter-center{
  min-height:0!important;
  height:auto!important;
  padding:12px 14px 8px!important;
}

.presenter-avatar-frame{
  position:relative;
  z-index:3;
  width:min(100%, 500px)!important;
  height:100%!important;
  min-height:250px;
  max-height:460px;
  overflow:hidden;
  border:1px solid #496f8d;
  border-radius:18px;
  background:#050d16;
  box-shadow:
    0 0 0 8px rgba(51,104,146,.08),
    0 22px 60px rgba(0,0,0,.30);
  contain:layout paint;
}

.presenter-avatar-frame canvas{
  position:absolute;
  inset:0;
  display:block;
  width:100%!important;
  height:100%!important;
  opacity:0;
  transition:opacity .18s ease;
  touch-action:none;
}

.presenter-avatar-frame canvas.is-ready{
  opacity:1;
}

.presenter-avatar-loader{
  position:absolute;
  inset:0;
  z-index:4;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  color:#8fa5b6;
  background:#07131e;
  font-size:.78rem;
}

.presenter-avatar-fallback{
  position:absolute;
  inset:0;
  z-index:3;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  background:radial-gradient(circle at 50% 35%,#2a5678,#123049 58%,#07131e 76%);
}

.presenter-avatar-fallback[hidden]{
  display:none!important;
}

.presenter-avatar-fallback i{
  width:108px;
  height:108px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:2px solid #557d9d;
  background:#10283d;
  color:var(--fp-gold);
  font-size:3rem;
}

.presenter-avatar-fallback strong{
  margin-top:7px;
}

.presenter-avatar-fallback span{
  color:#8197a9;
  font-size:.72rem;
}

.presenter-avatar-state{
  position:absolute;
  z-index:6;
  left:12px;
  bottom:12px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 8px;
  border:1px solid rgba(88,141,181,.42);
  border-radius:999px;
  background:rgba(5,14,23,.80);
  backdrop-filter:blur(8px);
  color:#9eb2c2;
  font-size:.64rem;
  font-weight:900;
  letter-spacing:.08em;
}

.presenter-avatar-state i{
  color:#4bd18a;
  font-size:.45rem;
}

.presenter-avatar-frame[data-avatar-state="thinking"] .presenter-avatar-state i{
  color:#b58cff;
}

.presenter-avatar-frame[data-avatar-state="speaking"]{
  border-color:#d3a645;
  box-shadow:
    0 0 0 8px rgba(51,104,146,.08),
    0 0 54px rgba(239,182,64,.15),
    0 22px 60px rgba(0,0,0,.30);
}

.presenter-avatar-frame[data-avatar-state="speaking"] .presenter-avatar-state i{
  color:#efb640;
}

.presenter-copy{
  margin-top:8px!important;
}

.presenter-profile{
  max-height:124px;
  overflow:auto;
  scrollbar-width:thin;
}

.presenter-actions{
  flex:0 0 auto;
}

.ai-panel-room{
  display:grid!important;
  grid-template-rows:auto auto minmax(0,1fr) auto auto;
}

.panel-chat{
  min-height:0!important;
  max-height:none!important;
  height:auto!important;
  overflow:auto!important;
  overscroll-behavior:contain;
}

.panelist-grid{
  flex:0 0 auto;
}

.panel-chat-head,
.panel-thinking,
.panel-compose{
  flex:0 0 auto;
}

@media(max-height:780px) and (min-width:1201px){
  .panel-top{
    height:56px;
    min-height:56px;
  }
  .panel-stage{
    height:calc(100dvh - 56px);
    padding:8px;
  }
  .presenter-stage-top{
    padding:13px 15px;
  }
  .presenter-stage-top h1{
    font-size:2.2rem;
  }
  .presenter-clock-wrap>strong{
    font-size:1.55rem;
  }
  .presenter-avatar-frame{
    max-height:350px;
  }
  .presenter-profile{
    max-height:94px;
    padding:9px 12px;
  }
  .presenter-actions{
    padding:9px 12px;
  }
  .panelist{
    min-height:76px;
  }
  .panelist i{
    margin-bottom:5px;
  }
}

@media(max-width:1200px){
  body.panel-body{
    height:auto;
    min-height:100dvh;
    overflow:auto;
    overscroll-behavior:auto;
  }

  .panel-stage{
    height:auto;
    min-height:calc(100dvh - 62px)!important;
    overflow:visible;
  }

  .presenter-stage,
  .ai-panel-room{
    height:auto;
    min-height:0!important;
    overflow:visible;
  }

  .presenter-stage{
    display:flex!important;
  }

  .presenter-avatar-frame{
    width:min(100%,540px)!important;
    height:430px!important;
    max-height:none;
  }

  .ai-panel-room{
    display:flex!important;
  }

  .panel-chat{
    min-height:420px!important;
    max-height:620px!important;
  }
}

@media(max-width:650px){
  .panel-top{
    height:58px;
    min-height:58px;
  }

  .panel-stage{
    min-height:calc(100dvh - 58px)!important;
  }

  .presenter-avatar-frame{
    height:390px!important;
    min-height:390px;
    border-radius:14px;
  }

  .presenter-copy span{
    max-width:320px;
  }

  .panelist-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}


/* ==========================================================
   CHAT FLOW + COMMAND UX
   ========================================================== */

.panel-flowbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:42px;
  padding:7px 12px;
  border-bottom:1px solid var(--fp-line);
  background:#07131e;
}

.panel-flow-status{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:112px;
  color:#9cb0c0;
  font-size:.69rem;
}

.panel-flow-status strong{
  white-space:nowrap;
}

.flow-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#708699;
  box-shadow:0 0 0 4px rgba(112,134,153,.08);
}

.flow-dot.ready{background:#48ce82}
.flow-dot.sending{background:#62aee4;animation:flowPulse .75s infinite alternate}
.flow-dot.thinking{background:#b78cf3;animation:flowPulse .75s infinite alternate}
.flow-dot.receiving{background:#65d5d0;animation:flowPulse .55s infinite alternate}
.flow-dot.speaking{background:var(--fp-gold);animation:flowPulse .45s infinite alternate}
.flow-dot.error{background:#ff6578}

@keyframes flowPulse{
  to{opacity:.35;transform:scale(.76)}
}

.panel-flow-route{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-width:0;
  color:#657e92;
  font-size:.64rem;
  font-weight:800;
}

.panel-flow-route span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  white-space:nowrap;
}

.panel-flow-route span.active{
  color:#c9d6df;
}

.panel-flow-route span.active i{
  color:var(--fp-gold);
}

.panel-help-btn{
  flex:0 0 auto;
  padding:6px 9px;
  border:1px solid #2d485d;
  border-radius:8px;
  background:#0b1926;
  color:#92a7b7;
  font-size:.67rem;
  font-weight:800;
}

.panel-help-btn:hover{
  color:#fff;
  background:#12283c;
}

.panel-command-strip{
  display:flex;
  gap:5px;
  overflow-x:auto;
  padding:7px 10px;
  border-bottom:1px solid var(--fp-line);
  background:#06111b;
  scrollbar-width:thin;
  scroll-behavior:smooth;
}

.panel-command-strip button{
  flex:0 0 auto;
  padding:5px 7px;
  border:1px solid #243e53;
  border-radius:999px;
  background:#091824;
  color:#758da0;
  font-size:.62rem;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-weight:800;
}

.panel-command-strip button:hover,
.panel-command-strip.command-active button{
  border-color:#3a5f7c;
  color:#bcd0de;
  background:#10253a;
}

.panel-chat{
  scroll-behavior:smooth;
  scrollbar-width:thin;
  scrollbar-color:#34536a #07131e;
}

.panel-chat::-webkit-scrollbar{
  width:8px;
}

.panel-chat::-webkit-scrollbar-track{
  background:#07131e;
}

.panel-chat::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:#34536a;
}

.panel-msg{
  transition:opacity .24s ease,transform .24s ease;
}

.panel-msg.flow-in{
  opacity:0;
  transform:translateY(10px);
}

.panel-msg.user.flow-in{
  transform:translateY(8px) translateX(8px);
}

.panel-system-note{
  display:flex;
  align-items:center;
  gap:7px;
  width:max-content;
  max-width:86%;
  margin:8px auto 12px;
  padding:7px 9px;
  border:1px solid #263f53;
  border-radius:999px;
  background:#091723;
  color:#7f95a7;
  font-size:.66rem;
  transition:opacity .24s ease,transform .24s ease;
}

.panel-system-note.flow-in{
  opacity:0;
  transform:translateY(8px);
}

.panel-system-note i{
  color:#7093af;
}

.panel-compose-wrap{
  position:relative;
  z-index:4;
  border-top:1px solid var(--fp-line);
  background:#06111b;
}

.panel-compose{
  border-top:0!important;
  padding-bottom:7px!important;
}

.panel-compose textarea{
  line-height:1.45;
  scroll-behavior:smooth;
}

.panel-compose textarea:focus{
  border-color:#476f8e!important;
  box-shadow:0 0 0 3px rgba(63,113,151,.10)!important;
}

.panel-compose-help{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  padding:0 13px 9px;
  color:#647d90;
  font-size:.61rem;
}

.panel-compose-help span:last-child{
  margin-left:auto;
}

.panel-compose-help kbd{
  padding:2px 4px;
  border:1px solid #344b5e;
  border-bottom-width:2px;
  border-radius:4px;
  background:#0b1926;
  color:#9fb2c1;
  font-size:.57rem;
  box-shadow:none;
}

.panel-help-drawer{
  position:absolute;
  z-index:40;
  right:14px;
  bottom:100px;
  width:min(540px,calc(100% - 28px));
  max-height:min(520px,70vh);
  overflow:auto;
  padding:15px;
  border:1px solid #365875;
  border-radius:15px;
  background:#081522;
  box-shadow:0 24px 70px rgba(0,0,0,.48);
  opacity:0;
  transform:translateY(10px);
  transition:opacity .16s ease,transform .16s ease;
}

.panel-help-drawer.show{
  opacity:1;
  transform:translateY(0);
}

.panel-help-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin-bottom:10px;
}

.panel-help-head strong{
  display:block;
  font-size:1.05rem;
}

.panel-help-head button{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:1px solid #2e4b61;
  border-radius:9px;
  background:#0b1926;
  color:#91a7b7;
}

.panel-help-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
}

.panel-help-grid button{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:48px;
  padding:9px 10px;
  border:1px solid #263f53;
  border-radius:10px;
  background:#0a1926;
  color:#9fb1bf;
  text-align:left;
}

.panel-help-grid button:hover{
  border-color:#416783;
  background:#10283c;
  color:#fff;
}

.panel-help-grid code{
  flex:0 0 78px;
  color:var(--fp-gold);
  font-size:.69rem;
}

.panel-help-grid span{
  font-size:.7rem;
}

.panel-help-drawer>p{
  margin:10px 0 0;
  color:#748b9e;
  font-size:.68rem;
}

.panel-help-drawer>p code{
  color:#dcb55a;
}

@media(max-width:760px){
  .panel-flow-route{
    display:none;
  }

  .panel-command-strip{
    padding-right:18px;
  }

  .panel-compose-help{
    gap:7px 10px;
  }

  .panel-compose-help span:last-child{
    width:100%;
    margin-left:0;
  }

  .panel-help-grid{
    grid-template-columns:1fr;
  }

  .panel-help-drawer{
    position:fixed;
    right:10px;
    left:10px;
    bottom:10px;
    width:auto;
    max-height:74dvh;
  }
}

.coach-compose-help{
  display:flex;
  gap:12px;
  padding:0 12px 10px;
  color:#687f91;
  font-size:.6rem;
}
.coach-compose-help kbd{
  padding:2px 4px;
  border:1px solid #334a5d;
  border-radius:4px;
  background:#0b1926;
  color:#9db1c0;
  font-size:.56rem;
}
.focus-chat{scroll-behavior:smooth}


/* ==========================================================
   COMPACT PANEL HEADER FLOW
   Status + route + help now live in the Active Panelist row.
   ========================================================== */

.panel-chat-head-compact{
  display:grid!important;
  grid-template-columns:minmax(180px,auto) minmax(0,1fr) auto;
  align-items:center!important;
  gap:16px!important;
  min-height:64px;
  padding:10px 14px!important;
}

.panel-head-flow{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
}

.panel-flow-status-inline{
  min-width:auto!important;
  flex:0 0 auto;
  padding:6px 9px;
  border:1px solid #2a465b;
  border-radius:999px;
  background:#081622;
}

.panel-flow-route-inline{
  min-width:0;
  justify-content:center!important;
  padding:0!important;
}

.panel-head-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  flex:0 0 auto;
}

.panel-chat-head-compact .panel-help-btn{
  min-height:31px;
}

.panel-chat-head-compact .panel-rag-badge{
  white-space:nowrap;
}

/* The old standalone flow row is intentionally gone. */
.panel-flowbar{
  display:none!important;
}

/* Commands sit directly under the Active Panelist status rail. */
.panel-command-strip{
  min-height:42px;
  align-items:center;
  padding:6px 10px!important;
}

/* Give the actual conversation the reclaimed vertical room. */
.ai-panel-room{
  grid-template-rows:auto auto minmax(0,1fr) auto auto!important;
}

.panel-chat{
  padding-top:14px!important;
}

@media(max-width:1050px){
  .panel-chat-head-compact{
    grid-template-columns:auto 1fr;
  }

  .panel-head-flow{
    justify-content:flex-end;
  }

  .panel-flow-route-inline{
    display:none!important;
  }

  .panel-head-actions{
    grid-column:1/-1;
    justify-content:flex-end;
    margin-top:-4px;
  }
}

@media(max-width:650px){
  .panel-chat-head-compact{
    grid-template-columns:1fr auto;
    gap:9px!important;
  }

  .panel-head-flow{
    justify-content:flex-end;
  }

  .panel-flow-status-inline{
    padding:5px 8px;
  }

  .panel-head-actions{
    grid-column:1/-1;
    width:100%;
    justify-content:space-between;
    margin-top:0;
  }

  .panel-rag-badge{
    max-width:70%;
    overflow:hidden;
    text-overflow:ellipsis;
  }
}


/* ==========================================================
   PANEL LAYER FIX
   Remove the permanent / command row and make the panel a
   simple vertical app stack. No implicit CSS-grid rows.
   ========================================================== */

.ai-panel-room{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
  isolation:isolate;
}

/* Stop earlier grid rules from creating implicit rows/layers. */
.ai-panel-room{
  grid-template-rows:none!important;
  grid-template-columns:none!important;
}

.panelist-grid{
  position:relative;
  z-index:4;
  flex:0 0 auto!important;
}

.panel-chat-head,
.panel-chat-head-compact{
  position:relative!important;
  z-index:5!important;
  flex:0 0 auto!important;
}

.panel-chat{
  position:relative!important;
  z-index:1!important;
  flex:1 1 auto!important;
  min-height:0!important;
  height:0!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain;
  scroll-behavior:smooth;
  padding:14px 16px!important;
  background:#07131e;
}

.panel-thinking{
  position:relative;
  z-index:3;
  flex:0 0 auto!important;
  min-height:0;
  background:#07131e;
}

.panel-compose-wrap{
  position:relative!important;
  z-index:6!important;
  flex:0 0 auto!important;
  background:#06111b!important;
  box-shadow:0 -8px 24px rgba(3,10,17,.22);
}

/* Permanent slash-chip row removed. */
.panel-command-strip{
  display:none!important;
}

/* Help/commands float above chat only when opened. */
.panel-help-drawer{
  position:absolute!important;
  z-index:50!important;
  top:132px!important;
  right:14px!important;
  bottom:auto!important;
  width:min(560px,calc(100% - 28px))!important;
  max-height:calc(100% - 150px)!important;
  overflow:auto!important;
}

.panel-help-drawer[hidden]{
  display:none!important;
}

.panel-help-drawer.show{
  display:block!important;
}

/* Message content must never climb over the header. */
.panel-msg,
.panel-system-note{
  position:relative;
  z-index:1;
}

.panel-bubble{
  overflow-wrap:anywhere;
  word-break:normal;
}

.panel-head-actions{
  position:relative;
  z-index:7;
}

/* Keep status rail compact and readable. */
.panel-chat-head-compact{
  min-height:64px!important;
  background:#0b1926!important;
  border-bottom:1px solid var(--fp-line)!important;
}

@media(max-width:1200px){
  .ai-panel-room{
    height:auto!important;
    overflow:visible!important;
  }

  .panel-chat{
    height:auto!important;
    min-height:420px!important;
    max-height:620px!important;
  }

  .panel-help-drawer{
    position:fixed!important;
    top:auto!important;
    right:10px!important;
    left:10px!important;
    bottom:10px!important;
    width:auto!important;
    max-height:74dvh!important;
  }
}

@media(max-width:650px){
  .panel-head-actions{
    gap:5px!important;
  }

  .panel-help-btn{
    padding:6px 8px!important;
  }
}


/* ==========================================================
   LIVE FOUNDER GRADE
   Silent AI + timing + pacing + optional presence telemetry.
   ========================================================== */

.live-grade-card{
  position:relative;
  margin:0 14px 10px;
  padding:13px;
  border:1px solid #2e5068;
  border-radius:14px;
  background:
    radial-gradient(circle at 92% 14%,rgba(239,182,64,.10),transparent 25%),
    #081722;
}

.live-grade-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

.live-grade-kicker{
  display:block;
  color:#748da0;
  font-size:.61rem;
  font-weight:900;
  letter-spacing:.09em;
}

.live-grade-kicker i{color:#efb640}

.live-grade-top>div:first-child>strong{
  display:block;
  margin-top:2px;
  color:#fff;
  font-size:1.45rem;
  font-weight:950;
}

.live-grade-score{
  display:flex;
  align-items:baseline;
  gap:3px;
}

.live-grade-score span{
  color:#efb640;
  font-size:1.75rem;
  font-weight:950;
}

.live-grade-score small{
  color:#627b8d;
  font-size:.68rem;
}

.live-grade-bars{
  display:grid;
  gap:7px;
}

.live-grade-row{
  display:grid;
  grid-template-columns:88px minmax(0,1fr) 30px;
  align-items:center;
  gap:8px;
}

.live-grade-row>span{
  color:#9db0bf;
  font-size:.66rem;
  font-weight:800;
}

.live-grade-row>span i{
  width:14px;
  margin-right:4px;
  color:#7291a8;
}

.live-grade-row>div{
  height:7px;
  overflow:hidden;
  border-radius:999px;
  background:#152838;
}

.live-grade-row>div>b{
  display:block;
  width:0;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#3478a8,#efb640);
  transition:width .35s ease;
}

.live-grade-row>strong{
  color:#dbe6ee;
  text-align:right;
  font-size:.68rem;
}

.live-grade-indicators{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin-top:10px;
}

.live-grade-indicators span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:5px 7px;
  border:1px solid #284358;
  border-radius:999px;
  background:#07131e;
  color:#728a9d;
  font-size:.59rem;
  font-weight:750;
}

.live-grade-indicators i{color:#7f9bb1}

.live-grade-controls{
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:6px;
  margin-top:10px;
}

.live-grade-btn{
  min-height:34px;
  padding:6px 8px;
  border:1px solid #2d4a60;
  border-radius:9px;
  background:#0a1926;
  color:#8fa5b5;
  font-size:.64rem;
  font-weight:850;
}

.live-grade-btn:hover{
  color:#fff;
  background:#10283c;
}

.live-grade-btn.primary{
  border-color:#4c6d86;
  color:#fff;
}

.live-grade-btn.recording{
  border-color:#8d4650;
  background:#2b1017;
  color:#ff8995;
}

.grade-camera-video{
  position:fixed!important;
  width:1px!important;
  height:1px!important;
  left:-10px!important;
  bottom:-10px!important;
  opacity:.001!important;
  pointer-events:none!important;
}

.grade-assessment{
  position:absolute;
  z-index:30;
  left:14px;
  right:14px;
  bottom:62px;
  max-height:62%;
  overflow:auto;
  padding:14px;
  border:1px solid #3a5e78;
  border-radius:14px;
  background:#081722;
  box-shadow:0 22px 60px rgba(0,0,0,.48);
}

.grade-assessment[hidden]{display:none!important}

.grade-assessment-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-bottom:10px;
  border-bottom:1px solid #263f53;
}

.grade-assessment-head span,
.grade-assessment-head strong{
  display:block;
}

.grade-assessment-head span{
  color:#70889a;
  font-size:.61rem;
  font-weight:900;
  letter-spacing:.09em;
}

.grade-assessment-head strong{
  margin-top:3px;
  color:#fff;
}

.grade-assessment-head button{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border:1px solid #2d485d;
  border-radius:8px;
  background:#0b1926;
  color:#91a6b6;
}

.grade-assessment-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin-top:10px;
}

.grade-assessment-grid>div{
  padding:9px;
  border:1px solid #253f53;
  border-radius:9px;
  background:#07131e;
}

.grade-assessment-grid span,
.grade-assessment-grid strong{
  display:block;
}

.grade-assessment-grid span{
  color:#6d8598;
  font-size:.61rem;
  font-weight:850;
}

.grade-assessment-grid strong{
  margin-top:2px;
  color:#dce7ef;
  font-size:.82rem;
}

.grade-assessment>p{
  margin:10px 0 0;
  color:#92a7b7;
  line-height:1.45;
  font-size:.72rem;
}

.assessment-flags{
  display:flex;
  gap:5px;
  flex-wrap:wrap;
  margin-top:8px;
}

.assessment-flags span{
  padding:4px 6px;
  border:1px solid #2a4559;
  border-radius:999px;
  color:#7f96a8;
  font-size:.58rem;
}

/* Keep scoring compact on shorter desktop viewports. */
@media(max-height:820px) and (min-width:1201px){
  .live-grade-card{
    padding:10px;
    margin-bottom:7px;
  }
  .live-grade-indicators{
    margin-top:7px;
  }
  .live-grade-controls{
    margin-top:7px;
  }
  .live-grade-btn{
    min-height:30px;
  }
}

@media(max-width:650px){
  .live-grade-controls{
    grid-template-columns:1fr;
  }
  .grade-assessment{
    position:fixed;
    left:10px;
    right:10px;
    bottom:10px;
    max-height:72dvh;
  }
}


/* ==========================================================
   LIVE GRADE LAYOUT CLEANUP
   Keep presenter/3D avatar untouched. Grade lives on panel side.
   ========================================================== */

.panel-stage{
  width:100%!important;
  max-width:100vw!important;
  box-sizing:border-box!important;
  grid-template-columns:minmax(420px,.62fr) minmax(0,1.38fr)!important;
}

.presenter-stage,
.ai-panel-room{
  min-width:0!important;
}

.presenter-stage{
  /* Restore presenter-first layout. Grading no longer consumes this column. */
  grid-template-rows:auto minmax(0,1fr) auto auto!important;
}

.presenter-center{
  min-height:300px!important;
}

.presenter-avatar-frame{
  width:min(100%,520px)!important;
  max-height:520px!important;
}

.presenter-profile{
  max-height:145px!important;
}

/* Right panel stays inside viewport even with six panelists. */
.ai-panel-room{
  overflow:hidden!important;
}

.panelist-grid{
  min-width:0!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
}

.panelist{
  min-width:0!important;
  overflow:hidden;
}

.panelist strong,
.panelist span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* Compact grade rail */
.panel-grade-rail{
  position:relative;
  z-index:6;
  flex:0 0 auto;
  display:grid;
  grid-template-columns:minmax(360px,1fr) auto auto;
  align-items:center;
  gap:12px;
  min-height:66px;
  padding:8px 12px;
  border-bottom:1px solid var(--fp-line);
  background:
    radial-gradient(circle at 18% 50%,rgba(239,182,64,.07),transparent 20%),
    #081521;
}

.panel-grade-main{
  min-width:0;
  display:flex;
  align-items:center;
  gap:14px;
}

.panel-grade-title{
  flex:0 0 auto;
  display:grid;
  grid-template-columns:auto auto;
  column-gap:7px;
  align-items:baseline;
  min-width:92px;
}

.panel-grade-title>span{
  grid-column:1/-1;
  color:#70899c;
  font-size:.57rem;
  font-weight:900;
  letter-spacing:.08em;
}

.panel-grade-title>span i{
  color:#efb640;
}

.panel-grade-title>strong{
  color:#fff;
  font-size:1.3rem;
  font-weight:950;
}

.panel-grade-title>b{
  color:#efb640;
  font-size:.82rem;
  font-weight:950;
}

.panel-grade-title>b small{
  margin-left:2px;
  color:#627b8e;
  font-size:.55rem;
  font-weight:700;
}

.panel-grade-metrics{
  min-width:0;
  flex:1 1 auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(100px,1fr));
  gap:8px;
}

.panel-grade-metric{
  min-width:0;
  display:grid;
  grid-template-columns:auto minmax(42px,1fr) 24px;
  align-items:center;
  gap:6px;
}

.panel-grade-metric>span{
  color:#8da3b4;
  font-size:.59rem;
  font-weight:800;
  white-space:nowrap;
}

.panel-grade-metric>span i{
  margin-right:3px;
  color:#6f8ea5;
}

.panel-grade-metric>div{
  min-width:42px;
  height:6px;
  overflow:hidden;
  border-radius:999px;
  background:#142839;
}

.panel-grade-metric>div>b{
  display:block;
  width:0;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#3478a8,#efb640);
  transition:width .35s ease;
}

.panel-grade-metric>strong{
  color:#dbe6ee;
  font-size:.61rem;
  text-align:right;
}

.panel-grade-signals{
  flex:0 0 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4px;
}

.panel-grade-signals span{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:4px 6px;
  border:1px solid #284358;
  border-radius:999px;
  background:#07131e;
  color:#70889a;
  font-size:.54rem;
  font-weight:750;
  white-space:nowrap;
}

.panel-grade-signals i{
  color:#7a98ae;
}

.panel-grade-actions{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:5px;
}

.panel-grade-btn{
  min-height:34px;
  padding:6px 8px;
  border:1px solid #2e4b61;
  border-radius:9px;
  background:#0a1926;
  color:#8fa5b5;
  font-size:.59rem;
  font-weight:850;
  white-space:nowrap;
}

.panel-grade-btn:hover{
  color:#fff;
  background:#10283c;
}

.panel-grade-btn.primary{
  color:#fff;
  border-color:#4c6d86;
}

.panel-grade-btn.recording{
  border-color:#8d4650;
  background:#2b1017;
  color:#ff8995;
}

/* Detailed assessment opens over the right panel, never over presenter/avatar. */
.grade-assessment-right{
  position:absolute!important;
  z-index:60!important;
  left:auto!important;
  right:14px!important;
  top:150px!important;
  bottom:auto!important;
  width:min(470px,calc(100% - 28px))!important;
  max-height:calc(100% - 170px)!important;
}

/* Old left-side grade card rules must not reserve layout space. */
.live-grade-card{
  margin:0!important;
}

/* Desktop vertical stack: panelists + grade + active header + chat + compose */
.ai-panel-room{
  display:flex!important;
  flex-direction:column!important;
}

.panel-chat{
  flex:1 1 auto!important;
  min-height:0!important;
}

/* Responsive compression before dropping into tablet layout. */
@media(max-width:1450px) and (min-width:1201px){
  .panel-stage{
    grid-template-columns:minmax(390px,.55fr) minmax(0,1.45fr)!important;
  }

  .panel-grade-rail{
    grid-template-columns:minmax(330px,1fr) auto;
    gap:8px;
  }

  .panel-grade-signals{
    display:none;
  }

  .panel-grade-btn span{
    display:none;
  }

  .panel-grade-btn{
    width:34px;
    padding:0;
  }

  .panel-grade-metrics{
    gap:6px;
  }

  .presenter-avatar-frame{
    max-height:500px!important;
  }
}

@media(max-height:820px) and (min-width:1201px){
  .presenter-avatar-frame{
    min-height:330px!important;
    max-height:430px!important;
  }

  .presenter-profile{
    max-height:110px!important;
  }

  .panel-grade-rail{
    min-height:54px;
    padding:6px 10px;
  }

  .panel-grade-signals{
    display:none;
  }
}

@media(max-width:1200px){
  .panel-stage{
    grid-template-columns:1fr!important;
    max-width:100%!important;
  }

  .panel-grade-rail{
    grid-template-columns:1fr auto;
  }

  .panel-grade-signals{
    grid-column:1/-1;
    display:flex;
    flex-wrap:wrap;
  }

  .presenter-avatar-frame{
    width:min(100%,560px)!important;
    height:460px!important;
    max-height:none!important;
  }

  .grade-assessment-right{
    position:fixed!important;
    top:auto!important;
    left:10px!important;
    right:10px!important;
    bottom:10px!important;
    width:auto!important;
    max-height:72dvh!important;
  }
}

@media(max-width:720px){
  .panel-grade-rail{
    grid-template-columns:1fr;
  }

  .panel-grade-main{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }

  .panel-grade-metrics{
    width:100%;
  }

  .panel-grade-actions{
    width:100%;
  }

  .panel-grade-btn{
    flex:1;
  }
}


/* ==========================================================
   TYPEWRITER + SEND GUARD + GLOBAL ROOM STATUS
   ========================================================== */
.panel-msg.typing .panel-bubble p::after{
  content:"";
  display:inline-block;
  width:7px;
  height:1em;
  margin-left:3px;
  vertical-align:-2px;
  background:#efb640;
  animation:typeCursor .65s steps(1) infinite;
}
@keyframes typeCursor{50%{opacity:0}}

#sendPanel{
  position:relative;
}
#sendPanel.cooldown{
  opacity:.72;
  pointer-events:none;
}
#sendPanel:disabled{
  cursor:not-allowed;
}

.panel-room-strip{
  position:relative;
  z-index:20;
  min-height:42px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:6px 14px;
  border-bottom:1px solid var(--fp-line);
  background:#07131e;
}
.panel-room-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 9px;
  border:1px solid #31516a;
  border-radius:9px;
  background:#0b1a28;
  color:#dce7ef;
  text-decoration:none;
  font-size:.68rem;
  font-weight:900;
}
.panel-room-link i{color:#efb640}
.panel-room-global{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}
.panel-room-global span{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:5px 7px;
  border:1px solid #273f53;
  border-radius:999px;
  color:#7890a2;
  font-size:.6rem;
  font-weight:800;
}
.panel-room-global span:nth-child(1) i{color:#6ba7d6}
.panel-room-global span:nth-child(2) i{color:#58cf8a}
.panel-room-global span:nth-child(3) i{color:#efb640}
.panel-room-current{
  margin-left:auto;
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#71899b;
  font-size:.63rem;
  font-weight:850;
  white-space:nowrap;
}
.panel-room-current.live{color:#8edcac}
.panel-room-current.waiting{color:#efc468}

/* Account for room status strip in desktop viewport. */
@media(min-width:1201px){
  body.panel-body{
    height:100dvh;
  }
  .panel-stage{
    height:calc(100dvh - 104px)!important;
  }
}

@media(max-width:760px){
  .panel-room-strip{
    align-items:flex-start;
    flex-wrap:wrap;
    gap:7px;
  }
  .panel-room-current{
    width:100%;
    margin-left:0;
  }
}


/* ==========================================================
   FINAL AI SURFACE POLISH
   ========================================================== */

.focus-powered,
.rooms-powered,
.panel-powered{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 9px;
  border:1px solid #2b465b;
  border-radius:999px;
  background:#091722;
  color:#8299aa;
  font-size:.62rem;
  font-weight:850;
  white-space:nowrap;
}
.focus-powered i,
.rooms-powered i,
.panel-powered i{color:#efb640}

.focus-health>div{
  position:relative;
}
.focus-health>div>i{
  display:block;
  margin-bottom:7px;
  color:#efb640;
  font-size:.95rem;
}
.focus-step i{color:inherit}
.focus-card-head h2 i,
.focus-launch h2 i{
  color:#efb640;
  font-size:.72em;
}
.panel-brand strong i{color:#efb640}
.panel-active-role small i{color:#efb640}
.grade-assessment-head span i{color:#efb640}

.panel-powered{
  position:absolute;
  left:50%;
  top:42px;
  transform:translateX(-50%);
  padding:3px 7px;
  border-color:transparent;
  background:transparent;
  color:#61798c;
  font-size:.52rem;
}

@media(max-width:900px){
  .focus-powered{display:none}
  .panel-powered{display:none}
}

.panel-powered-inline{
  display:block;
  margin-top:2px;
  color:#60798d;
  font-size:.5rem;
  font-weight:850;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.panel-powered-inline i{color:#efb640}

.panel-powered{display:none!important}


/* ==========================================================
   CHAT ASSESSMENT SNAPSHOT
   ========================================================== */
.chat-assessment-card{
  --assessment-accent:#efb640;
  position:relative;
  z-index:3;
  flex:0 0 auto;
  display:grid;
  grid-template-columns:112px 250px minmax(0,1fr) auto;
  align-items:stretch;
  gap:10px;
  min-height:92px;
  margin:9px 12px 0;
  padding:10px;
  border:1px solid #29475d;
  border-left:4px solid var(--assessment-accent);
  border-radius:13px;
  background:#091722;
  box-shadow:0 10px 28px rgba(0,0,0,.12);
  transition:border-color .25s ease,box-shadow .25s ease;
}
.chat-assessment-card.is-live{
  box-shadow:0 12px 34px rgba(0,0,0,.18);
}

.chat-assessment-grade{
  padding:8px 10px;
  border:1px solid #2a465b;
  border-radius:10px;
  background:#07131e;
}
.chat-assessment-grade>span{
  display:block;
  color:#71899b;
  font-size:.54rem;
  font-weight:950;
  letter-spacing:.09em;
}
.chat-assessment-grade>div{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:7px;
  margin-top:8px;
}
.chat-assessment-grade strong{
  color:var(--assessment-accent);
  font-size:1.72rem;
  line-height:1;
  font-weight:950;
}
.chat-assessment-grade b{
  color:#eef5fb;
  font-size:.8rem;
}
.chat-assessment-grade b>span{font-size:1rem}
.chat-assessment-grade small{
  margin-left:2px;
  color:#637b8e;
  font-size:.52rem;
}

.chat-assessment-metrics{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:6px;
}
.snapshot-metric{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:8px;
  border:1px solid #294459;
  border-radius:10px;
  background:#07131e;
}
.snapshot-metric span{
  display:flex;
  align-items:center;
  gap:4px;
  color:#7890a2;
  font-size:.56rem;
  font-weight:850;
}
.snapshot-metric strong{
  margin-top:5px;
  color:#eef5fb;
  font-size:1.1rem;
}
.snapshot-metric.content{border-top:3px solid #efb640}
.snapshot-metric.delivery{border-top:3px solid #4fa3d1}
.snapshot-metric.presence{border-top:3px solid #49b97b}
.snapshot-metric.content i{color:#efb640}
.snapshot-metric.delivery i{color:#4fa3d1}
.snapshot-metric.presence i{color:#49b97b}

.chat-assessment-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:4px 5px;
}
.chat-assessment-label{
  display:flex;
  align-items:center;
  gap:5px;
  color:#70889b;
  font-size:.53rem;
  font-weight:950;
  letter-spacing:.08em;
}
.chat-assessment-label i{color:var(--assessment-accent)}
.chat-assessment-copy strong{
  margin-top:3px;
  color:#fff;
  font-size:.82rem;
}
.chat-assessment-copy p{
  margin:3px 0 0;
  color:#8da3b3;
  font-size:.68rem;
  line-height:1.35;
}
.snapshot-flags{
  display:flex;
  gap:4px;
  flex-wrap:wrap;
  margin-top:5px;
}
.snapshot-flags span{
  padding:3px 5px;
  border:1px solid #2a455a;
  border-radius:999px;
  color:#7d95a7;
  font-size:.51rem;
  text-transform:capitalize;
}

.chat-assessment-actions{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:6px;
}
.chat-assessment-actions button,
.chat-assessment-actions a{
  min-width:84px;
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:7px;
  padding:6px 8px;
  border:1px solid #2f4d63;
  border-radius:9px;
  background:#0b1a28;
  color:#9fb2c0;
  text-decoration:none;
  font-size:.58rem;
  font-weight:900;
}
.chat-assessment-actions button:hover,
.chat-assessment-actions a:hover{
  color:#fff;
  background:#112a40;
}
.chat-assessment-actions a i{
  color:#ef6b75;
}

.grade-assessment-head{
  background:linear-gradient(180deg,#0d1d2b,#081722);
  margin:-14px -14px 0;
  padding:13px 14px!important;
}
.grade-assessment-grid>div:nth-child(1){border-top:3px solid #efb640}
.grade-assessment-grid>div:nth-child(2){border-top:3px solid #4fa3d1}
.grade-assessment-grid>div:nth-child(3){border-top:3px solid #49b97b}
.grade-assessment-grid>div:nth-child(4){border-top:3px solid #9b86db}

.assessment-pdf-action{
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid #263f53;
}
.assessment-pdf-action a{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:10px;
  border:1px solid #3a5468;
  border-radius:10px;
  background:#0a1926;
  color:#fff;
  text-decoration:none;
}
.assessment-pdf-action>a>i:first-child{
  color:#ef6b75;
  font-size:1.25rem;
}
.assessment-pdf-action>a>i:last-child{
  color:#8fa6b7;
}
.assessment-pdf-action span strong,
.assessment-pdf-action span small{
  display:block;
}
.assessment-pdf-action span strong{
  font-size:.75rem;
}
.assessment-pdf-action span small{
  margin-top:2px;
  color:#768fa1;
  font-size:.59rem;
}

@media(max-width:1450px) and (min-width:1201px){
  .chat-assessment-card{
    grid-template-columns:100px 210px minmax(0,1fr) auto;
    gap:7px;
  }
  .chat-assessment-copy p{
    max-height:34px;
    overflow:hidden;
  }
}
@media(max-width:1000px){
  .chat-assessment-card{
    grid-template-columns:100px 1fr auto;
  }
  .chat-assessment-metrics{grid-column:2}
  .chat-assessment-copy{grid-column:1/-1}
  .chat-assessment-actions{
    grid-column:3;
    grid-row:1/3;
  }
}
@media(max-width:650px){
  .chat-assessment-card{
    grid-template-columns:1fr;
  }
  .chat-assessment-grade{
    display:flex;
    align-items:center;
    justify-content:space-between;
  }
  .chat-assessment-grade>div{margin-top:0}
  .chat-assessment-metrics,
  .chat-assessment-copy,
  .chat-assessment-actions{
    grid-column:auto;
    grid-row:auto;
  }
  .chat-assessment-actions{
    flex-direction:row;
  }
  .chat-assessment-actions button,
  .chat-assessment-actions a{
    flex:1;
    justify-content:center;
  }
}


/* ==========================================================
   ASSESSMENT UI V2
   One scorecard, AI auto-fill, editable scores, clean indicators.
   ========================================================== */

.chat-assessment-card{
  --assessment-accent:#49677e;
  position:relative!important;
  z-index:4!important;
  flex:0 0 auto!important;
  display:block!important;
  min-height:0!important;
  margin:9px 12px 8px!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid #2b4a60!important;
  border-left:4px solid var(--assessment-accent)!important;
  border-radius:14px!important;
  background:linear-gradient(145deg,#0b1a28,#07131e)!important;
  box-shadow:0 12px 30px rgba(0,0,0,.16)!important;
}

.assessment-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:10px 12px;
  border-bottom:1px solid #243e52;
  background:#0b1b29;
}

.assessment-title>span,
.assessment-title>strong{
  display:block;
}

.assessment-title>span{
  color:#758da0;
  font-size:.55rem;
  font-weight:950;
  letter-spacing:.1em;
}

.assessment-title>span i{
  color:var(--assessment-accent);
}

.assessment-title>strong{
  margin-top:2px;
  color:#f2f7fb;
  font-size:.83rem;
}

.assessment-overall{
  display:flex;
  align-items:center;
  gap:9px;
}

.assessment-overall>span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:5px 7px;
  border:1px solid #2a465b;
  border-radius:999px;
  background:#07131e;
  color:#8299aa;
  font-size:.56rem;
  font-weight:850;
  white-space:nowrap;
}

.assessment-overall>span i{
  color:var(--assessment-accent);
}

.assessment-grade-badge{
  min-width:84px;
  display:flex;
  align-items:baseline;
  justify-content:flex-end;
  gap:7px;
}

.assessment-grade-badge>strong{
  color:var(--assessment-accent);
  font-size:1.55rem;
  line-height:1;
  font-weight:950;
}

.assessment-grade-badge>b{
  color:#edf5fb;
  font-size:.82rem;
}

.assessment-grade-badge>b>span{
  font-size:1rem;
}

.assessment-grade-badge small{
  color:#637b8e;
  font-size:.52rem;
}

.assessment-score-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  padding:10px 12px 8px;
}

.assessment-score-field{
  --metric-score:#49677e;
  display:block;
  min-width:0;
  margin:0;
  padding:9px;
  border:1px solid #284458;
  border-top:3px solid var(--metric-score);
  border-radius:10px;
  background:#07131e;
}

.assessment-score-label{
  display:flex;
  align-items:center;
  gap:6px;
  color:#93a8b8;
  font-size:.64rem;
  font-weight:900;
}

.assessment-score-label i{
  color:var(--metric-score);
}

.assessment-score-line{
  display:grid;
  grid-template-columns:48px minmax(45px,1fr) 28px;
  align-items:center;
  gap:7px;
  margin-top:7px;
}

.assessment-score-line input{
  width:48px;
  height:30px;
  padding:4px 5px;
  border:1px solid #36566e;
  border-radius:8px;
  outline:none;
  background:#0b1c2a;
  color:#fff;
  text-align:center;
  font-size:.78rem;
  font-weight:900;
  appearance:textfield;
}

.assessment-score-line input::-webkit-outer-spin-button,
.assessment-score-line input::-webkit-inner-spin-button{
  appearance:none;
  margin:0;
}

.assessment-score-line input:focus{
  border-color:var(--metric-score);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--metric-score) 12%,transparent);
}

.assessment-score-track{
  height:7px;
  overflow:hidden;
  border-radius:999px;
  background:#142838;
}

.assessment-score-track>b{
  display:block;
  width:0;
  height:100%;
  border-radius:999px;
  background:var(--metric-score);
  transition:width .32s ease;
}

.assessment-score-line>strong{
  color:#dbe6ee;
  text-align:right;
  font-size:.66rem;
}

.assessment-score-field>small{
  display:block;
  margin-top:6px;
  color:#627c8f;
  font-size:.54rem;
}

.assessment-insight{
  display:grid;
  grid-template-columns:minmax(210px,1fr) minmax(300px,1.25fr);
  gap:10px;
  padding:0 12px 10px;
}

.assessment-next-focus{
  padding:9px 10px;
  border:1px solid #294559;
  border-radius:10px;
  background:#081622;
}

.assessment-next-focus>span{
  display:flex;
  align-items:center;
  gap:5px;
  color:#6f8799;
  font-size:.54rem;
  font-weight:950;
  letter-spacing:.08em;
}

.assessment-next-focus>span i{
  color:var(--assessment-accent);
}

.assessment-next-focus>strong{
  display:block;
  margin-top:3px;
  color:#fff;
  font-size:.75rem;
}

.assessment-next-focus>p{
  margin:3px 0 0;
  color:#89a0b0;
  font-size:.62rem;
  line-height:1.35;
}

.assessment-signal-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:5px;
}

.assessment-signal-grid>span{
  min-width:0;
  display:flex;
  align-items:center;
  gap:5px;
  padding:6px 7px;
  border:1px solid #294559;
  border-radius:8px;
  background:#081622;
  color:#7890a2;
  font-size:.55rem;
  font-weight:800;
  white-space:nowrap;
}

.assessment-signal-grid>span i{
  color:#7898ae;
}

.assessment-signal-grid>span>b{
  margin-left:auto;
  color:#dce7ef;
  font-size:.58rem;
}

.snapshot-flags{
  grid-column:1/-1;
  display:flex!important;
  gap:4px!important;
  flex-wrap:wrap!important;
  margin-top:0!important;
}

.snapshot-flags span{
  padding:3px 6px!important;
  border:1px solid #294559!important;
  border-radius:999px!important;
  background:#081622!important;
  color:#7f97a8!important;
  font-size:.52rem!important;
  text-transform:capitalize!important;
}

.assessment-controls{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:5px;
  padding:8px 12px 10px;
  border-top:1px solid #243e52;
  background:#07131e;
}

.assessment-control{
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:6px 7px;
  border:1px solid #2e4b61;
  border-radius:8px;
  background:#0a1926;
  color:#8fa5b5;
  font-size:.56rem;
  font-weight:900;
  white-space:nowrap;
}

.assessment-control:hover{
  color:#fff;
  background:#10283c;
}

.assessment-control.primary{
  border-color:#5e6b3b;
  color:#f3cb70;
}

.assessment-control.recording{
  border-color:#8d4650;
  background:#2b1017;
  color:#ff8995;
}

.assessment-control.pdf i{
  color:#ef6b75;
}

.assessment-control.working{
  opacity:.55;
  pointer-events:none;
}

.grade-assessment-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

.grade-assessment-grid>div span i{
  margin-right:4px;
}

.assessment-pdf-action{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:7px!important;
}

.assessment-pdf-action button,
.assessment-pdf-action a{
  width:100%;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  padding:10px!important;
  border:1px solid #3a5468!important;
  border-radius:10px!important;
  background:#0a1926!important;
  color:#fff!important;
  text-decoration:none!important;
  text-align:left!important;
}

.assessment-pdf-action button{
  cursor:pointer;
}

.assessment-pdf-action button>i:first-child,
.assessment-pdf-action a>i:first-child{
  color:#ef6b75;
  font-size:1.15rem;
}

.assessment-pdf-action button span strong,
.assessment-pdf-action button span small,
.assessment-pdf-action a span strong,
.assessment-pdf-action a span small{
  display:block;
}

.assessment-pdf-action button span strong,
.assessment-pdf-action a span strong{
  font-size:.7rem;
}

.assessment-pdf-action button span small,
.assessment-pdf-action a span small{
  margin-top:2px;
  color:#768fa1;
  font-size:.56rem;
}

@media(max-width:1450px) and (min-width:1201px){
  .assessment-score-grid{
    gap:6px;
  }
  .assessment-insight{
    grid-template-columns:minmax(190px,.9fr) minmax(280px,1.1fr);
  }
  .assessment-controls{
    grid-template-columns:repeat(3,1fr);
  }
}

@media(max-height:840px) and (min-width:1201px){
  .chat-assessment-card{
    margin-top:6px!important;
  }
  .assessment-card-head{
    padding:7px 10px;
  }
  .assessment-score-grid{
    padding:7px 10px 6px;
  }
  .assessment-score-field{
    padding:7px;
  }
  .assessment-score-field>small{
    display:none;
  }
  .assessment-insight{
    padding:0 10px 7px;
  }
  .assessment-next-focus>p{
    max-height:28px;
    overflow:hidden;
  }
  .assessment-controls{
    padding:6px 10px 7px;
  }
}

@media(max-width:860px){
  .assessment-score-grid{
    grid-template-columns:1fr;
  }
  .assessment-insight{
    grid-template-columns:1fr;
  }
  .assessment-controls{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:520px){
  .assessment-card-head{
    align-items:flex-start;
  }
  .assessment-overall{
    flex-direction:column-reverse;
    align-items:flex-end;
  }
  .assessment-signal-grid{
    grid-template-columns:1fr 1fr;
  }
}


/* AI-completed report download */
.assessment-pdf-action{
  grid-template-columns:1fr!important;
}
.assessment-pdf-action button{
  border-color:#5b4d32!important;
  background:linear-gradient(135deg,#241b10,#0a1926)!important;
}
.assessment-pdf-action button>i:first-child{
  color:#ef6b75!important;
}
#assessmentAutoStatus .bi-check-circle-fill{
  color:#49b97b;
}
#assessmentAutoStatus .bi-exclamation-circle-fill{
  color:#d7656f;
}


/* ==========================================================
   BALANCED PRESENTER / CHAT LAYOUT
   Use left-side presenter space for guidance. Keep right side for chat.
   ========================================================== */

/* Right-side score card becomes a narrow rail. */
.chat-assessment-card.compact-scorecard{
  display:grid!important;
  grid-template-columns:138px minmax(0,1fr)!important;
  align-items:center!important;
  gap:8px!important;
  min-height:64px!important;
  margin:6px 10px!important;
  padding:7px 9px!important;
  border-radius:11px!important;
}

.compact-scorecard .assessment-card-head{
  min-height:0!important;
  padding:0 8px 0 0!important;
  border:0!important;
  border-right:1px solid #294559!important;
  background:transparent!important;
}

.compact-scorecard .assessment-title>strong{
  display:none!important;
}

.compact-scorecard .assessment-overall{
  margin-top:5px;
  align-items:center!important;
  justify-content:space-between!important;
}

.compact-scorecard .assessment-overall>span{
  padding:3px 5px!important;
  font-size:.48rem!important;
}

.compact-scorecard .assessment-grade-badge{
  min-width:66px!important;
}

.compact-scorecard .assessment-grade-badge>strong{
  font-size:1.2rem!important;
}

.compact-scorecard .assessment-score-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:6px!important;
  padding:0!important;
}

.compact-scorecard .assessment-score-field{
  padding:6px 7px!important;
  border-radius:8px!important;
}

.compact-scorecard .assessment-score-field>small{
  display:none!important;
}

.compact-scorecard .assessment-score-label{
  font-size:.56rem!important;
}

.compact-scorecard .assessment-score-line{
  grid-template-columns:42px minmax(38px,1fr) 24px!important;
  gap:5px!important;
  margin-top:4px!important;
}

.compact-scorecard .assessment-score-line input{
  width:42px!important;
  height:26px!important;
  font-size:.69rem!important;
}

.compact-scorecard .assessment-score-track{
  height:6px!important;
}

/* Guidance moves under presenter, where there is usable vertical space. */
.presenter-focus-card{
  flex:0 0 auto;
  margin:0 14px 8px;
  padding:10px 11px;
  border:1px solid #2b4a60;
  border-left:4px solid var(--assessment-accent,#efb640);
  border-radius:11px;
  background:linear-gradient(145deg,#0a1926,#07131e);
}

.presenter-focus-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
}

.presenter-focus-head>div>span{
  display:block;
  color:#71899b;
  font-size:.55rem;
  font-weight:950;
  letter-spacing:.09em;
}

.presenter-focus-head>div>span i{
  color:#efb640;
}

.presenter-focus-head>div>strong{
  display:block;
  margin-top:2px;
  color:#fff;
  font-size:.78rem;
}

.presenter-focus-head>button{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border:1px solid #2c4a60;
  border-radius:8px;
  background:#0a1a28;
  color:#92a8b8;
}

.presenter-focus-card>p{
  margin:5px 0 7px;
  color:#89a0b0;
  font-size:.61rem;
  line-height:1.35;
}

.presenter-signal-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:4px;
}

.presenter-signal-grid>span{
  min-width:0;
  display:flex;
  align-items:center;
  gap:4px;
  padding:5px 6px;
  border:1px solid #294559;
  border-radius:7px;
  background:#081622;
  color:#778fa1;
  font-size:.52rem;
  font-weight:800;
  white-space:nowrap;
}

.presenter-signal-grid>span i{
  color:#7695ab;
}

.presenter-signal-grid>span b{
  margin-left:auto;
  color:#dce7ef;
  font-size:.54rem;
}

.presenter-focus-card .snapshot-flags{
  margin-top:6px!important;
}

.presenter-assessment-controls{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:4px;
  margin-top:7px;
}

.presenter-assessment-controls .assessment-control{
  min-height:31px;
  padding:5px 5px;
  font-size:.52rem;
}

.presenter-assessment-controls .assessment-control span{
  overflow:hidden;
  text-overflow:ellipsis;
}

/* The right side should prioritize chat, not dashboard chrome. */
.panel-chat-head-compact{
  min-height:48px!important;
  padding:6px 12px!important;
}

.panel-chat-head-compact .panel-active-role{
  min-width:170px;
}

.panel-head-flow.compact-status{
  justify-content:flex-end!important;
  margin-left:auto!important;
}

.panel-chat-head-compact{
  grid-template-columns:auto auto auto!important;
}

.panel-head-actions{
  min-width:auto!important;
}

.panel-chat{
  padding-top:9px!important;
}

/* Make the six perspective buttons slightly leaner. */
.panelist-grid{
  padding:7px 9px!important;
  gap:5px!important;
}

.panelist{
  min-height:78px!important;
  padding:8px 6px!important;
}

.panelist>i{
  margin-bottom:4px!important;
}

.panelist strong{
  font-size:.72rem!important;
}

.panelist span{
  font-size:.52rem!important;
}

/* Presenter column should use space instead of hiding it behind an oversized profile list. */
.presenter-profile{
  max-height:104px!important;
}

.presenter-stage{
  grid-template-rows:auto minmax(250px,1fr) auto auto auto!important;
}

/* Keep scorecard accent synchronized visually on both sides. */
.presenter-focus-card{
  border-left-color:var(--assessment-accent,#efb640);
}

/* Chat gets the reclaimed room. */
.ai-panel-room{
  min-height:0!important;
}

.panel-chat{
  flex:1 1 auto!important;
  min-height:230px!important;
}

/* Short laptop screens: collapse guidance without shrinking presenter/avatar. */
@media(max-height:820px) and (min-width:1201px){
  .presenter-focus-card{
    padding:7px 8px;
    margin-bottom:6px;
  }

  .presenter-focus-card>p{
    max-height:28px;
    overflow:hidden;
    margin:3px 0 5px;
  }

  .presenter-signal-grid{
    grid-template-columns:repeat(6,minmax(0,1fr));
  }

  .presenter-signal-grid>span{
    padding:4px;
  }

  .presenter-focus-card .snapshot-flags{
    display:none!important;
  }

  .presenter-assessment-controls{
    margin-top:5px;
  }

  .presenter-profile{
    max-height:78px!important;
  }

  .panelist{
    min-height:68px!important;
  }
}

@media(max-width:1450px) and (min-width:1201px){
  .chat-assessment-card.compact-scorecard{
    grid-template-columns:120px minmax(0,1fr)!important;
  }

  .compact-scorecard .assessment-overall>span{
    display:none!important;
  }

  .presenter-assessment-controls{
    grid-template-columns:repeat(3,1fr);
  }
}

@media(max-width:1200px){
  .chat-assessment-card.compact-scorecard{
    grid-template-columns:1fr!important;
  }

  .compact-scorecard .assessment-card-head{
    border-right:0!important;
    border-bottom:1px solid #294559!important;
    padding-bottom:6px!important;
  }

  .presenter-focus-card{
    margin-top:8px;
  }
}

@media(max-width:700px){
  .compact-scorecard .assessment-score-grid{
    grid-template-columns:1fr!important;
  }

  .presenter-signal-grid{
    grid-template-columns:1fr 1fr;
  }

  .presenter-assessment-controls{
    grid-template-columns:1fr 1fr;
  }
}


/* ==========================================================
   PRESENTER CLEANUP
   Compact title/header. Preserve avatar. Stop vertical stacking.
   ========================================================== */

@media(min-width:1201px){
  .presenter-stage-top{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 118px!important;
    align-items:center!important;
    gap:12px!important;
    padding:10px 13px!important;
    min-height:84px!important;
  }

  .presenter-stage-top>div:first-child{
    min-width:0!important;
  }

  .presenter-stage-top .eyebrow{
    font-size:.58rem!important;
    letter-spacing:.09em!important;
  }

  .presenter-stage-top h1{
    margin:3px 0 2px!important;
    max-width:100%!important;
    font-size:clamp(1.45rem,2.05vw,2.15rem)!important;
    line-height:1!important;
    letter-spacing:-.035em!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  .presenter-stage-top p{
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:.68rem!important;
  }

  .presenter-clock-wrap{
    min-width:0!important;
    text-align:right!important;
  }

  .presenter-clock-wrap>span{
    font-size:.52rem!important;
    letter-spacing:.07em!important;
  }

  .presenter-clock-wrap>strong{
    margin:1px 0 4px!important;
    font-size:1.38rem!important;
    line-height:1!important;
  }

  .presenter-clock-wrap>div{
    display:flex!important;
    justify-content:flex-end!important;
    gap:4px!important;
  }

  .presenter-clock-wrap button{
    padding:4px 6px!important;
    font-size:.57rem!important;
  }

  /* Avatar remains the visual focus. */
  .presenter-center{
    min-height:310px!important;
    padding:8px 12px 5px!important;
  }

  .presenter-avatar-frame{
    width:min(100%,500px)!important;
    min-height:300px!important;
    max-height:460px!important;
  }

  .presenter-copy{
    margin-top:6px!important;
  }

  .presenter-copy strong{
    font-size:1rem!important;
    line-height:1.1!important;
  }

  .presenter-copy span{
    margin-top:2px!important;
    font-size:.63rem!important;
  }

  /* Company context becomes a horizontal information rail instead of 3 stacked rows. */
  .presenter-profile{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
    max-height:none!important;
    overflow:hidden!important;
    padding:7px 9px!important;
  }

  .presenter-profile>div{
    display:block!important;
    min-width:0!important;
    padding:6px 7px!important;
    border:1px solid #263f53!important;
    border-radius:8px!important;
    background:#07131e!important;
  }

  .presenter-profile span{
    display:block!important;
    margin-bottom:3px!important;
    font-size:.5rem!important;
    letter-spacing:.06em!important;
  }

  .presenter-profile strong{
    display:-webkit-box!important;
    overflow:hidden!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    font-size:.61rem!important;
    line-height:1.3!important;
  }

  /* Use the lower presenter space horizontally instead of stacking every signal. */
  .presenter-focus-card{
    display:grid!important;
    grid-template-columns:minmax(0,.9fr) minmax(215px,1.1fr)!important;
    grid-template-rows:auto auto auto!important;
    column-gap:9px!important;
    row-gap:4px!important;
    margin:0 9px 6px!important;
    padding:8px 9px!important;
  }

  .presenter-focus-head{
    grid-column:1!important;
    grid-row:1!important;
  }

  .presenter-focus-head>div>span{
    font-size:.49rem!important;
  }

  .presenter-focus-head>div>strong{
    font-size:.68rem!important;
  }

  .presenter-focus-card>p{
    grid-column:1!important;
    grid-row:2!important;
    margin:0!important;
    max-height:32px!important;
    overflow:hidden!important;
    font-size:.56rem!important;
    line-height:1.35!important;
  }

  .presenter-signal-grid{
    grid-column:2!important;
    grid-row:1 / span 2!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    align-self:stretch!important;
    gap:4px!important;
  }

  .presenter-signal-grid>span{
    padding:4px 5px!important;
    font-size:.49rem!important;
  }

  /* Flags duplicate the next-focus assessment and waste height. */
  .presenter-focus-card>.snapshot-flags{
    display:none!important;
  }

  .presenter-assessment-controls{
    grid-column:1/-1!important;
    grid-row:3!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:4px!important;
    margin-top:3px!important;
  }

  .presenter-assessment-controls .assessment-control{
    min-height:28px!important;
    padding:4px!important;
    font-size:.49rem!important;
  }

  .presenter-actions{
    gap:6px!important;
    padding:7px 9px!important;
  }

  .presenter-actions .btn{
    min-height:34px!important;
    padding:6px 8px!important;
    font-size:.72rem!important;
  }

  /* The presenter column gets a clean compact stack while avatar keeps priority. */
  .presenter-stage{
    grid-template-rows:auto minmax(300px,1fr) auto auto auto!important;
  }
}

/* Short desktop screens: protect the avatar first. */
@media(max-height:820px) and (min-width:1201px){
  .presenter-stage-top{
    min-height:74px!important;
    padding:8px 11px!important;
  }

  .presenter-stage-top h1{
    font-size:1.65rem!important;
  }

  .presenter-center{
    min-height:280px!important;
    padding-top:5px!important;
  }

  .presenter-avatar-frame{
    min-height:275px!important;
    max-height:390px!important;
  }

  .presenter-copy strong{
    font-size:.9rem!important;
  }

  .presenter-profile strong{
    -webkit-line-clamp:1!important;
  }

  .presenter-focus-card>p{
    display:none!important;
  }

  .presenter-signal-grid{
    grid-row:1!important;
  }

  .presenter-assessment-controls{
    grid-row:2!important;
  }

  .presenter-focus-card{
    grid-template-rows:auto auto!important;
  }
}

/* Tablet/mobile stays readable without giant company headings. */
@media(max-width:1200px){
  .presenter-stage-top h1{
    font-size:clamp(1.6rem,6vw,2.35rem)!important;
    line-height:1!important;
    letter-spacing:-.035em!important;
  }

  .presenter-copy strong{
    font-size:1rem!important;
  }
}
