:root{--cream:#f8f5ed;--paper:#fffdf8;--ink:#123d35;--ink-2:#31584e;--muted:#58665f;--line:#d8dfd0;--sage:#9aae91;--sage-soft:#e8eee3;--terracotta:#d36c42;--accent-text:#a94d2f;--terracotta-soft:#fae5d7;--lavender:#7d719b;--lavender-soft:#ece7f4;--gold:#c9923b;--gold-soft:#f5ecd8;--danger:#a53d2e;--shadow:0 18px 48px #1d3c3217;--shadow-soft:0 10px 28px #123d350f;--radius:18px;--paper-texture:radial-gradient(ellipse 120% 80% at 0% 0%, #fae5d759, transparent 55%), radial-gradient(ellipse 90% 70% at 100% 0%, #e8eee373, transparent 50%)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);background-image:var(--paper-texture);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #d36c424d}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,Times New Roman,serif}.shell{width:min(1180px,100% - 40px);margin-inline:auto}.eyebrow{color:var(--accent-text);letter-spacing:.11em;text-transform:uppercase;align-items:center;gap:7px;font-size:.76rem;font-weight:800;display:inline-flex}.fine-print{color:var(--muted);font-size:.82rem}.brand{white-space:nowrap;align-items:center;display:inline-flex}.brand-logo{object-fit:contain;width:206px;height:auto;display:block}.brand-compact .brand-logo{width:172px}.button{cursor:pointer;border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:8px;padding:11px 17px;font-weight:750;transition:transform .18s,background .18s,border-color .18s,box-shadow .18s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.55}.button-primary{background:var(--ink);color:#fff;box-shadow:0 8px 20px #123d352e}.button-primary:hover:not(:disabled){background:#0b5042}.button-secondary{background:var(--paper);border-color:var(--ink);color:var(--ink)}.button-ghost{border-color:var(--line);color:var(--ink);background:0 0}.button-danger{color:var(--danger);background:#fff4f1;border-color:#e8b9ae}.button-large{padding:14px 20px}.button.small{padding:8px 11px;font-size:.85rem}.button.full{width:100%}.button-group{gap:10px;display:flex}.text-link,.text-button{color:var(--ink);text-underline-offset:4px;font-weight:750;text-decoration:underline}.text-button{cursor:pointer;background:0 0;border:0;align-items:center;padding:0;display:inline-flex}.site-header nav{color:var(--ink-2);gap:28px;font-size:.9rem;display:flex}.header-actions{gap:9px;display:flex}.hero h1{letter-spacing:-.062em;margin:22px 0 26px;font-size:clamp(3.2rem,6.3vw,6.3rem);line-height:.93}.hero h1 em{color:var(--terracotta);font-weight:400}.hero-lede{color:var(--ink-2);max-width:610px;font-size:1.16rem;line-height:1.7}.hero-actions{align-items:center;gap:22px;margin:34px 0 18px;display:flex}.hero-dashboard{display:none}.hero-dashboard:before{content:"";background:var(--sage-soft);filter:blur(45px);z-index:-1;border-radius:50%;height:140px;position:absolute;inset:-22px 30px auto -30px}.preview-top,.preview-title,.preview-row{justify-content:space-between;align-items:center;display:flex}.preview-top{color:var(--muted);font-size:.78rem}.demo-pill{background:var(--terracotta-soft);color:#9d4325;border-radius:999px;padding:5px 9px;font-weight:700}.preview-title{margin:26px 0 20px}.preview-title div{flex-direction:column;display:flex}.preview-title small{color:var(--muted)}.preview-title strong{font-family:Georgia,serif;font-size:1.65rem}.preview-title button{background:var(--ink);color:#fff;border:0;border-radius:10px;padding:11px 14px}.preview-grid{grid-template-columns:1.65fr .9fr;gap:14px;display:grid}.preview-lessons,.preview-summary{border:1px solid var(--line);background:#fff;border-radius:14px;padding:10px}.preview-row{border-bottom:1px solid #eceee8;justify-content:flex-start;gap:12px;padding:13px 6px}.preview-row:last-child{border-bottom:0}.preview-row>span:nth-child(2){flex-direction:column;flex:1;display:flex}.preview-row small{color:var(--muted);margin-top:3px}.preview-icon{background:var(--sage-soft);border-radius:10px;place-items:center;width:40px;height:40px;font-family:Georgia,serif;font-size:1.2rem;display:grid}.preview-check{border:2px solid var(--muted);border-radius:50%;place-items:center;width:26px;height:26px;display:grid}.preview-check.done{border-color:var(--accent-text);color:#fff;background:var(--accent-text)}.preview-summary{flex-direction:column;align-self:start;gap:12px;padding:19px;display:flex}.preview-summary>small{color:var(--accent-text);text-transform:uppercase;letter-spacing:.08em;font-weight:800}.preview-summary>strong{font-family:Georgia,serif;font-size:1.15rem}.progress-track,.big-progress{background:#e7e5dc;border-radius:99px;height:8px;overflow:hidden}.progress-track span,.big-progress span{background:var(--terracotta);border-radius:inherit;height:100%;display:block}.preview-summary p{color:var(--muted);margin:0;font-size:.82rem;line-height:1.5}.trust-strip{border-block:1px solid var(--line);background:#ffffff73}.trust-items span{align-items:center;gap:9px;display:flex}.trust-items svg{color:var(--terracotta);width:19px}.section{padding-block:110px}.section-heading{max-width:700px;margin-bottom:46px}.section-heading h2,.feature-split h2,.privacy-card h2{letter-spacing:-.045em;margin:12px 0 18px;font-size:clamp(2.4rem,4vw,4.1rem);line-height:1.02}.section-heading p,.feature-split p,.privacy-card p{color:var(--muted);font-size:1.03rem;line-height:1.7}.steps-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.steps-grid article{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);position:relative}.steps-grid article>span.legacy,.steps-grid>article>svg{display:none}.steps-grid h3{margin-bottom:12px;font-size:1.55rem}.steps-grid p{color:var(--muted);line-height:1.65}.feature-band{color:#fff}.feature-split{grid-template-columns:1.05fr .95fr;align-items:center;gap:64px;display:grid}.feature-split p{color:#cbd7d1}.feature-split .eyebrow{color:#ffad88}.check-list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.check-list li{padding-left:30px;line-height:1.5;position:relative}.check-list li:before{content:"✓";color:var(--terracotta);font-weight:900;position:absolute;top:0;left:0}.pricing-grid{grid-template-columns:repeat(2,minmax(0,460px));gap:20px;display:grid}.price-card{background:var(--paper);border:1px solid var(--line);border-radius:24px;flex-direction:column;align-items:flex-start;padding:34px;display:flex}.price-card.featured{border-color:var(--terracotta);background:linear-gradient(145deg, var(--paper), #fff5ee)}.plan-label{color:var(--accent-text);text-transform:uppercase;letter-spacing:.11em;font-size:.75rem;font-weight:850}.price-card h3{margin:16px 0 3px;font-size:3.6rem}.price-card h3 small{color:var(--muted);font-family:ui-sans-serif,system-ui;font-size:.9rem}.price-card>p{color:var(--muted);min-height:28px}.price-card .check-list{margin:26px 0 34px}.price-card .button{width:100%;margin-top:auto}.privacy-section{padding-top:0}.privacy-card{border:1px solid #cbd7c5;border-radius:28px;grid-template-columns:auto 1fr;gap:28px;padding:50px;display:grid}.privacy-card>svg{color:var(--terracotta);margin-top:6px}.site-footer{border-top:1px solid var(--line);color:var(--muted);background:linear-gradient(#f3eee4,#efe9de);margin-top:0;padding:56px 0 0}.site-footer-inner{grid-template-columns:1.4fr repeat(3,minmax(0,1fr));gap:36px 28px;padding-bottom:42px;display:grid}.site-footer-brand{align-content:start;gap:14px;display:grid}.site-footer-brand .brand-logo{width:188px}.site-footer-brand p{max-width:280px;color:var(--ink-2);margin:0;font-size:.9rem;line-height:1.55}.site-footer-social{flex-wrap:wrap;gap:8px;display:flex}.site-footer-social a{border:1px solid var(--line);background:var(--paper);width:38px;height:38px;color:var(--ink-2);border-radius:10px;place-items:center;transition:background .16s,color .16s,border-color .16s;display:grid}.site-footer-social a:hover{background:var(--ink);color:#fff;border-color:var(--ink)}.site-footer-col{align-content:start;gap:10px;display:grid}.site-footer-col h3{color:var(--ink);letter-spacing:-.02em;margin:0 0 4px;font-family:Georgia,serif;font-size:1.05rem}.site-footer-col a{color:var(--ink-2);padding:2px 0;font-size:.9rem;font-weight:650}.site-footer-col a:hover{color:var(--accent-text);text-underline-offset:3px;text-decoration:underline}.site-footer-bottom{border-top:1px solid #123d351a;gap:8px;padding:18px 0 28px;font-size:.78rem;line-height:1.5;display:grid}.site-footer-bottom p{max-width:920px;margin:0}.app-frame{background:#fbfaf5;background-image:var(--paper-texture);grid-template-columns:246px 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:linear-gradient(#f6f3ea 0%,#f1eee4 100%);flex-direction:column;height:100vh;padding:28px 18px 22px;display:flex;position:sticky;top:0}.sidebar>.brand{margin:0 6px 28px}.sidebar>.brand .brand-logo{width:198px}.demo-notice{color:#8f482f;background:var(--terracotta-soft);text-align:center;border-radius:9px;margin:-12px 7px 18px;padding:8px 11px;font-size:.76rem;font-weight:800}.app-nav{gap:4px;display:grid}.app-nav a{color:#35534b;border-radius:10px;align-items:center;gap:13px;padding:11px 13px;font-size:.91rem;font-weight:650;transition:background .16s,color .16s;display:flex}.app-nav a:hover{background:#ffffffb3}.app-nav a.active{color:var(--ink);box-shadow:inset 3px 0 var(--terracotta);background:#e4eadf;font-weight:750}.app-nav a svg{flex:none}.sidebar-bottom{border-top:1px solid var(--line);gap:12px;margin-top:auto;padding-top:15px;display:grid}.sidebar-bottom>a{color:var(--muted);align-items:center;gap:8px;padding:0 6px;font-size:.8rem;display:flex}.save-status{color:var(--muted);align-items:center;gap:8px;font-size:.72rem;line-height:1.3;display:flex}.save-status>span{background:#66966f;border-radius:50%;flex:none;width:8px;height:8px}.save-status.error>span{background:var(--danger)}.app-main{min-width:0}.app-topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:20;background:#fffdf8d6;justify-content:flex-end;align-items:center;height:76px;padding:0 42px;display:flex;position:sticky;top:0}.mobile-brand{min-width:0;display:none}.context-controls{align-items:center;gap:12px;display:flex}.context-controls label,.year-chip{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;min-height:44px;display:flex}.context-controls label>span,.year-chip span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;margin-left:12px;font-size:.68rem;font-weight:800}.context-controls select{color:var(--ink);background:0 0;border:0;min-width:130px;padding:0 34px 0 10px;font-weight:750}.year-chip{gap:10px;padding-right:12px}.year-chip strong{font-size:.84rem}.app-content{max-width:1360px;margin:0 auto;padding:48px 46px 70px}.page-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px;display:flex}.page-header h1{letter-spacing:-.055em;margin:8px 0 10px;font-size:clamp(2.45rem,4vw,4rem);line-height:.98}.page-header p{color:var(--muted);max-width:690px;margin:0;line-height:1.55}.page-action{flex:none}.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft)}.panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:24px 28px 20px;display:flex}.panel-heading h2{margin:4px 0 0;font-size:1.65rem}.progress-label{color:var(--muted);font-size:.85rem}.inline-banner{background:var(--sage-soft);color:var(--ink-2);border:1px solid #cad7c5;border-radius:12px;align-items:flex-start;gap:13px;margin-bottom:22px;padding:14px 17px;display:flex}.inline-banner svg{flex:none;margin-top:2px}.inline-banner div{flex-direction:column;gap:3px;display:flex}.inline-banner span{font-size:.84rem;line-height:1.45}.inline-banner>a{white-space:nowrap;margin-left:auto;font-size:.82rem;font-weight:750;text-decoration:underline}.demo-banner{background:var(--terracotta-soft);border-color:#ecc5af}.dashboard-grid{grid-template-columns:minmax(0,1.7fr) minmax(260px,.82fr);gap:20px;display:grid}.dashboard-aside{align-content:start;gap:16px;display:grid}.lesson-list{padding:0 26px}.lesson-row{border-bottom:1px solid #e9ebe4;grid-template-columns:54px minmax(0,1fr) auto auto;align-items:center;gap:15px;padding:18px 0;display:grid}.lesson-row:last-child{border-bottom:0}.lesson-row.is-complete .lesson-copy strong{color:var(--muted);text-decoration:line-through}.subject-tile{width:52px;height:52px;color:var(--ink);border-radius:13px;place-items:center;display:grid}.subject-tile.large{border-radius:16px;width:62px;height:62px}.sage,.subject-tile.sage{background:var(--sage-soft);color:var(--ink)}.terracotta,.subject-tile.terracotta{background:var(--terracotta-soft);color:#b65332}.lavender,.subject-tile.lavender{background:var(--lavender-soft);color:var(--lavender)}.gold,.subject-tile.gold{background:var(--gold-soft);color:#986c29}.lesson-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.lesson-copy strong{font-family:Georgia,serif;font-size:1.12rem}.lesson-copy span,.lesson-time{color:var(--muted);font-size:.8rem}.lesson-time{white-space:nowrap;align-items:center;gap:6px;display:flex}.completion-button,.icon-button{color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;padding:7px;display:grid}.completion-button svg{width:29px;height:29px}.is-complete .completion-button{color:var(--terracotta)}.lesson-actions{align-items:center;gap:2px;display:flex}.icon-button:hover{background:var(--sage-soft)}.icon-button.danger{color:var(--danger)}.icon-button:disabled{opacity:.35;cursor:not-allowed}.panel-empty{text-align:center;min-height:300px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;padding:30px;display:flex}.panel-empty>svg{color:var(--sage);width:38px;height:38px}.panel-empty strong{color:var(--ink)}.progress-card,.attendance-card{padding:25px}.progress-card h2,.attendance-card h2{margin:10px 0 16px;font-size:1.65rem}.big-progress{height:10px}.progress-card p{color:var(--muted);margin:10px 0 0;font-size:.83rem}.segmented{background:#f0efe9;border-radius:10px;grid-template-columns:repeat(3,1fr);gap:5px;margin-bottom:13px;padding:4px;display:grid}.segmented button{text-transform:capitalize;color:#52625b;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:8px 5px;font-size:.73rem}.segmented button.active{color:var(--ink);background:#fff;font-weight:800;box-shadow:0 2px 7px #00000012}.attendance-card small{color:var(--muted);line-height:1.45}.plus-card{border-radius:var(--radius);background:linear-gradient(135deg,#fae8da,#fff5ed);border:1px solid #efd1bd;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:20px;display:grid}.plus-card>svg:first-child{color:var(--accent-text)}.plus-card div{flex-direction:column;gap:4px;display:flex}.plus-card span{color:var(--muted);font-size:.78rem;line-height:1.4}.quick-links{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px;display:grid}.quick-links a{border:1px solid var(--line);background:var(--paper);border-radius:13px;align-items:center;gap:11px;padding:18px;font-weight:750;display:flex}.quick-links a svg:last-child{margin-left:auto}.setup-welcome{grid-template-columns:1.1fr .9fr;align-items:center;gap:80px;min-height:calc(100vh - 190px);display:grid}.setup-welcome h1{letter-spacing:-.058em;max-width:720px;margin:20px 0 25px;font-size:clamp(3rem,5.8vw,6rem);line-height:.95}.setup-welcome>div:first-child p{color:var(--muted);max-width:580px;margin-bottom:30px;font-size:1.05rem;line-height:1.7}.setup-steps{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px;grid-template-columns:42px 1fr;gap:20px 16px;padding:32px;display:grid;position:relative}.setup-steps:after{content:"";background:var(--line);z-index:0;width:1px;position:absolute;top:56px;bottom:56px;left:52px}.setup-steps>span{border:1px solid var(--line);background:var(--paper);z-index:1;border-radius:50%;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.setup-steps>span.active{background:var(--terracotta);border-color:var(--terracotta);color:#fff}.setup-steps p{flex-direction:column;gap:5px;margin:2px 0 0;display:flex}.setup-steps small{color:var(--muted)}.setup-progress{grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:28px;margin-bottom:24px;padding:26px;display:grid}.setup-progress h2{margin:7px 0 8px;font-size:1.65rem}.setup-progress>div>p{color:var(--muted);margin:0;line-height:1.55}.setup-progress ol{gap:7px;margin:0;padding:0;list-style:none;display:grid}.setup-progress li{color:var(--muted);border-radius:11px;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px;display:grid}.setup-progress li.current{background:var(--terracotta-soft);color:var(--ink)}.setup-progress li.complete{color:var(--ink-2)}.setup-progress li>span{border:1px solid var(--line);background:#fff;border-radius:50%;place-items:center;width:28px;height:28px;font-size:.76rem;font-weight:800;display:grid}.setup-progress li.complete>span{background:var(--sage-soft);border-color:#c2d0bc}.setup-progress li div{flex-direction:column;gap:2px;display:flex}.setup-progress li small{font-size:.75rem}.setup-progress li a{text-underline-offset:3px;align-items:center;gap:2px;font-size:.76rem;font-weight:800;text-decoration:underline;display:flex}.empty-state{border-radius:var(--radius);text-align:center;background:linear-gradient(160deg,#fffdf8e6,#e8eee373);border:1px dashed #bdc8bd;flex-direction:column;justify-content:center;align-items:center;min-height:390px;padding:45px 25px;display:flex;box-shadow:inset 0 1px #ffffffb3}.empty-state>span{width:58px;height:58px;color:var(--terracotta);background:var(--terracotta-soft);border-radius:18px;place-items:center;display:grid}.empty-state h2{margin:18px 0 8px;font-size:1.8rem}.empty-state p{color:var(--muted);max-width:480px;line-height:1.6}.card-grid,.course-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.student-card{grid-template-columns:auto 1fr;align-items:center;gap:16px;padding:24px;display:grid}.avatar{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:52px;height:52px;font-family:Georgia,serif;font-size:1.3rem;display:grid}.avatar-1{background:var(--terracotta)}.avatar-2{background:#74866f}.avatar-3{background:var(--lavender)}.student-card h2{margin:0 0 4px;font-size:1.4rem}.student-card p,.student-card small{color:var(--muted);margin:0}.student-card small{margin-top:6px;font-size:.75rem;display:block}.card-actions{border-top:1px solid var(--line);grid-column:1/-1;justify-content:space-between;padding-top:14px;display:flex}.course-card{min-height:260px;padding:27px;position:relative}.course-card .eyebrow{margin-top:22px}.course-card h2{margin:8px 0 6px;font-size:1.55rem}.course-card>p{color:var(--muted)}.course-stats{gap:26px;margin-top:24px;display:flex}.course-stats span{color:var(--muted);flex-direction:column;font-size:.76rem;display:flex}.course-stats strong{color:var(--ink);font-size:1.08rem}.course-delete{position:absolute;top:18px;right:18px}.table-panel{overflow:hidden}.data-table{width:100%}.table-head,.table-row{align-items:center;gap:18px;padding:14px 22px;display:grid}.table-head{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;background:linear-gradient(#f3f2ea,#ecebe3);font-size:.7rem;font-weight:850}.table-row{border-top:1px solid var(--line);min-height:68px;font-size:.86rem}.table-row:first-of-type{border-top:0}.table-row>span{min-width:0}.table-row strong{display:block}.table-row small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:4px;display:block;overflow:hidden}.lesson-table .table-head,.lesson-table .table-row{grid-template-columns:100px 1.35fr .9fr 70px 100px 150px}.grade-table .table-head,.grade-table .table-row{grid-template-columns:100px 1.4fr 1fr 100px 80px 72px}.status-chip{border:1px solid var(--line);color:var(--muted);white-space:nowrap;background:#fff;border-radius:999px;justify-content:center;align-items:center;gap:5px;padding:6px 9px;font-size:.74rem;display:inline-flex}button.status-chip{cursor:pointer}.status-chip.complete{color:#327245;background:#eef7ee;border-color:#bed9c1}.row-actions{align-items:center;gap:2px;display:flex}.ungraded{color:var(--muted);background:#efefe9;border-radius:6px;padding:4px 7px;font-size:.74rem;display:inline-flex}.grade-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.grade-summary article{grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:18px;display:grid}.grade-summary article>small:last-child{color:var(--muted);grid-column:2/-1}.grade-summary article>div{flex-direction:column;gap:2px;display:flex}.grade-summary small{color:var(--muted);font-size:.72rem}.subject-dot{border-radius:10px;width:11px;height:36px}.grade-number{font-family:Georgia,serif;font-size:1.55rem}.report-controls{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;margin-bottom:16px;padding:24px 26px;display:grid}.report-controls h2{margin:7px 0 5px;font-size:1.5rem}.report-controls p{color:var(--muted);margin:0;line-height:1.5}.report-date-fields{grid-template-columns:repeat(2,minmax(150px,1fr));gap:10px;display:grid}.report-date-fields label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:800}.report-date-fields input{width:100%;color:var(--ink);background:#fff;border:1px solid #bdc7bf;border-radius:9px;margin-top:6px;padding:10px 11px;display:block}.report-controls>.form-error{grid-column:1/-1}.report-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.report-stat-grid article{padding:21px}.report-stat-grid small{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.73rem;font-weight:800}.report-stat-grid strong{margin:9px 0 3px;font-family:Georgia,serif;font-size:2rem;display:block}.report-stat-grid strong span{color:var(--muted);font-size:1rem}.report-stat-grid p{color:var(--muted);margin:0;font-size:.78rem}.report-course-list{gap:12px;display:grid}.report-course{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:28px;padding:24px;display:grid}.report-course h2{margin:5px 0;font-size:1.45rem}.report-course p{color:var(--muted);margin:0;font-size:.82rem}.report-grade{text-align:right;flex-direction:column;display:flex}.report-grade strong{font-family:Georgia,serif;font-size:2rem}.report-grade span{color:var(--muted);font-size:.76rem}.report-course dl{gap:18px;margin:0;display:flex}.report-course dl div{min-width:64px}.report-course dt{color:var(--muted);text-transform:uppercase;font-size:.7rem;font-weight:800}.report-course dd{margin:4px 0 0;font-size:1.1rem;font-weight:800}.report-basis{margin-top:16px}.timeline{gap:13px;display:grid;position:relative}.timeline-item{grid-template-columns:110px 16px 1fr auto;align-items:start;gap:17px;padding:24px;display:grid}.timeline-date{color:var(--muted);padding-top:5px;font-size:.78rem}.timeline-dot{background:var(--terracotta);border-radius:50%;width:11px;height:11px;margin-top:7px}.timeline-item h2{margin-bottom:7px;font-size:1.35rem}.timeline-item p{color:var(--muted);margin:0;line-height:1.6}.import-layout{grid-template-columns:1.2fr .8fr;gap:18px;display:grid}.import-panel,.review-explainer{padding:26px}.provider-status{background:#f8eee4;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:18px;padding:12px 14px;display:flex}.provider-status span{color:#91442b;align-items:center;gap:7px;font-size:.82rem;font-weight:750;display:flex}.provider-status small{color:var(--muted)}.drop-zone{text-align:center;cursor:pointer;background:#fafaf5;border:1.5px dashed #aebcaf;border-radius:15px;flex-direction:column;justify-content:center;align-items:center;min-height:260px;padding:28px;display:flex}.drop-zone:hover{background:var(--sage-soft)}.drop-zone.has-error{border-color:var(--danger)}.drop-zone>svg{color:var(--terracotta)}.drop-zone h2{word-break:break-word;margin:16px 0 7px;font-size:1.3rem}.drop-zone p{color:var(--muted);font-size:.82rem}.drop-zone input{opacity:0;pointer-events:none;position:absolute}.validation-result{color:#2f6f42;background:#eef7ee;border-radius:10px;gap:11px;margin-top:14px;padding:14px;display:flex}.validation-result div{flex-direction:column;gap:4px;display:flex}.validation-result span{color:var(--muted);font-size:.78rem;line-height:1.4}.consent-check{color:var(--muted);align-items:flex-start;gap:10px;margin:18px 0;font-size:.8rem;line-height:1.45;display:flex}.consent-check input{margin-top:3px}.review-explainer h2{margin:9px 0 24px;font-size:1.75rem}.review-step{grid-template-columns:34px 1fr;gap:12px;margin-bottom:20px;display:grid}.review-step>span{background:var(--sage-soft);border-radius:50%;place-items:center;width:30px;height:30px;font-weight:800;display:grid}.review-step p{color:var(--muted);margin:4px 0 0;font-size:.84rem;line-height:1.5}.demo-review{margin-top:18px;overflow:hidden}.demo-review article{grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:24px;display:grid}.demo-review article p{color:var(--muted);margin:7px 0 0;font-size:.82rem}.fact-label,.suggestion-label{border-radius:5px;margin-right:6px;padding:3px 6px;font-weight:750}.fact-label{background:var(--sage-soft);color:var(--ink)}.suggestion-label{background:var(--terracotta-soft);color:#9d4325}.settings-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.settings-panel{padding:26px}.settings-panel .panel-heading{margin-bottom:20px;padding:0 0 20px}.settings-panel .panel-heading>div{align-items:center;gap:10px;display:flex}.settings-panel .panel-heading h2{margin:0}.settings-panel>p{color:var(--muted);line-height:1.6}.settings-panel h3{margin-bottom:8px}.settings-actions{gap:10px;margin:24px 0;display:flex}.settings-panel hr{border:0;border-top:1px solid var(--line);margin:26px 0}.sidebar-signout{color:var(--ink-2);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:0;font-size:.85rem;font-weight:650;display:flex}.sidebar-signout:hover{color:var(--ink);text-decoration:underline}.import-offer{flex-wrap:wrap;align-items:center}.import-offer>div{flex:320px}.import-offer-actions{flex-wrap:wrap;gap:8px;margin:0;display:flex}.saved-chip{color:#2f6f42;align-items:center;gap:5px;font-size:.8rem;display:inline-flex}.roadmap-panel{background:var(--sage-soft);border-color:#c8d4c4;margin-top:18px;padding:28px}.roadmap-panel h2{margin:9px 0;font-size:1.65rem}.roadmap-panel p{color:var(--ink-2);margin:0;line-height:1.65}.modal-backdrop{z-index:100;background:#0f262080;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--paper);width:min(560px,100%);max-height:calc(100vh - 40px);box-shadow:var(--shadow);border-radius:20px;overflow:auto}.modal>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:21px 24px;display:flex}.modal>header h2{margin:0;font-size:1.55rem}.modal .form-stack{padding:24px}.form-stack{gap:17px;display:grid}.form-stack label,.form-stack fieldset{color:var(--ink);gap:7px;font-size:.82rem;font-weight:750;display:grid}.form-stack label small{color:var(--muted);font-weight:500}.form-stack input,.form-stack select,.form-stack textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #bdc7bf;border-radius:9px;padding:11px 12px}.form-stack textarea{resize:vertical}.form-stack input:disabled{color:var(--muted);background:#f1f1eb}.form-row{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.form-actions{justify-content:flex-end;gap:9px;margin-top:4px;display:flex}.form-error{color:var(--danger);background:#fff0ed;border-radius:8px;padding:10px 12px;font-size:.8rem;line-height:1.4}.form-warning,.form-note{color:var(--muted);align-items:flex-start;gap:7px;margin:0;font-size:.78rem;line-height:1.45;display:flex}.form-warning{color:var(--danger)}.form-stack fieldset{border:0;margin:0;padding:0}.color-options{flex-wrap:wrap;gap:8px;display:flex}.color-options label{border:1px solid var(--line);color:var(--muted);text-transform:capitalize;border-radius:9px;flex-direction:row;grid-template-columns:none;align-items:center;gap:7px;padding:8px 10px;font-weight:600;display:flex}.color-options input{width:auto}.color-options span{border-radius:5px;width:16px;height:16px}.loading-screen{min-height:100vh;color:var(--muted);align-content:center;place-items:center;gap:18px;display:grid}.mobile-nav,.mobile-more-menu,.mobile-more-backdrop{display:none}.planner-calendar{padding:22px 22px 10px;overflow:hidden}.planner-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.planner-view-toggle{background:#efebe1;border-radius:11px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:inline-grid}.planner-view-toggle button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px 16px;font-size:.85rem;font-weight:750}.planner-view-toggle button.active{color:var(--ink);background:#fff;box-shadow:0 2px 8px #123d3514}.planner-nav{align-items:center;gap:6px;display:flex}.planner-nav strong{text-align:center;letter-spacing:-.02em;min-width:170px;font-family:Georgia,serif;font-size:1.15rem}.planner-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.planner-day{border:1px solid var(--line);background:#fffcf7;border-radius:14px;flex-direction:column;min-height:220px;display:flex;overflow:hidden}.planner-day.is-today{border-color:var(--terracotta);box-shadow:0 0 0 1px #d36c4233,0 10px 24px #d36c4214}.planner-day-head{cursor:pointer;text-align:left;width:100%;color:var(--ink);background:#f6f3ea;border:0;align-items:baseline;gap:6px;padding:10px 10px 8px;display:flex}.planner-day.is-today .planner-day-head{background:var(--terracotta-soft)}.planner-day-head span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;font-weight:800}.planner-day-head strong{font-family:Georgia,serif;font-size:1.2rem}.planner-day-head em{color:var(--accent-text);text-transform:uppercase;letter-spacing:.05em;margin-left:auto;font-size:.65rem;font-style:normal;font-weight:850}.planner-day-body{flex:1;align-content:start;gap:5px;padding:8px;display:grid}.planner-chip{text-align:left;cursor:pointer;width:100%;font:inherit;color:var(--ink);border:1px solid #0000;border-radius:9px;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:6px;padding:7px 8px;transition:transform .14s,box-shadow .14s;display:grid}.planner-chip:hover{transform:translateY(-1px);box-shadow:0 6px 14px #123d3514}.planner-chip-dot{opacity:.55;background:currentColor;border-radius:50%;width:8px;height:8px}.planner-chip-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.74rem;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.planner-chip.is-done .planner-chip-title{color:var(--muted);text-decoration:line-through}.planner-chip.tone-sage{background:var(--sage-soft);color:var(--ink)}.planner-chip.tone-terracotta{background:var(--terracotta-soft);color:#9d4325}.planner-chip.tone-lavender{background:var(--lavender-soft);color:var(--lavender)}.planner-chip.tone-gold{background:var(--gold-soft);color:#986c29}.planner-chip.compact{white-space:nowrap;text-overflow:ellipsis;border-radius:6px;padding:3px 6px;font-size:.65rem;font-weight:700;display:block;overflow:hidden}.planner-empty-slot{color:var(--muted);cursor:pointer;background:0 0;border:1px dashed #c5d0c2;border-radius:9px;padding:10px 6px;font-size:.72rem;font-weight:650}.planner-empty-slot:hover{background:var(--sage-soft);color:var(--ink)}.planner-month-wrap{overflow-x:auto}.planner-month{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;min-width:0;display:grid}.planner-month-dow{text-align:center;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:4px 0 8px;font-size:.68rem;font-weight:850}.planner-month-cell{border:1px solid var(--line);text-align:left;cursor:pointer;min-height:102px;color:var(--ink);font:inherit;background:#fffcf7;border-radius:12px;flex-direction:column;align-items:stretch;gap:5px;padding:8px;display:flex}.planner-month-cell.is-outside{opacity:.42;background:#f7f5ef}.planner-month-cell.is-today{border-color:var(--terracotta);box-shadow:0 0 0 1px #d36c422e}.planner-month-cell.is-selected{background:#fff7f0}.planner-month-num{font-family:Georgia,serif;font-size:.95rem;font-weight:700}.planner-month-cell.is-today .planner-month-num{color:var(--accent-text)}.planner-month-dots{flex-wrap:wrap;align-items:center;gap:3px;display:none}.planner-month-dots i{border-radius:50%;width:7px;height:7px;display:inline-block}.planner-month-dots i.tone-sage{background:#7f9874}.planner-month-dots i.tone-terracotta{background:var(--terracotta)}.planner-month-dots i.tone-lavender{background:var(--lavender)}.planner-month-dots i.tone-gold{background:var(--gold)}.planner-month-dots i.is-done{opacity:.45}.planner-month-dots em{color:var(--muted);font-size:.62rem;font-style:normal;font-weight:750}.planner-month-chips{gap:3px;display:grid}.planner-more{color:var(--muted);font-size:.65rem;font-weight:750}.planner-day-list{margin-top:8px;display:none}.planner-list-day{border-top:1px solid var(--line);padding:16px 4px}.planner-list-day.is-today{background:linear-gradient(90deg,#fae5d759,#0000);border-radius:12px;padding-inline:12px}.planner-list-day header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.planner-list-day h2{margin:2px 0 0;font-size:1.25rem}.planner-list-day ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.planner-list-row{border:1px solid var(--line);cursor:pointer;text-align:left;width:100%;color:inherit;font:inherit;background:#fff;border-radius:12px;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.planner-list-row.is-done strong{color:var(--muted);text-decoration:line-through}.planner-list-copy{gap:2px;min-width:0;display:grid}.planner-list-copy strong{font-family:Georgia,serif;font-size:1rem}.planner-list-copy small{color:var(--muted)}.planner-list-empty{color:var(--muted);margin:0;font-size:.88rem}.auth-card{box-shadow:0 24px 60px #123d351a,inset 0 1px #fffc}.auth-tabs{background:#efebe1}.legal-page,.contact-page{background:var(--cream);background-image:var(--paper-texture);flex-direction:column;min-height:100vh;display:flex}.legal-main,.contact-main{flex:1;width:min(760px,100% - 40px);margin:0 auto;padding:48px 0 80px}.contact-main{width:min(680px,100% - 40px)}.legal-main h1,.contact-main h1{letter-spacing:-.045em;margin:10px 0 14px;font-size:clamp(2.4rem,4vw,3.4rem)}.legal-main .draft-banner,.contact-success{background:var(--terracotta-soft);color:var(--ink-2);border:1px solid #ecc5af;border-radius:12px;margin-bottom:22px;padding:14px 16px;line-height:1.5}.legal-prose{color:var(--ink-2);gap:14px;line-height:1.7;display:grid}.legal-prose h2{color:var(--ink);margin:12px 0 0;font-size:1.35rem}.contact-card{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-soft);border-radius:22px;padding:28px}.contact-card .form-stack{gap:15px}.hp-field{width:1px;height:1px;position:absolute;top:auto;left:-10000px;overflow:hidden}.contact-success-panel{text-align:center;justify-items:center;gap:10px;padding:36px 18px;display:grid}.contact-success-panel>span{background:var(--sage-soft);width:56px;height:56px;color:var(--ink);border-radius:16px;place-items:center;display:grid}.contact-success-panel h2{margin:0;font-size:1.8rem}.contact-success-panel p{color:var(--muted);max-width:420px;margin:0;line-height:1.55}.planner-legend{color:var(--muted);flex-wrap:wrap;gap:14px;font-size:.74rem;font-weight:700;display:flex}.planner-legend span{align-items:center;gap:6px;display:inline-flex}.planner-legend i{border-radius:4px;width:16px;height:11px;display:inline-block}.legend-lesson{background:var(--sage-soft);border:1px solid #c9d5c2}.legend-assignment{background:var(--paper);border:1.5px dashed #c98a6c}.planner-chip.assignment-chip{background:var(--paper);border:1.5px dashed;grid-template-columns:minmax(0,1fr);gap:3px}.assignment-chip-head{text-transform:uppercase;letter-spacing:.08em;opacity:.85;align-items:center;gap:4px;font-size:.56rem;font-weight:850;display:inline-flex}.planner-chip.assignment-chip.tone-sage{border-color:#8fa684}.planner-chip.assignment-chip.tone-terracotta{border-color:#e2a387}.planner-chip.assignment-chip.tone-lavender{border-color:#ada2c9}.planner-chip.assignment-chip.tone-gold{border-color:#d6b274}.planner-chip.assignment-chip.status-graded{opacity:.8;border-style:solid}.planner-chip.assignment-chip.status-graded .planner-chip-title{color:var(--muted);text-decoration:line-through}.planner-chip.compact.assignment-chip{display:block}.planner-chip.compact.assignment-chip svg{vertical-align:-1px}.planner-month-dots i.is-assignment{border-radius:1px;transform:rotate(45deg)scale(.9)}.planner-list-row.is-assignment{background:var(--paper);border-style:dashed}.status-chip.assignment-status.status-todo{color:var(--accent-text);background:#fff4ec;border-color:#f0c9b3}.status-chip.assignment-status.status-turned_in{color:#87601f;background:#fbf4e4;border-color:#e6d1a6}.status-chip.assignment-status.status-graded{color:#327245;background:#eef7ee;border-color:#bed9c1}.assignment-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.assignment-summary a{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow-soft);border-radius:14px;align-items:baseline;gap:10px;padding:16px 20px;transition:transform .14s,box-shadow .14s;display:flex}.assignment-summary a:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.assignment-summary strong{font-family:Georgia,serif;font-size:1.75rem;line-height:1}.assignment-summary span{color:var(--muted);font-size:.8rem;font-weight:750}.assignment-summary a.status-todo strong{color:var(--accent-text)}.assignment-summary a.status-turned_in strong{color:#986c29}.assignment-summary a.status-graded strong{color:#327245}.assignment-groups{gap:16px;display:grid}.assignment-group{scroll-margin-top:20px;overflow:hidden}.assignment-group-head{border-bottom:1px solid var(--line);background:linear-gradient(#f6f3ea,#f1eee5);align-items:center;gap:10px;padding:15px 22px;display:flex}.assignment-group-head h2{margin:0;font-size:1.2rem}.assignment-status-dot{background:var(--terracotta);border-radius:50%;flex:none;width:10px;height:10px}.assignment-group.status-turned_in .assignment-status-dot{background:var(--gold)}.assignment-group.status-graded .assignment-status-dot{background:#6f9a72}.assignment-count{text-align:center;border:1px solid var(--line);min-width:30px;color:var(--muted);background:#fff;border-radius:999px;margin-left:auto;padding:3px 9px;font-size:.75rem;font-weight:800}.assignment-list{margin:0;padding:0;list-style:none}.assignment-row{border-top:1px solid var(--line);grid-template-columns:44px minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:14px 22px;display:grid}.assignment-row:first-child{border-top:0}.assignment-row .subject-tile{border-radius:12px;width:44px;height:44px}.assignment-copy{gap:3px;min-width:0;display:grid}.assignment-copy strong{font-family:Georgia,serif;font-size:1.04rem}.assignment-copy small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.assignment-meta{white-space:nowrap;justify-items:end;gap:4px;font-size:.8rem;display:grid}.assignment-due{color:var(--ink-2);align-items:center;gap:5px;font-weight:750;display:inline-flex}.assignment-due.is-overdue{color:var(--danger)}.assignment-points{color:var(--muted)}.assignment-points strong{color:var(--ink)}.assignment-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.assignment-group-empty{color:var(--muted);margin:0;padding:18px 22px;font-size:.88rem}.assignment-group.status-graded .assignment-copy strong{color:var(--ink-2)}.assignments-hint{align-items:center}.record-grade-context{border:1px solid var(--line);background:#fbf9f3;border-radius:12px;align-items:center;gap:12px;margin:0;padding:12px 14px;display:flex}.record-grade-context>span:last-child{gap:2px;display:grid}.record-grade-context small{color:var(--muted);font-weight:500}.form-row.two{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:1060px){.hero-copy{max-width:780px}.dashboard-grid,.import-layout{grid-template-columns:1fr}.dashboard-aside{grid-template-columns:1fr 1fr}.plus-card{grid-column:1/-1}.card-grid,.course-grid,.grade-summary{grid-template-columns:repeat(2,1fr)}.site-footer-inner{grid-template-columns:1.2fr 1fr 1fr}.site-footer-inner .site-footer-col:last-child{grid-column:2/4}}@media (max-width:820px){.site-header nav,.header-actions .button-ghost{display:none}.trust-items{justify-content:space-between;gap:24px}.steps-grid,.feature-split,.settings-grid,.setup-welcome{grid-template-columns:1fr}.setup-welcome{gap:36px;padding-block:30px}.feature-split{gap:40px}.app-frame{padding-bottom:70px;display:block}.sidebar{display:none}.site-footer-inner{grid-template-columns:1fr 1fr;gap:28px}.site-footer-brand{grid-column:1/-1}.planner-week{display:none}.planner-day-list{display:grid}.planner-month-chips{display:none}.planner-month-dots{display:flex}.planner-month-cell{min-height:58px;padding:8px 6px}.planner-toolbar{flex-direction:column;align-items:stretch}.planner-nav{justify-content:space-between}.planner-nav strong{flex:1;min-width:0;font-size:1.05rem}.app-topbar{flex-wrap:wrap;justify-content:center;gap:8px;height:auto;min-height:142px;padding:10px 22px 12px}.mobile-brand{justify-content:center;align-items:center;width:100%;display:flex}.context-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;width:100%;display:grid}.context-controls label{min-height:58px;padding:7px 10px 5px;display:block}.context-controls label>span{margin:0 0 1px;font-size:.58rem;display:block}.context-controls select{width:100%;min-width:0;padding:0 24px 0 0}.app-content{padding:34px 24px 50px}.mobile-nav{z-index:50;border-top:1px solid var(--line);min-height:64px;padding-bottom:env(safe-area-inset-bottom);background:#fffdf8f5;grid-template-columns:repeat(11,minmax(0,1fr));display:grid;position:fixed;inset:auto 0 0}.mobile-nav a,.mobile-nav button{color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:.65rem;display:flex}.mobile-nav button{font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:.65rem}.mobile-nav a.active,.mobile-nav button.active{color:var(--accent-text)}.mobile-more-toggle{display:none!important}.mobile-nav a span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.assignment-row{grid-template-columns:44px minmax(0,1fr) auto;gap:10px 14px;padding:16px 20px}.assignment-actions{grid-column:2/-1}.lesson-table .table-head,.grade-table .table-head{display:none}.lesson-table .table-row,.grade-table .table-row{grid-template-columns:1fr auto;gap:10px;padding:18px}.table-row>span:before{content:attr(data-label);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px;font-size:.62rem;font-weight:800;display:block}.table-row>.row-actions{align-self:end}.setup-progress{grid-template-columns:1fr}.report-controls{grid-template-columns:1fr;align-items:stretch}.report-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-course{grid-template-columns:minmax(0,1fr) auto}.report-course dl{grid-column:1/-1}}@media (max-width:700px) and (min-width:621px){.mobile-nav a,.mobile-nav button{font-size:.56rem}}@media (max-width:620px){.shell{width:min(100% - 28px,1180px)}.mobile-nav{grid-template-columns:repeat(6,minmax(0,1fr))}.mobile-nav .tablet-only{display:none}.mobile-more-toggle{display:flex!important}.mobile-more-backdrop{z-index:48;background:#123d352e;display:block;position:fixed;inset:0}.mobile-more-menu{right:10px;bottom:calc(72px + env(safe-area-inset-bottom));z-index:49;border:1px solid var(--line);background:#fffdf8;border-radius:16px;gap:2px;min-width:230px;padding:8px;display:grid;position:fixed;box-shadow:0 18px 45px #123d352e}.mobile-more-menu a,.mobile-more-menu button{color:#35534b;min-height:46px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:0 12px;font-size:.93rem;font-weight:650;display:flex}.mobile-more-menu a.active{color:var(--ink);background:#e4eadf}.site-header{height:68px}.site-header .brand-logo{width:158px}.mobile-brand .brand-logo{width:164px}.site-header .button{padding:10px 11px;font-size:.75rem}.hero-actions .text-link{text-align:center}.section{padding-block:75px}.steps-grid,.pricing-grid,.card-grid,.course-grid,.grade-summary{grid-template-columns:1fr}.privacy-card{grid-template-columns:1fr;padding:30px 24px}.site-footer{padding-top:40px}.site-footer-inner{grid-template-columns:1fr;gap:28px;padding-bottom:28px}.site-footer-bottom{padding-bottom:24px}.planner-view-toggle{width:100%}.planner-calendar{padding:16px 14px 8px}.legal-main,.contact-main{width:min(100% - 28px,760px);padding-top:28px}.contact-card{padding:22px 18px}.app-topbar{padding-inline:14px}.app-content{padding:28px 15px 40px}.page-header{flex-direction:column;align-items:stretch}.page-header h1{font-size:2.7rem}.page-action .button,.page-action .button-group{width:100%}.page-action .button-group{grid-template-columns:1fr 1fr;display:grid}.dashboard-aside,.quick-links{grid-template-columns:1fr}.lesson-list{padding:0 16px}.lesson-row{grid-template-columns:44px minmax(0,1fr);gap:10px}.subject-tile{width:44px;height:44px}.lesson-row>.subject-tile{grid-row:1/3}.lesson-time{grid-area:2/2}.lesson-actions{border-top:1px solid var(--line);grid-column:1/-1;justify-content:flex-end;padding-top:8px}.panel-heading{align-items:flex-start;padding:20px 18px}.progress-label{text-align:right}.inline-banner>a{display:none}.timeline-item{grid-template-columns:70px 10px 1fr;padding:18px}.timeline-item>.icon-button{grid-column:3;justify-self:end}.provider-status{flex-direction:column;align-items:flex-start;gap:5px}.demo-review article{grid-template-columns:auto 1fr}.demo-review article .button{grid-column:1/-1}.form-row{grid-template-columns:1fr}.settings-actions{flex-direction:column}.setup-progress{padding:20px 17px}.setup-progress li{grid-template-columns:30px minmax(0,1fr)}.setup-progress li a{grid-column:2;justify-self:start}.report-date-fields,.report-stat-grid{grid-template-columns:1fr}.report-course{grid-template-columns:1fr;gap:16px}.report-grade{text-align:left}.report-course dl{grid-column:auto}.form-row.two{grid-template-columns:1fr}.assignment-summary{gap:8px}.assignment-summary a{flex-direction:column;align-items:flex-start;gap:4px;padding:12px 13px}.assignment-summary strong{font-size:1.45rem}.assignment-summary span{font-size:.7rem;line-height:1.25}.assignment-group-head{padding:14px 16px}.assignment-row{grid-template-columns:44px minmax(0,1fr);gap:10px 12px;padding:16px}.assignment-meta{grid-column:2;grid-auto-flow:column;justify-content:start;justify-items:start;gap:12px}.assignment-actions{border-top:1px solid var(--line);grid-column:1/-1;gap:4px;padding-top:10px}.assignment-actions .button.small{flex:auto;padding-inline:10px}.assignment-actions .button.small svg,.assignments-actions .button-ghost{display:none}.page-action .button-group.assignments-actions{grid-template-columns:1fr}.assignment-group-empty{padding:16px}.inline-banner.assignments-hint{flex-wrap:wrap}.inline-banner.assignments-hint>a{margin-left:31px;display:inline-block}}@media (pointer:coarse){.icon-button,.completion-button{min-width:40px;min-height:40px}.segmented button{min-height:40px}button.status-chip{min-height:40px;padding-inline:12px}.context-controls select{min-height:34px}.consent-check input{flex:none;width:22px;height:22px;margin-top:0}.site-header nav a,.inline-banner>a{margin-block:-12px;padding-block:12px}.sidebar-bottom>a,.sidebar-signout{margin-block:-10px;padding-block:10px}.site-header .button,.planner-view-toggle button,.planner-chip,.planner-empty-slot,.planner-list-row,.assignment-actions .button.small{min-height:40px}.assignment-summary a{min-height:44px}.site-footer-col a{margin-block:-6px;padding-block:10px}.site-footer-social a{width:42px;height:42px}}@media print{.sidebar,.app-topbar,.mobile-nav,.page-action,.inline-banner,.button,.icon-button,.report-controls{display:none!important}.app-frame{display:block}.app-content{max-width:none;padding:0}body{background:#fff}.panel{break-inside:avoid}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
