:root{--canvas:#eef5f1;--surface:#ffffffb8;--surface-soft:#e2f4ecad;--surface-warm:#fff6e2bd;--ink:#1c2b26;--muted:#6b7c75;--line:#aecabe85;--green-900:#173c32;--green-700:#2f7d68;--green-600:#3f927b;--green-100:#dff0e9;--amber:#d8922f;--danger:#a84242;--danger-soft:#fff0f0;--shadow:0 18px 44px #1c46391c, inset 0 1px 0 #ffffffc7;--radius:20px;--glass:#ffffffa3;--glass-strong:#ffffffd1;--glass-border:#ffffffc2;--glass-blur:blur(24px) saturate(155%)}*{box-sizing:border-box}html{background:var(--canvas)}body{color:var(--ink);-webkit-font-smoothing:antialiased;background-color:#0000;background-image:radial-gradient(circle at 8% 8%,#75bca057,#0000 29rem),radial-gradient(circle at 91% 4%,#f5c78d4d,#0000 30rem),radial-gradient(circle at 68% 88%,#7dcabb33,#0000 34rem),linear-gradient(145deg,#edf6f1 0%,#f8f8f3 48%,#f4eee3 100%);background-position:0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat;background-size:auto,auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.auth-page{background:linear-gradient(145deg,#e7f1ed 0%,#f8faf8 55%,#f3e5cc 100%);grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr);min-height:100svh;display:grid}.auth-visual{color:#fff;background:linear-gradient(#0c231c61 0%,#0c231c1f 42%,#0c231ccc 100%),url(/images/login-landscape.webp) 50%/cover no-repeat;flex-direction:column;justify-content:space-between;min-height:100svh;padding:clamp(40px,7vw,96px);display:flex;position:relative;overflow:hidden}.auth-brand,.auth-copy{z-index:1;position:relative}.auth-brand{letter-spacing:.12em;text-transform:uppercase;text-shadow:0 2px 18px #0819146b;font-size:15px;font-weight:800}.auth-copy{max-width:720px}.auth-copy h1{letter-spacing:-.045em;text-shadow:0 3px 24px #08191475;margin:0 0 20px;font-size:clamp(42px,5vw,74px);line-height:.98}.auth-copy p{color:#ffffffd1;max-width:600px;margin:0;font-size:clamp(17px,2vw,21px);line-height:1.65}.auth-form-wrap{place-items:center;padding:34px 34px 112px;display:grid;position:relative}.auth-card{-webkit-backdrop-filter:blur(26px)saturate(150%);backdrop-filter:blur(26px)saturate(150%);background:linear-gradient(145deg,#ffffffd1,#f8fcfa9e);border:1px solid #ffffffd1;border-radius:28px;width:min(440px,100%);padding:34px;box-shadow:0 28px 70px #1c423629,inset 0 1px #fff}.auth-card h2{letter-spacing:-.025em;margin:0 0 24px;font-size:30px}.auth-card>p{color:var(--muted);margin:0 0 26px;line-height:1.55}.login-submit-button{width:100%}.auth-contact-button{color:#fff;text-align:center;background:linear-gradient(145deg,#68b59df5,#3f9179f5);border:1px solid #ffffff94;border-radius:15px;justify-content:center;align-items:center;gap:10px;width:min(620px,100% - 68px);min-height:52px;margin:0 auto;padding:13px 20px;font-size:14px;font-weight:780;line-height:1.35;transition:transform .15s,box-shadow .15s,filter .15s;display:flex;position:absolute;inset:auto 34px 28px;box-shadow:0 14px 30px #2f7d682e,inset 0 1px #ffffff6b}.auth-contact-button:hover{transform:translateY(-2px);box-shadow:0 17px 34px #2f7d683d,inset 0 1px #ffffff80}.auth-contact-button:active{filter:brightness(.94);transform:translateY(1px)scale(.985)}.auth-contact-button svg{flex:none;width:19px;height:19px}.app-frame{background:radial-gradient(circle at 18% 18%,#ffffff8f,#0000 26rem),radial-gradient(circle at 82% 24%,#ffe2be3d,#0000 30rem),radial-gradient(circle at 70% 82%,#6bbc9f2b,#0000 28rem);min-height:100svh}.app-header{z-index:40;height:84px;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background:#ffffff96;border-bottom:1px solid #ffffffc2;grid-template-columns:260px 1fr auto;align-items:center;gap:20px;padding:0 28px;display:grid;position:sticky;inset:0 0 auto;box-shadow:0 10px 34px #23483c14,inset 0 -1px #adccbf33}.app-header:before{content:"";background:linear-gradient(90deg,#2f7d68f0,#78ad91b8 55%,#dca052d1);height:3px;position:absolute;inset:0 0 auto;box-shadow:0 1px 8px #ffffff94}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand-mark{color:#fff;background:linear-gradient(145deg,#3c9a7f,#226d5a);border:1px solid #ffffff8a;border-radius:14px;flex:none;place-items:center;width:43px;height:43px;display:grid;box-shadow:0 10px 24px #2369563d,inset 0 1px #ffffff6b}.brand strong{color:var(--green-900);font-size:18px;line-height:1.05;display:block}.brand span{color:var(--muted);letter-spacing:.15em;text-transform:uppercase;margin-top:4px;font-size:9px;font-weight:800;display:block}.header-leaves{color:#9b6738;letter-spacing:.25em;opacity:.72;white-space:nowrap;justify-self:center;font-size:18px}.header-user{align-items:center;gap:12px;display:flex}.privacy-toggle{border-radius:50%;width:38px;height:38px;padding:0}.privacy-toggle svg{width:18px;height:18px}.user-copy{text-align:right}.user-copy strong,.user-copy span{display:block}.user-copy strong{font-size:13px}.user-copy span{color:var(--muted);margin-top:3px;font-size:11px}.avatar{width:38px;height:38px;color:var(--green-900);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#dff0e9b3;border:1px solid #ffffffd1;border-radius:50%;place-items:center;font-weight:800;display:grid;box-shadow:0 7px 18px #2353441a,inset 0 1px #fff}.app-body{grid-template-columns:242px minmax(0,1fr);min-height:calc(100svh - 84px);display:grid}.sidebar{-webkit-backdrop-filter:blur(26px)saturate(150%);backdrop-filter:blur(26px)saturate(150%);background:#fafdfb7a;border-right:1px solid #ffffffb8;height:calc(100svh - 84px);padding:24px 18px;position:sticky;top:84px;box-shadow:12px 0 34px #294e410e,inset -1px 0 #9fc2b324}.nav-list{gap:7px;display:grid}.nav-link{color:#53655e;transform-origin:50%;border-radius:12px;align-items:center;gap:12px;padding:12px 13px;font-size:14px;font-weight:650;transition:transform .16s,box-shadow .16s,filter .16s,background-color .16s,color .16s;display:flex}.nav-link:hover{color:var(--green-700);background:#ebf7f1ad;box-shadow:inset 0 1px #ffffffb8}.nav-link.active{color:#fff;background:linear-gradient(145deg,#3f927bf5,#256f5bf5);border:1px solid #ffffff57;box-shadow:0 11px 25px #2f7d6838,inset 0 1px #ffffff4d}.nav-link:active{filter:brightness(.92);transition-duration:45ms;transform:translateY(2px)scale(.97);box-shadow:inset 0 3px 7px #14302833}.nav-link svg{width:19px;height:19px}.sidebar-note{color:#6a5a44;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fff7e5ad;border:1px solid #ffffffc2;border-radius:16px;padding:15px;font-size:12px;line-height:1.5;position:absolute;inset:auto 18px 22px;box-shadow:0 12px 28px #634c2d14,inset 0 1px #fff}.teacher-sidebar-pet{aspect-ratio:1206/1442;pointer-events:none;opacity:.88;-webkit-mask-composite:source-in;height:auto;position:absolute;inset:auto 12px 98px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 18% 82%,#0000 100%),linear-gradient(#0000 0%,#000 16% 84%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 18% 82%,#0000 100%),linear-gradient(#0000 0%,#000 16% 84%,#0000 100%);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-composite:source-in;mask-composite:intersect}.teacher-sidebar-pet:after{content:"";background:linear-gradient(#f4faf714,#0000 24% 76%,#f4faf724);position:absolute;inset:0}.teacher-sidebar-pet img{object-fit:contain;object-position:center;filter:saturate(.96)contrast(.98)brightness(1.01);width:100%;height:100%;display:block}.main-content{min-width:0;padding:30px clamp(22px,4vw,52px) 60px}.content-width{width:min(1280px,100%);margin:0 auto}.page-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.page-heading h1{letter-spacing:-.035em;margin:0;font-size:clamp(28px,3vw,38px)}.page-heading p{color:var(--muted);margin:8px 0 0;line-height:1.55}.eyebrow{color:var(--green-700);letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:850;display:block}.grid{align-items:stretch;gap:18px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background:linear-gradient(145deg,#ffffffc9,#f7fcf996);padding:22px}.card+.card{margin-top:18px}.grid>.card{align-self:stretch;margin-top:0}.card-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.card h2,.card h3{letter-spacing:-.02em;margin:0}.card h2{font-size:20px}.card h3{font-size:17px}.card-subtitle{color:var(--muted);margin:5px 0 0;font-size:13px}.metric-card{border:1px solid var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background:linear-gradient(145deg,#ffffffc2,#f5fbf891);border-radius:19px;padding:20px;box-shadow:0 16px 38px #1e3e3417,inset 0 1px #ffffffe6}.metric-icon{width:38px;height:38px;color:var(--green-700);background:#e2f4ec9e;border:1px solid #ffffffb8;border-radius:12px;place-items:center;margin-bottom:18px;display:grid;box-shadow:inset 0 1px #ffffffdb}.metric-icon svg{width:19px;height:19px}.metric-value{letter-spacing:-.035em;font-size:clamp(25px,2.5vw,31px);font-weight:820}.metric-label{color:var(--muted);margin-top:5px;font-size:13px}.teacher-contact-preview{background:#e7f6ef94;border:1px solid #ffffffc7;border-radius:17px;padding:20px;box-shadow:inset 0 1px #ffffffdb}.teacher-contact-preview .eyebrow{margin-bottom:10px}.teacher-contact-preview strong{font-size:20px;display:block}.teacher-contact-preview p{color:var(--muted);margin:8px 0 0}.teacher-contact-preview blockquote{color:#52675f;background:#ffffff94;border-left:3px solid #3f927b8c;border-radius:0 12px 12px 0;margin:16px 0 0;padding:13px 15px;font-size:13px;line-height:1.55}.sensitive-value{white-space:nowrap;display:inline-block;position:relative}.financial-values-hidden .sensitive-value{-webkit-user-select:none;user-select:none;color:#0000!important;text-shadow:none!important}.financial-values-hidden .sensitive-value:after{content:"••••••";color:var(--ink);letter-spacing:.08em;align-items:center;display:flex;position:absolute;inset:0 auto 0 0}.financial-values-hidden .sensitive-input,.financial-values-hidden .sensitive-control{filter:blur(6px);-webkit-user-select:none;user-select:none}.billing-card-preview{position:relative}.financial-values-hidden .billing-card-preview canvas{filter:blur(18px);opacity:.16}.financial-values-hidden .billing-card-preview:after{content:"Valores ocultos";color:var(--green-900);letter-spacing:.02em;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f4faf7b8;place-items:center;font-weight:800;display:grid;position:absolute;inset:0}.button{cursor:pointer;transform-origin:50%;border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 15px;font-size:13px;font-weight:750;transition:transform .15s,box-shadow .15s,filter .15s,background-color .15s,border-color .15s;display:inline-flex}.button svg{width:17px;height:17px}.button:hover{transform:translateY(-1px)}.button:active:not(:disabled){filter:brightness(.91);transition-duration:45ms;transform:translateY(2px)scale(.96);box-shadow:inset 0 3px 7px #14302838}.button:disabled{opacity:.58;cursor:wait;transform:none}.button-primary{color:#fff;background:linear-gradient(145deg,#419a82fa,#26705dfa);border-color:#ffffff4d;box-shadow:0 9px 21px #2f7d6833,inset 0 1px #ffffff4f}.button-primary:hover{background:linear-gradient(145deg,#4aa98e,#2f7d68);box-shadow:0 12px 25px #2f7d683d,inset 0 1px #ffffff61}.button-secondary{color:var(--green-700);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#e7f6efad;border-color:#fffc;box-shadow:0 7px 18px #23534414,inset 0 1px #fff}.button-ghost{color:#50635c;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff9e;border-color:#fffc;box-shadow:0 7px 18px #23534411,inset 0 1px #fff}.button-danger{color:var(--danger);background:var(--danger-soft);border-color:#f3d0d0}.button-small{min-height:34px;padding:7px 10px;font-size:12px}.form-card{max-width:920px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.field{min-width:0}.field-full{grid-column:1/-1}.field label{color:#34473f;margin-bottom:7px;font-size:13px;font-weight:750;display:block}.field label svg{vertical-align:-2px;margin-right:4px}.field small{color:var(--muted);margin-top:6px;line-height:1.4;display:block}.input,.select,.textarea{width:100%;color:var(--ink);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff94;border:1px solid #ffffffd1;border-radius:12px;outline:none;transition:all .15s;box-shadow:inset 0 1px #ffffffeb,0 5px 16px #264b3e0b}.input,.select{height:44px;padding:0 12px}.textarea{resize:vertical;min-height:100px;padding:12px}.input:focus,.select:focus,.textarea:focus{background:#ffffffd6;border-color:#3f927bb8;box-shadow:0 0 0 3px #3f927b1f,inset 0 1px #fff,0 9px 24px #2f7d6814}.password-input-wrap{position:relative}.password-input-wrap .input{padding-right:48px}.password-visibility-button{width:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;padding:0;transition:color .15s,background-color .15s,transform .1s;display:grid;position:absolute;inset:4px 4px 4px auto}.password-visibility-button:hover{color:var(--green-700);background:var(--surface-soft)}.password-visibility-button:active{transform:translateY(1px)scale(.92)}.password-visibility-button:focus-visible{outline:2px solid var(--green-600);outline-offset:1px}.password-visibility-button svg{width:18px;height:18px}.form-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;margin-top:22px;padding-top:20px;display:flex}.form-error{color:#863939;background:var(--danger-soft);border:1px solid #f0cccc;border-radius:11px;margin:0 0 18px;padding:11px 13px;font-size:13px}.table-wrap{margin:-4px;padding:4px;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:720px}.data-table th,.data-table td{text-align:left;border-bottom:1px solid #e8eeeb;padding:13px 12px}.data-table th{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:800}.data-table td{font-size:13px}.data-table tbody tr:hover{background:#eff8f494}.data-table tbody tr:last-child td{border-bottom:0}.student-cell{align-items:center;gap:11px;display:flex}.initials{width:34px;height:34px;color:var(--green-900);background:var(--green-100);border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:850;display:grid}.student-cell strong,.student-cell span{display:block}.student-cell span{color:var(--muted);margin-top:3px;font-size:11px}.table-actions{justify-content:flex-end;gap:7px;display:flex}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:5px 9px;font-size:11px;font-weight:800;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge-paid,.badge-active{color:#26745e;background:#e5f5ee}.badge-pending{color:#9b631d;background:#fff4df}.badge-overdue{color:#a64444;background:#ffeded}.badge-inactive,.badge-cancelled{color:#697771;background:#eef1f0}.toolbar{justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.toolbar-group{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.month-input{width:170px}.empty-state{text-align:center;color:var(--muted);padding:42px 24px}.empty-state svg{color:#91aaa0;width:32px;height:32px;margin-bottom:10px}.empty-state strong{color:var(--ink);margin-bottom:5px;display:block}.inline-note{color:#64533c;background:var(--surface-warm);border:1px solid #f0dfc0;border-radius:12px;padding:14px 15px;font-size:13px;line-height:1.55}.donut-wrap{align-items:center;gap:28px;min-height:220px;display:flex}.donut{--paid:0deg;aspect-ratio:1;background:conic-gradient(var(--green-700) var(--paid), #e7d39e var(--paid));border-radius:50%;flex:none;place-items:center;width:154px;display:grid;position:relative}.donut:after{content:"";aspect-ratio:1;background:#fff;border-radius:50%;width:104px;position:absolute}.donut-center{z-index:1;text-align:center;position:relative}.donut-center strong,.donut-center span{display:block}.donut-center strong{font-size:25px}.donut-center span{color:var(--muted);margin-top:2px;font-size:11px}.legend{flex:1;gap:12px;display:grid}.legend-row{justify-content:space-between;align-items:center;gap:18px;font-size:13px;display:flex}.legend-label{color:var(--muted);align-items:center;gap:8px;display:flex}.legend-dot{background:var(--green-700);border-radius:50%;width:9px;height:9px}.legend-dot.pending{background:#e7d39e}.quick-actions{gap:10px;display:grid}.quick-action{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transform-origin:50%;background:#ffffff8a;border:1px solid #ffffffc7;border-radius:14px;align-items:center;gap:13px;padding:14px;transition:transform .15s,box-shadow .15s,filter .15s,background-color .15s,border-color .15s;display:flex;box-shadow:inset 0 1px #ffffffdb,0 8px 22px #2353440e}.quick-action:hover{background:var(--surface-soft);border-color:#bed9cf;transform:translateY(-1px)}.quick-action:active{filter:brightness(.94);transition-duration:45ms;transform:translateY(2px)scale(.98);box-shadow:inset 0 3px 7px #14302829}.quick-action-icon{width:38px;height:38px;color:var(--green-700);background:var(--surface-soft);border-radius:11px;place-items:center;display:grid}.quick-action strong,.quick-action span{display:block}.quick-action strong{font-size:13px}.quick-action span{color:var(--muted);margin-top:3px;font-size:11px}.detail-list{gap:0;display:grid}.detail-row{border-bottom:1px solid #e8eeeb;grid-template-columns:minmax(130px,.7fr) minmax(0,1.3fr);gap:18px;padding:12px 0;font-size:13px;display:grid}.detail-row:last-child{border-bottom:0}.detail-row dt{color:var(--muted)}.detail-row dd{margin:0;font-weight:650}.notes{white-space:pre-wrap;color:#485b53;line-height:1.65}.level-chip{color:#276955;background:#e4f4ed;border:1px solid #c8e6da;border-radius:999px;justify-content:center;align-items:center;min-width:42px;min-height:34px;padding:7px 10px;font-size:12px;font-weight:850;display:inline-flex}.access-card{background:linear-gradient(145deg,#fff 0%,#f2faf6 100%)}.access-status{white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:7px 10px;font-size:11px;font-weight:800;display:inline-flex}.access-status:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.access-status.active{color:#26745e;background:#e5f5ee}.access-status.pending{color:#9b631d;background:#fff4df}.invite-box{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff94;border:1px solid #ffffffc7;border-radius:14px;justify-content:space-between;align-items:center;gap:18px;padding:16px;display:flex;box-shadow:inset 0 1px #fff}.invite-box strong,.invite-box span{display:block}.invite-box span{color:var(--muted);margin-top:4px;font-size:12px}.invite-copy{align-items:center;gap:8px;display:flex}.invite-copy .input{width:min(360px,42vw)}.recommendation-form{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f8fbfa8f;border:1px solid #ffffffc7;border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:18px;display:grid;box-shadow:inset 0 1px #fff}.recommendation-list{gap:10px;margin-top:20px;display:grid}.recommendation-item{background:#ffffff73;border:1px solid #ffffffc2;border-radius:15px;justify-content:space-between;align-items:flex-start;gap:20px;padding:16px;display:flex;box-shadow:inset 0 1px #ffffffd1}.recommendation-item p{color:var(--muted);margin:8px 0 0;font-size:13px;line-height:1.55}.recommendation-item a,.student-recommendation a{color:var(--green-700);align-items:center;gap:5px;margin-top:10px;font-size:13px;font-weight:750;display:inline-flex}.skill-pill{color:#276955;white-space:nowrap;background:#e5f5ee;border:1px solid #cde8dc;border-radius:999px;align-items:center;gap:6px;min-height:34px;padding:7px 10px;font-size:11px;font-weight:800;display:inline-flex}.student-frame .main-content{background:linear-gradient(#f4faf794,#f9f8f29e),url(/student-books-background.jpg) 50%/cover no-repeat fixed}.student-hero-card{color:#fff;-webkit-backdrop-filter:blur(24px)saturate(150%);backdrop-filter:blur(24px)saturate(150%);background:linear-gradient(135deg,#195c49f7 0%,#32846bf0 58%,#64a687e0 100%);border:1px solid #ffffff6b;border-radius:24px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:clamp(26px,4vw,42px);display:grid;position:relative;overflow:hidden;box-shadow:0 22px 52px #1e5c4b3b,inset 0 1px #ffffff57}.student-hero-card:before{content:"";filter:blur(8px);background:linear-gradient(#ffffff57,#fff0);border-radius:50%;height:115%;position:absolute;inset:-55% -15% auto 22%;transform:rotate(-8deg)}.student-hero-card:after{content:"";aspect-ratio:1;border:42px solid #ffffff17;border-radius:50%;width:260px;position:absolute;inset:auto -80px -145px auto;box-shadow:0 0 55px #ffffff14}.student-hero-card>*{z-index:1;position:relative}.student-hero-card .eyebrow{color:#d9f0e7}.student-hero-card h2{letter-spacing:-.035em;max-width:760px;margin:0;font-size:clamp(25px,3vw,38px);line-height:1.12}.student-hero-card p{color:#ffffffc7;max-width:680px;margin:14px 0 22px;line-height:1.6}.student-hero-card .button-primary{color:#215b4b;background:#ffffffdb;border-color:#ffffff9e;box-shadow:0 10px 26px #11463729,inset 0 1px #fff}.student-hero-mark{aspect-ratio:1;color:#ffffffc7;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff1f;border:1px solid #ffffff47;border-radius:50%;place-items:center;width:clamp(84px,10vw,132px);display:grid;box-shadow:inset 0 1px #ffffff3d,0 14px 38px #14493a1f}.student-hero-mark svg{width:46%;height:46%}.student-recommendations{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.student-recommendation{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(145deg,#fffdf8bf,#f5faf78f);border:1px solid #ffffffc7;border-radius:17px;min-height:168px;padding:19px;box-shadow:0 11px 30px #224a3c12,inset 0 1px #fff}.recommendation-topline{color:var(--green-700);letter-spacing:.1em;text-transform:uppercase;margin-bottom:11px;font-size:10px;font-weight:850}.student-recommendation h3{font-size:17px}.student-recommendation p{color:var(--muted);margin:9px 0 0;font-size:13px;line-height:1.55}.student-featured-recommendations{background:linear-gradient(145deg,#ffffffc4,#ecf8f28f);border-color:#ffffffc7;margin:0 0 18px;box-shadow:0 20px 48px #1b4d401c,inset 0 1px #fff}.student-featured-recommendations .student-recommendations{grid-template-columns:minmax(0,1fr)}.student-featured-recommendation{background:#ffffff94;border-color:#ffffffc7;min-height:0}.student-featured-recommendation h3{font-size:21px}.student-recommendation-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.student-recommendation-actions .button,.student-recommendation>.button{width:fit-content;text-decoration:none}.recommendation-image{object-fit:contain;border:1px solid var(--line);background:#f5f8f6;border-radius:14px;width:100%;max-height:560px;margin-top:18px;display:block}.recent-practice{justify-content:space-between;align-items:center;gap:16px;display:flex}.recent-practice strong,.recent-practice span{display:block}.recent-practice span{color:var(--muted);margin-top:5px;font-size:12px}.practice-builder{max-width:980px}.practice-choice-fieldset{border:0;padding:0}.practice-choice-fieldset legend{color:#34473f;margin-bottom:7px;font-size:13px;font-weight:750}.practice-choice-fieldset legend svg{vertical-align:-2px;margin-right:4px}.practice-choice-help{color:var(--muted);margin:0 0 11px;font-size:12px;line-height:1.5}.practice-choice-options{gap:9px;display:grid}.practice-level-options{grid-template-columns:repeat(4,minmax(0,1fr))}.practice-time-options{grid-template-columns:repeat(5,minmax(0,1fr))}.practice-choice{cursor:pointer;position:relative}.practice-choice input{opacity:0;pointer-events:none;position:absolute}.practice-choice span{color:#52645d;-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);text-align:center;background:#ffffff8c;border:1px solid #fffc;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;min-height:70px;padding:11px 8px;transition:all .15s;display:flex;box-shadow:inset 0 1px #fff,0 7px 18px #224a3c0d}.practice-choice strong,.practice-choice small{display:block}.practice-choice strong{font-size:15px}.practice-choice small{color:var(--muted);margin-top:4px;font-size:10px}.practice-choice input:checked+span{color:#fff;background:var(--green-700);border-color:var(--green-700);transform:translateY(-1px);box-shadow:0 9px 20px #2f7d6833}.practice-choice input:checked+span small{color:#ffffffc7}.practice-choice input:focus-visible+span{outline-offset:2px;outline:3px solid #3f927b40}.practice-mode-note{align-items:center;gap:8px;margin-bottom:16px;display:flex}.skill-fieldset{border:0;padding:0}.skill-fieldset legend{color:#34473f;margin-bottom:9px;font-size:13px;font-weight:750}.skill-fieldset legend svg{vertical-align:-2px;margin-right:4px}.skill-options{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;display:grid}.skill-option{cursor:pointer;position:relative}.skill-option input{opacity:0;pointer-events:none;position:absolute}.skill-option span{color:#52645d;-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);text-align:center;background:#ffffff8c;border:1px solid #fffc;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;min-height:80px;padding:12px 8px;transition:all .15s;display:flex;box-shadow:inset 0 1px #fff,0 7px 18px #224a3c0d}.skill-option strong,.skill-option small{display:block}.skill-option strong{font-size:12px}.skill-option small{color:var(--muted);margin-top:4px;font-size:10px}.skill-option input:checked+span{color:#fff;background:var(--green-700);border-color:var(--green-700);box-shadow:0 9px 20px #2f7d6833}.skill-option input:checked+span small{color:#ffffffb8}.skill-option input:focus-visible+span{outline-offset:2px;outline:3px solid #3f927b40}.practice-activities{gap:14px;display:grid}.activity-card{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:18px;display:grid}.activity-card+.activity-card{margin-top:0}.activity-number{color:#9a7544;letter-spacing:.08em;font-size:12px;font-weight:850}.activity-card h2{margin:0 0 8px}.activity-card p{color:var(--muted);margin:0;line-height:1.65}.activity-card>svg{color:#7da693}.practice-finish{background:#f0f8f4;border-color:#d2e8de;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin-top:18px;display:grid}.practice-finish>svg{color:var(--green-700)}.practice-finish h2,.practice-finish p{margin:0}.practice-finish p{color:var(--muted);margin-top:5px;font-size:13px}.practice-question-card{max-width:900px}.practice-question-topline{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;font-size:12px;font-weight:750;display:flex}.practice-question-card>h2{font-size:clamp(23px,3vw,31px)}.practice-prompt{color:#34473f;margin:14px 0 20px;font-size:16px;line-height:1.65}.reading-passage{background:#f5faf799;border:1px solid #ffffffc7;border-radius:14px;margin-top:18px;padding:18px;box-shadow:inset 0 1px #ffffffd9}.reading-passage strong{color:var(--green-700);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.reading-passage p{margin:9px 0 0;font-size:15px;line-height:1.75}.answer-fieldset{border:0;padding:0}.answer-options{gap:10px;display:grid}.answer-option{cursor:pointer;position:relative}.answer-option input{opacity:0;pointer-events:none;position:absolute}.answer-option span{color:#40534b;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff85;border:1px solid #fffc;border-radius:12px;align-items:center;min-height:50px;padding:13px 15px;transition:all .15s;display:flex;box-shadow:inset 0 1px #fff}.answer-option span:before{content:"";border:2px solid #9aaba4;border-radius:50%;width:17px;height:17px;margin-right:11px;box-shadow:inset 0 0 0 4px #fbfdfc}.answer-option input:checked+span{color:var(--green-900);border-color:var(--green-600);background:#edf7f3}.answer-option input:checked+span:before{background:var(--green-700);border-color:var(--green-700)}.answer-option input:focus-visible+span{outline-offset:2px;outline:3px solid #3f927b40}.practice-answer{min-height:150px}.practice-feedback{border:1px solid;border-radius:12px;gap:10px;margin-top:16px;padding:14px;display:flex}.practice-feedback svg{flex:none;width:19px;height:19px}.practice-feedback strong,.practice-feedback span{display:block}.practice-feedback span{margin-top:4px;font-size:12px;line-height:1.5}.practice-feedback-correct{color:#23624f;background:#edf8f3;border-color:#c9e8da}.practice-feedback-review{color:#8a5630;background:#fff7ec;border-color:#eed6b5}.practice-feedback-saved{color:#385d70;background:#eff8fc;border-color:#cfe3ec}.practice-result-list{gap:14px;display:grid}.practice-result-question{max-width:980px}.practice-result-question h2{margin-top:0}.practice-result-question h3{margin:20px 0 8px;font-size:13px}.insight-list{color:#40534b;gap:9px;margin:14px 0 0;padding-left:20px;line-height:1.55;display:grid}.pedagogical-summary>.card-header svg{color:var(--green-700)}.pedagogical-student-list{gap:18px;display:grid}.pedagogical-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.pedagogical-panel{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid #ffffffc2;border-radius:15px;padding:18px;box-shadow:inset 0 1px #ffffffd9}.pedagogical-panel-positive{background:#edf8f399;border-color:#ffffffc2}.pedagogical-panel-review{background:#fff7eba3;border-color:#ffffffc2}.pedagogical-panel h3{align-items:center;gap:8px;margin:0;font-size:15px;display:flex}.pedagogical-panel h3 svg{width:18px;height:18px}.pedagogical-panel-positive h3{color:#24634f}.pedagogical-panel-review h3{color:#855b30}.pedagogical-panel>p{color:var(--muted);margin:14px 0 0;line-height:1.55}.pedagogical-list{gap:10px;margin:14px 0 0;padding:0;list-style:none;display:grid}.pedagogical-list li{gap:3px;display:grid}.pedagogical-list strong{font-size:14px}.pedagogical-list span{color:var(--muted);font-size:12px;line-height:1.45}.history-list{gap:9px;display:grid}.history-item{background:#ffffff6b;border:1px solid #ffffffc2;border-radius:15px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:14px;display:grid;box-shadow:inset 0 1px #ffffffd6}.history-icon{width:40px;height:40px;color:var(--green-700);background:var(--surface-soft);border-radius:12px;place-items:center;display:grid}.history-icon svg{width:19px}.history-copy strong,.history-copy span,.history-copy small{display:block}.history-copy span{color:#53655e;margin-top:4px;font-size:12px}.history-copy small{color:var(--muted);margin-top:3px;font-size:10px}.student-profile-hero{color:#fff;-webkit-backdrop-filter:blur(22px)saturate(150%);backdrop-filter:blur(22px)saturate(150%);background:linear-gradient(135deg,#1d604cf7,#3a8f74e8);border:1px solid #ffffff6b;border-radius:22px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:24px;display:grid;position:relative;overflow:hidden;box-shadow:0 20px 46px #1e5c4b38,inset 0 1px #ffffff57}.student-profile-hero:after{content:"";filter:blur(7px);pointer-events:none;background:linear-gradient(#ffffff4d,#0000);border-radius:50%;height:125%;position:absolute;inset:-65% -12% auto 32%;transform:rotate(-8deg)}.student-profile-hero>*{z-index:1;position:relative}.student-profile-icon{color:#256b58;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffdb;border:1px solid #ffffffb3;border-radius:16px;place-items:center;width:58px;height:58px;display:grid;box-shadow:0 9px 24px #124b3a24,inset 0 1px #fff}.student-profile-icon svg{width:27px;height:27px}.student-profile-hero .eyebrow{color:#d6f0e6;margin-bottom:6px}.student-profile-hero h2{margin:0;font-size:clamp(24px,3vw,34px)}.student-profile-hero p{color:#ffffffc7;margin:7px 0 0}.student-profile-hero .access-status{color:#1f624f;background:#ffffffdb;border:1px solid #ffffffa8;box-shadow:inset 0 1px #fff}.level-demo-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.level-demo-card{background:#f7fbf985;border:1px solid #ffffffc2;border-radius:14px;padding:16px;box-shadow:inset 0 1px #fff}.level-demo-card span,.level-demo-card strong,.level-demo-card small{display:block}.level-demo-card span{color:var(--green-700);font-size:17px;font-weight:850}.level-demo-card strong{margin-top:8px;font-size:13px}.level-demo-card small{color:var(--muted);margin-top:4px}.report-print-heading{display:none}.dialog-backdrop{z-index:100;-webkit-backdrop-filter:blur(10px)saturate(120%);backdrop-filter:blur(10px)saturate(120%);background:#12201b6b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dialog-card{-webkit-backdrop-filter:blur(28px)saturate(145%);backdrop-filter:blur(28px)saturate(145%);background:linear-gradient(145deg,#ffffffe0,#f4faf7b8);border:1px solid #ffffffd1;border-radius:22px;width:min(520px,100%);max-height:calc(100svh - 40px);padding:24px;overflow-y:auto;box-shadow:0 30px 90px #12201b47,inset 0 1px #fff}.dialog-title{gap:12px;display:flex}.dialog-title>span{width:42px;height:42px;color:var(--green-700);background:var(--surface-soft);border-radius:12px;flex:none;place-items:center;display:grid}.student-route-loading{gap:18px;padding-top:3px;display:grid}.student-route-loading-head,.student-route-loading-card{background:#e7efeb;border-radius:14px;position:relative;overflow:hidden}.student-route-loading-head{width:min(520px,78%);height:74px}.student-route-loading-card{border:1px solid var(--line);min-height:180px}.student-route-loading-head:after,.student-route-loading-card:after{content:"";background:linear-gradient(90deg,#0000,#ffffffb8,#0000);animation:1.15s ease-in-out infinite student-loading-shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes student-loading-shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.button,.nav-link,.quick-action{transition:none}.student-route-loading-head:after,.student-route-loading-card:after{animation:none}}.invite-page{background:linear-gradient(145deg,#e8f4ef 0%,#f8faf8 56%,#f5e7cf 100%);place-items:center;min-height:100svh;padding:24px;display:grid}.invite-card{width:min(520px,100%)}.invite-card h1{letter-spacing:-.04em;margin:0 0 12px;font-size:clamp(30px,5vw,43px)}.invite-icon{color:#fff;background:var(--green-700);border-radius:16px;place-items:center;width:54px;height:54px;margin-bottom:20px;display:grid;box-shadow:0 12px 24px #2f7d6838}.invite-login{color:var(--muted);text-align:center;margin:17px 0 0;font-size:12px}.invite-login a{color:var(--green-700);font-weight:800}@media (max-width:1050px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.app-body{grid-template-columns:84px minmax(0,1fr)}.sidebar{padding-inline:12px}.nav-link{justify-content:center;padding:13px}.nav-link span,.sidebar-note,.teacher-sidebar-pet{display:none}}@media (max-height:760px) and (min-width:1051px){.teacher-sidebar-pet{display:none}}@media (max-width:760px){.auth-page{grid-template-columns:1fr}.auth-visual{display:none}.auth-form-wrap{flex-direction:column;justify-content:center;gap:18px;min-height:100svh;padding:22px;display:flex}.auth-card{padding:26px}.auth-contact-button{width:min(440px,100%);min-height:50px;margin:0;position:static}.app-header{grid-template-columns:1fr auto;height:74px;padding:0 16px}.header-leaves,.user-copy{display:none}.app-body{display:block}.sidebar{z-index:50;border:1px solid var(--line);border-radius:16px;height:auto;padding:7px;position:fixed;inset:auto 10px 10px;box-shadow:0 15px 45px #1e3e3433}.nav-list{grid-template-columns:repeat(4,1fr);gap:4px}.nav-link{padding:10px}.main-content{padding:24px 16px 106px}.student-frame .main-content{background-position:bottom;background-attachment:scroll}.grid-2,.grid-3,.grid-4,.form-grid{grid-template-columns:1fr}.field-full{grid-column:auto}.page-heading{flex-direction:column;align-items:stretch}.page-heading .button{width:100%}.toolbar{flex-direction:column;align-items:stretch}.toolbar-group{width:100%}.month-input{flex:1;width:auto}.donut-wrap{flex-direction:column;align-items:flex-start}.form-actions{flex-direction:column-reverse}.form-actions .button{width:100%}.student-header .header-user{gap:6px}.student-header .level-chip{display:none}.invite-box,.recommendation-item,.recent-practice,.invite-copy{flex-direction:column;align-items:stretch}.invite-copy .input{width:100%}.recommendation-form,.student-recommendations{grid-template-columns:1fr}.skill-options,.practice-level-options,.practice-time-options{grid-template-columns:repeat(2,minmax(0,1fr))}.student-hero-card{grid-template-columns:1fr}.student-hero-mark{display:none}.student-profile-hero{grid-template-columns:auto minmax(0,1fr)}.student-profile-hero .access-status{grid-column:2;justify-self:start}.level-demo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-finish{grid-template-columns:auto minmax(0,1fr)}.practice-finish form,.practice-finish>.button{grid-column:1/-1}.practice-finish .button{width:100%}.history-item{grid-template-columns:auto minmax(0,1fr) auto}.history-item .access-status{grid-column:2;justify-self:start}.history-item .button{grid-area:1/3/span 2}.sidebar:not(.student-sidebar){overflow-x:auto}.sidebar:not(.student-sidebar) .nav-list{min-width:max-content;display:flex}.sidebar:not(.student-sidebar) .nav-link{flex:none}.sidebar-note{display:none}}@media print{body{background:#fff}.app-header,.sidebar,.no-print{display:none!important}.app-body{display:block}.main-content{padding:0}.content-width{width:100%}.print-report .page-heading{display:none}.report-print-heading{margin-bottom:22px;display:block}.report-print-heading span{color:var(--green-700);letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:800}.report-print-heading h2{margin:7px 0 0;font-size:28px}.card,.metric-card{break-inside:avoid;box-shadow:none}}.button-spinner{animation:1s linear infinite button-spin}@keyframes button-spin{to{transform:rotate(360deg)}}.practice-steps{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 28px;padding:0;list-style:none;display:grid}.practice-steps li{color:var(--muted);align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.practice-steps li>span{background:#edf2ef;border-radius:50%;flex-shrink:0;place-items:center;width:29px;height:29px;display:grid}.practice-steps li.reached{color:var(--green-700)}.practice-steps li.reached>span{background:#dceee6}.practice-steps li[aria-current=step]>span{background:var(--green-700);color:#fff}.step-heading{margin-bottom:18px}.step-heading:focus{outline:none}.practice-builder-actions{margin-top:26px}.topic-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.topic-choice{text-align:left;color:var(--ink);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#ffffff8a;border:1px solid #fffc;border-radius:16px;padding:18px;transition:background .15s,transform .15s,box-shadow .15s;box-shadow:0 9px 24px #224a3c0e,inset 0 1px #fff}.topic-choice:hover{transform:translateY(-2px);box-shadow:0 14px 30px #224a3c17,inset 0 1px #fff}.topic-choice.selected{background:#e7f7efc2;border-color:#2f7d68ad;box-shadow:inset 0 0 0 1px #2f7d6873,0 13px 28px #2f7d681c}.topic-choice strong,.topic-choice small{margin-top:10px;display:block}.topic-choice small{color:var(--muted);line-height:1.5}.topic-choice:active,.practice-choice:active>span{transform:translateY(1px)}.exercise-progress{width:100%;height:8px;accent-color:var(--green-700);border:0;border-radius:12px;margin-bottom:24px;display:block;overflow:hidden}.exercise-progress::-webkit-progress-bar{background:#e8efeb}.exercise-progress::-webkit-progress-value{background:var(--green-700)}.save-status{min-height:20px;color:var(--muted);margin:14px 0 0;font-size:12px}.result-hero{text-align:center}.result-hero h2{margin:18px 0 10px;font-size:clamp(28px,5vw,46px)}.result-hero p{max-width:700px;margin:10px auto}.saved-answer{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.content-editor>summary{color:var(--green-700);cursor:pointer;align-items:center;gap:8px;font-weight:750;display:flex}.content-editor[open]>summary{margin-bottom:22px}.content-item{flex-direction:column;align-items:flex-start;gap:12px;min-width:0;display:flex}.content-item h2,.content-item p{overflow-wrap:anywhere;margin:0}.content-item .form-actions{margin:0}.content-attachment-summary{color:var(--muted);font-size:12px}.file-input{height:auto;padding-block:9px}.file-input::file-selector-button{color:var(--green-800);background:var(--green-100);cursor:pointer;border:0;border-radius:8px;margin-right:10px;padding:8px 10px;font-weight:750}.content-create-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.content-create-button{min-width:0;color:var(--green-900);box-shadow:var(--shadow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);text-align:left;cursor:pointer;background:linear-gradient(145deg,#ffffffc7,#f2faf691);border:1px solid #fffc;border-radius:18px;align-items:center;gap:15px;padding:20px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.content-create-button:hover{border-color:#8fc3b1;transform:translateY(-2px);box-shadow:0 16px 34px #2353441f}.content-create-button:active{transform:translateY(1px)scale(.99)}.content-create-button>svg{width:42px;height:42px;color:var(--green-700);background:var(--green-100);border-radius:13px;flex:none;padding:10px}.content-create-button strong,.content-create-button small{display:block}.content-create-button strong{font-size:17px}.content-create-button small{color:var(--muted);margin-top:5px;font-size:12px;line-height:1.45}.content-dialog{background:0 0;border:0;width:min(720px,100vw - 32px);max-height:calc(100svh - 32px);padding:0}.content-dialog::backdrop{-webkit-backdrop-filter:blur(10px)saturate(120%);backdrop-filter:blur(10px)saturate(120%);background:#0f1f1a6b}.content-dialog-panel{-webkit-backdrop-filter:blur(28px)saturate(145%);backdrop-filter:blur(28px)saturate(145%);background:linear-gradient(145deg,#ffffffe0,#f4faf7b8);border:1px solid #ffffffd1;border-radius:22px;max-height:calc(100svh - 32px);padding:clamp(22px,4vw,32px);overflow-y:auto;box-shadow:0 30px 96px #0c261e4d,inset 0 1px #fff}.content-dialog-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.content-dialog-header h2{margin:0;font-size:25px}.content-dialog-header p{color:var(--muted);margin:7px 0 0;font-size:13px;line-height:1.55}.dialog-close{width:40px;height:40px;color:var(--muted);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;background:#f5f8f694;border:1px solid #fffc;border-radius:12px;flex:none;place-items:center;display:grid;box-shadow:inset 0 1px #fff,0 7px 18px #224a3c0f}.dialog-close:hover{color:var(--green-900);background:var(--green-100)}.form-section-heading{border-top:1px solid var(--line);margin-top:6px;padding-top:18px}.form-section-heading h3{margin:0;font-size:17px}.form-section-heading p{color:var(--muted);margin:6px 0 0;font-size:13px;line-height:1.55}@media (max-width:760px){.content-create-actions{grid-template-columns:1fr}.content-dialog{width:calc(100vw - 20px);max-height:calc(100svh - 20px)}.content-dialog-panel{max-height:calc(100svh - 20px);padding:20px}}.delete-inline[open]{width:100%}.delete-inline p{max-width:390px;margin:12px 0;font-size:13px}.toolbar>.select{width:auto;max-width:360px}.year-input{width:120px}.detail-row dd{overflow-wrap:anywhere}.card,.metric-card,.main-content,.content-width{min-width:0}.table-wrap{max-width:100%}@media (max-width:760px){.pedagogical-columns{grid-template-columns:1fr}.topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-steps{gap:6px}.practice-steps li{text-align:center;flex-direction:column;gap:5px;font-size:10px}.practice-question-card .form-actions{justify-content:stretch}.practice-question-card .form-actions>.button{flex:none;min-height:44px}.toolbar>.select{width:100%;max-width:100%}}@media (max-width:450px){.topic-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.button-spinner{animation:none}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.app-header,.sidebar,.card,.metric-card,.auth-card,.dialog-card,.content-dialog-panel,.content-create-button,.student-recommendation,.practice-choice span,.skill-option span,.topic-choice{background-color:#fafdfbf5}}@media print{@page{size:A4 landscape;margin:12mm}body,.app-frame,.student-frame .main-content{background:#fff!important}.card,.metric-card{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border-color:#dfe8e4}.print-report .grid{gap:12px}.print-report .grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.print-report .grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.print-report .card{padding:16px}.print-report .metric-value{font-size:25px}.print-report .table-wrap{overflow:visible}.print-report .data-table{width:100%;min-width:0;font-size:10px}.print-report .data-table th,.print-report .data-table td{overflow-wrap:anywhere;padding:9px 7px}.print-report .report-table-card{break-inside:auto}.print-report tr{break-inside:avoid}.print-report thead{display:table-header-group}.print-report tfoot{display:table-row-group}}
