@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Lato:wght@300;400;500;600;700&display=swap";*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-sans);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-mono);font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body: #374151;--tw-prose-headings: #111827;--tw-prose-lead: #4b5563;--tw-prose-links: #111827;--tw-prose-bold: #111827;--tw-prose-counters: #6b7280;--tw-prose-bullets: #d1d5db;--tw-prose-hr: #e5e7eb;--tw-prose-quotes: #111827;--tw-prose-quote-borders: #e5e7eb;--tw-prose-captions: #6b7280;--tw-prose-kbd: #111827;--tw-prose-kbd-shadows: rgb(17 24 39 / 10%);--tw-prose-code: #111827;--tw-prose-pre-code: #e5e7eb;--tw-prose-pre-bg: #1f2937;--tw-prose-th-borders: #d1d5db;--tw-prose-td-borders: #e5e7eb;--tw-prose-invert-body: #d1d5db;--tw-prose-invert-headings: #fff;--tw-prose-invert-lead: #9ca3af;--tw-prose-invert-links: #fff;--tw-prose-invert-bold: #fff;--tw-prose-invert-counters: #9ca3af;--tw-prose-invert-bullets: #4b5563;--tw-prose-invert-hr: #374151;--tw-prose-invert-quotes: #f3f4f6;--tw-prose-invert-quote-borders: #374151;--tw-prose-invert-captions: #9ca3af;--tw-prose-invert-kbd: #fff;--tw-prose-invert-kbd-shadows: rgb(255 255 255 / 10%);--tw-prose-invert-code: #fff;--tw-prose-invert-pre-code: #d1d5db;--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);--tw-prose-invert-th-borders: #4b5563;--tw-prose-invert-td-borders: #374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.left-0{left:0}.top-0{top:0}.isolate{isolation:isolate}.-z-10{z-index:-10}.z-10{z-index:10}.mx-auto{margin-left:auto;margin-right:auto}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-14{margin-bottom:3.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mr-2{margin-right:.5rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-20{height:5rem}.h-9{height:2.25rem}.h-px{height:1px}.h-screen{height:100vh}.min-h-\[60vh\]{min-height:60vh}.w-10{width:2.5rem}.w-14{width:3.5rem}.w-20{width:5rem}.w-auto{width:auto}.w-full{width:100%}.min-w-\[2\.5rem\]{min-width:2.5rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[52ch\]{max-width:52ch}.max-w-\[56ch\]{max-width:56ch}.max-w-\[58ch\]{max-width:58ch}.max-w-\[72ch\]{max-width:72ch}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-shrink{flex-shrink:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.scroll-mt-24{scroll-margin-top:6rem}.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))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1{gap:.25rem}.gap-10{gap:2.5rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.rounded-m3-lg{border-radius:var(--m3-radius-lg, 28px)}.rounded-m3-md{border-radius:var(--m3-radius-md, 20px)}.rounded-m3-pill{border-radius:var(--m3-radius-pill, 9999px)}.rounded-m3-sm{border-radius:var(--m3-radius-sm, 12px)}.rounded-m3-xs{border-radius:var(--m3-radius-xs, 8px)}.border{border-width:1px}.border-2{border-width:2px}.border-t{border-top-width:1px}.border-m3-neutral-90{--tw-border-opacity: 1;border-color:rgb(var(--m3-neutral-90-rgb) / var(--tw-border-opacity, 1))}.border-m3-primary-40{--tw-border-opacity: 1;border-color:rgb(var(--m3-primary-40-rgb) / var(--tw-border-opacity, 1))}.border-m3-secondary-60{--tw-border-opacity: 1;border-color:rgb(var(--m3-secondary-60-rgb) / var(--tw-border-opacity, 1))}.bg-m3-error-95{--tw-bg-opacity: 1;background-color:rgb(var(--m3-error-95-rgb) / var(--tw-bg-opacity, 1))}.bg-m3-neutral-20{--tw-bg-opacity: 1;background-color:rgb(var(--m3-neutral-20-rgb) / var(--tw-bg-opacity, 1))}.bg-m3-neutral-95{--tw-bg-opacity: 1;background-color:rgb(var(--m3-neutral-95-rgb) / var(--tw-bg-opacity, 1))}.bg-m3-neutral-99{--tw-bg-opacity: 1;background-color:rgb(var(--m3-neutral-99-rgb) / var(--tw-bg-opacity, 1))}.bg-m3-primary-40{--tw-bg-opacity: 1;background-color:rgb(var(--m3-primary-40-rgb) / var(--tw-bg-opacity, 1))}.bg-m3-primary-95{--tw-bg-opacity: 1;background-color:rgb(var(--m3-primary-95-rgb) / var(--tw-bg-opacity, 1))}.bg-m3-secondary-60{--tw-bg-opacity: 1;background-color:rgb(var(--m3-secondary-60-rgb) / var(--tw-bg-opacity, 1))}.bg-m3-secondary-95{--tw-bg-opacity: 1;background-color:rgb(var(--m3-secondary-95-rgb) / var(--tw-bg-opacity, 1))}.bg-m3-tertiary-70{--tw-bg-opacity: 1;background-color:rgb(var(--m3-tertiary-70-rgb) / var(--tw-bg-opacity, 1))}.bg-m3-tertiary-95{--tw-bg-opacity: 1;background-color:rgb(var(--m3-tertiary-95-rgb) / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-transparent{--tw-gradient-from: transparent var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-m3-secondary-60{--tw-gradient-to: rgb(var(--m3-secondary-60-rgb) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(var(--m3-secondary-60-rgb) / 1) var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-14{padding-top:3.5rem;padding-bottom:3.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-12{padding-bottom:3rem}.pb-16{padding-bottom:4rem}.pb-24{padding-bottom:6rem}.pl-6{padding-left:1.5rem}.pl-8{padding-left:2rem}.pt-20{padding-top:5rem}.pt-4{padding-top:1rem}.pt-8{padding-top:2rem}.text-center{text-align:center}.font-arabic{font-family:var(--font-arabic)}.font-inter{font-family:Inter Variable,system-ui,sans-serif}.font-serif{font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif}.text-5xl{font-size:3rem;line-height:1}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-m3-body-lg{font-size:var(--m3-body-lg);line-height:var(--m3-body-lg-lh);font-weight:var(--m3-body-lg-weight)}.text-m3-body-md{font-size:var(--m3-body-md);line-height:var(--m3-body-md-lh);font-weight:var(--m3-body-md-weight)}.text-m3-body-sm{font-size:var(--m3-body-sm);line-height:var(--m3-body-sm-lh);font-weight:var(--m3-body-sm-weight)}.text-m3-display-sm{font-size:var(--m3-display-sm);line-height:var(--m3-display-sm-lh);font-weight:var(--m3-display-sm-weight)}.text-m3-headline-lg{font-size:var(--m3-headline-lg);line-height:var(--m3-headline-lg-lh);font-weight:var(--m3-headline-lg-weight)}.text-m3-headline-md{font-size:var(--m3-headline-md);line-height:var(--m3-headline-md-lh);font-weight:var(--m3-headline-md-weight)}.text-m3-headline-sm{font-size:var(--m3-headline-sm);line-height:var(--m3-headline-sm-lh);font-weight:var(--m3-headline-sm-weight)}.text-m3-label-lg{font-size:var(--m3-label-lg);line-height:var(--m3-label-lg-lh);letter-spacing:var(--m3-label-lg-ls);font-weight:var(--m3-label-lg-weight)}.text-m3-label-md{font-size:var(--m3-label-md);line-height:var(--m3-label-md-lh);font-weight:var(--m3-label-md-weight)}.text-m3-label-sm{font-size:var(--m3-label-sm);line-height:var(--m3-label-sm-lh);letter-spacing:var(--m3-label-sm-ls);font-weight:var(--m3-label-sm-weight)}.text-m3-title-md{font-size:var(--m3-title-md);line-height:var(--m3-title-md-lh);font-weight:var(--m3-title-md-weight)}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-\[1\.05\]{line-height:1.05}.leading-\[1\.1\]{line-height:1.1}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-\[0\.18em\]{letter-spacing:.18em}.tracking-wide{letter-spacing:.025em}.text-m3-error-40{--tw-text-opacity: 1;color:rgb(var(--m3-error-40-rgb) / var(--tw-text-opacity, 1))}.text-m3-neutral-10{--tw-text-opacity: 1;color:rgb(var(--m3-neutral-10-rgb) / var(--tw-text-opacity, 1))}.text-m3-neutral-20{--tw-text-opacity: 1;color:rgb(var(--m3-neutral-20-rgb) / var(--tw-text-opacity, 1))}.text-m3-neutral-40{--tw-text-opacity: 1;color:rgb(var(--m3-neutral-40-rgb) / var(--tw-text-opacity, 1))}.text-m3-neutral-60{--tw-text-opacity: 1;color:rgb(var(--m3-neutral-60-rgb) / var(--tw-text-opacity, 1))}.text-m3-neutral-90{--tw-text-opacity: 1;color:rgb(var(--m3-neutral-90-rgb) / var(--tw-text-opacity, 1))}.text-m3-primary-20{--tw-text-opacity: 1;color:rgb(var(--m3-primary-20-rgb) / var(--tw-text-opacity, 1))}.text-m3-primary-30{--tw-text-opacity: 1;color:rgb(var(--m3-primary-30-rgb) / var(--tw-text-opacity, 1))}.text-m3-primary-40{--tw-text-opacity: 1;color:rgb(var(--m3-primary-40-rgb) / var(--tw-text-opacity, 1))}.text-m3-secondary-30{--tw-text-opacity: 1;color:rgb(var(--m3-secondary-30-rgb) / var(--tw-text-opacity, 1))}.text-m3-secondary-50{--tw-text-opacity: 1;color:rgb(var(--m3-secondary-50-rgb) / var(--tw-text-opacity, 1))}.text-m3-secondary-60{--tw-text-opacity: 1;color:rgb(var(--m3-secondary-60-rgb) / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.blur{--tw-blur: blur(8px);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)}.drop-shadow-sm{--tw-drop-shadow: drop-shadow(0 1px 1px rgb(0 0 0 / .05));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)}.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,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-m3-short{transition-duration:var(--m3-duration-short, .2s)}.ease-m3-standard{transition-timing-function:var(--m3-ease-standard, cubic-bezier(.2, 0, 0, 1))}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.skip-link{position:fixed;top:.5rem;left:.5rem;z-index:1000;padding:.75rem 1.25rem;background:var(--m3-primary-40);color:#fff;font-weight:600;font-size:.95rem;border-radius:var(--m3-radius-sm);text-decoration:none;transform:translateY(-150%);transition:transform .15s var(--m3-ease-standard, ease-out)}.skip-link:focus,.skip-link:focus-visible{transform:translateY(0);outline:2px solid var(--m3-primary-50);outline-offset:2px}main#content:focus{outline:none}.last\:mb-0:last-child{margin-bottom:0}.hover\:-translate-y-0\.5:hover{--tw-translate-y: -.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:-translate-y-1:hover{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-m3-primary-70:hover{--tw-border-opacity: 1;border-color:rgb(var(--m3-primary-70-rgb) / var(--tw-border-opacity, 1))}.hover\:bg-m3-neutral-90:hover{--tw-bg-opacity: 1;background-color:rgb(var(--m3-neutral-90-rgb) / var(--tw-bg-opacity, 1))}.hover\:bg-m3-primary-30:hover{--tw-bg-opacity: 1;background-color:rgb(var(--m3-primary-30-rgb) / var(--tw-bg-opacity, 1))}.hover\:bg-m3-primary-90:hover{--tw-bg-opacity: 1;background-color:rgb(var(--m3-primary-90-rgb) / var(--tw-bg-opacity, 1))}.hover\:bg-m3-primary-95:hover{--tw-bg-opacity: 1;background-color:rgb(var(--m3-primary-95-rgb) / var(--tw-bg-opacity, 1))}.hover\:bg-m3-secondary-60\/10:hover{background-color:rgb(var(--m3-secondary-60-rgb) / .1)}.hover\:bg-m3-secondary-90:hover{--tw-bg-opacity: 1;background-color:rgb(var(--m3-secondary-90-rgb) / var(--tw-bg-opacity, 1))}.hover\:text-m3-secondary-95:hover{--tw-text-opacity: 1;color:rgb(var(--m3-secondary-95-rgb) / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-m3-primary-50:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(var(--m3-primary-50-rgb) / var(--tw-ring-opacity, 1))}.focus-visible\:ring-offset-4:focus-visible{--tw-ring-offset-width: 4px}.focus-visible\:ring-offset-m3-neutral-99:focus-visible{--tw-ring-offset-color: rgb(var(--m3-neutral-99-rgb) / 1)}.active\:bg-m3-primary-20:active{--tw-bg-opacity: 1;background-color:rgb(var(--m3-primary-20-rgb) / var(--tw-bg-opacity, 1))}.active\:bg-m3-primary-90:active{--tw-bg-opacity: 1;background-color:rgb(var(--m3-primary-90-rgb) / var(--tw-bg-opacity, 1))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}@media(min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:justify-center{justify-content:center}}@media(min-width:768px){.md\:mb-14{margin-bottom:3.5rem}.md\:mb-16{margin-bottom:4rem}.md\:mt-16{margin-top:4rem}.md\:block{display:block}.md\:h-20{height:5rem}.md\:h-\[88px\]{height:88px}.md\:min-h-\[80vh\]{min-height:80vh}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:gap-10{gap:2.5rem}.md\:gap-12{gap:3rem}.md\:gap-6{gap:1.5rem}.md\:gap-8{gap:2rem}.md\:p-8{padding:2rem}.md\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.md\:py-16{padding-top:4rem;padding-bottom:4rem}.md\:py-20{padding-top:5rem;padding-bottom:5rem}.md\:py-24{padding-top:6rem;padding-bottom:6rem}.md\:py-28{padding-top:7rem;padding-bottom:7rem}.md\:py-32{padding-top:8rem;padding-bottom:8rem}.md\:pb-16{padding-bottom:4rem}.md\:pb-20{padding-bottom:5rem}.md\:pb-24{padding-bottom:6rem}.md\:pl-10{padding-left:2.5rem}.md\:pt-10{padding-top:2.5rem}.md\:pt-24{padding-top:6rem}.md\:pt-28{padding-top:7rem}.md\:pt-8{padding-top:2rem}.md\:text-m3-arabic-hero{font-size:var(--m3-arabic-hero);line-height:var(--m3-arabic-hero-lh);font-weight:var(--m3-arabic-hero-weight)}.md\:text-m3-display-md{font-size:var(--m3-display-md);line-height:var(--m3-display-md-lh);font-weight:var(--m3-display-md-weight)}.md\:text-m3-display-sm{font-size:var(--m3-display-sm);line-height:var(--m3-display-sm-lh);font-weight:var(--m3-display-sm-weight)}.md\:text-m3-headline-lg{font-size:var(--m3-headline-lg);line-height:var(--m3-headline-lg-lh);font-weight:var(--m3-headline-lg-weight)}.md\:text-m3-headline-md{font-size:var(--m3-headline-md);line-height:var(--m3-headline-md-lh);font-weight:var(--m3-headline-md-weight)}.md\:text-m3-title-lg{font-size:var(--m3-title-lg);line-height:var(--m3-title-lg-lh);font-weight:var(--m3-title-lg-weight)}}@media(min-width:1024px){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:text-m3-display-lg{font-size:var(--m3-display-lg);line-height:var(--m3-display-lg-lh);font-weight:var(--m3-display-lg-weight)}.lg\:text-m3-display-md{font-size:var(--m3-display-md);line-height:var(--m3-display-md-lh);font-weight:var(--m3-display-md-weight)}}@media(min-width:1280px){.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}.toast-container{position:fixed;top:1rem;right:1rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem;max-width:400px}.toast{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-radius:8px;box-shadow:0 4px 12px #00000026;animation:slideIn .3s ease-out;min-width:280px}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-content{display:flex;align-items:center;gap:.75rem}.toast-icon{font-size:1.2rem;font-weight:700}.toast-message{font-size:.95rem}.toast-close{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:0;margin-left:1rem;opacity:.7;transition:opacity .2s}.toast-close:hover{opacity:1}.toast-success{background-color:var(--badge-success-bg);border-left:4px solid var(--success);color:var(--badge-success-fg)}.toast-success .toast-close{color:var(--badge-success-fg)}.toast-error{background-color:var(--badge-error-bg);border-left:4px solid var(--error);color:var(--badge-error-fg)}.toast-error .toast-close{color:var(--badge-error-fg)}.toast-warning{background-color:var(--badge-warning-bg);border-left:4px solid var(--warning);color:var(--badge-warning-fg)}.toast-warning .toast-close{color:var(--badge-warning-fg)}.toast-info{background-color:var(--badge-info-bg);border-left:4px solid var(--info);color:var(--badge-info-fg)}.toast-info .toast-close{color:var(--badge-info-fg)}@media(max-width:480px){.toast-container{left:1rem;right:1rem;max-width:none}.toast{min-width:auto}}.notification-bell-container{padding:0 16px;margin-bottom:4px}.notification-bell-button{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;background:transparent;border:none;border-radius:10px;color:#ffffffb3;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left;position:relative}.notification-bell-button:hover{background:#ffffff1a;color:#fff;transform:translate(4px)}.notification-bell-button.has-unread{color:#fff}.notification-bell-icon{font-size:20px;position:relative;flex-shrink:0;width:20px;display:flex;align-items:center;justify-content:center}.notification-bell-icon svg{width:20px;height:20px;fill:currentColor}.notification-badge{position:absolute;top:-6px;right:-8px;min-width:16px;height:16px;padding:0 4px;background:var(--error);color:#fff;font-size:10px;font-weight:700;border-radius:8px;display:flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 2px 4px #ef444466}.notification-bell-label{flex:1}.notification-dropdown-wrapper{position:relative}.notification-dropdown{position:absolute;left:100%;top:0;margin-left:8px;width:340px;max-height:440px;background:var(--bg-white);border-radius:var(--radius-lg, 12px);box-shadow:0 20px 40px #00000026,0 0 0 1px #0000000d;display:flex;flex-direction:column;z-index:1100;overflow:hidden;animation:notificationDropdownIn .15s ease-out}@keyframes notificationDropdownIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.notification-dropdown-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--border-light, #e2e8f0)}.notification-dropdown-header h3{font-size:15px;font-weight:600;color:var(--text-primary, #1e293b);margin:0}.notification-dropdown-mark-all{background:none;border:none;color:var(--primary-blue, #3D81DE);font-size:13px;font-weight:500;cursor:pointer;padding:2px 4px;border-radius:4px;font-family:inherit}.notification-dropdown-mark-all:hover{text-decoration:underline}.notification-dropdown-list{flex:1;overflow-y:auto;max-height:320px}.notification-dropdown-item{display:flex;gap:10px;padding:12px 16px;cursor:pointer;transition:background .15s ease;border-bottom:1px solid var(--border-light, #e2e8f0);align-items:flex-start}.notification-dropdown-item:last-child{border-bottom:none}.notification-dropdown-item.notification-high-priority{background:var(--badge-error-bg);border-left:3px solid var(--error)}.notification-dropdown-item:hover{background:var(--bg-gray-50, #f8f9fa)}.notification-dropdown-item .notification-type-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:6px}.notification-dropdown-item-content{flex:1;min-width:0}.notification-dropdown-item-title{font-size:13px;font-weight:500;color:var(--text-primary, #1e293b);margin:0 0 2px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-dropdown-item-time{font-size:11px;color:var(--text-muted, #94a3b8)}.notification-dropdown-footer{padding:10px 16px;border-top:1px solid var(--border-light, #e2e8f0);text-align:center}.notification-dropdown-view-all{background:none;border:none;color:var(--primary-blue, #3D81DE);font-size:13px;font-weight:600;cursor:pointer;padding:4px 8px;border-radius:4px;font-family:inherit}.notification-dropdown-view-all:hover{text-decoration:underline}.notification-dropdown-empty{padding:32px 16px;text-align:center;color:var(--text-muted, #94a3b8);font-size:14px}.notification-inbox{max-width:800px;margin:0 auto}.notification-inbox-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.notification-inbox-header h1{font-size:2rem;font-weight:700;color:var(--text-primary, #1e293b);margin:0}.notification-inbox-actions{display:flex;gap:.5rem}.notification-inbox-filters{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid var(--border-light, #e2e8f0)}.notification-filter-tab{padding:.75rem 1.5rem;background:none;border:none;font-size:.9375rem;font-weight:500;color:var(--text-secondary, #64748b);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;transition:all .2s;font-family:inherit}.notification-filter-tab:hover{color:var(--primary-blue, #3D81DE)}.notification-filter-tab.active{color:var(--primary-blue, #3D81DE);border-bottom-color:var(--primary-blue, #3D81DE)}.notification-inbox-list{display:flex;flex-direction:column;gap:0}.notification-inbox-item{display:flex;align-items:flex-start;gap:12px;padding:16px 20px;background:var(--bg-white);border:1px solid var(--border-gray);border-bottom:none;cursor:pointer;transition:background .15s ease}.notification-inbox-item:first-child{border-radius:var(--radius-lg, 12px) var(--radius-lg, 12px) 0 0}.notification-inbox-item:last-child{border-bottom:1px solid var(--border-gray);border-radius:0 0 var(--radius-lg, 12px) var(--radius-lg, 12px)}.notification-inbox-item:only-child{border-bottom:1px solid var(--border-gray);border-radius:var(--radius-lg, 12px)}.notification-inbox-item:hover{background:var(--bg-gray-50)}.notification-inbox-item.unread{background:var(--badge-info-bg);border-left:3px solid var(--primary-blue, #3D81DE)}.notification-inbox-item.unread:hover{background:var(--badge-info-bg);filter:brightness(.97)}.notification-inbox-type-indicator{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:5px}.notification-inbox-item-content{flex:1;min-width:0}.notification-inbox-item-title{font-size:15px;font-weight:400;color:var(--text-primary, #1e293b);margin:0 0 4px;line-height:1.4}.notification-inbox-item.unread .notification-inbox-item-title{font-weight:600}.notification-inbox-item-meta{display:flex;align-items:center;gap:8px;font-size:var(--font-xs);color:var(--text-muted)}.notification-inbox-item-type-label{font-weight:500;font-size:var(--font-xs);padding:2px 8px;border-radius:4px;background:var(--badge-info-bg);color:var(--badge-info-fg)}.notification-type-dot--info{background:var(--badge-info-bg)}.notification-type-dot--success{background:var(--badge-success-bg)}.notification-type-dot--warning{background:var(--badge-warning-bg)}.notification-type-dot--neutral{background:var(--badge-neutral-bg)}.notification-type-dot--error{background:var(--badge-error-bg)}.notification-inbox-item-dismiss{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted, #94a3b8);cursor:pointer;border-radius:4px;font-size:16px;transition:all .15s ease;font-family:inherit}.notification-inbox-item-dismiss:hover{background:var(--bg-gray-200, #e9ecef);color:var(--text-primary, #1e293b)}.notification-inbox-pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem;padding:1rem 0}.notification-inbox-pagination span{font-size:14px;color:var(--text-secondary, #64748b)}.notification-inbox-empty{text-align:center;padding:60px 20px;color:var(--text-muted, #94a3b8)}.notification-inbox-empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.notification-inbox-empty h3{font-size:18px;font-weight:600;color:var(--text-secondary, #64748b);margin:0 0 8px}.notification-inbox-empty p{font-size:14px;margin:0}.notification-page-tabs{display:flex;gap:0;margin-bottom:1.5rem;border-bottom:2px solid var(--border-light, #e2e8f0)}.notification-page-tab{padding:.75rem 1.5rem;background:none;border:none;font-size:.9375rem;font-weight:500;color:var(--text-secondary, #64748b);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;transition:all .2s;font-family:inherit}.notification-page-tab:hover{color:var(--primary-blue, #3D81DE)}.notification-page-tab.active{color:var(--primary-blue, #3D81DE);border-bottom-color:var(--primary-blue, #3D81DE)}.notification-inbox-sub-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.75rem}.notification-settings-content{max-width:700px}.notification-settings-desc{font-size:.9rem;color:var(--text-secondary, #64748b);margin:0 0 1.5rem}.notif-group{margin-bottom:28px;border:none;padding:0}.notif-group:last-of-type{margin-bottom:0}.notif-group-title{font-size:1.05rem;font-weight:600;color:var(--text-primary);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--bg-gray-200);display:block;width:100%;padding-left:0;padding-right:0}.notif-group--collapsible .notif-group-title{padding-bottom:0;border-bottom:none}.notif-group-toggle{background:none;border:none;padding:0 0 8px;margin:0;font:inherit;color:inherit;cursor:pointer;display:flex;align-items:center;gap:8px;width:100%;text-align:left;border-bottom:1px solid var(--bg-gray-200)}.notif-group-toggle:hover{color:var(--info)}.notif-group-toggle-icon{display:inline-block;width:14px;font-size:.85em;color:var(--text-secondary)}.notif-deprecated-caption{font-size:.78rem;color:var(--text-muted);font-style:italic;margin-top:6px}.notif-row--deprecated .notif-row-label{color:var(--text-secondary)}.notif-save-error{margin-top:12px;padding:10px 14px;background:var(--badge-error-bg);border:1px solid var(--badge-error-bg);border-radius:6px;color:var(--badge-error-fg);font-size:.88rem}.notif-group-items{display:flex;flex-direction:column;gap:0}.notif-row{display:flex;justify-content:space-between;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--bg-gray-100);gap:16px}.notif-row:last-child{border-bottom:none}.notif-row-info{flex:1;min-width:0}.notif-row-label{font-weight:500;color:var(--text-primary);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.notif-lock{font-size:.85rem}.notif-required-badge{font-size:.7rem;font-weight:600;color:var(--badge-warning-fg);background:var(--badge-warning-bg);padding:1px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.02em}.notif-row-desc{font-size:.84rem;color:var(--text-secondary);margin-top:3px}.notif-reminder-days{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:.84rem;color:var(--text-primary)}.notif-select{padding:4px 8px;border:1px solid var(--border-gray);border-radius:6px;font-size:.84rem;width:56px;text-align:center}.notif-row-toggles{display:flex;gap:14px;flex-shrink:0;padding-top:2px}.notif-toggle-col{display:flex;flex-direction:column;align-items:center;gap:4px}.notif-toggle-label{font-size:.72rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.notif-switch{position:relative;width:40px;height:22px;flex-shrink:0}.notif-switch input{opacity:0;width:0;height:0}.notif-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--border-gray);transition:.25s;border-radius:22px}.notif-slider:before{position:absolute;content:"";height:16px;width:16px;left:3px;bottom:3px;background-color:var(--text-white);transition:.25s;border-radius:50%}.notif-switch input:checked+.notif-slider{background-color:var(--info)}.notif-switch input:disabled+.notif-slider{opacity:.5;cursor:not-allowed}.notif-switch input:checked+.notif-slider:before{transform:translate(18px)}.notif-actions{margin-top:28px;padding-top:20px;border-top:1px solid var(--bg-gray-200)}@media(max-width:768px){.notification-dropdown{position:fixed;left:16px;right:16px;top:80px;width:auto;margin-left:0;max-height:60vh}.notification-inbox-header{flex-direction:column;align-items:flex-start}.notification-inbox-item{padding:12px 14px}.notif-row{flex-direction:column;gap:10px}.notif-row-toggles{align-self:flex-start}.notification-inbox-sub-actions{flex-direction:column;align-items:stretch}.notification-inbox-filters{margin-bottom:0}.notification-settings-content{padding-bottom:84px}.notif-actions{position:fixed;left:0;right:0;bottom:0;margin-top:0;padding:12px 16px;background:var(--bg-white);border-top:1px solid var(--bg-gray-200);box-shadow:0 -4px 10px #0000000a;z-index:100}.notif-save-btn{width:100%}.notif-save-error{margin-top:8px}}@media(max-width:480px){.notification-bell-label{display:none}.notification-dropdown{left:8px;right:8px;top:70px}.notification-inbox-actions{flex-wrap:wrap}}.sidebar{position:fixed;left:0;top:0;bottom:0;width:280px;background:linear-gradient(180deg,#0c1a2c,#1a2942);display:flex;flex-direction:column;z-index:1000;box-shadow:4px 0 20px #0000001a}.sidebar-header{padding:24px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-logo{display:flex;align-items:center;gap:12px}.logo-icon{width:40px;height:40px;background:linear-gradient(135deg,var(--primary-blue) 0%,var(--primary-blue-light) 100%);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 4px 12px #3d81de4d}.logo-text{font-size:24px;font-weight:700;color:#fff;margin:0;letter-spacing:-.02em}.sidebar-user{padding:20px;display:flex;align-items:center;gap:12px;background:#ffffff0d;margin:16px;border-radius:12px;border:1px solid rgba(255,255,255,.1)}.user-avatar{width:48px;height:48px;background:linear-gradient(135deg,var(--primary-blue) 0%,var(--primary-blue-light) 100%);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;color:#fff;text-transform:uppercase;box-shadow:0 4px 12px #3d81de33}.user-details{flex:1;min-width:0}.user-name{font-size:15px;font-weight:600;color:#fff;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:12px;color:#fff9;text-transform:capitalize}.sidebar-nav{flex:1;padding:8px 16px;overflow-y:auto}.nav-item{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;margin-bottom:4px;background:transparent;border:none;border-radius:10px;color:#ffffffb3;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left}.nav-item:hover{background:#ffffff1a;color:#fff;transform:translate(4px)}.nav-item.active{background:linear-gradient(135deg,var(--primary-blue) 0%,var(--primary-blue-light) 100%);color:#fff;box-shadow:0 4px 12px #3d81de4d}.nav-item.active .nav-icon{transform:scale(1.1)}.nav-icon{font-size:20px;transition:transform .2s ease}.nav-label{flex:1}.sidebar-section{margin-bottom:var(--space-2, 8px)}.sidebar-section+.sidebar-section{margin-top:var(--space-1, 4px)}.sidebar-section-header{width:100%;display:flex;align-items:center;gap:var(--space-2, 8px);padding:var(--space-2, 8px) var(--space-4, 16px) var(--space-1, 4px);background:transparent;border:none;color:#ffffff8c;font-size:var(--font-xs, 12px);font-weight:var(--weight-semibold, 600);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;text-align:left;transition:color var(--transition-fast, .15s ease)}.sidebar-section-header:hover,.sidebar-section-header:focus-visible{color:#ffffffe6}.sidebar-section-header:focus-visible{outline:2px solid rgba(255,255,255,.4);outline-offset:2px;border-radius:var(--radius-sm, 4px)}.sidebar-section-chevron{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform var(--transition-fast, .15s ease)}.sidebar-section-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-section-items{list-style:none;padding:0;margin:0}.sidebar-section-items>li{display:block}.sidebar-footer{padding:16px;border-top:1px solid rgba(255,255,255,.1)}.logout-btn{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:10px;color:#fca5a5;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease}.logout-btn:hover{background:#ef444433;color:#fecaca;border-color:#ef444480}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.sidebar-nav::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.sidebar-hamburger{position:fixed;top:16px;left:16px;z-index:1100;width:44px;height:44px;background:var(--bg-navy, #0C1A2C);color:#fff;border:none;border-radius:var(--radius-md, 8px);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-md, 0 4px 6px -1px rgba(0,0,0,.1))}.sidebar-overlay{position:fixed;inset:0;background:var(--scrim);z-index:999}.sidebar-close{position:absolute;top:16px;right:16px;background:transparent;border:none;color:#ffffffb3;cursor:pointer;padding:4px;border-radius:6px}.sidebar-close:hover{color:#fff;background:#ffffff1a}.sidebar.sidebar-mobile{transform:translate(-100%);transition:transform .3s ease}.sidebar.sidebar-mobile.sidebar-open{transform:translate(0)}@media(max-width:1024px){.sidebar.sidebar-mobile{width:280px}}@media(max-width:768px){.logo-text{font-size:20px}.user-name{font-size:14px}.nav-item{font-size:14px;padding:10px 12px}}.navbar{background:var(--bg-white);border-bottom:1px solid var(--border-light);padding:.5rem 2rem;position:sticky;top:0;z-index:90}.navbar-container{display:flex;justify-content:space-between;align-items:center;gap:1rem}.navbar-spacer{flex:1}.navbar-account{position:relative;display:flex;align-items:center;gap:.25rem}.navbar-avatar-trigger{display:inline-flex;align-items:center;gap:.5rem;background:transparent;border:1px solid transparent;padding:.25rem .5rem;border-radius:var(--radius-md);cursor:pointer;transition:background .15s ease,border-color .15s ease}.navbar-avatar-trigger:hover{background:var(--bg-gray-50);border-color:var(--border-light)}.navbar-avatar-trigger:focus-visible{background:var(--bg-gray-50);border-color:var(--primary-blue);outline:none}.navbar-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--primary-blue-light) 0%,var(--primary-blue) 100%);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem}.navbar-avatar-chevron{color:var(--text-secondary)}.navbar-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:220px;background:var(--bg-white);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);list-style:none;margin:0;padding:.5rem 0;z-index:100;animation:fadeIn .15s ease}.navbar-menu-header{padding:.5rem 1rem .75rem;border-bottom:1px solid var(--border-light);margin-bottom:.25rem}.navbar-menu-name{font-weight:600;font-size:.875rem;color:var(--text-primary);line-height:1.2}.navbar-menu-role{font-size:.75rem;color:var(--text-secondary);margin-top:2px;text-transform:capitalize}.navbar-menu-item{display:flex;align-items:center;gap:.625rem;width:100%;padding:.5rem 1rem;background:transparent;border:none;font-size:.875rem;color:var(--text-primary);cursor:pointer;text-align:left;transition:background .15s ease,color .15s ease}.navbar-menu-item:hover{background:var(--bg-gray-50)}.navbar-menu-item:focus-visible{background:var(--bg-gray-50);color:var(--primary-blue);outline:none}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:background .15s ease,color .15s ease}.theme-toggle:hover{background:var(--bg-gray-100);color:var(--text-primary)}@media(max-width:1024px){.navbar{padding:.5rem 1rem;padding-left:64px}}@media(max-width:480px){.navbar-menu-dropdown{min-width:200px}}.powered-by-mathaaba{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 1.5rem;margin-top:auto;font-size:.8125rem;color:var(--text-muted);border-top:1px solid var(--border-light)}.powered-by-mathaaba img{width:18px;height:18px;opacity:.7}.powered-by-mathaaba__label{color:var(--text-muted)}.powered-by-mathaaba__name{color:var(--text-primary);font-weight:600;letter-spacing:.01em}.powered-by-mathaaba__arabic{font-family:var(--font-arabic, "Noto Naskh Arabic", serif);color:var(--text-muted);font-size:.95rem;margin-left:.125rem}.admissions-shell{min-height:100vh;background:var(--bg-light, #f5f6f8);display:flex;flex-direction:column}.admissions-header{background:var(--brand-primary, #3949ab);color:#fff;padding:1rem 2rem;display:flex;align-items:center;gap:1rem;box-shadow:0 2px 4px #00000014}.admissions-header__logo{height:40px;width:auto;border-radius:4px;background:var(--bg-white);padding:4px}.admissions-header__title{font-size:1.25rem;font-weight:600;margin:0;flex:1}.admissions-header__logout{background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;padding:.4rem .9rem;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s}.admissions-header__logout:hover{background:#ffffff40}.admissions-main{flex:1;padding:3rem 2rem;display:flex;flex-direction:column;align-items:center}.admissions-main__title{font-size:2rem;font-weight:600;color:var(--text-primary, #222);margin:0 0 2rem;text-align:center}.admissions-choice{display:grid;grid-template-columns:1fr 1fr;gap:2rem;max-width:800px;width:100%}@media(max-width:720px){.admissions-choice{grid-template-columns:1fr}}.admissions-card{background:var(--bg-white);border-radius:8px;box-shadow:0 2px 6px #00000014;padding:2rem;display:flex;flex-direction:column}.admissions-card__title{font-size:1.25rem;font-weight:600;color:var(--text-primary, #222);margin:0 0 1rem}.admissions-card__body{color:var(--text-secondary, #555);font-size:.95rem;line-height:1.5;flex:1;margin-bottom:1.5rem}.admissions-card__action{align-self:flex-end;background:none;border:none;color:var(--brand-primary, #3949ab);font-size:.95rem;font-weight:600;letter-spacing:.05em;text-decoration:none;cursor:pointer;text-transform:uppercase;padding:.5rem 0}.admissions-card__action:hover{text-decoration:underline}.admissions-form-card{background:var(--bg-white);border-radius:8px;box-shadow:0 2px 6px #00000014;padding:2rem;width:100%;max-width:480px}.admissions-form-card__title{font-size:1.5rem;font-weight:600;margin:0 0 .5rem;color:var(--text-primary, #222)}.admissions-form-card__sub{color:var(--text-secondary, #555);font-size:.95rem;margin:0 0 1.5rem}.admissions-form-group{margin-bottom:1.25rem}.admissions-form-group label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.4rem;color:var(--text-primary, #222)}.admissions-form-group .required{color:var(--error);margin-left:2px}.admissions-form-group input[type=text],.admissions-form-group input[type=email]{width:100%;padding:.6rem .75rem;font-size:1rem;border:1px solid var(--border-light, #d1d5db);border-radius:4px;box-sizing:border-box}.admissions-form-group input:focus{outline:none;border-color:var(--brand-primary, #3949ab);box-shadow:0 0 0 2px #3949ab26}.admissions-form-error{color:var(--error);font-size:.8125rem;margin-top:.25rem}.admissions-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:1rem;margin-top:1.5rem}.admissions-form-actions__primary{background:none;border:none;color:var(--brand-primary, #3949ab);font-size:.95rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;padding:.5rem 1rem}.admissions-form-actions__primary:hover:not(:disabled){background:#3949ab0d;border-radius:4px}.admissions-form-actions__primary:disabled{opacity:.5;cursor:not-allowed}.admissions-form-card__back{text-align:center;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-light, #d1d5db)}.admissions-form-card__back a{color:var(--brand-primary, #3949ab);text-decoration:none;font-size:.95rem;font-weight:500}.admissions-form-card__back a:hover{text-decoration:underline}.admissions-confirmation{background:var(--bg-white);border-radius:8px;box-shadow:0 2px 6px #00000014;padding:2.5rem;width:100%;max-width:560px;text-align:center}.admissions-confirmation__title{font-size:1.75rem;font-weight:600;margin:0 0 1rem;color:var(--text-primary, #222)}.admissions-confirmation__body{color:var(--text-secondary, #555);font-size:1rem;line-height:1.55;margin:0 0 1.5rem}.admissions-confirmation__cta{background:none;border:none;color:var(--brand-primary, #3949ab);font-size:.95rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;padding:.5rem 1rem;text-decoration:none}.admissions-confirmation__cta:hover{text-decoration:underline}.admissions-loading,.admissions-not-found{text-align:center;padding:4rem 2rem;color:var(--text-secondary, #555)}.admissions-not-found__title{font-size:1.5rem;color:var(--text-primary, #222);margin:0 0 .5rem}.admissions-home{width:100%;max-width:960px}.admissions-welcome-card{background:var(--bg-white);border-radius:8px;box-shadow:0 2px 6px #00000014;padding:2rem;margin-bottom:2rem}.admissions-welcome-card__title{font-size:1.25rem;font-weight:600;margin:0 0 1rem;color:var(--text-primary, #222)}.admissions-welcome-card__body{color:var(--text-primary, #444);font-size:.95rem;line-height:1.55;white-space:pre-wrap;margin:0}.admissions-school-year-card{background:var(--bg-white);border-radius:8px;box-shadow:0 2px 6px #00000014;padding:1.5rem 2rem}.admissions-school-year-card__header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-light, #e5e7eb);padding-bottom:1rem;margin-bottom:1rem}.admissions-school-year-card__title{font-size:1.125rem;font-weight:600;margin:0;color:var(--text-primary, #222)}.admissions-school-year-card__action{background:var(--bg-white);border:1px solid var(--border-light, #d1d5db);border-radius:4px;padding:.5rem 1rem;font-size:.875rem;font-weight:600;color:var(--text-primary, #222);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:background .15s,border-color .15s}.admissions-school-year-card__action:hover:not(:disabled){background:var(--bg-light, #f5f6f8);border-color:var(--brand-primary, #3949ab)}.admissions-school-year-card__action:disabled{opacity:.5;cursor:not-allowed}.admissions-application-list{list-style:none;margin:0;padding:0}.admissions-application-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--border-light, #f0f1f3);cursor:pointer;transition:background .15s}.admissions-application-item:hover{background:var(--bg-light, #f9fafb)}.admissions-application-item:last-child{border-bottom:none}.admissions-application-item__name{font-weight:500;color:var(--text-primary, #222)}.admissions-application-item__meta{display:flex;gap:1rem;font-size:.875rem;color:var(--text-secondary, #6b7280)}.admissions-application-item__status{text-transform:capitalize;padding:.125rem .5rem;border-radius:999px;background:var(--bg-light, #e5e7eb);font-size:.75rem;font-weight:500}.admissions-application-item__status.draft{background:#fff3cd;color:#92400e}.admissions-application-item__status.submitted,.admissions-application-item__status.under_review{background:#cfe2ff;color:#084298}.admissions-application-item__status.approved{background:#d4edda;color:#14532d}.admissions-application-item__status.rejected,.admissions-application-item__status.waitlisted,.admissions-application-item__status.withdrawn{background:#f8d7da;color:#842029}.admissions-empty-applications{color:var(--text-secondary, #6b7280);font-size:.95rem;text-align:center;padding:1rem 0}.admissions-modal-backdrop{position:fixed;inset:0;background:var(--scrim);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.admissions-modal{background:var(--bg-white);border-radius:8px;width:100%;max-width:720px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 12px 32px #0003}.admissions-modal__header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-light, #e5e7eb)}.admissions-modal__title{font-size:1.25rem;font-weight:600;margin:0}.admissions-modal__close{background:none;border:none;font-size:1.5rem;line-height:1;color:var(--text-secondary, #6b7280);cursor:pointer;padding:.25rem .5rem}.admissions-modal__close:hover:not(:disabled){color:var(--text-primary, #222)}.admissions-modal__body{padding:1.5rem;overflow-y:auto}.admissions-modal__hint{color:var(--text-secondary, #6b7280);font-size:.9rem;margin:0 0 1.5rem}.admissions-modal__footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border-light, #e5e7eb)}.admissions-modal__cancel{background:none;border:none;color:var(--text-secondary, #6b7280);font-size:.95rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;padding:.5rem 1rem}.admissions-modal__cancel:hover:not(:disabled){color:var(--text-primary, #222)}.admissions-modal select{width:100%;padding:.6rem .75rem;font-size:1rem;border:1px solid var(--border-light, #d1d5db);border-radius:4px;background:var(--bg-white);box-sizing:border-box}.admissions-wizard{width:100%;max-width:960px}.admissions-wizard__breadcrumb{font-size:1.25rem;font-weight:600;color:var(--text-primary, #222);margin:0 0 1rem;padding:0 1.5rem}.admissions-wizard__card{background:var(--bg-white);border-radius:8px;box-shadow:0 2px 6px #00000014;padding:2rem}.admissions-stepper{list-style:none;margin:0;padding:0;position:relative}.admissions-stepper:before{content:"";position:absolute;left:18px;top:18px;bottom:18px;width:2px;background:var(--border-light, #e5e7eb)}.admissions-stepper__item{display:flex;align-items:flex-start;gap:1rem;padding:.75rem 0;position:relative;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.admissions-stepper__item--locked{cursor:default}.admissions-stepper__bullet{width:36px;height:36px;border-radius:50%;background:var(--bg-light, #e5e7eb);color:var(--text-secondary, #6b7280);display:inline-flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;z-index:1;flex-shrink:0;transition:background .15s,color .15s}.admissions-stepper__item--active .admissions-stepper__bullet{background:var(--brand-primary, #3949ab);color:#fff}.admissions-stepper__item--complete .admissions-stepper__bullet{background:#d4edda;color:#14532d}.admissions-stepper__title{font-size:1rem;color:var(--text-secondary, #6b7280);flex:1;padding-top:.5rem;font-weight:500}.admissions-stepper__item--active .admissions-stepper__title{color:var(--brand-primary, #3949ab);font-weight:600}.admissions-stepper__item--complete .admissions-stepper__title{color:var(--text-primary, #222)}.admissions-stepper__body{flex:1;padding-top:.5rem}.admissions-stepper__body p{color:var(--text-primary, #444);font-size:.95rem;line-height:1.55;white-space:pre-wrap;margin:0 0 1.5rem}.admissions-stepper__actions{display:flex;justify-content:flex-end;gap:1rem}.admissions-stepper__action{background:none;border:none;color:var(--brand-primary, #3949ab);font-size:.95rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;padding:.5rem 1rem;border-radius:4px}.admissions-stepper__action:hover:not(:disabled){background:#3949ab14}.admissions-stepper__action:disabled{opacity:.5;cursor:not-allowed}.admissions-stepper__action--ghost{color:var(--text-secondary, #6b7280)}.admissions-stepper__placeholder{background:var(--bg-light, #f5f6f8);border:1px dashed var(--border-light, #d1d5db);border-radius:6px;padding:1.5rem;color:var(--text-secondary, #6b7280);text-align:center;font-size:.95rem;margin-top:.5rem}.admissions-stepper__hint{color:var(--text-secondary, #6b7280);font-size:.95rem;margin:0 0 1rem}.admissions-form-group input[type=date],.admissions-form-group select,.admissions-form-group textarea{width:100%;padding:.6rem .75rem;font-size:1rem;border:1px solid var(--border-light, #d1d5db);border-radius:4px;box-sizing:border-box;background:var(--bg-white);font-family:inherit}.admissions-form-group input[type=date]:focus,.admissions-form-group select:focus,.admissions-form-group textarea:focus{outline:none;border-color:var(--brand-primary, #3949ab);box-shadow:0 0 0 2px #3949ab26}.admissions-modal--wide{max-width:720px}.admissions-agreement__body{max-height:320px;overflow-y:auto;padding:.75rem 1rem;border:1px solid var(--border-light, #d1d5db);border-radius:4px;background:var(--bg-light, #f9fafb);margin-bottom:1.25rem;font-size:.95rem;line-height:1.5}.admissions-agreement__body p{margin:0 0 .75rem}.admissions-agreement-list{list-style:none;padding:0;margin:0 0 1rem}.admissions-agreement-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;border:1px solid var(--border-light, #d1d5db);border-radius:6px;margin-bottom:.5rem;background:var(--bg-white)}.admissions-agreement-item__main{flex:1;min-width:0}.admissions-agreement-item__title{font-weight:500;color:var(--text-primary, #222)}.admissions-agreement-item__optional{font-weight:400;font-size:.875rem;color:var(--text-secondary, #6b7280)}.admissions-agreement-item__signed{font-size:.85rem;color:var(--text-secondary, #6b7280);margin-top:.15rem}.admissions-agreement-item__action{flex-shrink:0}.admissions-agreement-item__check{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--success);color:#fff;font-weight:700}.admissions-essay__prompt{font-size:.9rem;color:var(--text-secondary, #6b7280);margin:0 0 .5rem;white-space:pre-wrap}.admissions-essay__meta{display:flex;gap:.5rem;font-size:.8125rem;color:var(--text-secondary, #6b7280);margin-top:.25rem}.admissions-doc-section{margin-bottom:1.5rem}.admissions-doc-section__title{font-size:.95rem;font-weight:600;margin:0 0 .5rem;color:var(--text-primary, #222)}.admissions-doc-meta{font-size:.8125rem;color:var(--text-secondary, #6b7280);margin-top:.25rem}.admissions-agreement-item--column{align-items:flex-start;flex-direction:column}.admissions-doc-uploads{list-style:none;padding:0;margin:.5rem 0 0}.admissions-doc-upload{display:flex;align-items:center;gap:.75rem;padding:.4rem .6rem;background:var(--bg-light, #f9fafb);border-radius:4px;margin-bottom:.25rem;font-size:.875rem}.admissions-doc-upload__name{flex:1;word-break:break-all}.admissions-doc-upload__size{color:var(--text-secondary, #6b7280);font-size:.8125rem}.admissions-doc-upload__remove{background:none;border:none;color:var(--error);cursor:pointer;font-size:.8125rem;padding:.15rem .4rem}.admissions-doc-upload__remove:hover:not(:disabled){text-decoration:underline}.admissions-doc-upload__remove:disabled{opacity:.5;cursor:not-allowed}.admissions-form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.admissions-family-card{background:var(--bg-light, #f9fafb);border:1px solid var(--border-light, #d1d5db);border-radius:6px;padding:1rem;margin-bottom:.75rem}.admissions-family-card__header{display:flex;align-items:center;justify-content:space-between;font-weight:600;margin-bottom:.5rem;color:var(--text-primary, #222)}.admissions-checkbox{display:inline-flex;align-items:center;gap:.4rem;margin:0;font-size:.9rem;color:var(--text-primary, #222);font-weight:400}.admissions-checkbox input[type=checkbox]{width:auto;margin:0}.admissions-checkbox-row{display:flex;gap:1.25rem;flex-wrap:wrap;margin-top:.5rem}.admissions-review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.75rem;margin-bottom:1rem}.admissions-review-block{background:var(--bg-light, #f9fafb);border:1px solid var(--border-light, #d1d5db);border-radius:6px;padding:.75rem 1rem}.admissions-review-block__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.admissions-review-block__header h4{margin:0;font-size:.95rem;font-weight:600;color:var(--text-primary, #222)}.admissions-review-block__edit{background:none;border:none;color:var(--brand-primary, #3949ab);cursor:pointer;font-size:.8125rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.admissions-review-block dl{margin:0;display:grid;gap:.35rem}.admissions-review-block__row{display:grid;grid-template-columns:minmax(110px,35%) 1fr;gap:.5rem;font-size:.875rem}.admissions-review-block__row dt{color:var(--text-secondary, #6b7280)}.admissions-review-block__row dd{margin:0;color:var(--text-primary, #222);word-break:break-word}.admissions-review-missing{border:1px solid var(--warning);background:#fffbeb;border-radius:6px;padding:.75rem 1rem;margin:1rem 0;color:#92400e;font-size:.9rem}.admissions-review-missing ul{margin:.5rem 0 0;padding-left:1.25rem}.admissions-review-missing__link{background:none;border:none;color:var(--brand-primary, #3949ab);cursor:pointer;font-size:.8125rem;text-decoration:underline;padding:0}.admissions-review-fee{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--bg-light, #f9fafb);border:1px solid var(--border-light, #d1d5db);border-radius:6px;margin:.5rem 0 1rem;font-weight:500}.admissions-review-fee__amount{font-size:1.05rem;font-weight:700}.admissions-review-shell{max-width:1200px;margin:0 auto;padding:1.5rem}.admissions-review-header h1{margin:0 0 .25rem}.admissions-review-header p{margin:0;color:var(--text-secondary, #6b7280)}.admissions-review-tabs{display:flex;gap:.25rem;margin:1rem 0;border-bottom:1px solid var(--border-light, #d1d5db)}.admissions-review-tab{background:none;border:none;border-bottom:2px solid transparent;padding:.5rem 1rem;cursor:pointer;font-size:.9rem;color:var(--text-secondary, #6b7280)}.admissions-review-tab--active{color:var(--brand-primary, #3949ab);border-bottom-color:var(--brand-primary, #3949ab);font-weight:600}.admissions-review-table{width:100%;border-collapse:collapse;background:var(--bg-white)}.admissions-review-table th,.admissions-review-table td{text-align:left;padding:.6rem .75rem;border-bottom:1px solid var(--border-light, #d1d5db);font-size:.9rem}.admissions-review-table th{background:var(--bg-light, #f9fafb);font-weight:600;color:var(--text-secondary, #6b7280)}.admissions-status{display:inline-block;padding:.15rem .5rem;border-radius:4px;font-size:.8125rem;text-transform:capitalize;font-weight:500}.admissions-status--submitted,.admissions-status--under_review{background:#dbeafe;color:#1d4ed8}.admissions-status--approved{background:#dcfce7;color:#15803d}.admissions-status--rejected{background:#fee2e2;color:#b91c1c}.admissions-status--waitlisted{background:#fef3c7;color:#92400e}.admissions-status--draft,.admissions-status--withdrawn{background:var(--bg-gray-200);color:var(--text-secondary)}.admissions-share-panel{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background:#eef2ff;border:1px solid #c7d2fe;border-radius:6px;margin-bottom:1rem}.admissions-share-snippet{display:block;background:var(--bg-white);border:1px solid #c7d2fe;padding:.4rem .6rem;border-radius:4px;font-size:.85rem;margin-top:.5rem;white-space:pre-wrap;word-break:break-all}.dashboard-container{max-width:1400px;margin:0 auto}.dashboard-header{margin-bottom:2rem}.dashboard-header h1{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.dashboard-header p{color:var(--text-secondary);font-size:1rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2.5rem}.stat-card{background:var(--bg-white);border-radius:var(--radius-lg);padding:var(--stat-card-padding);box-shadow:var(--shadow-card);display:flex;align-items:center;gap:var(--stat-card-gap);transition:transform .2s;min-width:0;overflow:hidden}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.stat-icon{font-size:2.5rem;width:var(--stat-card-icon-size);height:var(--stat-card-icon-size);flex-shrink:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-blue-light) 0%,var(--primary-blue) 100%);border-radius:var(--stat-card-icon-radius);box-shadow:0 4px 12px #3d81de33}.stat-content{min-width:0;flex:1}.stat-content h3{font-size:var(--stat-card-value-size);font-weight:700;color:var(--text-primary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-content p{color:var(--text-secondary);font-size:var(--stat-card-label-size);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.section{background:var(--bg-white);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-card);margin-bottom:2rem;border:1px solid var(--border-light)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header h2{font-size:1.5rem;font-weight:600;color:var(--text-primary)}.schools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.school-card{background:var(--bg-white);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:1.5rem;cursor:pointer;transition:all .2s;box-shadow:var(--shadow-sm)}.school-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--primary-blue)}.school-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:1rem}.school-header h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.school-details{margin:1rem 0}.school-details p{margin:.5rem 0;font-size:.875rem;color:var(--text-secondary);display:flex;align-items:center;gap:.5rem}.school-stats{display:flex;gap:2rem;margin:1rem 0;padding-top:1rem;border-top:1px solid var(--border-light)}.stat-item{display:flex;flex-direction:column;align-items:center}.stat-value{font-size:1.5rem;font-weight:700;color:var(--primary-blue)}.stat-label{font-size:.75rem;color:var(--text-muted)}.school-footer{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-light)}.form-card{background:var(--bg-gray-50);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem}.form-card h3{margin-bottom:1rem;color:var(--text-primary)}.user-cell{display:flex;align-items:center;gap:.75rem}.user-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--primary-blue-light) 0%,var(--primary-blue) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;box-shadow:0 2px 8px #3d81de33}.classes-grid{display:flex;flex-direction:column;gap:1rem}.class-card{background:var(--bg-white);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:1rem;transition:all .2s;box-shadow:var(--shadow-sm)}.class-card:hover{border-color:var(--primary-blue);box-shadow:var(--shadow-md)}.class-card.selected{border-color:var(--primary-blue);background-color:#e0f2fe;box-shadow:var(--shadow-lg)}.class-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:.75rem}.class-header h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.class-code{font-size:.75rem;padding:.25rem .5rem;background-color:var(--bg-gray-100);color:var(--text-primary);border-radius:4px;font-weight:500}.class-body p{margin:.5rem 0;font-size:.875rem;color:var(--text-secondary)}.class-footer{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-light)}.categories-container{display:flex;flex-direction:column;gap:1rem}.category-section{background:transparent;border-radius:var(--radius-lg);overflow:hidden;margin-bottom:2rem}.category-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:linear-gradient(135deg,var(--primary-blue) 0%,var(--info) 100%);color:#fff;cursor:pointer;transition:all .2s;border-radius:var(--radius-md);margin-bottom:1rem}.category-header:hover{background:linear-gradient(135deg,var(--info) 0%,var(--primary-blue-darker) 100%)}.category-header h3{color:#fff;margin:0}.category-header .class-count{color:#fffc}.category-header.uncategorized{background:linear-gradient(135deg,var(--text-secondary) 0%,var(--text-secondary-dark) 100%)}.category-header.uncategorized:hover{background:linear-gradient(135deg,var(--text-secondary-dark) 0%,var(--text-secondary-darker) 100%)}.category-info{display:flex;align-items:center;gap:.75rem}.category-info h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.class-count{font-size:.875rem;color:var(--text-secondary)}.expand-icon{font-size:.75rem;color:#fff;transition:transform .2s;display:inline-block}.expand-icon.expanded{transform:rotate(90deg)}.category-actions{display:flex;gap:.5rem}.category-actions .btn-small{background:var(--bg-white)!important;border:none!important;color:var(--primary-blue)!important;padding:.4rem .85rem;font-size:.8rem;font-weight:500;border-radius:var(--radius-md);cursor:pointer;transition:all .2s;box-shadow:0 1px 3px #0000001a}.category-actions .btn-small:hover{background:var(--bg-gray-100)!important;transform:translateY(-1px);box-shadow:0 2px 4px #00000026}.category-actions .btn-danger{color:var(--error)!important}.category-actions .btn-danger:hover{background:var(--badge-error-bg)!important}.category-classes{padding:0}.empty-category{color:var(--text-secondary);font-style:italic;padding:1rem;margin:0;background:var(--bg-gray-50);border-radius:var(--radius-md)}.class-card-new{background:var(--bg-white);border:1px solid var(--border-light);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:1rem;width:100%}.class-card-top{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:var(--bg-gray-50);border-bottom:1px solid var(--border-light);gap:1rem;flex-wrap:wrap}.class-info{flex-shrink:0}.class-info h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.class-meta{margin:.25rem 0 0;font-size:.875rem;color:var(--text-secondary)}.class-all-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.action-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem .85rem;background:var(--bg-white);border:1px solid var(--border-light);border-radius:var(--radius-md);font-size:.8rem;color:var(--text-secondary);cursor:pointer;transition:all .2s;white-space:nowrap}.action-btn:hover{background:var(--bg-gray-100);border-color:var(--primary-blue);color:var(--primary-blue)}.action-icon{font-size:.95rem}.action-label{font-weight:500}.icon-btn{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-white);border:1px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer;transition:all .2s;color:var(--text-secondary)}.icon-btn:hover{background:var(--bg-gray-100);border-color:var(--primary-blue);color:var(--primary-blue)}.icon-btn.danger:hover{background:var(--badge-error-bg);border-color:var(--error);color:var(--error)}.icon-btn svg{flex-shrink:0}.class-card-body{padding:1rem 1.25rem}.class-details{display:flex;flex-wrap:wrap;gap:1.5rem}.detail-item{font-size:.875rem;color:var(--text-secondary)}.detail-item strong{color:var(--text-primary)}@media(max-width:768px){.class-card-top{flex-direction:column;align-items:flex-start}.class-all-actions{width:100%}.action-label{display:none}}.tab{padding:.75rem 1.5rem;background:none;border:none;font-size:.9375rem;font-weight:500;color:var(--text-secondary);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;transition:all .2s;font-family:inherit}.filters-bar{margin-bottom:1.5rem;padding:1rem;background-color:var(--bg-gray-50);border-radius:var(--radius-md);display:flex;gap:1rem;align-items:center;border:1px solid var(--border-light)}.filter-group{display:flex;align-items:center;gap:.5rem}.filter-group label{margin:0;font-size:.875rem;color:var(--text-primary);font-weight:500}.filter-select{padding:.5rem;border:1px solid var(--border-gray);border-radius:var(--radius-sm);font-size:.875rem;min-width:200px;background:var(--bg-white);transition:border-color .2s ease}.filter-select:focus{outline:none;border-color:var(--primary-blue)}@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.schools-grid{grid-template-columns:1fr}.section-header{flex-direction:column;align-items:start;gap:1rem}.tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.tab{white-space:nowrap}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr}.stats-grid .stat-card{padding:1rem}.stats-grid .stat-card .stat-icon{width:40px;height:40px;font-size:1.5rem}}.item-type-badge{display:inline-block;padding:.25rem .625rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.item-type-badge.assignment{background-color:var(--badge-info-bg);color:var(--badge-info-fg)}.item-type-badge.quiz{background-color:var(--badge-neutral-bg);color:var(--badge-neutral-fg)}.assignment-title-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.assignment-title-row h3{margin:0}.quick-actions{display:flex;flex-wrap:wrap;gap:.75rem}.assignments-preview{display:flex;flex-direction:column;gap:.75rem}.assignment-preview-card{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--bg-gray-50);border:1px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer;transition:all .2s}.assignment-preview-card:hover{background:var(--bg-white);border-color:var(--primary-blue);box-shadow:var(--shadow-sm)}.assignment-info h3{font-size:1rem;font-weight:600;margin:0 0 .25rem}.assignment-info .class-name{font-size:.875rem;color:var(--text-secondary);margin:0}.assignment-meta{display:flex;align-items:center;gap:1rem;text-align:right}.assignment-meta .due-date{font-size:.875rem;color:var(--text-secondary)}.assignment-meta .due-date.overdue{color:var(--status-danger);font-weight:500}.assignment-meta .points{font-size:.875rem;font-weight:600;color:var(--text-primary)}.grades-preview{display:flex;flex-direction:column;gap:.75rem}.grade-preview-card{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--bg-gray-50);border:1px solid var(--border-light);border-radius:var(--radius-md)}.grade-info h3{font-size:1rem;font-weight:600;margin:0 0 .25rem}.grade-info .class-name{font-size:.875rem;color:var(--text-secondary);margin:0}.grade-value{text-align:right}.grade-value .grade-score{display:block;font-size:1.125rem;font-weight:700;color:var(--primary-blue)}.grade-value .grade-percentage{font-size:.875rem;color:var(--text-secondary)}.text-danger{color:var(--status-danger)!important}.btn-link{background:none;border:none;color:var(--primary-blue);font-size:.875rem;font-weight:500;cursor:pointer;padding:0;font-family:inherit}.btn-link:hover{text-decoration:underline}.report-container .data-table{table-layout:fixed}.report-container .data-table th:nth-child(1),.report-container .data-table td:nth-child(1){width:40%}.report-container .data-table th:nth-child(2),.report-container .data-table td:nth-child(2){width:20%}.report-container .data-table th:nth-child(3),.report-container .data-table td:nth-child(3){width:20%}.report-container .data-table th:nth-child(4),.report-container .data-table td:nth-child(4){width:20%}.admin-dash-layout{display:grid;grid-template-columns:1fr 340px;gap:1.5rem;align-items:start}.admin-dash-main{display:flex;flex-direction:column;gap:1.5rem;min-width:0}.admin-dash-sidebar{display:flex;flex-direction:column;gap:1.5rem}.admin-widget-card{background:var(--bg-white);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;box-shadow:var(--shadow-card);border:1px solid var(--border-light)}.admin-widget-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.admin-widget-header h3{font-size:1.0625rem;font-weight:600;color:var(--text-primary);margin:0}.admin-empty-text{color:var(--text-muted);font-size:.875rem;font-style:italic;padding:.5rem 0}.admin-attendance-list{display:flex;flex-direction:column;gap:.75rem}.admin-attendance-row{display:flex;align-items:center;gap:.75rem;font-size:.875rem}.admin-attendance-class{font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 0 auto;max-width:140px}.admin-attendance-counts{display:flex;gap:.5rem;flex-shrink:0}.admin-count-present{color:var(--success);font-size:.8125rem;font-weight:500}.admin-count-absent{color:var(--error);font-size:.8125rem;font-weight:500}.admin-count-late{color:var(--warning);font-size:.8125rem;font-weight:500}.admin-attendance-bar-wrap{flex:1;display:flex;align-items:center;gap:.5rem;min-width:0}.admin-attendance-bar-track{flex:1;height:6px;background:var(--bg-gray-200);border-radius:3px;overflow:hidden;position:relative}.admin-attendance-bar{position:absolute;left:0;top:0;bottom:0;background:var(--success);border-radius:3px;transition:width .3s ease}.admin-attendance-pct{font-size:.8125rem;font-weight:600;color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.admin-notification-list{display:flex;flex-direction:column;gap:.5rem}.admin-notification-item{display:flex;align-items:center;gap:.625rem;padding:.5rem 0;border-bottom:1px solid var(--bg-gray-100);font-size:.875rem}.admin-notification-item:last-child{border-bottom:none}.admin-notif-badge{display:inline-block;padding:.15rem .5rem;border-radius:10px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;background:var(--bg-gray-100);color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.admin-notif-badge--grade_posted{background:var(--badge-info-bg);color:var(--badge-info-fg)}.admin-notif-badge--assignment_published{background:var(--badge-success-bg);color:var(--badge-success-fg)}.admin-notif-badge--quiz_published,.admin-notif-badge--due_date_reminder{background:var(--badge-warning-bg);color:var(--badge-warning-fg)}.admin-notif-badge--attendance_digest{background:var(--badge-neutral-bg);color:var(--badge-neutral-fg)}.admin-notif-badge--welcome{background:var(--badge-info-bg);color:var(--badge-info-fg)}.admin-notif-subject{flex:1;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-notif-time{color:var(--text-muted);font-size:.8125rem;white-space:nowrap;flex-shrink:0}.admin-notif-recipient{font-size:.75rem;color:var(--text-muted, #9ca3af);flex-shrink:0;white-space:nowrap}.admin-sub-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.admin-sub-row>.admin-widget-card:only-child{grid-column:1 / -1}.admin-due-list{display:flex;flex-direction:column;gap:.625rem}.admin-due-item{padding:.5rem 0;border-bottom:1px solid var(--bg-gray-100)}.admin-due-item:last-child{border-bottom:none}.admin-due-info{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.admin-due-title{font-size:.875rem;font-weight:500;color:var(--text-primary)}.admin-due-meta{display:flex;gap:.75rem;font-size:.8125rem;color:var(--text-secondary)}.admin-due-date{font-weight:500}.admin-hifz-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.admin-hifz-stat{text-align:center;padding:.75rem .5rem;background:var(--bg-gray-50);border-radius:var(--radius-md)}.admin-hifz-num{display:block;font-size:1.5rem;font-weight:700;color:var(--primary-blue);line-height:1.2}.admin-hifz-label{display:block;font-size:.75rem;color:var(--text-secondary);margin-top:.125rem}.admin-tuition-summary{display:flex;gap:2rem;margin-bottom:1rem}.admin-tuition-stat{text-align:center;flex:1;padding:.75rem;background:var(--bg-gray-50);border-radius:var(--radius-md)}.admin-tuition-num{display:block;font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:1.2}.admin-tuition-amount{color:var(--primary-blue)}.admin-tuition-label{display:block;font-size:.75rem;color:var(--text-secondary);margin-top:.125rem}.admin-tuition-payments-title{font-size:.8125rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.5rem}.admin-tuition-payments{border-top:1px solid var(--border-light);padding-top:.75rem}.admin-payment-row{display:flex;align-items:center;gap:.75rem;padding:.375rem 0;font-size:.875rem}.admin-payment-payer{flex:1;color:var(--text-primary);font-weight:500}.admin-payment-amount{font-weight:600;color:var(--success)}.admin-payment-date{color:var(--text-muted);font-size:.8125rem}.admin-quick-actions-title{font-size:1.0625rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.admin-quick-actions{display:flex;flex-direction:column;gap:.5rem}.quick-action-btn{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;background:var(--bg-gray-50);border:1px solid var(--border-light);border-radius:var(--radius-md);font-family:inherit;font-size:.9375rem;font-weight:500;color:var(--text-primary);cursor:pointer;text-align:left;transition:background-color .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease}.quick-action-btn .qa-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-sm);background:var(--badge-info-bg);color:var(--badge-info-fg);transition:background-color .15s ease,color .15s ease}.quick-action-btn .qa-label{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-action-btn .qa-chevron{flex:0 0 auto;color:var(--text-muted);transition:transform .15s ease,color .15s ease}.quick-action-btn:hover{background:var(--bg-white);border-color:var(--primary-blue);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.quick-action-btn:hover .qa-chevron{color:var(--primary-blue);transform:translate(2px)}.quick-action-btn:focus-visible{outline:none;border-color:var(--primary-blue)}[data-theme=dark] .quick-action-btn{background:var(--card-bg)}[data-theme=dark] .quick-action-btn:hover{background:var(--bg-gray-50)}.mini-cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.mini-cal-title{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.mini-cal-nav{background:none;border:1px solid var(--border-light);border-radius:var(--radius-sm);width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.125rem;color:var(--text-secondary);transition:all .15s ease;font-family:inherit;line-height:1}.mini-cal-nav:hover{background:var(--bg-gray-100);border-color:var(--primary-blue);color:var(--primary-blue)}.mini-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:0;text-align:center}.mini-cal-dow{font-size:.6875rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;padding:.25rem 0 .5rem}.mini-cal-cell{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.3rem 0;min-height:32px}.mini-cal-cell--interactive{cursor:pointer;border-radius:var(--radius-sm);transition:background .1s ease}.mini-cal-cell--interactive:hover,.mini-cal-cell--interactive:focus{background:var(--bg-gray-100);outline:2px solid var(--primary-blue);outline-offset:-1px}.mini-cal-day-num{font-size:.8125rem;font-weight:400;color:var(--text-primary);line-height:1}.mini-cal-today .mini-cal-day-num{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--primary-blue);color:#fff;font-weight:600}.mini-cal-semester{background:var(--badge-info-bg)}.mini-cal-semester:not(.mini-cal-semester+.mini-cal-semester){border-top-left-radius:4px;border-bottom-left-radius:4px}.mini-cal-dots{display:flex;gap:2px;margin-top:2px}.mini-cal-dot{display:block;width:4px;height:4px;border-radius:50%;background:var(--error);flex-shrink:0}.mini-cal-holiday{background:var(--bg-gray-100);color:var(--text-muted)}.mini-cal-holiday .mini-cal-day-num{color:var(--text-muted)}.mini-cal-upcoming{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-light)}.mini-cal-upcoming-title{font-size:.8125rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem}.mini-cal-event-item{display:flex;gap:.5rem;padding:.3rem 0;font-size:.8125rem}.mini-cal-event-date{color:var(--primary-blue);font-weight:600;white-space:nowrap;flex-shrink:0;min-width:3.5rem}.mini-cal-event-name{color:var(--text-primary)}@media(max-width:900px){.admin-dash-layout,.admin-sub-row{grid-template-columns:1fr}.admin-attendance-row{flex-wrap:wrap}.admin-attendance-class{max-width:none;flex-basis:100%}}@media(max-width:480px){.admin-notification-item{flex-wrap:wrap;gap:.375rem}.admin-notif-subject{flex-basis:100%;order:3}}.teacher-dash-layout{display:grid;grid-template-columns:1fr 340px;gap:1.5rem;align-items:start;margin-top:1.5rem}.teacher-dash-main{display:flex;flex-direction:column;gap:1.5rem;min-width:0}.teacher-dash-sidebar{display:flex;flex-direction:column;gap:1.5rem}.teacher-section-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.teacher-hifz-roster{display:flex;flex-direction:column;gap:0}.teacher-hifz-row{display:flex;align-items:center;gap:1rem;padding:.75rem .5rem;border-bottom:1px solid var(--bg-gray-100);cursor:pointer;transition:background-color .15s ease}.teacher-hifz-row:last-child{border-bottom:none}.teacher-hifz-row:hover{background-color:var(--bg-gray-50)}.teacher-hifz-name{flex:0 0 180px;font-weight:500;color:var(--text-primary);font-size:.875rem;display:flex;align-items:center;gap:.5rem}.teacher-hifz-coverage-badge{display:inline-block;padding:.1rem .4rem;border-radius:8px;font-size:.6875rem;font-weight:600;background:var(--badge-neutral-bg);color:var(--badge-neutral-fg);white-space:nowrap}.teacher-hifz-tracks{display:flex;gap:.375rem;flex-shrink:0}.teacher-hifz-track-badge{display:inline-block;padding:.15rem .5rem;border-radius:10px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;background:var(--bg-gray-100);color:var(--text-secondary)}.teacher-hifz-track-badge.track-hifz{background:var(--badge-success-bg);color:var(--badge-success-fg)}.teacher-hifz-track-badge.track-nazirah{background:var(--badge-info-bg);color:var(--badge-info-fg)}.teacher-hifz-track-badge.track-qaidah{background:var(--badge-warning-bg);color:var(--badge-warning-fg)}.teacher-hifz-entries{display:flex;flex-wrap:wrap;gap:.25rem;flex:1;min-width:0}.teacher-hifz-entry-dot{display:inline-block;padding:.1rem .4rem;border-radius:8px;font-size:.6875rem;font-weight:500;white-space:nowrap}.teacher-hifz-entry-dot.logged{background:var(--badge-success-bg);color:var(--badge-success-fg)}.teacher-hifz-entry-dot.missing{background:var(--badge-error-bg);color:var(--badge-error-fg)}.teacher-hifz-status{flex-shrink:0;display:inline-block;padding:.2rem .625rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:capitalize}.teacher-hifz-status.complete{background:var(--badge-success-bg);color:var(--badge-success-fg)}.teacher-hifz-status.partial{background:var(--badge-warning-bg);color:var(--badge-warning-fg)}.teacher-hifz-status.missing{background:var(--badge-error-bg);color:var(--badge-error-fg)}.teacher-quick-actions{display:flex;gap:.75rem;flex-wrap:wrap}.teacher-quick-actions .quick-action-btn{flex:0 0 auto;width:auto;display:inline-block}.teacher-schedule-list{display:flex;flex-direction:column;gap:0}.teacher-schedule-item{display:flex;align-items:center;gap:.75rem;padding:.625rem 0;border-bottom:1px solid var(--bg-gray-100);cursor:pointer;transition:background-color .15s ease}.teacher-schedule-item:last-child{border-bottom:none}.teacher-schedule-item:hover{background-color:var(--bg-gray-50)}.teacher-schedule-time{flex-shrink:0;font-size:.8125rem;font-weight:600;color:var(--primary-blue);min-width:6rem;white-space:nowrap}.teacher-schedule-details{flex:1;min-width:0}.teacher-schedule-class{font-size:.875rem;font-weight:500;color:var(--text-primary)}.teacher-schedule-meta{display:flex;gap:.75rem;font-size:.75rem;color:var(--text-secondary)}.teacher-attendance-badge{flex-shrink:0;display:inline-block;padding:.2rem .5rem;border-radius:10px;font-size:.6875rem;font-weight:600;white-space:nowrap}.teacher-attendance-badge.taken{background:var(--badge-success-bg);color:var(--badge-success-fg)}.teacher-attendance-badge.pending{background:var(--badge-warning-bg);color:var(--badge-warning-fg)}@media(max-width:900px){.teacher-dash-layout{grid-template-columns:1fr}}@media(max-width:768px){.teacher-hifz-row{flex-wrap:wrap;gap:.5rem}.teacher-hifz-name{flex:1 1 100%}.teacher-hifz-entries{flex-basis:100%}}.parent-dash-layout{display:grid;grid-template-columns:1fr 340px;gap:1.5rem;align-items:start;margin-top:1.5rem}.parent-dash-main{display:flex;flex-direction:column;gap:1.5rem;min-width:0}.parent-dash-sidebar{display:flex;flex-direction:column;gap:1.5rem}.parent-grades-list{display:flex;flex-direction:column;gap:0}.parent-grade-row{display:flex;align-items:center;justify-content:space-between;padding:.625rem 0;border-bottom:1px solid var(--bg-gray-100)}.parent-grade-row:last-child{border-bottom:none}.parent-grade-info{display:flex;align-items:center;gap:.5rem;min-width:0}.parent-grade-title{font-size:.875rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.parent-grade-score{display:flex;align-items:baseline;gap:.5rem;flex-shrink:0}.parent-grade-points{font-size:.9375rem;font-weight:700}.parent-grade-pct{font-size:.8125rem;font-weight:500;opacity:.75}.parent-attendance-rate{text-align:center;padding:1.25rem 0 1rem}.parent-attendance-pct{display:block;font-size:2.5rem;font-weight:700;color:var(--primary-blue);line-height:1.1}.parent-attendance-label{display:block;font-size:.8125rem;color:var(--text-secondary);margin-top:.25rem}.parent-attendance-breakdown{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;padding-top:1rem;border-top:1px solid var(--border-light)}.parent-att-stat{text-align:center}.parent-att-count{display:block;font-size:1.25rem;font-weight:700;line-height:1.2}.parent-att-label{display:block;font-size:.6875rem;color:var(--text-secondary);margin-top:.125rem}@media(max-width:900px){.parent-dash-layout{grid-template-columns:1fr}}@media(max-width:480px){.parent-attendance-breakdown{grid-template-columns:repeat(2,1fr)}}.status-legend{display:flex;flex-direction:column;gap:.5rem}.status-legend .legend-item{display:flex;align-items:center;gap:.75rem}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--bg-gray-200) 25%,var(--bg-gray-100) 50%,var(--bg-gray-200) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm, 6px)}.skeleton-text{height:16px;margin-bottom:8px;width:100%}.skeleton-title{height:24px;margin-bottom:12px;width:60%}.skeleton-card{height:120px;border-radius:var(--radius-lg, 12px)}.skeleton-circle{border-radius:50%;width:40px;height:40px}.skeleton-rect{height:40px;width:100%}.skeleton-dashboard{padding:0}.skeleton-header{margin-bottom:24px}.skeleton-stats-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:24px}.skeleton-stat-card{background:var(--bg-white);border-radius:var(--radius-lg, 12px);padding:20px;border:1px solid var(--border-light, #e2e8f0);display:flex;flex-direction:column;gap:8px}.skeleton-content-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.skeleton-card-large{background:var(--bg-white);border-radius:var(--radius-lg, 12px);padding:24px;border:1px solid var(--border-light, #e2e8f0)}.skeleton-class-detail{padding:0}.skeleton-tabs{display:flex;gap:8px;margin:20px 0}.skeleton-table{display:flex;flex-direction:column;gap:2px}.skeleton-gradebook{padding:0}.skeleton-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.skeleton-toolbar-actions{display:flex;gap:8px}.skeleton-category-cards{display:flex;flex-direction:column;gap:20px}.skeleton-category-card{background:var(--bg-white);border-radius:var(--radius-lg, 12px);padding:24px;border:1px solid var(--border-light, #e2e8f0);display:flex;flex-direction:column;gap:8px}@media(max-width:768px){.skeleton-content-row{grid-template-columns:1fr}.skeleton-stats-row{grid-template-columns:repeat(2,1fr)}}.child-selector{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:var(--card-bg, #fff);border-radius:8px;border:1px solid var(--border-light);margin-bottom:1.5rem;box-shadow:0 2px 4px #0000001a}.child-selector label{font-weight:500;color:var(--text-secondary);margin:0}.child-selector select{flex:1;max-width:300px;padding:.5rem 1rem;border:1px solid var(--border-light);border-radius:4px;background:var(--bg-secondary);color:var(--text-primary);font-size:.95rem;cursor:pointer}.child-selector select:focus{outline:none;border-color:var(--primary-blue)}.child-selector.loading,.child-selector.empty{color:var(--text-muted);font-style:italic}@media(max-width:768px){.child-selector{flex-direction:column;align-items:flex-start;gap:.5rem}.child-selector select{width:100%;max-width:none}}.modal-overlay{position:fixed;inset:0;background-color:var(--scrim);display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:var(--bg-white);border-radius:8px;box-shadow:0 4px 20px #00000026;max-height:90vh;overflow-y:auto;width:600px;max-width:95vw}.modal-small{width:400px}.modal-medium{width:550px}.modal-large{width:700px}.modal-form{padding:20px}.modal-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.modal-form .form-group{margin-bottom:1rem}.modal-form .form-group label{display:block;margin-bottom:.5rem;font-weight:500}.modal-form .form-group input,.modal-form .form-group select,.modal-form .form-group textarea{width:100%;padding:.5rem .75rem;border:1px solid var(--bg-gray-200);border-radius:4px;font-size:1rem}.modal-form .form-group input:focus-visible,.modal-form .form-group select:focus-visible,.modal-form .form-group textarea:focus-visible{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 2px #4a90d91a}.modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-light)}.modal-footer--with-destructive{justify-content:space-between}.modal-footer__actions{display:flex;gap:var(--space-3);align-items:center}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--bg-gray-200)}.modal-header h2{margin:0;font-size:1.25rem}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary)}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:20px}.days-selector{display:flex;gap:8px;flex-wrap:wrap}.day-btn{width:40px;height:40px;border:2px solid var(--bg-gray-200);border-radius:50%;background:var(--bg-white);cursor:pointer;font-size:13px;font-weight:500;color:var(--text-secondary);transition:all .2s;display:flex;align-items:center;justify-content:center;padding:0}.day-btn:hover{border-color:var(--info);color:var(--info)}.day-btn.selected{background:var(--info);border-color:var(--info);color:var(--text-white)}.day-btn:disabled{opacity:.5;cursor:not-allowed}.toggle-switch{position:relative;width:44px;height:24px;background:var(--bg-gray-200, #d1d5db);border:none;border-radius:12px;cursor:pointer;transition:background .2s;padding:0;flex-shrink:0}.toggle-switch.active{background:var(--success)}.toggle-switch.active:after{transform:translate(20px)}.toggle-switch:disabled{opacity:.5;cursor:not-allowed}.school-detail-container{max-width:1200px;margin:0 auto}.detail-header{margin-bottom:2rem}.btn-back{background:var(--bg-white);border:1px solid var(--border-light);color:var(--text-secondary);font-size:.9375rem;font-weight:500;cursor:pointer;margin-bottom:1rem;padding:.5rem 1rem;display:inline-flex;align-items:center;gap:.5rem;transition:all .2s;border-radius:var(--radius-md)}.btn-back:hover{color:var(--primary-blue);background:var(--bg-gray-50);transform:translate(-4px)}.header-content h1{font-size:2.25rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.school-subtitle{color:var(--text-secondary);font-size:1rem}.info-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.info-card{background:var(--bg-white);padding:1rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:.5rem;border:1px solid var(--border-light)}.info-card strong{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.info-card span{font-size:.9375rem;color:var(--text-primary)}.tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid var(--border-light)}.tab{padding:.75rem 1.5rem;background:none;border:none;font-size:.9375rem;font-weight:500;color:var(--text-secondary);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;transition:all .2s}.tab:hover{color:var(--primary-blue)}.tab.active{color:var(--primary-blue);border-bottom-color:var(--primary-blue)}.tab-content{background:var(--bg-white);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-card);border:1px solid var(--border-light)}.tab-content h2{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:1.5rem}.overview-tab .stats-grid{margin-bottom:3rem}.recent-classes{display:grid;gap:1rem}.class-item{padding:1rem;border:1px solid var(--border-light);border-radius:var(--radius-md);transition:all .2s}.class-item:hover{border-color:var(--primary-blue);background-color:var(--bg-gray-50)}.class-item h4{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.class-item p{margin:.25rem 0;font-size:.875rem;color:var(--text-secondary)}.users-tab .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.classes-tab .classes-grid{margin-top:1.5rem}.edit-school-section .form-group{margin-bottom:1rem}.edit-school-section .form-group label{display:block;font-size:.875rem;font-weight:500;color:var(--text-secondary);margin-bottom:.375rem}.edit-school-section .form-group input[type=text],.edit-school-section .form-group input[type=email],.edit-school-section .form-group input[type=number]{width:100%;padding:.5rem .75rem;border:1px solid var(--border-color, #d1d5db);border-radius:var(--radius-md, 6px);font-size:.9375rem;transition:border-color .2s;box-sizing:border-box}.edit-school-section .form-group input:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px #3b82f61a}.email-tab .section-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.email-tab .section-header h2{margin:0}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:400}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}code{background:var(--bg-gray-100, #f3f4f6);padding:.125rem .375rem;border-radius:4px;font-family:monospace;font-size:.875rem}@media(max-width:768px){.header-content h1{font-size:1.75rem}.info-cards{grid-template-columns:repeat(2,1fr)}.tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.tab{white-space:nowrap}.tab-content{padding:1.5rem}.email-tab .form-row,.edit-school-section .form-row{grid-template-columns:1fr!important}}@media(max-width:480px){.info-cards{grid-template-columns:1fr}}.juz-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:.5rem;margin:1rem 0}@media(max-width:768px){.juz-grid{grid-template-columns:repeat(6,1fr)}}@media(max-width:480px){.juz-grid{grid-template-columns:repeat(5,1fr)}}.juz-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md, 6px);font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s;border:2px solid transparent}.juz-cell:hover{transform:scale(1.05);box-shadow:var(--shadow-md)}.juz-cell.not-started{background:var(--bg-gray-100, #f3f4f6);color:var(--text-muted, #9ca3af);border-color:var(--border-light, #e5e7eb)}.juz-cell.memorizing{background:var(--badge-warning-bg);color:var(--badge-warning-fg);border-color:var(--warning)}.juz-cell.awaiting-test{background:var(--badge-late-bg);color:var(--badge-late-fg);border-color:#f97316}.juz-cell.in-sabaq-para{background:var(--badge-info-bg);color:var(--badge-info-fg);border-color:var(--info)}.juz-cell.in-daur{background:var(--badge-success-bg);color:var(--badge-success-fg);border-color:var(--success)}.juz-cell.memorized{background:var(--hifz-perfect-bg);color:var(--hifz-perfect-fg);border-color:var(--success)}.quick-links-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1.5rem}.quick-link-card{display:flex;flex-direction:column;align-items:center;padding:1.5rem;background:var(--bg-white);border:1px solid var(--border-light, #e5e7eb);border-radius:var(--radius-lg, 8px);text-decoration:none;color:var(--text-primary, #1f2937);transition:all .2s;cursor:pointer}.quick-link-card:hover{border-color:var(--primary-blue, #3b82f6);box-shadow:var(--shadow-md);transform:translateY(-2px)}.quick-link-icon{font-size:2rem;margin-bottom:.75rem}.quick-link-title{font-weight:600;margin-bottom:.25rem}.quick-link-description{font-size:.875rem;color:var(--text-secondary, #6b7280);text-align:center}.unresolved-list{display:flex;flex-direction:column;gap:.75rem}.unresolved-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--badge-error-bg);border:1px solid #fecaca;border-radius:var(--radius-md, 6px)}.unresolved-info{display:flex;flex-direction:column;gap:.25rem}.unresolved-teacher{font-weight:600;color:var(--text-primary, #1f2937)}.unresolved-date{font-size:.875rem;color:var(--text-secondary, #6b7280)}.unresolved-reason{font-size:.875rem;color:var(--error)}.teacher-toggle{display:flex;align-items:center;gap:.5rem}.toggle-switch{position:relative;width:48px;height:24px;background:var(--bg-gray-200, #e5e7eb);border-radius:12px;cursor:pointer;transition:background .2s}.toggle-switch.active{background:var(--primary-blue, #3b82f6)}.toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:var(--text-white);border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #0003}.toggle-switch.active:after{transform:translate(24px)}.student-assignment-card{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--bg-white);border:1px solid var(--border-light, #e5e7eb);border-radius:var(--radius-md, 6px);margin-bottom:.5rem}.student-assignment-info{display:flex;align-items:center;gap:1rem}.student-assignment-details h4{margin:0 0 .25rem;font-size:1rem}.student-assignment-details p{margin:0;font-size:.875rem;color:var(--text-secondary, #6b7280)}.coverage-card{background:var(--bg-white);border:1px solid var(--border-light, #e5e7eb);border-radius:var(--radius-lg, 8px);padding:1.25rem;margin-bottom:1rem}.coverage-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-light, #e5e7eb)}.coverage-card-header h3{margin:0;font-size:1.125rem}.coverage-students-list{display:flex;flex-direction:column;gap:.5rem}.coverage-student-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--bg-gray-50, #f9fafb);border-radius:var(--radius-md, 6px)}.hifz-filters{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:var(--bg-gray-50, #f9fafb);border-radius:var(--radius-md, 6px);border:1px solid var(--border-light, #e5e7eb)}.hifz-filter-group{display:flex;align-items:center;gap:.5rem}.hifz-filter-group label{font-size:.875rem;font-weight:500;color:var(--text-primary, #1f2937)}.hifz-filter-group select{padding:.5rem;border:1px solid var(--border-gray, #d1d5db);border-radius:var(--radius-sm, 4px);font-size:.875rem;min-width:150px;background:var(--bg-white)}.pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;margin-top:1.5rem}.pagination button{padding:.5rem 1rem;border:1px solid var(--border-light, #e5e7eb);background:var(--bg-white);border-radius:var(--radius-md, 6px);cursor:pointer;transition:all .2s}.pagination button:hover:not(:disabled){border-color:var(--primary-blue, #3b82f6);color:var(--primary-blue, #3b82f6)}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination .page-info{padding:.5rem 1rem;font-size:.875rem;color:var(--text-secondary, #6b7280)}.alert{padding:1rem;border-radius:var(--radius-md, 6px);margin-bottom:1rem}.alert-warning{background:var(--badge-warning-bg);border:1px solid var(--warning);color:var(--badge-warning-fg)}.alert-info{background:var(--badge-info-bg);border:1px solid var(--info);color:var(--badge-info-fg)}.alert-success{background:var(--badge-success-bg);border:1px solid var(--success);color:var(--badge-success-fg)}.bulk-actions{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-gray-50, #f9fafb);border:1px solid var(--border-light, #e5e7eb);border-radius:var(--radius-md, 6px);margin-bottom:1rem}.bulk-actions .selected-count{font-weight:500;color:var(--text-primary, #1f2937)}.data-table input[type=checkbox]{width:18px;height:18px;cursor:pointer}.juz-legend{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem;padding:1rem;background:var(--bg-gray-50, #f9fafb);border-radius:var(--radius-md, 6px)}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.legend-color{width:20px;height:20px;border-radius:4px}.legend-color.not-started{background:var(--bg-gray-100, #f3f4f6);border:1px solid var(--border-light, #e5e7eb)}.legend-color.memorizing{background:var(--badge-warning-bg)}.legend-color.awaiting-test{background:var(--badge-late-bg)}.legend-color.in-sabaq-para{background:var(--badge-info-bg)}.legend-color.in-daur{background:var(--badge-success-bg)}.legend-color.memorized{background:var(--hifz-perfect-bg)}.hifz-table-container{background:var(--bg-white);border-radius:12px;border:1px solid var(--border-light);overflow:hidden;box-shadow:0 1px 3px #0000000d}.hifz-student-table{width:100%;border-collapse:collapse}.hifz-student-table thead{background:linear-gradient(to bottom,var(--bg-gray-50),var(--bg-gray-100))}.hifz-student-table th{padding:1rem 1.25rem;text-align:left;font-weight:600;font-size:.8125rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--border-light)}.hifz-student-table tbody tr{transition:background-color .15s ease}.hifz-student-table tbody tr:hover{background-color:var(--bg-gray-50)}.hifz-student-table tbody tr:not(:last-child){border-bottom:1px solid var(--bg-gray-100)}.hifz-student-table td{padding:1rem 1.25rem;vertical-align:middle}.hifz-student-cell-clickable{cursor:pointer;background:var(--bg-gray-50);transition:all .15s ease;border-radius:8px}.hifz-student-cell-clickable:hover{background:var(--badge-info-bg)}.hifz-student-cell-clickable:hover .hifz-student-name{color:var(--info)}.hifz-student-cell{display:flex;align-items:center;gap:.875rem}.hifz-student-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--info) 0%,#1d4ed8 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;flex-shrink:0}.hifz-student-name-wrapper{display:flex;flex-direction:column;gap:.125rem}.hifz-student-name{font-weight:600;color:var(--info);transition:color .15s ease}.hifz-method-badge{display:inline-block;font-size:.6875rem;font-weight:500;padding:.0625rem .375rem;border-radius:4px;width:-moz-fit-content;width:fit-content}.hifz-method-badge-free{background:#f3e8ff;color:#7c3aed}.hifz-track-badges{display:flex;flex-wrap:wrap;gap:.375rem}.hifz-track-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600}.hifz-track-badge-empty{background:var(--bg-gray-100);color:var(--text-muted);border:1px dashed var(--border-gray)}.hifz-track-badge-hifz{background:var(--badge-success-bg);color:var(--badge-success-fg);border:1px solid #86efac}.hifz-track-badge-nazirah{background:var(--badge-info-bg);color:var(--badge-info-fg);border:1px solid #93c5fd}.hifz-track-badge-qaidah{background:var(--badge-warning-bg);color:var(--badge-warning-fg);border:1px solid #fcd34d}.hifz-teacher-name{font-weight:500;color:var(--text-primary)}.hifz-unassigned-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;background:var(--badge-error-bg);color:var(--error);border:1px solid #fecaca}.hifz-action-buttons{display:flex;gap:.5rem;flex-wrap:nowrap}.hifz-btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;min-width:5.5rem;border-radius:6px;font-size:.8125rem;font-weight:500;border:none;cursor:pointer;transition:all .15s ease;white-space:nowrap}.hifz-btn-primary{background:linear-gradient(135deg,var(--info) 0%,#1d4ed8 100%);color:#fff;box-shadow:0 1px 2px #3b82f64d}.hifz-btn-primary:hover{background:linear-gradient(135deg,var(--info) 0%,#1d4ed8 100%);box-shadow:0 2px 4px #3b82f666}.hifz-btn-secondary{background:var(--bg-white);color:var(--text-secondary);border:1px solid var(--border-light)}.hifz-btn-secondary:hover{background:var(--bg-gray-50);border-color:var(--border-gray)}.hifz-btn-danger{background:var(--bg-white);color:var(--error);border:1px solid #fecaca}.hifz-btn-danger:hover{background:var(--badge-error-bg);border-color:#f87171}.hifz-edit-profile-form{padding:.5rem 0}.hifz-section-title{margin:0 0 .25rem;font-size:1rem;font-weight:600;color:var(--text-primary)}.hifz-section-description{margin:0 0 1rem;font-size:.875rem;color:var(--text-secondary)}.hifz-track-section{margin-bottom:1.5rem;padding:1.25rem;background:var(--bg-gray-50);border-radius:12px;border:1px solid var(--border-light)}.hifz-track-toggle-group{display:flex;gap:.75rem}.hifz-track-toggle{flex:1;display:flex;flex-direction:column;align-items:center;padding:1rem;border-radius:10px;border:2px solid var(--border-light);background:var(--bg-white);cursor:pointer;transition:all .2s ease;position:relative}.hifz-track-toggle:hover{border-color:var(--text-muted);background:var(--bg-gray-50)}.hifz-track-toggle.active{border-color:var(--success);background:var(--badge-success-bg);box-shadow:0 0 0 3px #22c55e26}.hifz-track-toggle-icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;margin-bottom:.5rem;background:var(--border-light);color:transparent;transition:all .2s ease}.hifz-track-toggle.active .hifz-track-toggle-icon{background:var(--success);color:#fff}.hifz-track-toggle-label{font-weight:600;font-size:.9375rem;color:var(--text-primary);margin-bottom:.125rem}.hifz-track-toggle-desc{font-size:.75rem;color:var(--text-secondary)}.hifz-track-toggle.active .hifz-track-toggle-label{color:var(--badge-success-fg)}.hifz-track-toggle.active .hifz-track-toggle-desc{color:var(--success)}.hifz-position-section{margin-bottom:1.5rem;padding:1.25rem;border-radius:12px;border:1px solid}.hifz-position-hifz{background:var(--badge-success-bg);border-color:#bbf7d0}.hifz-position-nazirah{background:var(--badge-info-bg);border-color:#bfdbfe}.hifz-position-grid{display:grid;grid-template-columns:80px 1fr 80px;gap:1rem;align-items:end}@media(max-width:600px){.hifz-position-grid{grid-template-columns:1fr}}.hifz-form-group{display:flex;flex-direction:column;gap:.375rem}.hifz-form-group label{font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.hifz-select{padding:.625rem .75rem;border:1px solid var(--border-gray);border-radius:8px;font-size:.875rem;background:var(--bg-white);color:var(--text-primary);transition:border-color .15s ease,box-shadow .15s ease}.hifz-select:focus{outline:none;border-color:var(--info);box-shadow:0 0 0 3px #3b82f626}.hifz-select:disabled{background:var(--bg-gray-100);color:var(--text-muted);cursor:not-allowed}.hifz-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1.25rem;margin-top:.5rem;border-top:1px solid var(--border-light)}.hifz-modal-footer .hifz-btn{padding:.625rem 1.25rem}.hifz-modal-footer .hifz-btn-primary:disabled{opacity:.6;cursor:not-allowed}.hifz-add-student-form{padding:.5rem 0}.hifz-student-selection-section{margin-top:1.5rem;padding:1.25rem;background:var(--bg-gray-50);border-radius:12px;border:1px solid var(--border-light)}.hifz-student-selection-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.hifz-student-search-inline{width:200px;padding:.5rem .75rem;border:1px solid var(--border-gray);border-radius:8px;font-size:.875rem;transition:border-color .15s ease,box-shadow .15s ease}.hifz-student-search-inline:focus{outline:none;border-color:var(--info);box-shadow:0 0 0 3px #3b82f626}.hifz-student-cards-container{max-height:320px;overflow-y:auto;border:1px solid var(--border-light);border-radius:10px;background:var(--bg-white);padding:.75rem}.hifz-student-cards-loading,.hifz-student-cards-empty{padding:2rem;text-align:center;color:var(--text-secondary);font-size:.875rem}.hifz-student-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.625rem}.hifz-student-card{display:flex;align-items:center;gap:.625rem;padding:.625rem .75rem;background:var(--bg-gray-50);border:2px solid var(--border-light);border-radius:8px;cursor:pointer;transition:all .15s ease;text-align:left}.hifz-student-card:hover{border-color:var(--text-muted);background:var(--bg-white)}.hifz-student-card.active{border-color:var(--success);background:var(--badge-success-bg);box-shadow:0 0 0 2px #22c55e26}.hifz-student-card-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--text-muted) 0%,var(--text-secondary) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.75rem;flex-shrink:0}.hifz-student-card.active .hifz-student-card-avatar{background:linear-gradient(135deg,var(--success) 0%,#16a34a 100%)}.hifz-student-card-name{flex:1;font-weight:500;font-size:.8125rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hifz-student-card.active .hifz-student-card-name{color:var(--badge-success-fg)}.hifz-student-card-check{width:20px;height:20px;border-radius:50%;background:var(--border-light);display:flex;align-items:center;justify-content:center;font-size:.625rem;font-weight:700;color:transparent;flex-shrink:0;transition:all .15s ease}.hifz-student-card.active .hifz-student-card-check{background:var(--success);color:#fff}.hifz-assign-form{padding:.5rem 0}.hifz-assign-student-info{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-gray-50);border-radius:10px;margin-bottom:1.5rem}.hifz-assign-student-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--info) 0%,#1d4ed8 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem;flex-shrink:0}.hifz-assign-student-name{font-weight:600;font-size:1.0625rem;color:var(--text-primary)}.hifz-assign-current-teacher{font-size:.875rem;color:var(--text-secondary);margin-top:.125rem}.hifz-teacher-section{padding:1.25rem;background:var(--bg-gray-50);border-radius:12px;border:1px solid var(--border-light)}.hifz-teacher-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.hifz-teacher-card{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:var(--bg-white);border:2px solid var(--border-light);border-radius:10px;cursor:pointer;transition:all .2s ease;text-align:left}.hifz-teacher-card:hover{border-color:var(--text-muted);background:var(--bg-gray-50)}.hifz-teacher-card.active{border-color:var(--success);background:var(--badge-success-bg);box-shadow:0 0 0 3px #22c55e26}.hifz-teacher-card-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--text-muted) 0%,var(--text-secondary) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;flex-shrink:0}.hifz-teacher-card.active .hifz-teacher-card-avatar{background:linear-gradient(135deg,var(--success) 0%,#16a34a 100%)}.hifz-teacher-card-info{flex:1;min-width:0}.hifz-teacher-card-name{font-weight:600;font-size:.9375rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hifz-teacher-card.active .hifz-teacher-card-name{color:var(--badge-success-fg)}.hifz-teacher-card-count{font-size:.8125rem;color:var(--text-secondary);margin-top:.125rem}.hifz-teacher-card.active .hifz-teacher-card-count{color:var(--success)}.hifz-teacher-card-check{width:24px;height:24px;border-radius:50%;background:var(--border-light);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:transparent;flex-shrink:0;transition:all .2s ease}.hifz-teacher-card.active .hifz-teacher-card-check{background:var(--success);color:#fff}.hifz-no-teachers{text-align:center;color:var(--text-secondary);font-size:.875rem;padding:2rem}.hifz-remove-confirm{padding:1.5rem;text-align:center}.hifz-remove-warning-icon{width:56px;height:56px;margin:0 auto 1rem;background:var(--badge-error-bg);border-radius:50%;display:flex;align-items:center;justify-content:center}.hifz-remove-warning-icon span{font-size:1.75rem;font-weight:700;color:var(--error)}.hifz-remove-message{font-size:1rem;color:var(--text-primary);margin-bottom:.75rem}.hifz-remove-message strong{color:var(--text-primary)}.hifz-remove-note{font-size:.875rem;color:var(--text-secondary);background:var(--bg-gray-50);padding:.75rem;border-radius:6px;margin-top:.5rem}.teacher-attendance-list{display:flex;flex-direction:column;gap:.5rem}.teacher-attendance-card{background:var(--bg-white);border:1px solid var(--border-light, #e5e7eb);border-radius:var(--radius-md, 6px);overflow:hidden}.teacher-attendance-row{display:flex;align-items:center;gap:1rem;padding:.875rem 1rem}.teacher-entry-breakdown{display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem 1rem .75rem;border-top:1px solid var(--border-light, #e5e7eb);background:var(--bg-secondary, #f9fafb)}.entry-type-badge{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:10px;font-size:.75rem;font-weight:600;background:#eef2ff;color:#4338ca}.entry-type-badge.entry-type-zero{background:var(--bg-gray-100);color:var(--text-muted)}.teacher-att-name{flex:1;font-weight:600;color:var(--text-primary, #1f2937);min-width:0}.teacher-att-status{flex-shrink:0}.att-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600}.att-confirmed{background:var(--badge-success-bg);color:var(--badge-success-fg);border:1px solid #a7f3d0}.att-late{background:var(--badge-warning-bg);color:var(--badge-warning-fg);border:1px solid #fde68a;cursor:help}.att-not-confirmed{background:var(--bg-gray-100);color:var(--text-secondary);border:1px solid var(--bg-gray-200)}.teacher-att-students,.teacher-att-entries{font-size:.875rem;color:var(--text-secondary, #6b7280);white-space:nowrap}@media(max-width:640px){.teacher-attendance-row{flex-wrap:wrap;gap:.5rem}.teacher-att-name{width:100%}.teacher-entry-breakdown{gap:.375rem}.entry-type-badge{font-size:.6875rem}}.hifz-date-picker-wrapper{display:flex;align-items:center}.hifz-date-input{padding:.5rem .75rem;border:1px solid var(--border-gray, #d1d5db);border-radius:var(--radius-md, 6px);font-size:.875rem;background:var(--bg-white);color:var(--text-primary, #1f2937);cursor:pointer}.hifz-date-input:focus{outline:none;border-color:var(--primary-blue, #3b82f6);box-shadow:0 0 0 3px #3b82f626}.hifz-empty-state{padding:2rem;text-align:center;color:var(--text-secondary, #6b7280);background:var(--bg-gray-50, #f9fafb);border-radius:var(--radius-md, 6px);border:1px dashed var(--border-light, #e5e7eb)}.hifz-empty-state p{margin:0;font-size:.9375rem}.hifz-view-all-link{font-size:.875rem;font-weight:500;color:var(--primary-blue, #3b82f6);text-decoration:none;transition:color .15s ease}.hifz-view-all-link:hover{color:var(--info);text-decoration:underline}.testing-banner{background:var(--badge-warning-bg);border:1px solid #fbbf24;border-radius:var(--radius-md, 6px);padding:1rem 1.25rem}.testing-banner-header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.75rem}.testing-banner-icon{font-size:1.5rem;line-height:1;flex-shrink:0}.testing-banner-title{font-weight:600;font-size:1rem;color:var(--badge-warning-fg)}.testing-banner-subtitle{font-size:.8125rem;color:#a16207;margin-top:.125rem;line-height:1.4}.readiness-badge{display:inline-block;padding:.125rem .5rem;border-radius:10px;font-size:.75rem;font-weight:600;margin-left:.5rem}.readiness-badge.ready{background:var(--badge-success-bg);color:var(--badge-success-fg)}.readiness-badge.not_ready{background:var(--badge-error-bg);color:var(--badge-error-fg)}.testing-banner-actions{display:flex;gap:.5rem;flex-wrap:wrap}.testing-btn{padding:.5rem 1rem;border:none;border-radius:6px;cursor:pointer;font-weight:500;font-size:.875rem;transition:opacity .15s}.testing-btn:disabled{opacity:.6;cursor:not-allowed}.testing-btn-ready{background:var(--success);color:#fff}.testing-btn-ready:hover:not(:disabled){background:var(--success)}.testing-btn-complete{background:var(--info);color:#fff}.testing-btn-complete:hover:not(:disabled){background:var(--info)}.testing-btn-not-ready{background:var(--bg-gray-100);color:var(--text-secondary);border:1px solid var(--border-gray)}.testing-btn-not-ready:hover:not(:disabled){background:var(--bg-gray-200)}.testing-form{background:var(--bg-white);border:1px solid var(--bg-gray-200);border-radius:8px;padding:1rem}.testing-form-row{display:flex;gap:1rem;align-items:flex-start;margin-bottom:.75rem}.testing-form-row .rating-group{flex:1 1 0%;border-left:2px solid var(--border-gray, #e5e7eb);padding-left:1rem}.testing-form-row .result-group{flex:0 0 auto}.testing-form .form-group{margin-bottom:.75rem}.testing-form-actions{display:flex;gap:.5rem;margin-top:.75rem}.pass-fail-toggle{display:flex;gap:.5rem}.toggle-btn{padding:.5rem 1.5rem;border:2px solid var(--border-gray, #d1d5db);background:var(--bg-white);border-radius:6px;cursor:pointer;transition:all .2s;font-weight:500}.toggle-btn.active.pass{background:var(--badge-success-bg);border-color:var(--success);color:var(--badge-success-fg)}.toggle-btn.active.fail{background:var(--badge-error-bg);border-color:var(--error);color:var(--badge-error-fg)}.rating-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.rating-btn{padding:.5rem 1rem;border:2px solid var(--border-gray, #d1d5db);background:var(--bg-white);border-radius:6px;cursor:pointer;transition:all .2s;font-weight:500}.rating-btn:hover{border-color:var(--primary-blue, #3b82f6)}.rating-btn.active.perfect{background:var(--hifz-perfect-bg);border-color:var(--success);color:var(--hifz-perfect-fg)}.rating-btn.active.good{background:var(--hifz-good-bg);border-color:var(--info);color:var(--hifz-good-fg)}.rating-btn.active.acceptable{background:var(--hifz-acceptable-bg);border-color:var(--warning);color:var(--hifz-acceptable-fg)}.rating-btn.active.poor{background:var(--hifz-poor-bg);border-color:var(--error);color:var(--hifz-poor-fg)}.juz-skip-section{border-top:1px solid var(--bg-gray-200);padding-top:.625rem;margin-top:.75rem}.juz-skip-toggle{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:.8125rem;text-decoration:underline;padding:0}.juz-skip-toggle:hover{color:var(--text-primary)}.juz-skip-form{margin-top:.625rem;display:flex;flex-direction:column;gap:.5rem}.juz-skip-form .form-group{margin-bottom:0}.juz-skip-form select{width:100%}.juz-action-btn{width:100%;padding:.75rem 1rem;font-size:.9375rem;border-radius:8px;cursor:pointer;font-weight:500;text-align:center}.juz-action-btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:640px){.testing-banner-actions,.testing-form-row{flex-direction:column}.testing-form-row .rating-group{border-left:none;padding-left:0;border-top:2px solid var(--border-gray, #e5e7eb);padding-top:.75rem}.rating-buttons{flex-wrap:wrap}.rating-btn{flex:1;min-width:0;text-align:center}}.hifz-unassigned-warning{background:var(--badge-warning-bg)}.hifz-unassigned-note{background:var(--badge-warning-bg);color:var(--badge-warning-fg);padding:.75rem;border-radius:6px;font-size:.875rem}.weekly-page-title{font-size:1.25rem;font-weight:700;color:var(--text-primary, #1e293b);margin:0 0 1rem}.weekly-page-subtitle{display:block;font-size:.8125rem;font-weight:400;color:var(--text-secondary, #64748b);margin-top:.125rem}.weekly-header-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--bg-gray-200)}.weekly-header-bar-left{display:flex;align-items:center;gap:.75rem;min-width:0}.weekly-header-back{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;border-radius:10px;background:var(--bg-gray-100);cursor:pointer;color:var(--text-secondary);flex-shrink:0;transition:background .15s,color .15s;padding:0;line-height:0}.weekly-header-back:hover{background:var(--bg-gray-200);color:var(--text-primary)}.weekly-header-avatar{width:44px;height:44px;border-radius:50%;background:var(--success);color:var(--text-white);display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;flex-shrink:0;text-transform:uppercase}.weekly-header-bar-info{display:flex;flex-direction:column;gap:.125rem;min-width:0}.weekly-header-bar-name{font-size:1.125rem;font-weight:700;color:var(--text-primary);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.weekly-header-bar-track{font-size:.8125rem;color:var(--text-secondary);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.weekly-header-bar-right{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.weekly-header-bar-nav{display:flex;align-items:center;gap:0;border:1px solid var(--bg-gray-200);border-radius:8px;overflow:hidden}.weekly-header-nav-arrow{display:flex;align-items:center;justify-content:center;width:32px;height:36px;border:none;background:transparent;cursor:pointer;font-size:1.25rem;color:var(--text-secondary);transition:background .15s,color .15s;flex-shrink:0}.weekly-header-nav-arrow:hover{background:var(--bg-gray-100);color:var(--text-primary)}.weekly-header-nav-range{padding:.375rem .75rem;font-size:.875rem;font-weight:600;color:var(--text-primary);cursor:pointer;white-space:nowrap;border-left:1px solid var(--bg-gray-200);border-right:1px solid var(--bg-gray-200);transition:color .15s}.weekly-header-nav-range:hover{color:var(--info)}.weekly-header-edit-btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;background:var(--info);color:var(--text-white);border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s}.weekly-header-edit-btn:hover{background:var(--info)}.weekly-nav{display:flex;align-items:center;justify-content:center;gap:0;border:1px solid var(--bg-gray-200);border-radius:10px;background:var(--bg-white);margin-bottom:1.25rem;overflow:hidden}.weekly-nav-arrow{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;background:transparent;cursor:pointer;font-size:1.5rem;color:var(--text-secondary);transition:background .15s,color .15s;flex-shrink:0}.weekly-nav-arrow:hover{background:var(--bg-gray-100);color:var(--text-primary)}.weekly-nav-range{flex:1;text-align:center;padding:.5rem 1rem;font-size:.9375rem;font-weight:600;color:var(--text-primary);cursor:pointer;white-space:nowrap;transition:color .15s}.weekly-nav-range:hover{color:var(--info)}.weekly-unified-card{background:var(--bg-white);border:1px solid var(--bg-gray-200);border-radius:12px;overflow:hidden;margin-bottom:1.5rem}.testing-banners-container{padding:.75rem 1rem;display:flex;flex-direction:column;gap:.75rem;border-bottom:1px solid var(--bg-gray-200)}.weekly-stats-bar{display:grid;grid-template-columns:1fr 1fr 1fr 2fr;gap:.5rem;padding:1rem;border-bottom:1px solid var(--bg-gray-200)}.weekly-stat-quality{align-items:stretch}.weekly-stat-quality-row{display:flex;flex-wrap:wrap;gap:.375rem;justify-content:center;margin-bottom:.25rem}.weekly-stat-quality-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;border-radius:999px;font-size:.85rem;font-weight:600;background:var(--bg-gray-100);color:var(--text-primary)}.weekly-stat-quality-chip.weekly-stat-perfect{background:var(--hifz-perfect-bg);color:var(--hifz-perfect-fg)}.weekly-stat-quality-chip.weekly-stat-good{background:var(--hifz-good-bg);color:var(--hifz-good-fg)}.weekly-stat-quality-chip.weekly-stat-acceptable{background:var(--hifz-acceptable-bg);color:var(--hifz-acceptable-fg)}.weekly-stat-quality-chip.weekly-stat-poor{background:var(--hifz-poor-bg);color:var(--hifz-poor-fg)}.weekly-stat-quality-dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.6}.weekly-badge-prefix{font-weight:400;opacity:.7;margin-right:.125rem}.weekly-stat-card{display:flex;flex-direction:column;align-items:center;padding:.75rem .25rem;border-radius:10px;border:1px solid transparent;transition:box-shadow .15s,transform .15s}.weekly-stat-card:hover{box-shadow:0 2px 8px #00000014;transform:translateY(-1px)}.weekly-stat-value{font-size:1.375rem;font-weight:700;line-height:1;margin-bottom:.25rem}.weekly-stat-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.weekly-stat-days{background:var(--bg-gray-100);border-color:var(--border-light)}.weekly-stat-days .weekly-stat-value,.weekly-stat-days .weekly-stat-label{color:var(--text-secondary)}.weekly-stat-pass{background:var(--badge-success-bg);border-color:#bbf7d0}.weekly-stat-pass .weekly-stat-value,.weekly-stat-pass .weekly-stat-label{color:var(--success)}.weekly-stat-fail{background:var(--badge-error-bg);border-color:#fecaca}.weekly-stat-fail .weekly-stat-value,.weekly-stat-fail .weekly-stat-label{color:var(--error)}.weekly-stat-memorized{background:#eef2ff;border-color:#c7d2fe}.weekly-stat-memorized .weekly-stat-value{color:#4f46e5}.weekly-stat-memorized .weekly-stat-label{color:#4338ca}.weekly-stat-perfect{background:var(--hifz-perfect-bg);border-color:#99f6e4}.weekly-stat-perfect .weekly-stat-value,.weekly-stat-perfect .weekly-stat-label{color:var(--hifz-perfect-fg)}.weekly-stat-good{background:var(--hifz-good-bg);border-color:#bae6fd}.weekly-stat-good .weekly-stat-value,.weekly-stat-good .weekly-stat-label{color:var(--hifz-good-fg)}.weekly-stat-acceptable{background:var(--hifz-acceptable-bg);border-color:#fde68a}.weekly-stat-acceptable .weekly-stat-value,.weekly-stat-acceptable .weekly-stat-label{color:var(--hifz-acceptable-fg)}.weekly-stat-poor{background:var(--hifz-poor-bg);border-color:#fecdd3}.weekly-stat-poor .weekly-stat-value,.weekly-stat-poor .weekly-stat-label{color:var(--hifz-poor-fg)}.weekly-grid-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.weekly-grid-table{width:100%;border-collapse:collapse;min-width:800px;background:var(--bg-white)}.weekly-grid-table thead{background:var(--bg-gray-50)}.weekly-grid-day-header{padding:.375rem .5rem;text-align:center;vertical-align:middle;border-bottom:1px solid var(--bg-gray-200);border-right:1px solid var(--bg-gray-100);min-width:100px}.weekly-grid-day-header:last-child{border-right:none}.weekly-grid-day-today{background:#22c55e0d}.weekly-col-day{display:block;font-size:.625rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.125rem}.weekly-col-num{display:inline-flex;align-items:center;justify-content:center;font-size:.9375rem;font-weight:700;color:var(--text-primary);width:26px;height:26px;border-radius:50%;line-height:1}.weekly-col-num-today{background:var(--success);color:#fff}.weekly-today-label{display:block;font-size:.5625rem;font-weight:700;color:var(--success);text-transform:uppercase;letter-spacing:.06em;margin-top:.125rem}[data-theme=dark] .weekly-col-num-today{background:var(--badge-success-bg);color:var(--badge-success-fg)}[data-theme=dark] .weekly-today-label{color:var(--badge-success-fg)}.weekly-att-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-top:.25rem}.weekly-att-present{background:var(--success)}.weekly-att-absent{background:var(--error)}.weekly-att-late{background:var(--warning)}.weekly-att-excused{background:var(--info)}.weekly-cell-type-label{display:flex;align-items:center;gap:.625rem;margin-bottom:.5rem;font-size:.8125rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.02em}.weekly-type-dot{position:relative;width:8px;height:8px;border-radius:50%;flex-shrink:0}.weekly-type-dot:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:18px;height:18px;border-radius:4px}.weekly-dot-new{background:var(--success)}.weekly-dot-new:before{background:#22c55e26}.weekly-dot-revision{background:var(--info)}.weekly-dot-revision:before{background:#3b82f626}[data-theme=dark] .weekly-dot-new:before{background:#34d39959}[data-theme=dark] .weekly-dot-revision:before{background:#60a5fa59}.weekly-grid-cell{padding:.75rem;vertical-align:top;height:180px;border-right:1px solid var(--bg-gray-100);border-bottom:1px solid var(--bg-gray-200)}.weekly-grid-row{height:auto}.weekly-grid-cell:last-child{border-right:none}.weekly-grid-cell-today{background:#22c55e0d}.weekly-grid-row:last-child .weekly-grid-cell{border-bottom:none}.weekly-cell-entries{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.5rem}.weekly-entry-card{padding:.5rem .625rem;border-radius:6px;cursor:pointer;display:flex;flex-direction:column;gap:.25rem;transition:opacity .15s,transform .1s;min-height:36px}.weekly-entry-card:hover{opacity:.85;transform:scale(1.02)}.weekly-entry-pass{background:var(--badge-success-bg);border-left:3px solid var(--success)}.weekly-entry-fail{background:var(--badge-error-bg);border-left:3px solid var(--error)}.weekly-entry-pending{background:var(--bg-gray-100);border-left:3px solid var(--text-muted)}.weekly-entry-revision-pass{background:var(--badge-info-bg);border-left:3px solid var(--info)}.weekly-entry-revision-fail{background:var(--badge-error-bg);border-left:3px solid var(--error)}.weekly-entry-revision-pending{background:var(--badge-info-bg);border-left:3px solid #93c5fd}.weekly-entry-label{font-size:.8125rem;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.weekly-entry-badges{display:flex;flex-wrap:wrap;gap:.1875rem}.weekly-entry-badge{display:inline-block;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.125rem .375rem;border-radius:3px;width:-moz-fit-content;width:fit-content}.weekly-badge-pass{background:var(--badge-success-fg);color:#fff}.weekly-badge-fail{background:var(--badge-error-fg);color:#fff}.weekly-badge-revision-pass{background:var(--info);color:#fff}.weekly-badge-revision-fail{background:var(--badge-error-fg);color:#fff}.weekly-badge-perfect{background:#0d9488;color:#fff}.weekly-badge-good{background:#0284c7;color:#fff}.weekly-badge-acceptable{background:var(--warning);color:#fff}.weekly-badge-poor{background:var(--error);color:#fff}.weekly-cell-add{width:100%;padding:.25rem 0;border:1px dashed var(--border-gray);background:transparent;border-radius:4px;font-size:.875rem;color:var(--text-muted);cursor:pointer;transition:all .15s}.weekly-cell-add:hover{border-color:var(--info);color:var(--info);background:var(--badge-info-bg)}.weekly-legend{display:flex;justify-content:center;gap:.75rem;padding:.875rem 1rem;border-top:1px solid var(--bg-gray-200)}.weekly-legend-pill{font-size:.75rem;font-weight:600;padding:.3rem .875rem;border-radius:20px}.weekly-legend-pass{background:var(--badge-success-bg);color:var(--success);border:1px solid #bbf7d0}.weekly-legend-revision{background:var(--badge-info-bg);color:var(--info);border:1px solid #bfdbfe}.weekly-legend-fail{background:var(--badge-error-bg);color:var(--error);border:1px solid #fecaca}.weekly-legend-pending{background:var(--bg-gray-100);color:var(--text-secondary);border:1px solid var(--bg-gray-200)}.weekly-section{background:var(--bg-white);border:1px solid var(--bg-gray-200);border-radius:10px;margin-bottom:.75rem;overflow:hidden}.weekly-section-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;padding:1rem 1.25rem;border:none;background:transparent;cursor:pointer;transition:background .15s;font-family:inherit}.weekly-section-toggle:hover{background:var(--bg-gray-50)}.weekly-section-title{font-size:1.0625rem;font-weight:600;color:var(--text-primary)}.weekly-section-arrow{font-size:.75rem;color:var(--text-muted)}.weekly-section-body{padding:0 1.25rem 1.25rem}.weekly-juz-summary{margin-left:.75rem;font-size:.8125rem;font-weight:400;color:var(--text-secondary)}.weekly-juz-grid-compact{display:grid;grid-template-columns:repeat(15,1fr);gap:3px;margin-bottom:.5rem}@media(max-width:768px){.weekly-juz-grid-compact{grid-template-columns:repeat(10,1fr)}}.weekly-juz-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:4px;font-weight:600;font-size:.625rem;cursor:default;max-width:32px}.weekly-juz-not-started{background:var(--bg-gray-100);color:var(--text-muted)}.weekly-juz-in-progress{background:var(--badge-warning-bg);color:var(--badge-warning-fg)}.weekly-juz-awaiting-test{background:var(--badge-late-bg);color:var(--badge-late-fg)}.weekly-juz-memorized{background:var(--hifz-perfect-bg);color:var(--hifz-perfect-fg)}.weekly-juz-legend{display:flex;flex-wrap:wrap;gap:1rem;font-size:.6875rem;color:var(--text-secondary)}.weekly-juz-legend-item{display:flex;align-items:center;gap:.25rem}.weekly-juz-legend-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0}.weekly-juz-legend-dot.weekly-juz-not-started{background:var(--bg-gray-100);border:1px solid var(--border-gray)}.weekly-juz-legend-dot.weekly-juz-in-progress{background:var(--badge-warning-bg)}.weekly-juz-legend-dot.weekly-juz-awaiting-test{background:var(--badge-late-bg)}.weekly-juz-legend-dot.weekly-juz-memorized{background:var(--hifz-perfect-bg)}@media(max-width:768px){.weekly-header-bar{flex-direction:column;align-items:stretch;gap:.75rem}.weekly-header-bar-right{justify-content:space-between;width:100%}.weekly-stats-bar{grid-template-columns:repeat(4,1fr)}.weekly-grid-table{min-width:800px}}@media(max-width:480px){.weekly-header-bar{padding:.625rem .75rem}.weekly-header-bar-right{flex-direction:column;align-items:stretch;gap:.5rem}.weekly-header-bar-nav{justify-content:center}.weekly-header-edit-btn{text-align:center}.weekly-header-bar-name{font-size:1rem}.weekly-stats-bar{grid-template-columns:repeat(2,1fr)}.weekly-header-nav-range{font-size:.8125rem}}.weekly-grid-day-holiday{background:var(--holiday-bg)}.weekly-holiday-label{display:block;font-size:.65rem;color:var(--holiday-fg);font-weight:600;text-transform:uppercase;letter-spacing:.02em;margin-top:.125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100px}.weekly-grid-cell-holiday{background:var(--holiday-bg-subtle)!important;opacity:.85}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/static/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/static/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/static/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/static/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/static/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/static/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/static/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-sans: "Inter", "Plus Jakarta Sans", "Lato", system-ui, -apple-system, sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--font-xs: 12px;--font-sm: 13px;--font-base: 14px;--font-md: 15px;--font-lg: 16px;--font-xl: 18px;--font-2xl: 20px;--font-3xl: 24px;--font-4xl: 32px;--weight-light: 300;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--z-base: 0;--z-sticky-first: 1;--z-dropdown: 100;--z-sticky: 200;--z-sidebar: 300;--z-overlay: 400;--z-modal: 500;--z-toast: 600;--z-tooltip: 700;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--sidebar-width: 280px;--sidebar-width-tablet: 240px;--sidebar-width-mobile: 70px;--navbar-height: 60px;--content-max-width: 1400px;--scrim: rgba(15, 23, 42, .5);--primary-blue: #3D81DE;--primary-blue-light: #7EABE9;--primary-blue-dark: #2a5ba8;--primary-color: #3D81DE;--primary-hover: #2a5ba8;--bg-navy: #0C1A2C;--bg-navy-light: #1a2942;--bg-white: #ffffff;--bg-gray-50: #f8f9fa;--bg-gray-100: #f1f3f5;--bg-gray-200: #e9ecef;--bg-secondary: #f1f3f5;--bg-tertiary: #e9ecef;--card-bg: #ffffff;--text-primary: #1e293b;--text-secondary: #64748b;--text-muted: #94a3b8;--text-white: #ffffff;--border-light: #e2e8f0;--border-gray: #cbd5e1;--border-color: #e2e8f0;--success: #10b981;--success-color: #10b981;--warning: #D97706;--warning-color: #D97706;--warning-rgb: 217, 119, 6;--error: #ef4444;--error-color: #ef4444;--info: #3b82f6;--badge-success-bg: #d1fae5;--badge-success-fg: #065f46;--badge-warning-bg: #fef3c7;--badge-warning-fg: #92400e;--badge-error-bg: #fee2e2;--badge-error-fg: #991b1b;--badge-info-bg: #dbeafe;--badge-info-fg: #1e40af;--badge-neutral-bg: #f1f3f5;--badge-neutral-fg: #475569;--badge-late-bg: #fed7aa;--badge-late-fg: #9a3412;--grade-a-bg: #d1fae5;--grade-a-fg: #065f46;--grade-b-bg: #dbeafe;--grade-b-fg: #1e40af;--grade-c-bg: #fef3c7;--grade-c-fg: #92400e;--grade-d-bg: #fed7aa;--grade-d-fg: #9a3412;--grade-f-bg: #fee2e2;--grade-f-fg: #991b1b;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--shadow-card: -10px 20px 50px rgba(140, 140, 140, .05);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--hifz-perfect-bg: #d1fae5;--hifz-perfect-fg: #065f46;--hifz-good-bg: #dbeafe;--hifz-good-fg: #1e40af;--hifz-acceptable-bg: #fef3c7;--hifz-acceptable-fg: #92400e;--hifz-poor-bg: #fee2e2;--hifz-poor-fg: #991b1b;--holiday-bg: #f8f5e6;--holiday-bg-subtle: #fdf8e8;--holiday-fg: #b8860b;--holiday-accent: #d4c77b;--stat-card-padding: var(--space-6);--stat-card-icon-size: 60px;--stat-card-icon-radius: var(--radius-lg);--stat-card-value-size: var(--font-3xl);--stat-card-label-size: var(--font-sm);--stat-card-gap: var(--space-4);--error-dark: #dc2626;--primary-blue-darker: #1d4ed8;--text-secondary-dark: #475569;--text-secondary-darker: #334155;color-scheme:light}[data-theme=dark]{--bg-white: #1E293B;--bg-gray-50: #0F172A;--bg-gray-100: #1E293B;--bg-gray-200: #334155;--bg-secondary: #1E293B;--bg-tertiary: #334155;--card-bg: #1E293B;--text-primary: #F1F5F9;--text-secondary: #94A3B8;--text-muted: #94A3B8;--border-light: #334155;--border-gray: #475569;--primary-blue: #5B9BE8;--primary-blue-light: #93BBED;--primary-blue-dark: #3D81DE;--success: #34D399;--warning: #FBBF24;--warning-rgb: 251, 191, 36;--error: #F87171;--info: #60A5FA;--shadow-card: 0 4px 12px rgba(0, 0, 0, .4);--scrim: rgba(0, 0, 0, .6);--badge-success-bg: #064e3b;--badge-success-fg: #a7f3d0;--badge-warning-bg: #451a03;--badge-warning-fg: #fde68a;--badge-error-bg: #450a0a;--badge-error-fg: #fca5a5;--badge-info-bg: #172554;--badge-info-fg: #bfdbfe;--badge-neutral-bg: #334155;--badge-neutral-fg: #cbd5e1;--badge-late-bg: #451a03;--badge-late-fg: #fdba74;--grade-a-bg: #064e3b;--grade-a-fg: #a7f3d0;--grade-b-bg: #172554;--grade-b-fg: #bfdbfe;--grade-c-bg: #451a03;--grade-c-fg: #fde68a;--grade-d-bg: #451a03;--grade-d-fg: #fdba74;--grade-f-bg: #450a0a;--grade-f-fg: #fca5a5;--hifz-perfect-bg: #064e3b;--hifz-perfect-fg: #a7f3d0;--hifz-good-bg: #172554;--hifz-good-fg: #bfdbfe;--hifz-acceptable-bg: #451a03;--hifz-acceptable-fg: #fde68a;--hifz-poor-bg: #450a0a;--hifz-poor-fg: #fca5a5;--holiday-bg: #3a3206;--holiday-bg-subtle: #2a2305;--holiday-fg: #d4c77b;--holiday-accent: #b8860b;--error-dark: #b91c1c;--primary-blue-darker: #2563eb;--text-secondary-dark: #334155;--text-secondary-darker: #1e293b;--m3-neutral-99: #0F172A;--m3-neutral-95: #1E293B;--m3-neutral-90: #334155;--m3-neutral-80: #475569;--m3-neutral-60: #94A3B8;--m3-neutral-40: #CBD5E1;--m3-neutral-20: #E2E8F0;--m3-neutral-10: #F1F5F9;--m3-neutral-99-rgb: 15 23 42;--m3-neutral-95-rgb: 30 41 59;--m3-neutral-90-rgb: 51 65 85;--m3-neutral-80-rgb: 71 85 105;--m3-neutral-60-rgb: 148 163 184;--m3-neutral-40-rgb: 203 213 225;--m3-neutral-20-rgb: 226 232 240;--m3-neutral-10-rgb: 241 245 249;--m3-neutral-variant-95: #1E293B;--m3-neutral-variant-90: #334155;--m3-neutral-variant-60: #94A3B8;--m3-neutral-variant-30: #CBD5E1;--m3-neutral-variant-95-rgb: 30 41 59;--m3-neutral-variant-90-rgb: 51 65 85;--m3-neutral-variant-60-rgb: 148 163 184;--m3-neutral-variant-30-rgb: 203 213 225;color-scheme:dark}td,.stat-card-number,.stat-icon-number,.grade-cell,.grade-value,.tabular{font-variant-numeric:tabular-nums}:root{--m3-primary-99: #F0FDFA;--m3-primary-95: #CCFBF1;--m3-primary-90: #99F6E4;--m3-primary-80: #5EEAD4;--m3-primary-70: #2DD4BF;--m3-primary-60: #14B8A6;--m3-primary-50: #0D9488;--m3-primary-40: #0F766E;--m3-primary-30: #115E59;--m3-primary-20: #134E4A;--m3-primary-10: #042F2E;--m3-primary-99-rgb: 240 253 250;--m3-primary-95-rgb: 204 251 241;--m3-primary-90-rgb: 153 246 228;--m3-primary-80-rgb: 94 234 212;--m3-primary-70-rgb: 45 212 191;--m3-primary-60-rgb: 20 184 166;--m3-primary-50-rgb: 13 148 136;--m3-primary-40-rgb: 15 118 110;--m3-primary-30-rgb: 17 94 89;--m3-primary-20-rgb: 19 78 74;--m3-primary-10-rgb: 4 47 46;--m3-secondary-99: #FFFBEB;--m3-secondary-95: #FEF3C7;--m3-secondary-90: #FDE68A;--m3-secondary-80: #FCD34D;--m3-secondary-70: #FBBF24;--m3-secondary-60: #D4A24C;--m3-secondary-50: #B8860B;--m3-secondary-40: #92651B;--m3-secondary-30: #713F12;--m3-secondary-20: #422006;--m3-secondary-99-rgb: 255 251 235;--m3-secondary-95-rgb: 254 243 199;--m3-secondary-90-rgb: 253 230 138;--m3-secondary-80-rgb: 252 211 77;--m3-secondary-70-rgb: 251 191 36;--m3-secondary-60-rgb: 212 162 76;--m3-secondary-50-rgb: 184 134 11;--m3-secondary-40-rgb: 146 101 27;--m3-secondary-30-rgb: 113 63 18;--m3-secondary-20-rgb: 66 32 6;--m3-tertiary-95: #F0FDF4;--m3-tertiary-90: #DCFCE7;--m3-tertiary-70: #86EFAC;--m3-tertiary-40: #15803D;--m3-tertiary-95-rgb: 240 253 244;--m3-tertiary-90-rgb: 220 252 231;--m3-tertiary-70-rgb: 134 239 172;--m3-tertiary-40-rgb: 21 128 61;--m3-neutral-99: #FAFAF9;--m3-neutral-95: #F5F5F4;--m3-neutral-90: #E7E5E4;--m3-neutral-80: #D6D3D1;--m3-neutral-60: #78716C;--m3-neutral-40: #44403C;--m3-neutral-20: #292524;--m3-neutral-10: #1C1917;--m3-neutral-99-rgb: 250 250 249;--m3-neutral-95-rgb: 245 245 244;--m3-neutral-90-rgb: 231 229 228;--m3-neutral-80-rgb: 214 211 209;--m3-neutral-60-rgb: 120 113 108;--m3-neutral-40-rgb: 68 64 60;--m3-neutral-20-rgb: 41 37 36;--m3-neutral-10-rgb: 28 25 23;--m3-neutral-variant-95: #F1F5F4;--m3-neutral-variant-90: #E2E8E5;--m3-neutral-variant-60: #707870;--m3-neutral-variant-30: #3A3F3B;--m3-neutral-variant-95-rgb: 241 245 244;--m3-neutral-variant-90-rgb: 226 232 229;--m3-neutral-variant-60-rgb: 112 120 112;--m3-neutral-variant-30-rgb: 58 63 59;--m3-error-95: #FEF2F2;--m3-error-50: #DC2626;--m3-error-40: #991B1B;--m3-error-95-rgb: 254 242 242;--m3-error-50-rgb: 220 38 38;--m3-error-40-rgb: 153 27 27;--m3-ease-emphasized: cubic-bezier(.2, 0, 0, 1);--m3-ease-emphasized-decelerate: cubic-bezier(.05, .7, .1, 1);--m3-ease-standard: cubic-bezier(.2, 0, 0, 1);--m3-ease-decelerate: cubic-bezier(0, 0, 0, 1);--m3-ease-accelerate: cubic-bezier(.3, 0, 1, 1);--m3-duration-short: .2s;--m3-duration-medium: .4s;--m3-duration-long: .7s;--m3-duration-extra-long: 1.2s;--m3-radius-xs: 8px;--m3-radius-sm: 12px;--m3-radius-md: 20px;--m3-radius-lg: 28px;--m3-radius-xl: 36px;--m3-radius-pill: 9999px;--m3-display-lg: 72px;--m3-display-lg-lh: 80px;--m3-display-lg-weight: 800;--m3-display-md: 56px;--m3-display-md-lh: 64px;--m3-display-md-weight: 800;--m3-display-sm: 48px;--m3-display-sm-lh: 56px;--m3-display-sm-weight: 700;--m3-headline-lg: 40px;--m3-headline-lg-lh: 48px;--m3-headline-lg-weight: 700;--m3-headline-md: 32px;--m3-headline-md-lh: 40px;--m3-headline-md-weight: 700;--m3-headline-sm: 24px;--m3-headline-sm-lh: 32px;--m3-headline-sm-weight: 600;--m3-title-lg: 20px;--m3-title-lg-lh: 28px;--m3-title-lg-weight: 600;--m3-title-md: 18px;--m3-title-md-lh: 26px;--m3-title-md-weight: 600;--m3-title-sm: 16px;--m3-title-sm-lh: 24px;--m3-title-sm-weight: 600;--m3-body-lg: 18px;--m3-body-lg-lh: 28px;--m3-body-lg-weight: 400;--m3-body-md: 16px;--m3-body-md-lh: 24px;--m3-body-md-weight: 400;--m3-body-sm: 14px;--m3-body-sm-lh: 20px;--m3-body-sm-weight: 400;--m3-label-lg: 14px;--m3-label-lg-lh: 20px;--m3-label-lg-weight: 500;--m3-label-lg-ls: .04em;--m3-label-md: 12px;--m3-label-md-lh: 16px;--m3-label-md-weight: 500;--m3-label-sm: 12px;--m3-label-sm-lh: 16px;--m3-label-sm-weight: 500;--m3-label-sm-ls: .04em;--m3-arabic-hero: 56px;--m3-arabic-hero-lh: 68px;--m3-arabic-hero-weight: 600;--font-arabic: "Noto Naskh Arabic", "Segoe UI", "Geeza Pro", system-ui, sans-serif}:focus-visible{outline:none;box-shadow:0 0 0 3px #3d81de59;border-radius:inherit}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px #3d81de59}.btn-primary:focus-visible{outline:none;box-shadow:0 0 0 3px #fff9,0 0 0 5px #3d81de80}.card-stat,.stat-card,.admin-stat-card{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-card);display:flex;align-items:center;gap:var(--space-4);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.card-stat--clickable,.card-stat--clickable:hover,.card-stat.is-clickable:hover{cursor:pointer}.card-stat--clickable:hover,.card-stat.is-clickable:hover{border-color:var(--primary-blue);box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-widget,.admin-widget-card,.section{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-card)}.card-widget--no-padding,.section--bleed{padding:0}.card-widget__header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-light)}.card-widget__body{padding:var(--space-6)}.card-widget__footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-light)}.card-row,.school-card,.class-card,.assignment-preview-card,.grade-preview-card,.form-card{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6);box-shadow:var(--shadow-card);cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.card-row:hover,.school-card:hover,.class-card:hover,.assignment-preview-card:hover,.grade-preview-card:hover,.form-card:hover{border-color:var(--primary-blue);box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-row:active,.school-card:active,.class-card:active,.assignment-preview-card:active,.grade-preview-card:active,.form-card:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.card-row--static,.card-row--static:hover,.card-row--static:active{cursor:default;transform:none;border-color:var(--border-light);box-shadow:var(--shadow-card)}.card-action,.action-card{background:transparent;border:1px dashed var(--border-gray);border-radius:var(--radius-lg);padding:var(--space-5);cursor:pointer;transition:border-color var(--transition-fast),border-style var(--transition-fast),background-color var(--transition-fast)}.card-action:hover,.action-card:hover{border-style:solid;border-color:var(--primary-blue);background-color:#3d81de0a}[data-theme=dark] .card-action:hover,[data-theme=dark] .action-card:hover{background-color:#5b9be814}.card-action--disabled,.card-action--disabled:hover{cursor:not-allowed;opacity:.5;border-style:dashed;border-color:var(--border-gray);background-color:transparent}@media(max-width:768px){.table-r0-collapse thead{display:none}.table-r0-collapse,.table-r0-collapse tbody,.table-r0-collapse tr,.table-r0-collapse td{display:block;width:100%}.table-r0-collapse tr{margin-bottom:12px;border:1px solid var(--border-light);border-radius:var(--radius-md);padding:12px;background:var(--card-bg)}.table-r0-collapse td{padding:6px 0;border:none;text-align:left}.table-r0-collapse td:before{content:attr(data-label);display:block;font-size:var(--font-xs);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.02em;margin-bottom:2px}.table-r0-collapse td:empty:before,.table-r0-collapse td:not([data-label]):before{content:none}}.table-container{overflow-x:auto;border:1px solid var(--border-light);border-radius:var(--radius-lg);background:var(--card-bg)}.data-table{width:100%;border-collapse:collapse;font-size:var(--font-sm)}.data-table th{position:sticky;top:0;z-index:var(--z-sticky);padding:var(--space-3) var(--space-4);text-align:left;font-size:var(--font-xs);font-weight:var(--weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.02em;background:var(--bg-gray-50);border-bottom:1px solid var(--border-light);white-space:nowrap}.data-table th.col-numeric,.data-table td.col-numeric{text-align:right}.data-table th.col-status,.data-table td.col-status{text-align:center}.data-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-light);color:var(--text-primary);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--bg-gray-100);transition:background var(--transition-fast)}.data-table--zebra tbody tr:nth-child(odd){background:var(--bg-gray-50)}.data-table--zebra tbody tr:nth-child(2n){background:var(--card-bg)}.data-table--zebra tbody tr:hover{background:var(--bg-gray-100)}.data-table--dense th,.data-table--dense td{padding:var(--space-2) var(--space-3);font-size:var(--font-xs)}.data-table th.is-sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.data-table th.is-sortable:hover{background:var(--bg-gray-100);transition:background var(--transition-fast)}.data-table__sort{display:inline-flex;align-items:center;gap:var(--space-1);background:transparent;border:none;padding:0;margin:0;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}.data-table th.is-sortable .data-table__sort svg,.data-table th[aria-sort] .data-table__sort svg{color:var(--text-muted);flex-shrink:0}.data-table th[aria-sort=ascending] .data-table__sort svg,.data-table th[aria-sort=descending] .data-table__sort svg{color:var(--primary-blue)}.data-table th[aria-sort=ascending],.data-table th[aria-sort=descending]{color:var(--primary-blue)}.data-table--sticky-first th:first-child,.data-table--sticky-first td:first-child{position:sticky;left:0;z-index:var(--z-sticky-first);background:var(--card-bg)}.data-table--sticky-first th:first-child{background:var(--bg-gray-50);z-index:var(--z-sticky, 200)}.data-table--zebra.data-table--sticky-first tbody tr:nth-child(odd) td:first-child{background:var(--bg-gray-50)}.data-table--zebra.data-table--sticky-first tbody tr:nth-child(2n) td:first-child{background:var(--card-bg)}.data-table--sticky-first tbody tr:hover td:first-child{background:var(--bg-gray-100)}@media(prefers-reduced-motion:reduce){.data-table tbody tr{transition:none}}input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],input[type=date],input[type=datetime-local],input[type=tel],input[type=url],input[type=time],select,textarea{background:var(--bg-white);color:var(--text-primary);border:1px solid var(--border-gray);border-radius:var(--radius-md);font-family:inherit;font-size:var(--font-base);line-height:1.4;transition:border-color var(--transition-fast),background var(--transition-fast)}input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],input[type=date],input[type=datetime-local],input[type=tel],input[type=url],input[type=time]{padding:var(--space-2) var(--space-3);min-height:40px}select{padding:var(--space-2) var(--space-8) var(--space-2) var(--space-3);min-height:40px;padding-right:var(--space-8)!important}textarea{padding:var(--space-2) var(--space-3);min-height:100px;resize:vertical}input[type=text]:disabled,input[type=email]:disabled,input[type=password]:disabled,input[type=number]:disabled,input[type=search]:disabled,input[type=date]:disabled,input[type=datetime-local]:disabled,input[type=tel]:disabled,input[type=url]:disabled,input[type=time]:disabled,select:disabled,textarea:disabled{background:var(--bg-gray-100);color:var(--text-muted);cursor:not-allowed}input::-moz-placeholder,textarea::-moz-placeholder{color:var(--text-muted);opacity:1}input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:1}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true],.form-input--error,input.form-input--error,select.form-input--error,textarea.form-input--error{border-color:var(--error)}.form-label{display:block;font-size:var(--font-sm);font-weight:var(--weight-medium);color:var(--text-primary);margin-bottom:var(--space-1);line-height:1.4}.required-asterisk{color:var(--error);margin-left:2px;font-weight:var(--weight-semibold)}.required-text{color:var(--text-muted);font-weight:var(--weight-normal);font-size:var(--font-xs);margin-left:var(--space-1)}.form-help{display:block;font-size:var(--font-xs);font-weight:var(--weight-normal);color:var(--text-secondary);margin-top:var(--space-1);line-height:1.4}.form-error{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-xs);font-weight:var(--weight-medium);color:var(--error);margin-top:var(--space-1);line-height:1.4}.form-success{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-xs);font-weight:var(--weight-medium);color:var(--success);margin-top:var(--space-1);line-height:1.4}.checkbox-row,.radio-row{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-base);font-weight:var(--weight-normal);color:var(--text-primary);cursor:pointer}.checkbox-row input[type=checkbox],.radio-row input[type=radio]{flex-shrink:0;width:18px;height:18px;margin:0;cursor:pointer;accent-color:var(--primary-blue)}.checkbox-row input[type=checkbox]:disabled,.radio-row input[type=radio]:disabled,.checkbox-row input[type=checkbox]:disabled+*,.radio-row input[type=radio]:disabled+*{cursor:not-allowed;color:var(--text-muted)}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:var(--font-xs);font-weight:var(--weight-medium);line-height:1.4;white-space:nowrap;vertical-align:middle;background:var(--badge-neutral-bg);color:var(--badge-neutral-fg)}.badge--success,.badge-success{background:var(--badge-success-bg);color:var(--badge-success-fg)}.badge--warning,.badge-warning{background:var(--badge-warning-bg);color:var(--badge-warning-fg)}.badge--error,.badge--danger,.badge-error,.badge-danger{background:var(--badge-error-bg);color:var(--badge-error-fg)}.badge--info,.badge-info{background:var(--badge-info-bg);color:var(--badge-info-fg)}.badge--neutral,.badge-neutral{background:var(--badge-neutral-bg);color:var(--badge-neutral-fg)}.badge--late,.badge-late{background:var(--badge-late-bg);color:var(--badge-late-fg)}.badge--sm{padding:2px 8px;font-size:10px;gap:4px}.badge--lg{padding:6px 14px;font-size:var(--font-sm);font-weight:var(--weight-semibold);gap:8px}.badge svg{flex-shrink:0;color:currentColor}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);background:var(--bg-gray-50);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{display:flex;min-height:100vh;background:var(--bg-gray-50)}.main-content{flex:1;margin-left:280px;min-height:100vh;background:var(--bg-gray-50);transition:margin-left .3s ease;overflow-x:hidden;max-width:calc(100vw - 280px);box-sizing:border-box;display:flex;flex-direction:column}.main-content-inner{flex:1;padding:32px;box-sizing:border-box;min-width:0}.main-content-full{flex:1;min-height:100vh;background:var(--bg-gray-50);padding:0}.loading{display:flex;align-items:center;justify-content:center;min-height:400px;font-size:18px;color:var(--text-secondary);font-weight:500}.error-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;padding:40px;text-align:center}.error-page h1{font-size:72px;font-weight:700;color:var(--primary-blue);margin-bottom:16px}.error-page p{font-size:18px;color:var(--text-secondary)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-10) var(--space-6);color:var(--text-secondary);font-size:16px;font-style:normal}.empty-state-page{min-height:320px;padding:var(--space-12) var(--space-6)}.empty-state-widget{min-height:80px;padding:var(--space-4) var(--space-3);gap:var(--space-2)}.empty-state-icon{color:var(--text-muted);margin-bottom:var(--space-4)}.empty-state-widget .empty-state-icon{margin-bottom:var(--space-2)}.empty-state-title{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 var(--space-2) 0;line-height:1.3}.empty-state-widget .empty-state-title{font-size:14px;font-weight:500;margin-bottom:0}.empty-state-description{font-size:14px;color:var(--text-secondary);margin:0 0 var(--space-6) 0;max-width:420px;line-height:1.5}.empty-state-cta{margin-top:0}p.empty-state,td.empty-state{display:block;padding:var(--space-6) var(--space-3);color:var(--text-secondary);font-style:normal}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:600;line-height:1.2;letter-spacing:-.02em}h1{font-size:32px;font-weight:700}h2{font-size:24px}h3{font-size:20px}p{line-height:1.66}a{color:var(--primary-blue);text-decoration:none;transition:color .2s ease}a:hover{color:var(--primary-blue-dark)}.card{background:var(--bg-white);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-card);border:1px solid var(--border-light);transition:all .2s ease}.card:hover{box-shadow:var(--shadow-lg)}.section{margin-bottom:24px}button{font-family:var(--font-sans);font-weight:500;cursor:pointer;border:none;transition:all .2s ease}.btn-primary{background:linear-gradient(135deg,var(--primary-blue) 0%,var(--primary-blue-light) 100%);color:#fff;padding:12px 24px;border-radius:var(--radius-md);font-size:15px;font-weight:600;box-shadow:0 4px 12px #3d81de4d}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #3d81de66}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--bg-white);color:var(--text-primary);padding:12px 24px;border-radius:var(--radius-md);border:1px solid var(--border-gray);font-size:15px;font-weight:500}.btn-secondary:hover:not(:disabled){background:var(--bg-gray-50);border-color:var(--primary-blue)}[data-theme=dark] .btn-secondary{background:var(--bg-gray-50)}.btn-danger{background:linear-gradient(135deg,var(--error) 0%,var(--error-dark) 100%);color:#fff;padding:12px 24px;border-radius:var(--radius-md);font-size:15px;font-weight:600}.btn-danger:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #ef44444d}.btn-small{padding:4px 12px;font-size:13px;border-radius:var(--radius-sm)}.btn-large{padding:16px 32px;font-size:16px}.btn-back{background:var(--bg-white);color:var(--text-secondary);padding:8px 16px;border-radius:var(--radius-md);border:1px solid var(--border-light);font-size:14px;display:flex;align-items:center;gap:8px;margin-bottom:16px}.btn-back:hover{background:var(--bg-gray-50);color:var(--primary-blue)}.status-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:20px;font-size:13px;font-weight:500}.status-pending{background:var(--badge-warning-bg);color:var(--badge-warning-fg)}.status-graded,.status-present{background:var(--badge-success-bg);color:var(--badge-success-fg)}.status-absent{background:var(--badge-error-bg);color:var(--badge-error-fg)}.status-late{background:var(--badge-late-bg);color:var(--badge-late-fg)}.status-excused{background:var(--badge-info-bg);color:var(--badge-info-fg)}.status-draft{background:var(--badge-neutral-bg);color:var(--badge-neutral-fg)}.text-muted{color:var(--text-muted)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-danger,.text-error{color:var(--error)}.text-info{color:var(--info)}@media(max-width:1024px){.main-content{margin-left:0;max-width:100vw}.main-content-inner{padding:20px}.main-content-full{padding:0}h1{font-size:28px}h2{font-size:22px}}@media(max-width:480px){.main-content-inner{padding:16px}h1{font-size:24px}h2{font-size:20px}.card{padding:16px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease}@keyframes spin{to{transform:rotate(360deg)}}.loading-spinner{width:36px;height:36px;border:3px solid var(--border-color, #e2e8f0);border-top-color:var(--primary-blue, #3b82f6);border-radius:50%;animation:spin .8s linear infinite}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-gray-100)}::-webkit-scrollbar-thumb{background:var(--border-gray);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}
