.lesson-builder-app{padding-top:26px;padding-bottom:38px}
.builder-intro{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:10px 0 22px}
.builder-intro h1{font-size:clamp(34px,4.2vw,51px);line-height:1.04;max-width:17ch;margin:4px 0 9px}
.builder-intro p:not(.eyebrow){max-width:64ch;color:var(--ink2);font-size:14px;margin:0}
.intro-mark{flex:0 0 auto;width:80px;height:80px;display:grid;place-items:center;border-radius:19px;background:#e7f2f2}
.intro-mark img{width:50px;height:50px}
.setup-panel,.activity-browser,.sequence-panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}
.setup-panel{margin-bottom:14px}
.panel-heading,.sequence-head{display:flex;justify-content:space-between;align-items:center;gap:15px}
.step-label{color:var(--teal);font-size:10px;letter-spacing:.1em;font-weight:780;text-transform:uppercase}
.panel-heading h2,.sequence-head h2{font-size:21px;margin:3px 0 0}
.panel-heading>.button{flex:0 0 auto;font-size:12px;padding:10px 13px}
.setup-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px 12px;margin-top:15px}
.setup-grid label,.skills-filters label,.custom-form label,.save-panel label,.load-panel label{display:block;font-size:11px;font-weight:720;color:var(--ink2)}
.setup-grid .wide-field{grid-column:span 2}
.setup-grid input,.setup-grid select,.setup-grid textarea,.skills-filters input,.skills-filters select,.custom-form input,.custom-form textarea,.custom-form select,.save-panel input,.load-panel select{width:100%;min-width:0;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:9px 10px;font:inherit;font-size:12px;margin-top:4px}
.setup-grid textarea{resize:vertical;min-height:66px;line-height:1.45}
.setup-grid input::placeholder,.setup-grid textarea::placeholder,.skills-filters input::placeholder,.custom-form input::placeholder,.custom-form textarea::placeholder,.save-panel input::placeholder{color:#91a0a8}
.draft-status{font-size:10px;color:var(--muted);margin:9px 0 0;min-height:14px}
.builder-workspace{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(340px,.96fr);align-items:start;gap:14px}
.activity-browser{min-width:0}
.browser-heading{margin-bottom:13px}.browser-heading h2{font-size:20px}.panel-intro{color:var(--muted);font-size:11px;margin:5px 0 0}
.library-tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:0 0 10px}
.library-tab{display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink2);font:650 11px var(--sans);padding:7px 9px;cursor:pointer}
.library-tab:hover{background:#f1f6f7}.library-tab.active{background:#e6f2f2;color:#126d76}.library-tab span{font-size:9px;color:var(--muted)}
.skills-filters{display:grid;grid-template-columns:minmax(0,1fr) 125px 125px;gap:8px;margin:12px 0 4px}.skills-filters[hidden],.custom-form[hidden]{display:none}
.activity-count{color:var(--muted);font-size:10px;margin:10px 0 7px;min-height:14px}
.activity-list{display:grid;gap:8px}
.activity-option{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #e4ecef;border-radius:10px;padding:11px 12px;background:#fff;transition:border-color .15s,background .15s}
.activity-option:hover{border-color:#a7cdd0;background:#fbfefe}.activity-option.added{border-color:#9bc5bf;background:#f5fbf9}
.activity-option h3{font-size:13px;line-height:1.3;margin:4px 0 3px}.activity-option p{max-width:65ch;color:var(--ink2);font-size:11px;line-height:1.45;margin:0}.activity-option .why{color:var(--muted);font-size:10px;margin-top:5px}
.activity-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:9px;color:var(--muted)}.skill-label,.phase-label{display:inline-flex;align-items:center;border-radius:999px;background:#eef4f6;padding:3px 7px;color:#456375;font-weight:700;text-transform:capitalize}
.activity-option[data-skill="reading"] .skill-label{background:#e6f2f2;color:#386675}.activity-option[data-skill="writing"] .skill-label{background:#fff0e9;color:#ae5846}.activity-option[data-skill="speaking"] .skill-label{background:#f1ecf5;color:#755c86}.activity-option[data-skill="listening"] .skill-label{background:#eaf1f8;color:#416e96}.activity-option[data-skill="grammar"] .skill-label{background:#fbf3dc;color:#8b681f}.activity-option[data-skill="vocabulary"] .skill-label{background:#eaf3ec;color:#4c7961}
.activity-add{border:1px solid #cbdde1;border-radius:8px;background:#fff;color:var(--teal);font:700 11px var(--sans);padding:8px 10px;cursor:pointer;white-space:nowrap}.activity-add:hover{background:#eaf5f5}.activity-add:disabled{background:#e6f2f2;border-color:#d2e8e3;color:#347b71;cursor:default}
.show-more{display:block;margin:10px auto 0;border:0;background:transparent;color:var(--teal);font:700 11px var(--sans);padding:8px;cursor:pointer}
.custom-form{display:grid;gap:11px;margin-top:14px}.custom-form textarea{resize:vertical}.custom-row{display:flex;align-items:end;gap:10px}.custom-row label:first-child{flex:1}.custom-row label:nth-child(2){width:90px}.custom-row .button{padding:10px 12px;font-size:11px}
.sequence-panel{position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto}
.sequence-count{background:#f0f5f6;border-radius:999px;padding:5px 9px;color:var(--muted);font-size:10px;font-weight:700;white-space:nowrap}
.sequence-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:11px 0 9px;margin-bottom:8px}.summary-title{font-size:12px;font-weight:750}.summary-meta{font-size:10px;color:var(--muted);margin-top:2px}.time-total{font-size:15px;font-weight:780;white-space:nowrap}.time-total small{display:block;text-align:right;color:var(--muted);font-size:9px;font-weight:550}.time-total.over{color:#b84d42}.time-total.fit{color:#167d69}
.goal-line{font-size:10px;color:var(--ink2);padding:7px 9px;margin-bottom:8px;background:#f5f8fa;border-radius:7px}.goal-line b{color:var(--ink)}
.sequence-list{display:grid;gap:7px}.sequence-item{border:1px solid #e2e9ec;border-radius:9px;padding:9px 10px;background:#fff}.sequence-item-head{display:grid;grid-template-columns:23px minmax(0,1fr) 46px;gap:7px;align-items:start}.item-number{width:22px;height:22px;display:grid;place-items:center;border-radius:7px;background:#edf4f5;color:var(--teal);font-size:10px;font-weight:800}.sequence-item h3{font-size:12px;line-height:1.3;margin:0}.sequence-item .sequence-description{font-size:10px;line-height:1.4;color:var(--ink2);margin:4px 0 0}.sequence-controls{display:grid;grid-template-columns:minmax(0,1fr) 48px auto;gap:6px;align-items:center;margin-top:7px}.sequence-controls select,.sequence-controls input{width:100%;min-width:0;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink2);padding:5px 6px;font:10px var(--sans)}.sequence-controls input{text-align:center}.reorder-controls{display:flex;gap:2px}.icon-button{width:23px;height:24px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink2);font-size:13px;line-height:1;cursor:pointer}.icon-button:hover{background:#f0f5f6}.icon-button.remove{color:#b14d46}.sequence-item details{font-size:10px;color:var(--muted);margin:6px 0 0 29px}.sequence-item summary{cursor:pointer;color:var(--teal);font-weight:700}.sequence-item details p{margin:5px 0 0;line-height:1.45}.sequence-empty{border:1px dashed #cbdadd;border-radius:9px;padding:16px;text-align:center;color:var(--muted)}.sequence-empty>span{display:inline-grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#eaf0f3;color:var(--teal);font-size:22px}.sequence-empty p{font-size:11px;max-width:28ch;margin:8px auto 0}.sequence-empty[hidden]{display:none}
.sequence-tools{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);margin-top:9px;padding-top:8px}.text-button{border:0;background:transparent;color:var(--teal);font:700 10px var(--sans);padding:4px 0;cursor:pointer}.text-button.subtle{color:var(--muted)}
.save-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;border-top:1px solid var(--line);margin-top:10px;padding-top:10px}.save-panel .button{padding:9px 10px;font-size:10px;white-space:nowrap}
.load-panel{margin-top:10px}.load-panel>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px;align-items:center;margin-top:4px}.load-panel select{margin:0}.load-panel .button{padding:7px 9px;font-size:10px}.load-panel .icon-button{height:33px}
.button.light{background:#fff!important;color:var(--ink)!important;border:1px solid var(--line)!important}.export-actions{display:flex;gap:7px;margin-top:11px}.export-actions .button{font-size:10px;padding:9px 11px}.builder-note{color:var(--muted);font-size:10px;max-width:90ch;margin:12px 0 0}.builder-footer{background:#fff;border-top:1px solid var(--line);padding:13px 0}.builder-footer .wrap{display:flex;gap:18px;justify-content:space-between;align-items:center;color:var(--muted);font-size:10px}.builder-footer a{color:var(--teal);text-decoration:none;font-weight:700}
@media(max-width:900px){.builder-workspace{grid-template-columns:1fr}.sequence-panel{position:static;max-height:none;overflow:visible}.activity-list{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-option{align-items:start}.activity-option .activity-add{grid-column:1/-1;justify-self:start}}
@media(max-width:620px){.lesson-builder-app{width:calc(100% - 28px);padding-top:13px}.builder-intro{padding-top:8px;gap:12px}.builder-intro h1{font-size:34px;max-width:15ch}.builder-intro p:not(.eyebrow){font-size:12px}.intro-mark{width:54px;height:54px;border-radius:14px}.intro-mark img{width:34px;height:34px}.setup-panel,.activity-browser,.sequence-panel{padding:13px;border-radius:11px}.panel-heading{align-items:flex-start;flex-direction:column;gap:9px}.panel-heading h2,.sequence-head h2{font-size:19px}.setup-grid{grid-template-columns:1fr 1fr;gap:9px}.setup-grid .wide-field{grid-column:1/-1}.skills-filters{grid-template-columns:1fr 1fr}.skills-filters .filter-search{grid-column:1/-1}.activity-list{grid-template-columns:1fr}.activity-option{grid-template-columns:minmax(0,1fr) auto}.activity-option .activity-add{grid-column:auto;justify-self:auto}.custom-row{flex-wrap:wrap}.custom-row label:first-child{min-width:100%}.custom-row label:nth-child(2){width:75px}.sequence-summary{align-items:flex-start}.builder-footer .wrap{align-items:flex-start;flex-direction:column;gap:6px}}
@media print{body{background:#fff!important}.topbar,.builder-intro,.setup-panel,.activity-browser,.builder-note,.builder-footer,.sequence-tools,.save-panel,.load-panel,.export-actions{display:none!important}.lesson-builder-app{width:100%;max-width:none;padding:0}.builder-workspace{display:block}.sequence-panel{position:static;max-height:none;overflow:visible;border:0;padding:0}.sequence-head{display:none}.sequence-summary{border-bottom:2px solid #222}.sequence-item{break-inside:avoid;border:0;border-bottom:1px solid #ddd;border-radius:0;padding:10px 0}.sequence-controls select,.sequence-controls input{border:0;padding:2px}.sequence-item details{display:block}.sequence-item details:not([open])>:not(summary){display:block}.sequence-empty{display:none}.sequence-tools{display:none}}
