/* Workbook teaching view. Kept separate from the interview shell so the guide can
   be removed or iterated without changing the authenticated build flow. */
#ml-guide-overlay { position:fixed; inset:0; z-index:9200; display:none; background:rgba(13,24,41,.55); }
#ml-guide-overlay.is-open { display:flex; }
.ml-guide { --guide-green:#2D8A5E; --guide-green-dark:#1A3C2A; --guide-green-light:#D6F0E0; --guide-navy:#132E57; --guide-ink:#1A2530; --guide-muted:#6B7A87; --guide-line:#DEE5E9; --guide-soft:#F6F8F9; width:100%; height:100%; max-width:1600px; margin:auto; display:flex; flex-direction:column; background:#fff; color:var(--guide-ink); font-family:Inter,system-ui,sans-serif; overflow:hidden; }
.ml-guide *, .ml-guide *::before, .ml-guide *::after { box-sizing:border-box; }
.ml-guide button, .ml-guide input { font:inherit; }
.ml-guide button { cursor:pointer; }
.ml-guide__nav { height:61px; flex:0 0 61px; border-bottom:1px solid var(--guide-line); display:flex; align-items:center; gap:12px; padding:0 20px; }
.ml-guide__mark { width:30px; height:30px; border-radius:8px; background:var(--guide-green); display:grid; place-items:center; color:#fff; font:700 12px 'Space Grotesk',sans-serif; }
.ml-guide__brand { font:700 17px 'Space Grotesk',sans-serif; }
.ml-guide__crumb { border-left:1px solid var(--guide-line); padding-left:14px; font-size:12px; color:var(--guide-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ml-guide__nav-actions { margin-left:auto; display:flex; align-items:center; gap:9px; flex-shrink:0; }
.ml-guide__pill { font-size:10px; font-weight:700; border-radius:999px; padding:5px 9px; background:var(--guide-green-light); color:var(--guide-green-dark); white-space:nowrap; }
.ml-guide__download { border:0; border-radius:999px; background:var(--guide-green); color:#fff; padding:9px 14px; font-size:11px; font-weight:700; }
.ml-guide__close { border:1px solid var(--guide-line); border-radius:999px; background:#fff; color:var(--guide-muted); padding:8px 11px; font-weight:700; }
.ml-guide__app { min-height:0; flex:1; display:grid; grid-template-columns:232px minmax(500px,1fr) 370px; }
.ml-guide__lessons { min-height:0; background:#F8FAFA; border-right:1px solid var(--guide-line); display:flex; flex-direction:column; }
.ml-guide__lessons-head { padding:18px 16px 14px; border-bottom:1px solid var(--guide-line); }
.ml-guide__eyebrow { font-size:9px; letter-spacing:.1em; text-transform:uppercase; color:var(--guide-green); font-weight:700; }
.ml-guide__lessons h1 { font:700 21px/1.12 'Space Grotesk',sans-serif; letter-spacing:-.025em; margin:5px 0 7px; }
.ml-guide__lessons p { font-size:11.5px; line-height:1.5; color:var(--guide-muted); margin:0; }
.ml-guide__progress { margin-top:13px; }
.ml-guide__progress-top { display:flex; justify-content:space-between; font-size:9.5px; color:var(--guide-muted); font-weight:600; }
.ml-guide__track { height:5px; border-radius:8px; background:#E4EBE7; margin-top:6px; overflow:hidden; }
.ml-guide__track i { display:block; width:0; height:100%; background:var(--guide-green); transition:width .2s ease; }
.ml-guide__lesson-list { padding:10px; overflow:auto; flex:1; }
.ml-guide__lesson { width:100%; border:1px solid transparent; background:transparent; border-radius:10px; padding:9px; text-align:left; display:grid; grid-template-columns:25px 1fr; gap:8px; margin-bottom:3px; color:var(--guide-ink); }
.ml-guide__lesson:hover { background:#fff; border-color:var(--guide-line); }
.ml-guide__lesson.is-active { background:#fff; border-color:var(--guide-green); box-shadow:0 2px 7px rgba(26,60,42,.07); }
.ml-guide__lesson-number { width:24px; height:24px; border-radius:50%; display:grid; place-items:center; background:#E7ECEE; color:var(--guide-muted); font-size:9.5px; font-weight:700; }
.ml-guide__lesson.is-active .ml-guide__lesson-number { background:var(--guide-green); color:#fff; }
.ml-guide__lesson-title { font-size:11.5px; font-weight:700; line-height:1.25; }
.ml-guide__lesson-location { font-size:9.5px; color:var(--guide-muted); margin-top:3px; }
.ml-guide__lessons-foot { padding:11px 13px; border-top:1px solid var(--guide-line); font-size:10px; line-height:1.45; color:var(--guide-muted); background:#fff; }
.ml-guide__lessons-foot b { color:var(--guide-green-dark); }
.ml-guide__workbook { min-width:0; display:flex; flex-direction:column; background:#EDEFF1; }
.ml-guide__wbtop { min-height:42px; background:#fff; border-bottom:1px solid var(--guide-line); display:flex; align-items:center; padding:0 12px; gap:8px; }
.ml-guide__excelicon { width:23px; height:23px; background:#107C41; color:#fff; border-radius:4px; display:grid; place-items:center; font-size:11px; font-weight:700; }
.ml-guide__filename { font:700 12px 'Space Grotesk',sans-serif; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ml-guide__readonly { font-size:9px; color:var(--guide-muted); border:1px solid var(--guide-line); border-radius:99px; padding:3px 6px; white-space:nowrap; }
.ml-guide__wbtop-right { margin-left:auto; display:flex; align-items:center; gap:7px; }
.ml-guide__wbbtn { border:1px solid var(--guide-line); background:#fff; border-radius:6px; padding:5px 8px; font-size:9.5px; color:var(--guide-muted); font-weight:600; white-space:nowrap; }
.ml-guide__ribbon { min-height:37px; background:#F8FAFA; border-bottom:1px solid #CDD5DA; display:flex; align-items:center; padding:0 9px; gap:9px; }
.ml-guide__namebox, .ml-guide__formula { height:25px; background:#fff; border:1px solid #CCD5DA; border-radius:3px; padding:5px 7px; font:10px Arial,sans-serif; color:#34424D; }
.ml-guide__namebox { width:132px; flex:0 0 132px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ml-guide__formula { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ml-guide__fx { font:italic 13px Georgia,serif; color:#62717B; }
.ml-guide__viewport { flex:1; min-height:100px; overflow:auto; background:#fff; position:relative; }
.ml-guide__sheet { min-width:760px; border-collapse:collapse; table-layout:fixed; font:11px 'Arial Narrow',Arial,sans-serif; }
.ml-guide__sheet th, .ml-guide__sheet td { height:24px; min-width:64px; padding:3px 6px; border-right:1px solid #E5E8EA; border-bottom:1px solid #E5E8EA; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; background:#fff; }
.ml-guide__sheet thead th { height:25px; position:sticky; top:0; z-index:3; background:#F2F4F5; color:#56636C; text-align:center; font:500 9px Arial,sans-serif; border-color:#D7DDE0; }
.ml-guide__sheet .row-number { position:sticky; left:0; z-index:2; min-width:36px; width:36px; background:#F2F4F5!important; color:#697780; text-align:right; font:9px Arial,sans-serif; border-color:#D7DDE0; }
.ml-guide__sheet td { text-align:right; color:#000; }
.ml-guide__sheet td.cell-selected { background:#D6F0E0!important; box-shadow:inset 0 1px var(--guide-green),inset 0 -1px var(--guide-green); }
.ml-guide__sheet td.cell-label { min-width:180px; text-align:left; }
.ml-guide__sheet td.cell-note { text-align:left; color:#5A6675; font-size:9px; }
.ml-guide__sheet td.cell-input { color:#0000FF; }
.ml-guide__sheet tr.is-highlighted td:not(.row-number) { background:#ECF9F1; box-shadow:inset 0 1px var(--guide-green),inset 0 -1px var(--guide-green); }
.ml-guide__sheet tr.is-band td:not(.row-number) { background:var(--guide-navy); color:#fff; font-weight:700; border-color:var(--guide-navy); }
.ml-guide__empty { min-height:220px; display:grid; place-items:center; padding:30px; text-align:center; color:var(--guide-muted); font-size:12px; }
.ml-guide__sheetbar { min-height:34px; background:#F4F6F7; border-top:1px solid #CDD5DA; display:flex; align-items:end; padding:0 8px; gap:2px; overflow:auto; }
.ml-guide__sheettab { border:0; border-bottom:3px solid transparent; background:transparent; color:#53616A; padding:8px 10px 7px; font-size:9.5px; white-space:nowrap; }
.ml-guide__sheettab.is-active { background:#fff; border-bottom-color:var(--guide-green); color:#17232C; font-weight:700; }
.ml-guide__verified { margin-left:auto; align-self:center; color:#4F6257; font-size:9px; padding-right:7px; white-space:nowrap; }
.ml-guide__chat { border-left:1px solid var(--guide-line); display:flex; flex-direction:column; min-height:0; background:#fff; }
.ml-guide__chat-head { padding:13px 15px; border-bottom:1px solid var(--guide-line); display:flex; align-items:center; gap:9px; }
.ml-guide__avatar { width:30px; height:30px; border-radius:9px; background:var(--guide-green-dark); color:#fff; display:grid; place-items:center; font:700 11px 'Space Grotesk',sans-serif; }
.ml-guide__chat-head b { display:block; font:700 13px 'Space Grotesk',sans-serif; }
.ml-guide__chat-head span { display:block; font-size:9.5px; color:var(--guide-muted); margin-top:2px; }
.ml-guide__chat-head .ml-guide__pill { margin-left:auto; font-size:8.5px; }
.ml-guide__messages { flex:1; overflow:auto; padding:14px; }
.ml-guide__answer { border:1px solid var(--guide-line); background:#fff; border-radius:12px; padding:12px; margin-bottom:12px; box-shadow:0 2px 8px rgba(26,37,48,.04); }
.ml-guide__answer-label { font-size:8.5px; color:var(--guide-green); font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.ml-guide__answer h2 { font:700 17px/1.2 'Space Grotesk',sans-serif; margin:5px 0 7px; }
.ml-guide__answer p { font-size:11.5px; line-height:1.55; color:#3F4D58; margin:0; white-space:pre-wrap; }
.ml-guide__calc { margin-top:10px; border-left:3px solid var(--guide-green); background:#F0FAF4; padding:8px 9px; border-radius:0 8px 8px 0; font-size:10.5px; line-height:1.45; color:#254B36; white-space:pre-wrap; }
.ml-guide__vc { margin-top:9px; background:#EAF3F7; border-radius:8px; padding:9px; font-size:10.5px; line-height:1.5; color:#315365; white-space:pre-wrap; }
.ml-guide__vc b { display:block; font-size:8px; text-transform:uppercase; letter-spacing:.08em; margin-bottom:3px; color:#448CAD; }
.ml-guide__chat-error { color:#8A2436; background:#FFF1F2; border:1px solid #F2C6CF; border-radius:8px; padding:9px; font-size:11px; }
.ml-guide__suggestions { padding:9px 13px 7px; border-top:1px solid var(--guide-line); display:flex; gap:6px; overflow-x:auto; }
.ml-guide__suggestion { border:1px solid var(--guide-line); background:#fff; border-radius:99px; padding:6px 8px; font-size:9px; color:#53616A; white-space:nowrap; }
.ml-guide__composer { padding:9px 12px 12px; display:flex; gap:7px; }
.ml-guide__composer input { flex:1; min-width:0; border:1px solid #C9D3D8; border-radius:999px; padding:9px 11px; font-size:10.5px; color:#46545F; }
.ml-guide__send { width:34px; height:34px; border:0; border-radius:50%; background:var(--guide-green); color:#fff; font-weight:700; }
.ml-guide__disclaimer { font-size:8.5px; color:#9AA6B0; text-align:center; padding:0 10px 8px; }
@media (max-width:1250px) { .ml-guide__app { grid-template-columns:205px minmax(450px,1fr) 335px; } .ml-guide__brand { display:none; } .ml-guide__crumb { border-left:0; padding-left:0; } }
@media (max-width:980px) {
  #ml-guide-overlay { overflow:auto; }
  .ml-guide { height:auto; min-height:100%; overflow:visible; }
  .ml-guide__nav { position:sticky; top:0; z-index:5; }
  .ml-guide__app { display:flex; flex-direction:column; min-height:0; }
  .ml-guide__lessons { flex:0 0 auto; border-right:0; border-bottom:1px solid var(--guide-line); }
  .ml-guide__lessons-head { padding:14px 16px 10px; }
  .ml-guide__lessons h1 { font-size:18px; }
  .ml-guide__lesson-list { display:flex; overflow-x:auto; padding:8px; gap:5px; }
  .ml-guide__lesson { min-width:190px; margin:0; }
  .ml-guide__lessons-foot { display:none; }
  .ml-guide__workbook { height:420px; min-height:420px; }
  .ml-guide__chat { height:390px; min-height:390px; border-left:0; border-top:1px solid var(--guide-line); }
  .ml-guide__verified { display:none; }
}
@media (max-width:560px) { .ml-guide__nav { padding:0 10px; gap:7px; } .ml-guide__pill { display:none; } .ml-guide__download { padding:8px 10px; } .ml-guide__close { padding:7px 9px; } .ml-guide__readonly { display:none; } }
@media (prefers-reduced-motion:reduce) { .ml-guide *, .ml-guide *::before, .ml-guide *::after { transition:none!important; animation:none!important; } }
