@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/dm-sans-latin-400-normal.0471snlmja818.woff2)format("woff2"),url(../media/dm-sans-latin-400-normal.40quu04grbhf8.woff)format("woff")}
@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/dm-sans-latin-500-normal.0brn-8r9pdr2e.woff2)format("woff2"),url(../media/dm-sans-latin-500-normal.0jcw8phz0eanr.woff)format("woff")}
@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/dm-sans-latin-600-normal.0oone78si629l.woff2)format("woff2"),url(../media/dm-sans-latin-600-normal.40ad7xuawyzt9.woff)format("woff")}
@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:400;src:url(../media/fraunces-latin-400-normal.2j1-120rypbv0.woff2)format("woff2"),url(../media/fraunces-latin-400-normal.2q5_ewrewux8n.woff)format("woff")}
@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(../media/fraunces-latin-500-normal.3snrgjsqgdu5o.woff2)format("woff2"),url(../media/fraunces-latin-500-normal.30pst_7y53yzy.woff)format("woff")}
:root{--forest:#243a22;--forest-deep:#1f3517;--olive:#546747;--ivory:#f7f5ef;--sand:#e7e3d6;--ink:#233025;--muted:#747b6c;--line:#e1e4d9;--white:#fffefb;--error:#963e35;--green:#dfe7d5;--serif:"Fraunces",serif;--sans:"DM Sans",sans-serif}*{box-sizing:border-box}html,body{background:var(--ivory);min-height:100%;color:var(--ink);font-family:var(--sans);margin:0;font-size:16px}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #97ab73}button{border:0}h1,h2,h3,p{margin:0}h1{font-family:var(--serif);letter-spacing:-1.2px;font-size:40px;font-weight:400;line-height:1.2}h2{letter-spacing:-.3px;font-size:19px;font-weight:500}h3{font-size:17px;font-weight:500}p{line-height:1.65}svg{flex-shrink:0}small{font-size:13px;line-height:1.5}.muted{color:var(--muted)}.eyebrow{letter-spacing:1.8px;color:var(--olive);text-transform:uppercase;font-size:11px;font-weight:600;line-height:1.5;display:block}.primary,.secondary,.text-button,.danger,.button{white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:9px;min-height:42px;padding:10px 17px;font-size:14px;font-weight:500;line-height:1.3;transition:background .15s,color .15s,transform .15s;display:inline-flex}.primary,.button{background:var(--forest);color:#fffef5}.primary:hover,.button:hover{background:#354e2d}.secondary{background:var(--white);color:var(--forest);border:1px solid #d6dccd}.secondary:hover{background:#eef0e7}.text-button{color:var(--olive);background:0 0;min-height:34px;padding:6px 2px}.text-button:hover{color:var(--forest)}.danger{color:#fff;background:#a34437}.button-wrap{flex-direction:column;align-items:flex-start;gap:4px;max-width:100%;display:inline-flex}.inline-error{white-space:normal;max-width:300px}.icon-button{width:35px;height:35px;color:var(--olive);background:0 0;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;padding:5px;display:inline-flex}.icon-button:hover{background:#e9eddf}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}label{color:#515d49;flex-direction:column;gap:8px;font-size:13px;font-weight:500;line-height:1.4;display:flex}input:not([type=checkbox]):not([type=radio]),textarea,select{background:var(--white);width:100%;min-height:42px;color:var(--ink);border:1px solid #d9dece;border-radius:7px;padding:10px 12px;font-size:15px;font-weight:400}textarea{resize:vertical;min-height:70px;line-height:1.6}input[readonly],textarea[readonly]{background:#f7f8f2}.check-label{flex-direction:row;align-items:center;gap:8px;font-size:13px;display:flex}.check-label input{width:16px;height:16px;accent-color:var(--forest);margin:0}.error{color:var(--error);white-space:normal;font-size:14px;line-height:1.5}.success-text{color:#426735;align-items:center;gap:5px;font-size:13px;display:inline-flex}.optional{color:var(--muted);font-size:12px;font-weight:400}.spin{animation:1.5s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.pulse-dot{background:var(--olive);border-radius:50%;width:7px;height:7px;margin-right:6px;animation:1.5s ease-in-out infinite pulse;display:inline-block}@keyframes pulse{50%{opacity:.3}}.fatal{gap:24px;max-width:650px;margin:20vh auto;padding:30px;display:grid}.login{grid-template-columns:48% 52%;min-height:100vh;display:grid}.login-art{background:var(--forest-deep);color:#f1ead8;flex-direction:column;justify-content:space-between;padding:49px 58px;display:flex;position:relative;overflow:hidden}.login-brand{align-items:center;gap:12px;display:flex}.login-brand>span,.brand>span{font-family:var(--serif);letter-spacing:-1.8px;font-size:45px;font-weight:400}.brand-dot{color:#aec297}.botanical{justify-content:center;align-items:center;display:flex;position:absolute;inset:19% 4% 8%}.botanical svg{fill:#506343;stroke:#b2bd93;stroke-width:1.2px;opacity:.9;width:78%;height:100%;position:relative}.orbit{border:1px solid #4a5b3c;border-radius:50%;width:430px;height:430px;position:absolute}.orbit-one{transform:translate(20px,70px)}.orbit-two{width:540px;height:540px;transform:translate(80px,130px)}.art-foot{letter-spacing:4px;color:#b7bda1;margin-top:auto;font-size:11px}.login-side{justify-content:center;align-items:center;padding:40px;display:flex}.login-form{width:100%;max-width:352px}.login-form .eyebrow{margin-bottom:13px}.login-form h1{margin-bottom:42px;font-size:48px}.login-form form{gap:22px;display:grid}.password-field{position:relative}.password-field input{padding-right:45px!important}.password-field .icon-button{position:absolute;top:4px;right:5px}.login-submit{justify-content:space-between;width:100%;height:48px;margin-top:10px}.mobile-brand{display:none}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--forest);color:#e6e9dc;z-index:20;flex-direction:column;flex-shrink:0;width:228px;padding:28px 20px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:10px;margin:0 13px;line-height:1;display:inline-flex}.sidebar .brand>span{font-size:40px}.sidebar-caption{color:#a4b295;letter-spacing:2.3px;margin:13px 14px 46px;font-size:9px}.sidebar nav{gap:7px;display:grid}.nav-item{color:#bdc9b3;border-radius:7px;align-items:center;gap:13px;min-height:45px;padding:12px 14px;font-size:14px;transition:all .15s;display:flex}.nav-item:hover{color:var(--ivory);background:#30462b}.nav-item.active{color:var(--forest);background:#e3e9d8}.nav-count{color:#fff;background:#6d8159;border-radius:4px;margin-left:auto;padding:2px 6px;font-size:11px;font-weight:600}.sidebar-bottom{margin-top:auto}.profile-button{color:#e2e6d7;text-align:left;background:0 0;border-top:1px solid #43563b;align-items:center;gap:10px;width:100%;padding:18px 7px;display:flex}.profile-button>span:nth-child(2){flex:1;font-size:14px}.profile-button small{color:#a5b59a;margin-top:3px;font-size:11px;display:block}.sidebar .avatar{color:#ecf1e4;background:#5c7149}.logout{color:#b2c0a7;background:0 0;align-items:center;gap:10px;padding:9px 11px;font-size:12px;display:flex}.logout:hover{color:#fff}.workspace{flex:1;min-width:0;margin-left:228px}.topbar{border-bottom:1px solid var(--line);height:66px;color:var(--muted);justify-content:space-between;align-items:center;padding:0 42px;font-size:12px;display:flex}.topbar-date{font-size:12px}.mobile-menu{display:none}.main-content{max-width:1460px;margin:0 auto;padding:42px}.page-head{justify-content:space-between;align-items:center;gap:22px;margin-bottom:32px;display:flex}.page-head .eyebrow{margin-bottom:9px}.page-actions{align-items:center;gap:10px;display:flex}.stats{grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:28px;display:grid}.stat{background:var(--white);border:1px solid var(--line);text-align:left;border-radius:12px;min-height:125px;padding:21px 24px;position:relative}.stat>span{color:var(--muted);margin-bottom:12px;font-size:12px;display:block}.stat strong{font-family:var(--serif);font-size:38px;font-weight:400;line-height:1}.stat>svg{color:#859376;position:absolute;bottom:26px;right:24px}.stat:hover{border-color:#b6c3a8}.today-grid{grid-template-columns:minmax(0,1.9fr) minmax(260px,1fr);align-items:start;gap:24px;display:grid}.panel{background:var(--white);border:1px solid var(--line);border-radius:12px;overflow:hidden}.section-head{justify-content:space-between;align-items:center;gap:14px;padding:23px 26px;display:flex}.section-head h2{font-family:var(--serif);font-size:22px;font-weight:400}.count{color:var(--olive);background:#eef1e7;border-radius:50%;justify-content:center;align-items:center;min-width:23px;height:23px;margin-left:5px;padding:0 6px;font-size:11px;font-weight:500;display:inline-flex}.panel-divider{border-top:1px solid var(--line);margin:10px 0}.empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:18px;padding:50px 20px 58px;font-size:14px;display:flex}.empty-icon{color:#8b9b7c;background:#eef0e7;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.quiet-empty{color:var(--muted);padding:6px 26px 28px;font-size:13px}.row-link{border-top:1px solid var(--line);text-align:left;background:0 0;align-items:center;gap:14px;width:100%;padding:20px 26px;display:flex}.row-link:hover{background:#f4f6ee}.row-link>svg:last-child{color:#899579;margin-left:6px}.row-info{flex:1;min-width:0}.row-info strong{font-size:14px;font-weight:500;line-height:1.4;display:block}.row-info>span{color:var(--muted);margin-top:5px;font-size:12px;display:block}.document-icon{width:41px;height:41px;color:var(--olive);background:#edf0e5;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.badge{white-space:nowrap;color:#7c7766;background:#f0efe7;border-radius:5px;align-items:center;padding:5px 9px;font-size:10px;font-weight:500;line-height:1.2;display:inline-flex}.badge-approved,.badge-reviewed,.badge-completed,.badge-succeeded,.badge-mastered,.badge-validated{color:#4e693d;background:#e7efdd}.badge-assigned,.badge-in_progress,.badge-running,.badge-improving{color:#536749;background:#e4eadd}.badge-submitted,.badge-candidate,.badge-ready_for_review{color:#8b6d31;background:#f4ead2}.badge-failed,.badge-cancelled{color:#9d4e3c;background:#f5e6e1}.level{letter-spacing:.3px;color:var(--olive);background:#ecf0e4;border-radius:5px;padding:5px 8px;font-size:10px;line-height:1.1;display:inline-flex}.avatar{color:#5c7047;letter-spacing:.5px;background:#e5ebdc;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:43px;height:43px;font-size:13px;font-weight:500;display:inline-flex}.avatar-small{width:32px;height:32px;font-size:10px}.appointment-row{border-top:1px solid var(--line);align-items:center;gap:15px;padding:22px 25px;display:flex}.appointment-time{flex-shrink:0;width:48px}.appointment-time strong{font-size:16px;font-weight:500;display:block}.appointment-time span{color:var(--muted);font-size:11px}.appointment-info{flex:1;min-width:0}.plain-link{color:var(--ink);background:0 0;padding:0;font-size:15px;font-weight:500}.plain-link:hover{text-decoration:underline}.appointment-info>span{color:var(--muted);align-items:center;gap:8px;margin-top:7px;font-size:11px;display:flex}.appointment-info>span .level{flex-shrink:0}.appointment-actions{align-items:center;gap:10px;display:flex}.appointment-actions .secondary{min-height:36px;padding:8px 12px;font-size:12px}.toolbar{align-items:center;gap:12px;margin-bottom:25px;display:flex}.search{flex:1;max-width:390px;position:relative}.search svg{color:#929c83;position:absolute;top:12px;left:13px}.search input{padding-left:41px!important}.toolbar>select{width:auto;min-width:170px}.chip{min-height:40px;color:var(--muted);background:0 0;border:1px solid #d7dccd;border-radius:7px;padding:8px 14px;font-size:12px}.chip.selected{background:var(--green);color:var(--forest)}.student-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:21px;display:grid}.student-card{text-align:left;border:1px solid var(--line);background:var(--white);border-radius:12px;padding:25px;display:block}.student-card:hover{border-color:#adbd9f;transform:translateY(-2px)}.student-card-top{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.student-card h2{font-family:var(--serif);margin-bottom:10px;font-size:24px}.student-card>p{color:var(--muted);min-height:42px;font-size:13px}.student-card-foot{border-top:1px solid var(--line);color:var(--olive);justify-content:space-between;align-items:center;margin-top:26px;padding-top:16px;font-size:11px;display:flex}.back-link{color:var(--olive);background:0 0;align-items:center;gap:7px;min-height:24px;margin-bottom:25px;padding:0;font-size:12px;display:inline-flex}.profile-head{align-items:center;gap:20px;margin-bottom:28px;display:flex}.profile-head .avatar{width:68px;height:68px;font-size:20px}.profile-head>div{flex:1}.profile-head h1{margin:6px 0 8px}.profile-head p{color:var(--muted);font-size:13px}.profile-summary{border:1px solid var(--line);background:#eeefe6;border-radius:10px;grid-template-columns:2fr 1fr 1.4fr;gap:24px;margin-bottom:30px;padding:22px 26px;display:grid}.profile-summary>div>span{color:var(--muted);margin-bottom:7px;font-size:11px;display:block}.profile-summary p{font-size:14px}.profile-summary strong{font-family:var(--serif);font-size:27px;font-weight:400}.tabs{border-bottom:1px solid var(--line);align-items:center;gap:25px;margin-bottom:24px;display:flex;overflow:auto}.tabs>button{color:var(--muted);white-space:nowrap;background:0 0;border-bottom:2px solid #0000;border-radius:0;padding:13px 0;font-size:13px}.tabs>button.selected{border-color:var(--forest);color:var(--forest);font-weight:500}.plan-head{flex-wrap:wrap;align-items:center;gap:15px;padding:0 26px 20px;display:flex}.plan-head strong{font-size:14px;font-weight:500}.plan-head .text-button{margin-left:auto}.plan-row{border-top:1px solid var(--line);align-items:flex-start;gap:22px;padding:25px 27px;display:flex}.plan-number{width:32px;font-family:var(--serif);color:#96a286;flex-shrink:0;font-size:27px}.plan-row>div{flex:1}.plan-row p{color:var(--muted);margin-top:6px;font-size:13px}.word-chips{flex-wrap:wrap;gap:6px;margin:13px 0 10px;display:flex}.word-chips span{color:var(--olive);border:1px solid #dce4d2;border-radius:4px;padding:4px 8px;font-size:10px}.plan-row small{color:var(--muted);font-size:11px}.memory-row{border-top:1px solid var(--line);align-items:center;gap:18px;padding:23px 26px;display:flex}.memory-row>div{flex:1}.memory-row .eyebrow{margin-bottom:7px;font-size:9px}.memory-row p{color:var(--muted);margin-top:6px;font-size:13px}.note-card{border-top:1px solid var(--line);padding:25px}.note-card>p{white-space:pre-wrap;margin:12px 0;font-size:14px}.note-card footer{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;font-size:11px;display:flex}.profile-footer{justify-content:space-between;gap:20px;padding:22px 0;display:flex}.week-toolbar{align-items:center;gap:20px;margin-bottom:25px;display:flex}.week-toolbar>div{flex:1}.week-toolbar strong{font-size:14px;font-weight:500}.week-strip{background:#eeefe6;border-radius:10px;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:24px;padding:14px;display:grid}.week-day{min-height:85px;color:var(--muted);border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:relative}.week-day>span:first-child{text-transform:uppercase;letter-spacing:1px;font-size:11px}.week-day strong{font-family:var(--serif);color:var(--ink);font-size:27px;font-weight:400}.week-day.current{background:var(--forest);color:#cdd7bd}.week-day.current strong{color:var(--ivory)}.day-dot{background:var(--olive);border-radius:50%;width:4px;height:4px;position:absolute;bottom:7px}.week-day.current .day-dot{background:#fff}.agenda-date{color:var(--olive);padding:20px 26px 0;font-size:12px}.agenda-item{border-top:1px solid var(--line)}.agenda-item:first-child{border:0}.agenda-item .appointment-row{border:0;padding-top:14px}.agenda-item-footer{align-items:center;gap:20px;padding:0 26px 16px;display:flex}.agenda-item-footer .badge{margin-right:auto}.inline-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.modal{background:var(--white);width:calc(100% - 36px);max-width:520px;max-height:90vh;color:var(--ink);border:0;border-radius:14px;padding:0;box-shadow:0 20px 90px #16291038}.modal::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#17291280}.modal-wide{max-width:800px}.modal-inner{padding:27px 30px}.modal-head{justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px;display:flex}.modal-head h2{font-family:var(--serif);font-size:26px;font-weight:400}.form{gap:20px;display:grid}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-footer{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;padding-top:12px;display:flex}.form-footer .button-wrap{max-width:100%}.form-footer .error{max-width:400px}.account-panel{max-width:600px;padding:30px}.job-card{border-top:1px solid var(--line);align-items:flex-start;gap:20px;padding:26px;display:flex}.job-card:first-child{border:0}.job-icon{width:39px;height:39px;color:var(--olive);background:#eef1e5;border-radius:9px;justify-content:center;align-items:center;display:flex}.job-info{flex:1;min-width:0}.job-title{align-items:center;gap:15px;margin-bottom:7px;display:flex}.job-info p{color:var(--muted);font-size:12px}.job-info p.error{color:var(--error);margin-top:12px;font-size:13px}.job-info details{margin-top:12px}.job-info summary{color:var(--muted);cursor:pointer;font-size:11px}.job-id{word-break:break-all;font-family:monospace;font-size:10px}.job-actions{gap:7px;display:grid}.job-progress{color:var(--olive);margin:10px 0;font-size:12px}.review-item{border-bottom:1px solid var(--line);padding:18px 0}.review-item>p{color:var(--muted);margin:8px 0;font-size:13px}.review-item blockquote{white-space:pre-wrap;background:#f2f4ec;border-left:2px solid #a5b790;margin:15px 0;padding:15px 20px;font-size:15px}.review-item>.form-grid{margin-top:18px}.editor-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;display:flex}.editor-header h1{max-width:650px;margin-top:7px;font-size:32px}.editor-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:14px;margin-top:14px;font-size:11px;display:flex}.save-status{color:var(--olive);align-items:center;gap:5px;font-size:11px;display:inline-flex}.editor-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:9px;max-width:340px;display:flex}.editor-actions .primary,.editor-actions .secondary{font-size:12px}.editor-details{border:1px solid var(--line);background:#eeefe6;border-radius:10px;gap:18px;margin-bottom:25px;padding:25px;display:grid}.module-editor-list{gap:20px;display:grid}.module-editor{background:var(--white);border:1px solid var(--line);border-radius:10px;overflow:hidden}.module-hidden{opacity:.55}.module-editor-head{border-bottom:1px solid var(--line);background:#f2f4ec;align-items:center;gap:10px;padding:12px 20px;display:flex}.module-drag{cursor:grab;color:#8b997e;display:flex}.module-type{color:var(--olive);flex:1;font-size:11px;font-weight:500}.module-controls{gap:3px;display:flex}.module-controls .icon-button{width:28px;height:28px}.module-edit-fields{gap:17px;padding:22px;display:grid}.title-duration{grid-template-columns:1fr 82px;gap:18px;display:grid}.module-editor-footer{justify-content:space-between;align-items:center;gap:12px;padding:3px 22px 20px;display:flex}.module-editor-footer .text-button{font-size:11px}.items-editor{border-top:1px solid var(--line);gap:15px;padding-top:18px;display:grid}.item-editor{background:#f4f6ef;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:15px 42px 15px 15px;display:grid;position:relative}.item-editor>.icon-button{position:absolute;top:14px;right:5px}.item-editor label{font-size:11px}.item-editor input,.item-editor textarea,.item-editor select{font-size:13px}.choices-editor{gap:15px;display:grid}.choice-edit{align-items:center;gap:14px;display:flex}.choice-edit>label:first-child{flex:1}.rich-editor{border:1px solid #d9dece;border-radius:7px;overflow:hidden}.rich-toolbar{border-bottom:1px solid var(--line);background:#f4f6ef;gap:4px;padding:4px 8px;display:flex}.rich-toolbar .icon-button{width:29px;height:29px}.rich-input{min-height:90px;color:var(--ink);outline:none;padding:13px 15px;font-size:15px;font-weight:400}.rich-input p{margin:4px 0}.rich-input ul,.rich-input ol{margin:4px 0;padding-left:23px}.add-module{width:100%;min-height:57px;color:var(--olive);background:0 0;border:1px dashed #acb99d;border-radius:9px;justify-content:center;align-items:center;gap:10px;margin:22px 0;font-size:13px;display:flex}.add-module:hover{background:#eef1e6}.module-picker{grid-template-columns:1fr 1fr;gap:10px;display:grid}.module-picker button{justify-content:space-between;font-size:13px}.resource-attached{border-top:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:13px;padding:20px;display:flex}.resource-attached img{border-radius:8px;width:100%;max-width:340px}.resource-attached audio{max-width:100%}.validation{color:#846731;background:#f4ecd8;border:1px solid #e6dac0;border-radius:8px;margin:22px 0;padding:18px 22px;font-size:12px;line-height:1.8}.validation summary{cursor:pointer}.pending-banner{background:#e8efdd;border-radius:7px;align-items:center;gap:4px;margin-bottom:22px;padding:12px 18px;font-size:12px;display:flex}.pending-banner .text-button{margin-left:auto;font-size:12px}.preview-toolbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px;display:flex}.preview-toolbar>span{color:var(--muted);font-size:12px}.preview-toolbar .tabs{margin:0}.lesson-preview{gap:22px;max-width:850px;margin:0 auto;display:grid}.lesson-objective{background:var(--forest);color:var(--ivory);border-radius:10px;padding:27px}.lesson-objective .eyebrow{color:#b7c69d;margin-bottom:12px}.lesson-objective p{font-family:var(--serif);font-size:24px;line-height:1.5}.module-view{background:var(--white);border:1px solid var(--line);border-radius:12px;min-width:0;padding:32px}.module-view-head{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.module-view-head h2{font-family:var(--serif);font-size:27px;font-weight:400;line-height:1.3}.module-view-head>span{white-space:nowrap;font-size:11px}.module-instructions{color:var(--muted);margin-bottom:23px;font-size:14px}.rich-body{font-size:16px;line-height:1.8}.rich-body p+p{margin-top:14px}.rich-body ul,.rich-body ol{padding-left:23px}.vocab-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.vocab-card{background:#f0f3e9;border:1px solid #e5eadb;border-radius:8px;min-width:0;padding:22px}.vocab-card>strong{font-family:var(--serif);font-size:25px;font-weight:400;display:block}.vocab-card>span{color:var(--muted);margin-top:6px;font-size:12px;display:block}.vocab-card>p{margin-top:16px;font-size:14px}.vocab-card audio{width:100%;height:36px;margin-top:14px}.module-view figure{margin:0}.module-view figure img{object-fit:contain;background:#f3f5ed;border-radius:8px;width:100%;max-height:620px;display:block}.module-view figcaption{color:var(--muted);margin-top:13px;font-size:13px}.dialogue{gap:12px;display:grid}.dialogue-line{background:#f1f4eb;border-radius:8px;align-items:flex-start;gap:17px;padding:17px 20px;display:flex}.dialogue-line>span{min-width:70px;color:var(--olive);padding-top:3px;font-size:13px;font-weight:500}.dialogue-line>p{font-size:15px}.conversation-questions{counter-reset:q;gap:14px;margin:25px 0 0;padding:0;list-style:none;display:grid}.conversation-questions li{counter-increment:q;background:#f2f4ec;border-radius:8px;padding:18px 20px 18px 58px;font-size:15px;line-height:1.6;position:relative}.conversation-questions li:before{content:counter(q,decimal-leading-zero);color:#8c9a7c;font-family:var(--serif);font-size:20px;position:absolute;left:20px}.conversation-questions li>span{color:var(--muted);margin-top:5px;font-size:13px;display:block}.choices{border:0;gap:12px;margin:24px 0 0;padding:0;display:grid}.choice{border:1px solid var(--line);cursor:pointer;color:var(--ink);border-radius:8px;flex-direction:row;align-items:center;gap:15px;padding:16px 18px;font-size:15px;font-weight:400;position:relative}.choice>input{opacity:0;width:1px;height:1px;position:absolute}.choice:focus-within{outline:2px solid #98ad7f}.choice.chosen{background:#f0f4e8;border-color:#94aa78}.choice-letter{width:28px;height:28px;color:var(--olive);border:1px solid #dbe2cf;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;display:flex}.choice>svg{color:var(--olive);margin-left:auto}.answer-field{margin-top:24px}.answer-field textarea,.answer-field input{font-size:16px}.order-activity{margin-top:24px}.order-answer{background:#f6f8f2;border:1px dashed #becbad;border-radius:8px;flex-wrap:wrap;gap:8px;min-height:63px;padding:12px;display:flex}.word-bank{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.word-token{background:var(--white);min-height:42px;color:var(--forest);border:1px solid #d4dec8;border-radius:6px;padding:10px 16px;font-size:15px}.word-token.selected{background:#e8efdc}.match-activity{gap:14px;margin-top:22px;display:grid}.match-activity label{grid-template-columns:1fr 1fr;align-items:center;gap:20px;font-size:16px;display:grid}.match-activity label>span{background:#f1f4e9;border-radius:7px;padding:12px 14px}.audio-player{background:#f0f3e9;border-radius:8px;margin-bottom:24px;padding:20px}.audio-player audio{width:100%;display:block}.audio-meta{justify-content:space-between;align-items:center;gap:15px;margin-top:12px;display:flex}.audio-meta small{color:var(--muted);font-size:10px}.audio-meta label{flex-direction:row;align-items:center;gap:9px;font-size:11px}.audio-meta select{width:70px;min-height:30px;padding:5px;font-size:11px}.transcript{background:#f2f4eb;border-radius:8px;margin-top:14px;padding:20px;font-size:14px}.transcript p+p{margin-top:12px}.voice-recorder{gap:17px;margin-top:22px;display:grid}.voice-recorder audio{width:100%}.voice-recorder>.primary{justify-self:start}.voice-actions{align-items:center;gap:20px;display:flex}.voice-actions small{color:var(--muted);font-size:11px}.pronunciation-feedback{color:var(--olive);padding:15px 0;font-size:13px}.answer-result{border-radius:8px;margin-top:25px;padding:18px 22px;font-size:14px}.answer-result strong{font-size:13px}.answer-result p{margin-top:7px;font-size:14px}.answer-correct{color:#426b2e;background:#eaf2df}.answer-incorrect{color:#8a6931;background:#f7eee0}.answer-key{color:var(--olive);border-top:1px solid var(--line);margin-top:24px;padding-top:15px;font-size:13px}.answer-key summary{cursor:pointer}.editor-bottom{justify-content:flex-end;gap:15px;margin-top:25px;display:flex}.plan-editor{padding:28px}.plan-editor-item{border-top:1px solid var(--line);align-items:flex-start;gap:25px;margin-top:30px;padding-top:30px;display:flex}.plan-editor-item>.form{flex:1}.version-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:12px 0;display:flex}.version-row strong{font-size:14px}.version-row small{color:var(--muted);margin-top:5px;display:block}.media-review-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.media-review{border:1px solid var(--line);border-radius:9px;flex-direction:column;align-items:flex-start;gap:12px;padding:16px;display:flex}.media-review img{object-fit:contain;border-radius:6px;width:100%;max-height:360px}.media-review audio{width:100%}.media-review small{color:var(--muted);font-size:10px;line-height:1.6}.media-review .inline-actions{gap:12px}.media-review .secondary{font-size:12px}.classroom-header{align-items:center;gap:25px;margin-bottom:30px;display:flex}.classroom-header .back-link{margin:0}.classroom-header>div{flex:1}.classroom-header h1{margin-top:8px;font-size:29px}.classroom-grid{grid-template-columns:180px minmax(0,1fr) 220px;align-items:start;gap:22px;display:grid}.classroom-outline{gap:9px;display:grid}.classroom-outline>.eyebrow{margin-bottom:12px}.classroom-outline button{text-align:left;color:var(--muted);background:0 0;border-radius:6px;align-items:flex-start;gap:9px;padding:10px 9px;font-size:11px;line-height:1.5;display:flex}.classroom-outline button>span{color:#97a385}.classroom-outline button.selected{color:var(--forest);background:#e7eddb}.classroom-stage .module-view{min-height:420px;padding:27px}.classroom-stage .module-view-head h2{font-size:24px}.classroom-controls{justify-content:space-between;align-items:center;gap:8px;padding-top:20px;display:flex}.classroom-controls>span{color:var(--muted);font-size:11px}.classroom-controls .secondary,.classroom-controls .primary{padding:10px 12px;font-size:11px}.classroom-notes{border:1px solid var(--line);background:#eeefe6;border-radius:9px;gap:15px;padding:18px;display:grid}.classroom-notes h2{font-family:var(--serif);font-size:20px}.classroom-notes textarea{min-height:220px;font-size:13px}.classroom-notes .check-label{font-size:11px}.saved-note{border-top:1px solid #d7ddce;padding-top:14px}.saved-note p{white-space:pre-wrap;font-size:12px}.saved-note small{color:var(--muted);font-size:9px}.student-shell{background:var(--ivory);min-height:100vh}.student-topbar{background:var(--forest);height:82px;color:var(--ivory);justify-content:space-between;align-items:center;gap:25px;padding:0 7%;display:flex}.student-topbar .brand{margin:0}.student-topbar .brand>span{font-size:35px}.student-topbar nav{align-items:center;gap:26px;display:flex}.student-topbar nav>a{color:#c2cfb5;border-bottom:1px solid #0000;align-items:center;gap:8px;padding:13px 0;font-size:12px;display:flex}.student-topbar nav>a.active{color:var(--ivory);border-color:#cedbbe}.student-topbar .icon-button{color:#c2cfb5}.student-topbar .icon-button:hover{background:#3d5234}.student-main{max-width:960px;margin:0 auto;padding:45px 35px 70px}.student-main .page-head{margin-bottom:32px}.student-main h1{font-size:38px}.student-task-panel{background:var(--white);border:1px solid var(--line);border-radius:11px;margin-bottom:24px;overflow:hidden}.student-empty{color:#889677;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:40px 25px 46px;font-size:14px;display:flex}.student-empty svg{color:#a3b48e}.homework-row{border-top:1px solid var(--line);text-align:left;width:100%;color:var(--ink);background:0 0;align-items:center;gap:17px;padding:23px 26px;display:flex}.homework-row:hover{background:#f3f6ed}.homework-row>div{flex:1}.homework-row h3{margin-bottom:7px;font-size:15px}.homework-row>div>span{color:var(--muted);font-size:11px}.homework-row>svg{color:var(--olive)}.latest-note{white-space:pre-wrap;padding:0 26px 27px;font-size:14px}.student-notes{background:var(--white);border:1px solid var(--line);border-radius:10px;overflow:hidden}.student-notes .note-card:first-child{border-top:0}.homework-progress{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:15px;margin-bottom:25px;font-size:12px;display:flex}.progress-track{background:#dfe5d5;border-radius:4px;width:100%;height:4px;overflow:hidden}.progress-track>div{background:#758e59;border-radius:4px;height:100%;transition:width .3s}.activity-navigation{flex-wrap:wrap;gap:9px;margin-bottom:25px;display:flex}.activity-navigation>button{background:var(--white);width:34px;height:34px;color:var(--olive);border:1px solid #d9e1cc;border-radius:6px;justify-content:center;align-items:center;font-size:12px;display:flex;position:relative}.activity-navigation>button.selected{background:var(--forest);color:var(--ivory);border-color:var(--forest)}.activity-dot{background:#8aaa6b;border-radius:50%;width:4px;height:4px;position:absolute;bottom:3px}.activity-navigation>button.selected .activity-dot{background:#d5e4be}.homework .module-view{min-height:330px}.homework-footer{justify-content:space-between;align-items:center;gap:20px;margin-top:24px;display:flex}.teacher-feedback{background:#e8efdd;border-radius:9px;gap:12px;margin-top:20px;padding:23px;font-size:14px;display:grid}.review-pending{color:var(--muted);margin:22px 0;font-size:13px}@media (min-width:1600px){.main-content{padding:50px 60px}.today-grid{gap:30px}.sidebar{width:250px;padding:35px 25px}.workspace{margin-left:250px}}@media (max-width:1200px){.main-content{padding:32px 27px}.sidebar{width:205px;padding:26px 15px}.workspace{margin-left:205px}.topbar{padding:0 27px}.today-grid{grid-template-columns:1.5fr 1fr;gap:18px}.appointment-row{gap:10px;padding:20px 17px}.appointment-row>.avatar{display:none}.student-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.classroom-grid{grid-template-columns:145px minmax(0,1fr)}.classroom-notes{grid-column:2}.editor-header{flex-direction:column}.editor-actions{justify-content:flex-start;max-width:none}.profile-summary{grid-template-columns:2fr 1fr}.profile-summary>div:last-child{grid-column:1/-1}}@media (max-width:950px){.today-grid,.classroom-grid{grid-template-columns:1fr}.classroom-outline{display:flex;overflow:auto}.classroom-outline .eyebrow{display:none}.classroom-outline>button{min-width:120px}.classroom-notes{grid-column:1}.toolbar{flex-wrap:wrap}.toolbar .search{flex-basis:100%;max-width:none}.week-toolbar{flex-wrap:wrap}.week-toolbar>div{flex-basis:100%}.week-toolbar .secondary{font-size:11px}.section-head{padding:21px}.row-link{padding:19px 21px}.stats{gap:12px}.stat{padding:20px 17px}.stat>span{font-size:10px}.stat strong{font-size:33px}.stat>svg{width:18px;bottom:20px;right:15px}.module-controls{gap:0}.module-controls .icon-button{width:25px}.media-review-grid{grid-template-columns:1fr}}@media (max-width:700px){h1{font-size:33px}.login{grid-template-columns:1fr}.login-art{display:none}.login-side{min-height:100vh;padding:35px 28px}.login-form h1{margin-bottom:32px;font-size:42px}.mobile-brand{font-family:var(--serif);color:var(--forest);align-items:center;gap:7px;margin-bottom:55px;font-size:28px;display:flex}.sidebar{width:230px;transition:transform .2s;transform:translate(-100%);box-shadow:10px 0 40px #182b2230}.sidebar-open{transform:translate(0)}.workspace{margin-left:0}.topbar{justify-content:flex-start;gap:12px;height:58px;padding:0 20px}.topbar-date{margin-left:auto;font-size:10px}.mobile-menu{display:inline-flex}.main-content{padding:25px 20px 45px}.page-head{align-items:flex-start;gap:15px;margin-bottom:25px}.page-head .primary{padding:11px 12px;font-size:12px}.page-head .eyebrow{letter-spacing:1.3px;font-size:9px}.stats{gap:9px;margin-bottom:22px}.stat{min-height:106px;padding:17px 12px}.stat>span{max-width:85px;min-height:26px;margin-bottom:10px;font-size:9px;line-height:1.4}.stat strong{font-size:29px}.stat>svg{width:15px;bottom:19px;right:10px}.section-head h2{font-size:21px}.section-head .text-button{font-size:11px}.appointment-row{flex-wrap:wrap;padding:19px 18px}.appointment-time{width:47px}.appointment-info{flex-basis:calc(100% - 62px)}.appointment-actions{margin-left:57px}.appointment-info>span{font-size:11px}.appointment-info>span .level{font-size:9px}.student-grid{grid-template-columns:1fr}.student-card{padding:24px}.student-card>p{min-height:0}.toolbar>select{min-width:150px;font-size:12px}.profile-head{flex-wrap:wrap;gap:14px}.profile-head .avatar{width:53px;height:53px;font-size:16px}.profile-head h1{font-size:30px}.profile-head>div{min-width:calc(100% - 70px)}.profile-head>.secondary{min-height:34px;margin-left:67px;font-size:11px}.profile-summary{grid-template-columns:1fr 1fr;gap:18px;padding:18px}.profile-summary>div:first-child{grid-column:1/-1}.profile-summary>div:last-child{grid-column:auto}.profile-summary p{font-size:12px}.tabs{gap:23px}.tabs>button{font-size:12px}.plan-row{gap:13px;padding:22px 18px}.plan-row h3{font-size:16px}.plan-row p{font-size:12px}.plan-number{width:26px;font-size:24px}.memory-row{flex-wrap:wrap;gap:10px;padding:20px 18px}.memory-row>div{flex-basis:100%}.profile-footer{flex-wrap:wrap}.week-day{min-height:70px}.week-day strong{font-size:22px}.week-day>span:first-child{font-size:9px}.week-strip{gap:3px;padding:9px}.week-toolbar{gap:12px}.week-toolbar strong{font-size:12px}.week-toolbar .check-label{font-size:11px}.modal-inner{padding:23px 21px}.modal-head h2{font-size:23px}.form-grid{grid-template-columns:1fr}.job-card{flex-wrap:wrap;gap:12px;padding:22px 18px}.job-icon{width:32px;height:32px}.job-info{min-width:calc(100% - 45px)}.job-title{flex-wrap:wrap;gap:10px}.job-title h3{font-size:15px}.job-actions{flex-wrap:wrap;margin-left:44px;display:flex}.job-actions .secondary{font-size:11px}.account-panel{padding:22px}.editor-header h1{font-size:29px}.editor-details{padding:20px}.module-editor-head{flex-wrap:wrap;gap:6px;padding:10px 12px}.module-type{font-size:10px}.module-edit-fields{gap:15px;padding:18px}.module-editor-footer{flex-wrap:wrap;padding:0 18px 17px}.module-controls .icon-button{width:26px}.title-duration{grid-template-columns:1fr 65px;gap:12px}.module-edit-fields label{font-size:12px}.item-editor{grid-template-columns:1fr;padding-right:38px}.choice-edit{flex-wrap:wrap;gap:8px}.choice-edit>label:first-child{flex-basis:100%}.choice-edit .icon-button{margin-left:auto}.module-view{padding:23px}.module-view-head h2{font-size:24px}.vocab-grid{grid-template-columns:1fr}.vocab-card{padding:20px}.dialogue-line{gap:12px;padding:16px}.dialogue-line>span{min-width:50px;font-size:11px}.dialogue-line>p{font-size:14px}.conversation-questions li{padding:16px 16px 16px 48px;font-size:14px}.conversation-questions li:before{left:15px}.match-activity label{gap:10px;font-size:14px}.match-activity select{font-size:12px}.module-picker{grid-template-columns:1fr}.plan-editor{padding:20px}.plan-editor-item{gap:15px}.editor-bottom{flex-wrap:wrap}.classroom-header{flex-wrap:wrap;gap:15px}.classroom-header h1{font-size:26px}.classroom-header>div{flex-basis:100%;order:2}.classroom-header>.secondary{margin-left:auto;font-size:11px}.classroom-stage .module-view{padding:23px}.student-topbar{gap:14px;height:72px;padding:0 20px}.student-topbar .brand>span{font-size:28px}.student-topbar .brand>svg{width:23px}.student-topbar nav{gap:13px}.student-topbar nav>a{padding:13px 4px}.student-topbar nav>a>span{display:none}.student-topbar nav>a>svg{width:19px}.student-topbar .brand{gap:6px}.student-main{padding:32px 20px 50px}.student-main h1{font-size:32px}.homework-row{gap:12px;padding:20px}.homework-row h3{font-size:14px}.homework-row>div>span{font-size:10px}.homework .module-view{min-height:290px}.homework-footer .primary,.homework-footer .secondary{font-size:12px}.latest-note{padding:0 21px 22px}.note-card{padding:23px}.review-item .form-grid{grid-template-columns:1fr}.voice-actions{gap:12px}.voice-actions small{font-size:10px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.sidebar-close,.menu-backdrop{display:none}@media (max-width:700px){.sidebar:not(.sidebar-open){visibility:hidden}.sidebar-open{visibility:visible}.sidebar-close{color:#dfe7d5;display:flex;position:absolute;top:15px;right:12px}.menu-backdrop{z-index:19;background:#182b2255;display:block;position:fixed;inset:0}}
