:root{color:#172033;font-synthesis:none;background:#f4f6fa;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:#f4f6fa;min-width:320px;margin:0}button,input,select,textarea{font:inherit}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #f2b84b80}.shell{min-height:100vh}.topbar,main,.workflow-nav{width:min(1180px,100% - 40px);margin:0 auto}.topbar{justify-content:space-between;align-items:center;gap:24px;padding:26px 0 18px;display:flex}.identity-block{flex-direction:column;align-items:flex-end;gap:3px;display:flex}.identity-block span{color:#65738a;text-transform:capitalize;font-size:.8rem}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:1.35rem}h2{margin-bottom:12px;font-size:clamp(1.6rem,3vw,2.5rem)}.eyebrow{color:#5d6b82;letter-spacing:.11em;text-transform:uppercase;margin-bottom:7px;font-size:.75rem;font-weight:750}.boundary-strip{text-align:center;color:#614b14;background:#fff3d5;border-top:1px solid #e5c879;border-bottom:1px solid #e5c879;padding:9px 20px;font-size:.84rem}.workflow-nav{gap:5px;padding:18px 0 24px;display:flex;overflow-x:auto}.workflow-nav button{color:#526178;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:10px;padding:9px 13px;font-weight:700}.workflow-nav button.active{color:#fff;background:#17365d}.login-shell,.centered-state{background:radial-gradient(circle at 100% 0,#f2b84b38,#0000 36%),#17365d;place-items:center;min-height:100vh;padding:30px;display:grid}.login-card,.state-card{background:#fff;border-radius:24px;width:min(620px,100%);padding:clamp(28px,6vw,54px);box-shadow:0 24px 70px #00000040}.login-card h1,.state-card h1{margin-bottom:18px;font-size:clamp(2rem,6vw,3.4rem)}.login-card>p:not(.eyebrow),.state-card p{color:#526178;line-height:1.65}.large{margin:12px 0 22px;font-size:1rem;padding:14px 20px!important}.boundary-notice{color:#614b14;background:#fff8e7;border:1px solid #e5c879;border-radius:14px;padding:14px;font-size:.86rem;line-height:1.5}.error-message{margin-top:16px;font-weight:700;color:#a3262f!important}.hero{color:#fff;background:#17365d;border-radius:24px;justify-content:space-between;align-items:center;gap:32px;padding:42px;display:flex;box-shadow:0 18px 45px #17365d2e}.hero p:not(.eyebrow){color:#dce7f6;max-width:710px;margin-bottom:0;line-height:1.6}.hero .eyebrow{color:#b9cbe1}.hero-actions,.button-group{flex-wrap:wrap;gap:10px;display:flex}.primary,.secondary{cursor:pointer;border-radius:12px;padding:11px 16px;font-weight:700}.primary{color:#172033;white-space:nowrap;background:#f2b84b;border:0}.secondary{color:#24344c;background:#fff;border:1px solid #c9d2df}.section-heading{justify-content:space-between;align-items:end;gap:20px;margin:42px 0 18px;display:flex}.section-heading.compact{align-items:start;margin:0 0 24px}.section-heading h2{margin-bottom:0;font-size:1.65rem}.supporting{color:#65738a;margin:8px 0 0;line-height:1.5}.grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.card{background:#fff;border:1px solid #dfe5ee;border-radius:18px;padding:20px;box-shadow:0 8px 24px #21344f0f}.card.selected{border-color:#17365d;box-shadow:0 0 0 2px #17365d1f}.card h3{margin:22px 0 8px;font-size:1.35rem}.card p{color:#65738a;min-height:42px}.card small{color:#7c8798;margin:-22px 0 18px;display:block}.card-row,.card-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.badge{color:#17365d;white-space:nowrap;background:#e7eff9;border-radius:999px;padding:5px 9px;font-size:.75rem;font-weight:750}.status{color:#26734d;font-size:.8rem;font-weight:700}.link-button{color:#17365d;cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-weight:750}.summary{background:#dfe5ee;border:1px solid #dfe5ee;border-radius:18px;grid-template-columns:repeat(4,1fr);gap:1px;margin:28px 0 52px;display:grid;overflow:hidden}.summary div{background:#fff;flex-direction:column;gap:5px;padding:22px;display:flex}.summary strong{font-size:1.4rem}.summary span{color:#65738a;font-size:.88rem}.panel{background:#fff;border:1px solid #dfe5ee;border-radius:22px;margin-bottom:52px;padding:30px;box-shadow:0 10px 30px #21344f0f}.empty-state{text-align:center;color:#526178;background:#f8fafc;border:1px dashed #b8c4d4;border-radius:18px;padding:34px}.empty-state h3{color:#172033}.alert{border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;padding:12px 16px;font-weight:650;display:flex}.alert.success{color:#1e603f;background:#e9f6ef;border:1px solid #a9d9bd}.alert.error{color:#8f2029;background:#fff0f1;border:1px solid #efb7bc}.alert button{cursor:pointer;color:inherit;background:0 0;border:0;font-size:1.3rem}.progress-bar{background:linear-gradient(90deg,#17365d 0 40%,#f2b84b 40% 75%,#17365d 75% 100%) 0 0/220% 100%;border-radius:999px;height:4px;margin:-8px 0 18px;animation:1.2s linear infinite progress}@keyframes progress{to{background-position:-220% 0}}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.form-grid label,.toolbar label{color:#4f5f76;flex-direction:column;gap:7px;font-size:.82rem;font-weight:750;display:flex}.form-grid input,.form-grid select,.form-grid textarea,.toolbar input,.toolbar select,.lesson-block input,.lesson-block select{color:#172033;background:#fff;border:1px solid #cbd5e1;border-radius:10px;width:100%;padding:10px 11px}.form-grid textarea{resize:vertical;line-height:1.45}.full-width{grid-column:1/-1}.required-field{border-left:4px solid #f2b84b;padding-left:12px}.form-actions{justify-content:flex-end;display:flex}fieldset{border:1px solid #d7dee8;border-radius:12px;padding:14px}legend{color:#4f5f76;padding:0 6px;font-size:.82rem;font-weight:750}.weekday-row{flex-wrap:wrap;gap:18px;display:flex}.check{align-items:center;color:#24344c!important;flex-direction:row!important;gap:7px!important}.check input{width:auto!important}.toolbar{background:#f7f9fc;border:1px solid #e1e7ef;border-radius:14px;flex-wrap:wrap;align-items:end;gap:14px;margin-bottom:22px;padding:16px;display:flex}.toolbar label{flex:1;min-width:190px}.toolbar button{margin-bottom:1px}.plan-list{gap:10px;margin-bottom:34px;display:grid}.plan-list article{border:1px solid #e1e7ef;border-radius:14px;grid-template-columns:160px 1fr auto;align-items:center;gap:20px;padding:15px 17px;display:grid}.plan-list article>div:first-child{flex-direction:column;gap:3px;display:flex}.plan-list span{color:#65738a;font-size:.85rem}.plan-list small{color:#65738a}.plan-list h3{margin:3px 0 0;font-size:1rem}.draft-heading{border-top:1px solid #e1e7ef;padding-top:26px}.validation-list{gap:14px;display:grid}.validation-row{border:1px solid #e1e7ef;border-radius:16px;grid-template-columns:150px 1fr;gap:22px;padding:18px;display:grid}.day-block{flex-direction:column;gap:5px;display:flex}.day-block span{color:#65738a;font-size:.85rem}.lesson-block{grid-template-columns:minmax(200px,1.3fr) repeat(3,minmax(150px,.8fr));align-items:end;gap:14px;display:grid}.lesson-block>strong{align-self:center}.lesson-block>small{color:#65738a;grid-column:1;margin-bottom:-8px}.lesson-block label{color:#5d6b82;flex-direction:column;gap:6px;font-size:.78rem;font-weight:700;display:flex}.action-bar{border-top:1px solid #e1e7ef;justify-content:space-between;align-items:center;gap:20px;margin-top:24px;padding-top:22px;display:flex}.action-bar>div:first-child{flex-direction:column;gap:4px;display:flex}.action-bar span{color:#65738a;font-size:.88rem}footer{text-align:center;color:#748096;padding:4px 20px 30px;font-size:.78rem}@media (width<=1050px){.grid{grid-template-columns:repeat(2,1fr)}.lesson-block{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-block>small{grid-column:1/-1}}@media (width<=760px){.topbar,.hero,.section-heading,.action-bar{flex-direction:column;align-items:stretch}.identity-block{align-items:flex-start}.hero-actions,.button-group{flex-direction:column}.grid,.summary,.form-grid{grid-template-columns:1fr}.full-width{grid-column:auto}.hero,.panel{padding:24px}.validation-row,.plan-list article,.lesson-block{grid-template-columns:1fr}.lesson-block>small{grid-column:auto}.toolbar{flex-direction:column;align-items:stretch}.workflow-nav{width:100%;padding-left:20px;padding-right:20px}}
