/* InnovaLab Academy — official V5 Round 2 assets / Cierre V1 brand foundations.
   Client colors identify their instance; controls retain consistent brand semantics. */
@font-face{font-family:'Space Grotesk';src:url('/brand/SpaceGrotesk.ttf') format('truetype');font-weight:300 700;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('/brand/IBMPlexMono.ttf') format('truetype');font-weight:500;font-display:swap}
:root{--brand-ink:#11110f;--brand-paper:#f4f0e7;--brand-yellow:#f5c400;--brand-blue:#2854d7;--brand-orange:#ff5a1f;--brand-mint:#73ffe1;--brand-graphite:#70716d;--ink:#11110f;--muted:#5c5d58;--green:#2854d7;--lime:#f5c400;--warm-action:linear-gradient(120deg,#f5c400,#ff5a1f);--ui-border:#dedbd2;--ui-radius:14px;--ui-shadow:0 4px 20px #11110f06}
body{font-family:'Space Grotesk',sans-serif;background:var(--brand-paper);color:var(--brand-ink);font-size:15px;line-height:1.55}
h1,h2,h3,h4,button,input,select,textarea{font-family:inherit}h1{font-size:clamp(30px,3vw,40px);line-height:1.1;font-weight:700;letter-spacing:-1.4px}h2{font-size:28px;line-height:1.2;font-weight:600;letter-spacing:-.7px}h3{font-size:20px;line-height:1.3;font-weight:600;letter-spacing:-.3px}p{line-height:1.6}a{color:var(--brand-blue)}
.eyebrow,.nav-caption,.phase-label,.phase-num,.local-label,.hero-caption{font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:500;letter-spacing:.07em}.tiny{font-size:12px;color:var(--muted)}.muted{color:var(--muted)}
.shell{grid-template-columns:248px minmax(0,1fr)}.shell>div{min-width:0}.sidebar{background:var(--brand-ink);color:var(--brand-paper);border:0;padding:30px 20px}.brand{margin-bottom:38px;padding:4px 4px 14px;display:block}.brand-logo{display:block;width:195px;max-width:100%;height:auto}.sidebar .nav-caption{color:#b7b4ad;margin-bottom:12px}.nav button{font-size:14px;font-weight:500;color:#dedbd3;border-radius:8px;padding:12px 14px;margin:4px 0;transition:background .18s ease-out,color .18s ease-out}.nav button.active{background:var(--brand-blue);color:var(--brand-paper);box-shadow:inset 3px 0 var(--brand-yellow)}.nav button:hover:not(.active){background:#272723;color:white}.sidebar-note{background:transparent;border-top:1px solid #3b3b35;color:#b7b4ad;padding:22px 4px;font-size:12px;border-radius:0}.sidebar-note strong{color:var(--brand-paper);font-size:15px}.sidebar .user{border-color:#3b3b35;color:var(--brand-paper)}.sidebar .btn.ghost{color:var(--brand-paper)}
.topbar{background:#f4f0e7f2;border-bottom:1px solid var(--ui-border);padding:18px 32px;min-height:72px}.crumb{color:var(--muted);font-size:12px}.crumb strong{color:var(--brand-ink)}.top-right{gap:12px}.local-label{color:#57584f;background:#e7e4da;border:0}.workspace{padding:32px;max-width:1600px;margin:0 auto}.page-heading{gap:20px;align-items:center;margin-bottom:28px}.page-heading p{font-size:15px;color:var(--muted)}.section-heading{margin:28px 0 18px}
.btn{background:var(--warm-action);color:var(--brand-ink);border:1px solid transparent;border-radius:8px;padding:11px 17px;font-weight:600;font-size:14px;box-shadow:none;transition:box-shadow .18s ease-out,transform .18s ease-out}.btn:hover{background:var(--warm-action);color:var(--brand-ink);box-shadow:0 4px 12px #a66a1229;transform:translateY(-1px)}.btn:active{transform:translateY(0);box-shadow:none}.btn.secondary{background:transparent;color:var(--brand-blue);border:1px solid #c5cbe2}.btn.secondary:hover{background:#e9edfb;color:#1c3da4;box-shadow:none}.btn.ghost{background:transparent;border-color:transparent;color:var(--brand-blue);box-shadow:none}.btn.ghost:hover{background:#e9edfb;color:#1c3da4;box-shadow:none}.btn:disabled{transform:none;box-shadow:none;opacity:.5}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--brand-blue);outline-offset:3px}.sidebar button:focus-visible{outline-color:var(--brand-yellow)}
.hero{background:var(--brand-ink);color:var(--brand-paper);border:0;border-radius:18px;min-height:280px;padding:36px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(240px,1fr);gap:32px;overflow:hidden}.hero h2{color:var(--brand-paper);font-size:clamp(28px,2.8vw,42px);line-height:1.12;max-width:600px;margin:15px 0}.hero p{color:#d8d5cc;font-size:16px;max-width:560px}.hero .eyebrow{color:var(--brand-yellow)}.hero-art{position:relative;width:auto;height:100%;min-height:240px;align-self:stretch;overflow:hidden;border-radius:5px 30px 5px 5px;transform:none;background:#24241e}.hero-team{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0}.hero-caption{position:absolute;bottom:12px;left:12px;right:12px;color:var(--brand-paper);background:var(--brand-ink);padding:8px 10px;font-size:10px;text-align:center}
.stats{gap:16px;margin:22px 0}.stat,.program-card,.panel{background:#fff;border:1px solid var(--ui-border);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow)}.panel{padding:24px}.stat{padding:21px 24px}.stat strong{font-size:34px;line-height:1.15;color:var(--brand-ink)}.stat span{color:var(--muted);font-size:13px}.stat-icon{background:#f4f0e7;color:var(--brand-blue);border-radius:10px}.program-card{padding:24px;transition:box-shadow .2s ease-out,border-color .2s ease-out}.program-card:hover{border-color:#a9b7e5;box-shadow:0 7px 24px #11110f0a;transform:none}.program-card h3{font-size:23px;line-height:1.2}.program-card .eyebrow{color:var(--brand-blue)}.program-card .meta{font-size:12px;border-color:var(--ui-border)}.client-icon{border-radius:10px;color:white}.card-bottom{border-color:var(--ui-border)}
.progress-track{background:#eae7df;height:6px;border-radius:3px;overflow:hidden}.progress-fill{background:var(--warm-action);height:100%;border-radius:3px;transition:width .24s ease-out}.progress-label{font-size:12px;color:var(--muted)}.progress-label strong{color:var(--brand-ink)}.filters{background:#eae7df;border-radius:8px;padding:3px}.filters button{color:var(--muted);font-size:13px}.filters button.active{background:#fff;color:var(--brand-blue);box-shadow:0 1px 4px #11110f10}
.detail-banner{background:white;border:1px solid var(--ui-border);border-left:4px solid var(--client-color,var(--brand-blue));border-radius:14px;padding:26px;gap:20px}.detail-banner h1{font-size:clamp(28px,3vw,38px)}.tabs{gap:22px;border-color:var(--ui-border);overflow-x:auto;scrollbar-width:thin}.tabs button{font-size:13px;color:var(--muted);padding:15px 0;white-space:nowrap}.tabs button.active{color:var(--brand-blue);border-bottom-color:var(--brand-blue)}.scopebar{background:#eae7df;border:0;border-radius:10px;padding:14px 18px}.scopebar select{background:white;border-color:#c6c6bd;font-size:14px}.phase-strip{gap:10px;margin:22px 0}.phase-button{background:#fff;border:1px solid var(--ui-border);border-radius:10px;padding:16px;text-align:left;min-width:0}.phase-button.active{background:#edf1ff;border-color:var(--brand-blue);box-shadow:inset 0 3px var(--brand-blue)}.phase-button .phase-label{color:var(--brand-blue);background:none;border:0;padding:0;font-size:11px}.phase-button strong{font-size:16px;line-height:1.25}.phase-button small{font-size:11px;color:var(--muted)}.phase-switch{background:#eae7df;border-radius:10px;padding:4px;gap:4px}.phase-switch button{border-radius:7px;font-size:14px;color:var(--muted);padding:12px 18px}.phase-switch button[aria-selected=true]{background:white;color:var(--brand-blue);box-shadow:0 2px 6px #11110f0a}.phase-due{font-size:13px}.phase-content{gap:22px}.check-row{border-color:#e8e6de;padding:15px 0}.check-row label{font-size:15px}.check-row input{accent-color:var(--brand-blue)}.category{background:#f0f1f6;color:#53596b;border-radius:4px;font-size:10px}.review-grid{gap:18px}.review-grid>div{background:#f4f0e7;border-color:var(--ui-border);border-radius:10px}.ai-panel{background:var(--brand-ink);color:var(--brand-paper);border-color:var(--brand-ink)}.ai-panel h3{color:var(--brand-paper)}.ai-panel p{color:#d8d5cc}.ai-panel .badge{background:#2854d7;color:var(--brand-paper)}.ai-panel .btn.secondary{color:var(--brand-mint);border-color:#4b5d76}.ai-panel .btn.secondary:hover{background:#2854d7;color:var(--brand-paper)}
.notice{background:#f2f4fa;border:1px solid #dce2f4;color:#3d4660;border-radius:9px;font-size:13px;padding:16px 18px}.notice.warning{background:#fff6de;color:#705015;border-color:#ebd9a7}.locked-box{background:#f1f0eb;border:1px solid var(--ui-border);color:var(--muted);border-radius:9px}.badge{font-family:'Space Grotesk',sans-serif;font-size:11px;border-radius:5px}.badge.draft{background:#eae7df;color:#54554f}.badge.locked{background:#e9e9e5;color:#57584f}.badge.submitted{background:#e7edff;color:#2445a3}.badge.approved{background:#e2f1e5;color:#28623b}.badge.changes{background:#fff0d8;color:#7a5314}
.field label,form>label{color:var(--brand-ink);font-size:13px;font-weight:600}.field input,.field select,.field textarea,.login-page input{background:#fff;border:1px solid #c8c8c0;border-radius:7px;font-size:15px;padding:11px 12px}.field textarea{line-height:1.6}.field small{color:var(--muted);font-size:12px}.form-section{border-color:var(--ui-border)}.form-actions{gap:10px}.form-page{max-width:1000px}.form-page .panel{padding:28px}.user-filters{background:transparent}.user-filters input,.user-filters select{background:white;border-color:#c8c8c0;border-radius:7px}.table-tools{margin:12px 0}.table-filter-toggle{background:#edf1fb;color:var(--brand-blue);border-color:transparent}.table-filters{border-color:var(--ui-border);border-radius:9px}table{font-size:13px}th{color:#555750;font-weight:600}td{color:var(--brand-ink)}.schedule-table th,.schedule-table td{border-color:#e8e6df}.agenda tbody tr:hover td,.fixed-management tbody tr:hover td{background:#f4f5f9}.agenda tbody tr:focus-within td{background:#eef1fa}.agenda .btn{font-size:12px}.row-actions .icon-btn{color:var(--brand-blue);background:#eef1fa}.instance-chip{background:#eef1fa;color:#2b4697;border-color:#d8e0f4}.repository-drive-table tbody tr:hover{background:#f3f4f8}.drive-link{color:var(--brand-blue)}.dropzone{background:#f4f6fc;border-color:#a9b7e5;border-radius:10px}.dropzone.dragging{background:#e3eaff;border-color:var(--brand-blue)}
.login-page{min-height:100vh;display:grid;place-items:center;background:var(--brand-paper);padding:32px;border-top:6px solid var(--brand-yellow)}.login-page>.panel{width:min(100%,480px);padding:40px;border-radius:18px}.login-brand{display:block;width:235px;max-width:100%;height:auto;margin:0 0 38px}.login-page h1{font-size:32px}.login-page p{font-size:15px}.login-page .btn{min-height:44px}.login-page small{color:var(--muted)}#toast{background:var(--brand-ink);color:var(--brand-paper);border-left:4px solid var(--brand-yellow);border-radius:8px;font-size:14px}.back{font-size:13px}.calendar-trash-action:hover{color:#b44336}
@media(max-width:1100px){.shell{grid-template-columns:210px minmax(0,1fr)}.sidebar{padding:24px 14px}.brand-logo{width:178px}.workspace{padding:24px}.topbar{padding:16px 24px}.top-right>.muted{display:none}.hero{padding:28px;gap:22px;grid-template-columns:1.3fr 1fr}.hero-art{min-height:200px}.phase-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.shell{display:block}.sidebar{position:relative;width:auto;min-height:0;padding:16px}.brand{margin:0 0 14px;padding:0}.brand-logo{width:172px}.sidebar .nav{display:flex;flex-wrap:wrap;gap:4px}.nav button{width:auto;flex:1 1 auto;font-size:12px;padding:10px}.sidebar .nav-caption,.sidebar-note,.sidebar>.user{display:none}.topbar{padding:12px 16px;flex-wrap:wrap;gap:8px}.top-right{gap:6px;flex-wrap:wrap}.top-right .btn{padding:5px 8px;font-size:12px}.workspace{padding:20px 16px}.page-heading{flex-wrap:wrap}.hero{grid-template-columns:1fr;padding:25px}.hero-art{height:170px;min-height:170px}.hero h2{font-size:32px}.hero p{font-size:15px}.stats{grid-template-columns:1fr;gap:10px}.stat{padding:16px 20px}.stat strong{font-size:28px}.program-grid,.phase-content,.review-grid{grid-template-columns:1fr}.panel{padding:20px}.phase-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.phase-switch{display:flex;flex-wrap:wrap}.phase-switch button{flex:1;padding:12px;font-size:13px}.detail-banner{flex-wrap:wrap;padding:20px}.detail-progress{width:100%;min-width:0}.scopebar{flex-wrap:wrap;gap:12px}.scopebar select{max-width:100%}.login-page{padding:20px}.login-page>.panel{padding:28px}.form-page .panel{padding:20px}.repository-drive-table{min-width:560px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Guided-work pattern shared by the two reviewed guides. */
.phase-guide-intro{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:32px;margin:28px 0;padding:28px 0}.phase-guide-intro>.phase-guide-summary{padding:24px;background:#11110f;color:#f4f0e7;border-radius:14px}.phase-guide-intro h2{font-size:clamp(30px,3.4vw,46px);line-height:1.1;letter-spacing:-1.4px;margin:12px 0 16px}.phase-guide-intro>div>p:not(.eyebrow){font-size:17px;max-width:680px}.phase-guide-intro .eyebrow{color:#2854d7}.phase-guide-summary>.eyebrow{color:#f5c400}.phase-guide-summary>strong{display:block;font-size:22px;margin:12px 0}.phase-guide-intro .phase-guide-summary>p{font-size:14px;color:#d8d5cc}.phase-guide-summary .progress-label,.phase-guide-summary .progress-label strong{color:#f4f0e7}.phase-guide-summary .progress-track{background:#42423a}.phase-guide-intro .btn.secondary{margin-top:8px}.phase-content #phase-resources{scroll-margin-top:24px}.phase-content #phase-resources .eyebrow{color:#2854d7}.phase-content #phase-resources>p:not(.eyebrow){font-size:14px}.phase-content #phase-resources>.drive-link{display:flex}.count{color:#5c5d58}.sidebar-note{border:0;border-top:1px solid #3b3b35}#toast{visibility:hidden}#toast.show{visibility:visible}.check-row .category{display:block;background:transparent;padding:2px 0;color:#5c5d58}.ai-panel .badge.draft{background:#2854d7;color:#f4f0e7}.badge{border:0}
@media(max-width:760px){.phase-guide-intro{grid-template-columns:1fr;gap:18px;margin:20px 0;padding:0}.phase-guide-intro h2{font-size:32px}.phase-guide-intro>div>p:not(.eyebrow){font-size:15px}.phase-guide-intro>.phase-guide-summary{padding:20px}}

.interface-icon{width:19px;height:19px;display:block}.nav .symbol{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0}

/* PEIA functional pilot: readable work areas and wrapping exercise navigation. */
#peia-content h3, #lesson-content h3 { margin: 28px 0 14px; }
#peia-content p, #lesson-content p { line-height: 1.65; }
#peia-content form, #lesson-content form { margin: 18px 0 24px; }
#lesson-content fieldset { border: 1px solid var(--line, #deded8); border-radius: 12px; padding: 20px; min-width: 0; }
#lesson-content legend { font-weight: 600; padding: 0 8px; }
#lesson-content .tabs { flex-wrap: wrap; overflow: visible; }
#lesson-content .tabs button { white-space: normal; text-align: left; }
#lesson-content details { margin: 12px 0; }
#lesson-content summary { cursor: pointer; padding: 12px 0; font-weight: 600; }
#lesson-content p, #peia-content p { overflow-wrap: anywhere; white-space: pre-line; }
#lesson-content button, #peia-content button { margin: 4px 4px 4px 0; }
/* Guided PEIA session: same cobalt route, ivory canvas and warm actions as the source guide. */
.shell:has(.peia-guide) { display:block; }
.shell:has(.peia-guide) > .sidebar,.shell:has(.peia-guide) .topbar { display:none; }
.shell:has(.peia-guide) .workspace { padding:0; max-width:none; }
.peia-guide { --guide-blue:#2854d7; --guide-ink:#11110f; --guide-paper:#fffdf8; background:var(--guide-paper); min-height:100vh; color:var(--guide-ink); }
.guide-header { background:#11110f; color:#f4f0e7; padding:18px 28px; display:flex; align-items:center; gap:26px; min-height:82px; }
.guide-header img { width:175px; }
.guide-header > span { font-size:12px; }
.guide-header .btn.ghost { color:#f4f0e7; margin-left:auto; }
.guide-team-label { font-size:12px; display:flex; align-items:center; gap:8px; }
.guide-team-label select { max-width:185px; padding:8px; background:#262622; color:white; border-color:#56564d; }
#lesson-sync { max-width:175px; color:#a7e9cf; font-size:11px; }
.guide-layout { display:grid; grid-template-columns:250px minmax(0,1fr) 205px; align-items:start; }
.guide-route { background:linear-gradient(155deg,#3154cd,#11110f); color:#f4f0e7; padding:30px 24px; min-height:calc(100vh - 82px); position:sticky; top:0; max-height:100vh; overflow:auto; }
.guide-route > .eyebrow { color:#f5c400; }
.guide-route h2 { font-size:24px; line-height:1.15; color:white; margin:14px 0; }
.guide-route p { color:#d5daf0; font-size:13px; line-height:1.6; }
.guide-route nav { display:grid; gap:8px; margin:28px 0; }
.guide-route nav button { display:grid; grid-template-columns:18px 1fr 20px; align-items:center; gap:12px; text-align:left; color:#e8e9f1; background:transparent; border:1px solid transparent; border-radius:9px; padding:13px 10px; font:inherit; font-size:13px; cursor:pointer; }
.guide-route nav button.active { background:#ffffff22; color:white; border-color:#ffffff33; }
.guide-route nav button:hover { background:#ffffff16; }
.guide-route .step-check { color:#b8efce; }
.guide-resources { margin-top:28px; border-top:1px solid #ffffff35; padding-top:20px; display:grid; gap:12px; }
.guide-resources a { color:#f4f0e7; font-size:13px; }
.guide-resources .btn { white-space:normal; color:white; background:#ffffff12; border-color:#ffffff55; font-size:12px; }
.guide-work { min-width:0; padding:40px clamp(22px,4vw,58px); }
.guide-work > .eyebrow { color:#2854d7; }
.guide-work h1 { font-size:clamp(30px,3.4vw,48px); line-height:1.08; letter-spacing:-1.5px; margin:16px 0 22px; }
.guide-lead { font-size:20px; line-height:1.6; margin-bottom:28px; }
.guide-status { padding:24px 18px; background:#eeeadf; min-height:calc(100vh - 82px); }
.guide-status article { border:1px solid #ddd9d0; background:white; border-radius:16px; padding:20px; margin-bottom:16px; }
.guide-status h3 { margin:14px 0!important; font-size:17px; }
.guide-status p { font-size:13px; line-height:1.5; }
.guide-percent { display:block; font-size:38px; color:#2854d7; margin:12px 0; }
.guide-status .guide-key { border-top:4px solid #f5c400; }
.guide-concept-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:26px 0; }
.guide-concept-grid article { border:1px solid #dedbd3; border-radius:14px; padding:18px; background:white; }
.guide-concept-grid article h3 { margin:0 0 8px!important; font-size:17px; }
.guide-concept-grid p { font-size:14px; margin:0; }
.guide-callout { background:#f8efc7; border-left:4px solid #f5c400; border-radius:12px; padding:22px; margin:25px 0; }
.guide-flow { display:flex; flex-wrap:wrap; gap:24px; padding:20px; font-weight:600; }
#lesson-content .guide-exercise fieldset { background:#fff; border:2px solid #3656c4; border-radius:18px; padding:26px; }
#lesson-content legend { font-size:20px; }
#lesson-content textarea { min-height:125px; background:#fff; color:#11110f; font-size:16px; line-height:1.65; }
#lesson-content textarea:focus { outline:3px solid #2854d72b; border-color:#2854d7; }
.guide-actions,.guide-document-toolbar { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.guide-team-zone,.guide-common-zone,.guide-close { margin-top:35px; padding-top:22px; border-top:1px solid #dedbd3; }
.guide-common-zone { border-top:4px solid #f5c400; }
.guide-team-zone h2,.guide-common-zone h2,.guide-close h2 { font-size:26px; margin:12px 0; }
.team-person-tabs { display:flex; flex-wrap:wrap; gap:10px; margin:20px 0; }
.team-person-tabs button { display:flex; align-items:center; gap:10px; text-align:left; padding:12px; border:1px solid #d7d9e1; border-radius:12px; background:#fff; color:#11110f; cursor:pointer; font:inherit; font-size:13px; }
.team-person-tabs button.active { background:#edf1ff; border-color:#2854d7; box-shadow:0 0 0 1px #2854d7; }
.team-person-tabs small { display:block; font-size:11px; color:#555c6f; margin-top:4px; }
.team-answer { background:white; border:1px solid #d9dce8; border-radius:16px; padding:22px; }
.team-answer h4 { margin:0 0 20px; color:#2854d7; }
.team-answer li { margin:8px 0; line-height:1.6; overflow-wrap:anywhere; }
.guide-step-footer { display:flex; justify-content:space-between; align-items:center; border-top:1px solid #dedbd3; padding-top:24px; margin-top:35px; gap:10px; }
.guide-history { padding:20px; background:white; border-radius:12px; border:1px solid #ddd; margin:12px 0; }
.guide-locked { padding:50px; }
.peia-document { background:white; border:1px solid #dedbd3; box-shadow:0 8px 28px #11110f0a; padding:clamp(20px,4vw,52px); margin:24px 0; overflow-wrap:anywhere; }
.peia-document header { border-bottom:3px solid #2854d7; padding-bottom:22px; }
.peia-document header > p:first-child { font-size:11px; letter-spacing:1px; }
.peia-document h1 { font-size:30px; }
.peia-document h2 { font-size:23px; margin:32px 0 16px; color:#2854d7; }
.peia-document h3 { font-size:18px; }
.peia-document h4 { font-size:15px; margin:20px 0 8px; }
.peia-document li { margin:10px 0; line-height:1.65; }
.peia-guide button:focus-visible,.peia-guide a:focus-visible { outline:3px solid #f5c400; outline-offset:3px; }
@media(max-width:1100px){.guide-layout{grid-template-columns:225px minmax(0,1fr)}.guide-status{display:none}.guide-header{gap:16px;flex-wrap:wrap}.guide-header img{width:150px}}
@media(max-width:680px){.guide-layout{grid-template-columns:minmax(0,1fr)}.guide-route{position:static;min-height:0;max-height:none;padding:22px}.guide-route nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:18px 0}.guide-route h2{font-size:22px}.guide-resources{display:flex;flex-wrap:wrap}.guide-header{padding:16px;gap:14px}.guide-header>span{display:none}.guide-header .btn.ghost{margin-left:0}.guide-work{padding:26px 18px}.guide-lead{font-size:17px}.guide-concept-grid{grid-template-columns:minmax(0,1fr)}#lesson-content .guide-exercise fieldset{padding:18px}.guide-step-footer{flex-wrap:wrap}.team-person-tabs button{width:100%}}

/* Navegación contextual: programa > sesión > temas. */
.guide-route .guide-hierarchy { display:block; }
.guide-route .guide-hierarchy .guide-programs,
.guide-route .guide-hierarchy .guide-program-name,
.guide-route .guide-hierarchy .guide-activity-link { display:block; width:100%; text-align:left; border:0; background:transparent; color:inherit; cursor:pointer; padding:10px 8px; border-radius:8px; font:inherit; }
.guide-route .guide-hierarchy .guide-programs { font-weight:700; margin-bottom:20px; }
.guide-program-branch { border-left:0; padding-left:12px; }
.guide-route .guide-program-name { font-weight:700 !important; overflow-wrap:anywhere; line-height:1.4; }
.guide-session-branch { border-left:0; margin:14px 0 0 4px; padding-left:10px; }
.guide-route .guide-activity-link { font-size:13px !important; margin-bottom:18px; opacity:.8; }
.guide-route .guide-session-branch h2 { font-size:19px; line-height:1.3; margin-bottom:18px; }
.guide-route .guide-topics { display:grid; gap:6px; }
.guide-route .guide-hierarchy button:hover { background:#ffffff18; }
.guide-route .guide-topics button.active { background:#ffffff24; }
.guide-route .guide-topics .step-check { color:#73ffe1; }
/* Entorno común del participante y árbol de aprendizaje. */
.learning-platform { background:#fffdf8; min-height:100vh; color:#11110f; }
.learning-layout { display:grid; grid-template-columns:280px minmax(0,1fr); }
.learning-main.workspace { padding:32px clamp(22px,4vw,56px); min-width:0; }
.learning-platform .panel,.learning-platform .program-card,.learning-platform .stat { background:white; border:1px solid #dedbd2; border-radius:18px; }
.learning-platform #peia-personal { background:white; border:2px solid #2854d7; border-radius:18px; padding:24px; margin:24px 0; }
.learning-platform #peia-agreement { background:#fbf6df; border-radius:18px; padding:24px; }
.learning-platform h3[id] { scroll-margin-top:25px; }
.guide-route .learning-tree { display:block; margin:0; }
.learning-tree details { margin:8px 0; border:0; padding:0; }
.learning-tree summary { cursor:pointer; padding:12px 8px; font-weight:600; font-size:14px; line-height:1.45; overflow-wrap:anywhere; color:#fff; border:0; }
.learning-tree details > :not(summary) { margin-left:10px; }
.guide-route .learning-tree button { display:block; width:100%; border:0; padding:12px 10px; font-size:14px; line-height:1.45; }
.guide-route .learning-tree .learning-home { font-size:16px; font-weight:700; margin-bottom:14px; }
.learning-tree .learning-activities { display:grid; gap:4px; }
.guide-route .learning-activities button { display:grid; grid-template-columns:14px 1fr 18px; gap:6px; font-size:13px; }
.learning-activities a { display:flex; justify-content:space-between; gap:8px; padding:10px; color:#f4f0e7; text-decoration:none; border-radius:8px; font-size:13px; }
.learning-activities a:hover { background:#ffffff18; }
.learning-activities a span { color:#73ffe1; }
.learning-account { margin-top:28px; }
.learning-breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0 0 28px; font-size:12px; line-height:1.5; color:#626467; }
.learning-breadcrumbs button { border:0; background:transparent; padding:0; color:#2854d7; cursor:pointer; font:inherit; text-align:left; }
.learning-breadcrumbs [aria-current] { font-weight:600; color:#11110f; }
.learning-tree summary:focus-visible,.learning-tree a:focus-visible,.learning-tree button:focus-visible { outline:2px solid #f5c400; outline-offset:2px; }
@media(max-width:680px) { .learning-layout{grid-template-columns:1fr;} .learning-layout .guide-route{position:static;min-height:0;max-height:none;} .guide-route .learning-tree{display:block;} }
#lesson-content .learning-tree details { margin:4px 0; }
#lesson-content .learning-tree summary { padding:9px 8px; }
#lesson-content .learning-tree button { margin:0; }
.learning-tree summary { padding:9px 8px; }
.learning-tree details { margin:4px 0; }
.learning-tree [aria-current="step"] { background:#ffffff24; }
.guide-layout { grid-template-columns:280px minmax(0,1fr) 205px; }
@media(max-width:1100px) { .guide-layout,.learning-layout {grid-template-columns:260px minmax(0,1fr);} }
@media(max-width:680px) { .guide-layout,.learning-layout {grid-template-columns:1fr;} }
/* A persistent application frame prevents route changes from shifting the page. */
.learning-platform { height:100dvh; overflow:hidden; display:flex; flex-direction:column; }
.learning-platform > .guide-header { flex:none; min-height:82px; }
.learning-platform > .learning-layout { flex:1; min-height:0; }
.learning-platform .learning-main { overflow:auto; min-height:0; scroll-behavior:auto; }
.learning-platform .guide-route { position:static; min-height:0; max-height:none; height:100%; overflow:auto; }
.lesson-toolbar { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:18px; min-height:42px; }
.lesson-toolbar .guide-team-label select { color:#11110f; background:white; border-color:#d8d7cf; }
.lesson-toolbar #lesson-sync { color:#4b6759; }
.lesson-section { display:grid; grid-template-columns:minmax(0,1fr) 200px; gap:26px; align-items:start; }
.lesson-section > .guide-work { padding:0; }
.lesson-section > .guide-status { padding:0; background:transparent; min-height:0; }
.team-forum { display:grid; gap:0; margin-top:20px; }
.forum-post { display:flex; align-items:flex-start; gap:14px; padding:24px 0; border-bottom:1px solid #e5e3da; }
.forum-post:first-child { padding-top:0; }
.forum-post > .avatar { width:42px; height:42px; min-width:42px; border-radius:50%; object-fit:cover; }
.forum-post-body { min-width:0; flex:1; }
.forum-post-body header { display:flex; flex-direction:column; gap:2px; }
.forum-post-body header strong { font-size:16px; }
.forum-post-body header span { font-size:12px; color:#787c7b; }
.forum-answer h4 { font-size:13px; margin:16px 0 6px; color:#545957; }
.forum-answer p { font-size:15px; line-height:1.65; margin:0; white-space:pre-wrap; overflow-wrap:anywhere; }
@media(max-width:1100px){.lesson-section{grid-template-columns:minmax(0,1fr);}}
@media(max-width:680px){.learning-platform{height:auto;overflow:visible;}.learning-platform .learning-layout{display:block;}.learning-platform .guide-route{height:auto;max-height:40vh;}.learning-platform .learning-main{overflow:visible;}.lesson-toolbar{flex-wrap:wrap;}}
/* Color and composition taken from the supplied learning-guide references. */
.learning-platform > .guide-header { border-bottom:5px solid transparent; border-image:linear-gradient(90deg,#f5c400,#ff5a1f) 1; }
.concept-card { --concept-accent:#2854d7; border:1px solid #ddd9d0; border-top:6px solid var(--concept-accent); border-radius:20px; background:white; padding:24px; }
.accent-orange { --concept-accent:#ff5a1f; }
.accent-yellow { --concept-accent:#f5c400; }
.accent-blue { --concept-accent:#2854d7; }
.accent-ink { --concept-accent:#11110f; }
.guide-concept-grid > .concept-card { border-top:6px solid var(--concept-accent); padding:24px; border-radius:20px; }
.concept-card .eyebrow { color:#2854d7; }
.concept-myths .eyebrow { color:#965208; }
.concept-card h3 { font-size:22px; margin:18px 0 12px; line-height:1.3; }
.concept-card p { color:#5a5d58; font-size:16px; line-height:1.6; }
.concept-dark,.concept-formula { background:#11110f; color:#f4f0e7; padding:32px; border-radius:24px; margin:28px 0; }
.concept-dark .eyebrow { color:#f5c400; }
.concept-dark h2 { color:#f4f0e7; font-size:clamp(25px,2.4vw,36px); line-height:1.25; margin:18px 0 0; }
.concept-dark p { color:#dfddd5; font-size:19px; line-height:1.65; }
.definition-card { border-left:9px solid #f5c400; }
.concept-formula { background:linear-gradient(130deg,#11110f,#1a2e73); }
.concept-formula .eyebrow { color:#73ffe1; }
.concept-formula > p:last-child { color:#d4d8e9; font-size:19px; line-height:1.65; margin-bottom:0; }
.formula-parts { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin:24px 0; }
.formula-parts strong { padding:14px 18px; background:#f5c400; color:#11110f; border-radius:12px; font-size:20px; }
.formula-parts b { color:#73ffe1; font-size:23px; }
.formula-parts > span { color:#b9bfd6; font-size:24px; }
.value-chain { background:#f0ecdf; border-radius:24px; padding:22px; margin:30px 0; }
.chain-model,.chain-networks { display:flex; align-items:center; justify-content:space-between; gap:24px; border-radius:14px; padding:22px; }
.chain-model { color:#fff; background:#2854d7; }
.chain-model h3,.chain-networks h3 { font:600 14px/1.4 var(--font-mono,monospace); text-transform:uppercase; margin:0; }
.chain-model p,.chain-networks p { font-weight:700; font-size:20px; margin:0; line-height:1.45; }
.chain-dimensions { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:14px 0; }
.chain-dimension { background:white; border-radius:14px; padding:20px; border-top:5px solid #2854d7; }
.chain-dimension h3 { color:#2854d7; font-size:14px; text-transform:uppercase; margin:0 0 16px; }
.chain-dimension ul { padding:0; list-style:none; margin:0; font-weight:600; line-height:1.7; }
.chain-networks { background:#f5c400; color:#11110f; }
.process-band > div { display:flex; flex-wrap:wrap; gap:16px; align-items:center; color:#f5c400; font-size:13px; }
.process-band > div span { color:#73ffe1; font-size:24px; }
.process-band p { font-size:16px; margin-bottom:0; }
.session-focus .session-back { margin-bottom:26px !important; color:#fff; }
.session-focus > .eyebrow { color:#f5c400; letter-spacing:1px; }
.session-focus h2 { font-size:27px; line-height:1.2; margin:18px 0; }
.session-focus .session-description { font-size:16px; color:#d4ddff; margin-bottom:30px; }
.session-focus .learning-activities { display:grid; gap:8px; }
.guide-route .session-focus .learning-activities button { padding:15px 12px; font-size:15px; grid-template-columns:20px 1fr 20px; }
.session-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:30px 0; }
.learning-main:has(.session-focus) { min-width:0; }
.learning-platform:has(.session-focus) .lesson-section { grid-template-columns:minmax(0,1fr); }
.learning-platform:has(.session-focus) .guide-status { display:none; }
.concept-myths,.concept-disruption { grid-template-columns:repeat(4,minmax(0,1fr)); }
@media(max-width:1150px){.concept-myths,.concept-disruption,.chain-dimensions{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:680px){.concept-myths,.concept-disruption,.chain-dimensions,.session-cards{grid-template-columns:1fr;}.chain-model,.chain-networks{display:block;}.chain-model h3,.chain-networks h3{margin-bottom:12px;}.concept-dark,.concept-formula{padding:24px;}.concept-card h3{font-size:20px;}}
/* Resource navigation mirrors the supplied session reference. */
.learning-platform .guide-route { background:linear-gradient(165deg,#2854d7 0%,#203d96 43%,#11162b 100%); padding:28px 24px; }
.learning-brand-title { border-left:1px solid #ffffff33; padding-left:24px; color:#b6b6b1; letter-spacing:.6px; }
.learning-brand-title strong { display:block; color:#f4f0e7; font-size:18px; letter-spacing:0; }
.guide-resources { border:0; margin-top:30px; padding-top:0; gap:12px; }
.guide-resources .eyebrow { color:#f5c400; margin:0; }
.guide-resources h3 { color:#fff; font-size:18px; line-height:1.35; margin:0 0 8px; }
.guide-resources .session-resource { display:grid; grid-template-columns:minmax(0,1fr) 16px; gap:6px 10px; padding:18px; background:#ffffff12; border:1px solid #ffffff38; border-radius:16px; text-decoration:none; transition:background .15s,border-color .15s; }
.session-resource strong { color:#fff; font-size:16px; grid-column:1; }
.session-resource span { color:#c8d2f2; line-height:1.4; grid-column:1; }
.session-resource b { color:#f5c400; grid-column:2; grid-row:1 / 3; align-self:center; font-size:18px; }
.guide-resources .resource-library { border-color:#b39428; background:#f5c40012; }
.resource-library span { color:#eadb93; }
.guide-resources .session-resource:hover { background:#ffffff22; border-color:#f5c400; }
.session-focus .learning-activities button.active { background:#ffffff20; border:0; border-radius:14px; }
.session-focus .learning-activities .step-check { color:#73ffe1; font-size:23px; font-weight:700; }
.session-focus .learning-activities button > span:first-child { color:#a0b5ef; font-family:monospace; }
@media(max-width:680px){.learning-brand-title{display:none;}.learning-platform .guide-route{padding:22px;}}
/* Header and body share the same sidebar boundary and content gutter. */
.learning-platform { --learning-sidebar-width:280px; --learning-content-gutter:clamp(22px,4vw,56px); }
.learning-platform > .learning-layout { grid-template-columns:var(--learning-sidebar-width) minmax(0,1fr); }
.learning-platform .learning-main.workspace { padding-inline:var(--learning-content-gutter); }
.learning-platform > .guide-header { display:grid; grid-template-columns:var(--learning-sidebar-width) minmax(0,1fr) auto; gap:0; padding:18px 0; }
.learning-platform > .guide-header > img { width:calc(var(--learning-sidebar-width) - 48px); max-width:none; height:auto; margin-inline:24px; }
.learning-platform > .guide-header > .learning-brand-title { display:flex; flex-direction:column; justify-content:center; min-height:52px; padding:4px var(--learning-content-gutter); border-left:1px solid #ffffff33; }
.learning-platform > .guide-header > .btn { margin:0 28px 0 0; }
@media(max-width:1100px){.learning-platform{--learning-sidebar-width:260px;}}
@media(max-width:680px){
 .learning-platform > .guide-header { grid-template-columns:minmax(0,1fr) auto; padding:18px 0; }
 .learning-platform > .guide-header > img { width:min(210px,calc(100% - 36px)); margin-inline:18px; }
 .learning-platform > .guide-header > .learning-brand-title { display:none; }
 .learning-platform > .guide-header > .btn { margin-right:18px; }
}
/* Every multiline response grows with its text, including saved/read-only values. */
textarea { field-sizing:content; height:auto; max-height:none; overflow-y:hidden; resize:none; white-space:pre-wrap; overflow-wrap:anywhere; }

[data-live-status],[data-live-typing]{font-size:.9rem;min-height:1.4em;}
[data-live-typing]{color:var(--client-color,#2854d7);}
.is-typing::after{content:' ● ● ●';display:inline-block;animation:live-pulse 1s ease-in-out infinite;}
@keyframes live-pulse{50%{opacity:.25;transform:translateY(-2px);}}
@media(prefers-reduced-motion:reduce){.is-typing::after{animation:none;}}
