/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-200:oklch(88.5% .062 18.334);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-900:oklch(41.4% .112 45.904);--color-yellow-200:oklch(94.5% .129 101.54);--color-green-50:oklch(98.2% .018 155.826);--color-green-200:oklch(92.5% .084 155.995);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-sky-50:oklch(97.7% .013 236.62);--color-sky-200:oklch(90.1% .058 230.902);--color-sky-700:oklch(50% .134 242.749);--color-sky-900:oklch(39.1% .09 240.876);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-gray-200:oklch(92.8% .006 264.531);--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-lg:32rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-snug:1.375;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.right-0{right:calc(var(--spacing)*0)}.right-6{right:calc(var(--spacing)*6)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-6{bottom:calc(var(--spacing)*6)}.left-0{left:calc(var(--spacing)*0)}.z-40{z-index:40}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing)*0)}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-2\.5{margin-top:calc(var(--spacing)*2.5)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-auto{margin-top:auto}.mb-0\.5{margin-bottom:calc(var(--spacing)*.5)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-2\.5{margin-bottom:calc(var(--spacing)*2.5)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.ml-0\.5{margin-left:calc(var(--spacing)*.5)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-3{margin-left:calc(var(--spacing)*3)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-8{height:calc(var(--spacing)*8)}.h-\[18px\]{height:18px}.h-\[22px\]{height:22px}.h-\[180px\]{height:180px}.h-full{height:100%}.min-h-\[60px\]{min-height:60px}.min-h-\[160px\]{min-height:160px}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-2{width:calc(var(--spacing)*2)}.w-2\.5{width:calc(var(--spacing)*2.5)}.w-8{width:calc(var(--spacing)*8)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-\[18px\]{width:18px}.w-\[50px\]{width:50px}.w-\[60px\]{width:60px}.w-\[70px\]{width:70px}.w-\[110px\]{width:110px}.w-\[180px\]{width:180px}.w-full{width:100%}.max-w-\[200px\]{max-width:200px}.max-w-\[380px\]{max-width:380px}.max-w-\[1100px\]{max-width:1100px}.max-w-\[1200px\]{max-width:1200px}.max-w-lg{max-width:var(--container-lg)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\[70px\]{min-width:70px}.min-w-\[80px\]{min-width:80px}.min-w-\[160px\]{min-width:160px}.min-w-\[170px\]{min-width:170px}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.grow\!{flex-grow:1!important}.-rotate-90{rotate:-90deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.resize-y{resize:vertical}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-\[1fr_180px_140px\]{grid-template-columns:1fr 180px 140px}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}.self-end{align-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[10px\]{border-radius:10px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-\[3px\]{border-left-style:var(--tw-border-style);border-left-width:3px}.border-none{--tw-border-style:none;border-style:none}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-300{border-color:var(--color-blue-300)}.border-gray-200{border-color:var(--color-gray-200)}.border-green-200{border-color:var(--color-green-200)}.border-red-200{border-color:var(--color-red-200)}.border-sky-200{border-color:var(--color-sky-200)}.border-slate-50{border-color:var(--color-slate-50)}.border-slate-100{border-color:var(--color-slate-100)}.border-slate-200{border-color:var(--color-slate-200)}.border-yellow-200{border-color:var(--color-yellow-200)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-600{background-color:var(--color-green-600)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-500{background-color:var(--color-red-500)}.bg-sky-50{background-color:var(--color-sky-50)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.p-0\.5{padding:calc(var(--spacing)*.5)}.p-1{padding:calc(var(--spacing)*1)}.p-2\.5{padding:calc(var(--spacing)*2.5)}.p-3{padding:calc(var(--spacing)*3)}.p-3\.5{padding:calc(var(--spacing)*3.5)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-3\.5{padding-inline:calc(var(--spacing)*3.5)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-3\.5{padding-block:calc(var(--spacing)*3.5)}.py-4{padding-block:calc(var(--spacing)*4)}.py-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.py-16{padding-block:calc(var(--spacing)*16)}.py-20{padding-block:calc(var(--spacing)*20)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pb-1\.5{padding-bottom:calc(var(--spacing)*1.5)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-11{padding-left:calc(var(--spacing)*11)}.pl-\[22px\]{padding-left:22px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[28px\]{font-size:28px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-700{color:var(--color-amber-700)}.text-amber-900{color:var(--color-amber-900)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-sky-700{color:var(--color-sky-700)}.text-sky-900{color:var(--color-sky-900)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-800{color:var(--color-slate-800)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.no-underline{text-decoration-line:none}.opacity-40{opacity:.4}.opacity-70{opacity:.7}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.select-none{-webkit-user-select:none;user-select:none}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}@media(hover:hover){.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media(min-width:40rem){.sm\:p-6{padding:calc(var(--spacing)*6)}}@media(min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}*{box-sizing:border-box}body{margin:0;padding:0;font-family:Source Sans Pro,-apple-system,BlinkMacSystemFont,sans-serif;background:linear-gradient(180deg,#fdf6e3,#f5ecd7);min-height:100vh}@keyframes w1FadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes progress{0%{width:0%}to{width:100%}}.spinner{width:48px;height:48px;border:4px solid #E8F4F7;border-top-color:#4a90a4;border-radius:50%;animation:spin 1s linear infinite}.spinner-small{width:12px;height:12px;border:2px solid #E8F4F7;border-top-color:#4a90a4;border-radius:50%;animation:spin 1s linear infinite;display:inline-block}.generation-progress{background:#fffef9;border-radius:20px;padding:32px;text-align:center;box-shadow:0 4px 24px #00000014;margin:0 24px 24px;animation:gpFadeIn .5s cubic-bezier(.22,1,.36,1)}@keyframes gpFadeIn{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.progress-spinner{width:56px;height:56px;border:4px solid #E8F4F7;border-top-color:#4a90a4;border-radius:50%;animation:gpSpin 1s cubic-bezier(.4,.15,.6,.85) infinite;margin:0 auto 18px}@keyframes gpSpin{to{transform:rotate(360deg)}}.progress-spinner[data-color]{border-top-color:var(--spinner-color, #4A90A4)}.progress-spinner.both{border-top-color:#6c5b7b}.progress-title{font-family:Playfair Display,Georgia,serif;font-size:22px;color:#2d3436;margin-bottom:5px}.progress-subtitle{color:#636e72;font-size:14px;margin-bottom:20px}.progress-bar-container{background:#e8f4f7;border-radius:10px;height:8px;overflow:hidden;margin-bottom:14px;position:relative}.progress-bar-fill{height:100%;border-radius:10px;width:0%;transition:width .8s cubic-bezier(.22,1,.36,1);position:relative;overflow:hidden}.progress-bar-fill.generating{animation:w2ProgressPulse 2.2s ease-in-out infinite}@keyframes w2ProgressPulse{0%,to{opacity:1}50%{opacity:.82}}.progress-bar-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.35) 50%,transparent 100%);animation:gpShimmer 1.8s ease-in-out infinite}@keyframes gpShimmer{0%{transform:translate(-100%)}to{transform:translate(200%)}}.progress-percent{font-size:20px;font-weight:700;color:#4a90a4;margin-bottom:4px;font-variant-numeric:tabular-nums}.progress-status{display:flex;align-items:center;justify-content:center;gap:10px;color:#636e72;font-size:13px;min-height:22px}.progress-status .dot{width:6px;height:6px;border-radius:50%;background:#4a90a4;animation:gpPulse 1.4s ease-in-out infinite}@keyframes gpPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.progress-status-text{transition:opacity .3s ease,transform .3s ease}.progress-status-text.fading{opacity:0;transform:translateY(4px)}.progress-steps{display:flex;justify-content:center;gap:18px;margin-top:18px;flex-wrap:wrap}.progress-step{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:500;color:#ccd0d4;transition:color .4s ease,transform .3s ease}.progress-step.active{color:#4a90a4;transform:scale(1.04)}.progress-step.done{color:#66bb6a}.progress-step .step-icon{font-size:14px;display:inline-block;transition:transform .35s cubic-bezier(.34,1.56,.64,1)}.progress-step.done .step-icon{transform:scale(1.15)}.abort-btn{display:inline-flex;align-items:center;gap:6px;margin-top:18px;padding:9px 22px;background:transparent;border:1.5px solid #E0E0E0;border-radius:24px;color:#929ea6;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;letter-spacing:.02em}.abort-btn:hover{border-color:#c62828;color:#c62828;background:#fff5f5}.abort-btn:active{transform:scale(.96)}.gen-preview{margin-top:16px;padding:14px 16px;background:#f8f9fa;border-radius:12px;max-height:180px;overflow:hidden;position:relative}.gen-preview-fade{position:absolute;bottom:0;left:0;right:0;height:50px;background:linear-gradient(transparent,#f8f9fa);pointer-events:none}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f5ecd7;border-radius:4px}::-webkit-scrollbar-thumb{background:#b2bec3;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#636e72}.container{max-width:1400px;margin:0 auto;padding:24px}.tab-nav{display:flex;gap:4px;background:#fffef9;padding:6px;border-radius:16px;margin-bottom:32px;box-shadow:0 2px 8px #00000014;flex-wrap:wrap}.tab-btn{flex:1;min-width:120px;padding:12px 20px;border:none;background:transparent;border-radius:12px;font-size:15px;font-weight:600;color:#636e72;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.tab-btn:hover{background:#f0f8fa}.tab-btn.active{background:#4a90a4;color:#fffef9}.tab-btn .icon{font-size:18px}.user-dropdown-wrapper{position:relative;flex-shrink:0;z-index:51;padding:10px 16px 14px;background:#fffef9;border-top:1px solid #E8F4F7}.user-dropdown-trigger{width:100%;background:#f8f9fa;border:1.5px solid #E8F4F7;border-radius:12px;padding:8px 10px;cursor:pointer;display:flex;align-items:center;gap:10px;font-size:13px;color:#2d3436;transition:all .15s ease;text-align:left}.user-dropdown-trigger:hover{border-color:#4a90a4;background:#f0f8fa}.user-dropdown-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;flex-shrink:0}.user-dropdown-trigger-name{font-weight:600;font-size:13px;color:#2d3436;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.user-dropdown-trigger-plan{font-size:11px;color:#636e72;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.user-dropdown-trigger-info{flex:1;min-width:0;overflow:hidden}.user-dropdown-trigger-chevron{font-size:10px;color:#b2bec3;flex-shrink:0;transition:transform .2s}.user-dropdown-trigger.open .user-dropdown-trigger-chevron{transform:rotate(180deg)}.left-panel.collapsed .user-dropdown-wrapper{padding:8px 0;justify-content:center;display:flex}.left-panel.collapsed .user-dropdown-trigger{width:40px;height:40px;padding:0;border:none;background:none;border-radius:50%;justify-content:center}.left-panel.collapsed .user-dropdown-trigger:hover{background:#f0f8fa}.left-panel.collapsed .user-dropdown-trigger-info,.left-panel.collapsed .user-dropdown-trigger-chevron{display:none}.left-panel.collapsed .user-dropdown-menu{left:8px;right:auto;width:220px}.user-dropdown-menu-header{display:flex;align-items:center;gap:10px;padding:14px 14px 10px}.user-dropdown-menu-header .user-dropdown-avatar{width:36px;height:36px;font-size:14px}.user-dropdown-tier{font-size:10px;font-weight:700;padding:1px 7px;border-radius:10px;color:#fff;line-height:1.5}.user-dropdown-tier.trial{background:#95a5a6}.user-dropdown-tier.essential{background:#2980b9}.user-dropdown-tier.complete{background:#4a90a4}.user-dropdown-tier.premium{background:#d4a017}.user-dropdown-menu{position:absolute;bottom:calc(100% + 4px);left:0;right:0;background:#fffef9;border:1px solid #E0E0E0;border-radius:12px;box-shadow:0 8px 32px #0000001f;overflow:hidden;z-index:52;animation:dropdownSlideUp .15s ease-out}@keyframes dropdownSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.user-dropdown-menu-item{display:flex;align-items:center;gap:10px;padding:11px 14px;font-size:13px;color:#2d3436;cursor:pointer;transition:background .15s;border:none;background:none;width:100%;text-align:left;font-family:Source Sans Pro,sans-serif}.user-dropdown-menu-item:hover{background:#f0f8fa}.user-dropdown-menu-item .menu-icon{font-size:16px;width:20px;text-align:center}.user-dropdown-menu-item.danger{color:#e07b7b}.user-dropdown-menu-item.danger:hover{background:#fff5f5}.user-dropdown-menu-divider{height:1px;background:#e8f4f7;margin:0}.user-dropdown-trial-banner{padding:10px 14px;background:linear-gradient(135deg,#fff8e1,#f0f8fa);font-size:12px;color:#636e72;border-bottom:1px solid #E8F4F7}.user-dropdown-trial-banner strong{color:#2d3436}.user-dropdown-trial-bar{height:4px;background:#e8f4f7;border-radius:2px;margin-top:6px;overflow:hidden}.user-dropdown-trial-fill{height:100%;border-radius:2px;background:#4a90a4;transition:width .3s}.user-dropdown-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:49}.acct-page{max-width:720px;margin:0 auto;padding:8px 0 40px}.acct-page h2{font-size:22px;font-weight:700;color:#2d3436;margin-bottom:4px}.acct-page .acct-subtitle{font-size:14px;color:#636e72;margin-bottom:24px}.acct-section{background:#fff;border:1px solid #E8E8E8;border-radius:12px;padding:20px 24px;margin-bottom:16px}.acct-section h3{font-size:15px;font-weight:700;color:#2d3436;margin-bottom:14px;display:flex;align-items:center;gap:8px}.acct-field{margin-bottom:14px}.acct-field label{display:block;font-size:12px;font-weight:600;color:#636e72;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.acct-field input{width:100%;padding:10px 14px;border:1.5px solid #DDD;border-radius:8px;font-size:14px;color:#2d3436;background:#fafafa;box-sizing:border-box;transition:border-color .2s,background .2s}.acct-field input:focus{border-color:#4a90a4;background:#fff;outline:none}.acct-field input:disabled{background:#f0f0f0;color:#9e9e9e;cursor:not-allowed}.acct-field-row{display:flex;gap:12px}.acct-field-row .acct-field{flex:1}.acct-btn{padding:10px 20px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:none;transition:all .2s}.acct-btn.primary{background:#4a90a4;color:#fff}.acct-btn.primary:hover{background:#3a7a8e}.acct-btn.outline{background:#fff;color:#4a90a4;border:1.5px solid #4A90A4}.acct-btn.outline:hover{background:#e8f4f7}.acct-btn.danger{background:#ffebee;color:#c62828;border:1.5px solid #FFCDD2}.acct-btn.danger:hover{background:#ffcdd2}.acct-btn.gold{background:#d4a017;color:#fff}.acct-btn.gold:hover{background:#b8890f}.acct-btn:disabled{opacity:.5;cursor:not-allowed}.acct-btn-row{display:flex;gap:10px;margin-top:14px}.acct-msg{padding:10px 14px;border-radius:8px;font-size:13px;margin-top:10px;display:none}.acct-msg.success{display:block;background:#e8f5e9;color:#2e7d32;border:1px solid #C8E6C9}.acct-msg.error{display:block;background:#ffebee;color:#c62828;border:1px solid #FFCDD2}.sub-current-plan{background:linear-gradient(135deg,#f8fffe,#e8f4f7);border:2px solid #4A90A4;border-radius:14px;padding:24px;margin-bottom:20px;position:relative;overflow:hidden}.sub-current-plan.essential{border-color:#2980b9;background:linear-gradient(135deg,#f0f8ff,#e8f4f7)}.sub-current-plan.complete{border-color:#4a90a4;background:linear-gradient(135deg,#f0f8fa,#e8f4f7)}.sub-current-plan.premium{border-color:#d4a017;background:linear-gradient(135deg,#fffef5,#fff8e1)}.sub-current-plan .plan-label{font-size:12px;font-weight:600;color:#636e72;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.sub-current-plan .plan-name{font-size:24px;font-weight:800;color:#2d3436;display:flex;align-items:center;gap:10px}.sub-current-plan .plan-price{font-size:16px;color:#636e72;margin-top:4px}.sub-current-plan .plan-details{display:flex;gap:24px;margin-top:16px;flex-wrap:wrap}.sub-current-plan .plan-detail{font-size:13px;color:#636e72}.sub-current-plan .plan-detail strong{color:#2d3436}.sub-plan-actions{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}.sub-usage-section{background:#fff;border:1px solid #E8E8E8;border-radius:12px;padding:20px 24px;margin-bottom:16px}.sub-usage-section h3{font-size:15px;font-weight:700;color:#2d3436;margin-bottom:16px}.sub-usage-meter{margin-bottom:16px}.sub-usage-meter .meter-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.sub-usage-meter .meter-name{font-size:13px;font-weight:600;color:#2d3436}.sub-usage-meter .meter-count{font-size:13px;color:#636e72}.sub-usage-meter .meter-bar{height:8px;background:#f0f0f0;border-radius:4px;overflow:hidden}.sub-usage-meter .meter-fill{height:100%;border-radius:4px;transition:width .3s}.sub-usage-meter .meter-note{font-size:11px;color:#9e9e9e;margin-top:3px}.acct-danger-zone{background:#fff5f5;border:1.5px solid #FFCDD2;border-radius:12px;padding:20px 24px;margin-bottom:16px}.acct-danger-zone h3{font-size:15px;font-weight:700;color:#c62828;margin-bottom:6px;display:flex;align-items:center;gap:8px}.acct-danger-zone p{font-size:13px;color:#636e72;margin-bottom:14px}.change-plan-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000a6;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px}.change-plan-content{background:#fff;border-radius:16px;padding:28px 32px;max-width:480px;width:100%;box-shadow:0 20px 60px #0003}.change-plan-content h3{font-size:18px;font-weight:700;color:#2d3436;margin-bottom:8px}.change-plan-content p{font-size:14px;color:#636e72;margin-bottom:16px;line-height:1.5}.change-plan-comparison{display:flex;gap:12px;margin-bottom:20px;align-items:stretch}.change-plan-box{flex:1;padding:14px;border-radius:10px;border:1.5px solid #E8E8E8;text-align:center}.change-plan-box.current{background:#f0f0f0}.change-plan-box.new{border-color:#4a90a4;background:#e8f4f7}.change-plan-box .box-label{font-size:11px;color:#636e72;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.change-plan-box .box-name{font-size:16px;font-weight:700;color:#2d3436}.change-plan-box .box-price{font-size:13px;color:#636e72;margin-top:2px}.change-plan-arrow{display:flex;align-items:center;font-size:20px;color:#636e72}.change-plan-warnings{background:#fff3e0;border:1px solid #FFE0B2;border-radius:8px;padding:12px 14px;margin-bottom:16px}.change-plan-warnings .warn-item{font-size:13px;color:#e65100;margin-bottom:4px;display:flex;align-items:flex-start;gap:6px}.change-plan-warnings .warn-item:last-child{margin-bottom:0}.change-plan-actions{display:flex;gap:10px;justify-content:flex-end}.retention-step{animation:retentionFade .3s ease-out}@keyframes retentionFade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.retention-reasons{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.retention-reason-btn{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:10px;border:1.5px solid #E8E8E8;background:#fffef9;cursor:pointer;font-size:13px;color:#2d3436;transition:all .15s;text-align:left;width:100%}.retention-reason-btn:hover{border-color:#4a90a4;background:#f0f8fa}.retention-reason-btn.selected{border-color:#4a90a4;background:#e8f4f7;font-weight:600}.retention-reason-btn .reason-icon{font-size:18px;flex-shrink:0}.retention-value-card{background:linear-gradient(135deg,#e8f4f7,#f0f8fa);border:1.5px solid #B8D8E7;border-radius:12px;padding:18px;margin-bottom:16px}.retention-value-card h4{font-size:14px;font-weight:700;color:#2d3436;margin-bottom:10px;display:flex;align-items:center;gap:6px}.retention-value-stat{display:flex;justify-content:space-between;padding:6px 0;font-size:13px;color:#2d3436;border-bottom:1px solid rgba(74,144,164,.15)}.retention-value-stat:last-child{border-bottom:none}.retention-value-stat .vs-label{color:#636e72}.retention-value-stat .vs-val{font-weight:700}.retention-offer{border:2px solid #4A90A4;border-radius:12px;padding:18px;margin-bottom:12px;text-align:center;background:#fffef9;cursor:pointer;transition:all .2s}.retention-offer:hover{background:#e8f4f7;transform:translateY(-2px);box-shadow:0 4px 16px #4a90a426}.retention-offer .ro-icon{font-size:28px;margin-bottom:6px}.retention-offer .ro-title{font-size:15px;font-weight:700;color:#2d3436;margin-bottom:4px}.retention-offer .ro-desc{font-size:12px;color:#636e72;line-height:1.4}.retention-offer.recommended{border-color:#27ae60;background:#f0fff4}.retention-offer.recommended:before{content:"★ Recommended";display:inline-block;font-size:10px;font-weight:700;color:#27ae60;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.retention-divider{text-align:center;color:#b2bec3;font-size:12px;margin:12px 0;display:flex;align-items:center;gap:12px}.retention-divider:before,.retention-divider:after{content:"";flex:1;height:1px;background:#e8e8e8}.sub-manage-link{font-size:13px;color:#636e72;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:color .2s;border:none;background:none;padding:0}.sub-manage-link:hover{color:#4a90a4}.sub-manage-link.danger-link{color:#b2bec3}.sub-manage-link.danger-link:hover{color:#c62828}.custom-subj-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.custom-subj-card{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;border:1.5px solid #E8E8E8;background:#fffef9;transition:border-color .15s}.custom-subj-card:hover{border-color:#4a90a4}.custom-subj-card .cs-icon{font-size:22px;flex-shrink:0}.custom-subj-card .cs-info{flex:1;min-width:0}.custom-subj-card .cs-name{font-size:13px;font-weight:700;color:#2d3436}.custom-subj-card .cs-desc{font-size:11px;color:#636e72;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.custom-subj-card .cs-pool{font-size:10px;color:#9e9e9e;margin-top:1px}.custom-subj-card .cs-actions{display:flex;gap:4px;flex-shrink:0}.custom-subj-card .cs-actions button{padding:4px 8px;border-radius:6px;border:1px solid #E0E0E0;background:#fff;font-size:11px;cursor:pointer;transition:all .15s}.custom-subj-card .cs-actions button:hover{background:#f0f8fa;border-color:#4a90a4}.custom-subj-card .cs-actions button.cs-del:hover{background:#ffebee;border-color:#e07b7b;color:#c62828}.cs-empty{padding:24px;text-align:center;border:2px dashed #E0E0E0;border-radius:12px;color:#b2bec3;font-size:13px}.cs-form{display:flex;flex-direction:column;gap:14px}.cs-form label{font-size:13px;font-weight:600;color:#2d3436;display:block;margin-bottom:4px}.cs-form label .cs-hint{font-weight:400;color:#9e9e9e;font-size:11px}.cs-form input,.cs-form textarea,.cs-form select{width:100%;padding:10px 12px;border-radius:8px;border:1.5px solid #E0E0E0;font-size:13px;font-family:inherit;background:#fffef9;transition:border-color .15s}.cs-form input:focus,.cs-form textarea:focus,.cs-form select:focus{outline:none;border-color:#4a90a4}.cs-form textarea{min-height:60px;resize:vertical}.cs-form .cs-row{display:flex;gap:10px}.cs-form .cs-row>*{flex:1}.cs-icon-picker{display:flex;gap:6px;flex-wrap:wrap}.cs-icon-option{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1.5px solid #E0E0E0;cursor:pointer;font-size:18px;transition:all .15s;background:#fff}.cs-icon-option:hover{border-color:#4a90a4;background:#f0f8fa}.cs-icon-option.selected{border-color:#4a90a4;background:#e8f4f7}.cs-limit-note{font-size:11px;color:#9e9e9e;text-align:center;margin-top:4px}.settings-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#0000004d;z-index:1000}.settings-overlay.open{display:block}.settings-panel{position:fixed;top:0;left:-420px;width:400px;height:100vh;background:#fffef9;z-index:1002;box-shadow:4px 0 24px #00000026;transition:left .3s ease;overflow-y:auto;padding:24px}.settings-panel.open{left:0}.settings-panel h2{margin:0 0 24px;font-family:Playfair Display,Georgia,serif;color:#2d3436;font-size:24px}.settings-panel .close-btn{position:absolute;top:20px;right:20px;background:none;border:none;font-size:24px;cursor:pointer;color:#636e72}.settings-section{margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid #E8F4F7}.settings-section:last-child{border-bottom:none;margin-bottom:0}.settings-section h3{margin:0 0 12px;font-size:14px;color:#636e72;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.settings-section p{margin:0 0 12px;font-size:13px;color:#9e9e9e;line-height:1.5}.settings-section input[type=password],.settings-section input[type=text]{width:100%;padding:12px;border-radius:8px;border:2px solid #E0E0E0;font-size:14px;font-family:monospace;margin-bottom:12px}.settings-section input:focus{outline:none;border-color:#4a90a4}.api-status{display:flex;align-items:center;gap:8px;padding:12px;border-radius:8px;margin-bottom:12px;font-size:14px}.api-status.connected{background:#e8f5e9;color:#2e7d32}.api-status.disconnected{background:#fff3e0;color:#e65100}.api-status .key-preview{font-family:monospace;font-size:12px;background:#0000001a;padding:2px 6px;border-radius:4px;margin-left:auto}.settings-btn{width:100%;padding:12px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-bottom:8px}.settings-btn:last-child{margin-bottom:0}.settings-btn.primary{background:#4a90a4;color:#fffef9;border:none}.settings-btn.primary:hover{background:#3d7a8c}.settings-btn.primary:disabled{background:#b2bec3;cursor:not-allowed}.settings-btn.danger{background:transparent;color:#e57373;border:1px solid #E57373}.settings-btn.danger:hover{background:#ffebee}.settings-btn.outline{background:transparent;color:#4a90a4;border:1px solid #4A90A4}.settings-btn.outline:hover{background:#e8f4f7}.settings-btn.outline:disabled{opacity:.5;cursor:not-allowed}.settings-btn.warning{background:transparent;color:#ff9800;border:1px solid #FF9800}.settings-btn.warning:hover{background:#fff3e0}.import-success{background:#e8f5e9;border:1px solid #81C784;border-radius:8px;padding:12px;margin-top:12px;color:#2e7d32;font-size:13px;text-align:center}.children-list{margin-bottom:12px}.child-item{display:flex;align-items:center;gap:12px;padding:12px;background:#f8f9fa;border-radius:10px;margin-bottom:8px;border:1px solid #E8F4F7}.child-item:last-child{margin-bottom:0}.child-item-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;flex-shrink:0}.child-item-info{flex:1;min-width:0}.child-item-name{font-weight:600;color:#2d3436;font-size:14px}.child-item-meta{font-size:12px;color:#636e72;margin-top:2px}.child-item-actions{display:flex;gap:4px}.child-item-btn{padding:6px 10px;border:none;border-radius:6px;cursor:pointer;font-size:12px;transition:all .2s ease}.child-item-btn.edit{background:#e8f4f7;color:#4a90a4}.child-item-btn.edit:hover{background:#4a90a4;color:#fff}.child-item-btn.delete{background:#ffebee;color:#e57373}.child-item-btn.delete:hover{background:#e57373;color:#fff}.child-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.child-form-grid .full-width{grid-column:1 / -1}.form-group{margin-bottom:0}.form-group label{display:block;font-size:13px;font-weight:600;color:#2d3436;margin-bottom:6px}.form-group input,.form-group select{width:100%;padding:10px 12px;border:2px solid #E8F4F7;border-radius:8px;font-size:14px;font-family:inherit}.form-group input:focus,.form-group select:focus{outline:none;border-color:#4a90a4}.avatar-picker{display:flex;align-items:center;gap:12px}.avatar-preview{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;color:#fff;border:3px solid #E8F4F7}.avatar-inputs{flex:1}.avatar-inputs input{width:100%;padding:8px 12px;border:2px solid #E8F4F7;border-radius:8px;font-size:16px;text-align:center;margin-bottom:8px}.color-picker{display:flex;gap:6px;flex-wrap:wrap}.color-option{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .2s ease}.color-option:hover{transform:scale(1.1)}.color-option.selected{border-color:#2d3436;box-shadow:0 0 0 2px #fff,0 0 0 4px #2d3436}.location-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.location-row.three-col{grid-template-columns:1fr 1fr 1fr}.interests-input-wrapper{margin-top:8px}.interests-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.interest-tag-item{display:flex;align-items:center;gap:4px;padding:4px 10px;background:#e8f4f7;border-radius:16px;font-size:12px;color:#4a90a4}.interest-tag-item button{background:none;border:none;color:#e57373;cursor:pointer;font-size:14px;padding:0;line-height:1}.progress-summary{background:#f8f9fa;border-radius:8px;padding:12px;margin-bottom:12px}.progress-summary h4{margin:0 0 8px;font-size:14px;color:#2d3436}.progress-stat{display:flex;justify-content:space-between;font-size:13px;color:#636e72;margin-bottom:4px}.progress-stat:last-child{margin-bottom:0}.school-info-preview{background:#f8f9fa;border-radius:8px;padding:12px;margin-bottom:12px}.school-info-name{font-weight:600;color:#2d3436;font-size:15px;margin-bottom:6px}.school-info-detail{font-size:13px;color:#636e72;margin-bottom:3px}.school-info-detail:last-child{margin-bottom:0}.header{text-align:center;margin-bottom:32px;padding-top:20px}.header h1{margin:0;font-family:Playfair Display,Georgia,serif;font-size:42px;color:#2d3436;font-weight:700}.header p{margin:8px 0 0;color:#636e72;font-size:18px}.header .date-badge{display:inline-block;background:#4a90a4;color:#fffef9;padding:6px 16px;border-radius:20px;font-size:14px;margin-top:12px}.section-title{font-family:Playfair Display,Georgia,serif;color:#2d3436;font-size:24px;margin-bottom:20px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.calendar-container{background:#fffef9;border-radius:20px;padding:24px;box-shadow:0 4px 16px #00000014}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.calendar-nav{display:flex;gap:8px}.calendar-nav-btn{padding:8px 16px;background:#e8f4f7;border:none;border-radius:8px;cursor:pointer;font-size:14px;color:#4a90a4;font-weight:600;transition:all .2s ease}.calendar-nav-btn:hover{background:#4a90a4;color:#fffef9}.calendar-month-year{font-family:Playfair Display,Georgia,serif;font-size:24px;color:#2d3436}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-day-header{text-align:center;padding:12px 8px;font-weight:600;color:#636e72;font-size:13px;text-transform:uppercase}.calendar-day{aspect-ratio:1;min-height:90px;padding:8px;border-radius:12px;background:#f8f9fa;cursor:pointer;transition:all .2s ease;position:relative;display:flex;flex-direction:column}.calendar-day:hover{background:#e8f4f7;transform:scale(1.02)}.calendar-day.other-month{opacity:.4}.calendar-day.today{border:2px solid #4A90A4}.calendar-day.has-curriculum{background:#e8f5e9}.calendar-day.has-curriculum[data-student-color]{border-left:3px solid var(--cal-color, #4A90A4)}.calendar-day.has-curriculum.both{background:linear-gradient(135deg,#e8f4f7 33%,#e8f5e9 33%,#e8f5e9 66%,#f7e8eb 66%)}.calendar-day .day-number{font-weight:600;color:#2d3436;font-size:16px}.calendar-day .day-indicators{display:flex;gap:4px;margin-top:auto;flex-wrap:wrap}.calendar-day .indicator{width:8px;height:8px;border-radius:50%}.calendar-day .indicator[style]{width:6px;height:6px;border-radius:50%}.calendar-day .indicator.curriculum{background:#81c784}.calendar-legend{display:flex;gap:20px;margin-top:16px;padding-top:16px;border-top:1px solid #E8F4F7;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#636e72}.legend-dot{width:12px;height:12px;border-radius:50%}.legend-dot[style]{display:inline-block}.legend-dot.curriculum{background:#81c784}.calendar-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-top:24px}.stat-card{background:#fffef9;border-radius:16px;padding:20px;border:1px solid #E8F4F7}.stat-card h4{margin:0 0 8px;font-size:14px;color:#636e72;font-weight:600}.stat-card .stat-value{font-size:32px;font-weight:700;color:#2d3436;font-family:Playfair Display,Georgia,serif}.stat-card .stat-sub{font-size:13px;color:#9e9e9e;margin-top:4px}.stat-card.total{border-left:4px solid #81C784}.calendar-day .day-avatars{display:flex;gap:4px;margin-top:auto;flex-wrap:wrap}.calendar-day .day-avatar-btn{width:28px;height:28px;border-radius:50%;border:2px solid white;display:flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 6px #00000026}.calendar-day .day-avatar-btn:hover{transform:scale(1.15);box-shadow:0 4px 12px #00000040;z-index:5}.calendar-day .day-events{display:flex;flex-direction:column;gap:2px;margin-top:4px;overflow:hidden;flex:1}.calendar-day .event-pill{background:#6c5b7b;color:#fff;font-size:9px;padding:2px 6px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:all .15s ease;border:none;text-align:left;width:100%}.calendar-day .event-pill:hover{filter:brightness(1.1);transform:scale(1.02)}.calendar-day .event-pill.appointment{background:#e74c3c}.calendar-day .event-pill.field-trip{background:#27ae60}.calendar-day .event-pill.holiday{background:#f39c12}.calendar-day .event-pill.activity{background:#3498db}.calendar-day .event-pill.other{background:#6c5b7b}.calendar-day .more-events{font-size:9px;color:#636e72;text-align:center;padding:1px 0}.import-calendar-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#f0f4f8;border:2px dashed #B2BEC3;border-radius:8px;color:#636e72;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.import-calendar-btn:hover{background:#e8f4f7;border-color:#4a90a4;color:#4a90a4}.calendar-preview-header{display:flex;align-items:center;gap:16px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #E8F4F7}.calendar-preview-avatar{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;color:#fff;flex-shrink:0}.calendar-preview-info h3{margin:0;font-size:20px;color:#2d3436;font-family:Playfair Display,Georgia,serif}.calendar-preview-info p{margin:4px 0 0;font-size:13px;color:#636e72}.students-grid{display:flex;gap:24px;flex-wrap:wrap;margin-bottom:40px}.student-card{background:#fffef9;border:2px solid var(--card-color, #4A90A4);border-radius:20px;padding:24px;cursor:pointer;transition:all .3s ease;min-width:260px;flex:1}.student-card:hover{transform:scale(1.01)}.student-card.disabled{opacity:.6;cursor:not-allowed}.student-card.disabled:hover{transform:none}.student-card.selected{background:var(--card-color, #4A90A4);border:none;box-shadow:0 8px 32px #00000026;transform:scale(1.02)}.student-card.both{border-color:#6c5b7b;--card-color: #6C5B7B}.student-card.both.selected{background:linear-gradient(135deg,#6c5b7b,#8b7a9e)}.student-card.add-student{min-height:180px}.student-card.add-student:hover{background:#f8f9fa}.student-avatar{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;color:#fff}.student-card:not(.selected) .student-avatar{background:#e8f4f7}.student-card.selected .student-avatar{background:#ffffff4d}.student-name{margin:0;font-size:24px;font-family:Playfair Display,Georgia,serif;font-weight:600}.student-card:not(.selected) .student-name{color:#2d3436}.student-card.selected .student-name{color:#fffef9}.student-grade{margin:4px 0 0;font-size:14px}.student-card:not(.selected) .student-grade{color:#636e72}.student-card.selected .student-grade{color:#ffffffd9}.student-desc{border-radius:12px;padding:12px 16px;margin:16px 0 12px;background:#f0f8fa}.student-card.selected .student-desc{background:#ffffff26}.student-desc p{margin:0;font-size:13px;line-height:1.5}.student-card:not(.selected) .student-desc p{color:#636e72}.student-card.selected .student-desc p{color:#ffffffe6}.interest-tag{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;margin:0 6px 6px 0;background:#d4eef5;color:#2d3436}.student-card.selected .interest-tag{background:#ffffff40;color:#fffef9}.student-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.collab-picks{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.collab-chip{display:flex;align-items:center;gap:8px;padding:6px 14px 6px 6px;border-radius:24px;cursor:pointer;transition:all .2s ease;border:2px solid #D0D0D0;background:#f0f0f0}.collab-chip:hover{background:#e4e4e4}.collab-chip.on{border-color:var(--chip-color, #4A90A4);background:var(--chip-color, #4A90A4)}.collab-chip-avatar{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;color:#fff;transition:background .2s;flex-shrink:0}.collab-chip-name{font-size:14px;font-weight:600;white-space:nowrap}.collab-chip:not(.on) .collab-chip-name{color:#636e72}.collab-chip.on .collab-chip-name{color:#fffef9}.student-card.selected .collab-chip:not(.on){background:#fff3;border-color:#ffffff4d}.student-card.selected .collab-chip:not(.on) .collab-chip-name{color:#fff9}.student-card.selected .collab-chip:not(.on):hover{background:#ffffff4d}.student-card.selected .collab-chip.on{background:#fffffff2;border-color:#fffffff2}.student-card.selected .collab-chip.on .collab-chip-name{color:var(--chip-color, #4A90A4)}.student-card.selected .collab-chip.on .collab-chip-avatar{box-shadow:0 1px 4px #00000026}.modal.modal-large{max-width:560px}.edit-interests-btn,.history-btn{background:transparent;padding:8px 16px;border-radius:8px;cursor:pointer;font-size:13px;transition:all .2s ease}.student-card:not(.selected) .edit-interests-btn,.student-card:not(.selected) .history-btn{border:1px solid var(--card-color, #4A90A4);color:var(--card-color, #4A90A4)}.student-card.selected .edit-interests-btn,.student-card.selected .history-btn{border:1px solid rgba(255,255,255,.9);color:var(--card-color, #4A90A4);background:#ffffffeb;font-weight:600}.student-card.selected .edit-interests-btn:hover,.student-card.selected .history-btn:hover{background:#fff}.edit-interests-btn:disabled,.history-btn:disabled{cursor:not-allowed;opacity:.5}.actions-grid{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px;padding:16px 24px 0}.actions-grid-centered{justify-content:center}.section-row-label{font-size:11px;color:#999;text-transform:uppercase;letter-spacing:1.5px;padding:0 24px;margin-bottom:2px}.session-length-control{margin-bottom:16px}.session-length-label{font-size:12px;font-weight:600;color:#2d3436;margin-bottom:8px}.session-length-segments{display:flex;gap:0;border:1.5px solid #E0E0E0;border-radius:10px;overflow:hidden}.session-length-btn{flex:1;padding:8px 4px;background:#fafafa;border:none;cursor:pointer;text-align:center;transition:all .15s ease;border-right:1px solid #E0E0E0}.session-length-btn:last-child{border-right:none}.session-length-btn.active{background:#4a90a4;color:#fff}.session-length-btn:hover:not(.active){background:#e8f4f7}.session-length-name{display:block;font-size:13px;font-weight:600}.session-length-btn.active .session-length-name{color:#fff}.session-length-time{display:block;font-size:11px;color:#636e72;margin-top:2px}.session-length-btn.active .session-length-time{color:#ffffffd9}.session-length-note{font-size:12px;color:#636e72;font-style:italic;margin-top:8px;padding:8px 12px;background:#fff8e1;border-radius:8px;border:1px solid #FFE082}.action-btn{background:#fffef9;border-radius:12px;padding:12px 16px;cursor:pointer;transition:all .2s ease;text-align:left;flex:1;min-width:180px;display:flex;align-items:center;gap:12px}.action-btn:hover:not(:disabled){transform:translateY(-2px)}.action-btn:disabled{background:#e0e0e0;border-color:#bdbdbd;opacity:.6;cursor:not-allowed}.action-btn .icon{font-size:28px;flex-shrink:0}.action-btn .btn-text{display:flex;flex-direction:column}.action-btn h4{margin:0;font-family:Playfair Display,Georgia,serif;font-size:15px;color:#2d3436}.action-btn:disabled h4{color:#9e9e9e}.action-btn p{margin:2px 0 0;font-size:12px;line-height:1.3;color:#636e72}.action-btn:disabled p{color:#bdbdbd}.action-btn.daily{border:2px solid #4A90A4}.action-btn.daily:hover:not(:disabled){box-shadow:0 6px 16px #4a90a433}.action-btn.topic{border:2px solid #6C5B7B}.action-btn.topic:hover:not(:disabled){box-shadow:0 6px 16px #6c5b7b33}.action-btn.assessment{border:2px solid #E67E22}.action-btn.assessment:hover:not(:disabled){box-shadow:0 6px 16px #e67e2233}.quick-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:40px;padding:0 24px}.quick-action-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#fffef9;border:1px solid #E0E0E0;border-radius:10px;cursor:pointer;font-size:14px;color:#636e72;transition:all .2s ease}.quick-action-btn:hover:not(:disabled){background:#f8f9fa;border-color:#4a90a4;color:#4a90a4}.quick-action-btn:disabled{opacity:.5;cursor:not-allowed}.quick-action-btn .icon{font-size:18px}.content-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:20px;padding:0 24px}.content-header .section-title{margin-bottom:0}.header-buttons{display:flex;gap:8px;flex-wrap:wrap}.print-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#4a90a4;color:#fffef9;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.print-btn:hover{background:#3d7a8c;transform:translateY(-1px)}.print-btn.secondary{background:#6c5b7b}.print-btn.secondary:hover{background:#5a4a68}.content-display{background:transparent;padding:0 0 40px;min-height:200px}.floating-print{position:fixed;bottom:24px;right:24px;z-index:45}.floating-print .print-btn{box-shadow:0 4px 12px #00000026}.right-panel-open .floating-print{right:304px}.content-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:250px;color:#b2bec3;background:transparent;margin:0 24px}.content-placeholder .icon{font-size:64px;margin-bottom:16px}.content-error{background:#ffebee;border:1px solid #E57373;border-radius:12px;padding:16px;margin:0 24px 16px;color:#c62828}.command-center{max-width:8.5in;margin:0 auto;padding:16px 24px 32px}.command-center .cc-card{background:#fffef9;border:1px solid #E8E2DA;border-radius:12px;padding:16px;margin-bottom:14px}.command-center .cc-card-title{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#9a9089;margin-bottom:10px;display:flex;align-items:center;gap:6px}.command-center .cc-two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}@media(max-width:768px){.command-center .cc-two-col{grid-template-columns:1fr}}.command-center .fade-in{animation:ccFadeIn .3s ease}@keyframes ccFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.feedback-banner{border-radius:12px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;color:#fff}.fb-left{flex:1;min-width:0}.fb-eyebrow{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.85;margin-bottom:4px}.fb-count{background:#fff3;padding:1px 7px;border-radius:8px;font-size:9px;margin-left:6px}.fb-title{font-family:Playfair Display,Georgia,serif;font-size:17px;font-weight:700;margin-bottom:6px}.fb-chips{display:flex;flex-wrap:wrap;gap:5px}.fb-chip{background:#ffffff2e;padding:3px 9px;border-radius:6px;font-size:11px}.fb-btn{background:#fff;border:none;padding:9px 16px;border-radius:8px;font-weight:700;font-size:12px;cursor:pointer;display:flex;align-items:center;gap:5px;white-space:nowrap;transition:transform .15s}.fb-btn:hover{transform:scale(1.03)}.catchup-alert{background:#fff8e1;border:1px solid #FFE082;border-radius:10px;padding:12px 16px;display:flex;align-items:center;gap:12px;margin-bottom:14px}.catchup-icon{font-size:22px;flex-shrink:0}.catchup-text{flex:1;font-size:13px;color:#5d4037}.catchup-text strong{display:block;margin-bottom:2px}.catchup-text span{font-size:11px;color:#8d6e63}.catchup-btn{background:none;border:1.5px solid #D4894A;color:#d4894a;padding:6px 14px;border-radius:7px;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap}.catchup-btn:hover{background:#d4894a;color:#fff}.subj-chips{display:flex;flex-wrap:wrap;gap:6px}.subj-chip{padding:5px 10px;border-radius:7px;font-size:11.5px;font-weight:600;display:flex;align-items:center;gap:4px}.subj-chip.normal{background:var(--chip-bg);border:1px solid var(--chip-border);color:var(--chip-text)}.subj-chip.overdue{background:#fff8e1;border:1px solid #FFE082;color:#5d4037}.overdue-tag{background:#d4894a;color:#fff;font-size:9px;padding:1px 5px;border-radius:4px;margin-left:3px}.wg-summary{display:flex;gap:16px;margin-bottom:12px}.wg-sum-stat{text-align:center}.wg-sum-stat .num{font-family:Playfair Display,Georgia,serif;font-size:22px;font-weight:700;color:#2d3436;line-height:1}.wg-sum-stat .num span{font-size:13px;color:#b2bec3}.wg-sum-stat .lbl{font-size:10px;color:#9a9089;margin-top:2px}.wg-header{display:grid;grid-template-columns:1fr repeat(5,28px) 28px;gap:2px;margin-bottom:4px}.wg-day-header{font-size:9px;font-weight:700;color:#b2bec3;text-align:center}.wg-day-header.done{color:#636e72}.wg-day-header.today{color:var(--student-color, #4A90A4);font-weight:800}.wg-row{display:grid;grid-template-columns:1fr repeat(5,28px) 28px;gap:2px;align-items:center;padding:3px 0;border-bottom:1px solid #F5F0EB}.wg-subject{display:flex;align-items:center;gap:5px;min-width:0}.wg-subject-emoji{font-size:12px;flex-shrink:0}.wg-subject-name{font-size:11px;color:#636e72;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wg-cell{display:flex;justify-content:center}.wg-dot{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700}.wg-dot.empty{background:#f5f0eb}.wg-dot.unrated{background:#e8e2da;color:#9a9089}.wg-dot.just-right{background:var(--student-color, #4A90A4);color:#fff}.wg-dot.too-easy{background:#f5c49a;color:#5d4037}.wg-dot.too-hard{background:#fecaca;color:#991b1b}.wg-trend{display:flex;justify-content:center}.wg-legend{display:flex;gap:10px;margin-top:8px;justify-content:center}.wg-legend-item{display:flex;align-items:center;gap:4px;font-size:9px;color:#9a9089}.wg-legend-dot{width:8px;height:8px;border-radius:50%}.mastery-tabs{display:flex;gap:0;border-bottom:1.5px solid #E8E2DA;margin-bottom:12px}.mastery-tab{background:none;border:none;padding:7px 12px;font-size:11px;font-weight:600;color:#9a9089;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s}.mastery-tab.active{color:var(--student-color, #4A90A4);border-bottom-color:var(--student-color, #4A90A4)}.mastery-tab:hover:not(.active){color:#636e72}.subj-stat-row{display:flex;gap:12px;margin-bottom:12px}.subj-stat{flex:1;text-align:center;background:#faf8f5;border-radius:8px;padding:8px 4px}.subj-stat .s-num{font-family:Playfair Display,Georgia,serif;font-size:18px;font-weight:700;color:#2d3436}.subj-stat .s-lbl{font-size:9px;color:#9a9089;margin-top:2px}.subj-session-list{display:flex;flex-direction:column;gap:4px}.subj-sess-row{display:flex;align-items:center;gap:8px;padding:5px 0;border-bottom:1px solid #F5F0EB;font-size:11px}.subj-sess-date{color:#9a9089;width:50px;flex-shrink:0}.subj-sess-rating{padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600}.subj-sess-rating.good{background:#d1fae5;color:#065f46}.subj-sess-rating.easy{background:#fef3c7;color:#92400e}.subj-sess-rating.hard{background:#fee2e2;color:#991b1b}.subj-sess-note{color:#636e72;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sessions-list{display:flex;flex-direction:column;gap:4px}.session-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;border:1px solid #E8E2DA;font-size:12px;cursor:pointer;transition:background .13s,border-color .13s}.session-row:hover{background:var(--chip-bg, var(--student-light, #F0F4F8));border-color:var(--chip-border, #D4E8F0)}.sess-date{color:#9a9089;font-size:11px;width:50px;flex-shrink:0}.sess-subjects{flex:1;color:#2d3436;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unrated-tag{background:#fef3c7;color:#92400e;font-size:9px;font-weight:700;padding:2px 6px;border-radius:4px}.reload-btn{background:none;border:1px solid #E8E2DA;width:26px;height:26px;border-radius:6px;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;color:#9a9089;flex-shrink:0}.reload-btn:hover{border-color:var(--student-color, #4A90A4);color:var(--student-color, #4A90A4)}.trophy-wall .trophy-count{font-size:10px;background:var(--student-light, #E8F4F7);color:var(--student-color, #4A90A4);padding:2px 8px;border-radius:6px;margin-left:auto;text-transform:none;letter-spacing:0}.trophy-scroll{display:flex;gap:10px;overflow-x:auto;padding:4px 0 8px}.trophy-scroll::-webkit-scrollbar{height:4px}.trophy-scroll::-webkit-scrollbar-thumb{background:#e8e2da;border-radius:2px}.badge-tile{flex:0 0 90px;text-align:center;padding:12px 8px;border-radius:10px;border:1.5px solid #E8E2DA;background:#fffef9;position:relative;cursor:default}.badge-tile.earned{border-color:var(--student-color, #4A90A4)}.badge-tile.next-up{border-color:#d4894a;border-style:dashed}.badge-tile.locked{opacity:.5;filter:grayscale(.5)}.badge-tile-icon{font-size:28px;margin-bottom:4px}.badge-tile-name{font-size:10px;font-weight:700;color:#2d3436;line-height:1.2}.badge-tile-sub{font-size:8.5px;color:#9a9089;margin-top:2px}.badge-earned-pip{position:absolute;top:-4px;right:-4px;width:16px;height:16px;border-radius:50%;background:var(--student-color, #4A90A4);color:#fff;font-size:9px;display:flex;align-items:center;justify-content:center;font-weight:700}.badge-next-progress{height:3px;background:#e8e2da;border-radius:2px;margin-top:6px;overflow:hidden}.badge-next-fill{height:100%;background:#d4894a;border-radius:2px}.trophy-divider{display:flex;align-items:center;gap:4px;padding:0 4px;flex-shrink:0}.trophy-divider-line{width:1px;height:30px;background:#e8e2da}.trophy-divider-dot{width:4px;height:4px;border-radius:50%;background:#d4894a}.badge-tooltip-wrap{position:relative}.badge-tooltip-wrap:hover .badge-tooltip{display:block}.badge-tooltip{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);width:200px;background:#1a1714;border:1px solid #3a3330;border-radius:10px;padding:14px;z-index:100;box-shadow:0 8px 24px #0006}.badge-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#1a1714}.content-section{margin:0 24px 24px;padding:24px;background:#fffef9;border-radius:16px;border:1px solid #E8F4F7;position:relative;box-shadow:0 4px 20px #0000000f}.content-section.worksheet{background:#fffef9;border:2px dashed #4A90A4}.content-section.answer-key{background:#fff8e1;border:2px solid #FFB74D}.answer-item .av-btn{font-size:14px;transition:all .15s;-webkit-user-select:none;user-select:none}.answer-item .av-btn:hover{transform:scale(1.2)}.answer-item{display:flex;align-items:center}.section-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid #E8F4F7}.section-feedback{display:flex;gap:4px}.section-feedback-btn{padding:6px 12px;border:1px solid #E0E0E0;background:#fffef9;border-radius:16px;cursor:pointer;font-size:12px;transition:all .2s ease}.section-feedback-btn:hover{border-color:#4a90a4}.section-feedback-btn.easy{border-color:#81c784;background:#e8f5e9}.section-feedback-btn.hard{border-color:#ffb74d;background:#fff3e0}.section-feedback-btn.perfect{border-color:#4a90a4;background:#e8f4f7}.content-h1{font-family:Playfair Display,Georgia,serif;color:#2d3436;font-size:28px;margin:0 0 16px}.content-h2{font-family:Playfair Display,Georgia,serif;color:#2d3436;font-size:22px;margin:24px 0 16px}.content-h3{font-family:Playfair Display,Georgia,serif;color:#4a90a4;font-size:18px;margin:20px 0 12px}.content-p{margin:0 0 12px;color:#2d3436;line-height:1.7;font-size:15px}.content-bullet{display:flex;gap:8px;margin-bottom:8px;padding-left:8px}.content-bullet-dot{color:#4a90a4;flex-shrink:0}.resource-link{color:#1565c0;text-decoration:none;background:linear-gradient(135deg,#e3f2fd,#bbdefb);padding:2px 8px;border-radius:4px;font-size:14px;word-break:break-all;transition:all .2s ease}.resource-link:hover{background:linear-gradient(135deg,#bbdefb,#90caf9);text-decoration:underline}.resource-link-line{margin:8px 0;padding:8px 12px;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-left:4px solid #4CAF50;border-radius:0 8px 8px 0}.resource-link-line .resource-link{background:transparent;padding:0;color:#2e7d32;font-weight:500}.resource-link-line .resource-link:hover{background:transparent;color:#1b5e20}@media print{.resource-link{color:#1565c0!important;background:none!important;padding:0!important;text-decoration:underline!important}.resource-link:after{content:" (" attr(href) ")";font-size:11px;color:#666}.resource-link-line{background:#f5f5f5!important;border-color:#999!important}}.content-bullet-text{color:#2d3436;line-height:1.6}.content-numbered{display:flex;gap:12px;margin-bottom:12px;padding:12px;background:#fffef9;border-radius:8px;border-left:3px solid #4A90A4}.content-number{color:#fffef9;background:#4a90a4;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;flex-shrink:0}.content-resource{background:#f0f8fa;border:1px solid #D4EEF5;border-radius:12px;padding:16px;margin-bottom:12px;color:#2d3436;line-height:1.6}.content-code{background:#2d3436;color:#dfe6e9;padding:16px;border-radius:8px;overflow:auto;font-size:13px;font-family:monospace;margin:16px 0;white-space:pre-wrap;word-break:break-word}.age-1-2 .content-p,.age-1-2 .content-bullet,.age-1-2 .content-bullet-text{font-size:26px;line-height:2}.age-1-2 .content-h1{font-size:46px}.age-1-2 .content-h2{font-size:38px}.age-1-2 .content-h3{font-size:32px}.age-1-2 .content-numbered{font-size:28px;padding:20px}.age-1-2 .content-number{width:40px;height:40px;font-size:20px}.age-1-2 .content-resource{font-size:24px;padding:24px}.age-1-2 .section-header h2{font-size:42px}.age-3-4 .content-p,.age-3-4 .content-bullet,.age-3-4 .content-bullet-text{font-size:22px;line-height:1.8}.age-3-4 .content-h1{font-size:42px}.age-3-4 .content-h2{font-size:34px}.age-3-4 .content-h3{font-size:28px}.age-3-4 .content-numbered{font-size:24px;padding:16px}.age-3-4 .content-number{width:36px;height:36px;font-size:18px}.age-3-4 .content-resource{font-size:22px;padding:20px}.age-3-4 .section-header h2{font-size:38px}.age-5-6 .content-p,.age-5-6 .content-bullet,.age-5-6 .content-bullet-text{font-size:20px;line-height:1.8}.age-5-6 .content-h1{font-size:38px}.age-5-6 .content-h2{font-size:30px}.age-5-6 .content-h3{font-size:26px}.age-5-6 .content-numbered{font-size:22px;padding:14px}.age-5-6 .content-number{width:34px;height:34px;font-size:17px}.age-5-6 .content-resource{font-size:20px;padding:18px}.age-5-6 .section-header h2{font-size:34px}.age-7-8 .content-p,.age-7-8 .content-bullet,.age-7-8 .content-bullet-text{font-size:18px;line-height:1.75}.age-7-8 .content-h1{font-size:34px}.age-7-8 .content-h2{font-size:28px}.age-7-8 .content-h3{font-size:24px}.age-7-8 .content-numbered{font-size:20px;padding:14px}.age-7-8 .content-number{width:32px;height:32px;font-size:16px}.age-7-8 .content-resource{font-size:18px;padding:16px}.age-7-8 .section-header h2{font-size:30px}.age-9-10 .content-p,.age-9-10 .content-bullet,.age-9-10 .content-bullet-text{font-size:16px;line-height:1.7}.age-9-10 .content-h1{font-size:30px}.age-9-10 .content-h2{font-size:24px}.age-9-10 .content-h3{font-size:20px}.age-9-10 .content-numbered{font-size:18px;padding:12px}.age-9-10 .content-number{width:30px;height:30px;font-size:15px}.age-9-10 .content-resource{font-size:16px;padding:16px}.age-9-10 .section-header h2{font-size:26px}.age-11-12 .content-p,.age-11-12 .content-bullet,.age-11-12 .content-bullet-text{font-size:15px;line-height:1.7}.age-11-12 .content-h1{font-size:28px}.age-11-12 .content-h2{font-size:22px}.age-11-12 .content-h3{font-size:18px}.age-11-12 .content-numbered{font-size:16px;padding:12px}.age-11-12 .content-number{width:28px;height:28px;font-size:14px}.age-11-12 .content-resource{font-size:15px;padding:14px}.age-11-12 .section-header h2{font-size:24px}.age-13-plus .content-p,.age-13-plus .content-bullet,.age-13-plus .content-bullet-text{font-size:14px;line-height:1.65}.age-13-plus .content-h1{font-size:26px}.age-13-plus .content-h2{font-size:20px}.age-13-plus .content-h3{font-size:17px}.age-13-plus .content-numbered{font-size:15px;padding:10px}.age-13-plus .content-number{width:26px;height:26px;font-size:13px}.age-13-plus .content-resource{font-size:14px;padding:12px}.age-13-plus .section-header h2{font-size:22px}.subject-page{counter-increment:page;width:8.5in;min-height:11in;background:#fff;margin:0 auto 30px;padding:.35in .5in;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;position:relative}.subject-page.grade-young{--student-color: #4A90A4;--student-light: #E8F4F7}.subject-page.grade-older{--student-color: #B4838D;--student-light: #F9ECEE}.subject-page[data-color="#4A90A4"]{--student-color: #4A90A4;--student-light: #E8F4F7}.subject-page[data-color="#B4838D"]{--student-color: #B4838D;--student-light: #F9ECEE}.subject-page[data-color="#7BA05B"]{--student-color: #7BA05B;--student-light: #EDF4E8}.subject-page[data-color="#D4A574"]{--student-color: #D4A574;--student-light: #FBF4EC}.subject-page[data-color="#9B7BB0"]{--student-color: #9B7BB0;--student-light: #F3EEF7}.subject-page[data-color="#5B9BD5"]{--student-color: #5B9BD5;--student-light: #E8F2FA}.subject-page[data-color="#E07B7B"]{--student-color: #E07B7B;--student-light: #FCEEEE}.subject-page[data-color="#6BC5B0"]{--student-color: #6BC5B0;--student-light: #E9F7F4}.subject-page.grade-young .page-header{padding-bottom:6px;border-bottom:3px solid var(--student-color);margin-bottom:8px;align-items:flex-start}.subject-page.grade-young .header-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;line-height:1;flex-shrink:0}.subject-page.grade-young .header-icon span{font-size:32px;line-height:1;display:block}.subject-page.grade-young .header-titles h1{font-family:Playfair Display,Georgia,serif;font-size:24px;font-weight:700;color:#2d3436;margin:0}.subject-page.grade-young .header-subtitle{font-size:14px;color:#636e72;margin-top:2px}.subject-page.grade-young .student-badge{font-size:14px;padding:5px 14px}.subject-page.grade-young .lesson-overview{padding:5px 10px;border-radius:8px;margin-bottom:5px}.subject-page.grade-young .lesson-overview h3{font-size:15px;margin-bottom:2px}.subject-page.grade-young .lesson-overview p{font-size:14px;line-height:1.35}.subject-page.grade-young .section-title{font-size:17px;font-weight:700;margin-bottom:4px}.subject-page.grade-young .section-title .mini-icon{width:22px;height:22px}.subject-page.grade-young .fun-fact-box{display:flex;align-items:flex-start;gap:6px;padding:5px 10px;background:#f8f9fa;border-radius:6px;margin-bottom:5px;font-size:13px;line-height:1.3}.subject-page.grade-young .fun-fact-box .fun-fact-icon{font-size:16px;flex-shrink:0}.subject-page.grade-young .fun-fact-box .fun-fact-content{color:#444}.subject-page.grade-young .fun-fact-box .fun-fact-content strong{color:var(--student-color);margin-right:4px}.subject-page.grade-young .reading-passage{font-size:15px;line-height:1.4;padding:6px 10px;background:#fafafa;border-radius:6px;margin-bottom:8px}.subject-page.grade-young .timeline{display:flex;align-items:center;gap:4px;padding:8px 10px;background:#fafafa;border-radius:8px;margin-bottom:8px;overflow-x:auto}.subject-page.grade-young .timeline-item{text-align:center;min-width:70px}.subject-page.grade-young .timeline-dot{width:12px;height:12px;background:var(--student-color);border-radius:50%;margin:0 auto 4px}.subject-page.grade-young .timeline-line{flex:1;height:3px;background:var(--student-color);min-width:16px}.subject-page.grade-young .timeline-date{font-size:12px;font-weight:700;color:var(--student-color)}.subject-page.grade-young .timeline-event{font-size:11px;color:#444}.subject-page.grade-young .vocab-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:0;width:100%}.subject-page.grade-young .vocab-item{background:var(--student-light);border-radius:8px;padding:8px 10px;display:flex;flex-direction:column;gap:2px}.subject-page.grade-young .vocab-word{font-size:16px;font-weight:700;color:var(--student-color);display:block}.subject-page.grade-young .vocab-def{font-size:13px;color:#444;display:block;line-height:1.3}.subject-page.grade-young .problems-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;width:100%}.subject-page.grade-young .problem-item{background:#fafafa;border:1px solid #E0E0E0;border-radius:8px;padding:5px 10px;min-height:38px;display:flex;align-items:center;gap:8px}.subject-page.grade-young .problem-number{background:var(--student-color);color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.subject-page.grade-young .problem-content{font-size:17px;font-weight:600;flex:1}.subject-page.grade-young .problem-answer{flex:1;min-width:100px;max-width:200px;height:44px;font-size:22px;border:none;border-bottom:3px solid var(--student-color);text-align:center;font-weight:600;background:transparent}.subject-page.grade-young .problem-answer.wide{min-width:150px;max-width:280px;height:44px}.subject-page.grade-young .word-problem{background:#fafafa;border:1px solid #E0E0E0;border-radius:8px;padding:8px 12px;margin-bottom:6px}.subject-page.grade-young .word-problem-text{font-size:15px;line-height:1.4;margin-bottom:6px}.subject-page.grade-young .word-problem-answer{font-size:20px;gap:12px;display:flex;align-items:center}.subject-page.grade-young .word-problem-answer label{font-size:20px;font-weight:600;color:var(--student-color)}.subject-page.grade-young .matching-activity{display:flex;gap:8px;align-items:flex-start;width:100%}.subject-page.grade-young .matching-column{flex:1}.subject-page.grade-young .matching-item{background:#fafafa;border:2px solid #E0E0E0;border-radius:8px;padding:4px 10px;margin-bottom:4px;min-height:36px;font-size:15px;display:flex;align-items:center;gap:8px}.subject-page.grade-young .matching-item .num{background:var(--student-color);color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.subject-page.grade-young .matching-item .letter-box{flex:0 0 auto;width:56px;height:32px;border:3px solid var(--student-color);border-radius:6px;margin-left:auto}.subject-page.grade-young .matching-answer{border:2px dashed var(--student-color);background:var(--student-light)}.subject-page.grade-young .matching-answer .letter{background:var(--student-color);color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.subject-page.grade-young .matching-long{display:flex;flex-direction:column;gap:6px;width:100%}.subject-page.grade-young .matching-long-item{background:#fafafa;border:2px solid #E0E0E0;border-radius:8px;padding:8px 12px;min-height:44px;font-size:15px;display:flex;align-items:center;gap:8px}.subject-page.grade-young .matching-long-item .num{background:var(--student-color);color:#fff;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}.subject-page.grade-young .matching-long-prompt{flex:1;min-width:0;word-wrap:break-word}.subject-page.grade-young .matching-long-item .letter-box{flex:0 0 auto;width:52px;height:36px;border:3px solid var(--student-color);border-radius:6px}.subject-page.grade-young .matching-long-bank{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:5px;margin-top:6px;padding:8px;background:var(--student-light);border:2px dashed var(--student-color);border-radius:8px}.subject-page.grade-young .matching-long-answer{display:flex;align-items:center;gap:6px;font-size:14px;padding:4px 6px}.subject-page.grade-young .matching-long-answer .letter{background:var(--student-color);color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.matching-drawline-instruction{font-size:18px;font-weight:700;color:var(--student-color);margin-bottom:10px;text-align:center}.matching-drawline{display:flex;gap:24px;align-items:flex-start;width:100%}.matching-drawline-col{flex:1;display:flex;flex-direction:column;gap:12px}.matching-drawline-item{display:flex;align-items:center;gap:8px;min-height:40px;font-size:17px;font-weight:500}.matching-drawline-left .matching-drawline-text{flex-shrink:0}.matching-drawline-line{flex:1;min-width:2in;height:0;display:inline-block;vertical-align:middle}.matching-drawline-dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--student-color);flex-shrink:0}.matching-drawline-right .matching-drawline-text{flex:1}.subject-page.grade-young .activity-section{padding:12px 14px;border-radius:10px;border:3px dashed var(--student-color);background:#fffef9;margin-top:auto;display:flex;flex-direction:column;flex-shrink:0}.subject-page.grade-young .activity-header h3{font-size:17px}.subject-page.grade-young .activity-instructions{font-size:15px;line-height:1.4}.subject-page.grade-young .activity-image-area{height:180px;min-height:180px}.subject-page.grade-young .footer-encouragement{font-size:14px}.subject-page.grade-young .content-p{font-size:17px;line-height:1.6}.subject-page.grade-young .content-h2{font-size:19px;margin:12px 0 8px}.subject-page.grade-young .content-h3{font-size:17px;margin:10px 0 6px}.subject-page.grade-young .content-bullet{font-size:17px}.subject-page.grade-young .content-numbered{font-size:17px;padding:10px}.subject-page.grade-older .page-header{padding-bottom:4px;border-bottom:2px solid var(--student-color);margin-bottom:6px;align-items:flex-start}.subject-page.grade-older .header-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;line-height:1;flex-shrink:0}.subject-page.grade-older .header-icon span{font-size:26px;line-height:1;display:block}.subject-page.grade-older .header-titles h1{font-family:Playfair Display,Georgia,serif;font-size:18px;font-weight:700;color:#2d3436;margin:0}.subject-page.grade-older .header-subtitle{font-size:11px;color:#636e72}.subject-page.grade-older .student-badge{font-size:11px;padding:3px 10px}.subject-page.grade-older .lesson-overview{padding:6px 10px;border-radius:6px;margin-bottom:8px}.subject-page.grade-older .lesson-overview h3{font-size:13px;margin-bottom:2px}.subject-page.grade-older .lesson-overview p{font-size:12px;line-height:1.35}.subject-page.grade-older .section-title{font-size:15px;font-weight:700;margin-bottom:4px}.subject-page.grade-older .section-title .mini-icon{width:18px;height:18px}.subject-page.grade-older .fun-fact-box{display:flex;align-items:flex-start;gap:6px;padding:5px 10px;background:#f8f9fa;border-radius:6px;margin-bottom:5px;font-size:11px;line-height:1.35}.subject-page.grade-older .fun-fact-box .fun-fact-icon{font-size:12px;flex-shrink:0}.subject-page.grade-older .fun-fact-box .fun-fact-content{color:#444}.subject-page.grade-older .fun-fact-box .fun-fact-content strong{color:var(--student-color);margin-right:3px}.subject-page.grade-older .reading-passage{font-size:12px;line-height:1.4;padding:6px 10px;background:#fafafa;border-radius:6px;margin-bottom:8px}.subject-page.grade-older .vocab-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;width:100%}.subject-page.grade-older .vocab-item{background:var(--student-light);border-radius:5px;padding:3px 8px;display:flex;flex-direction:column;gap:0px}.subject-page.grade-older .vocab-word{font-size:13px;font-weight:700;color:var(--student-color);display:block}.subject-page.grade-older .vocab-def{font-size:11px;color:#444;display:block;line-height:1.3}.subject-page.grade-older .problems-grid.three-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:4px;width:100%}.subject-page.grade-older .problems-grid.two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px;width:100%}.subject-page.grade-older .matching-activity{display:flex;gap:10px;align-items:flex-start;width:100%}.subject-page.grade-older .matching-column{flex:1}.subject-page.grade-older .matching-item{background:#fafafa;border:1px solid #E0E0E0;border-radius:6px;padding:4px 10px;margin-bottom:4px;min-height:34px;font-size:13px;display:flex;align-items:center;gap:6px}.subject-page.grade-older .matching-item .num{background:var(--student-color);color:#fff;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700}.subject-page.grade-older .matching-item .letter-box{flex:0 0 auto;width:48px;height:28px;border:2px solid var(--student-color);border-radius:4px;margin-left:auto}.subject-page.grade-older .matching-answer{border:1px dashed var(--student-color);background:var(--student-light)}.subject-page.grade-older .matching-answer .letter{background:var(--student-color);color:#fff;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.subject-page.grade-older .matching-long{display:flex;flex-direction:column;gap:4px;width:100%}.subject-page.grade-older .matching-long-item{background:#fafafa;border:1px solid #E0E0E0;border-radius:6px;padding:5px 10px;min-height:34px;font-size:12px;display:flex;align-items:center;gap:6px}.subject-page.grade-older .matching-long-item .num{background:var(--student-color);color:#fff;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.subject-page.grade-older .matching-long-prompt{flex:1;min-width:0;word-wrap:break-word}.subject-page.grade-older .matching-long-item .letter-box{flex:0 0 auto;width:42px;height:28px;border:2px solid var(--student-color);border-radius:4px}.subject-page.grade-older .matching-long-bank{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px;margin-top:5px;padding:6px 8px;background:var(--student-light);border:1px dashed var(--student-color);border-radius:6px}.subject-page.grade-older .matching-long-answer{display:flex;align-items:center;gap:5px;font-size:11px;padding:3px 4px}.subject-page.grade-older .matching-long-answer .letter{background:var(--student-color);color:#fff;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0}.subject-page.grade-older .problem-item{background:#fafafa;border:1px solid #E0E0E0;border-radius:6px;padding:8px 12px;min-height:42px;display:flex;align-items:center;gap:6px;overflow:hidden}.subject-page.grade-older .problem-number{background:var(--student-color);color:#fff;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.subject-page.grade-older .problem-content{font-size:13px;flex:1;line-height:1.35}.subject-page.grade-older .problem-answer{flex:1;min-width:60px;max-width:180px;height:34px;font-size:15px;border:none;border-bottom:2px solid var(--student-color);text-align:center;font-weight:600;background:transparent}.subject-page.grade-older .problem-answer.wide{min-width:120px;max-width:220px;height:34px}.vertical-math-grid{display:grid;gap:10px 14px;justify-content:center;width:100%}.vertical-math-card{background:#fafafa;border:1px solid #E0E0E0;border-radius:8px;padding:8px 10px 10px;display:flex;flex-direction:column;align-items:center}.vertical-math-card .vm-number{font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:flex-end}.subject-page.grade-older .vertical-math-card .vm-number{font-size:18px}.subject-page.grade-young .vertical-math-card .vm-number{font-size:24px}.vertical-math-table{border-collapse:collapse;margin:0 auto}.vertical-math-table td{text-align:center;padding:0;vertical-align:bottom;line-height:1}.subject-page.grade-older .vertical-math-table .vm-digit{width:22px;height:26px;font-size:18px;font-weight:700;font-family:Georgia,serif}.subject-page.grade-young .vertical-math-table .vm-digit{width:30px;height:34px;font-size:24px;font-weight:700;font-family:Georgia,serif}.vertical-math-table .vm-op{font-weight:700;color:var(--student-color);padding-right:4px}.subject-page.grade-older .vertical-math-table .vm-op{font-size:18px;width:24px}.subject-page.grade-young .vertical-math-table .vm-op{font-size:24px;width:30px}.vertical-math-table .vm-carry{height:16px;font-size:10px;color:#bbb;vertical-align:bottom}.subject-page.grade-young .vertical-math-table .vm-carry{height:20px;font-size:13px}.vertical-math-table .vm-line{height:3px;border:none;padding:0}.vertical-math-table .vm-line-inner{width:100%;height:2px;background:var(--student-color);border-radius:1px}.vertical-math-table .vm-answer-cell{border-bottom:2px dashed #CCC}.subject-page.grade-older .vertical-math-table .vm-answer-cell{width:22px;height:28px}.subject-page.grade-young .vertical-math-table .vm-answer-cell{width:30px;height:36px}.vertical-math-card .vm-badge{background:var(--student-color);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0;margin-bottom:4px}.subject-page.grade-older .vertical-math-card .vm-badge{width:20px;height:20px;font-size:11px}.subject-page.grade-young .vertical-math-card .vm-badge{width:24px;height:24px;font-size:12px}.measurement-grid{display:grid;gap:10px;width:100%}.measurement-item{background:#fafafa;border:1px solid #E0E0E0;border-radius:8px;padding:10px 14px;display:flex;flex-direction:column;gap:6px}.measurement-item .meas-header{display:flex;align-items:center;gap:8px}.measurement-item .meas-badge{background:var(--student-color);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.subject-page.grade-older .measurement-item .meas-badge{width:20px;height:20px;font-size:11px}.subject-page.grade-young .measurement-item .meas-badge{width:24px;height:24px;font-size:12px}.measurement-item .meas-prompt{color:#444}.subject-page.grade-older .measurement-item .meas-prompt{font-size:12px}.subject-page.grade-young .measurement-item .meas-prompt{font-size:15px}.measurement-line-area{display:flex;align-items:center;gap:10px;padding:4px 0 2px 32px}.subject-page.grade-young .measurement-line-area{padding-left:36px}.measurement-bar{height:6px;border-radius:3px;background:var(--student-color);flex-shrink:0}.subject-page.grade-young .measurement-bar{height:8px;border-radius:4px}.measurement-answer-area{display:flex;align-items:center;gap:6px;padding-left:32px}.subject-page.grade-young .measurement-answer-area{padding-left:36px}.measurement-answer-area label{color:#888}.subject-page.grade-older .measurement-answer-area label{font-size:11px}.subject-page.grade-young .measurement-answer-area label{font-size:14px}.measurement-answer-line{flex:0 0 120px;height:28px;border:none;border-bottom:2px solid var(--student-color);background:transparent}.subject-page.grade-young .measurement-answer-line{flex:0 0 150px;height:36px}.measurement-unit-label{color:#666}.subject-page.grade-older .measurement-unit-label{font-size:12px}.subject-page.grade-young .measurement-unit-label{font-size:15px}.subject-page.grade-older .word-problem{background:#fafafa;border:1px solid #E0E0E0;border-radius:6px;padding:10px 12px;margin-bottom:8px}.subject-page.grade-older .word-problem-text{font-size:13px;line-height:1.5;margin-bottom:6px}.subject-page.grade-older .word-problem-answer{font-size:14px;gap:10px;display:flex;align-items:center}.subject-page.grade-older .word-problem-answer label{font-size:14px;font-weight:600;color:var(--student-color)}.subject-page.grade-older .question-item{background:#fafafa;border:1px solid #E0E0E0;border-radius:6px;padding:10px 12px;margin-bottom:8px}.subject-page.grade-older .question-text{font-size:13px;margin-bottom:8px;display:flex;gap:8px}.subject-page.grade-older .question-num{background:var(--student-color);color:#fff;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.subject-page.grade-older .answer-lines{border-bottom:2px solid #E0E0E0;height:28px;margin-bottom:4px}.subject-page.grade-older .answer-lines.double{height:56px;border-bottom:none;background:repeating-linear-gradient(transparent,transparent 26px,#E0E0E0 26px,#E0E0E0 28px)}.subject-page.grade-older .mc-options{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px}.subject-page.grade-older .mc-option{display:flex;align-items:center;gap:6px;font-size:12px}.subject-page.grade-older .mc-option .bubble{width:18px;height:18px;border:2px solid var(--student-color);border-radius:50%;flex-shrink:0}.subject-page.grade-older .timeline{display:flex;align-items:center;gap:4px;padding:10px;background:#fafafa;border-radius:8px;overflow-x:auto}.subject-page.grade-older .timeline-item{text-align:center;min-width:80px}.subject-page.grade-older .timeline-dot{width:12px;height:12px;background:var(--student-color);border-radius:50%;margin:0 auto 4px}.subject-page.grade-older .timeline-line{flex:1;height:3px;background:var(--student-color);min-width:20px}.subject-page.grade-older .timeline-date{font-size:11px;font-weight:700;color:var(--student-color)}.subject-page.grade-older .timeline-event{font-size:10px;color:#444}.subject-page.grade-older .footer-encouragement{font-size:12px}.subject-page.grade-older .activity-section{padding:10px 12px;border-radius:8px;border:2px dashed var(--student-color);background:#fffef9;margin-top:auto;display:flex;flex-direction:column;flex-shrink:0}.subject-page.grade-older .activity-header h3{font-size:14px}.subject-page.grade-older .activity-instructions{font-size:12px;line-height:1.4}.subject-page.grade-older .activity-image-area{height:140px;min-height:140px}.subject-page.grade-older .content-p{font-size:13px;line-height:1.6}.subject-page.grade-older .content-h2{font-size:15px;margin:10px 0 6px}.subject-page.grade-older .content-h3{font-size:14px;margin:8px 0 4px}.subject-page.grade-older .content-bullet{font-size:13px}.subject-page.grade-older .content-numbered{font-size:13px;padding:8px}.subject-page[style*=--tf-h1] .header-titles h1{font-size:var(--tf-h1)!important}.subject-page[style*=--tf-h1] .header-subtitle{font-size:var(--tf-sub)!important}.subject-page[style*=--tf-h1] .header-icon span{font-size:var(--tf-ico)!important}.subject-page[style*=--tf-h1] .student-badge{font-size:var(--tf-bdg)!important}.subject-page[style*=--tf-h1] .date-line{font-size:var(--tf-dat)!important}.subject-page[style*=--tf-h1] .lesson-overview h3{font-size:var(--tf-oh)!important}.subject-page[style*=--tf-h1] .lesson-overview p{font-size:var(--tf-op)!important;line-height:var(--tf-lh)}.subject-page[style*=--tf-h1] .section-title{font-size:var(--tf-sec)!important}.subject-page[style*=--tf-h1] .section-title .desc{font-size:var(--tf-secd)!important}.subject-page[style*=--tf-h1] .fun-fact-box{font-size:var(--tf-fun)!important}.subject-page[style*=--tf-h1] .fun-fact-box .fun-fact-icon{font-size:var(--tf-fic)!important}.subject-page[style*=--tf-h1] .reading-passage{font-size:var(--tf-rdg)!important;line-height:var(--tf-lh)}.subject-page[style*=--tf-h1] .vocab-word{font-size:var(--tf-vw)!important}.subject-page[style*=--tf-h1] .vocab-def{font-size:var(--tf-vd)!important}.subject-page[style*=--tf-h1] .problem-content{font-size:var(--tf-pc)!important;line-height:var(--tf-lh)}.subject-page[style*=--tf-h1] .problem-number{font-size:var(--tf-pn)!important}.subject-page[style*=--tf-h1] .problem-answer{font-size:var(--tf-pa)!important}.subject-page[style*=--tf-h1] .matching-item{font-size:var(--tf-mi)!important}.subject-page[style*=--tf-h1] .matching-item .num,.subject-page[style*=--tf-h1] .matching-answer .letter{font-size:var(--tf-mn)!important}.subject-page[style*=--tf-h1] .word-problem-text{font-size:var(--tf-wpt)!important;line-height:var(--tf-lh)}.subject-page[style*=--tf-h1] .word-problem-answer,.subject-page[style*=--tf-h1] .word-problem-answer label{font-size:var(--tf-wpa)!important}.subject-page[style*=--tf-h1] .activity-header h3{font-size:var(--tf-ah)!important}.subject-page[style*=--tf-h1] .activity-instructions{font-size:var(--tf-ain)!important;line-height:var(--tf-lh)}.subject-page[style*=--tf-h1] .content-p{font-size:var(--tf-cp)!important;line-height:var(--tf-lh)}.subject-page[style*=--tf-h1] .content-h2{font-size:var(--tf-ch2)!important}.subject-page[style*=--tf-h1] .content-h3{font-size:var(--tf-ch3)!important}.subject-page[style*=--tf-h1] .content-bullet,.subject-page[style*=--tf-h1] .content-numbered{font-size:var(--tf-cbl)!important}.subject-page[style*=--tf-h1] .footer-encouragement{font-size:var(--tf-enc)!important}.subject-page[style*=--tf-h1] .footer-text{font-size:var(--tf-ftx)!important}.subject-page[style*=--tf-h1] .footer-page{font-size:var(--tf-fpg)!important}.subject-page[style*=--tf-h1] .question-text{font-size:var(--tf-qt)!important}.subject-page[style*=--tf-h1] .question-num{font-size:var(--tf-qn)!important}.subject-page[style*=--tf-h1] .mc-option{font-size:var(--tf-mco)!important}.subject-page[style*=--tf-h1] .timeline-date{font-size:var(--tf-tld)!important}.subject-page[style*=--tf-h1] .timeline-event{font-size:var(--tf-tle)!important}.subject-page.grade-toddler{padding:.5in!important}.subject-page.grade-toddler .problem-number,.subject-page.grade-toddler .matching-item .num,.subject-page.grade-toddler .matching-answer .letter{width:36px!important;height:36px!important}.subject-page.grade-toddler .matching-item .letter-box{width:120px!important;height:56px!important}.subject-page.grade-toddler .problem-answer{height:56px!important;min-width:120px!important}.subject-page.grade-toddler .problem-item,.subject-page.grade-toddler .matching-item{min-height:64px!important}.subject-page.grade-toddler .vocab-item{padding:12px 14px!important}.subject-page.grade-toddler .activity-image-area{height:220px!important;min-height:220px!important}.subject-page.grade-prek{padding:.5in!important}.subject-page.grade-prek .problem-number,.subject-page.grade-prek .matching-item .num,.subject-page.grade-prek .matching-answer .letter{width:30px!important;height:30px!important}.subject-page.grade-prek .matching-item .letter-box{width:110px!important;height:50px!important}.subject-page.grade-prek .problem-answer{height:50px!important}.subject-page.grade-prek .activity-image-area{height:200px!important;min-height:200px!important}.subject-page.grade-g3 .vocab-grid,.subject-page.grade-g4 .vocab-grid,.subject-page.grade-g5 .vocab-grid{grid-template-columns:1fr 1fr 1fr!important}.subject-page.grade-g3 .vocab-item,.subject-page.grade-g4 .vocab-item,.subject-page.grade-g5 .vocab-item{padding:3px 6px!important}.subject-page.grade-middle .vocab-grid,.subject-page.grade-high .vocab-grid{grid-template-columns:1fr 1fr 1fr 1fr!important}.subject-page.grade-middle .vocab-item,.subject-page.grade-high .vocab-item{padding:2px 5px!important}.subject-page.grade-middle .problem-item,.subject-page.grade-high .problem-item{min-height:32px!important;padding:4px 8px!important}.subject-page.grade-middle .matching-item,.subject-page.grade-high .matching-item{min-height:32px!important;padding:3px 8px!important}.subject-page.grade-middle .activity-image-area,.subject-page.grade-high .activity-image-area{height:100px!important;min-height:100px!important}.subject-page.grade-middle .page-header,.subject-page.grade-high .page-header{margin-bottom:4px!important}.subject-page.grade-middle .lesson-overview,.subject-page.grade-high .lesson-overview{padding:4px 8px!important}.subject-page.grade-g3,.subject-page.grade-g4,.subject-page.grade-g5,.subject-page.grade-middle,.subject-page.grade-high{font-family:system-ui,Arial,Helvetica,sans-serif!important}.subject-page.grade-g3 h1,.subject-page.grade-g4 h1,.subject-page.grade-g5 h1,.subject-page.grade-middle h1,.subject-page.grade-high h1{font-family:Playfair Display,Georgia,serif!important}.subject-page .word-bank{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;margin:4px 0 8px;background:var(--student-light, #F5F5F5);border:2px dashed var(--student-color, #636E72);border-radius:10px}.subject-page .word-bank-label{font-size:11px;font-weight:700;color:var(--student-color, #636E72);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;padding-right:4px}.subject-page .word-bank-pills{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.subject-page .word-bank-pill{display:inline-flex;align-items:center;padding:4px 12px;background:#fff;border:2px solid var(--student-color, #636E72);border-radius:20px;font-weight:600;font-size:13px;color:#333;white-space:nowrap}.subject-page.grade-young .word-bank{padding:10px 14px;gap:10px}.subject-page.grade-young .word-bank-label{font-size:13px}.subject-page.grade-young .word-bank-pills{gap:8px}.subject-page.grade-young .word-bank-pill{padding:5px 14px;font-size:15px;border-radius:22px}.subject-page.grade-older .word-bank{padding:6px 10px;gap:6px;margin:3px 0 6px}.subject-page.grade-older .word-bank-label{font-size:10px}.subject-page.grade-older .word-bank-pill{padding:3px 10px;font-size:11px;border-width:1.5px;border-radius:16px}.subject-page .matching-long{display:flex;flex-direction:column;gap:5px;width:100%}.subject-page .matching-long-item{background:#fafafa;border:1px solid #E0E0E0;border-radius:6px;padding:6px 10px;min-height:36px;display:flex;align-items:center;gap:6px}.subject-page .matching-long-item .num{background:var(--student-color, #636E72);color:#fff;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.subject-page .matching-long-prompt{flex:1;min-width:0;word-wrap:break-word;overflow-wrap:break-word}.subject-page .matching-long-item .letter-box{flex:0 0 auto;width:48px;height:32px;border:2px solid var(--student-color, #636E72);border-radius:4px}.subject-page .matching-long-bank{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px;margin-top:6px;padding:8px;background:var(--student-light, #F5F5F5);border:2px dashed var(--student-color, #636E72);border-radius:6px}.subject-page .matching-long-answer{display:flex;align-items:center;gap:5px;padding:3px 4px}.subject-page .matching-long-answer .letter{background:var(--student-color, #636E72);color:#fff;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0}.page-header{display:flex;align-items:center;justify-content:space-between}.header-left{display:flex;align-items:center;gap:12px}.header-icon svg{width:100%;height:100%}.header-right{text-align:right}.student-badge{display:inline-block;background:var(--student-color);color:#fff;border-radius:12px;font-weight:600;margin-bottom:4px}.date-line{font-size:11px;color:#636e72}.feedback-adapted-badge{font-size:10px;color:#6366f1;margin-top:2px;font-style:italic}@media print{.feedback-adapted-badge{display:none!important}}.name-line{margin-top:4px;font-size:12px;color:#636e72}.name-line input{border:none;border-bottom:1px solid #ccc;width:100px;font-size:inherit;background:transparent}.page-content{flex:1;display:flex;flex-direction:column;min-height:0;align-items:stretch}.subject-page .content-section{margin:0 0 8px!important;padding:0!important;background:transparent!important;border:none!important;border-radius:0!important;box-shadow:none!important}.subject-page.grade-young .content-section{margin-bottom:6px!important}.subject-page.grade-older .content-section{margin-bottom:5px!important}.lesson-overview{background:var(--student-light);padding:6px 10px;margin-bottom:8px;border-radius:6px}.lesson-overview h3{font-weight:700;color:var(--student-color);margin:0}.lesson-overview p{color:#2d3436;margin:0}.page-content-section{margin-bottom:10px}.subject-page .section-title{color:#2d3436;display:flex;align-items:center;gap:8px;margin:0 0 4px;padding:0;font-size:inherit}.activity-section{background:#fffef9;border:2px dashed var(--student-color);margin-top:auto}.activity-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.activity-header h3{font-weight:700;color:var(--student-color);margin:0}.activity-header .mini-icon{width:22px;height:22px}.activity-instructions{color:#444;margin-bottom:10px}.activity-image-area{background:#fff;border:1px solid #E0E0E0;border-radius:8px;min-height:80px;display:flex;align-items:center;justify-content:center}.page-footer{display:flex;align-items:center;justify-content:space-between;padding-top:3px;border-top:1px solid #E0E0E0;margin-top:auto;flex-wrap:wrap}.footer-left{display:flex;align-items:center;gap:6px}.footer-icon{width:20px;height:20px;opacity:.6}.footer-text{font-size:10px;color:#9e9e9e}.footer-encouragement{color:var(--student-color);font-weight:600;font-style:italic}.footer-page{font-size:10px;color:#9e9e9e}.footer-page:after{content:" · Worksheet " counter(page)}@media screen{.footer-page:after{display:none}}.school-info-footer-line{width:100%;text-align:center;font-size:9px;color:#aaa;margin-top:4px}.concept-cards-section{margin-bottom:10px}.concept-cards-grid{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.concept-card{background:#fff;border:1px solid #E2E8F0;border-radius:10px;padding:8px 12px;text-align:center;min-width:80px;flex:0 1 auto}.concept-symbol{line-height:1.2;margin-bottom:2px}.concept-primary{font-size:13px;font-weight:600}.concept-secondary{font-size:11px;color:#666}.bonus-section{border:2px dashed var(--student-color);border-radius:8px;padding:8px 12px;margin-top:8px;page-break-inside:avoid}.bonus-title{font-weight:700;font-size:14px;color:#d97706;margin-bottom:4px}.bonus-items{display:flex;flex-wrap:wrap;gap:12px}.bonus-item{font-size:13px}.native-title{font-weight:400;opacity:.7}.mandarin-page .cjk-cards-section{margin-bottom:12px}.mandarin-page .cjk-cards-grid{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.mandarin-page .cjk-card{background:#fff;border:1px solid #E2E8F0;border-radius:10px;padding:10px 14px;text-align:center;min-width:100px;flex:0 1 auto}.mandarin-page .cjk-char{line-height:1.2;margin-bottom:4px}.mandarin-page .cjk-pinyin{font-size:14px;font-weight:600;margin-bottom:2px}.mandarin-page .cjk-meaning{font-size:11px;color:#666}.mandarin-page .cjk-writing-box{flex:1;min-height:200px;border:3px dashed var(--student-color);border-radius:10px;background:#fffef9;display:flex;align-items:center;justify-content:center;margin-top:12px}.mandarin-page .cjk-writing-label{font-size:16px;color:#b2bec3;font-style:italic;font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif}.subject-page.answer-key-page{background:#f8f9fa}.subject-page.answer-key-page .page-header{border-bottom-color:#636e72}.subject-page.answer-key-page .student-badge{background:#636e72}.answer-section{margin-bottom:16px}.answer-section h4{font-size:14px;margin-bottom:8px;display:flex;align-items:center;gap:8px}.answer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.answer-list{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.answer-list.single-col{grid-template-columns:1fr}.answer-item{background:#fff;border:1px solid #E0E0E0;border-radius:4px;padding:6px 10px;font-size:12px;display:flex;gap:8px}.answer-item .q{color:#636e72;font-weight:600}.answer-item .a{color:#2d3436}.answer-section-title{font-size:14px;font-weight:700;margin-bottom:8px;padding-bottom:4px;border-bottom:2px solid}.teaching-notes{margin-top:20px;padding:16px;background:#f8f9fa;border-radius:8px;border-left:4px solid #636E72}.teaching-notes h4{color:#2d3436;margin-bottom:8px;font-size:14px}.teaching-notes p{font-size:12px;color:#444;line-height:1.6;margin-bottom:8px}.teaching-notes p:last-child{margin-bottom:0}.subject-page.answer-key-page{max-height:none;overflow:visible;height:auto;min-height:auto}.page-fold-indicator{width:100%;border:none;border-top:2px dashed #CCC;margin:8px 0;position:relative;page-break-after:auto}.page-fold-indicator:after{content:"— page break —";position:absolute;top:-10px;left:50%;transform:translate(-50%);background:#fff;padding:0 8px;font-size:10px;color:#bbb;white-space:nowrap}.activity-box{background:#fffef9;border:2px solid #E8F4F7;border-radius:12px;padding:20px;margin:16px 0}.activity-box.hands-on{border-color:#81c784;background:#f1f8e9}.activity-box.video{border-color:#64b5f6;background:#e3f2fd}.activity-box.worksheet{border-color:#ffb74d;background:#fff8e1}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000a6;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal{background:#fffef9;border-radius:24px;padding:32px;max-width:600px;width:100%;max-height:90vh;overflow:auto;box-shadow:0 24px 64px #0003}.modal.wide{max-width:900px}.modal.extra-wide{max-width:1100px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.modal-header h2{margin:0;font-family:Playfair Display,Georgia,serif;color:#2d3436}.modal-close{background:none;border:none;font-size:28px;cursor:pointer;color:#636e72;line-height:1}.modal p{color:#636e72;margin-bottom:16px}.modal label{display:block;font-size:14px;font-weight:600;color:#2d3436;margin-bottom:8px}.modal input,.modal textarea,.modal select{width:100%;padding:14px;border-radius:12px;border:2px solid #E8F4F7;font-size:16px;font-family:Source Sans Pro,sans-serif;margin-bottom:16px}.modal input:focus,.modal textarea:focus,.modal select:focus{outline:none;border-color:#4a90a4}.modal textarea{min-height:100px;resize:vertical}.modal-btn{width:100%;margin-top:8px;padding:14px;color:#fffef9;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;font-family:Source Sans Pro,sans-serif}.modal-btn:disabled{background:#b2bec3;cursor:not-allowed}.modal-btn.both{background:#6c5b7b}.modal-btn.daily{background:#4a90a4}.modal-btn.topic{background:#6c5b7b}.modal-btn.report{background:#c06c84}.modal-btn.secondary{background:#636e72}.day-curriculum-preview{background:#f8f9fa;border-radius:12px;padding:16px;margin:16px 0;max-height:300px;overflow-y:auto}.day-curriculum-preview h4{margin:0 0 12px;color:#2d3436}.curriculum-snippet{font-size:14px;color:#636e72;line-height:1.6}.day-sections-feedback{margin:20px 0}.day-sections-feedback h4{margin:0 0 12px;font-size:16px;color:#2d3436}.section-feedback-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#fffef9;border:1px solid #E8F4F7;border-radius:8px;margin-bottom:8px}.section-feedback-item .section-name{font-weight:600;color:#2d3436}.section-feedback-buttons{display:flex;gap:4px}.fb-btn{padding:6px 12px;border:1px solid #E0E0E0;background:#fffef9;border-radius:16px;cursor:pointer;font-size:12px;transition:all .2s ease}.fb-btn:hover{background:#f0f0f0}.fb-btn.selected.easy{background:#e8f5e9;border-color:#81c784;color:#2e7d32}.fb-btn.selected.perfect{background:#e8f4f7;border-color:#4a90a4;color:#1565c0}.fb-btn.selected.hard{background:#fff3e0;border-color:#ffb74d;color:#e65100}.quick-dates{display:flex;gap:12px;margin-bottom:16px}.quick-date-btn{flex:1;padding:16px;background:#e8f4f7;border:2px solid #4A90A4;border-radius:12px;cursor:pointer;text-align:center;transition:all .2s ease}.quick-date-btn:hover{background:#4a90a4;color:#fffef9}.quick-date-btn .day{font-size:18px;font-weight:600;display:block;margin-bottom:4px}.quick-date-btn .date{font-size:13px;color:#636e72}.quick-date-btn:hover .date{color:#fffc}.date-divider{display:flex;align-items:center;gap:16px;margin:20px 0;color:#b2bec3;font-size:14px}.date-divider:before,.date-divider:after{content:"";flex:1;height:1px;background:#e0e0e0}.day-schedule{background:#e8f4f7;border-radius:8px;padding:12px;margin-bottom:16px;font-size:13px;color:#4a90a4}.day-schedule strong{color:#2d3436}.student-tag{display:inline-block;padding:4px 12px;border-radius:12px;font-size:14px;color:#fffef9}.student-tag.both{background:#6c5b7b}.footer{display:block;width:100%;clear:both;text-align:center;margin-top:60px;padding-bottom:40px;color:#b2bec3;font-size:14px;flex-shrink:0}.loading-indicator{display:flex;align-items:center;gap:8px;margin-top:16px;color:#4a90a4;font-size:14px}.attendance-toggle{display:flex;gap:12px;margin-bottom:16px}.attendance-btn{flex:1;padding:16px;border-radius:12px;border:2px solid #E0E0E0;background:#fffef9;cursor:pointer;text-align:center;transition:all .2s ease}.attendance-btn:hover{border-color:#4a90a4}.attendance-btn.active{border-color:#81c784;background:#e8f5e9}.attendance-btn .att-icon{font-size:24px;margin-bottom:4px}.attendance-btn .att-label{font-size:14px;font-weight:600;color:#2d3436}.subjects-checklist{display:flex;flex-wrap:wrap;gap:8px}.subject-chip{padding:8px 14px;border-radius:20px;border:1px solid #E0E0E0;background:#fffef9;cursor:pointer;font-size:13px;transition:all .2s ease}.subject-chip:hover{border-color:#4a90a4}.subject-chip.selected{background:#4a90a4;color:#fffef9;border-color:#4a90a4}.feedback-section{background:#f8f9fa;border-radius:12px;padding:16px;margin-bottom:20px}.feedback-section h4{margin:0 0 12px;font-size:15px;color:#2d3436}.feedback-options{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.feedback-chip{padding:8px 14px;background:#fffef9;border:1px solid #E0E0E0;border-radius:20px;cursor:pointer;font-size:13px;transition:all .2s ease}.feedback-chip:hover{border-color:#4a90a4}.feedback-chip.selected{background:#4a90a4;color:#fffef9;border-color:#4a90a4}.feedback-chip.selected.easy{background:#81c784;border-color:#81c784}.feedback-chip.selected.hard{background:#ffb74d;border-color:#ffb74d}.feedback-panel,.feedback-panel-header{display:none}.worksheet-row{display:flex;justify-content:center;gap:14px;margin-bottom:30px;align-items:flex-start}.worksheet-row .subject-page{margin:0;flex-shrink:0}.fb-sidebar{width:240px;flex-shrink:0;position:sticky;top:16px;max-height:calc(100vh - 32px);overflow-y:auto;background:#fafbfc;border:1px solid #E0E6ED;border-radius:10px;padding:10px;font-size:12px}.fb-sidebar::-webkit-scrollbar{width:4px}.fb-sidebar::-webkit-scrollbar-thumb{background:#ccc;border-radius:2px}.fb-sidebar-header{display:flex;align-items:center;gap:6px;padding-bottom:8px;border-bottom:1px solid #E8ECF0;margin-bottom:8px}.fb-sidebar-header h4{font-size:13px;font-weight:700;color:#2d3436;margin:0;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fb-sidebar-header .fb-auto-badge{font-size:9px;padding:2px 6px;border-radius:8px;background:#d1fae5;color:#065f46;font-weight:600;white-space:nowrap}.fb-section-row{padding:6px 0;border-bottom:1px solid #F0F2F5}.fb-section-row:last-of-type{border-bottom:none}.fb-section-label{font-size:11px;font-weight:600;color:#2d3436;margin-bottom:4px;display:flex;align-items:center;gap:4px}.fb-section-label .fb-type-tag{font-size:9px;font-weight:600;color:#636e72;background:#eef0f3;padding:1px 5px;border-radius:3px;text-transform:uppercase}.fb-scale-row{display:flex;gap:3px}.fb-btn-s{width:30px;height:30px;border-radius:50%;border:2px solid #E0E0E0;background:#fff;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:transform .1s,border-color .1s;padding:0;flex-shrink:0}.fb-btn-s:hover{transform:scale(1.15);border-color:#aaa}.fb-btn-s.sel{transform:scale(1.1);box-shadow:0 1px 4px #00000026}.fb-time-row{display:flex;align-items:center;gap:4px;padding:6px 0 2px;flex-wrap:wrap}.fb-time-row label{font-size:10px;color:#636e72;margin-right:2px}.fb-t-btn{padding:2px 6px;border:1px solid #E0E0E0;border-radius:8px;background:#fff;font-size:10px;cursor:pointer;color:#636e72}.fb-t-btn:hover{border-color:#aaa}.fb-t-btn.sel{color:#fff}.fb-notes-toggle-btn{background:none;border:none;font-size:10px;color:#636e72;cursor:pointer;padding:2px 4px;margin-left:auto}.fb-notes-toggle-btn:hover{color:#2d3436}.fb-notes-area textarea{width:100%;padding:4px 6px;border:1px solid #E0E0E0;border-radius:4px;font-size:11px;min-height:32px;resize:vertical;box-sizing:border-box;margin-top:4px}.fb-overall-bar{width:8.5in;flex-shrink:0;background:#fafbfc;border:1px solid #E0E6ED;border-radius:10px;padding:12px 14px;box-sizing:border-box}.fb-overall-bar label{font-size:12px;font-weight:600;color:#2d3436;display:block;margin-bottom:4px}.fb-overall-bar textarea{width:100%;padding:6px 8px;border:1px solid #E0E0E0;border-radius:6px;font-size:12px;min-height:40px;resize:vertical;box-sizing:border-box}.fb-overall-bar .fb-status{display:flex;align-items:center;justify-content:space-between;margin-top:8px;font-size:11px;color:#636e72}.fb-overall-bar .fb-status .saved-indicator{color:#10b981;font-weight:600}.fb-quick-btns-row{display:flex;gap:4px;flex-wrap:wrap}.fb-qk{padding:4px 10px;border:1px solid #E0E0E0;border-radius:6px;background:#fff;font-size:11px;cursor:pointer;color:#636e72}.fb-qk:hover{background:#f0f4f8}@media(max-width:1100px){.worksheet-row{flex-direction:column;align-items:center}.fb-sidebar{position:static;width:8.5in;max-width:100%;max-height:none;margin-top:8px}.fb-sidebar-spacer{display:none}.fb-overall-bar{width:auto;max-width:100%}}.scale-legend{display:flex;justify-content:center;gap:20px;margin-bottom:16px;font-size:11px;color:#636e72}.scale-legend-item{display:flex;align-items:center;gap:5px}.scale-legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.feedback-student-tabs{display:flex;gap:8px;margin-bottom:16px}.feedback-student-tab{padding:8px 16px;border-radius:20px;border:2px solid #E0E0E0;background:#fffef9;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s}.feedback-quick-actions{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}.feedback-quick-btn{padding:6px 14px;border-radius:20px;border:1px solid #E0E0E0;background:#fffef9;font-size:12px;cursor:pointer;transition:all .2s}.feedback-quick-btn:hover{background:#f8f9fa;border-color:#b2bec3}.feedback-lesson{background:#f8f9fa;border-radius:12px;padding:14px 16px;margin-bottom:10px}.feedback-lesson-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.feedback-lesson-name{font-weight:600;font-size:14px;color:#2d3436}.difficulty-scale{display:flex;gap:5px}.difficulty-btn{width:40px;height:40px;border-radius:50%;border:2px solid #E0E0E0;background:#fffef9;cursor:pointer;font-size:17px;display:flex;align-items:center;justify-content:center;transition:all .15s;position:relative}.difficulty-btn:hover{transform:scale(1.12);border-color:#b2bec3}.difficulty-btn.selected{transform:scale(1.15);border-width:3px;box-shadow:0 2px 8px #0000001f}.difficulty-btn .rl{display:none;position:absolute;bottom:-18px;left:50%;transform:translate(-50%);font-size:8px;white-space:nowrap;color:#636e72;font-weight:600}.difficulty-btn:hover .rl,.difficulty-btn.selected .rl{display:block}.feedback-extras{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap;align-items:center}.time-presets{display:flex;gap:4px;align-items:center}.time-preset{padding:3px 9px;border-radius:14px;border:1px solid #E0E0E0;background:#fffef9;font-size:11px;cursor:pointer;transition:all .15s}.time-preset:hover{border-color:#b2bec3}.time-preset.sel{color:#fff}.fb-notes-toggle{font-size:12px;color:#636e72;cursor:pointer;border:none;background:none;text-decoration:underline;padding:2px 4px}.fb-lesson-notes{margin-top:8px}.fb-lesson-notes textarea{width:100%;padding:8px 12px;border:1px solid #E0E0E0;border-radius:8px;font-size:13px;resize:vertical;min-height:48px;box-sizing:border-box}.feedback-submitted{background:#e8f5e9;border-radius:12px;padding:20px;text-align:center}.feedback-submitted h4{color:#2e7d32;margin:0 0 8px;font-size:16px}.adj-display{margin-top:16px;text-align:left}.adj-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#fffef9;border-radius:8px;margin-bottom:6px;font-size:13px}.adj-item-name{font-weight:600;color:#2d3436}.adj-bar{width:100px;height:8px;background:#e0e0e0;border-radius:4px;overflow:visible;position:relative}.adj-bar-center{position:absolute;left:50%;top:-1px;width:2px;height:10px;background:#b2bec3}.adj-bar-fill{height:100%;border-radius:4px;position:absolute;top:0}.adj-val{font-size:11px;color:#636e72;min-width:40px;text-align:right}.history-list{max-height:400px;overflow-y:auto}.history-item{padding:16px;border:1px solid #E8F4F7;border-radius:12px;margin-bottom:12px;cursor:pointer;transition:all .2s ease}.history-item:hover{background:#f8f9fa;border-color:#4a90a4}.history-item-title{font-weight:600;color:#2d3436;margin-bottom:4px}.history-item-meta{font-size:13px;color:#636e72;display:flex;justify-content:space-between;align-items:center}.history-item-type{background:#e8f4f7;padding:2px 8px;border-radius:4px;font-size:11px;text-transform:uppercase}.history-empty{text-align:center;padding:40px;color:#b2bec3}.history-delete{background:none;border:none;color:#e57373;cursor:pointer;font-size:18px;padding:4px 8px;border-radius:4px}.history-delete:hover{background:#ffebee}.reports-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:32px}.report-card{background:#fffef9;border-radius:16px;padding:24px;border:2px solid #E8F4F7;cursor:pointer;transition:all .2s ease}.report-card:hover{border-color:#4a90a4;transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.report-card.disabled{opacity:.6;cursor:not-allowed}.report-card.disabled:hover{border-color:#e8f4f7;transform:none;box-shadow:none}.report-card .report-icon{font-size:40px;margin-bottom:16px}.report-card h4{margin:0 0 8px;font-family:Playfair Display,Georgia,serif;font-size:20px;color:#2d3436}.report-card p{margin:0;font-size:14px;color:#636e72;line-height:1.5}.report-card.nc-compliance{border-left:4px solid #81C784}.report-card.attendance{border-left:4px solid #4A90A4}.report-card.progress{border-left:4px solid #B4838D}.report-card.curriculum{border-left:4px solid #6C5B7B}.report-section{background:#fff;border-radius:12px;padding:24px;margin-bottom:20px;border:1px solid #E8E8E8}.report-section h3{margin:0 0 16px;font-family:Playfair Display,Georgia,serif;font-size:18px;color:#2d3436;display:flex;align-items:center;gap:8px}.report-section h3 .badge{font-size:11px;padding:2px 8px;border-radius:10px;font-family:Inter,sans-serif;font-weight:600}.compliance-meter{display:flex;align-items:center;gap:16px;padding:16px;background:#f8f9fa;border-radius:10px;margin-bottom:16px}.compliance-meter .meter-ring{position:relative;width:80px;height:80px;flex-shrink:0}.compliance-meter .meter-ring svg{transform:rotate(-90deg)}.compliance-meter .meter-pct{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:18px;font-weight:700;color:#2d3436}.compliance-meter .meter-details{flex:1}.compliance-meter .meter-details .meter-label{font-size:14px;font-weight:600;color:#2d3436;margin-bottom:4px}.compliance-meter .meter-details .meter-sub{font-size:12px;color:#636e72;line-height:1.5}.compliance-checklist{list-style:none;padding:0;margin:0}.compliance-checklist li{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid #F0F0F0;font-size:13px;color:#2d3436}.compliance-checklist li:last-child{border-bottom:none}.compliance-checklist .check-icon{font-size:16px;flex-shrink:0;margin-top:1px}.compliance-checklist .check-text{flex:1}.compliance-checklist .check-detail{font-size:12px;color:#636e72;margin-top:2px}.report-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:16px}.report-stat-card{background:#f8f9fa;border-radius:10px;padding:16px;text-align:center}.report-stat-card .stat-num{font-size:28px;font-weight:700;margin-bottom:4px}.report-stat-card .stat-label{font-size:11px;color:#636e72;text-transform:uppercase;letter-spacing:.5px}.report-chart-container{margin:16px 0;padding:16px;background:#fafafa;border-radius:10px}.report-chart-container svg{width:100%;height:auto;display:block}.report-chart-title{font-size:13px;font-weight:600;color:#2d3436;margin-bottom:12px}.report-table{width:100%;border-collapse:collapse;font-size:13px}.report-table th{text-align:left;padding:10px 12px;background:#f8f9fa;border-bottom:2px solid #E0E0E0;font-weight:600;color:#2d3436;font-size:12px;text-transform:uppercase;letter-spacing:.3px}.report-table td{padding:10px 12px;border-bottom:1px solid #F0F0F0;color:#444}.report-table tr:hover td{background:#fafafa}.report-table .status-pill{display:inline-block;padding:2px 10px;border-radius:12px;font-size:11px;font-weight:600}.att-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:12px 0}.att-cal-header{text-align:center;font-size:10px;font-weight:600;color:#9e9e9e;padding:4px;text-transform:uppercase}.att-cal-day{text-align:center;padding:6px 2px;border-radius:6px;font-size:11px;min-height:28px;display:flex;align-items:center;justify-content:center}.att-cal-day.attended{background:#e8f5e9;color:#2e7d32;font-weight:600}.att-cal-day.absent{background:#ffebee;color:#c62828;font-weight:600}.att-cal-day.sick{background:#fff3e0;color:#e65100;font-weight:600}.att-cal-day.holiday{background:#e8eaf6;color:#283593;font-weight:600}.att-cal-day.empty{background:transparent}.att-cal-day.today{box-shadow:inset 0 0 0 2px #4a90a4}.att-legend{display:flex;gap:16px;flex-wrap:wrap;margin:12px 0}.att-legend-item{display:flex;align-items:center;gap:6px;font-size:11px;color:#636e72}.att-legend-dot{width:10px;height:10px;border-radius:3px}.report-tabs{display:flex;gap:4px;margin-bottom:20px;background:#f0f0f0;border-radius:10px;padding:4px;overflow-x:auto}.report-tab{padding:10px 16px;border-radius:8px;border:none;background:transparent;cursor:pointer;font-size:13px;font-weight:500;color:#636e72;white-space:nowrap;transition:all .2s}.report-tab:hover{color:#2d3436;background:#e8e8e8}.report-tab.active{background:#fff;color:#2d3436;font-weight:600;box-shadow:0 1px 3px #0000001a}.report-student-selector{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.report-student-chip{padding:8px 16px;border-radius:20px;border:2px solid #E0E0E0;cursor:pointer;font-size:13px;font-weight:500;display:flex;align-items:center;gap:6px;transition:all .2s}.report-student-chip:hover{border-color:#4a90a4}.report-student-chip.active{border-color:var(--chip-color, #4A90A4);background:var(--chip-bg, #E8F4F7);font-weight:600}.growth-indicator{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:600}.growth-indicator.up{color:#2e7d32}.growth-indicator.down{color:#c62828}.growth-indicator.flat{color:#636e72}.subject-mastery-row{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid #F0F0F0}.subject-mastery-row:last-child{border-bottom:none}.subject-mastery-row .subj-icon{font-size:18px;width:28px;text-align:center}.subject-mastery-row .subj-name{font-size:13px;font-weight:500;color:#2d3436;flex:1;min-width:100px}.subject-mastery-row .subj-bar-wrap{flex:2;min-width:120px}.subject-mastery-bar{height:8px;background:#f0f0f0;border-radius:4px;overflow:hidden}.subject-mastery-bar .fill{height:100%;border-radius:4px;transition:width .3s}.subject-mastery-row .subj-pct{font-size:12px;font-weight:600;width:40px;text-align:right}.subject-mastery-row .subj-sessions{font-size:11px;color:#9e9e9e;width:50px;text-align:center}.report-export-bar{display:flex;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid #F0F0F0}.report-export-btn{padding:8px 16px;border-radius:8px;border:1px solid #E0E0E0;background:#fff;cursor:pointer;font-size:12px;font-weight:500;display:flex;align-items:center;gap:6px;transition:all .2s}.report-export-btn:hover{background:#f0f0f0;border-color:#ccc}.report-export-btn.primary{background:#4a90a4;color:#fff;border-color:#4a90a4}.report-export-btn.primary:hover{background:#3d7a8c}@media print{.report-tabs,.report-student-selector,.report-export-bar,.report-export-btn{display:none!important}.report-section{break-inside:avoid;page-break-inside:avoid;border:none;padding:12px 0}.report-banner-print{display:block!important}}@media print{.report-print-running-header{position:fixed;top:0;left:0;right:0;display:flex!important;justify-content:space-between;align-items:center;padding:6pt 0;border-bottom:1.5pt solid #2D3436;font-size:8pt;color:#636e72;font-family:Inter,sans-serif;z-index:10000;background:#fff}.report-print-running-header span:first-child{font-weight:600;color:#2d3436;font-size:9pt}.report-print-running-footer{position:fixed;bottom:0;left:0;right:0;display:flex!important;justify-content:space-between;align-items:center;padding:6pt 0;border-top:.75pt solid #CCCCCC;font-size:7pt;color:#999;font-family:Inter,sans-serif;z-index:10000;background:#fff}body.printing-report .progress-report-wrapper{margin-top:28pt!important;margin-bottom:24pt!important}body.printing-report .report-banner,body.printing-report .progress-hero,body.printing-report .progress-hero-avatar,body.printing-report .progress-kpi:before,body.printing-report .benchmark-badge,body.printing-report .streak-badge,body.printing-report .calibration-badge,body.printing-report .student-interests-tags span{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important}body.printing-report .report-banner{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important;background:linear-gradient(135deg,#1a2332,#2d3e50)!important;border-radius:8pt!important;padding:16pt 20pt!important;margin-bottom:14pt!important;page-break-inside:avoid!important;break-inside:avoid!important}body.printing-report .report-banner-school-name{font-size:15pt!important}body.printing-report .report-banner-admin,body.printing-report .report-banner-address{font-size:8pt!important}body.printing-report .report-banner-title{font-size:12pt!important}body.printing-report .report-banner-date,body.printing-report .report-banner-period{font-size:8pt!important}body.printing-report .report-banner-reg{font-size:7pt!important}body.printing-report .progress-hero{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background:#f8f9fa!important;padding:14pt!important;border-radius:8pt!important;margin-bottom:14pt!important;page-break-inside:avoid!important;break-inside:avoid!important;page-break-after:avoid!important;break-after:avoid!important;border:.5pt solid #E0E0E0!important}body.printing-report .progress-hero-avatar{width:52pt!important;height:52pt!important;font-size:26pt!important}body.printing-report .progress-hero-name{font-size:16pt!important}body.printing-report .progress-hero-meta{font-size:9pt!important;gap:8pt!important}body.printing-report .student-detail-grid{grid-template-columns:repeat(3,1fr)!important;gap:8pt!important;margin-top:10pt!important;padding-top:10pt!important}body.printing-report .student-detail-item .sdi-label{font-size:7pt!important}body.printing-report .student-detail-item .sdi-value{font-size:9pt!important}body.printing-report .student-interests-tags span{font-size:8pt!important;padding:1pt 6pt!important}body.printing-report .progress-kpi-strip{grid-template-columns:repeat(auto-fit,minmax(90pt,1fr))!important;gap:6pt!important;margin-bottom:14pt!important;page-break-inside:avoid!important;break-inside:avoid!important}body.printing-report .progress-kpi{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;padding:10pt!important;border:.5pt solid #E0E0E0!important;border-radius:6pt!important}body.printing-report .progress-kpi .kpi-val{font-size:18pt!important}body.printing-report .progress-kpi .kpi-label,body.printing-report .progress-kpi .kpi-sub{font-size:7pt!important}body.printing-report .report-section{background:#fff!important;border:.5pt solid #E0E0E0!important;border-radius:6pt!important;padding:14pt 16pt!important;margin-bottom:12pt!important;page-break-inside:avoid!important;break-inside:avoid!important}body.printing-report .report-section h3{font-size:13pt!important;margin-bottom:10pt!important;page-break-after:avoid!important;break-after:avoid!important}body.printing-report .report-section:has(.subject-mastery-row:nth-child(8)){page-break-inside:auto!important;break-inside:auto!important}body.printing-report .report-section:has(.feedback-impact-row:nth-child(6)){page-break-inside:auto!important;break-inside:auto!important}body.printing-report .subject-mastery-row,body.printing-report .feedback-impact-row,body.printing-report .benchmark-row{page-break-inside:avoid!important;break-inside:avoid!important}body.printing-report .report-chart-container{max-width:100%!important;overflow:visible!important;page-break-inside:avoid!important;break-inside:avoid!important}body.printing-report .report-chart-container svg{max-width:100%!important;height:auto!important}body.printing-report .radar-container{page-break-inside:avoid!important;break-inside:avoid!important}body.printing-report .radar-container svg{max-width:220pt!important}body.printing-report .heatmap-grid{page-break-inside:avoid!important;break-inside:avoid!important}body.printing-report .heatmap-cell{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}body.printing-report .benchmark-badge,body.printing-report .streak-badge,body.printing-report .calibration-badge{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;border:.5pt solid currentColor!important}body.printing-report .benchmark-badge.ahead{border-color:#065f46!important}body.printing-report .benchmark-badge.on-track{border-color:#1e40af!important}body.printing-report .benchmark-badge.developing{border-color:#92400e!important}body.printing-report .benchmark-badge.needs-support{border-color:#991b1b!important}body.printing-report .stat-strip{page-break-inside:avoid!important;break-inside:avoid!important}body.printing-report .stat-mini{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;border:.5pt solid #E0E0E0!important}body.printing-report .comparison-note{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;border-left:2pt solid #4A90A4!important}body.printing-report .report-section:has(.radar-container){page-break-inside:avoid!important;break-inside:avoid!important}body.printing-report .mastery-category-row{page-break-inside:avoid!important;break-inside:avoid!important}body.printing-report .report-section div[style*="height:10px"],body.printing-report .report-section div[style*="border-radius:8px"],body.printing-report .progress-hero div[style*="border-left:3px"],body.printing-report .subject-mastery-bar,body.printing-report .subject-mastery-bar .fill{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}body.printing-report *{box-shadow:none!important;transition:none!important}body.printing-report .left-panel,body.printing-report .right-panel,body.printing-report .header,body.printing-report .tab-nav,body.printing-report .report-tabs,body.printing-report .report-student-selector,body.printing-report .report-export-bar{display:none!important}body.printing-report .app-container{display:block!important}body.printing-report .main-panel{margin:0!important;padding:0!important;max-width:100%!important;min-height:auto!important}body.printing-report .section-title,body.printing-report .students-grid,body.printing-report .actions-grid,body.printing-report .quick-actions,body.printing-report .content-header,body.printing-report .content-display,body.printing-report .calendar-container,body.printing-report .modal-overlay,body.printing-report .settings-overlay,body.printing-report .settings-panel,body.printing-report .footer,body.printing-report .fb-sidebar,body.printing-report .fb-sidebar-spacer,body.printing-report .feedback-panel,body.printing-report .floating-print{display:none!important}}.report-print-running-header,.report-print-running-footer{display:none}.report-banner{background:linear-gradient(135deg,#1a2332,#2d3e50);color:#fff;border-radius:14px;padding:24px 28px;margin-bottom:20px;position:relative;overflow:hidden}.report-banner:after{content:"";position:absolute;top:-40%;right:-10%;width:300px;height:300px;background:radial-gradient(circle,rgba(255,255,255,.04) 0%,transparent 70%);border-radius:50%}.report-banner-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.report-banner-school{flex:1;min-width:200px}.report-banner-school-name{font-family:Playfair Display,Georgia,serif;font-size:20px;font-weight:700;margin:0 0 4px}.report-banner-admin{font-size:11px;color:#fff9}.report-banner-address{font-size:11px;color:#ffffff80;margin-top:2px}.report-banner-meta{text-align:right;flex-shrink:0}.report-banner-title{font-size:16px;font-weight:600;letter-spacing:.5px;margin-bottom:4px}.report-banner-date{font-size:11px;color:#fff9}.report-banner-period{font-size:11px;color:#ffffff80;margin-top:2px}.report-banner-reg{font-size:10px;color:#fff6;margin-top:6px}.report-banner-divider{height:1px;background:#ffffff1a;margin:14px 0}.report-banner-print{display:none}.student-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(0,0,0,.06)}.student-detail-item{display:flex;align-items:flex-start;gap:8px;font-size:12px}.student-detail-item .sdi-icon{font-size:14px;margin-top:1px;flex-shrink:0}.student-detail-item .sdi-label{font-size:10px;color:#9e9e9e;text-transform:uppercase;letter-spacing:.3px}.student-detail-item .sdi-value{font-size:12px;color:#2d3436;font-weight:500}.student-interests-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}.student-interests-tags span{font-size:10px;padding:2px 8px;border-radius:10px;font-weight:500}.calibration-badge{font-size:10px;padding:3px 10px;border-radius:10px;font-weight:600;display:inline-flex;align-items:center;gap:4px}.progress-hero{display:flex;align-items:center;gap:20px;padding:20px;background:linear-gradient(135deg,#fafafa,#f0f4ff);border-radius:14px;margin-bottom:20px}.progress-hero-avatar{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:36px;flex-shrink:0;box-shadow:0 4px 12px #0000001a}.progress-hero-info{flex:1}.progress-hero-name{font-family:Playfair Display,Georgia,serif;font-size:22px;color:#2d3436;margin:0 0 4px}.progress-hero-meta{font-size:13px;color:#636e72;display:flex;gap:12px;flex-wrap:wrap}.progress-hero-meta span{display:flex;align-items:center;gap:4px}.progress-kpi-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:20px}.progress-kpi{background:#fff;border-radius:12px;padding:14px;text-align:center;border:1px solid #F0F0F0;position:relative;overflow:hidden}.progress-kpi:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--kpi-color, #4A90A4)}.progress-kpi .kpi-val{font-size:26px;font-weight:700;color:var(--kpi-color, #4A90A4);line-height:1.2}.progress-kpi .kpi-label{font-size:10px;color:#9e9e9e;text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.progress-kpi .kpi-sub{font-size:10px;color:#b0b0b0;margin-top:2px}.benchmark-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #F5F5F5}.benchmark-row:last-child{border-bottom:none}.benchmark-icon{font-size:20px;width:32px;text-align:center;flex-shrink:0}.benchmark-info{flex:1;min-width:0}.benchmark-label{font-size:13px;font-weight:600;color:#2d3436}.benchmark-desc{font-size:11px;color:#9e9e9e;margin-top:2px}.benchmark-badge{padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600;white-space:nowrap;flex-shrink:0}.benchmark-badge.ahead{background:#d1fae5;color:#065f46}.benchmark-badge.on-track{background:#dbeafe;color:#1e40af}.benchmark-badge.developing{background:#fef3c7;color:#92400e}.benchmark-badge.needs-support{background:#fee2e2;color:#991b1b}.benchmark-badge.no-data{background:#f3f4f6;color:#9ca3af}.stat-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:12px 0}.stat-mini{background:#fafafa;border-radius:8px;padding:10px 12px;text-align:center}.stat-mini .sm-val{font-size:18px;font-weight:700;color:#2d3436}.stat-mini .sm-label{font-size:10px;color:#9e9e9e;margin-top:2px}.feedback-impact-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #F8F8F8}.feedback-impact-row:last-child{border-bottom:none}.fi-subject{font-size:13px;font-weight:500;color:#2d3436;flex:1;min-width:0;display:flex;align-items:center;gap:6px}.fi-arrow{font-size:16px;width:24px;text-align:center;flex-shrink:0}.fi-detail{font-size:11px;color:#636e72;flex:1;text-align:right}.heatmap-grid{display:grid;gap:2px;margin:12px 0}.heatmap-cell{width:100%;aspect-ratio:1;border-radius:3px;min-width:12px;min-height:12px}.heatmap-label{font-size:9px;color:#9e9e9e;text-align:center;padding:2px 0}.radar-container{display:flex;justify-content:center;margin:16px 0}.radar-container svg{max-width:320px;width:100%;height:auto}.mastery-category-row{display:flex;align-items:center;gap:10px;padding:6px 0}.mastery-cat-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.mastery-cat-name{font-size:12px;color:#2d3436;flex:1}.mastery-cat-pct{font-size:12px;font-weight:600}.streak-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:16px;font-size:11px;font-weight:600}.comparison-note{font-size:12px;color:#636e72;font-style:italic;padding:10px 14px;background:#f8f9fa;border-radius:8px;border-left:3px solid #4A90A4;margin:12px 0}.onboarding-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#fdf6e3,#e8f4f7,#f5ecd7);z-index:2000;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:clamp(16px,4vh,40px) clamp(12px,3vw,20px)}.splash-screen{text-align:center;animation:fadeIn .8s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.splash-logo{font-size:clamp(48px,10vh,80px);margin-bottom:clamp(12px,2.5vh,20px);animation:bounceIn 1s ease-out}@keyframes bounceIn{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.splash-title{font-family:Playfair Display,Georgia,serif;font-size:clamp(28px,6vh,48px);color:#2d3436;margin:0 0 12px}.splash-subtitle{font-size:clamp(14px,2.5vh,20px);color:#636e72;margin:0 0 clamp(20px,5vh,40px)}.splash-btn{background:linear-gradient(135deg,#4a90a4,#5ba3b5);color:#fff;border:none;padding:clamp(12px,2vh,16px) clamp(28px,5vw,48px);font-size:clamp(14px,2.2vh,18px);font-weight:600;border-radius:50px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 20px #4a90a466}.splash-btn:hover{transform:translateY(-2px);box-shadow:0 6px 28px #4a90a480}.onboarding-wizard{background:#fffef9;border-radius:clamp(16px,3vw,24px);padding:clamp(20px,4vh,40px) clamp(20px,4vw,40px);max-width:600px;width:100%;box-shadow:0 8px 40px #0000001a;animation:slideUp .5s ease-out;margin:auto 0;flex-shrink:0}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.onboarding-progress{display:flex;justify-content:center;gap:12px;margin-bottom:clamp(12px,2.5vh,24px)}.onboarding-dot{width:12px;height:12px;border-radius:50%;background:#e0e0e0;transition:all .3s ease}.onboarding-dot.active{background:#4a90a4;transform:scale(1.2)}.onboarding-dot.completed{background:#81c784}.onboarding-header{text-align:center;margin-bottom:clamp(12px,2.5vh,24px)}.onboarding-icon{font-size:clamp(36px,6vh,56px);margin-bottom:clamp(4px,1vh,12px)}.onboarding-header h2{font-family:Playfair Display,Georgia,serif;font-size:clamp(20px,3.5vh,28px);color:#2d3436;margin:0 0 6px}.onboarding-header p{color:#636e72;font-size:clamp(13px,2vh,16px);margin:0;line-height:1.5}.onboarding-form{display:flex;flex-direction:column;gap:clamp(8px,1.5vh,16px);overflow:hidden}.onboarding-form-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(8px,2vw,16px);overflow:hidden}.onboarding-form-row.three-col{grid-template-columns:1.5fr 1fr 100px}.onboarding-field{display:flex;flex-direction:column;gap:5px;min-width:0}.onboarding-field.full-width{grid-column:1 / -1}.onboarding-field label{font-size:clamp(11px,1.5vh,13px);font-weight:600;color:#636e72;text-transform:uppercase;letter-spacing:.5px}.onboarding-field input,.onboarding-field select{padding:clamp(8px,1.3vh,12px) clamp(10px,1.5vw,16px);border:2px solid #E0E0E0;border-radius:10px;font-size:clamp(13px,1.8vh,15px);font-family:inherit;transition:border-color .2s ease;min-width:0;width:100%;box-sizing:border-box}.onboarding-field input:focus,.onboarding-field select:focus{outline:none;border-color:#4a90a4}.onboarding-field input::placeholder{color:#b0b0b0}.onboarding-actions{display:flex;gap:12px;margin-top:clamp(12px,2vh,24px)}.onboarding-btn{flex:1;padding:clamp(10px,1.5vh,16px) clamp(16px,2vw,24px);border-radius:12px;font-size:clamp(14px,2vh,16px);font-weight:600;cursor:pointer;transition:all .2s ease}.onboarding-btn.primary{background:#4a90a4;color:#fff;border:none}.onboarding-btn.primary:hover{background:#3d7a8c}.onboarding-btn.secondary{background:transparent;color:#636e72;border:2px solid #E0E0E0}.onboarding-btn.secondary:hover{border-color:#4a90a4;color:#4a90a4}.onboarding-btn:disabled{opacity:.5;cursor:not-allowed}.onboarding-skip{text-align:center;margin-top:clamp(8px,1.5vh,16px)}.onboarding-skip a{color:#9e9e9e;font-size:clamp(12px,1.8vh,14px);cursor:pointer;text-decoration:none}.onboarding-skip a:hover{color:#636e72;text-decoration:underline}.onboarding-student-preview{display:flex;align-items:center;gap:16px;background:#f8f9fa;padding:16px;border-radius:12px;margin-bottom:16px}.onboarding-student-avatar{width:clamp(36px,6vh,48px);height:clamp(36px,6vh,48px);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:clamp(18px,3vh,24px);flex-shrink:0}.onboarding-student-info{flex:1;min-width:0}.onboarding-student-info h4{margin:0 0 2px;font-size:clamp(13px,2vh,16px);color:#2d3436}.onboarding-student-info p{margin:0;font-size:clamp(11px,1.6vh,13px);color:#636e72}.onboarding-students-list{background:#f8f9fa;border-radius:12px;padding:clamp(6px,1vh,12px);margin-bottom:clamp(8px,1.5vh,16px)}.onboarding-student-item{display:flex;align-items:center;gap:clamp(8px,1.5vw,12px);padding:clamp(6px,1vh,10px);background:#fff;border-radius:8px;margin-bottom:6px}.onboarding-student-item:last-child{margin-bottom:0}.onboarding-student-actions{display:flex;gap:4px}.ob-student-btn{width:32px;height:32px;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s ease}.ob-student-btn.edit{background:#e8f4f7}.ob-student-btn.edit:hover{background:#d0e8ee}.ob-student-btn.delete{background:#ffebee}.ob-student-btn.delete:hover{background:#ffcdd2}.onboarding-student-form{background:#fafafa;border:2px dashed #E0E0E0;border-radius:12px;padding:clamp(12px,2vh,20px) clamp(14px,2.5vw,20px);margin-top:clamp(8px,1.5vh,16px)}.onboarding-avatar-picker{display:flex;align-items:center;gap:clamp(8px,1.5vw,16px);margin-bottom:clamp(8px,1.5vh,16px)}.onboarding-avatar-preview{width:clamp(44px,7vh,72px);height:clamp(44px,7vh,72px);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:clamp(22px,3.5vh,36px);flex-shrink:0}.onboarding-avatar-options{flex:1}.onboarding-color-picker{display:flex;gap:clamp(4px,.8vw,8px);flex-wrap:wrap;margin-top:6px}.onboarding-color-option{width:clamp(20px,3.5vh,28px);height:clamp(20px,3.5vh,28px);border-radius:50%;cursor:pointer;border:3px solid transparent;transition:all .2s ease}.onboarding-color-option:hover{transform:scale(1.1)}.onboarding-color-option.selected{border-color:#2d3436}.onboarding-complete{text-align:center}.onboarding-complete-icon{font-size:clamp(48px,10vh,80px);margin-bottom:clamp(12px,2.5vh,20px);animation:bounceIn .8s ease-out}.onboarding-complete h2{font-family:Playfair Display,Georgia,serif;font-size:clamp(22px,4vh,32px);color:#2d3436;margin:0 0 12px}.onboarding-complete p{color:#636e72;font-size:clamp(13px,2vh,16px);margin:0 0 clamp(16px,3vh,32px);line-height:1.6}.onboarding-summary{background:#f8f9fa;border-radius:12px;padding:20px;text-align:left;margin-bottom:24px}.onboarding-summary-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #E8F4F7}.onboarding-summary-item:last-child{border-bottom:none}.onboarding-summary-label{color:#636e72;font-size:14px}.onboarding-summary-value{color:#2d3436;font-weight:600;font-size:14px}@media(max-width:500px){.onboarding-form-row,.onboarding-form-row.three-col{grid-template-columns:1fr}}.auth-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#fdf6e3,#e8f4f7,#f5ecd7);z-index:3000;display:flex;align-items:center;justify-content:center;overflow-y:auto;padding:20px}.auth-overlay.hidden{display:none}.auth-card{background:#fffef9;border-radius:24px;padding:40px;max-width:420px;width:100%;box-shadow:0 24px 64px #0000001a;animation:authFadeIn .5s ease-out}@keyframes authFadeIn{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-brand{text-align:center;margin-bottom:32px}.auth-brand-icon{font-size:56px;margin-bottom:8px}.auth-brand-name{font-family:Playfair Display,Georgia,serif;font-size:28px;font-weight:700;color:#2d3436}.auth-brand-sub{font-size:14px;color:#636e72;margin-top:4px}.auth-heading{font-family:Playfair Display,Georgia,serif;font-size:22px;color:#2d3436;margin:0 0 8px;text-align:center}.auth-subtext{font-size:14px;color:#636e72;text-align:center;margin:0 0 24px}.auth-field{margin-bottom:16px}.auth-field label{display:block;font-size:13px;font-weight:600;color:#2d3436;margin-bottom:6px}.auth-field input{width:100%;padding:12px 14px;border:2px solid #E8F4F7;border-radius:12px;font-size:15px;font-family:Source Sans Pro,sans-serif;transition:border-color .2s;background:#fffef9}.auth-field input:focus{outline:none;border-color:#4a90a4}.auth-field input.error{border-color:#e07b7b}.auth-field .field-error{font-size:12px;color:#e07b7b;margin-top:4px}.auth-field .field-hint{font-size:12px;color:#636e72;margin-top:4px}.auth-btn{width:100%;padding:14px;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;font-family:Source Sans Pro,sans-serif;transition:opacity .2s,transform .1s;margin-top:8px}.auth-btn:active{transform:scale(.98)}.auth-btn:disabled{opacity:.5;cursor:not-allowed}.auth-btn.primary{background:#4a90a4;color:#fffef9}.auth-btn.primary:hover:not(:disabled){opacity:.9}.auth-btn.google{background:#fffef9;color:#2d3436;border:2px solid #E8F4F7;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:12px;position:relative}.auth-btn.google:hover:not(:disabled){background:#f8f9fa}.auth-btn.google .google-coming-soon{display:none;position:absolute;top:-32px;left:50%;transform:translate(-50%);background:#2d3436;color:#fff;font-size:12px;padding:4px 10px;border-radius:6px;white-space:nowrap}.auth-btn.google:hover .google-coming-soon{display:block}.auth-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:#b2bec3;font-size:13px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#e8f4f7}.auth-error{background:#fceeee;border:1px solid #E07B7B;color:#c0392b;border-radius:10px;padding:10px 14px;font-size:13px;margin-bottom:16px;display:flex;align-items:center;gap:8px}.auth-success{background:#e8f8f0;border:1px solid #6BC5B0;color:#1e8449;border-radius:10px;padding:10px 14px;font-size:13px;margin-bottom:16px;display:flex;align-items:center;gap:8px}.auth-link{text-align:center;font-size:14px;color:#636e72;margin-top:20px}.auth-link a{color:#4a90a4;text-decoration:none;font-weight:600;cursor:pointer}.auth-link a:hover{text-decoration:underline}.auth-footer{text-align:center;font-size:12px;color:#b2bec3;margin-top:24px}.auth-remember{display:flex;align-items:center;gap:8px;font-size:13px;color:#636e72;margin:4px 0 8px}.auth-remember input[type=checkbox]{width:16px;height:16px;accent-color:#4A90A4}.pw-strength{display:flex;gap:4px;margin-top:6px}.pw-strength-bar{flex:1;height:4px;border-radius:2px;background:#e8f4f7;transition:background .3s}.pw-strength-bar.weak{background:#e07b7b}.pw-strength-bar.medium{background:#f0b429}.pw-strength-bar.strong{background:#6bc5b0}.pw-strength-label{font-size:11px;margin-top:2px;font-weight:600}.pw-strength-label.weak{color:#e07b7b}.pw-strength-label.medium{color:#f0b429}.pw-strength-label.strong{color:#6bc5b0}.plan-select-card{background:#fffef9;border-radius:24px;padding:40px;max-width:820px;width:100%;box-shadow:0 24px 64px #0000001a;animation:authFadeIn .5s ease-out}.plan-toggle{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:28px}.plan-toggle-label{font-size:14px;color:#636e72;font-weight:600;cursor:pointer}.plan-toggle-label.active{color:#2d3436}.plan-toggle-switch{position:relative;width:48px;height:26px;background:#e8f4f7;border-radius:13px;cursor:pointer;transition:background .2s;border:none;padding:0}.plan-toggle-switch.annual{background:#4a90a4}.plan-toggle-knob{position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #0003}.plan-toggle-switch.annual .plan-toggle-knob{transform:translate(22px)}.plan-toggle-save{font-size:11px;font-weight:700;color:#6bc5b0;background:#e9f7f4;padding:2px 8px;border-radius:10px}.plan-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.plan-card{border:2px solid #E8F4F7;border-radius:16px;padding:24px 20px;text-align:center;cursor:pointer;transition:all .2s;position:relative;background:#fffef9}.plan-card:hover{border-color:#4a90a4;transform:translateY(-2px);box-shadow:0 8px 24px #00000014}.plan-card.popular{border-color:#4a90a4;box-shadow:0 4px 20px #4a90a426}.plan-card-badge{position:absolute;top:-11px;left:50%;transform:translate(-50%);background:#4a90a4;color:#fff;font-size:11px;font-weight:700;padding:3px 12px;border-radius:10px;white-space:nowrap}.plan-card-icon{font-size:32px;margin-bottom:8px}.plan-card-name{font-family:Playfair Display,Georgia,serif;font-size:20px;font-weight:700;color:#2d3436;margin-bottom:4px}.plan-card-price{font-size:32px;font-weight:700;color:#2d3436;margin:12px 0 4px}.plan-card-price span{font-size:14px;font-weight:400;color:#636e72}.plan-card-annual-note{font-size:12px;color:#636e72;margin-bottom:12px}.plan-card-features{text-align:left;margin:16px 0}.plan-feature{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:#2d3436;padding:5px 0}.plan-feature .check{color:#6bc5b0;flex-shrink:0;font-size:14px}.plan-feature .x{color:#ddd;flex-shrink:0;font-size:14px}.plan-feature.disabled{color:#b2bec3}.plan-card-btn{width:100%;padding:12px;border:2px solid #4A90A4;border-radius:12px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s;font-family:Source Sans Pro,sans-serif;background:transparent;color:#4a90a4}.plan-card-btn:hover,.plan-card.popular .plan-card-btn{background:#4a90a4;color:#fff}.plan-card.popular .plan-card-btn:hover{background:#3d7a8c}.plan-skip{text-align:center;margin-top:8px}.plan-skip a{font-size:13px;color:#b2bec3;text-decoration:none;cursor:pointer}.plan-skip a:hover{color:#636e72;text-decoration:underline}.promo-section{text-align:center;margin-top:16px}.promo-toggle{font-size:13px;color:#4a90a4;cursor:pointer;text-decoration:none}.promo-toggle:hover{text-decoration:underline}.promo-input-row{display:flex;gap:8px;justify-content:center;max-width:320px;margin:0 auto}.promo-input{flex:1;padding:8px 12px;border:1.5px solid #E0E0E0;border-radius:8px;font-size:14px;text-transform:uppercase;letter-spacing:1px}.promo-input:focus{border-color:#4a90a4;outline:none}.promo-apply-btn{padding:8px 18px;background:#4a90a4;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.promo-apply-btn:hover{background:#3a7a8e}.promo-success{color:#27ae60;font-size:13px;font-weight:600;margin-top:8px}.promo-error{color:#e74c3c;font-size:13px;margin-top:8px}.promo-applied{font-size:13px;color:#27ae60;font-weight:600;margin-bottom:4px}.price-original{text-decoration:line-through;color:#b2bec3;font-size:.7em;margin-right:4px}.admin-promo-table{width:100%;border-collapse:collapse;font-size:13px}.admin-promo-table th{text-align:left;padding:6px 10px;border-bottom:2px solid #E0E0E0;font-size:11px;text-transform:uppercase;color:#636e72;letter-spacing:.5px}.admin-promo-table td{padding:6px 10px;border-bottom:1px solid #F0F0F0}@media(max-width:700px){.plan-cards{grid-template-columns:1fr}.plan-select-card{padding:24px 16px}}.usage-meter{background:#f8f9fa;border:1px solid #E8F4F7;border-radius:10px;padding:10px 14px;margin-bottom:12px;display:flex;align-items:center;gap:12px}.usage-meter-info{flex:1;min-width:0}.usage-meter-label{font-size:12px;font-weight:600;color:#2d3436;margin-bottom:5px;display:flex;align-items:center;justify-content:space-between}.usage-meter-count{font-weight:400;color:#636e72}.usage-meter-bar{height:6px;background:#e8f4f7;border-radius:3px;overflow:hidden}.usage-meter-fill{height:100%;border-radius:3px;transition:width .3s}.usage-meter-upgrade{font-size:11px;font-weight:700;color:#4a90a4;background:#e8f4f7;border:none;border-radius:8px;padding:6px 12px;cursor:pointer;white-space:nowrap;font-family:Source Sans Pro,sans-serif;transition:all .15s}.usage-meter-upgrade:hover{background:#4a90a4;color:#fff}.usage-meter.exhausted{background:#fff5f5;border-color:#fed7d7}.usage-meter.exhausted .usage-meter-fill{background:#e07b7b}.usage-meter.unlimited{background:#f0fff4;border-color:#c6f6d5}.upgrade-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;z-index:2500;display:flex;align-items:center;justify-content:center;animation:authFadeIn .2s}.upgrade-modal{background:#fffef9;border-radius:20px;padding:32px;max-width:440px;width:90%;box-shadow:0 24px 64px #00000026;text-align:center}.upgrade-modal-icon{font-size:48px;margin-bottom:12px}.upgrade-modal-title{font-family:Playfair Display,Georgia,serif;font-size:22px;font-weight:700;color:#2d3436;margin-bottom:8px}.upgrade-modal-desc{font-size:14px;color:#636e72;line-height:1.6;margin-bottom:20px}.upgrade-modal-btn{display:inline-block;padding:12px 28px;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer;transition:all .2s;font-family:Source Sans Pro,sans-serif;border:none;margin:0 6px}.upgrade-modal-btn.primary{background:#4a90a4;color:#fff}.upgrade-modal-btn.primary:hover{background:#3d7a8c}.upgrade-modal-btn.secondary{background:transparent;color:#636e72;border:2px solid #E0E0E0}.upgrade-modal-btn.secondary:hover{border-color:#b2bec3}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:24px}.admin-stat-card{background:#fff;border-radius:12px;padding:16px;border:1px solid #E8E8E8;text-align:center}.admin-stat-card .stat-icon{font-size:24px;margin-bottom:4px}.admin-stat-card .stat-value{font-size:28px;font-weight:800;color:#2d3436}.admin-stat-card .stat-label{font-size:12px;color:#636e72;margin-top:2px}.admin-section{background:#fff;border-radius:12px;border:1px solid #E8E8E8;padding:20px;margin-bottom:20px}.admin-section h3{margin:0 0 16px;font-size:16px;font-weight:700;color:#2d3436;display:flex;align-items:center;gap:8px}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th{text-align:left;padding:10px 12px;background:#f8f9fa;color:#636e72;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #E8E8E8}.admin-table td{padding:10px 12px;border-bottom:1px solid #F0F0F0;vertical-align:middle}.admin-table tr:hover td{background:#fafbfc}.admin-tier-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:11px;font-weight:700;color:#fff}.admin-tier-badge.trial{background:#95a5a6}.admin-tier-badge.essential{background:#2980b9}.admin-tier-badge.complete{background:#4a90a4}.admin-tier-badge.premium{background:#d4a017}.tier-badge-inline{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:12px;font-size:11px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.5px}.tier-badge-inline.trial{background:#95a5a6}.tier-badge-inline.essential{background:#2980b9}.tier-badge-inline.complete{background:#4a90a4}.tier-badge-inline.premium{background:linear-gradient(135deg,#d4a017,#f5c518)}.admin-role-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:10px;font-weight:700}.admin-role-badge.admin{background:#ffebee;color:#c62828}.admin-role-badge.parent{background:#f0f0f0;color:#636e72}.admin-action-btn{padding:4px 10px;border:1px solid #E0E0E0;border-radius:6px;background:#fff;font-size:11px;cursor:pointer;color:#2d3436;transition:all .15s}.admin-action-btn:hover{background:#f0f4f8;border-color:#4a90a4;color:#4a90a4}.admin-action-btn.danger:hover{border-color:#e07b7b;color:#e07b7b;background:#fff5f5}.admin-seed-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:#6c5b7b;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.admin-seed-btn:hover{background:#5a4a6a;transform:translateY(-1px)}.admin-seed-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.admin-api-section{margin-top:16px;padding:16px;background:#f8f9fa;border-radius:10px}.admin-api-section input[type=password]{width:100%;padding:10px 12px;border:2px solid #E0E0E0;border-radius:8px;font-size:13px;font-family:monospace;margin:8px 0;box-sizing:border-box}.admin-api-section input:focus{outline:none;border-color:#4a90a4}.admin-sub-nav{display:flex;gap:4px;background:#f0f2f5;border-radius:12px;padding:4px;margin-bottom:20px}.admin-sub-tab{flex:1;padding:8px 12px;border:none;border-radius:9px;background:transparent;color:#636e72;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap}.admin-sub-tab:hover{background:#fff9;color:#2d3436}.admin-sub-tab.active{background:#fffef9;color:#2d3436;box-shadow:0 1px 4px #00000014}.revenue-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:20px}.revenue-card{background:#fffef9;border:1px solid #E8F4F7;border-radius:12px;padding:16px;text-align:center}.revenue-card .rv-value{font-size:26px;font-weight:800;color:#2d3436}.revenue-card .rv-label{font-size:11px;color:#636e72;margin-top:2px}.revenue-card .rv-trend{font-size:11px;margin-top:4px;font-weight:600}.revenue-card .rv-trend.up{color:#27ae60}.revenue-card .rv-trend.down{color:#e07b7b}.revenue-card .rv-trend.neutral{color:#636e72}.admin-chart{background:#fffef9;border:1px solid #E8F4F7;border-radius:12px;padding:16px;margin-bottom:20px}.admin-chart h4{margin:0 0 12px;font-size:14px;color:#2d3436}.admin-chart svg{width:100%;display:block}.admin-bar-chart{display:flex;flex-direction:column;gap:6px}.admin-bar-row{display:flex;align-items:center;gap:8px;font-size:12px}.admin-bar-label{width:100px;text-align:right;color:#636e72;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-bar-track{flex:1;height:18px;background:#f0f2f5;border-radius:6px;overflow:hidden}.admin-bar-fill{height:100%;border-radius:6px;display:flex;align-items:center;justify-content:flex-end;padding-right:6px;font-size:10px;font-weight:700;color:#fff;min-width:24px;transition:width .5s ease}.admin-bar-val{width:40px;font-weight:600;color:#2d3436;font-size:12px}.health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:20px}.health-card{background:#fffef9;border:1px solid #E8F4F7;border-radius:12px;padding:16px}.health-card .hc-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.health-card .hc-icon{font-size:20px}.health-card .hc-title{font-weight:600;font-size:13px;color:#2d3436}.health-card .hc-status{font-size:12px;padding:2px 8px;border-radius:12px;font-weight:600}.health-card .hc-status.ok{background:#e8f5e9;color:#2e7d32}.health-card .hc-status.warn{background:#fff3e0;color:#e65100}.health-card .hc-status.err{background:#ffebee;color:#c62828}.health-card .hc-detail{font-size:12px;color:#636e72}.health-card .hc-bar{height:6px;background:#f0f2f5;border-radius:3px;margin-top:8px;overflow:hidden}.health-card .hc-bar-fill{height:100%;border-radius:3px;transition:width .5s}.error-log{max-height:200px;overflow-y:auto}.error-log-item{padding:6px 10px;border-bottom:1px solid #F0F2F5;font-size:11px;font-family:monospace;color:#636e72}.error-log-item:last-child{border-bottom:none}.error-log-item .el-time{color:#b2bec3;margin-right:6px}.error-log-empty{font-size:12px;color:#b2bec3;font-style:italic;padding:12px;text-align:center}.locked-overlay{position:relative;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.6}.locked-overlay:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#fffef566;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);border-radius:inherit}.locked-badge{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;background:#fffef5;border:2px solid #F0E6C0;border-radius:16px;padding:10px 18px;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#c8940e;box-shadow:0 4px 16px #c8940e1f;pointer-events:auto;cursor:pointer;transition:all .2s}.locked-badge:hover{border-color:#d4a017;color:#b8860b;transform:translate(-50%,-50%) scale(1.03);box-shadow:0 6px 20px #c8940e33}.locked-badge .lock-icon{font-size:16px}.forgot-reset-form{background:#f8f9fa;border-radius:12px;padding:16px;margin-top:12px}.forgot-reset-form input{width:100%;padding:10px 12px;border:2px solid #E0E0E0;border-radius:8px;font-size:14px;margin-bottom:8px;box-sizing:border-box}.forgot-reset-form input:focus{outline:none;border-color:#4a90a4}@media(max-width:768px){.auth-card{padding:28px 20px;margin:0 8px}.auth-brand-icon{font-size:44px}.auth-brand-title{font-size:22px}.plan-cards{grid-template-columns:1fr;max-width:400px;margin:0 auto}.admin-sub-nav{flex-wrap:wrap}.admin-sub-tab{font-size:11px;padding:6px 8px}.admin-stats-grid{grid-template-columns:repeat(2,1fr)}.admin-table{font-size:12px}.admin-table th,.admin-table td{padding:8px 6px}.revenue-grid{grid-template-columns:repeat(2,1fr)}.health-grid{grid-template-columns:1fr}}@media(max-width:480px){.auth-card{padding:24px 16px;border-radius:16px}.auth-brand-icon{font-size:36px}.auth-brand-title{font-size:20px}.auth-field input,.auth-btn{font-size:15px;padding:12px}.admin-stats-grid{grid-template-columns:1fr 1fr;gap:8px}.admin-stat-card{padding:10px}.admin-stat-card .stat-value{font-size:22px}.admin-sub-nav{gap:2px;padding:3px}.admin-sub-tab{padding:6px 4px;font-size:10px;gap:3px}.revenue-grid{grid-template-columns:1fr 1fr;gap:8px}.revenue-card{padding:12px}.revenue-card .rv-value{font-size:20px}.change-plan-content{padding:20px 16px;max-width:100%}.change-plan-comparison{flex-direction:column}.change-plan-arrow{justify-content:center;transform:rotate(90deg)}.retention-reason-btn{padding:10px 12px;font-size:12px}.retention-offer{padding:14px}.change-plan-actions{flex-direction:column}.change-plan-actions .acct-btn{width:100%}.admin-bar-label{width:70px;font-size:10px}.plan-select-card h3{font-size:18px}.plan-price{font-size:28px}}#importFileInput,.student-print-break{display:none}@media print{@page{margin:.4in .5in;size:letter}body{counter-reset:page;background:#fff!important;font-size:11pt;line-height:1.4}.user-dropdown-wrapper,.user-dropdown-backdrop,.upgrade-modal-overlay,.usage-meter,.settings-overlay,.settings-panel,.header,.tab-nav,.students-grid,.actions-grid,.quick-actions,.content-header,.footer,.modal-overlay,.print-btn,.loading-indicator,.no-print,.calendar-container,.reports-grid,.calendar-stats,.section-feedback,.section-feedback-btn,.header-buttons,.supplemental-resources,.feedback-panel,.fb-sidebar,.fb-overall-bar,.fb-sidebar-spacer,.auth-overlay,.admin-stats-grid,.admin-section{display:none!important}.worksheet-row{display:block!important}.worksheet-row .subject-page{margin:0!important}.worksheet-row:not(:has(.subject-page)){display:none!important}.container{max-width:100%!important;padding:0!important;margin:0!important}.content-display{box-shadow:none!important;border-radius:0!important;padding:0!important;max-height:none!important;overflow:visible!important;background:#fff!important}.subject-page{width:100%!important;min-height:auto!important;max-height:none!important;height:auto!important;margin:0!important;padding:0!important;box-shadow:none!important;overflow:visible!important;display:block!important}.page-content{flex:none!important;display:block!important;min-height:0!important}.worksheet-row+.worksheet-row{page-break-before:always!important;break-before:page!important}.subject-page.answer-key-page{page-break-before:always!important;break-before:page!important}.subject-page .page-header{page-break-inside:avoid!important;break-inside:avoid!important;page-break-after:avoid!important;break-after:avoid!important}.subject-page .lesson-overview,.subject-page .content-section{page-break-inside:avoid!important;break-inside:avoid!important}.subject-page .section-title{page-break-after:avoid!important;break-after:avoid!important}.subject-page .problem-item{page-break-inside:avoid!important;break-inside:avoid!important}.subject-page .vocab-grid{display:flex;flex-wrap:wrap;gap:8px}.subject-page .matching-activity,.subject-page .matching-long,.subject-page .matching-drawline,.subject-page .word-bank,.subject-page .reading-passage,.subject-page .fun-fact-box,.subject-page .problems-grid,.subject-page .word-problem{page-break-inside:avoid!important;break-inside:avoid!important}.subject-page .drawing-box{page-break-inside:avoid!important;break-inside:avoid!important;flex:none!important;min-height:1.5in!important}.subject-page .page-footer{page-break-inside:avoid!important;break-inside:avoid!important;page-break-before:avoid!important;break-before:avoid!important}.subject-page.answer-key-page{page-break-before:always!important;break-before:page!important;min-height:auto!important;max-height:none!important;overflow:visible!important;height:auto!important}.subject-page.answer-key-page .answer-section,.subject-page.answer-key-page .teaching-notes{page-break-inside:avoid!important;break-inside:avoid!important}.student-print-break{display:block!important;page-break-before:always!important;break-before:page!important;counter-reset:page!important}.student-print-cover{display:flex!important;flex-direction:column;align-items:center;justify-content:center;min-height:5in;text-align:center;padding:1in}.student-print-cover-name{font-size:32pt;font-weight:700;color:#2d3436;margin-bottom:16pt;font-family:Playfair Display,Georgia,serif}.student-print-cover-detail{font-size:14pt;color:#636e72;margin-bottom:8pt}.student-print-cover-divider{width:2in;height:3pt;background:#dfe6e9;margin:24pt auto;border-radius:2pt}.page-fold-indicator{display:none!important}.subject-page~.print-header,.content-display:has(.subject-page)~.print-header{display:none!important}.print-header{display:none!important}.content-display:not(:has(.subject-page))~.print-header{display:block!important;text-align:center;padding:0 0 16px;border-bottom:3px solid #333;margin-bottom:24px}.print-header h1{font-family:Playfair Display,Georgia,serif;font-size:22pt;margin:0 0 4px}.print-header p{font-size:12pt;color:#666;margin:0}.content-section{page-break-inside:avoid!important;break-inside:avoid!important;margin-bottom:20pt;padding:16pt;border:1px solid #ccc!important;background:#fff!important}.content-section.worksheet{page-break-before:always!important;border:2px solid #333!important}.content-section.answer-key{page-break-before:always!important;background:#f5f5f5!important;border:2px solid #666!important}.answer-key-page .content-section{border:none!important;padding:8pt 0!important;margin-bottom:12pt!important;page-break-inside:avoid!important;break-inside:avoid!important}.subject-page:not(.answer-key-page) .content-section{border:none!important;padding:4pt 6pt!important;margin-bottom:4pt!important;background:transparent!important;page-break-inside:avoid!important;break-inside:avoid!important}.answer-key-page .answer-grid{gap:4pt!important}.answer-key-page .answer-item{border:1px solid #ccc!important;background:#fafafa!important;padding:4pt 8pt!important;font-size:10pt!important}.answer-key-page .answer-section-title{font-size:12pt!important}.answer-key-page .teaching-notes{page-break-inside:avoid!important;break-inside:avoid!important}.section-header{border-bottom:1px solid #ccc}.content-h1{font-size:18pt;margin:0 0 12pt;page-break-after:avoid}.content-h2{font-size:15pt;margin:16pt 0 10pt;page-break-after:avoid}.content-h3{font-size:13pt;margin:12pt 0 8pt;page-break-after:avoid;color:#333!important}.content-p{font-size:11pt;margin:0 0 8pt}.content-numbered{page-break-inside:avoid!important;break-inside:avoid!important;margin-bottom:10pt;padding:10pt;border-left:3px solid #333;background:#f9f9f9!important}.content-resource{page-break-inside:avoid!important;background:#f0f0f0!important;border:1px solid #ccc!important;padding:10pt!important}.activity-box{page-break-inside:avoid!important;border:1px solid #999!important;background:#fafafa!important}.content-number{background:#333!important;color:#fff!important}.age-3-4 .content-p,.age-3-4 .content-bullet{font-size:16pt!important}.age-3-4 .content-h1,.age-3-4 .section-header h2{font-size:28pt!important}.age-3-4 .content-h2{font-size:22pt!important}.age-3-4 .content-h3{font-size:18pt!important}.age-3-4 .content-numbered{font-size:16pt!important}.age-5-6 .content-p,.age-5-6 .content-bullet{font-size:14pt!important}.age-5-6 .content-h1,.age-5-6 .section-header h2{font-size:24pt!important}.age-5-6 .content-h2{font-size:20pt!important}.age-5-6 .content-h3{font-size:16pt!important}.age-5-6 .content-numbered{font-size:14pt!important}.age-7-8 .content-p,.age-7-8 .content-bullet{font-size:12pt!important}.age-7-8 .content-h1,.age-7-8 .section-header h2{font-size:22pt!important}.age-7-8 .content-h2{font-size:18pt!important}.age-7-8 .content-h3{font-size:15pt!important}.age-7-8 .content-numbered{font-size:12pt!important}.age-9-10 .content-p,.age-9-10 .content-bullet{font-size:11pt!important}.age-9-10 .content-h1,.age-9-10 .section-header h2{font-size:20pt!important}.age-9-10 .content-h2{font-size:16pt!important}.age-9-10 .content-h3{font-size:13pt!important}.age-9-10 .content-numbered{font-size:11pt!important}.age-11-12 .content-p,.age-11-12 .content-bullet{font-size:10pt!important}.age-11-12 .content-h1,.age-11-12 .section-header h2{font-size:18pt!important}.age-11-12 .content-h2{font-size:14pt!important}.age-11-12 .content-h3{font-size:12pt!important}.age-11-12 .content-numbered,.age-13-plus .content-p,.age-13-plus .content-bullet{font-size:10pt!important}.age-13-plus .content-h1,.age-13-plus .section-header h2{font-size:16pt!important}.age-13-plus .content-h2{font-size:13pt!important}.age-13-plus .content-h3{font-size:11pt!important}.age-13-plus .content-numbered{font-size:10pt!important}}.print-header{display:none}.app-container{display:flex;min-height:100vh}.left-panel{position:fixed;top:0;left:0;width:220px;height:100vh;background:#fffef9;border-right:1px solid #E8F4F7;z-index:50;display:flex;flex-direction:column;transition:width .2s ease}.left-panel-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px 16px 8px;min-height:0}.left-panel-scroll::-webkit-scrollbar{width:4px}.left-panel-scroll::-webkit-scrollbar-thumb{background:#d0d0d0;border-radius:2px}.left-panel-scroll::-webkit-scrollbar-track{background:transparent}.left-panel.collapsed{width:64px}.left-panel.collapsed .left-panel-scroll{padding:12px 8px 8px}.left-panel.collapsed .brand-icon{font-size:32px;margin-bottom:4px}.left-panel.collapsed .brand-text,.left-panel.collapsed .brand-date{display:none}.left-panel.collapsed .brand-header{padding-bottom:12px;margin-bottom:12px}.left-panel.collapsed .panel-section-label,.left-panel.collapsed .pill-info{display:none}.left-panel.collapsed .student-pill{padding:6px;justify-content:center}.panel-handle{position:absolute;top:50%;transform:translateY(-50%);width:16px;height:48px;background:#e8f4f7;border:1px solid #D0D0D0;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:10px;color:#636e72;transition:all .15s ease;z-index:51}.panel-handle:hover{background:#d0e8f0;color:#2d3436}.left-panel .panel-handle{right:-8px}.right-panel .panel-handle{left:-8px}.brand-header{display:flex;flex-direction:column;align-items:center;text-align:center;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid #E8F4F7}.brand-icon{font-size:62px;margin-bottom:8px}.brand-text{display:flex;flex-direction:column;align-items:center}.brand-name{font-size:20px;font-weight:700;color:#2d3436;font-family:Playfair Display,Georgia,serif;line-height:1.3}.brand-sub{font-size:17px;color:#636e72}.brand-date{display:inline-block;background:#4a90a4;color:#fffef9;padding:6px 16px;border-radius:20px;font-size:12px;margin-top:12px}.panel-section-label{font-size:16px;font-weight:600;color:#2d3436;margin-bottom:12px;display:flex;align-items:center;gap:8px}.student-pill-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.student-pill{display:flex;align-items:center;gap:10px;padding:8px 10px;border:2px solid #E8F4F7;border-radius:10px;background:#fafafa;cursor:pointer;transition:all .15s ease}.student-pill:hover{border-color:#d0d0d0;background:#f5f5f5}.student-pill.selected,.student-pill.selected .pill-name{color:#fff}.student-pill.selected .pill-grade{color:#ffffffd9}.student-pill.collab{border-style:dashed}.pill-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.pill-info{display:flex;flex-direction:column}.pill-name{font-size:14px;font-weight:600;color:#2d3436}.pill-grade{font-size:11px;color:#636e72}.add-student-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px;margin-top:12px;border:2px dashed #D0D0D0;border-radius:10px;background:transparent;color:#636e72;font-size:13px;cursor:pointer;transition:all .15s ease}.add-student-btn:hover{border-color:#4a90a4;color:#4a90a4;background:#e8f4f7}.add-student-btn .add-icon{font-size:14px}.left-panel.collapsed .add-student-btn .add-text{display:none}.left-panel.collapsed .add-student-btn{padding:8px}.nav-section{margin-top:20px;padding-top:16px;border-top:1px solid #E8F4F7}.nav-btn{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;margin-bottom:4px;border:none;border-radius:8px;background:transparent;color:#636e72;font-size:14px;cursor:pointer;transition:all .15s ease;text-align:left}.nav-btn:hover{background:#f0f8fa;color:#2d3436}.nav-btn.active{background:#4a90a4;color:#fff}.nav-icon{font-size:18px;flex-shrink:0}.left-panel.collapsed .nav-section .panel-section-label{display:none}.left-panel.collapsed .nav-btn{padding:10px;justify-content:center}.left-panel.collapsed .nav-btn .nav-text{display:none}.main-panel{flex:1;margin-left:220px;margin-right:0;min-height:100vh;padding:0;transition:margin-left .2s ease,margin-right .2s ease}.sidebar-collapsed .main-panel{margin-left:64px}.right-panel-open .main-panel{margin-right:280px}.right-panel{position:fixed;top:0;right:0;width:280px;height:100vh;background:#fffef9;border-left:1px solid #E8F4F7;z-index:50;display:flex;flex-direction:column;transform:translate(100%);transition:transform .2s ease}.right-panel.open{transform:translate(0)}.right-panel-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #E8F4F7}.right-panel-title{margin:0;font-size:14px;font-weight:700}.right-panel-close{width:28px;height:28px;border:none;background:#f5f5f5;border-radius:6px;cursor:pointer;font-size:14px}.right-panel-close:hover{background:#e8e8e8}.right-panel-content{flex:1;overflow:auto}.student-details-header{padding:20px;text-align:center;color:#fff}.student-details-avatar{font-size:44px}.student-details-name{margin:8px 0 4px;font-family:Playfair Display,Georgia,serif}.student-details-grade{margin:0;opacity:.85;font-size:14px}.student-details-body{padding:16px}.detail-label{font-size:10px;font-weight:700;color:#9e9e9e;text-transform:uppercase;letter-spacing:.5px;margin:16px 0 8px}.detail-label:first-child{margin-top:0}.interest-tags{display:flex;flex-wrap:wrap;gap:6px}.adj-row{display:flex;align-items:center;gap:6px;font-size:12px;margin-bottom:3px}.adj-arrow{font-weight:700}.adj-value{color:#636e72;margin-left:auto}.activity-item{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #F5F5F5;font-size:13px}.activity-item.clickable{cursor:pointer;padding:8px 6px;margin:0 -6px;border-radius:6px;transition:background .15s ease}.activity-item.clickable:hover{background:#e8f4f7}.activity-arrow{color:#b0b0b0;font-size:12px;opacity:0;transition:opacity .15s ease}.activity-item.clickable:hover .activity-arrow{opacity:1;color:#4a90a4}.empty-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#b2bec3;text-align:center;padding:20px}.worksheet-page{width:8.5in;height:11in;display:flex;flex-direction:column;overflow:hidden;background:#fff;box-sizing:border-box}.worksheet-page.grade-toddler{padding:.5in;font-family:ABeeZee,sans-serif;font-size:32px;line-height:1.8}.worksheet-page.grade-prek{padding:.5in;font-family:ABeeZee,sans-serif;font-size:28px;line-height:1.6}.worksheet-page.grade-k{padding:.4in .5in;font-family:ABeeZee,sans-serif;font-size:24px;line-height:1.6}.worksheet-page.grade-g1{padding:.4in .5in;font-family:ABeeZee,sans-serif;font-size:20px;line-height:1.5}.worksheet-page.grade-g2{padding:.35in .5in;font-family:ABeeZee,sans-serif;font-size:17px;line-height:1.5}.worksheet-page.grade-g3{padding:.35in .5in;font-family:system-ui,Arial,Helvetica,sans-serif;font-size:15px;line-height:1.4}.worksheet-page.grade-g4{padding:.3in .5in;font-family:system-ui,Arial,Helvetica,sans-serif;font-size:14px;line-height:1.4}.worksheet-page.grade-g5{padding:.3in .5in;font-family:system-ui,Arial,Helvetica,sans-serif;font-size:13px;line-height:1.4}.worksheet-page.grade-middle{padding:.25in .5in;font-family:system-ui,Arial,Helvetica,sans-serif;font-size:12px;line-height:1.3}.worksheet-page.grade-high{padding:.25in .5in;font-family:system-ui,Arial,Helvetica,sans-serif;font-size:11px;line-height:1.3}.worksheet-page.grade-toddler h1,.worksheet-page.grade-toddler h2,.worksheet-page.grade-toddler h3,.worksheet-page.grade-prek h1,.worksheet-page.grade-prek h2,.worksheet-page.grade-prek h3,.worksheet-page.grade-k h1,.worksheet-page.grade-k h2,.worksheet-page.grade-k h3,.worksheet-page.grade-g1 h1,.worksheet-page.grade-g1 h2,.worksheet-page.grade-g1 h3,.worksheet-page.grade-g2 h1,.worksheet-page.grade-g2 h2,.worksheet-page.grade-g2 h3{font-family:ABeeZee,sans-serif}.worksheet-page.grade-g3 h1,.worksheet-page.grade-g3 h2,.worksheet-page.grade-g3 h3,.worksheet-page.grade-g4 h1,.worksheet-page.grade-g4 h2,.worksheet-page.grade-g4 h3,.worksheet-page.grade-g5 h1,.worksheet-page.grade-g5 h2,.worksheet-page.grade-g5 h3,.worksheet-page.grade-middle h1,.worksheet-page.grade-middle h2,.worksheet-page.grade-middle h3,.worksheet-page.grade-high h1,.worksheet-page.grade-high h2,.worksheet-page.grade-high h3{font-family:Playfair Display,Georgia,serif}.worksheet-page.high-contrast{--text-color: #000;--background-color: #FFF;color:#000;background:#fff}.worksheet-page.high-contrast *{border-width:3px}.worksheet-page.increased-letter-spacing{letter-spacing:.08em}.worksheet-page.increased-word-spacing{word-spacing:.15em}.worksheet-page.cream-background{background-color:#fdf8e7}.worksheet-page.dyslexia-font,.worksheet-page.dyslexia-font *{font-family:OpenDyslexic,sans-serif!important}.two-column-list{display:flex;flex-wrap:wrap;gap:8px 24px}.two-column-list .list-item{width:calc(50% - 12px);display:flex;align-items:baseline;gap:8px}.two-column-list .item-number{font-weight:700;min-width:1.5em}.matching-columns{display:flex;gap:48px;justify-content:center}.matching-column{display:flex;flex-direction:column;gap:16px}.matching-column.left{align-items:flex-end;text-align:right}.matching-column.right{align-items:flex-start;text-align:left}.matching-item{display:flex;align-items:center;gap:8px}.matching-item .marker{width:24px;height:24px;border:2px solid var(--student-color, #4A90A4);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85em}.two-column-content{display:flex;gap:24px}.two-column-content .column{flex:1;display:flex;flex-direction:column;gap:12px}.two-column-content .column-header{font-weight:700;border-bottom:2px solid var(--student-color, #4A90A4);padding-bottom:4px;margin-bottom:4px}.content-with-sidebar{display:flex;gap:20px}.content-main{flex:3;display:flex;flex-direction:column;gap:12px}.content-sidebar{flex:1;display:flex;flex-direction:column;gap:12px}.sidebar-box{background:var(--student-light, #E8F4F7);border-left:3px solid var(--student-color, #4A90A4);padding:12px;border-radius:0 8px 8px 0;font-size:.9em}.sidebar-box .sidebar-title{font-weight:700;font-size:.85em;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;color:var(--student-color, #4A90A4)}.annotated-content{display:flex;gap:16px}.annotation-margin{width:1.25in;flex-shrink:0;display:flex;flex-direction:column;gap:8px}.annotated-main{flex:1;display:flex;flex-direction:column;gap:12px}.margin-note{font-size:.75em;color:#666;border-left:2px solid #ccc;padding-left:8px;line-height:1.4}.margin-note.highlight{border-left-color:var(--student-color, #4A90A4);color:var(--student-color, #4A90A4)}.writing-lines-three{background-image:linear-gradient(transparent 0%,transparent 33%,#ccc 33%,#ccc 34%,transparent 34%,transparent 66%,#999 66%,#999 67%,transparent 67%,transparent 100%);background-size:100% 1in}.writing-lines-two{background-image:linear-gradient(transparent 0%,transparent 50%,#ccc 50%,#ccc 51%,transparent 51%,transparent 100%);background-size:100% .75in}.writing-lines-ruled{background-image:linear-gradient(transparent 95%,#ccc 95%,#ccc);background-size:100% .375in}.writing-lines-college{background-image:linear-gradient(transparent 95%,#ccc 95%,#ccc);background-size:100% .25in}.layout-card{display:flex;flex-direction:column;align-items:center;gap:4px}.content-section.flex-grow{flex:1;display:flex;flex-direction:column;min-height:0}.drawing-box{flex:1;border:2px dashed var(--student-color, #4A90A4);border-radius:12px;background:#fffef9}.accessibility-option{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#f8f9fa;border-radius:8px;margin-bottom:8px}.accessibility-option .option-info{flex:1}.accessibility-option .option-label{font-weight:600;font-size:14px;color:#2d3436}.accessibility-option .option-desc{font-size:12px;color:#636e72;margin-top:2px}.accessibility-toggle{position:relative;width:48px;height:26px;background:#dfe6e9;border-radius:13px;cursor:pointer;transition:background .2s ease}.accessibility-toggle.active{background:#4a90a4}.accessibility-toggle:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s ease;box-shadow:0 2px 4px #0003}.accessibility-toggle.active:after{transform:translate(22px)}.subex-section{margin-bottom:28px}.subex-section-title{font-size:16px;font-weight:700;color:#2d3436;display:flex;align-items:center;gap:8px;margin-bottom:14px;padding-bottom:8px;border-bottom:2px solid #EDF2F7}.subex-section-title .subex-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;background:#edf2f7;color:#636e72}.subex-week-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;flex-wrap:wrap;gap:8px}.subex-week-nav{display:flex;align-items:center;gap:6px}.subex-week-nav button{border:1px solid #DFE6E9;background:#fff;border-radius:8px;padding:5px 10px;cursor:pointer;font-size:13px;color:#636e72;transition:all .15s}.subex-week-nav button:hover{background:#f0f4f8;color:#2d3436}.subex-week-nav .subex-week-label{font-size:14px;font-weight:600;color:#2d3436;min-width:110px;text-align:center}.subex-day-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.subex-day-card{background:#fff;border:1px solid #EDF2F7;border-radius:10px;padding:12px 14px;transition:box-shadow .15s}.subex-day-card:hover{box-shadow:0 2px 8px #0000000f}.subex-day-card.today{border-color:#6c5ce7;box-shadow:0 0 0 2px #6c5ce71f}.subex-day-name{font-size:13px;font-weight:700;color:#2d3436;margin-bottom:6px;display:flex;align-items:center;gap:6px}.subex-day-name .today-badge{font-size:10px;font-weight:600;padding:1px 6px;border-radius:8px;background:#6c5ce7;color:#fff}.subex-day-subjects{display:flex;flex-wrap:wrap;gap:5px}.subex-subject-chip{font-size:11px;padding:3px 8px;border-radius:14px;background:#f0f4f8;color:#2d3436;white-space:nowrap;cursor:pointer;transition:all .15s;border:1px solid transparent}.subex-subject-chip:hover{background:#e3e8ed;border-color:#cbd5e0}.subex-subject-chip.core{background:#ebf5ff;color:#2b6cb0}.subex-subject-chip.rotating{background:#f0fff4;color:#276749}.subex-rotation-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.subex-pool-card{background:#fff;border:1px solid #EDF2F7;border-radius:10px;padding:12px 14px;cursor:pointer;transition:all .15s}.subex-pool-card:hover{border-color:#cbd5e0;box-shadow:0 2px 8px #0000000d}.subex-pool-header{display:flex;align-items:center;gap:6px;margin-bottom:8px}.subex-pool-icon{font-size:18px}.subex-pool-name{font-size:13px;font-weight:700;color:#2d3436}.subex-pool-count{font-size:10px;font-weight:600;padding:1px 6px;border-radius:8px;background:#edf2f7;color:#636e72;margin-left:auto}.subex-pool-current{font-size:12px;color:#6c5ce7;font-weight:600;padding:4px 10px;background:#f3f0ff;border-radius:8px;margin-bottom:6px}.subex-pool-upcoming{font-size:11px;color:#636e72;line-height:1.6}.subex-pool-upcoming span{color:#a0aec0}.subex-detail-header{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#f7fafc;border-radius:12px;margin-bottom:16px}.subex-detail-icon{font-size:36px}.subex-detail-name{font-size:18px;font-weight:700;color:#2d3436}.subex-detail-sub{font-size:13px;color:#636e72}.subex-tier-grid{display:grid;gap:8px}.subex-tier-row{display:grid;grid-template-columns:110px 1fr;gap:8px;align-items:start;padding:10px 14px;background:#fff;border:1px solid #EDF2F7;border-radius:10px}.subex-tier-label{font-size:12px;font-weight:700;padding:3px 8px;border-radius:6px;text-align:center;white-space:nowrap}.subex-tier-content{font-size:13px;color:#4a5568;line-height:1.5}.subex-plan-tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:14px}.subex-plan-tab{font-size:12px;font-weight:600;padding:5px 12px;border-radius:8px;cursor:pointer;transition:all .15s;background:#f0f4f8;color:#636e72;border:1px solid transparent}.subex-plan-tab:hover{background:#e2e8f0}.subex-plan-tab.active{background:#6c5ce7;color:#fff;border-color:#6c5ce7}.subex-plan-core{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}.subex-plan-card{background:#fff;border:1px solid #EDF2F7;border-radius:10px;padding:14px;transition:box-shadow .15s}.subex-plan-card:hover{box-shadow:0 2px 8px #0000000d}.subex-plan-card-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.subex-plan-card-header .plan-icon{font-size:20px}.subex-plan-card-header .plan-name{font-size:14px;font-weight:700;color:#2d3436}.subex-plan-card-body{font-size:12px;color:#636e72;line-height:1.6}.subex-plan-card-body ul{margin:4px 0 0 16px;padding:0}.subex-plan-card-body li{margin-bottom:2px}.plan-progress-pill{display:flex;align-items:center;gap:5px;margin-left:auto;flex-shrink:0;padding:2px 8px 2px 4px;border-radius:12px;background:#f7f8fa;border:1px solid #E8ECF0}.plan-progress-bar{width:40px;height:7px;border-radius:4px;overflow:hidden;flex-shrink:0;background:#e8ecf0}.plan-progress-fill{height:100%;border-radius:4px;transition:width .4s ease;min-width:2px}.plan-progress-pct{font-size:11px;font-weight:700;min-width:30px;text-align:right;line-height:1}.plan-progress-sessions{font-size:9px;color:#9e9e9e;white-space:nowrap}.plan-progress-none{margin-left:auto;flex-shrink:0;font-size:10px;color:#b0bec5;font-weight:600;padding:2px 10px;border-radius:12px;background:#f0f2f5;border:1px dashed #D0D7DE}.plan-progress-legend{display:flex;gap:12px;flex-wrap:wrap;align-items:center;font-size:10px;color:#9e9e9e;margin-bottom:10px;padding:6px 10px;background:#fafbfc;border-radius:8px;border:1px solid #F0F0F0}.plan-progress-legend b{color:#636e72;font-weight:600;margin-right:6px}.plan-progress-legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:3px;vertical-align:middle}.subex-tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:2px solid #EDF2F7;padding-bottom:2px;flex-wrap:wrap}.subex-tab{font-size:13px;font-weight:600;padding:8px 16px;border-radius:8px 8px 0 0;cursor:pointer;background:transparent;color:#636e72;border:none;transition:all .15s;border-bottom:2px solid transparent;margin-bottom:-4px}.subex-tab:hover{color:#2d3436;background:#f7fafc}.subex-tab.active{color:#6c5ce7;border-bottom-color:#6c5ce7;background:#fafaff}.report-graphs-container{background:#fff;border-radius:12px;border:1px solid #E8E8E8;padding:32px;margin-bottom:24px}.report-graphs-header{display:flex;align-items:center;gap:16px;margin-bottom:24px;padding-bottom:20px;border-bottom:2px solid #F0F0F0}.report-graphs-header .rg-logo{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0}.report-graphs-header .rg-title{font-size:20px;font-weight:700;color:#2d3436}.report-graphs-header .rg-subtitle{font-size:13px;color:#636e72;margin-top:2px}.report-graphs-header .rg-meta{margin-left:auto;text-align:right;font-size:12px;color:#9e9e9e;line-height:1.6}.rg-section{margin-bottom:28px}.rg-section-title{font-size:14px;font-weight:700;color:#2d3436;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;display:flex;align-items:center;gap:8px}.rg-section-title:after{content:"";flex:1;height:1px;background:#e8e8e8}.rg-graph-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.rg-graph-card{background:#fafafa;border-radius:10px;padding:16px;border:1px solid #F0F0F0}.rg-graph-card h4{font-size:12px;font-weight:600;color:#636e72;text-transform:uppercase;letter-spacing:.3px;margin:0 0 10px}.rg-graph-card svg{width:100%;height:auto;display:block}.rg-kpi-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.rg-kpi{flex:1;min-width:100px;background:#fafafa;border-radius:10px;padding:14px 16px;text-align:center;border:1px solid #F0F0F0}.rg-kpi-val{font-size:24px;font-weight:700}.rg-kpi-label{font-size:11px;color:#636e72;margin-top:2px}.rg-subject-bar-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.rg-subject-bar-label{font-size:11px;color:#636e72;width:100px;text-align:right;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rg-subject-bar-track{flex:1;height:18px;background:#eaeaea;border-radius:9px;overflow:hidden;position:relative}.rg-subject-bar-fill{height:100%;border-radius:9px;transition:width .3s}.rg-subject-bar-count{font-size:10px;color:#9e9e9e;width:40px;flex-shrink:0}.rg-mastery-legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.rg-mastery-legend span{font-size:11px;display:flex;align-items:center;gap:4px}.rg-mastery-dot{width:10px;height:10px;border-radius:50%}.rg-divider{height:1px;background:#f0f0f0;margin:24px 0}.assess-subtabs{display:flex;gap:4px;margin-bottom:20px;background:#f0f0f0;border-radius:10px;padding:4px;overflow-x:auto}.assess-subtab{padding:10px 16px;border-radius:8px;border:none;background:transparent;cursor:pointer;font-size:13px;font-weight:500;color:#636e72;white-space:nowrap;transition:all .2s}.assess-subtab:hover{color:#2d3436;background:#e8e8e8}.assess-subtab.active{background:#fff;color:#2d3436;font-weight:600;box-shadow:0 1px 3px #0000001a}.annual-test-card{background:#fff;border:1px solid #E0E0E0;border-radius:12px;padding:16px;margin-bottom:12px}.annual-test-card:hover{border-color:#4a90a4;box-shadow:0 2px 8px #4a90a426}.annual-test-card .test-header{display:flex;align-items:center;gap:12px;margin-bottom:10px}.annual-test-card .test-badge{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:22px}.annual-test-card .test-name{font-weight:600;font-size:15px;color:#2d3436}.annual-test-card .test-meta{font-size:12px;color:#636e72}.score-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-top:10px}.score-cell{background:#f8f9fa;border-radius:8px;padding:8px 10px;text-align:center}.score-cell .score-subject{font-size:11px;color:#636e72;font-weight:500;margin-bottom:4px}.score-cell .score-value{font-size:18px;font-weight:700}.score-cell .score-detail{font-size:10px;color:#9e9e9e;margin-top:2px}.test-form-group{margin-bottom:14px}.test-form-group label{display:block;font-size:12px;font-weight:600;color:#2d3436;margin-bottom:5px}.test-form-group input,.test-form-group select,.test-form-group textarea{width:100%;padding:8px 12px;border:1px solid #DDD;border-radius:8px;font-size:13px;box-sizing:border-box}.test-form-group input:focus,.test-form-group select:focus{border-color:#4a90a4;outline:none;box-shadow:0 0 0 3px #4a90a426}.score-input-row{display:grid;grid-template-columns:1fr 80px 80px 80px;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid #F0F0F0}.score-input-row:last-child{border-bottom:none}.score-input-row .subj-label{font-size:13px;font-weight:500;color:#2d3436}.score-input-row input{width:100%;padding:6px 8px;border:1px solid #DDD;border-radius:6px;font-size:12px;text-align:center;box-sizing:border-box}.test-catalog-card{background:#fff;border:1px solid #E0E0E0;border-radius:12px;padding:16px;margin-bottom:12px;transition:all .2s}.test-catalog-card:hover{border-color:#4a90a4;box-shadow:0 2px 8px #4a90a426}.test-catalog-card .catalog-header{display:flex;align-items:center;gap:12px}.test-catalog-card .catalog-icon{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.test-catalog-card .catalog-name{font-weight:700;font-size:15px;color:#2d3436}.test-catalog-card .catalog-pub{font-size:12px;color:#636e72}.catalog-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin-top:12px}.catalog-detail{background:#f8f9fa;border-radius:6px;padding:6px 10px}.catalog-detail .cd-label{font-size:10px;color:#9e9e9e;text-transform:uppercase;font-weight:600}.catalog-detail .cd-value{font-size:12px;color:#2d3436;font-weight:500}.catalog-notes{margin-top:10px;padding:10px 12px;background:#fff8e1;border-radius:8px;font-size:12px;color:#5d4037;line-height:1.5}.test-reminder-banner{margin:0 24px 16px;padding:14px 16px;border-radius:10px;display:flex;align-items:center;gap:12px}.test-reminder-banner.due{background:#fff3e0;border-left:4px solid #FF9800}.test-reminder-banner.overdue{background:#ffebee;border-left:4px solid #F44336}.test-reminder-banner.done{background:#e8f5e9;border-left:4px solid #4CAF50}.test-reminder-banner.info{background:#e3f2fd;border-left:4px solid #2196F3}.test-reminder-banner .reminder-icon{font-size:24px}.test-reminder-banner .reminder-text{font-size:13px;color:#2d3436}.test-reminder-banner .reminder-text strong{font-weight:600}.test-prep-chip{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:8px;border:1px solid #DDD;background:#fff;font-size:12px;cursor:pointer;transition:all .2s}.test-prep-chip:hover{border-color:#4a90a4;background:#e8f4f7}.test-prep-chip.active{border-color:#4a90a4;background:#4a90a4;color:#fff}.quiz-builder{padding:0 24px}.quiz-builder-section{background:#f8f9fa;border-radius:12px;padding:16px 20px;margin-bottom:16px}.quiz-builder-section h4{margin:0 0 12px;font-size:14px;color:#2d3436;display:flex;align-items:center;gap:8px}.quiz-type-cards{display:flex;gap:12px;flex-wrap:wrap}.quiz-type-card{flex:1;min-width:180px;padding:16px;border:2px solid #E0E0E0;border-radius:12px;cursor:pointer;transition:all .2s;background:#fffef9;text-align:center}.quiz-type-card:hover{border-color:#4a90a4;box-shadow:0 2px 8px #4a90a426}.quiz-type-card.selected{border-color:#4a90a4;background:#e8f4f7}.quiz-type-card .qt-icon{font-size:28px;margin-bottom:6px}.quiz-type-card .qt-title{font-size:14px;font-weight:600;color:#2d3436}.quiz-type-card .qt-desc{font-size:12px;color:#636e72;margin-top:4px}.quiz-subject-grid{display:flex;flex-wrap:wrap;gap:8px}.quiz-subject-chip{padding:6px 14px;border-radius:20px;border:2px solid #E0E0E0;background:#fffef9;font-size:13px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.quiz-subject-chip:hover{border-color:#b2bec3}.quiz-subject-chip.selected{background:#4a90a4;color:#fffef9;border-color:#4a90a4}.quiz-generate-btn{width:100%;padding:14px;font-size:16px;font-weight:600;border:none;border-radius:12px;cursor:pointer;background:linear-gradient(135deg,#4a90a4,#367588);color:#fff;transition:all .2s;margin-top:8px}.quiz-generate-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #4a90a44d}.quiz-generate-btn:disabled{opacity:.5;cursor:not-allowed}.quiz-suggestion{background:#fff8e1;border:1px solid #FFE082;border-radius:8px;padding:10px 14px;font-size:13px;color:#795548;margin-bottom:16px;display:flex;align-items:center;gap:8px}.quiz-page{width:8.5in;min-height:10.5in;padding:.4in .5in;font-family:Nunito,sans-serif;page-break-after:always;display:flex;flex-direction:column;background:#fff;margin:0 auto 20px;box-shadow:0 2px 12px #0000001a}.quiz-header{display:flex;justify-content:space-between;align-items:center;border-bottom:3px solid var(--q-color, #4A90A4);padding-bottom:10px;margin-bottom:16px}.quiz-header-left{display:flex;align-items:center;gap:10px}.quiz-title{font-family:Playfair Display,serif;font-size:20px;color:var(--q-color, #4A90A4)}.quiz-student-badge{background:var(--q-light, #E8F4F7);color:var(--q-color, #4A90A4);padding:4px 14px;border-radius:20px;font-weight:600;font-size:12px}.quiz-encouragement{font-size:13px;color:#636e72;font-style:italic;margin-bottom:14px}.quiz-section{margin-bottom:18px}.quiz-section-title{font-size:16px;font-weight:700;color:var(--q-color, #4A90A4);margin-bottom:10px;display:flex;align-items:center;gap:8px}.quiz-question{margin-bottom:14px;padding-left:4px}.quiz-q-num{font-weight:700;color:var(--q-color, #4A90A4);min-width:24px;display:inline-block}.quiz-q-prompt{font-size:15px;line-height:1.5;color:#2d3436}.quiz-mc-options{display:flex;gap:16px;margin-top:6px;flex-wrap:wrap;padding-left:28px}.quiz-mc-opt{display:flex;align-items:center;gap:6px;font-size:15px}.quiz-mc-bubble{width:20px;height:20px;border:2px solid #B2BEC3;border-radius:50%;flex-shrink:0}.quiz-blank{display:inline-block;border-bottom:2px solid #B2BEC3;min-width:80px;margin:0 4px}.quiz-draw-box{border:2px dashed var(--q-color, #4A90A4);border-radius:10px;min-height:70px;margin:8px 0 0 28px;background:#fffef9}.quiz-match-table{border-collapse:collapse;margin:8px 0 0 28px}.quiz-match-table td{padding:6px 14px;border:1px solid #E0E0E0;font-size:14px}.quiz-footer{margin-top:auto;border-top:2px solid #F0F0F0;padding-top:8px;text-align:center;font-size:12px;color:#9e9e9e}.quiz-footer .encouragement{font-size:14px;color:var(--q-color, #4A90A4);font-weight:600;margin-bottom:4px}.quiz-page.tier-k .quiz-q-prompt,.quiz-page.tier-k .quiz-mc-opt{font-size:19px}.quiz-page.tier-k .quiz-mc-bubble{width:24px;height:24px}.quiz-page.tier-k .quiz-draw-box{min-height:100px}.quiz-page.tier-k .quiz-section-title{font-size:19px}.quiz-page.tier-1 .quiz-q-prompt,.quiz-page.tier-1 .quiz-mc-opt{font-size:17px}.quiz-page.tier-2 .quiz-q-prompt,.quiz-page.tier-2 .quiz-mc-opt{font-size:15px}.quiz-answer-section{margin-bottom:12px;padding-left:4px}.quiz-answer{font-size:13px;margin-bottom:6px;display:flex;gap:8px;align-items:baseline}.quiz-answer .q-num{font-weight:700;color:var(--q-color, #636E72);min-width:20px}.quiz-answer .q-ans{color:#2e7d32;font-weight:600}.quiz-answer .q-skill{font-size:11px;color:#9e9e9e;font-style:italic}.scoring-grid{width:100%;border-collapse:collapse;margin:16px 0;font-size:12px}.scoring-grid th{text-align:left;padding:6px 10px;background:#f5f5f5;border-bottom:2px solid #E0E0E0;font-size:10px;text-transform:uppercase;color:#636e72;letter-spacing:.3px}.scoring-grid td{padding:6px 10px;border-bottom:1px solid #F0F0F0}.scoring-grid .mastery-bubbles{display:flex;gap:4px}.scoring-grid .m-bubble{width:18px;height:18px;border:1.5px solid #B2BEC3;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#636e72}.score-entry{max-width:600px;margin:0 auto}.score-question{background:#f8f9fa;border-radius:10px;padding:14px 16px;margin-bottom:10px}.score-q-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;flex-wrap:wrap;gap:6px}.score-q-label{font-weight:600;font-size:14px;color:#2d3436}.score-q-skill{font-size:11px;color:#9e9e9e}.score-q-answer{font-size:13px;color:#636e72;margin-bottom:8px}.score-correct-btns{display:flex;gap:8px;margin-bottom:8px}.score-correct-btn{padding:6px 16px;border-radius:20px;border:2px solid #E0E0E0;background:#fffef9;cursor:pointer;font-size:13px;font-weight:600;transition:all .15s}.score-correct-btn:hover{border-color:#b2bec3}.score-correct-btn.correct.selected{background:#e8f5e9;border-color:#81c784;color:#2e7d32}.score-correct-btn.incorrect.selected{background:#ffebee;border-color:#ef5350;color:#c62828}.score-mastery-row{display:flex;gap:6px;align-items:center}.score-mastery-row .label{font-size:12px;color:#636e72;margin-right:4px}.score-mastery-btn{width:36px;height:36px;border-radius:50%;border:2px solid #E0E0E0;background:#fffef9;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .15s;position:relative}.score-mastery-btn:hover{transform:scale(1.1)}.score-mastery-btn.selected{border-width:3px;transform:scale(1.15);box-shadow:0 2px 8px #0000001f}.score-mastery-btn.m1.selected{border-color:#ef4444;background:#fee2e2}.score-mastery-btn.m2.selected{border-color:#f59e0b;background:#fef3c7}.score-mastery-btn.m3.selected{border-color:#10b981;background:#d1fae5}.score-mastery-btn.m4.selected{border-color:#6366f1;background:#eef2ff}.quick-score-bar{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.quick-score-btn{padding:8px 16px;border-radius:20px;border:2px solid #E0E0E0;background:#fffef9;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s}.quick-score-btn:hover{border-color:#4a90a4}.quick-score-btn.active{background:#4a90a4;color:#fffef9;border-color:#4a90a4}.mastery-subject-block{background:#f8f9fa;border-radius:12px;padding:16px 20px;margin-bottom:12px}.mastery-subject-header{display:flex;align-items:center;gap:10px;margin-bottom:12px;cursor:pointer}.mastery-subject-header .icon{font-size:20px}.mastery-subject-header .name{font-size:15px;font-weight:600;color:#2d3436;flex:1}.mastery-subject-header .avg{font-size:13px;font-weight:600;padding:2px 10px;border-radius:12px}.mastery-skill-row{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid #EFEFEF}.mastery-skill-row:last-child{border-bottom:none}.mastery-skill-row .skill-name{font-size:13px;color:#2d3436;flex:1;min-width:100px}.mastery-skill-row .skill-level{font-size:12px;font-weight:600;padding:2px 8px;border-radius:10px;white-space:nowrap}.mastery-skill-row .skill-bar{flex:1.5;min-width:80px;height:8px;background:#f0f0f0;border-radius:4px;overflow:hidden}.mastery-skill-row .skill-bar-fill{height:100%;border-radius:4px;transition:width .3s}.mastery-skill-row .skill-trend{font-size:14px;width:24px;text-align:center}.quiz-history-row{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f8f9fa;border-radius:10px;margin-bottom:8px;cursor:pointer;transition:all .2s}.quiz-history-row:hover{background:#f0f0f0}.quiz-history-row .qh-date{font-size:13px;font-weight:600;color:#2d3436;min-width:70px}.quiz-history-row .qh-student{font-size:13px;color:#636e72;min-width:80px}.quiz-history-row .qh-type{font-size:11px;padding:2px 8px;border-radius:10px;background:#e8f4f7;color:#4a90a4;font-weight:600}.quiz-history-row .qh-score{font-size:14px;font-weight:700;min-width:60px;text-align:center}.quiz-history-row .qh-mastery{font-size:14px;min-width:30px;text-align:center}.quiz-history-row .qh-actions{margin-left:auto;display:flex;gap:6px}.quiz-history-row .qh-action-btn{padding:4px 10px;border:1px solid #E0E0E0;border-radius:6px;font-size:11px;background:#fff;cursor:pointer}.quiz-history-row .qh-action-btn:hover{background:#f0f0f0}@media print{.quiz-page{box-shadow:none;margin:0;min-height:auto!important;height:auto!important;display:block!important}.quiz-page+.quiz-page{page-break-before:always!important}.quiz-page{page-break-after:auto!important}.assess-subtabs,.quiz-builder,.quiz-suggestion,.quiz-generate-btn,.score-entry,.no-print{display:none!important}}@media print{.left-panel,.right-panel{display:none!important}.main-panel{margin:0!important}}.math-progress-wrapper{padding:0 0 24px}.math-progress-section{background:#fff;border-radius:12px;padding:20px;margin-bottom:16px;border:1px solid #E8E8E8}.math-progress-section h3{margin:0 0 14px;font-size:15px;font-weight:600}.math-focus-card{background:#fafafa;border-radius:8px;padding:14px 16px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}.math-focus-name{font-weight:600;font-size:15px;color:#2d3436}.math-cpa-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px}.math-cpa-progress{width:100%;margin-top:4px}.math-cpa-progress-label{font-size:11px;color:#636e72;margin-bottom:4px}.math-cpa-progress-bar{height:6px;background:#e8e8e8;border-radius:3px;overflow:hidden}.math-cpa-progress-fill{height:100%;border-radius:3px;transition:width .3s}.math-skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.math-skill-card{background:#fafafa;border-radius:8px;padding:12px;border-left:3px solid #ccc}.math-skill-mastered{border-left-color:#27ae60;background:#f0faf4}.math-skill-practicing{border-left-color:#f39c12;background:#fffbf0}.math-skill-overdue{border-left-color:#e74c3c;background:#fef5f5}.math-skill-new{border-left-color:#bdc3c7}.math-skill-name{font-weight:600;font-size:13px;color:#2d3436;margin-bottom:6px}.math-skill-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600;text-transform:uppercase}.math-badge-mastered{background:#27ae6022;color:#27ae60}.math-badge-practicing{background:#f39c1222;color:#e67e22}.math-badge-overdue{background:#e74c3c22;color:#e74c3c}.math-badge-new{background:#bdc3c722;color:#7f8c8d}.math-skill-meta{font-size:11px;color:#636e72;margin-top:4px}.math-recent-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.math-recent-chip{padding:4px 10px;border-radius:14px;font-size:12px;font-weight:500}.math-interleave-status{font-size:12px;padding:8px 12px;border-radius:8px}.math-interleave-status.good{background:#f0faf4;color:#27ae60}.math-interleave-status.fair{background:#fffbf0;color:#e67e22}.math-interleave-status.poor{background:#fef5f5;color:#e74c3c}.math-fluency-row{margin-bottom:12px}.math-fluency-label{font-size:13px;font-weight:500;color:#2d3436;margin-bottom:4px}.math-fluency-bar-wrap{display:flex;align-items:center;gap:10px}.math-fluency-bar{flex:1;height:8px;background:#e8e8e8;border-radius:4px;overflow:hidden}.math-fluency-fill{height:100%;border-radius:4px;transition:width .3s}.math-fluency-text{font-size:11px;color:#636e72;white-space:nowrap}.math-review-group{margin-bottom:10px}.math-review-label{font-size:12px;font-weight:600;color:#636e72;margin-bottom:6px}.math-review-skills{display:flex;flex-wrap:wrap;gap:6px}.math-review-chip{padding:4px 10px;border-radius:14px;font-size:12px;font-weight:500;border:1px solid #E8E8E8;background:#fafafa;color:#636e72}.math-review-chip.due-today{background:#fff;font-weight:600}.math-review-chip.upcoming{background:#f8f9fa}.math-roadmap-toggle{padding:8px 16px;border-radius:8px;border:1px solid #E0E0E0;background:#fff;font-size:13px;font-weight:500;cursor:pointer;color:#636e72;transition:all .2s}.math-roadmap-toggle.active{background:var(--rm-color, #4A90A4);color:#fff;border-color:var(--rm-color, #4A90A4)}.math-roadmap-toggle:hover:not(.active){border-color:var(--rm-color, #4A90A4);color:var(--rm-color, #4A90A4)}.math-quick-check-btn{margin-left:auto;padding:8px 16px;border-radius:8px;border:1px solid var(--qc-color, #4A90A4);background:var(--qc-color, #4A90A4);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.math-quick-check-btn:hover{opacity:.9}.math-quick-check-btn:disabled{opacity:.5;cursor:not-allowed}.math-insight-btn{padding:6px 14px;border-radius:8px;border:1px solid var(--mi-color, #4A90A4);background:#fff;color:var(--mi-color, #4A90A4);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.math-insight-btn:hover{background:var(--mi-color, #4A90A4);color:#fff}.math-insight-btn:disabled{opacity:.5;cursor:not-allowed}.math-insight-content{background:#f8f9fa;border-radius:8px;padding:14px;font-size:13px;line-height:1.6;color:#2d3436;white-space:pre-wrap}.math-roadmap{padding:0}.math-roadmap-tier{background:#fff;border-radius:12px;padding:16px;margin-bottom:16px;border:1px solid #E8E8E8}.math-roadmap-tier.current{border-color:var(--tier-color, #4A90A4);border-width:2px}.math-roadmap-tier.future{opacity:.6}.math-roadmap-tier-label{font-size:14px;font-weight:600;color:#2d3436;margin-bottom:12px}.math-roadmap-nodes{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.math-roadmap-node{background:#fafafa;border-radius:8px;padding:10px;cursor:pointer;border:1px solid #E8E8E8;transition:all .2s;text-align:center}.math-roadmap-node:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000014}.math-node-mastered{background:#f0faf4;border-color:#27ae60}.math-node-focus{background:#fff8e1;border-color:#f39c12;animation:math-pulse 2s infinite}.math-node-practicing{background:#f0f7ff;border-color:#3498db}.math-node-overdue{background:#fef5f5;border-color:#e74c3c}.math-node-not-started{background:#f8f8f8;border-color:#ddd}.math-node-icon{font-size:20px;margin-bottom:4px}.math-node-name{font-size:12px;font-weight:600;color:#2d3436;margin-bottom:2px}.math-node-meta{font-size:10px;color:#636e72}.math-node-prereq{font-size:9px;color:#b2bec3;margin-top:4px;font-style:italic}@keyframes math-pulse{0%,to{box-shadow:0 0 #f39c124d}50%{box-shadow:0 0 0 6px #f39c1200}}.streak-widget{padding:10px 12px;border-radius:10px;margin-bottom:12px}.streak-widget-header{display:flex;align-items:center;gap:6px;margin-bottom:6px}.streak-widget-emoji{font-size:18px}.streak-widget-label{font-size:13px;font-weight:600;flex:1}.streak-widget-goal{font-size:11px;color:#636e72}.streak-widget-bar-wrap{height:6px;background:#e8e8e8;border-radius:3px;overflow:hidden;margin-bottom:6px}.streak-widget-bar{height:100%;border-radius:3px;transition:width .4s ease;min-width:2px}.streak-widget-footer{display:flex;align-items:center;justify-content:space-between}.streak-widget-msg{font-size:11px;color:#636e72}.streak-widget-freezes{font-size:11px;color:#42a5f5;font-weight:500}.streak-widget-best{font-size:10px;color:#9e9e9e;margin-top:4px;text-align:right}.badge-shelf{padding:10px 12px;background:#fafafa;border-radius:10px;margin-bottom:12px;border:1px solid #E8E8E8}.badge-shelf-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.badge-shelf-title{font-size:13px;font-weight:600;color:#2d3436}.badge-shelf-all{font-size:11px;color:#4a90a4;cursor:pointer;font-weight:500}.badge-shelf-all:hover{text-decoration:underline}.badge-shelf-icons{display:flex;gap:6px;flex-wrap:wrap}.badge-shelf-icon{width:36px;height:36px;border-radius:8px;border:2px solid #E8E8E8;display:flex;align-items:center;justify-content:center;font-size:18px;background:#fff;transition:all .2s;position:relative}.badge-shelf-icon:hover{transform:scale(1.1)}.badge-shelf-icon.badge-new{border-color:gold;animation:badge-pulse 1.5s infinite}.badge-new-label{position:absolute;top:-6px;right:-6px;background:gold;color:#333;font-size:7px;font-weight:700;padding:1px 3px;border-radius:3px}.badge-shelf-more{font-size:11px;color:#636e72;display:flex;align-items:center;padding:0 6px;cursor:pointer}.badge-shelf-more:hover{color:#4a90a4}@keyframes badge-pulse{0%,to{box-shadow:0 0 #ffd70066}50%{box-shadow:0 0 0 4px #ffd70000}}.badge-modal{max-width:640px;width:90vw;max-height:85vh;overflow-y:auto;border-radius:16px}.badge-modal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;padding:16px}.badge-card{background:#fff;border:2px solid #E8E8E8;border-radius:12px;padding:12px 8px;text-align:center;transition:all .2s}.badge-card.earned{background:#fffef9}.badge-card.locked{opacity:.5;filter:grayscale(.6)}.badge-card-icon{font-size:32px;margin-bottom:4px}.badge-card-name{font-size:11px;font-weight:600;color:#2d3436;margin-bottom:2px}.badge-card-date{font-size:9px;color:#636e72}.badge-card-desc{font-size:9px;color:#9e9e9e}.badge-card-locked{font-size:10px;color:#b2bec3;margin-top:4px}.celebration-overlay{position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:9999;display:flex;align-items:center;justify-content:center}.celebration-message{background:#000000bf;color:#fff;padding:16px 32px;border-radius:16px;font-size:18px;font-weight:600;text-align:center;animation:celebration-pop .4s ease-out;pointer-events:auto;cursor:pointer}@keyframes celebration-pop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.celebration-particles{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.celebration-particle{position:absolute;width:8px;height:8px;border-radius:50%;animation:confetti-fall linear forwards}@keyframes confetti-fall{0%{transform:translateY(-20px) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.weekly-summary-card{background:#fff;border-radius:16px;border:1px solid #E8E8E8;overflow:hidden}.weekly-summary-header{background:#f8f9fa;padding:16px 20px;border-bottom:1px solid #E8E8E8;display:flex;align-items:center;justify-content:space-between}.weekly-summary-title{font-size:16px;font-weight:700;color:#2d3436}.weekly-summary-week{font-size:13px;color:#636e72}.weekly-student-section{padding:14px 20px;border-bottom:1px solid #F0F0F0;margin:0 12px}.weekly-student-name{font-size:15px;font-weight:700;margin-bottom:8px}.weekly-stat-row{font-size:13px;color:#2d3436;line-height:1.8;padding-left:4px}.weekly-family-section{background:#f8f9fa;padding:14px 20px;margin:12px;border-radius:10px}.weekly-family-title{font-size:13px;font-weight:700;color:#636e72;margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.weekly-summary-actions{padding:12px 20px;text-align:right}.weekly-share-btn{padding:8px 18px;border-radius:8px;border:1px solid #4A90A4;background:#fff;color:#4a90a4;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.weekly-share-btn:hover{background:#4a90a4;color:#fff}.gap-preview-modal{max-width:520px;width:90vw;border-radius:16px;overflow:hidden;max-height:85vh;display:flex;flex-direction:column;background:#fff;box-shadow:0 8px 32px #0003}.gap-preview-header{padding:16px 20px;position:relative}.gap-preview-body{padding:16px 20px;overflow-y:auto;flex:1}.gap-preview-footer{padding:12px 20px;border-top:1px solid #E8E8E8;display:flex;justify-content:flex-end;gap:10px}.gap-section-title{font-size:12px;font-weight:700;color:#636e72;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.gap-severity-label{font-size:13px;font-weight:600;margin:12px 0 6px}.gap-item{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;border-radius:6px;margin-bottom:4px;background:#fafafa}.gap-item-name{font-size:13px;color:#2d3436}.gap-item-days{font-size:12px;color:#636e72;font-weight:500}.gap-item-more{font-size:12px;color:#636e72;font-style:italic;margin-top:4px;padding-left:10px}.gap-info-note{font-size:12px;color:#636e72;margin-top:16px;padding:10px;background:#f8f9fa;border-radius:8px;text-align:center}.gap-encourage{text-align:center;padding:24px 16px}.gap-encourage p{font-size:14px;color:#2d3436;line-height:1.6;margin:8px 0}.gap-cancel-btn{padding:8px 18px;border-radius:8px;border:1px solid #E8E8E8;background:#fff;color:#636e72;font-size:13px;cursor:pointer}.gap-cancel-btn:hover{background:#f8f9fa}.gap-generate-btn{padding:8px 18px;border-radius:8px;border:none;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .2s}.gap-generate-btn:hover{opacity:.9}.pill-avatar{position:relative}.gap-dot{position:absolute;top:-2px;right:-2px;width:8px;height:8px;border-radius:50%;border:1.5px solid #fff}.gap-dot-critical{background:#c62828}.gap-dot-warning{background:#d4a017}
