/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-white:#fff;--spacing:.25rem;--container-xl:36rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-bold:700;--radius-xl:.75rem;--radius-2xl:1rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.visible\!{visibility:visible!important}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.isolate{isolation:isolate}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-0{height:calc(var(--spacing) * 0)}.h-1{height:calc(var(--spacing) * 1)}.h-16{height:calc(var(--spacing) * 16)}.h-40{height:calc(var(--spacing) * 40)}.h-\[72px\]{height:72px}.min-h-screen{min-height:100vh}.w-16{width:calc(var(--spacing) * 16)}.w-40{width:calc(var(--spacing) * 40)}.w-\[72px\]{width:72px}.w-full{width:100%}.max-w-5xl{max-width:var(--container-5xl)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[620px\]{min-width:620px}.min-w-\[760px\]{min-width:760px}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-\[\#e4e5ef\]>:not(:last-child)){border-color:#e4e5ef}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-\[\#78d8ce\]{border-color:#78d8ce}.border-\[\#b8ddda\]{border-color:#b8ddda}.border-\[\#bfe7d0\]{border-color:#bfe7d0}.border-\[\#c9e3e1\]{border-color:#c9e3e1}.border-\[\#d7d9ec\]{border-color:#d7d9ec}.border-\[\#dce5ec\]{border-color:#dce5ec}.border-\[\#e4ebf0\]{border-color:#e4ebf0}.border-\[\#f1c5c9\]{border-color:#f1c5c9}.border-white{border-color:var(--color-white)}.bg-\[\#0b3655\]{background-color:#0b3655}.bg-\[\#0f5b68\]{background-color:#0f5b68}.bg-\[\#e4f2f3\]{background-color:#e4f2f3}.bg-\[\#e6f5f4\]{background-color:#e6f5f4}.bg-\[\#e7f1ff\]{background-color:#e7f1ff}.bg-\[\#e9f7ef\]{background-color:#e9f7ef}.bg-\[\#edf2f5\]{background-color:#edf2f5}.bg-\[\#f1f1fa\]{background-color:#f1f1fa}.bg-\[\#f1f6f8\]{background-color:#f1f6f8}.bg-\[\#f4f8fa\]{background-color:#f4f8fa}.bg-\[\#f6f9fa\]{background-color:#f6f9fa}.bg-\[\#fdebed\]{background-color:#fdebed}.bg-\[\#fff0dc\]{background-color:#fff0dc}.bg-white{background-color:var(--color-white)}.bg-contain{background-size:contain}.bg-center{background-position:50%}.bg-no-repeat{background-repeat:no-repeat}.p-1{padding:calc(var(--spacing) * 1)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-8{padding:calc(var(--spacing) * 8)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-7{padding-block:calc(var(--spacing) * 7)}.py-10{padding-block:calc(var(--spacing) * 10)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pl-4{padding-left:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-left{text-align:left}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-\[0\.15em\]{--tw-tracking:.15em;letter-spacing:.15em}.tracking-\[0\.16em\]{--tw-tracking:.16em;letter-spacing:.16em}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#0a6840\]{color:#0a6840}.text-\[\#1e5f9f\]{color:#1e5f9f}.text-\[\#4a6278\]{color:#4a6278}.text-\[\#4a7378\]{color:#4a7378}.text-\[\#5d5190\]{color:#5d5190}.text-\[\#006c70\]{color:#006c70}.text-\[\#6f6a8d\]{color:#6f6a8d}.text-\[\#007d80\]{color:#007d80}.text-\[\#008f92\]{color:#008f92}.text-\[\#9a5a00\]{color:#9a5a00}.text-\[\#273d52\]{color:#273d52}.text-\[\#324b61\]{color:#324b61}.text-\[\#08233f\]{color:#08233f}.text-\[\#14814e\]{color:#14814e}.text-\[\#48745f\]{color:#48745f}.text-\[\#433879\]{color:#433879}.text-\[\#708397\]{color:#708397}.text-\[\#a8efea\]{color:#a8efea}.text-\[\#a62933\]{color:#a62933}.text-\[\#c43a43\]{color:#c43a43}.text-\[\#d8edf3\]{color:#d8edf3}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_8px_25px_rgba\(8\,35\,63\,0\.16\)\]{--tw-shadow:0 8px 25px var(--tw-shadow-color,#08233f29);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_16px_45px_rgba\(8\,35\,63\,0\.10\)\]{--tw-shadow:0 16px 45px var(--tw-shadow-color,#08233f1a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);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,)}.grayscale{--tw-grayscale:grayscale(100%);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,)}.invert{--tw-invert:invert(100%);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,)}.sepia{--tw-sepia:sepia(100%);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,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (width>=40rem){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-\[150px_minmax\(0\,1fr\)\]{grid-template-columns:150px minmax(0,1fr)}.sm\:grid-cols-\[minmax\(max-content\,1\.25fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(max-content,1.25fr) minmax(0,1fr)}.sm\:p-8{padding:calc(var(--spacing) * 8)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:px-8{padding-inline:calc(var(--spacing) * 8)}.sm\:py-9{padding-block:calc(var(--spacing) * 9)}.sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media (width>=48rem){.md\:mx-0{margin-inline:calc(var(--spacing) * 0)}.md\:grid-cols-\[160px_minmax\(0\,1fr\)\]{grid-template-columns:160px minmax(0,1fr)}}@media (width>=64rem){.lg\:grid-cols-\[minmax\(max-content\,1\.5fr\)_minmax\(0\,0\.8fr\)_minmax\(0\,1\.1fr\)_minmax\(0\,0\.7fr\)\]{grid-template-columns:minmax(max-content,1.5fr) minmax(0,.8fr) minmax(0,1.1fr) minmax(0,.7fr)}}}:root{--navy-950:#08233f;--navy-900:#0b2e50;--navy-700:#31506b;--teal-700:#007d80;--teal-600:#008f92;--teal-100:#e6f5f4;--teal-50:#f2fbfa;--green-700:#14814e;--green-100:#e9f7ef;--amber-700:#b66306;--amber-100:#fff2dc;--red-700:#c43a43;--red-100:#fdebed;--blue-700:#176bbb;--blue-100:#e8f2fc;--slate-700:#4a6278;--slate-500:#708397;--slate-300:#cbd7e1;--slate-200:#dce5ec;--slate-100:#edf2f5;--canvas:#f6f9fa;--white:#fff;--shadow:0 8px 28px #13375312}.student-qr-overlay{z-index:220}.student-qr-modal{width:min(980px,100% - 28px)}.student-qr-modal-body{grid-template-columns:minmax(180px,260px) 1fr;align-items:center;gap:30px;padding:28px;display:grid}.student-qr-preview-wrap{border:1px solid var(--slate-200);background:repeating-linear-gradient(45deg,#f7fafb,#f7fafb 8px,#eef4f6 8px 16px);border-radius:14px;place-items:center;min-height:250px;display:grid}.student-qr-printed-label{width:4cm;height:4cm;color:var(--navy-950);text-align:center;background:#fff;border:1px dashed #9caebd;grid-template-rows:minmax(0,.7cm) 1fr;place-items:center;padding:.04cm;display:grid;overflow:hidden}.student-qr-printed-label strong{text-transform:uppercase;-webkit-line-clamp:2;-webkit-box-orient:vertical;align-self:end;font-size:7px;line-height:1.05;display:-webkit-box;overflow:hidden}.student-qr-printed-label img{object-fit:contain;width:3cm;height:3cm}.student-qr-explanation h3{color:var(--navy-950);margin:0 0 5px;font-size:15px}.student-qr-explanation h3:not(:first-child){margin-top:20px}.student-qr-explanation p{color:var(--slate-500);margin:0;font-size:13px;line-height:1.6}.student-qr-actions{border-top:1px solid var(--slate-200);justify-content:flex-end;align-items:center;gap:10px;padding:16px 24px;display:flex}.student-qr-actions>span{color:var(--slate-500);margin-right:auto;font-size:11px}.student-qr-bulk-body{padding:22px 24px 28px}.student-qr-filters{grid-template-columns:repeat(2,minmax(170px,1fr)) minmax(150px,.7fr);gap:12px;margin-bottom:22px;display:grid}.student-qr-filters label,.student-qr-filters>div{color:var(--slate-700);flex-direction:column;gap:6px;font-size:12px;font-weight:750;display:flex}.student-qr-filters select{border:1px solid var(--slate-300);min-height:42px;color:var(--navy-950);background:#fff;border-radius:8px;padding:0 11px}.student-qr-filters>div{background:var(--teal-50);border:1px solid #b9dedb;border-radius:9px;justify-content:center;padding:9px 14px}.student-qr-filters>div strong{color:var(--teal-700);font-size:25px;line-height:1}.student-qr-filters>div small{color:var(--slate-500);font-size:10px}.student-qr-selection{border:1px solid var(--slate-200);background:#fff;border-radius:12px;margin-bottom:18px;overflow:hidden}.student-qr-selection-heading{justify-content:space-between;align-items:center;gap:12px;padding:15px 16px 10px;display:flex}.student-qr-selection-heading h3{color:var(--navy-950);margin:0;font-size:14px}.student-qr-selection-heading p{color:var(--slate-500);margin:4px 0 0;font-size:11px}.student-qr-selection-clear{color:var(--teal-700);cursor:pointer;background:0 0;border:0;font-size:11px;font-weight:750}.student-qr-selection-clear:disabled{opacity:.45;cursor:not-allowed}.student-qr-selection-search{color:var(--slate-700);gap:5px;padding:0 16px 12px;font-size:11px;font-weight:750;display:grid}.student-qr-selection-search input{border:1px solid var(--slate-300);min-height:38px;color:var(--navy-950);border-radius:8px;padding:0 11px;font-size:12px}.student-qr-selection-all,.student-qr-selection-row{cursor:pointer;align-items:center;gap:11px;min-height:43px;padding:9px 16px;display:flex}.student-qr-selection-all{border-top:1px solid var(--slate-200);border-bottom:1px solid var(--slate-200);background:var(--canvas);color:var(--navy-950);font-size:12px;font-weight:750}.student-qr-selection-all small{color:var(--slate-500);margin-left:auto;font-size:10px}.student-qr-selection-list{max-height:210px;overflow-y:auto}.student-qr-selection-row+.student-qr-selection-row{border-top:1px solid var(--slate-100)}.student-qr-selection-row.is-selected{background:var(--teal-50)}.student-qr-selection-all input,.student-qr-selection-row input{width:16px;height:16px;accent-color:var(--teal-700)}.student-qr-selection-row span{gap:3px;min-width:0;display:grid}.student-qr-selection-row strong{color:var(--navy-950);text-overflow:ellipsis;font-size:12px;overflow:hidden}.student-qr-selection-row small{color:var(--slate-500);font-size:10px}.student-qr-selection-empty{color:var(--slate-500);text-align:center;margin:0;padding:18px 16px;font-size:12px}.student-qr-grid-preview{border:1px solid var(--slate-200);background:var(--canvas);border-radius:12px;grid-template-columns:repeat(auto-fill,minmax(4cm,1fr));gap:12px;max-height:210px;padding:18px;display:grid;overflow:auto}.student-qr-grid-preview .student-qr-printed-label{justify-self:center}.student-qr-more{border:1px dashed var(--teal-600);background:var(--teal-50);width:4cm;height:4cm;color:var(--teal-700);text-align:center;border-radius:8px;place-content:center;justify-self:center;font-size:24px;font-weight:850;display:grid}.student-qr-more small{max-width:85px;color:var(--slate-500);font-size:8px;font-weight:650;display:block}.student-qr-status{color:var(--slate-500);text-align:center;grid-column:1/-1;margin:0;padding:30px;font-size:13px}@media (width<=700px){.student-qr-modal-body{grid-template-columns:1fr;padding:20px}.student-qr-preview-wrap{min-height:180px}.student-qr-filters{grid-template-columns:1fr}.student-qr-actions{flex-wrap:wrap}.student-qr-actions>span{width:100%}}.message-center-loading{min-height:420px;color:var(--slate-500);place-items:center;font-weight:750;display:grid}.message-center-header{align-items:center}.email-provider-pill{border:1px solid var(--slate-200);min-width:285px;box-shadow:var(--shadow);background:#fff;border-radius:12px;align-items:center;gap:11px;padding:11px 14px;display:flex}.email-provider-pill>span{border-radius:50%;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.email-provider-pill.ready>span{background:var(--green-100);color:var(--green-700)}.email-provider-pill.pending>span{background:var(--amber-100);color:var(--amber-700)}.email-provider-pill div{flex-direction:column;gap:2px;display:flex}.email-provider-pill strong{color:var(--navy-950);font-size:13px}.email-provider-pill small{color:var(--slate-500);font-size:10px}.message-center-error{background:var(--red-100);color:var(--red-700);border:1px solid #f1bbc0;border-radius:10px;margin:-4px 0 16px;padding:12px 14px;font-size:12px;font-weight:750}.message-center-grid{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:20px;display:grid}.message-center-main,.message-center-side{gap:18px;display:grid}.message-panel,.message-send-card,.message-history-card{border:1px solid var(--slate-200);box-shadow:var(--shadow);background:#fff;border-radius:14px}.message-panel{padding:20px}.message-panel-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.message-panel-heading>div:first-child>span,.message-send-card>span,.message-history-card>div:first-child>span{color:var(--teal-800);letter-spacing:.09em;text-transform:uppercase;font-size:10px;font-weight:900}.message-panel-heading h2,.message-send-card h2,.message-history-card h2{color:var(--navy-950);margin:3px 0 0;font-size:19px}.audience-mode{border:1px solid var(--slate-200);background:var(--slate-100);border-radius:9px;padding:3px;display:inline-flex}.audience-mode button{color:var(--slate-600);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:7px 12px;font-size:11px;font-weight:850}.audience-mode button.active{color:var(--teal-700);background:#fff;box-shadow:0 2px 8px #0b2e501a}.message-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.message-filter-grid label,.individual-recipient-picker>label,.composer-panel>label,.external-copy-field{color:var(--navy-700);flex-direction:column;gap:6px;font-size:11px;font-weight:800;display:flex}.message-filter-grid select,.message-filter-grid input,.individual-recipient-picker input,.composer-panel input,.composer-panel textarea,.message-panel-heading select,.external-copy-field textarea{border:1px solid var(--slate-300);width:100%;color:var(--navy-950);font:inherit;background:#fff;border-radius:8px;outline:none;padding:10px 11px}.message-filter-grid select:focus,.message-filter-grid input:focus,.individual-recipient-picker input:focus,.composer-panel input:focus,.composer-panel textarea:focus,.message-panel-heading select:focus,.external-copy-field textarea:focus{border-color:var(--teal-600);box-shadow:0 0 0 3px #008f921a}.message-query-filter{grid-column:span 2}.message-clear-filters{border:1px solid var(--slate-300);color:var(--teal-700);cursor:pointer;background:#fff;border-radius:8px;align-self:end;padding:10px 12px;font-size:11px;font-weight:850}.recipient-summary{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px;display:grid}.recipient-summary>div{border:1px solid var(--slate-200);background:var(--slate-100);border-radius:9px;align-items:baseline;gap:7px;padding:10px 12px;display:flex}.recipient-summary strong{color:var(--navy-950);font-size:20px}.recipient-summary span{color:var(--slate-500);font-size:10px;font-weight:750}.recipient-summary .success{background:var(--green-100)}.recipient-summary .success strong{color:var(--green-700)}.recipient-summary .warning{background:var(--amber-100)}.recipient-summary .warning strong{color:var(--amber-700)}.recipient-preview-list{flex-wrap:wrap;gap:7px;margin-top:12px;display:flex}.recipient-preview-list>span,.recipient-preview-list>b{background:var(--teal-50);color:var(--navy-700);border:1px solid #c9e3e1;border-radius:999px;padding:5px 9px;font-size:10px}.recipient-preview-list small{color:var(--slate-500);margin-left:4px}.individual-recipient-picker{gap:14px;display:grid}.personal-recipient-toolbar{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;display:grid}.personal-recipient-toolbar>label{color:var(--navy-700);flex-direction:column;gap:6px;font-size:11px;font-weight:800;display:flex}.personal-recipient-toolbar>div{border:1px solid var(--slate-200);background:var(--slate-100);border-radius:9px;align-items:baseline;gap:7px;padding:9px 12px;display:flex}.personal-recipient-toolbar>div strong{color:var(--navy-950);font-size:18px}.personal-recipient-toolbar>div span{color:var(--slate-500);font-size:10px;font-weight:750}.personal-recipient-columns{grid-template-columns:minmax(340px,1.2fr) minmax(290px,.8fr);gap:14px;display:grid}.personal-student-catalog,.selected-personal-students{border:1px solid var(--slate-200);background:#fff;border-radius:10px;min-width:0;overflow:hidden}.personal-student-catalog>header,.selected-personal-students>header{border-bottom:1px solid var(--slate-200);background:var(--slate-100);justify-content:space-between;align-items:center;gap:10px;min-height:48px;padding:9px 12px;display:flex}.personal-student-catalog>header strong,.selected-personal-students>header strong{color:var(--navy-950);font-size:11px;display:block}.personal-student-catalog>header span,.selected-personal-students>header span{color:var(--slate-500);margin-top:2px;font-size:9px;display:block}.personal-search-results{border:0;border-radius:0;max-height:330px}.personal-search-results>button{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:7px;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:8px;display:flex}.personal-search-results>button:hover,.personal-search-results>button.selected{background:var(--teal-50)}.personal-search-results>button>span{flex-direction:column;gap:2px;min-width:0;display:flex}.personal-search-results>button strong{color:var(--navy-950);font-size:11px}.personal-search-results>button small{color:var(--slate-500);font-size:9px}.personal-search-results>button b{color:var(--teal-700);flex:none;font-size:9px}.selected-personal-students>header button,.selected-personal-students article>button{cursor:pointer;color:var(--teal-700);background:0 0;border:0;font-size:9px;font-weight:850}.selected-personal-students>div{max-height:330px;padding:6px;overflow:auto}.selected-personal-students article{border-bottom:1px solid var(--slate-200);justify-content:space-between;align-items:center;gap:8px;padding:8px;display:flex}.selected-personal-students article:last-child{border-bottom:0}.selected-personal-students article>span{flex-direction:column;gap:2px;min-width:0;display:flex}.selected-personal-students article strong{color:var(--navy-950);font-size:10px}.selected-personal-students article small{color:var(--slate-500);text-overflow:ellipsis;font-size:9px;overflow:hidden}.selected-personal-students article>button{background:var(--red-100);width:26px;height:26px;color:var(--red-700);border-radius:50%;flex:0 0 26px;place-items:center;font-size:16px;display:grid}.selected-personal-students>div>p{color:var(--slate-500);text-align:center;margin:24px 14px;font-size:10px;line-height:1.5}.instructor-recipient-picker{gap:10px;display:grid}.instructor-picker-toolbar{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.instructor-picker-toolbar label{color:var(--navy-700);flex-direction:column;gap:6px;font-size:11px;font-weight:800;display:flex}.instructor-picker-toolbar input{border:1px solid var(--slate-300);width:100%;color:var(--navy-950);font:inherit;background:#fff;border-radius:8px;outline:none;padding:10px 11px}.instructor-picker-toolbar input:focus{border-color:var(--teal-600);box-shadow:0 0 0 3px #008f921a}.instructor-picker-toolbar button{border:1px solid var(--teal-700);cursor:pointer;min-height:38px;color:var(--teal-700);background:#fff;border-radius:8px;padding:8px 12px;font-size:11px;font-weight:850}.instructor-picker-toolbar button:disabled{cursor:not-allowed;opacity:.5}.instructor-picker-note{background:var(--teal-50);color:var(--navy-700);border-radius:8px;margin:0;padding:9px 11px;font-size:10px;line-height:1.45}.instructor-search-results{max-height:280px}.recipient-search-results{border:1px solid var(--slate-200);border-radius:9px;max-height:235px;padding:6px;overflow:auto}.recipient-search-results>label{cursor:default;border-radius:7px;align-items:flex-start;gap:9px;padding:8px;display:flex}.attendance-partial-hours>i{background:var(--teal-700);color:#fff;border-radius:50%;flex:0 0 20px;place-items:center;width:20px;height:20px;font-size:12px;font-style:normal;font-weight:800;display:grid}.recipient-search-results>label:hover,.recipient-search-results>label.selected{background:var(--teal-50)}.recipient-search-results input{width:15px;accent-color:var(--teal-700);margin-top:2px}.recipient-search-results span{flex-direction:column;gap:2px;min-width:0;display:flex}.recipient-search-results strong{color:var(--navy-950);font-size:11px}.recipient-search-results small,.recipient-search-results p{color:var(--slate-500);font-size:10px}.recipient-search-results p{text-align:center;margin:18px}.message-variable-strip{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:14px;display:flex}.message-variable-strip>span{color:var(--slate-500);font-size:10px;font-weight:750}.message-variable-strip code{background:var(--teal-50);color:var(--teal-700);border:1px solid #c9e3e1;border-radius:999px;padding:4px 7px;font-size:9px;font-weight:850}.composer-panel{gap:13px;display:grid}.composer-panel .message-panel-heading{margin-bottom:0}.composer-panel textarea{resize:vertical;min-height:210px;line-height:1.55}.message-channel-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.message-channel-picker label{border:1px solid var(--slate-200);background:var(--teal-50);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;padding:12px;display:flex}.message-channel-picker input{width:16px;height:16px;accent-color:var(--teal-700);margin-top:2px}.message-channel-picker span{flex-direction:column;gap:3px;display:flex}.message-channel-picker strong{color:var(--navy-950);font-size:11px}.message-channel-picker small{color:var(--slate-500);font-size:9px;line-height:1.45}.message-panel-heading select{width:auto;min-width:180px;font-size:11px;font-weight:800}.copy-explanation{color:var(--slate-500);margin:-6px 0 14px;font-size:11px;line-height:1.5}.institutional-copy-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.institutional-copy-groups fieldset{border:1px solid var(--slate-200);border-radius:10px;min-width:0;max-height:245px;padding:10px;overflow:auto}.institutional-copy-groups legend{width:100%;color:var(--navy-950);justify-content:space-between;align-items:center;gap:8px;padding:0 4px;font-size:10px;font-weight:900;display:flex}.institutional-copy-groups legend button{color:var(--teal-700);cursor:pointer;background:0 0;border:0;font-size:9px;font-weight:800}.institutional-copy-groups fieldset>label{cursor:pointer;border-radius:7px;align-items:flex-start;gap:8px;padding:7px;display:flex}.institutional-copy-groups fieldset>label:hover{background:var(--slate-100)}.institutional-copy-groups input{width:15px;height:15px;accent-color:var(--teal-700);margin-top:1px}.institutional-copy-groups label>span{flex-direction:column;gap:2px;min-width:0;display:flex}.institutional-copy-groups strong{color:var(--navy-950);font-size:10px}.institutional-copy-groups small{overflow-wrap:anywhere;color:var(--slate-500);font-size:9px}.external-copy-field{margin-top:14px}.external-copy-field textarea{resize:vertical;min-height:82px}.external-copy-field>small{color:var(--slate-500);font-weight:600}.message-center-side{position:sticky;top:112px}.message-send-card,.message-history-card{padding:18px}.message-send-card dl{gap:0;margin:14px 0;display:grid}.message-send-card dl>div{border-bottom:1px solid var(--slate-100);justify-content:space-between;align-items:center;gap:12px;padding:9px 0;display:flex}.message-send-card dt{color:var(--slate-500);font-size:10px}.message-send-card dd{color:var(--navy-950);margin:0;font-size:12px;font-weight:900}.message-send-button{justify-content:center;width:100%}.message-send-button:disabled{cursor:not-allowed;opacity:.5}.message-send-card>p{color:var(--amber-700);text-align:center;margin:10px 0 0;font-size:10px;line-height:1.45}.message-history-list{max-height:360px;margin-top:12px;display:grid;overflow:auto}.message-history-list article{border-top:1px solid var(--slate-100);padding:11px 0}.message-history-list article>div{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.message-history-list strong{color:var(--navy-950);font-size:10px;line-height:1.35}.message-history-list p,.message-history-list small{color:var(--slate-500);margin:5px 0 0;font-size:9px}.message-status{border-radius:999px;flex:none;padding:3px 6px;font-size:8px;font-weight:900}.message-status.success{background:var(--green-100);color:var(--green-700)}.message-status.warning{background:var(--amber-100);color:var(--amber-700)}.message-status.danger{background:var(--red-100);color:var(--red-700)}.message-status.neutral{background:var(--slate-100);color:var(--slate-600)}.message-history-empty{color:var(--slate-500);text-align:center;padding:24px 8px;font-size:10px}.notification-template-panel{border:1px solid var(--slate-200);box-shadow:var(--shadow);background:#fff;border-radius:14px;margin-top:20px;padding:20px}.notification-template-panel .message-panel-heading>p{color:var(--slate-500);margin:0;font-size:10px}.notification-template-layout{grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr);gap:16px;display:grid}.notification-template-guide{border:1px solid var(--teal-100);background:var(--teal-50);color:var(--navy-700);border-radius:10px;align-items:center;gap:10px;margin-bottom:16px;padding:11px 13px;display:flex}.notification-template-guide>span{width:30px;height:30px;color:var(--teal-700);background:#fff;border-radius:50%;flex:0 0 30px;place-items:center;font-size:15px;display:grid}.notification-template-guide p{margin:0;font-size:10px;line-height:1.5}.notification-template-list{align-content:start;gap:7px;max-height:390px;display:grid;overflow:auto}.notification-template-list button{border:1px solid var(--slate-200);cursor:pointer;text-align:left;background:#fff;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.notification-template-list button>span{gap:3px;min-width:0;display:grid}.notification-template-list button.active{border-color:var(--teal-600);background:var(--teal-50)}.notification-template-list strong{color:var(--navy-950);font-size:10px}.notification-template-list span small{color:var(--slate-500);font-size:9px;font-weight:500;line-height:1.35}.notification-template-list b{letter-spacing:.03em;text-transform:uppercase;border-radius:999px;flex:none;padding:4px 7px;font-size:8px}.notification-template-list b.enabled{background:var(--green-100);color:var(--green-700)}.notification-template-list b.disabled{background:var(--red-100);color:var(--red-700)}.notification-template-editor{gap:12px;display:grid}.notification-template-editor-heading{border-bottom:1px solid var(--slate-200);gap:3px;padding-bottom:10px;display:grid}.notification-template-editor-heading span{color:var(--teal-700);letter-spacing:.12em;text-transform:uppercase;font-size:8px;font-weight:900}.notification-template-editor-heading strong{color:var(--navy-950);font-size:14px}.notification-template-editor>label:not(.notification-template-enabled){color:var(--navy-700);flex-direction:column;gap:6px;font-size:10px;font-weight:800;display:flex}.notification-template-editor input,.notification-template-editor textarea{border:1px solid var(--slate-300);width:100%;color:var(--navy-950);font:inherit;border-radius:8px;padding:10px 11px}.notification-template-editor textarea{resize:vertical;min-height:145px}.notification-template-enabled{border:1px solid var(--slate-200);color:var(--navy-700);border-radius:10px;align-items:center;gap:10px;padding:11px 12px;font-size:10px;font-weight:800;display:flex}.notification-template-enabled.active{background:var(--green-100);border-color:#b9e7ce}.notification-template-enabled.inactive{background:var(--red-100);border-color:#f4c4c9}.notification-template-enabled>span{gap:2px;display:grid}.notification-template-enabled small{color:var(--slate-500);font-size:9px;font-weight:500}.notification-template-placeholder{border:1px dashed var(--slate-300);min-height:220px;color:var(--slate-500);text-align:center;border-radius:10px;place-items:center;font-size:11px;display:grid}@media (width<=1120px){.message-center-grid{grid-template-columns:1fr}.message-center-side{grid-template-columns:repeat(2,minmax(0,1fr));position:static}}@media (width<=780px){.message-center-header,.message-panel-heading{flex-direction:column;align-items:stretch}.email-provider-pill{width:100%;min-width:0}.message-filter-grid,.institutional-copy-groups,.recipient-summary,.message-center-side,.individual-recipient-picker,.personal-recipient-columns,.personal-recipient-toolbar,.message-channel-picker,.notification-template-layout{grid-template-columns:1fr}.message-query-filter{grid-column:auto}.audience-mode{width:100%}.audience-mode button{flex:1}.instructor-picker-toolbar{grid-template-columns:1fr}}.permission-manager-dialog,.student-permission-dialog{width:min(1180px,100vw - 36px)}.absence-message-dialog{width:min(1380px,100vw - 36px)}.absence-message-loading{color:var(--slate-500);text-align:center;padding:60px 24px}.absence-message-content{overflow-y:auto}.absence-automation-status{border:1px solid;border-radius:12px;align-items:center;gap:12px;margin:20px 20px 0;padding:14px 16px;display:flex}.absence-automation-status>span{border-radius:50%;flex:0 0 32px;place-items:center;width:32px;height:32px;font-size:17px;font-weight:900;display:grid}.absence-automation-status strong{font-size:13px;display:block}.absence-automation-status p{margin:3px 0 0;font-size:11px;line-height:1.45}.absence-automation-status.active{color:#12663e;background:#effbf5;border-color:#a9dfc5}.absence-automation-status.active>span{background:#d8f5e6}.absence-automation-status.inactive{color:#8a5a00;background:#fff8e8;border-color:#f2d398}.absence-automation-status.inactive>span{background:#ffedc5}.absence-message-layout{grid-template-columns:minmax(560px,1.18fr) minmax(360px,.82fr);gap:18px;padding:20px;display:grid}.absence-message-editors{gap:16px;display:grid}.message-variable-help,.absence-message-editor,.absence-message-preview{border:1px solid var(--slate-200);background:#fff;border-radius:13px;padding:18px}.message-variable-help strong,.absence-message-preview>span,.absence-message-editor-heading span{color:var(--teal-700);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:850}.message-variable-help p{color:var(--slate-600);margin:5px 0 10px;font-size:12px;line-height:1.5}.message-variable-help>div{flex-wrap:wrap;gap:7px;display:flex}.message-variable-help code{background:var(--teal-50);color:var(--teal-700);border:1px solid #b9dcd9;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800}.absence-message-editor{flex-direction:column;gap:13px;display:flex}.absence-message-editor-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.absence-message-editor-heading h3{color:var(--navy-950);margin:4px 0 0;font-size:18px}.absence-message-editor>label{color:var(--navy-800);flex-direction:column;gap:6px;font-size:12px;font-weight:800;display:flex}.absence-message-editor input,.absence-message-editor textarea{border:1px solid var(--slate-300);width:100%;color:var(--navy-950);font:inherit;background:#fff;border-radius:8px;outline:none;padding:10px 11px}.absence-message-editor input:focus,.absence-message-editor textarea:focus{border-color:var(--teal-600);box-shadow:0 0 0 3px #008f921a}.absence-message-editor textarea{resize:vertical;min-height:190px;font-weight:500;line-height:1.55}.compact-switch{background:var(--teal-50);white-space:nowrap;border:1px solid #b9dcd9;border-radius:999px;align-items:center;padding:6px 9px;color:var(--teal-700)!important;flex-direction:row!important;gap:7px!important;display:inline-flex!important}.compact-switch input{width:16px;height:16px;accent-color:var(--teal-700)}.threshold-input{color:var(--slate-600);align-items:center;gap:9px;font-weight:600;display:flex}.threshold-input input{width:76px}.absence-message-preview{align-self:start;position:sticky;top:104px;box-shadow:0 12px 28px #13375314}.absence-preview-tabs{gap:6px;margin-bottom:18px;display:flex}.absence-preview-tabs button{border:1px solid var(--slate-200);color:var(--slate-600);cursor:pointer;background:#fff;border-radius:8px;flex:1;padding:8px;font-size:11px;font-weight:800}.absence-preview-tabs button.active{border-color:var(--teal-600);background:var(--teal-50);color:var(--teal-700)}.absence-message-preview h3{color:var(--navy-950);margin:8px 0 14px;font-size:17px;line-height:1.4}.absence-message-preview>div:not(.absence-preview-tabs){border-top:1px solid var(--slate-200);border-bottom:1px solid var(--slate-200);min-height:330px;color:var(--slate-700);white-space:pre-wrap;padding:16px 0;font-size:13px;line-height:1.65}.absence-message-preview>small{color:var(--amber-700);margin-top:13px;font-size:10px;line-height:1.5;display:block}.absence-message-dialog>footer>div{gap:9px;display:flex}.absence-message-error{margin:0 20px 14px}.absence-delivery-history{border:1px solid var(--slate-200);background:#fff;border-radius:13px;margin:0 20px 20px;padding:18px}.absence-delivery-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.absence-delivery-heading span{color:var(--teal-700);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:850}.absence-delivery-heading h3{color:var(--navy-950);margin:3px 0 0;font-size:18px}.absence-delivery-heading small{color:var(--slate-500);font-size:10px}.absence-delivery-table-wrap{overflow-x:auto}.absence-delivery-history table{border-collapse:collapse;width:100%;font-size:11px}.absence-delivery-history th,.absence-delivery-history td{border-top:1px solid var(--slate-200);text-align:left;vertical-align:top;padding:10px 8px}.absence-delivery-history th{background:var(--slate-50);color:var(--slate-600);font-size:10px}.absence-delivery-history td strong,.absence-delivery-history td small{display:block}.absence-delivery-history td strong{color:var(--navy-950)}.absence-delivery-history td small{color:var(--slate-500);margin-top:3px;line-height:1.35}.absence-delivery-state{border-radius:999px;padding:4px 7px;font-size:9px;font-weight:900;display:inline-flex}.absence-delivery-state.sent{color:#17683f;background:#dff6e9}.absence-delivery-state.warning{color:#8a5a00;background:#fff0d4}.absence-delivery-empty{border:1px dashed var(--slate-300);background:var(--slate-50);color:var(--slate-500);text-align:center;border-radius:10px;margin:0;padding:18px;font-size:12px}.permission-manager-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:20px;display:grid}.permission-manager-panel{border:1px solid var(--slate-200);background:#fff;border-radius:14px;flex-direction:column;gap:14px;padding:18px;display:flex}.permission-manager-panel>div:first-child span,.student-permission-history>div:first-child span{color:var(--teal-700);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:850}.permission-manager-panel h3,.student-permission-history h3{color:var(--navy-950);margin:3px 0 0;font-size:19px}.permission-manager-panel>label,.student-permission-selector{color:var(--navy-900);flex-direction:column;gap:6px;font-size:12px;font-weight:800;display:flex}.permission-manager-panel select,.student-permission-selector select{border:1px solid var(--slate-300);min-height:44px;color:var(--navy-950);font:inherit;background:#fff;border-radius:9px;padding:0 11px}.permission-checkbox-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.permission-checkbox-list label{border:1px solid var(--slate-200);cursor:pointer;background:#f8fbfc;border-radius:9px;align-items:flex-start;gap:9px;padding:10px;display:flex}.permission-checkbox-list input{width:18px;height:18px;accent-color:var(--teal-700);margin:1px 0 0}.permission-checkbox-list span{flex-direction:column;gap:2px;min-width:0;display:flex}.permission-checkbox-list strong{color:var(--navy-950);font-size:13px}.permission-checkbox-list small{color:var(--slate-600);font-size:10px;line-height:1.35}.permission-manager-actions{justify-content:flex-end;gap:8px;display:flex}.permission-special-capabilities{border-top:1px solid var(--slate-200);gap:8px;padding-top:13px;display:grid}.permission-special-capabilities>div:first-child{gap:2px;display:grid}.permission-special-capabilities>div:first-child>span{color:var(--navy-950);font-size:13px;font-weight:850}.permission-special-capabilities>div:first-child>small{color:var(--slate-600);font-size:10px}.permission-manager-error{margin:0 20px 16px}.student-permission-content{flex-direction:column;gap:18px;padding:20px;display:flex}.student-permission-form{border:1px solid var(--slate-200);background:#fff;border-radius:14px;flex-direction:column;gap:14px;padding:18px;display:flex}.student-permission-form>button{align-self:flex-end}.student-permission-reason{grid-column:1/-1}.student-permission-reason textarea{resize:vertical;min-height:96px}.student-permission-reason-cell{white-space:normal;min-width:240px;max-width:420px}.student-permission-history{flex-direction:column;gap:12px;display:flex}.shift-school-permission{max-width:190px;color:var(--teal-700);margin-top:5px;font-size:10px;font-weight:750;line-height:1.3;display:block}@media (width<=840px){.permission-manager-grid,.permission-checkbox-list{grid-template-columns:1fr}}.nfc-automatic-mode{color:var(--teal-700);background:#e9f9f8;border:1px solid #9bdedc;border-radius:999px;align-items:center;gap:7px;padding:8px 12px;font-size:12px;font-weight:800;display:inline-flex}.nfc-station-actions{flex-wrap:wrap;gap:9px;margin-top:14px;display:flex}.nfc-station-actions a{text-decoration:none}.nfc-empty-result{border-top:1px solid var(--slate-200);background:#f8fbfc;align-items:center;gap:14px;padding:20px 24px;display:flex}.nfc-empty-result>span{width:46px;height:46px;color:var(--teal-700);background:#def3f2;border-radius:13px;place-items:center;font-size:24px;display:grid}.nfc-empty-result div{flex-direction:column;gap:3px;display:flex}.nfc-empty-result strong{color:var(--navy-950);font-size:14px}.nfc-empty-result small{color:var(--slate-600)}.nfc-terminal-dialog{width:min(1180px,100vw - 36px)}.nfc-terminal-content{flex-direction:column;gap:18px;padding:20px;display:flex}.nfc-connector-download{background:linear-gradient(135deg,#eefafa,#fff);border:1px solid #a9dedd;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:18px;display:grid}.nfc-connector-icon{background:var(--teal-700);color:#fff;letter-spacing:.08em;border-radius:17px;place-items:center;width:62px;height:62px;font-size:16px;font-weight:900;display:grid}.nfc-connector-download span,.nfc-pairing-heading span{color:var(--teal-700);letter-spacing:.09em;text-transform:uppercase;font-size:10px;font-weight:850}.nfc-connector-download h3,.nfc-pairing-heading h3{color:var(--navy-950);margin:3px 0;font-size:18px}.nfc-connector-download p,.nfc-pairing-heading p{color:var(--slate-600);margin:0;font-size:12px;line-height:1.5}.nfc-connector-download a{text-decoration:none}.nfc-pairing-form,.nfc-usb-authorization,.nfc-usb-tutorial,.nfc-admin-enrollment,.nfc-terminal-list-section,.nfc-recent-events-section{border:1px solid var(--slate-200);background:#fff;border-radius:14px;flex-direction:column;gap:14px;padding:18px;display:flex}.nfc-usb-tutorial{background:linear-gradient(#fff,#f8fbfc)}.nfc-usb-tutorial ol{counter-reset:nfc-tutorial-step;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0;padding:0;list-style:none;display:grid}.nfc-usb-tutorial li{border:1px solid var(--slate-200);min-height:54px;color:var(--slate-700);counter-increment:nfc-tutorial-step;background:#fff;border-radius:11px;grid-template-columns:30px 1fr;align-items:center;gap:10px;padding:10px 12px;font-size:12px;line-height:1.4;display:grid}.nfc-usb-tutorial li:before{background:var(--teal-700);color:#fff;content:counter(nfc-tutorial-step);border-radius:9px;place-items:center;width:30px;height:30px;font-size:12px;font-weight:900;display:grid}.nfc-usb-tutorial code{color:var(--navy-950);background:#edf3f5;border-radius:5px;padding:2px 5px;font-family:Consolas,Courier New,monospace;font-size:11px}.nfc-usb-tutorial-notes{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.nfc-usb-tutorial-notes>div{background:#effbfa;border:1px solid #b7dedc;border-radius:10px;padding:11px 12px}.nfc-usb-tutorial-notes strong{color:var(--teal-800);font-size:11px}.nfc-usb-tutorial-notes p{color:var(--slate-600);margin:4px 0 0;font-size:10px;line-height:1.45}.nfc-usb-tutorial-notes>small{color:var(--slate-500);grid-column:1/-1;font-size:10px}.nfc-usb-pending-list{gap:10px;display:grid}.nfc-usb-pending-list article{background:#f5fcfb;border:1px solid #a9dedd;border-radius:12px;grid-template-columns:minmax(250px,1.2fr) minmax(250px,1fr) auto;align-items:end;gap:14px;padding:14px;display:grid}.nfc-usb-detected{flex-direction:column;gap:5px;display:flex}.nfc-usb-detected>span{color:#9a5b00;background:#fff4d9;border-radius:999px;width:fit-content;padding:5px 9px;font-size:10px;font-weight:800}.nfc-usb-detected i{background:currentColor;border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block}.nfc-usb-detected strong{color:var(--navy-950);font-size:13px}.nfc-usb-detected small,.nfc-usb-empty small{color:var(--slate-600);font-size:10px}.nfc-usb-empty{border:1px dashed var(--slate-300);border-radius:12px;align-items:center;gap:12px;padding:14px;display:flex}.nfc-usb-empty>span{background:var(--teal-700);color:#fff;border-radius:12px;place-items:center;width:45px;height:45px;font-size:11px;font-weight:900;display:grid}.nfc-usb-empty>div{flex-direction:column;gap:4px;display:flex}.nfc-legacy-pairing{border-top:1px solid var(--slate-200);padding-top:12px}.nfc-legacy-pairing summary{cursor:pointer;color:var(--slate-600);font-size:11px;font-weight:750}.nfc-legacy-pairing .nfc-pairing-form{background:var(--slate-50);margin-top:12px}.nfc-pairing-form .operation-form-grid{grid-template-columns:minmax(240px,1fr) minmax(240px,1fr) auto;align-items:end}.nfc-portable-note{background:#effbfa;border:1px solid #b7dedc;border-radius:9px;flex-direction:column;justify-content:center;gap:3px;min-height:46px;padding:8px 12px;display:flex}.nfc-portable-note strong{color:var(--teal-800);font-size:12px}.nfc-portable-note small{color:var(--slate-600);font-size:10px}.nfc-admin-enrollment{background:#fffdf7;border:1px solid #d6c697;border-radius:14px;grid-template-columns:minmax(220px,.9fr) minmax(330px,1.1fr);gap:16px;padding:18px;display:grid}.nfc-admin-actions{flex-direction:column;gap:10px;display:flex}.nfc-admin-actions>label{color:var(--navy-900);flex-direction:column;gap:6px;font-size:11px;font-weight:800;display:flex}.nfc-admin-actions select{border:1px solid var(--slate-300);width:100%;color:var(--navy-950);background:#fff;border-radius:8px;padding:10px 12px}.nfc-inspection-trigger{gap:5px;display:grid}.nfc-inspection-trigger .secondary-button{justify-content:center;width:100%}.nfc-inspection-trigger small{color:var(--slate-600);font-size:10px;line-height:1.4}.nfc-unlink-row{grid-template-columns:1fr auto;gap:8px;display:grid}.nfc-unlink-row input{border:1px solid var(--slate-300);border-radius:8px;min-width:0;padding:10px 12px}.nfc-admin-code{grid-column:1/-1}.nfc-unlink-button{align-self:flex-start;padding-inline:0}.nfc-command-status{background:#effbfa;border:1px solid #9fd8d4;border-radius:12px;grid-column:1/-1;align-items:center;gap:12px;padding:14px 16px;display:flex}.nfc-command-status>span{background:var(--teal-700);color:#fff;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;font-size:20px;font-weight:900;display:grid}.nfc-command-status>div{flex-direction:column;gap:3px;min-width:0;display:flex}.nfc-command-status strong{color:var(--navy-950);font-size:13px}.nfc-command-status small{color:var(--slate-600);font-size:11px}.nfc-command-failed,.nfc-command-expired,.nfc-command-cancelled{background:#fff3f4;border-color:#efb8bd}.nfc-command-failed>span,.nfc-command-expired>span,.nfc-command-cancelled>span{background:#c83e4d}.nfc-card-inspection{background:#effbfa;border:1px solid #9fd8d4;border-radius:12px;grid-column:1/-1;padding:15px 16px}.nfc-card-inspection>header{align-items:center;gap:12px;display:flex}.nfc-card-inspection>header>span{background:var(--teal-700);color:#fff;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;font-size:19px;font-weight:900;display:grid}.nfc-card-inspection>header>div{flex-direction:column;gap:2px;display:flex}.nfc-card-inspection>header strong{color:var(--navy-950);font-size:14px}.nfc-card-inspection>header small,.nfc-card-inspection>p{color:var(--slate-600);font-size:11px}.nfc-card-inspection>p{margin:10px 0 0 50px}.nfc-card-inspection.nfc-command-failed>header>span,.nfc-card-inspection.nfc-command-expired>header>span,.nfc-card-inspection.nfc-command-cancelled>header>span{background:#c83e4d}.nfc-inspection-details{margin-top:13px}.nfc-inspection-details dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.nfc-inspection-details dl>div{background:#fff;border:1px solid #c7e7e4;border-radius:8px;min-width:0;padding:9px 10px}.nfc-inspection-details dt{color:var(--slate-600);letter-spacing:.04em;text-transform:uppercase;font-size:9px;font-weight:800}.nfc-inspection-details dd{overflow-wrap:anywhere;color:var(--navy-950);margin:3px 0 0;font-size:11px;font-weight:800}.nfc-inspection-details p{color:var(--teal-800);margin:9px 0 0;font-size:11px;font-weight:750}.nfc-pairing-code{border:1px dashed var(--teal-500);text-align:center;background:#effbfa;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:16px;display:flex}.nfc-pairing-code span{color:var(--teal-800);text-transform:uppercase;font-size:11px;font-weight:800}.nfc-pairing-code strong{color:var(--navy-950);letter-spacing:.12em;font-size:36px}.nfc-pairing-code small{color:var(--slate-600)}.nfc-terminal-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.nfc-load-error{justify-content:space-between;align-items:center;gap:14px;margin:0;display:flex}.nfc-load-error .text-button{color:var(--red-700);flex:none}.nfc-terminal-list article{border:1px solid var(--slate-200);background:#f9fbfc;border-radius:11px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:12px;display:grid}.nfc-terminal-list article>div{flex-direction:column;min-width:0;display:flex}.nfc-terminal-identity strong{color:var(--navy-950);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.nfc-terminal-identity small{color:var(--slate-600);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.nfc-terminal-list article>.nfc-terminal-actions{grid-area:1/3/span 2;justify-content:center;align-items:flex-end;gap:5px}.nfc-terminal-list article>small{color:var(--slate-600);grid-column:2/-1;font-size:10px}.nfc-terminal-list article>.nfc-terminal-label-form{border-top:1px solid var(--slate-200);grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;padding-top:10px;display:grid}.nfc-terminal-label-form label{min-width:0;color:var(--navy-950);flex-direction:column;gap:5px;font-size:11px;font-weight:800;display:flex}.nfc-terminal-label-form input{border:1px solid var(--slate-300);width:100%;min-height:40px;color:var(--navy-950);font:inherit;border-radius:9px;padding:8px 10px;font-weight:650}.nfc-terminal-label-form label small{color:var(--slate-600);font-size:9px;font-weight:500}.nfc-terminal-list article>.nfc-terminal-label-form>div{flex-direction:row;gap:7px;display:flex}.nfc-terminal-label-form button{white-space:nowrap;min-height:40px}.nfc-terminal-state{border-radius:999px;align-items:center;gap:5px;padding:5px 8px;font-size:10px;font-weight:800;display:inline-flex}.nfc-terminal-state i{background:currentColor;border-radius:50%;width:7px;height:7px}.nfc-terminal-state.online{color:#16804b;background:#e7f8ed}.nfc-terminal-state.idle{color:var(--slate-600);background:#eef2f5}.nfc-terminal-state.revoked{color:#b42333;background:#fff0f1}@media (width<=900px){.nfc-connector-download{grid-template-columns:auto 1fr}.nfc-connector-download>a{grid-column:1/-1;justify-content:center}.nfc-pairing-form .operation-form-grid,.nfc-usb-tutorial ol,.nfc-usb-tutorial-notes,.nfc-usb-pending-list article,.nfc-admin-enrollment,.nfc-terminal-list,.nfc-terminal-list article>.nfc-terminal-label-form{grid-template-columns:1fr}.nfc-terminal-list article>.nfc-terminal-label-form>div{flex-wrap:wrap}.nfc-admin-code{grid-column:1}.nfc-inspection-details dl{grid-template-columns:1fr}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--canvas);color:var(--navy-950);margin:0;font-family:Arial,Helvetica,sans-serif}button,select{font:inherit}button{color:inherit}button,a,select{-webkit-tap-highlight-color:transparent}.app-shell{min-height:100vh}.topbar{z-index:20;border-bottom:1px solid var(--slate-200);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff5;position:sticky;top:0}.topbar-inner{width:min(1480px,100% - 40px);margin:0 auto}.topbar-primary{justify-content:space-between;align-items:center;gap:30px;min-height:78px;display:flex}.brand{min-width:0;color:inherit;align-items:center;gap:13px;text-decoration:none;display:flex}.brand-logo{border:1px solid var(--slate-200);background:#fff url(/school-logo.png?v=2) 50%/contain no-repeat;border-radius:12px;flex:0 0 60px;place-items:center;width:60px;height:60px;padding:2px;display:grid;overflow:hidden;box-shadow:0 4px 12px #0c2e4b14}.brand-logo img{object-fit:contain;width:100%;height:100%;display:block}.brand-name{color:var(--navy-950);letter-spacing:.02em;font-size:34px;font-weight:850}.brand-copy{border-left:1px solid var(--slate-200);flex-direction:column;gap:4px;min-width:0;max-width:480px;padding-left:13px;display:flex}.brand-copy strong,.brand-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.brand-copy strong{font-size:16px}.brand-copy small{color:var(--slate-700);font-size:14px}.main-nav{border-top:1px solid var(--slate-100);grid-template-rows:repeat(2,43px);grid-template-columns:repeat(7,minmax(0,1fr));justify-content:center;align-items:stretch;gap:0 7px;min-height:86px;display:grid}.main-nav button{color:#1f2f3e;cursor:pointer;background:0 0;border:0;flex:none;padding:0 8px;font-size:14px;position:relative}.main-nav button:after{content:"";background:0 0;border-radius:2px 2px 0 0;height:3px;position:absolute;bottom:0;left:12px;right:12px}.main-nav button:hover,.main-nav button.active{color:var(--teal-700)}.main-nav button.active:after{background:var(--teal-600)}.user-area{flex:none;align-items:center;gap:10px;display:flex}.notification-button{cursor:pointer;background:0 0;border:0;width:38px;height:38px;font-size:26px;position:relative}.notification-button i{color:var(--navy-900);font-style:normal;line-height:1;display:block}.notification-button.enabled i{color:var(--teal-700)}.notification-button b{background:var(--teal-700);color:#fff;border:2px solid #fff;border-radius:10px;place-items:center;min-width:18px;height:18px;font-size:10px;font-weight:800;display:grid;position:absolute;top:-1px;right:0}.push-notification-center{flex:none;position:relative}.push-notification-panel{z-index:220;border:1px solid var(--slate-200);width:min(410px,100vw - 24px);color:var(--navy-950);text-align:left;background:#fff;border-radius:15px;position:absolute;top:46px;right:0;overflow:hidden;box-shadow:0 22px 60px #05233e38}.push-panel-heading{border-bottom:1px solid var(--slate-200);justify-content:space-between;align-items:center;gap:12px;padding:15px 17px;display:flex}.push-panel-heading>div{gap:2px;display:grid}.push-panel-heading span{color:var(--teal-700);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:850}.push-panel-heading strong{font-size:16px}.push-panel-heading>button{background:var(--slate-100);cursor:pointer;width:30px;height:30px;color:var(--slate-700);border:0;border-radius:50%;font-size:20px;line-height:1}.push-device-status{background:#fff9ef;border:1px solid #f0cfa0;border-radius:10px;grid-template-columns:auto 1fr;gap:10px;margin:14px 15px 10px;padding:11px 12px;display:grid}.push-device-status.active{background:#effbf5;border-color:#a6dfc3}.push-device-status>span{color:#bd7310;font-size:14px}.push-device-status.active>span{color:#11965b}.push-device-status div{gap:3px;display:grid}.push-device-status strong{font-size:12px}.push-device-status small{color:var(--slate-600);font-size:11px;line-height:1.4}.push-panel-error,.push-ios-note{border-radius:8px;margin:8px 15px;padding:9px 10px;font-size:11px;line-height:1.45}.push-panel-error{color:#a42b39;background:#fff0f1}.push-ios-note{background:var(--blue-50);color:var(--navy-800)}.push-device-actions{padding:4px 15px 13px}.push-device-actions button{border:1px solid var(--slate-300);cursor:pointer;width:100%;min-height:36px;color:var(--navy-900);background:#fff;border-radius:8px;font-size:12px;font-weight:800}.push-device-actions button.primary{border-color:var(--teal-700);background:var(--teal-700);color:#fff}.push-device-actions button:disabled{cursor:wait;opacity:.55}.push-inbox-heading{border-top:1px solid var(--slate-200);border-bottom:1px solid var(--slate-200);justify-content:space-between;align-items:center;padding:10px 15px;display:flex}.push-inbox-heading strong{font-size:12px}.push-inbox-heading>div{align-items:center;gap:8px;display:flex}.push-inbox-heading span{color:var(--slate-500);font-size:10px}.push-inbox-heading button{cursor:pointer;color:#b4232f;background:0 0;border:0;padding:2px 0;font-size:10px;font-weight:800}.push-inbox-heading button:disabled{cursor:wait;opacity:.5}.push-inbox-list{max-height:360px;overflow-y:auto}.push-inbox-list>article{border-bottom:1px solid var(--slate-100);background:#fff;position:relative}.push-inbox-open{cursor:pointer;width:100%;color:inherit;text-align:left;background:0 0;border:0;grid-template-columns:7px minmax(0,1fr);gap:9px;padding:12px 42px 12px 15px;display:grid}.push-inbox-list>article.unread{background:#f2fbfb}.push-inbox-list>article:hover{background:var(--slate-50)}.push-inbox-delete{cursor:pointer;width:25px;height:25px;color:var(--slate-500);background:0 0;border:1px solid #0000;border-radius:50%;place-items:center;font-size:18px;line-height:1;display:grid;position:absolute;top:9px;right:10px}.push-inbox-delete:hover{color:#a42b39;background:#fff0f1;border-color:#f0bec3}.push-inbox-delete:disabled{cursor:wait;opacity:.5}.push-inbox-dot{background:0 0;border-radius:50%;width:7px;height:7px;margin-top:5px}.push-inbox-list>article.unread .push-inbox-dot{background:var(--teal-600)}.push-inbox-open>span:last-child{gap:3px;min-width:0;display:grid}.push-inbox-list small{color:var(--slate-500);font-size:9px}.push-inbox-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.push-inbox-list p{color:var(--slate-600);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:11px;line-height:1.4;display:-webkit-box;overflow:hidden}.push-inbox-empty{color:var(--slate-500);text-align:center;margin:0;padding:24px 15px;font-size:11px}.push-notification-detail-backdrop{z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#051d33ad;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow-y:auto}.push-notification-detail{width:min(720px,100%);max-height:min(760px,100vh - 48px);color:var(--navy-950);background:#fff;border:1px solid #ffffffa6;border-radius:20px;grid-template-rows:auto minmax(0,1fr) auto;display:grid;overflow:hidden;box-shadow:0 30px 90px #03192d61}.push-notification-detail>header{border-bottom:1px solid var(--slate-200);background:linear-gradient(135deg,#effafa 0%,#f5f9fd 100%);justify-content:space-between;align-items:flex-start;gap:22px;padding:24px 26px 21px;display:flex}.push-notification-detail>header>div{gap:6px;min-width:0;display:grid}.push-notification-detail>header span,.push-notification-detail-message>span{color:var(--teal-700);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:900}.push-notification-detail h2{color:var(--navy-950);overflow-wrap:anywhere;margin:0;font-size:clamp(22px,3vw,30px);line-height:1.2}.push-notification-detail time{color:var(--slate-600);font-size:12px;font-weight:700}.push-notification-detail>header>button{border:1px solid var(--slate-200);cursor:pointer;width:40px;height:40px;color:var(--slate-700);background:#fff;border-radius:50%;flex:0 0 40px;place-items:center;font-size:27px;line-height:1;display:grid}.push-notification-detail>header>button:hover,.push-notification-detail>header>button:focus-visible{border-color:var(--teal-600);color:var(--teal-700)}.push-notification-detail-message{padding:28px 30px 32px;overflow-y:auto}.push-notification-detail-message p{color:var(--navy-900);overflow-wrap:anywhere;white-space:pre-wrap;margin:13px 0 0;font-size:17px;line-height:1.75}.push-notification-detail>footer{border-top:1px solid var(--slate-200);background:var(--slate-50);justify-content:space-between;align-items:center;gap:18px;padding:15px 24px;display:flex}.push-notification-detail>footer span{color:var(--slate-500);font-size:11px;font-weight:800}.push-notification-detail>footer button{border:1px solid var(--teal-700);background:var(--teal-700);cursor:pointer;color:#fff;border-radius:9px;min-width:112px;padding:10px 18px;font-size:13px;font-weight:850}@media (width<=640px){.push-notification-detail-backdrop{align-items:end;padding:10px 10px 0}.push-notification-detail{border-radius:20px 20px 0 0;max-height:88vh}.push-notification-detail>header{padding:20px 18px 17px}.push-notification-detail-message{padding:23px 20px 28px}.push-notification-detail-message p{font-size:16px}.push-notification-detail>footer{padding:13px 18px calc(13px + env(safe-area-inset-bottom))}}.user-identity{align-items:center;gap:9px;min-width:0;display:flex}.avatar{border:3px solid var(--teal-100);background:linear-gradient(145deg, var(--navy-900), var(--teal-700));color:#fff;border-radius:50%;place-items:center;width:42px;height:42px;font-size:14px;font-weight:800;display:grid;overflow:hidden}.user-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.user-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.user-copy small{max-width:170px;color:var(--slate-500);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.dashboard{width:min(1480px,100% - 48px);margin:0 auto;padding:34px 0 32px}.page-header{justify-content:space-between;align-items:center;gap:28px;margin-bottom:25px;display:flex}.eyebrow{color:var(--teal-700);letter-spacing:.13em;text-transform:uppercase;margin-bottom:6px;font-size:14px;font-weight:800}.page-header h1{color:var(--navy-950);letter-spacing:-.035em;margin:0;font-size:clamp(30px,3vw,42px);font-weight:790}.page-header p{color:var(--slate-700);margin:8px 0 0;font-size:18px}.header-actions{align-items:center;gap:12px;display:flex}.online-pill,.live-pill,.period-chip,.status-badge{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.online-pill{color:#126f47;background:#f0fbf5;border:1px solid #b7dec9;border-radius:8px;min-height:42px;padding:0 16px;font-size:15px;font-weight:700}.online-pill i,.live-pill i{background:#12a15c;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 5px #12a15c1a}.primary-button,.secondary-button{cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:0 20px;font-size:16px;font-weight:750;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex}.primary-button:hover,.secondary-button:hover{transform:translateY(-1px)}.primary-button{border:1px solid var(--teal-700);color:#fff;background:linear-gradient(135deg,#079a9c,#007b7e);box-shadow:0 8px 18px #007d802b}.secondary-button{border:1px solid var(--navy-900);color:var(--navy-950);background:#fff}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:20px;display:grid}.kpi-card{border:1px solid var(--slate-200);min-height:145px;color:inherit;cursor:pointer;font:inherit;text-align:left;background:#fff;border-radius:10px;align-items:center;gap:22px;padding:22px;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex;position:relative;box-shadow:0 4px 16px #13375309}.kpi-card:hover{border-color:#8acbcb;transform:translateY(-2px);box-shadow:0 10px 24px #1337531a}.kpi-card:focus-visible{outline-offset:3px;outline:3px solid #008f9140}.kpi-card-arrow{color:var(--teal-700);opacity:0;font-size:20px;font-weight:800;transition:opacity .16s,transform .16s;position:absolute;top:14px;right:16px;transform:translate(-5px)}.kpi-card:hover .kpi-card-arrow,.kpi-card:focus-visible .kpi-card-arrow{opacity:1;transform:translate(0)}.kpi-icon{border-radius:15px;flex:0 0 74px;place-items:center;width:74px;height:74px;font-size:38px;font-weight:400;display:grid}.kpi-icon.teal{background:var(--teal-100);color:var(--teal-700)}.kpi-icon.green{background:var(--green-100);color:var(--green-700)}.kpi-icon.blue{background:var(--blue-100);color:var(--blue-700)}.kpi-icon.amber{background:var(--amber-100);color:#ee8b00}.kpi-icon.red{background:var(--red-100);color:#e23c45}.kpi-copy{flex-direction:column;min-width:0;display:flex}.kpi-copy>span{color:var(--slate-700);font-size:16px}.kpi-copy>strong{color:var(--navy-950);letter-spacing:-.04em;margin:3px 0 7px;font-size:41px;line-height:1}.kpi-copy small{color:var(--slate-500);align-items:center;gap:12px;font-size:14px;display:flex}.kpi-copy small b{font-weight:700}.trend-green{color:#1a9a57}.trend-red{color:#dc4650}.content-grid{grid-template-columns:minmax(0,2.05fr) minmax(320px,.95fr);gap:20px;display:grid}.activity-card,.side-card{border:1px solid var(--slate-200);box-shadow:var(--shadow);background:#fff;border-radius:10px}.activity-card{overflow:hidden}.activity-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;min-height:76px;padding:15px 22px;display:flex}.title-row,.filters{align-items:center;gap:12px;display:flex}.filters{flex:650px;grid-template-columns:repeat(3,minmax(150px,1fr));justify-content:end;display:grid}.title-row h2,.card-heading h2{color:var(--navy-950);letter-spacing:-.02em;margin:0;font-size:21px}.live-pill{color:#117346;background:#f2fbf6;border:1px solid #afdcc3;border-radius:7px;min-height:30px;padding:0 10px;font-size:14px;font-weight:750}.live-pill i{width:7px;height:7px}.filters select{border:1px solid var(--slate-300);color:#2b3f51;cursor:pointer;background:#fff;border-radius:7px;outline:none;width:100%;min-width:0;height:40px;padding:0 36px 0 12px;font-size:14px}.filters select:focus{border-color:var(--teal-600);box-shadow:0 0 0 3px #008f921f}.activity-table-wrap{border-top:1px solid var(--slate-200);border-bottom:1px solid var(--slate-200);overflow-x:auto}.activity-table{border-collapse:collapse;width:100%}.activity-table th,.activity-table td{text-align:left;padding:12px 18px}.activity-table th{color:var(--slate-700);background:#fbfcfd;font-size:14px;font-weight:700}.activity-table td{border-top:1px solid var(--slate-100);color:#25394b;font-size:14px}.activity-table tbody tr{transition:background .14s}.activity-table tbody tr:hover{background:var(--teal-50)}.activity-table tbody tr.activity-row-profile,.activity-table tbody tr.activity-row-followup{cursor:pointer}.activity-table tbody tr.activity-row-followup:focus-visible{z-index:1;outline-offset:-3px;background:var(--teal-50);outline:3px solid #008f9252;position:relative}.student{align-items:center;gap:11px;min-width:220px;display:flex}.student-avatar{width:38px;height:38px;color:var(--teal-700);box-shadow:0 0 0 1px var(--slate-200);background:linear-gradient(145deg,#d7e8ec,#e7f4f2);border:2px solid #fff;border-radius:50%;flex:0 0 38px;place-items:center;font-size:14px;font-weight:850;display:grid}.student-avatar,.profile-avatar,.large-student-avatar,.student-profile-avatar,.student-portal-user>span{overflow:hidden}.student-photo-image,.user-photo-image{border-radius:inherit;object-fit:cover;object-position:center;width:100%;height:100%;display:block}.student-photo-expand-trigger{border-radius:inherit;cursor:zoom-in;width:100%;height:100%;display:block;overflow:hidden}.student-photo-expand-trigger:focus-visible{outline-offset:2px;outline:3px solid #008f9273}.student-photo-lightbox{z-index:100000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#031221d1;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.student-photo-lightbox-card{background:#fff;border:1px solid #ffffff47;border-radius:18px;justify-items:center;gap:12px;max-width:min(92vw,760px);max-height:92vh;padding:18px;display:grid;position:relative;box-shadow:0 28px 80px #00000061}.student-photo-lightbox-card>img{object-fit:contain;border-radius:12px;max-width:100%;max-height:calc(92vh - 86px);display:block}.student-photo-lightbox-card>p{color:var(--navy-900);text-align:center;margin:0;font-size:13px;font-weight:800}.student-photo-lightbox-close{z-index:1;background:var(--navy-900);color:#fff;cursor:pointer;border:2px solid #fff;border-radius:50%;width:42px;height:42px;font-size:26px;line-height:1;position:absolute;top:-14px;right:-14px}.form-photo-field{background:linear-gradient(135deg,#f2fbfa,#f7fbfd);border:1px solid #b8d9d7;border-radius:10px;align-items:center;gap:16px;padding:14px 16px;display:flex}.form-photo-preview{background:linear-gradient(145deg, var(--navy-900), var(--teal-700));color:#fff;border:3px solid #fff;border-radius:50%;flex:0 0 78px;place-items:center;width:78px;height:78px;font-size:20px;font-weight:850;display:grid;overflow:hidden;box-shadow:0 0 0 1px #b8d9d7,0 8px 20px #08233f1f}.form-photo-preview img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.form-photo-field>div:last-child{flex-direction:column;align-items:flex-start;gap:5px;display:flex}.form-photo-field strong{color:var(--navy-950);font-size:14px}.form-photo-field small{color:var(--slate-500);font-size:12px}.form-photo-picker{cursor:pointer;background:#fff;border:1px solid #9dcfcb;border-radius:7px;justify-content:center;align-items:center;min-height:35px;margin-top:4px;padding:7px 11px;color:var(--teal-700)!important;font-size:12px!important;font-weight:800!important;display:inline-flex!important}.form-photo-picker input{display:none}.student div:last-child{flex-direction:column;gap:4px;min-width:0;display:flex}.student strong,.hospital-name{color:var(--navy-950);font-weight:750}.student small,.area-name{color:var(--slate-500);font-size:13px}.hospital-name,.area-name{white-space:nowrap;display:block}.area-name{margin-top:4px}.activity-table time{font-weight:750}.status-badge{border:1px solid;border-radius:6px;justify-content:center;min-width:84px;padding:6px 9px;font-size:13px;font-weight:750}.status-dot{border-radius:50%;width:7px;height:7px}.status-entrada{background:var(--green-100);color:var(--green-700);border-color:#b8e0c9}.status-entrada .status-dot{background:#16a05b}.status-entrada-manual{color:#087790;background:#eaf7fb;border-color:#b9ddea}.status-entrada-manual .status-dot{background:#1596ae}.status-asistencia{background:var(--green-100);color:var(--green-700);border-color:#b8e0c9}.status-asistencia .status-dot{background:#16a05b}.status-salida{background:var(--blue-100);color:var(--blue-700);border-color:#bad7f3}.status-salida .status-dot{background:#2583d5}.status-retardo{background:var(--amber-100);color:var(--amber-700);border-color:#f4cf98}.status-retardo .status-dot{background:#ed930c}.status-incidencia{background:var(--red-100);color:var(--red-700);border-color:#f0b8bd}.status-incidencia .status-dot{background:#d94852}.status-falta,.status-falta-por-3er-retardo{background:var(--red-100);color:var(--red-700);border-color:#f0b8bd}.status-falta .status-dot,.status-falta-por-3er-retardo .status-dot{background:#d94852}.status-incapacidad{color:#087d78;background:#e5f7f5;border-color:#9dd8d4}.status-incapacidad .status-dot{background:#078b86}.status-permiso-especial{color:#355267;background:#edf3f6;border-color:#b9cbd7}.status-permiso-especial .status-dot{background:#4f7189}.status-observacion{color:#087790;background:#eaf7fb;border-color:#b9ddea}.status-observacion .status-dot{background:#1596ae}.status-pendiente{background:var(--amber-100);color:var(--amber-700);border-color:#f4cf98}.status-pendiente .status-dot{background:#ed930c}.view-all{width:100%;min-height:54px;color:var(--teal-700);cursor:pointer;background:#fff;border:0;font-size:15px;font-weight:800}.view-all span{margin-left:8px;font-size:20px}.view-all:hover{background:var(--teal-50)}.empty-state{color:var(--slate-500);text-align:center;padding:50px 20px;font-size:15px}.side-column{flex-direction:column;gap:20px;display:flex}.side-card{padding:20px}.card-heading{border-bottom:1px solid var(--slate-200);justify-content:space-between;align-items:center;gap:12px;min-height:32px;padding-bottom:13px;display:flex}.text-button{color:var(--teal-700);cursor:pointer;background:0 0;border:0;font-size:13px;font-weight:750}.text-button.danger-text-button{color:#b42318}.text-button.danger-text-button:hover{color:#7a1710;text-decoration:underline}.month-row{justify-content:space-between;align-items:center;padding:16px 5px 11px;display:flex}.month-row button{cursor:pointer;background:0 0;border:0;border-radius:50%;width:30px;height:30px;font-size:25px}.month-row button:hover{background:var(--slate-100)}.month-row strong{font-size:15px}.mini-calendar-weekdays{grid-template-columns:repeat(7,1fr);gap:6px;margin:0 0 6px;display:grid}.mini-calendar-weekdays span{color:var(--slate-500);text-align:center;font-size:12px}.mini-calendar{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.mini-calendar>button{min-height:38px;color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:0;display:flex;position:relative}.mini-calendar>button:hover:not(.selected):not(:disabled),.mini-calendar>button:focus-visible:not(.selected){background:var(--slate-100)}.mini-calendar>button:disabled{cursor:default}.mini-calendar span{color:var(--slate-500);font-size:12px}.mini-calendar strong{font-size:14px}.mini-calendar .muted strong{color:#8fa0ae}.mini-calendar>button.monitor-day-past-practice:not(.selected){color:#087b77;background:#e9f7f5}.mini-calendar>button.monitor-day-past-practice.muted:not(.selected){background:#f1f7f6}.mini-calendar .monitor-calendar-practice-marker{position:absolute;bottom:4px}.monitor-calendar-practice-marker{background:#0b938b;border-radius:50%;flex:none;width:5px;height:5px}.mini-calendar .selected .monitor-calendar-practice-marker{background:#fff}.monitor-calendar-practice-legend{color:var(--slate-500);align-items:center;gap:7px;margin:10px 0 0;font-size:11px;display:flex}.mini-calendar .selected{color:#fff;background:linear-gradient(145deg,#0b9a9b,#00787c);box-shadow:0 6px 14px #007d8033}.mini-calendar .selected span{color:#dffffc}.monitor-calendar-message{color:var(--slate-500);margin:10px 0 0;font-size:12px}.monitor-calendar-message.error{color:#b42318}.calendar-summary{border-top:1px solid var(--slate-100);grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px;padding-top:14px;display:grid}.calendar-summary>div{flex-direction:column;gap:7px;display:flex}.calendar-summary span{color:var(--slate-500);align-items:center;gap:5px;font-size:11px;display:flex}.calendar-summary strong{padding-left:13px;font-size:16px}.legend-dot{border-radius:50%;width:7px;height:7px;display:inline-block}.legend-dot.green{background:#16a05b}.legend-dot.blue{background:#2583d5}.legend-dot.amber{background:#ed930c}.legend-dot.red{background:#d94852}.period-chip{background:var(--slate-100);color:var(--slate-700);border-radius:10px;padding:5px 8px;font-size:11px;font-weight:750}.hours-main{justify-content:space-between;align-items:center;gap:16px;padding:18px 4px 13px;display:flex}.hours-main>div:first-child{flex-direction:column;gap:7px;display:flex}.hours-main strong{color:var(--teal-700);font-size:25px}.hours-main strong small{font-size:16px}.hours-main span{color:var(--slate-700);font-size:14px}.ring{border:6px solid var(--teal-600);border-left-color:var(--slate-100);width:60px;height:60px;color:var(--teal-700);border-radius:50%;place-items:center;font-size:14px;font-weight:850;display:grid;transform:rotate(-16deg)}.progress-track{background:var(--slate-100);border-radius:5px;height:20px;overflow:hidden}.progress-track span{background:linear-gradient(90deg,#079a9c,#007b7e);border-radius:5px;height:100%;display:block}.progress-labels{color:var(--slate-500);justify-content:space-between;align-items:center;margin-top:10px;font-size:13px;display:flex}.progress-labels strong{color:var(--navy-700)}.site-footer{width:min(1480px,100% - 48px);color:var(--slate-500);justify-content:space-between;gap:20px;margin:0 auto;padding:4px 0 24px;font-size:13px;display:flex}.toast{z-index:50;max-width:min(380px,100vw - 48px);color:var(--navy-950);background:#fff;border:1px solid #b7dec9;border-radius:9px;align-items:center;gap:10px;padding:14px 18px;font-size:14px;font-weight:700;animation:.18s ease-out toast-in;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 18px 48px #08233f2e}.toast span{background:var(--green-100);width:22px;height:22px;color:var(--green-700);border-radius:50%;place-items:center;display:grid}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.module-header{justify-content:space-between;align-items:center;gap:28px;margin-bottom:25px;display:flex}.module-header h1{letter-spacing:-.035em;margin:0;font-size:clamp(30px,3vw,42px)}.module-header p{max-width:720px;color:var(--slate-700);margin:8px 0 0;font-size:17px}.module-actions,.welcome-actions{align-items:center;gap:12px;display:flex}.welcome-panel{color:#fff;background:radial-gradient(circle at 92% 20%,#31cac03d,#0000 31%),linear-gradient(125deg,#082946 0%,#0a3a57 60%,#087578 125%);border-radius:15px;justify-content:space-between;align-items:center;gap:40px;min-height:230px;padding:36px 40px;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 45px #08233f29}.welcome-panel:after{content:"";border:1px solid #ffffff1f;border-radius:50%;width:310px;height:310px;position:absolute;bottom:-105px;right:-65px;box-shadow:0 0 0 32px #ffffff08,0 0 0 70px #ffffff06}.welcome-kicker{color:#8de3db;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px;font-size:14px;font-weight:800;display:block}.welcome-panel h1{letter-spacing:-.035em;margin:0;font-size:clamp(29px,3.1vw,45px)}.welcome-panel p{color:#d7e8ef;max-width:720px;margin:12px 0 24px;font-size:17px;line-height:1.65}.welcome-panel .secondary-button{color:#fff;background:#ffffff0f;border-color:#ffffff80}.system-health{z-index:2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #ffffff2e;border-radius:12px;align-items:center;gap:14px;min-width:285px;padding:18px;display:flex;position:relative}.health-icon{background:#1ab26b;border-radius:50%;place-items:center;width:39px;height:39px;font-weight:900;display:grid}.system-health div{flex-direction:column;gap:5px;display:flex}.system-health strong{font-size:14px}.system-health small{color:#c7dce4;font-size:12px}.home-metrics,.student-summary,.rotation-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:20px 0;display:grid}.student-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.home-metrics{grid-template-columns:1fr 1fr 1.1fr}.home-metrics article,.student-summary-card,.rotation-metrics article{border:1px solid var(--slate-200);background:#fff;border-radius:10px;flex-direction:column;min-height:132px;padding:20px 22px;display:flex;box-shadow:0 4px 16px #13375309}.student-summary-card{appearance:none;width:100%;color:var(--navy-900);font:inherit;text-align:left;cursor:pointer;transition:border-color .16s,box-shadow .16s,transform .16s,background .16s;position:relative}.student-summary-card:hover{border-color:#58bfc0;transform:translateY(-2px);box-shadow:0 10px 24px #02797e1a}.student-summary-card:focus-visible{outline-offset:2px;outline:3px solid #05969d40}.student-summary-card[aria-pressed=true]{border-color:var(--teal-600);background:var(--teal-50);box-shadow:0 0 0 2px #05969d1f}.student-summary-card em{color:var(--teal-700);margin-top:auto;padding-top:12px;font-size:12px;font-style:normal;font-weight:800}.home-metrics span,.student-summary-card span,.rotation-metrics span{color:var(--slate-700);font-size:14px}.home-metrics strong,.student-summary-card strong,.rotation-metrics strong{letter-spacing:-.035em;margin:7px 0 10px;font-size:29px}.home-metrics small,.student-summary-card small,.rotation-metrics small{color:var(--slate-500);font-size:13px}.thin-progress{background:var(--slate-100);border-radius:6px;height:6px;margin-bottom:10px;overflow:hidden}.thin-progress i{background:var(--teal-600);border-radius:6px;height:100%;display:block}.home-metrics ul{color:var(--slate-700);margin:2px 0 0;padding:0;font-size:13px;line-height:1.8;list-style:none}.home-metrics li:before{color:#dd7d0b;content:"•";margin-right:7px}.home-grid{grid-template-columns:minmax(0,1.75fr) minmax(330px,.65fr);gap:20px;display:grid}.panel-card{border:1px solid var(--slate-200);box-shadow:var(--shadow);background:#fff;border-radius:10px;padding:22px}.panel-title,.section-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.panel-title>div,.section-heading>div{flex-direction:column;gap:5px;display:flex}.panel-title span,.section-heading span,.report-builder-title span{color:var(--teal-700);letter-spacing:.1em;text-transform:uppercase;font-size:12px;font-weight:800}.panel-title h2,.section-heading h2,.report-builder-title h2{letter-spacing:-.025em;margin:0;font-size:20px}.hospital-list,.event-list{margin-top:16px}.hospital-list-button{appearance:none;border-top:1px solid var(--slate-100);width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border-bottom:0;border-left:0;border-right:0;grid-template-columns:34px minmax(230px,1fr) minmax(300px,auto) 66px 24px;align-items:center;gap:12px;padding:12px 0;transition:background .16s,transform .16s;display:grid}.hospital-list-button:first-child{border-top:0}.hospital-list-button:hover,.hospital-list-button:focus-visible{z-index:1;background:var(--teal-50);border-radius:9px;outline:none;transform:translate(3px)}.hospital-index{background:var(--teal-100);width:29px;height:29px;color:var(--teal-700);border-radius:7px;place-items:center;font-size:13px;font-weight:850;display:grid}.hospital-list-name{flex-direction:column;gap:3px;min-width:0;display:flex}.hospital-list-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.hospital-list-name small{color:var(--slate-500);font-size:11px}.hospital-attendance{text-align:right;flex-direction:column;align-items:flex-end;gap:4px;display:flex}.hospital-total-students{justify-content:flex-end;align-items:baseline;gap:7px;display:flex}.hospital-total-students b{color:var(--slate-600);font-size:10px;font-weight:750}.hospital-total-students strong,.hospital-shift-attendance strong{color:var(--teal-800);font-size:14px}.hospital-shift-attendance{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.hospital-shift-attendance>span{background:var(--teal-50);border-radius:999px;align-items:baseline;gap:5px;padding:4px 8px;display:inline-flex}.hospital-shift-attendance b{color:var(--navy-900);font-size:11px;font-weight:900}.hospital-shift-attendance strong{font-size:12px}.hospital-no-shifts,.hospital-attendance small,.hospital-area-count{color:var(--slate-500);font-size:11px}.hospital-area-count{text-align:right}.hospital-open-arrow{color:var(--teal-700);text-align:right;font-size:17px;font-weight:800;transition:transform .16s}.hospital-list-button:hover .hospital-open-arrow,.hospital-list-button:focus-visible .hospital-open-arrow{transform:translate(3px)}.hospital-detail-hero{color:#fff;background:radial-gradient(circle at 93% 8%,#2dd4bf2e 0 105px,#0000 106px),linear-gradient(120deg,#0b3451 0%,#0b4960 58%,#0b7b7e 100%);border-radius:14px;padding:26px 34px 0;position:relative;overflow:hidden;box-shadow:0 18px 40px #0f2d3f24}.hospital-back-button{color:#baf8ef;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0;font-size:13px;font-weight:800;display:inline-flex}.hospital-back-button:hover,.hospital-back-button:focus-visible{color:#fff;outline:none}.hospital-detail-heading{justify-content:space-between;align-items:center;gap:28px;padding:24px 0 28px;display:flex}.hospital-detail-kicker{color:#79f0df;letter-spacing:.11em;text-transform:uppercase;margin-bottom:7px;font-size:12px;font-weight:850;display:block}.hospital-detail-heading h1{letter-spacing:-.035em;margin:0;font-size:clamp(28px,3vw,42px)}.hospital-detail-heading p{color:#d4edf2;margin:8px 0 0;font-size:14px}.hospital-online-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1a;border:1px solid #fff3;border-radius:11px;align-items:center;gap:13px;min-width:265px;padding:15px 17px;display:flex}.hospital-online-icon{background:#20bf73;border-radius:50%;flex:0 0 38px;place-items:center;width:38px;height:38px;font-size:20px;font-weight:900;display:grid}.hospital-online-card div{flex-direction:column;gap:4px;display:flex}.hospital-online-card strong{font-size:13px}.hospital-online-card small{color:#cbe9ed;font-size:11px}.hospital-coordinator-strip{background:#03273b52;border-top:1px solid #ffffff26;grid-template-columns:1fr 1fr auto;align-items:center;gap:26px;margin:0 -34px;padding:17px 34px;display:grid}.hospital-detail-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.hospital-coordinator-strip>div{flex-direction:column;gap:4px;display:flex}.hospital-coordinator-strip span{color:#9edee0;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:800}.hospital-coordinator-strip strong{font-size:13px}.hospital-coordinator-strip .secondary-button{color:#fff;background:#ffffff14;border-color:#fff6}.hospital-coordinator-strip .secondary-button:hover,.hospital-coordinator-strip .secondary-button:focus-visible{background:#ffffff2e}.hospital-detail-metrics{grid-template-columns:1.55fr repeat(4,1fr);gap:16px;margin-top:18px;display:grid}.hospital-record-count{border-radius:999px;place-items:center;min-width:29px;min-height:27px;font-weight:850;display:inline-grid}.hospital-record-count.alert{background:var(--red-100);color:var(--red-700)}.hospital-record-count.note{background:var(--blue-100);color:var(--blue-700)}.hospital-detail-metrics article{border:1px solid var(--slate-200);min-width:0;box-shadow:var(--shadow);background:#fff;border-radius:11px;padding:18px 20px}.hospital-detail-metrics article>span{color:var(--slate-500);font-size:12px;font-weight:750}.hospital-detail-metrics article>strong{color:var(--slate-950);letter-spacing:-.035em;margin-top:7px;font-size:27px;display:block}.hospital-detail-metrics article>strong small{color:var(--slate-500);letter-spacing:0;font-size:13px;font-weight:700}.hospital-detail-metrics article p{color:var(--slate-500);margin:7px 0 0;font-size:11px}.hospital-attendance-main .thin-progress{margin-top:10px}.hospital-detail-grid{grid-template-columns:minmax(0,1.65fr) minmax(260px,.65fr);gap:18px;margin-top:18px;display:grid}.hospital-count-chip{background:var(--teal-50);border-radius:999px;padding:7px 10px;color:var(--teal-700)!important;font-size:10px!important}.hospital-area-list{margin-top:13px}.hospital-area-row{border-top:1px solid var(--slate-100);grid-template-columns:minmax(180px,1.2fr) minmax(150px,1fr) minmax(110px,.65fr) 102px;align-items:center;gap:15px;padding:13px 0;display:grid}.hospital-area-row:first-child{border-top:0}.hospital-area-name{align-items:center;gap:10px;min-width:0;display:flex}.hospital-area-name>span{background:var(--teal-50);width:31px;height:31px;color:var(--teal-700);border-radius:8px;flex:0 0 31px;place-items:center;font-size:13px;font-weight:850;display:grid}.hospital-area-name div,.hospital-area-shift{flex-direction:column;gap:3px;min-width:0;display:flex}.hospital-area-name strong,.hospital-area-shift strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.hospital-area-name small,.hospital-area-shift span{color:var(--slate-500);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.hospital-area-attendance{flex-direction:column;gap:5px;display:flex}.hospital-area-attendance>span{color:var(--slate-700);font-size:11px;font-weight:800}.hospital-area-attendance>div{background:var(--slate-100);border-radius:999px;height:5px;overflow:hidden}.hospital-area-attendance i{border-radius:inherit;background:var(--teal-600);height:100%;display:block}.hospital-area-incident{color:#16835d;text-align:center;background:#edf9f4;border-radius:999px;padding:6px 8px;font-size:9px;font-weight:800}.hospital-area-incident.has-incident{color:#ae6500;background:#fff4e5}.hospital-turn-summary{flex-direction:column;display:flex}.hospital-turn-summary dl{margin:13px 0 18px}.hospital-turn-summary dl div{border-top:1px solid var(--slate-100);justify-content:space-between;align-items:center;gap:12px;padding:11px 0;display:flex}.hospital-turn-summary dl div:first-child{border-top:0}.hospital-turn-summary dt{color:var(--slate-500);font-size:11px}.hospital-turn-summary dd{color:var(--slate-900);text-align:right;margin:0;font-size:12px;font-weight:800}.hospital-turn-summary .primary-button{width:100%;margin-top:auto}.hospital-students-card{margin-top:18px}.hospital-students-heading{justify-content:space-between;align-items:flex-end;gap:22px;margin-bottom:15px;display:flex}.hospital-students-heading>div:first-child>span{color:var(--teal-700);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:850}.hospital-students-heading h2{margin:4px 0 0;font-size:20px}.hospital-students-heading p{color:var(--slate-500);margin:5px 0 0;font-size:11px}.hospital-student-filters{align-items:center;gap:10px;display:flex}.hospital-student-filters .search-box{min-width:245px}.hospital-student-filters select{border:1px solid var(--slate-200);min-width:170px;color:var(--slate-700);font:inherit;background:#fff;border-radius:8px;padding:10px 12px;font-size:11px}.hospital-student-table td{white-space:nowrap}.hospital-student-status{color:#137653;background:#eaf8f2;border-radius:999px;justify-content:center;align-items:center;min-width:72px;padding:6px 9px;font-size:10px;font-weight:850;display:inline-flex}.hospital-student-status.status-retardo,.hospital-student-status.status-pendiente{color:#9c5e00;background:#fff4df}.hospital-student-status.status-falta,.hospital-student-status.status-falta-por-3er-retardo{color:#b83d38;background:#ffe9e8}.hospital-student-status.status-incapacidad{color:#087d78;background:#e5f4f4}.hospital-student-status.status-permiso-especial{color:#355267;background:#edf3f6}.hospital-students-footer{border-top:1px solid var(--slate-100);color:var(--slate-500);justify-content:space-between;align-items:center;gap:18px;padding-top:13px;font-size:10px;display:flex}.event-list-item{appearance:none;border:0;border-left:3px solid var(--teal-200);width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;grid-template-columns:66px minmax(0,1fr) 18px;align-items:center;gap:12px;padding:8px 0 8px 15px;transition:background .16s,transform .16s;display:grid}.event-list-item:hover,.event-list-item:focus-visible{background:var(--teal-50);border-radius:8px;outline:none;transform:translate(3px)}.event-list-item.tone-blue{border-left-color:#93c5fd}.event-list-item.tone-amber{border-left-color:#f7c46c}.event-list-item.tone-red{border-left-color:#f59a9a}.event-list-item time{color:var(--teal-700);font-size:13px;font-weight:800}.event-list-item span{color:var(--slate-500);flex-direction:column;gap:4px;font-size:12px;display:flex}.event-list-item b{color:var(--navy-950);font-size:14px}.event-list-item>i{color:var(--teal-700);font-size:16px;font-style:normal}.event-list-empty{border:1px dashed var(--teal-200);background:var(--teal-50);border-radius:10px;align-items:center;gap:12px;padding:18px;display:flex}.event-list-empty>span{width:34px;height:34px;color:var(--teal-700);background:#fff;border-radius:50%;place-items:center;font-size:17px;font-weight:900;display:grid}.event-list-empty>div{flex-direction:column;gap:4px;display:flex}.event-list-empty b{color:var(--navy-950);font-size:14px}.event-list-empty small{color:var(--slate-500);font-size:12px}.calendar-layout{grid-template-columns:minmax(0,2.2fr) minmax(280px,.8fr);gap:20px;display:grid}.full-calendar-card{padding:0;overflow:hidden}.calendar-controls{border-bottom:1px solid var(--slate-200);justify-content:space-between;align-items:center;gap:20px;min-height:70px;padding:15px 20px;display:flex}.calendar-controls>div{align-items:center;gap:13px;display:flex}.calendar-controls h2{text-align:center;min-width:125px;margin:0;font-size:19px}.calendar-controls button{border:1px solid var(--slate-200);cursor:pointer;background:#fff;border-radius:7px;width:31px;height:31px;font-size:20px}.calendar-filters select,.data-toolbar select,.report-form select,.report-form input{border:1px solid var(--slate-300);height:39px;color:var(--navy-950);background:#fff;border-radius:7px;outline:none;padding:0 12px;font-size:13px}.calendar-filters{grid-template-columns:repeat(4,minmax(145px,1fr));min-width:690px;gap:10px!important;display:grid!important}.calendar-interaction-hint{border-bottom:1px solid var(--slate-200);background:var(--teal-50);min-height:37px;color:var(--teal-700);align-items:center;gap:8px;padding:8px 20px;font-size:11px;font-weight:750;display:flex}.calendar-interaction-hint span{background:var(--teal-100);border-radius:6px;place-items:center;width:21px;height:21px;font-size:12px;display:grid}.calendar-filters select:focus,.data-toolbar select:focus,.report-form select:focus,.report-form input:focus,.search-box input:focus{border-color:var(--teal-600);box-shadow:0 0 0 3px #008f921a}.weekday-row{border-bottom:1px solid var(--slate-200);background:#f9fbfc;grid-template-columns:repeat(7,1fr);display:grid}.weekday-row span{color:var(--slate-500);text-align:center;padding:10px;font-size:12px;font-weight:750}.month-grid{grid-template-columns:repeat(7,1fr);display:grid}.month-grid.weekly-grid .day-cell{min-height:260px}.day-cell{border:0;border-right:1px solid var(--slate-100);border-bottom:1px solid var(--slate-100);cursor:pointer;text-align:left;background:#fff;flex-direction:column;align-items:stretch;gap:10px;min-height:112px;padding:10px;display:flex}.day-cell:hover{background:var(--teal-50)}.day-cell.selected{z-index:1;background:#f1fbfa;position:relative;box-shadow:inset 0 0 0 2px #008b8d7a}.day-cell:focus-visible{z-index:2;outline-offset:-3px;outline:3px solid #008f9138}.day-cell>strong{border-radius:50%;place-items:center;width:26px;height:26px;font-size:13px;display:grid}.day-cell.muted{color:#9baab7;background:#fbfcfd}.day-cell.today>strong{background:var(--teal-700);color:#fff}.day-cell.calendar-past-practice{color:#43576a;background:#eef2f5}.day-cell.calendar-past-practice:hover{background:#e4eaee}.day-cell.calendar-day-off{color:#087d78;background:#e1f7f6}.day-cell.calendar-day-off:hover{background:#d3f1ef}.day-cell.calendar-past-practice.selected,.day-cell.calendar-day-off.selected{box-shadow:inset 0 0 0 2px #008b8d94}.calendar-cell-marker{background:#ffffffb8;border-radius:999px;align-items:center;gap:5px;width:fit-content;padding:4px 7px;font-size:9px;font-weight:800;display:inline-flex}.calendar-cell-marker:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.day-events{flex-direction:column;gap:4px;display:flex}.day-events i{text-overflow:ellipsis;white-space:nowrap;border-left:3px solid;border-radius:3px;padding:5px 6px;font-size:11px;font-style:normal;font-weight:700;overflow:hidden}.event-teal{color:#087477;background:#e5f6f4;border-color:#0a9696!important}.event-blue{color:#1d65a5;background:#eaf3fb;border-color:#267fcb!important}.event-amber{color:#a45f06;background:#fff3dd;border-color:#e89514!important}.event-red{color:#b3333c;background:#fdebed;border-color:#da4852!important}.event-purple{color:#68409e;background:#f1eafa;border-color:#8258bd!important}.event-cyan{color:#177c8e;background:#e7f7fa;border-color:#21a9c0!important}.calendar-aside{flex-direction:column;gap:20px;display:flex}.day-summary-list{margin-top:13px}.day-summary-list>div{border-top:1px solid var(--slate-100);align-items:center;gap:12px;padding:13px 0;display:flex}.day-summary-list>div:first-child{border-top:0}.summary-icon{border-radius:8px;flex:0 0 33px;place-items:center;width:33px;height:33px;font-size:15px;font-style:normal;font-weight:850;display:grid}.summary-icon.green{background:var(--green-100);color:var(--green-700)}.summary-icon.amber{background:var(--amber-100);color:var(--amber-700)}.summary-icon.red{background:var(--red-100);color:var(--red-700)}.summary-icon.purple{color:#68409e;background:#f1eafa}.summary-icon.magenta{color:#a52b70;background:#fbe7f4}.summary-icon.cyan{color:#177c8e;background:#e7f7fa}.day-summary-list span{color:var(--slate-500);flex-direction:column;gap:4px;font-size:12px;display:flex}.day-summary-list b{color:var(--navy-950);font-size:14px}.calendar-open-day-button{background:var(--teal-50);width:100%;min-height:41px;color:var(--teal-700);cursor:pointer;font:inherit;border:1px solid #afd9d6;border-radius:8px;font-size:12px;font-weight:850}.calendar-day-off-button{color:#8f6509;cursor:pointer;width:100%;min-height:41px;font:inherit;background:#fff8df;border:1px solid #e7c67e;border-radius:8px;margin-bottom:9px;font-size:12px;font-weight:850}.calendar-day-off-button:hover,.calendar-day-off-button:focus-visible{border-color:var(--amber-700);background:var(--amber-100);outline:none}.calendar-day-off-header-actions,.calendar-day-off-aside-actions,.profile-day-off-choice-buttons{gap:8px;display:flex}.calendar-day-off-aside-actions{margin-bottom:9px}.calendar-day-off-aside-actions .calendar-day-off-button{margin-bottom:0}.calendar-day-off-button.neutral,.day-off-button.neutral{border-color:var(--slate-300);background:var(--slate-50);color:var(--slate-700)}.profile-day-off-choice-buttons>button{flex:1}.calendar-open-day-button:hover,.calendar-open-day-button:focus-visible{border-color:var(--teal-600);background:var(--teal-100);outline:none}.legend-card{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.legend-card .panel-title{grid-column:1/-1;margin-bottom:3px}.legend-card>span{color:var(--slate-700);align-items:center;gap:7px;font-size:12px;display:flex}.calendar-day-overlay{z-index:145;background:#031c30bd;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.calendar-day-dialog{background:#f2f6f8;border:1px solid #ffffff3d;border-radius:15px;flex-direction:column;width:min(1480px,100%);max-height:calc(100vh - 48px);display:flex;overflow:hidden;box-shadow:0 30px 82px #00142661}.calendar-day-dialog-header{border-bottom:1px solid var(--slate-200);background:radial-gradient(circle at 92% 15%,#25b9b12b,#0000 30%),#fff;justify-content:space-between;align-items:flex-start;gap:24px;padding:20px 24px;display:flex}.calendar-day-dialog-header>div{flex-direction:column;gap:4px;display:flex}.calendar-day-dialog-header span{color:var(--teal-700);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:850}.calendar-day-dialog-header h2{color:var(--navy-950);letter-spacing:-.025em;margin:0;font-size:25px}.calendar-day-dialog-header p{color:var(--slate-600);margin:2px 0 0;font-size:12px}.calendar-day-dialog-header>button{border:1px solid var(--slate-200);width:38px;height:38px;color:var(--slate-700);cursor:pointer;background:#fff;border-radius:9px;flex:0 0 38px;font-size:25px;line-height:1}.calendar-day-loading,.calendar-day-error{min-height:360px;color:var(--slate-600);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:35px;display:flex}.calendar-day-error strong{color:var(--red-700);font-size:17px}.calendar-day-error span{max-width:560px;font-size:13px}.calendar-day-summary{grid-template-columns:repeat(8,minmax(0,1fr));gap:10px;padding:16px 20px 0;display:grid}.calendar-day-summary article{background:var(--teal-50);border:1px solid #b9dcd9;border-radius:9px;flex-direction:column;justify-content:center;gap:4px;min-height:69px;padding:11px 14px;display:flex}.calendar-day-summary span{color:var(--slate-600);text-transform:uppercase;font-size:10px;font-weight:750}.calendar-day-summary strong{color:var(--teal-700);font-size:23px}.calendar-day-summary .absent{background:var(--red-100);border-color:#efc1c5}.calendar-day-summary .absent strong,.calendar-day-summary .incident strong{color:var(--red-700)}.calendar-day-summary .late,.calendar-day-summary .pending{background:var(--amber-100);border-color:#edd09f}.calendar-day-summary .late strong,.calendar-day-summary .pending strong{color:var(--amber-700)}.calendar-day-summary .incident{background:#fff1f2;border-color:#efc1c5}.calendar-day-summary .observation{background:#fbe7f4;border-color:#e9b8d6}.calendar-day-summary .observation strong{color:#a52b70}.calendar-day-summary .day-off{background:#e7f7fa;border-color:#a9dfe5}.calendar-day-summary .day-off strong{color:#177c8e}.calendar-day-filters{grid-template-columns:minmax(280px,1fr) minmax(170px,.35fr) minmax(170px,.35fr);gap:11px;padding:14px 20px;display:grid}.calendar-day-filters select,.calendar-day-search{border:1px solid var(--slate-300);height:42px;color:var(--navy-950);background:#fff;border-radius:8px;outline:none}.calendar-day-filters select{padding:0 11px}.calendar-day-filters select:focus,.calendar-day-search:focus-within{border-color:var(--teal-600);box-shadow:0 0 0 3px #008f921a}.calendar-day-search{grid-template-columns:38px minmax(0,1fr);align-items:center;display:grid}.calendar-day-search>span{color:var(--teal-700);place-items:center;font-size:19px;display:grid}.calendar-day-search input{width:100%;height:100%;color:var(--navy-950);font:inherit;background:0 0;border:0;outline:none;padding:0 12px 0 0}.calendar-day-table-wrap{border-top:1px solid var(--slate-200);border-bottom:1px solid var(--slate-200);background:#fff;min-height:250px;overflow:auto}.calendar-day-table{border-collapse:collapse;width:100%;min-width:1120px;font-size:12px}.calendar-day-table th{z-index:2;color:var(--slate-600);letter-spacing:.045em;text-align:left;text-transform:uppercase;background:#f7fafb;padding:11px 13px;font-size:10px;position:sticky;top:0}.calendar-day-table td{border-top:1px solid var(--slate-100);color:var(--slate-700);vertical-align:middle;padding:11px 13px}.calendar-day-table tbody tr:hover{background:#fbfefe}.calendar-day-table td>strong,.calendar-day-table td>small{display:block}.calendar-day-table td>small{color:var(--slate-500);margin-top:4px;font-size:10px}.calendar-day-student{align-items:center;gap:10px;min-width:210px;display:flex}.calendar-day-student>span{border:1px solid var(--slate-200);background:var(--teal-50);border-radius:50%;flex:0 0 36px;width:36px;height:36px;overflow:hidden}.calendar-day-student img{object-fit:cover;width:100%;height:100%}.calendar-day-student>div{flex-direction:column;gap:3px;display:flex}.calendar-day-student strong{color:var(--navy-950);font-size:12px}.calendar-day-student small{color:var(--slate-500);font-size:10px}.calendar-day-status{border:1px solid var(--slate-200);background:var(--slate-100);white-space:nowrap;border-radius:7px;align-items:center;gap:6px;padding:6px 9px;font-size:10px;font-weight:850;display:inline-flex}.calendar-day-status:before{content:"●";font-size:7px}.calendar-day-status.present{background:var(--green-100);color:var(--green-700);border-color:#aedaad}.calendar-day-status.late,.calendar-day-status.pending{background:var(--amber-100);color:var(--amber-700);border-color:#edd09f}.calendar-day-status.absent,.calendar-day-status.incident{background:var(--red-100);color:var(--red-700);border-color:#efc1c5}.calendar-day-status.excused{color:#177c8e;background:#e7f7fa;border-color:#a9dfe5}.calendar-day-off-dialog{background:#f7fafb;border:1px solid #ffffff3d;border-radius:15px;flex-direction:column;width:min(900px,100%);max-height:calc(100vh - 48px);display:flex;overflow:hidden;box-shadow:0 30px 82px #00142661}.calendar-day-off-content{gap:15px;padding:20px 24px;display:grid;overflow:auto}.calendar-day-off-notice{background:#fff8df;border:1px solid #e7c67e;border-radius:10px;flex-direction:column;gap:5px;padding:13px 15px;display:flex}.calendar-day-off-notice strong{color:#8f6509;font-size:13px}.calendar-day-off-notice span{color:var(--slate-600);font-size:11px;line-height:1.55}.calendar-day-off-scope,.calendar-day-off-reason{color:var(--slate-700);flex-direction:column;gap:7px;font-size:12px;font-weight:800;display:flex}.calendar-day-off-combined-filter{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.calendar-day-off-combined-filter.three-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-day-off-selection-filters{border:1px solid var(--slate-200);background:#fff;border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px;display:grid}.calendar-day-off-search{min-height:42px}.calendar-day-off-scope select,.calendar-day-off-reason textarea{border:1px solid var(--slate-300);width:100%;color:var(--navy-950);font:inherit;background:#fff;border-radius:8px;outline:none;padding:10px 12px}.calendar-day-off-scope select{height:43px;padding:0 12px}.calendar-day-off-scope select:focus,.calendar-day-off-reason textarea:focus{border-color:var(--teal-600);box-shadow:0 0 0 3px #008f921a}.calendar-day-off-reason small{color:var(--slate-500);align-self:flex-end;font-size:10px;font-weight:500}.calendar-day-off-picker{gap:9px;display:grid}.calendar-day-off-list{border:1px solid var(--slate-200);background:#fff;border-radius:9px;max-height:230px;display:grid;overflow:auto}.calendar-day-off-list>label{border-top:1px solid var(--slate-100);cursor:pointer;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:9px;padding:10px 12px;display:grid}.calendar-day-off-list>label:first-child{border-top:0}.calendar-day-off-list input{width:16px;height:16px;accent-color:var(--teal-700)}.calendar-day-off-list span{flex-direction:column;gap:3px;display:flex}.calendar-day-off-list strong{color:var(--navy-950);font-size:12px}.calendar-day-off-list small{color:var(--slate-500);font-size:10px}.calendar-day-off-filter-empty{color:var(--slate-500);text-align:center;margin:0;padding:18px;font-size:11px;line-height:1.5}.calendar-day-off-preview{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.calendar-day-off-preview span{background:var(--teal-50);color:var(--slate-600);border:1px solid #b9dcd9;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:11px 13px;font-size:11px;display:flex}.calendar-day-off-preview strong{color:var(--teal-700);font-size:18px}.calendar-day-incidents{position:relative}.calendar-day-incidents summary{background:var(--red-100);width:fit-content;color:var(--red-700);cursor:pointer;border-radius:7px;padding:6px 8px;font-size:10px;font-weight:850}.calendar-day-incidents>div{background:#fff8f8;border:1px solid #efc1c5;border-radius:8px;gap:8px;min-width:260px;margin-top:7px;padding:9px;display:grid}.calendar-day-incidents p{flex-direction:column;gap:3px;margin:0;display:flex}.calendar-day-incidents p+p{border-top:1px solid #f1d6d8;padding-top:7px}.calendar-day-incidents p strong{color:var(--red-700);font-size:10px}.calendar-day-incidents p span,.calendar-no-incident{color:var(--slate-500);font-size:10px;line-height:1.4}.calendar-day-empty{min-height:130px;color:var(--slate-500);text-align:center;place-items:center;padding:24px;font-size:13px;display:grid}.calendar-day-dialog-footer{background:#fff;justify-content:flex-end;align-items:center;gap:10px;padding:14px 20px;display:flex}.calendar-day-dialog-footer>span{color:var(--slate-500);margin-right:auto;font-size:11px}.legend-dot.purple{background:#8258bd}.legend-dot.cyan{background:#21a9c0}.legend-dot.gray{background:var(--slate-500)}.upload-button{cursor:pointer}.upload-button input{display:none}.photo-zip-button{color:var(--blue-700);background:#f3f8fd;border-color:#b8d4ec}.data-card{padding:0;overflow:hidden}.data-toolbar{justify-content:space-between;align-items:center;gap:16px;min-height:70px;padding:14px 18px;display:flex}.data-toolbar>div{align-items:center;gap:10px;display:flex}.student-list-filters{border-top:1px solid var(--slate-100);border-bottom:1px solid var(--slate-200);background:#f9fbfc;grid-template-columns:repeat(5,minmax(145px,1fr)) auto;align-items:end;gap:10px;padding:13px 18px 15px;display:grid}.student-list-filters label{gap:6px;min-width:0;display:grid}.student-list-filters label>span{color:var(--slate-600);letter-spacing:.02em;font-size:11px;font-weight:800}.student-list-filters select{border:1px solid var(--slate-300);width:100%;min-width:0;height:39px;color:var(--navy-950);background:#fff;border-radius:7px;outline:none;padding:0 10px;font-size:13px}.student-list-filters select:focus{border-color:var(--teal-600);box-shadow:0 0 0 3px #008f921a}.student-filter-clear{border:1px solid var(--slate-300);min-height:39px;color:var(--teal-700);cursor:pointer;white-space:nowrap;background:#fff;border-radius:7px;padding:0 14px;font-size:12px;font-weight:800}.student-filter-clear:hover:not(:disabled){border-color:var(--teal-500);background:var(--teal-50)}.student-filter-clear:disabled{cursor:default;opacity:.45}.search-box{width:min(440px,100%);position:relative}.search-box span{color:var(--slate-500);font-size:20px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-box input{border:1px solid var(--slate-300);border-radius:7px;outline:none;width:100%;height:41px;padding:0 12px 0 39px;font-size:14px}.quiet-button{border:1px solid var(--slate-300);min-height:39px;color:var(--navy-900);cursor:pointer;background:#f8fafb;border-radius:7px;padding:0 13px;font-size:13px;font-weight:750}.quiet-button:hover{border-color:var(--teal-600);color:var(--teal-700)}.wide-table-wrap{border-top:1px solid var(--slate-200);border-bottom:1px solid var(--slate-200);overflow-x:auto}.wide-table{border-collapse:collapse;width:100%;min-width:1050px}.wide-table th,.wide-table td{text-align:left;padding:13px 14px}.wide-table th{color:var(--slate-700);white-space:nowrap;background:#f9fbfc;font-size:12px;font-weight:800}.wide-table td{border-top:1px solid var(--slate-100);color:#314a60;white-space:nowrap;font-size:13px}.wide-table tbody tr:hover{background:var(--teal-50)}.wide-table td>small{color:var(--slate-500);margin-top:4px;font-size:11px;display:block}.students-overview-table{table-layout:fixed;min-width:1180px}.students-overview-table th,.students-overview-table td{padding-left:9px;padding-right:9px}.students-overview-table td{white-space:normal}.students-overview-table th:first-child{width:20%}.students-overview-table th:nth-child(2){width:5%}.students-overview-table th:nth-child(3){width:4%}.students-overview-table th:nth-child(4){width:8%}.students-overview-table th:nth-child(5){width:22%}.students-overview-table th:nth-child(6),.students-overview-table th:nth-child(7),.students-overview-table th:nth-child(8),.students-overview-table th:nth-child(9){width:8%}.students-overview-table th:nth-child(10){width:9%}.students-overview-table .student{min-width:0}.students-overview-table .student strong,.students-overview-table .student small{white-space:normal;overflow-wrap:anywhere}.clinical-schedule-summary{gap:6px;display:grid}.clinical-schedule-summary-row{gap:2px;min-width:0;line-height:1.35;display:grid}.clinical-schedule-summary-row+.clinical-schedule-summary-row{border-top:1px solid var(--slate-100);padding-top:6px}.clinical-schedule-summary-row strong,.clinical-schedule-summary-row small{white-space:normal;overflow-wrap:anywhere;margin:0;display:block}.clinical-schedule-summary-row small{color:var(--slate-500);font-size:10px}.students-overview-table .table-progress{width:calc(100% - 32px);min-width:42px}.students-overview-table .table-progress b{left:calc(100% + 6px)}.students-overview-table .simple-status,.students-overview-table .open-profile-button{white-space:normal;text-align:center;max-width:100%}.students-overview-table .student-row-actions{width:100%;min-width:0}.students-overview-table .student-row-actions .text-button{white-space:normal;overflow-wrap:anywhere}.table-progress{background:var(--slate-100);border-radius:5px;width:95px;height:7px;position:relative}.table-progress span{background:var(--teal-600);border-radius:5px;height:100%;display:block}.table-progress b{color:var(--slate-700);font-size:12px;position:absolute;top:-5px;left:102px}.simple-status{border:1px solid;border-radius:12px;align-items:center;padding:5px 9px;font-size:11px;font-weight:800;display:inline-flex}.simple-status.active{background:var(--green-100);color:var(--green-700);border-color:#b8e0c9}.simple-status.warning{background:var(--amber-100);color:var(--amber-700);border-color:#f4cf98}.simple-status.info{background:var(--blue-100);color:var(--blue-700);border-color:#bad7f3}.table-footer{min-height:52px;color:var(--slate-500);justify-content:space-between;align-items:center;gap:18px;padding:0 18px;font-size:12px;display:flex}.table-footer button{color:var(--teal-700);cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:800}.student-pagination{align-items:center;gap:10px;display:inline-flex}.student-pagination strong{color:var(--slate-700);white-space:nowrap;font-size:12px}.student-pagination button{border:1px solid var(--slate-200);background:#fff;border-radius:7px;min-height:34px;padding:0 11px}.student-pagination button:disabled{cursor:not-allowed;opacity:.45}.rotation-table-card{margin-bottom:22px}.rotation-assignment-form{background:linear-gradient(#fbffff 0%,#f6fbfc 100%);border-color:#9acfd0;margin-bottom:18px;padding:20px}.rotation-assignment-form>.panel-title{margin-bottom:8px}.rotation-form-note{color:var(--slate-500);margin:0 0 16px;font-size:12px;line-height:1.5}.rotation-claim-form{background:#f6fbfc;border:1px solid #9acfd0;border-radius:10px;margin:18px 0;padding:18px}.rotation-claim-form>.panel-title{margin-bottom:14px}.rotation-table-card>.panel-title{padding:18px 20px}.count-chip{background:var(--teal-100);min-width:30px;color:var(--teal-700);border-radius:8px;place-items:center;padding:6px;font-weight:850;display:inline-grid}.semester-section{border:1px solid var(--slate-200);box-shadow:var(--shadow);background:#fff;border-radius:10px;padding:22px}.semester-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:18px;display:grid}.semester-grid article{border:1px solid var(--slate-200);background:#fbfcfd;border-radius:9px;padding:16px}.semester-label{color:var(--teal-700);text-transform:uppercase;font-size:12px;font-weight:850}.semester-grid article>div{align-items:baseline;gap:6px;margin:11px 0;display:flex}.semester-grid strong{font-size:22px}.semester-grid small{color:var(--slate-500);margin-right:8px;font-size:11px}.semester-grid p{min-height:30px;color:var(--slate-700);margin:0;font-size:12px;line-height:1.55}.semester-plan-dialog{background:#fff;border-radius:14px;flex-direction:column;width:min(1080px,100% - 36px);height:min(1120px,100vh - 36px);max-height:calc(100vh - 36px);display:flex;overflow:hidden;box-shadow:0 24px 70px #073b5540}.semester-plan-dialog>header{border-bottom:1px solid var(--slate-200);flex:none;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 24px;display:flex}.semester-plan-dialog>header span,.semester-plan-title span{color:var(--teal-700);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:850}.semester-plan-dialog>header h2,.semester-plan-title h3{color:var(--navy-950);margin:5px 0}.semester-plan-dialog>header p{color:var(--slate-500);margin:0;font-size:13px}.semester-plan-dialog>header>button{border:1px solid var(--slate-300);cursor:pointer;width:38px;height:38px;color:var(--navy-950);background:#fff;border-radius:8px;flex:none;font-size:22px}.semester-plan-layout{flex:auto;grid-template-columns:190px minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.semester-plan-layout>nav{overscroll-behavior:contain;scrollbar-gutter:stable;border-right:1px solid var(--slate-200);background:#f6fafb;min-height:0;padding:14px;overflow-y:auto}.semester-plan-layout>nav button{cursor:pointer;width:100%;color:var(--slate-700);text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;align-items:flex-start;gap:3px;margin-bottom:7px;padding:11px 12px;display:flex}.semester-plan-layout>nav button:hover,.semester-plan-layout>nav button.active{color:var(--teal-700);background:#fff;border-color:#9acfd0}.semester-plan-layout>nav strong{font-size:15px}.semester-plan-layout>nav small{color:var(--slate-500);font-size:10px}.semester-plan-layout>section{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;padding:20px 24px 26px;overflow-y:auto}.semester-plan-title,.semester-area-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.catalog-active-toggle{background:var(--green-100);color:var(--green-700);border-radius:16px;align-items:center;gap:7px;padding:7px 10px;font-size:11px;font-weight:800;display:inline-flex}.semester-plan-goals{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0 20px;display:grid}.semester-plan-goals label,.semester-plan-notes{color:var(--slate-700);flex-direction:column;gap:6px;font-size:12px;font-weight:800;display:flex}.semester-plan-goals input,.semester-plan-notes textarea{border:1px solid var(--slate-300);width:100%;color:var(--navy-950);font:inherit;background:#fff;border-radius:7px;outline:none;padding:9px 10px}.semester-area-heading small{color:var(--slate-500);margin-top:4px;font-size:11px;font-weight:500;display:block}.semester-area-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:13px 0 18px;display:grid}.semester-area-groups fieldset{border:1px solid var(--slate-200);background:#fbfcfd;border-radius:8px;min-width:0;padding:11px 12px}.semester-area-groups legend{color:var(--navy-950);padding:0 5px;font-size:11px;font-weight:850}.semester-area-groups label{color:var(--slate-700);align-items:center;gap:7px;margin-top:7px;font-size:11px;display:flex}.semester-plan-dialog>footer{border-top:1px solid var(--slate-200);flex:none;justify-content:flex-end;align-items:center;gap:10px;min-height:66px;padding:12px 24px;display:flex}.semester-plan-dialog>footer>span{color:var(--slate-500);margin-right:auto;font-size:11px}@media (width<=720px){.semester-plan-dialog{width:calc(100% - 20px);height:calc(100vh - 20px);max-height:calc(100vh - 20px)}.semester-plan-layout{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.semester-plan-layout>nav{border-right:0;border-bottom:1px solid var(--slate-200);grid-template-columns:repeat(4,minmax(0,1fr));max-height:145px;display:grid;overflow-y:auto}.semester-plan-layout>nav button{text-align:center;align-items:center;margin:0;padding:8px 4px}.semester-plan-layout>nav small{display:none}.semester-plan-goals,.semester-area-groups{grid-template-columns:1fr}.semester-plan-dialog>footer>span{display:none}}.report-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:20px;display:grid}.report-card{border:1px solid var(--slate-200);box-shadow:var(--shadow);color:inherit;font:inherit;text-align:left;background:#fff;border-radius:10px;flex-direction:column;align-items:flex-start;padding:24px;display:flex}.report-select-card{cursor:pointer;transition:border-color .16s,box-shadow .16s,transform .16s}.report-select-card:hover,.report-select-card.selected{border-color:#74c3c4;transform:translateY(-2px);box-shadow:0 12px 28px #1337531a}.report-select-card:focus-visible{outline-offset:3px;outline:3px solid #008f913d}.report-icon{background:var(--teal-100);width:49px;height:49px;color:var(--teal-700);border-radius:11px;place-items:center;font-size:24px;display:grid}.report-icon.r2{background:var(--blue-100);color:var(--blue-700)}.report-icon.r3{color:#4c60a4;background:#edf0f8}.report-icon.r4{background:var(--amber-100);color:var(--amber-700)}.report-icon.r5{color:#087a4b;background:#e9f7ef;font-size:17px;font-weight:900}.report-icon.r6{color:#245fb5;background:#eaf2ff;font-size:15px;font-weight:900}.report-icon.r7{color:#6540a4;background:#f1ebff;font-size:15px;font-weight:900}.report-icon.r8{color:#b5293a;background:#fdecef;font-size:18px;font-weight:900}.report-card h2{margin:17px 0 8px;font-size:19px}.report-card p{min-height:45px;color:var(--slate-700);margin:0;font-size:13px;line-height:1.6}.report-card button,.report-card-action{border:0;border-top:1px solid var(--slate-100);width:100%;color:var(--teal-700);cursor:pointer;background:0 0;justify-content:space-between;align-items:center;margin-top:18px;padding:15px 0 0;font-size:13px;font-weight:800;display:flex}.report-card-action b{font-size:18px}.report-builder{border:1px solid var(--slate-200);box-shadow:var(--shadow);background:#fff;border-radius:10px;padding:22px}.report-builder-title{border-bottom:1px solid var(--slate-100);justify-content:space-between;align-items:center;gap:18px;padding-bottom:17px;display:flex}.report-builder-title>div{flex-direction:column;gap:5px;display:flex}.pdf-chip{background:var(--red-100);border-radius:6px;padding:7px 10px;color:var(--red-700)!important}.report-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:20px 0;display:grid}.report-form label{color:var(--slate-700);flex-direction:column;gap:7px;font-size:12px;font-weight:750;display:flex}.report-form select,.report-form input{width:100%}.weekly-report-scope{border:1px solid var(--teal-100);background:var(--teal-50);border-radius:8px;grid-column:span 2;align-items:center;gap:12px;padding:10px 12px;display:flex}.weekly-report-scope>span{color:var(--teal-700);font-size:11px;font-weight:850}.weekly-report-scope label{color:var(--slate-700);flex-direction:row;align-items:center;gap:6px;font-size:11px}.weekly-report-scope input{width:auto;accent-color:var(--teal-700)}.report-orientation{border:0;border-top:1px solid var(--slate-100);gap:12px;margin:0;padding:16px 0 4px;display:flex}.report-orientation legend{width:100%;color:var(--navy-950);margin-bottom:10px;font-size:12px;font-weight:800}.report-orientation>label{border:1px solid var(--slate-200);cursor:pointer;background:#fff;border-radius:9px;align-items:center;gap:11px;min-width:220px;padding:11px 13px;display:flex;position:relative}.report-orientation>label.selected{border-color:var(--teal-600);background:var(--teal-50);box-shadow:0 0 0 2px #008f9214}.report-orientation input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.orientation-sheet{border:2px solid var(--teal-700);background:#fff;border-radius:2px;flex:none;display:block}.orientation-sheet.horizontal{width:29px;height:20px}.orientation-sheet.vertical{width:20px;height:29px;margin:0 4px}.report-orientation label>div{flex-direction:column;gap:2px;display:flex}.report-orientation strong{color:var(--navy-950);font-size:12px}.report-orientation small{color:var(--slate-500);font-size:10px}.report-options{border-top:1px solid var(--slate-100);flex-wrap:wrap;align-items:center;gap:22px;padding:16px 0;display:flex}.report-orientation+.report-options{border-top:0}.report-options label{color:var(--slate-700);align-items:center;gap:7px;font-size:12px;display:flex}.report-options input{accent-color:var(--teal-700)}.report-control-inclusions{background:var(--teal-50);color:var(--slate-700);border:1px solid #b9dddd;border-radius:8px;align-items:center;gap:12px;margin:4px 0 16px;padding:11px 13px;font-size:12px;display:flex}.report-control-inclusions strong{color:var(--teal-700);white-space:nowrap}.absentee-observation-toggle{cursor:pointer;border-left:1px solid #c7e4e4;align-items:center;gap:9px;margin-left:auto;padding-left:13px;display:inline-flex}.absentee-observation-toggle input{width:17px;height:17px;accent-color:var(--teal-700);flex:none}.absentee-observation-toggle>span{gap:2px;display:grid}.report-control-inclusions .absentee-observation-toggle strong{color:var(--navy-950);font-size:11px}.absentee-observation-toggle small{color:var(--slate-600);font-size:10px}.weekly-instructor-note{color:var(--slate-700);flex-direction:column;gap:7px;margin:4px 0 16px;font-size:12px;font-weight:800;display:flex}.weekly-instructor-note textarea{resize:vertical;border:1px solid var(--slate-200);width:100%;color:var(--navy-950);font:inherit;background:#fff;border-radius:8px;padding:10px 12px;line-height:1.45}.weekly-instructor-note textarea:focus{border-color:var(--teal-600);outline:3px solid #008f9217}.weekly-instructor-note small{color:var(--slate-500);align-self:flex-end;font-size:10px;font-weight:600}.absentee-student-selection{background:#f6fbfb;border:1px solid #b9dddd;border-radius:10px;gap:12px;margin:4px 0 18px;padding:14px;display:grid}.absentee-selection-heading,.absentee-selection-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.absentee-selection-heading>div{flex-direction:column;gap:3px;min-width:0;display:flex}.absentee-selection-heading span{color:var(--teal-700);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:900}.absentee-selection-heading strong{color:var(--navy-950);font-size:14px}.absentee-selection-heading small,.absentee-selection-actions{color:var(--slate-600);font-size:11px}.absentee-selection-actions{border-top:1px solid #d6eaea;justify-content:flex-start;padding-top:10px}.absentee-selection-actions span{margin-right:auto;font-weight:800}.absentee-selection-actions button{color:var(--teal-700);font:inherit;cursor:pointer;background:0 0;border:0;font-weight:800}.absentee-selection-list{gap:10px;max-height:520px;display:grid;overflow:auto}.absentee-selection-list article{border:1px solid var(--slate-200);opacity:.72;background:#fff;border-radius:9px;grid-template-columns:minmax(260px,.8fr) minmax(320px,1.2fr);gap:14px;padding:12px;display:grid}.absentee-selection-list article.selected{border-color:var(--teal-500);opacity:1;box-shadow:0 0 0 2px #008f9212}.absentee-student-check{color:var(--navy-950);align-items:flex-start;gap:9px;display:flex}.absentee-student-check input{accent-color:var(--teal-700);margin-top:3px}.absentee-student-check span,.absentee-student-note{flex-direction:column;gap:4px;display:flex}.absentee-student-check strong{font-size:12px}.absentee-student-check small,.absentee-student-note small{color:var(--slate-500);font-size:10px}.absentee-student-note>span{color:var(--teal-700);font-size:10px;font-weight:800}.absentee-student-note textarea{resize:vertical;border:1px solid var(--slate-200);width:100%;color:var(--navy-950);font:inherit;border-radius:7px;padding:8px 10px;font-size:11px;line-height:1.4}.absentee-preview-notes{border-top:2px solid var(--teal-700);gap:9px;margin-top:20px;padding-top:14px;display:grid}.absentee-preview-notes h4{color:var(--navy-950);margin:0;font-size:15px}.absentee-preview-notes>p{color:var(--slate-600);margin:0 0 3px;font-size:11px}.absentee-preview-notes article{background:var(--teal-50);border:1px solid #b9dddd;border-radius:8px;padding:11px 13px}.absentee-preview-notes article>strong{color:var(--navy-950);font-size:12px}.absentee-preview-notes article p{color:var(--slate-700);margin:6px 0 0;font-size:11px;line-height:1.45}.absentee-preview-notes .report-added-note{color:var(--teal-800);border-top:1px solid #cfe5e5;padding-top:7px}.report-builder-status{background:var(--teal-50);color:var(--teal-700);border-radius:8px;align-items:center;gap:18px;margin-bottom:16px;padding:11px 13px;font-size:12px;font-weight:750;display:flex}.report-error{background:var(--red-100);color:var(--red-700);border:1px solid #efb7bc;border-radius:8px;margin:0 0 16px;padding:10px 12px;font-size:13px;font-weight:700}.report-actions{justify-content:flex-end;gap:10px;display:flex}.report-preview-overlay{z-index:120;background:#031c30b8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.report-preview-dialog{background:#eef3f6;border:1px solid #ffffff40;border-radius:14px;flex-direction:column;width:min(1180px,100%);max-height:calc(100vh - 48px);display:flex;overflow:hidden;box-shadow:0 28px 70px #00142659}.report-preview-toolbar{border-bottom:1px solid var(--slate-200);background:#fff;justify-content:space-between;align-items:center;gap:18px;padding:16px 20px;display:flex}.report-preview-toolbar>div:first-child{flex-direction:column;gap:3px;display:flex}.report-preview-toolbar>div:first-child span{color:var(--teal-700);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.report-preview-toolbar h2{color:var(--navy-950);margin:0;font-size:20px}.report-preview-toolbar>div:last-child{gap:9px;display:flex}.report-preview-scroll{padding:28px;overflow:auto}.report-preview-page{background:#fff;width:min(1020px,100%);min-height:650px;margin:0 auto;padding:38px 42px;box-shadow:0 8px 28px #1f394e21}.report-preview-page.portrait{width:min(760px,100%);min-height:984px}.report-preview-page.portrait .report-preview-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.report-generic-hidden{display:none}.weekly-report-preview{color:var(--navy-950);margin-top:15px}.weekly-report-addressee{flex-direction:column;gap:3px;margin:10px 0 14px;font-size:11px;display:flex}.weekly-report-addressee strong,.weekly-report-addressee b{font-size:12px}.weekly-report-heading{background:#b9dddd;border:1px solid #b9dddd;border-radius:7px;grid-template-columns:1.15fr 1.15fr .6fr 1.35fr 1.1fr;gap:1px;display:grid;overflow:hidden}.weekly-report-heading>div{background:var(--teal-50);flex-direction:column;justify-content:center;gap:5px;min-height:46px;padding:7px 9px;display:flex}.weekly-report-heading span,.weekly-report-note>span{color:var(--teal-700);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:900}.weekly-report-heading strong{font-size:11px}.weekly-report-table-wrap{border:1px solid #b8c7d1;border-radius:7px;margin-top:10px;overflow:hidden}.weekly-report-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:10px}.weekly-report-table th{background:var(--teal-700);color:#fff;text-transform:uppercase;border-right:1px solid #2e617b;min-height:38px;padding:7px 5px;font-size:9px}.weekly-report-table th:first-child{width:4%}.weekly-report-table th:nth-child(2),.weekly-report-table th:nth-child(3){width:6%}.weekly-report-table th:nth-child(4){width:20%}.weekly-report-table th:nth-child(5){width:18%}.weekly-report-table th:nth-child(6),.weekly-report-table th:nth-child(7){width:7%}.weekly-report-table th:last-child{width:32%}.weekly-report-table td{vertical-align:top;background:#fff;border-bottom:1px solid #c9d5dc;border-right:1px solid #c9d5dc;min-height:42px;padding:7px;line-height:1.35}.weekly-report-table tbody tr:nth-child(2n) td{background:#f8fafb}.weekly-report-table td:first-child,.weekly-report-table td:nth-child(2),.weekly-report-table td:nth-child(3),.weekly-report-table td:nth-child(6),.weekly-report-table td:nth-child(7){text-align:center;font-weight:850}.weekly-report-table td:nth-child(5){color:var(--teal-700);font-weight:800}.weekly-report-note{background:var(--teal-50);border:1px solid #b9dddd;border-radius:7px;min-height:60px;margin-top:12px;padding:10px 12px}.weekly-report-note p{color:var(--slate-700);margin:7px 0 0;font-size:11px;line-height:1.4}.weekly-report-signature{text-align:center;flex-direction:column;align-items:center;gap:4px;width:290px;max-width:80%;margin:42px auto 8px;display:flex}.weekly-report-signature>span{border-top:1px solid var(--navy-950);width:100%}.weekly-report-signature strong{font-size:11px}.weekly-report-signature small{color:var(--slate-600);font-size:9px}.attendance-control-preview{margin-top:14px}.control-observation-appendix{border-top:2px solid var(--teal-700);gap:9px;margin-top:18px;padding-top:13px;display:grid}.control-observation-appendix h4{color:var(--navy-950);margin:0;font-size:14px}.control-observation-appendix>p{color:var(--slate-600);margin:0 0 3px;font-size:10px}.control-observation-appendix article{background:var(--teal-50);border:1px solid #b9dddd;border-radius:7px;grid-template-columns:minmax(210px,.8fr) minmax(120px,.35fr) minmax(280px,1.5fr);align-items:start;gap:8px 14px;padding:9px 11px;display:grid}.control-observation-appendix article strong{color:var(--navy-950);font-size:11px}.control-observation-appendix article time{color:var(--teal-700);font-size:10px;font-weight:850}.control-observation-appendix article p{color:var(--slate-700);margin:0;font-size:10px;line-height:1.4}@media (width<=800px){.control-observation-appendix article{grid-template-columns:1fr;gap:5px}}.attendance-control-legend{color:var(--slate-600);flex-wrap:wrap;align-items:center;gap:7px 12px;margin-bottom:8px;font-size:10px;display:flex}.attendance-control-legend>span{align-items:center;gap:4px;display:inline-flex}.attendance-control-legend>strong{color:var(--teal-700);text-transform:uppercase;font-size:9px}.control-status{color:#fff;border-radius:5px;place-items:center;min-width:23px;height:17px;font-size:8px;font-style:normal;font-weight:900;display:inline-grid}.status-a{color:#fff!important;background:#12a868!important}.status-rc{color:#fff!important;background:#008b8b!important}.status-r{color:#07324f!important;background:#f2b134!important}.status-f{color:#fff!important;background:#e5484d!important}.status-f3{color:#fff!important;background:#b8323b!important}.status-p{color:#fff!important;background:#f07d24!important}.status-per{color:#fff!important;background:#2f80ed!important}.status-inc{color:#fff!important;background:#078b86!important}.status-esp{color:#fff!important;background:#4f7189!important}.status-na{color:#07324f!important;background:#dde5ea!important}.attendance-control-table-wrap{border:1px solid #b8c7d1;border-radius:7px;overflow:auto}.attendance-control-table{border-collapse:collapse;table-layout:fixed;width:100%;color:var(--navy-950);font-size:10px}.attendance-control-table th{color:#fff;text-align:center;background:#07324f;border-right:1px solid #2e617b;min-height:38px;padding:4px;font-size:9px}.attendance-control-table th:first-child{width:185px}.attendance-control-table th:nth-child(2){width:58px}.attendance-control-table th:last-child{width:150px}.attendance-control-table th span,.attendance-control-table th b{display:block}.attendance-control-table th span{color:#78e1d9;font-size:7px}.attendance-control-table td{vertical-align:middle;background:#fff;border-bottom:1px solid #b8c7d1;border-right:1px solid #b8c7d1;min-height:42px;padding:4px 5px}.attendance-control-table tbody tr:nth-child(2n) td:not(.control-status-cell){background:#f8fafb}.attendance-control-table td:first-child strong,.attendance-control-table td:first-child small,.attendance-control-table td:last-child strong,.attendance-control-table td:last-child small{display:block}.attendance-control-table td:first-child strong{color:var(--navy-950);font-size:10px}.attendance-control-table td:first-child small{color:var(--teal-700);margin-top:3px;font-size:8.5px;font-weight:800;line-height:1.25}.attendance-control-table td:nth-child(2){text-align:center;font-weight:800}.attendance-control-table td:last-child strong{color:var(--teal-700);font-size:9px}.attendance-control-table td:last-child small{color:var(--slate-600);margin-top:3px;font-size:8.5px;line-height:1.25}.control-status-cell{text-align:center;font-size:7px;font-weight:900;padding:0!important}.attendance-control-table.weekly th:not(:first-child):not(:nth-child(2)):not(:last-child){width:36px}.attendance-control-table.monthly{min-width:1230px;font-size:9px}.attendance-control-table.monthly th:first-child{width:245px}.attendance-control-table.monthly th:nth-child(2){width:60px}.attendance-control-table.monthly th:last-child{width:205px}.attendance-control-table.monthly th:not(:first-child):not(:nth-child(2)):not(:last-child){width:24px;padding:2px 0;font-size:7.5px}.attendance-control-table.monthly td{height:38px;padding:4px 5px}.attendance-control-table.monthly td:first-child strong{font-size:10px}.attendance-control-table.monthly td:first-child small{font-size:8.5px}.attendance-control-table.monthly td:nth-child(2),.attendance-control-table.monthly td:last-child strong{font-size:9px}.attendance-control-table.monthly td:last-child small,.attendance-control-table.monthly .control-status-cell{font-size:8px}.report-preview-brand{border-bottom:3px solid var(--teal-700);align-items:center;gap:18px;padding-bottom:18px;display:flex}.report-preview-brand img{object-fit:contain;width:72px;height:72px}.report-preview-brand>div{flex-direction:column;gap:3px;display:flex}.report-preview-brand strong{color:var(--navy-950);font-size:17px}.report-preview-brand span{color:var(--slate-600);font-size:12px}.report-preview-brand h3{color:var(--teal-700);margin:5px 0 0;font-size:20px}.report-preview-filters{color:var(--slate-700);grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 20px;margin:18px 0;font-size:12px;display:grid}.report-preview-summary{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.report-preview-summary div{background:var(--teal-50);border:1px solid #cae3e3;border-radius:8px;flex-direction:column;gap:5px;padding:12px 14px;display:flex}.report-preview-summary span{color:var(--slate-600);font-size:11px}.report-preview-summary strong{color:var(--teal-700);font-size:20px}.report-preview-content,.report-preview-more{color:var(--slate-600);font-size:12px}.report-preview-table-wrap{border:1px solid var(--slate-200);border-radius:8px;overflow-x:auto}.report-preview-table{border-collapse:collapse;width:100%;font-size:11px}.report-preview-table th{background:var(--teal-700);color:#fff;text-align:left;white-space:nowrap;padding:9px 10px}.report-preview-table td{border-bottom:1px solid var(--slate-100);color:var(--slate-700);padding:9px 10px}.report-preview-table tbody tr:nth-child(2n){background:#f8fafb}.monthly-absence-preview{gap:14px;display:grid}.absentee-preview-context{grid-template-columns:minmax(260px,.75fr) minmax(420px,1.25fr);gap:12px;display:grid}.absentee-preview-context>div{background:var(--teal-50);border:1px solid #b9dddd;border-radius:8px;padding:11px 13px}.absentee-preview-context span{color:var(--teal-700);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-size:9px;font-weight:900;display:block}.absentee-preview-context strong{color:var(--navy-950);font-size:16px;line-height:1.25}.absentee-preview-context p{color:var(--slate-700);margin:0;font-size:11px;line-height:1.45}.monthly-absence-table{table-layout:fixed;border-collapse:separate;border-spacing:0 3px;min-width:1120px}.monthly-absence-table th{vertical-align:middle;white-space:normal;text-align:center;border:0;line-height:1.2}.monthly-absence-table th:first-child{width:44px}.monthly-absence-table th:nth-child(2){width:230px}.monthly-absence-table th:nth-child(3){width:105px}.monthly-absence-table th:nth-child(4){width:110px}.monthly-absence-table th:nth-child(5){width:150px}.monthly-absence-table th:nth-child(6){width:250px}.monthly-absence-table th:nth-child(7){width:145px}.monthly-absence-table th:nth-child(8){width:140px}.monthly-absence-table td:nth-child(6){white-space:nowrap}.monthly-absence-table td.absence-count-cell{white-space:nowrap;text-align:center}.monthly-absence-table td.absence-count-cell>span{border:1px solid var(--slate-200);background:var(--slate-50);border-radius:6px;justify-items:center;gap:2px;width:calc(50% - 5px);padding:3px 4px;display:inline-grid}.monthly-absence-table td.absence-count-cell>span+span{border-top:1px solid var(--slate-200);margin:0 0 0 6px;padding-top:3px}.absence-count-cell small{margin:0;font-size:8px;line-height:1}.absence-count-cell strong{color:var(--navy-900);font-size:13px}.monthly-absence-table td{vertical-align:top;background:#fff;border:0;line-height:1.35}.monthly-absence-table tbody tr:nth-child(2n) td{background:#f5f8f9}.monthly-absence-table td small,.monthly-absence-table td span{display:block}.monthly-absence-table td small{color:var(--slate-500);margin-top:3px;font-size:9px}.monthly-absence-table td span+span{border-top:1px solid var(--slate-100);margin-top:5px;padding-top:5px}.report-preview-signatures{text-align:center;grid-template-columns:repeat(2,minmax(0,1fr));gap:70px;margin-top:70px;display:grid}.report-preview-signatures span{border-top:1px solid var(--slate-600);color:var(--slate-600);padding-top:7px;font-size:11px}.report-preview-student-details{gap:22px;margin-top:26px;display:grid}.report-student-detail{break-inside:avoid;border:1px solid var(--slate-200);border-radius:10px;padding:18px}.report-student-heading{border-bottom:2px solid var(--teal-700);justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:13px;display:flex}.report-student-heading span{color:var(--teal-700);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:800}.report-student-heading h4{color:var(--navy-950);margin:4px 0 2px;font-size:17px}.report-student-heading p,.report-student-heading>strong{color:var(--slate-600);margin:0;font-size:11px}.report-student-heading>strong{text-align:right;max-width:42%}.report-student-detail h5{color:var(--navy-950);margin:18px 0 9px;font-size:13px}.report-route-list{gap:7px;display:grid}.report-route-list>div{border-left:3px solid var(--teal-600);background:var(--teal-50);grid-template-columns:minmax(0,1.4fr) minmax(150px,.8fr);gap:4px 14px;padding:9px 11px;display:grid}.report-route-list strong{color:var(--navy-950);font-size:11px}.report-route-list span{color:var(--slate-700);text-align:right;font-size:11px}.report-route-list small{color:var(--slate-600);grid-column:1/-1;font-size:10px}.report-preview-table.compact{font-size:10px}.report-incident-list{gap:7px;display:grid}.report-incident-list>div{background:#fff9f0;border:1px solid #f0d2a4;border-radius:7px;grid-template-columns:120px 1fr;gap:12px;padding:9px 11px;display:grid}.report-incident-list>div>span{color:var(--amber-700);font-size:10px;font-weight:800}.report-incident-list strong{color:var(--navy-950);font-size:11px}.report-incident-list p,.report-detail-empty{color:var(--slate-600);margin:3px 0 0;font-size:10px}.report-observation-list>div{background:#f2fbfb;border-color:#b9dddd}.report-observation-list>div>span{color:var(--teal-700)}.report-observation-list small{color:var(--slate-500);margin-top:5px;font-size:10px;display:block}.release-banner{background:linear-gradient(135deg,#f5fcf8,#f7fbfb);border:1px solid #b7dec9;border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;margin-top:20px;padding:20px 22px;display:grid}.release-icon{background:var(--green-100);width:45px;height:45px;color:var(--green-700);border-radius:50%;place-items:center;font-size:20px;font-weight:900;display:grid}.release-banner>div:nth-child(2){flex-direction:column;gap:4px;display:flex}.release-banner span{color:var(--green-700);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:850}.release-banner h2{margin:0;font-size:19px}.release-banner p{color:var(--slate-700);margin:0;font-size:12px}.double-click-hint{color:var(--slate-500);font-size:12px;font-weight:700}.student-row{cursor:pointer}.student-row:focus{z-index:1;outline:2px solid var(--teal-600);outline-offset:-2px;position:relative}.open-profile-button,.profile-link-button{color:var(--teal-700);cursor:pointer;white-space:nowrap;background:0 0;border:0;font-size:12px;font-weight:850}.open-profile-button{background:var(--teal-50);border:1px solid #b9dedd;border-radius:6px;padding:6px 9px}.open-profile-button:hover,.profile-link-button:hover{color:var(--navy-950)}.profile-overlay{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#051829b3;place-items:center;padding:24px;animation:.16s ease-out profile-fade-in;display:grid;position:fixed;inset:0;overflow-y:auto}.student-profile{background:var(--canvas);border:1px solid #ffffff61;border-radius:15px;width:min(1450px,100%);max-height:calc(100vh - 48px);animation:.19s ease-out profile-rise-in;overflow-y:auto;box-shadow:0 32px 90px #0314235c}.profile-header{z-index:5;border-bottom:1px solid var(--slate-200);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff7;border-radius:15px 15px 0 0;justify-content:space-between;align-items:center;gap:24px;min-height:96px;padding:18px 24px;display:flex;position:sticky;top:0}.profile-identity,.profile-header-actions{align-items:center;gap:14px;display:flex}.profile-avatar{background:linear-gradient(145deg, var(--navy-900), var(--teal-700));color:#fff;border:4px solid #d8f0ee;border-radius:50%;flex:0 0 58px;place-items:center;width:58px;height:58px;font-size:17px;font-weight:850;display:grid;box-shadow:0 5px 14px #08233f29}.profile-photo-upload,.profile-edit-record{background:var(--teal-50);min-height:42px;color:var(--teal-700);cursor:pointer;border:1px solid #add5d2;border-radius:7px;justify-content:center;align-items:center;padding:0 14px;font-size:13px;font-weight:800;display:inline-flex}.profile-edit-record{cursor:pointer}.profile-reset-history{color:#89510a;cursor:pointer;background:#fff8e8;border:1px solid #d89d42;border-radius:7px;min-height:42px;padding:0 14px;font-size:13px;font-weight:800}.profile-clear-data{color:#a72835;cursor:pointer;background:#fff5f6;border:1px solid #efb0b5;border-radius:7px;min-height:42px;padding:0 14px;font-size:13px;font-weight:800}.student-history-reset{background:#fffcf5;border:1px solid #e7bd6d;border-left:4px solid #c77a0a;border-radius:10px;margin-bottom:16px;padding:17px}.student-history-reset-heading,.student-history-reset-preview-title,.student-history-reset-final{justify-content:space-between;align-items:center;gap:16px;display:flex}.student-history-reset-heading>div>span,.student-history-reset-preview-title span{color:#9a5d09;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:850}.student-history-reset-heading h3{color:var(--navy-950);margin:4px 0;font-size:18px}.student-history-reset-heading p{max-width:720px;color:var(--slate-600);margin:0;font-size:12px;line-height:1.5}.student-history-reset-heading>strong{color:#955708;letter-spacing:.04em;text-transform:uppercase;background:#fee9c0;border-radius:999px;flex:none;padding:7px 11px;font-size:10px}.student-history-reset-dates{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:15px;display:grid}.student-history-reset-dates label,.student-history-reset-reason,.student-history-reset-confirmation{color:var(--navy-900);flex-direction:column;gap:6px;font-size:11px;font-weight:800;display:flex}.student-history-reset-dates input,.student-history-reset-confirmation input,.student-history-reset-reason textarea{width:100%;color:var(--navy-950);font:inherit;background:#fff;border:1px solid #d8c296;border-radius:8px;padding:10px 11px}.student-history-reset-reason textarea{resize:vertical;min-height:78px}.student-history-reset-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.student-history-reset-options label{cursor:pointer;background:#fff;border:1px solid #ead9b8;border-radius:8px;align-items:flex-start;gap:9px;padding:11px;display:flex}.student-history-reset-options input{margin-top:2px}.student-history-reset-options span{flex-direction:column;gap:3px;display:flex}.student-history-reset-options strong{color:var(--navy-950);font-size:12px}.student-history-reset-options small,.student-history-reset-final small,.student-history-reset-reason small{color:var(--slate-500);font-size:10px;line-height:1.4}.student-history-preview-button{margin-top:12px}.student-history-reset-preview{background:#fff;border:1px solid #e2c88f;border-radius:9px;margin-top:14px;padding:14px}.student-history-reset-preview-title strong{color:var(--navy-950);margin-top:3px;font-size:13px;display:block}.student-history-reset-preview-title b{color:#9a5d09;font-size:12px}.student-history-reset-counts{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin:12px 0;display:grid}.student-history-reset-counts div{background:#f7f4ed;border-radius:7px;padding:9px}.student-history-reset-counts span{color:var(--slate-500);font-size:9px;display:block}.student-history-reset-counts strong{color:var(--navy-950);margin-top:4px;font-size:18px;display:block}.student-history-reset-confirmation{margin-top:10px}.student-history-reset-final{margin-top:12px}.student-history-reset-error{color:#a72835;background:#fff0f2;border:1px solid #efb0b5;border-radius:7px;margin-top:12px;padding:10px 12px;font-size:11px;font-weight:700}.student-data-cleanup{background:#fffafb;border:1px solid #efb0b5;border-left:4px solid #c83846;border-radius:10px;margin-bottom:16px;padding:16px}.student-data-cleanup>div:first-child>span{color:#a72835;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:850}.student-data-cleanup h3{color:var(--navy-950);margin:4px 0;font-size:17px}.student-data-cleanup p{color:var(--slate-600);margin:0;font-size:12px}.student-data-cleanup-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.student-data-cleanup-options label{cursor:pointer;background:#fff;border:1px solid #efd8da;border-radius:8px;align-items:flex-start;gap:9px;padding:11px;display:flex}.student-data-cleanup-options input{margin-top:2px}.student-data-cleanup-options span{flex-direction:column;gap:3px;display:flex}.student-data-cleanup-options strong{color:var(--navy-950);font-size:12px}.student-data-cleanup-options small{color:var(--slate-500);font-size:10px;line-height:1.4}.student-data-cleanup-actions{justify-content:space-between;align-items:center;gap:14px;margin-top:13px;display:flex}.student-data-cleanup-actions>small{color:#8f3842;font-size:10px}.danger-button{color:#fff;cursor:pointer;background:#b92f3d;border:1px solid #b92f3d;border-radius:7px;min-height:39px;padding:0 14px;font-weight:800}.danger-button:disabled{opacity:.5;cursor:not-allowed}.student-template-button{text-decoration:none}.student-data-error{color:#991b1b;background:#fff1f2;border:1px solid #fecaca;border-radius:9px;margin:0 0 15px;padding:11px 13px;font-size:.88rem}.student-admin-modal{background:#fff;border-radius:14px;width:min(1040px,100% - 32px);max-height:calc(100vh - 48px);animation:.18s ease-out modal-fade-in;overflow:auto;box-shadow:0 24px 70px #07233d3d}.student-admin-heading{z-index:2;background:#fff;border-bottom:1px solid #dbe5ec;justify-content:space-between;align-items:flex-start;gap:24px;padding:20px 24px;display:flex;position:sticky;top:0}.student-admin-heading>div{min-width:0}.student-admin-heading span{color:#008b8c;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;font-size:.73rem;font-weight:800;display:block}.student-admin-heading h2{color:#082b49;margin:0;font-size:1.45rem}.student-admin-heading p{color:#61758a;margin:5px 0 0;font-size:.88rem}.student-admin-heading>button{color:#29475e;cursor:pointer;background:#f8fbfc;border:1px solid #d4e0e8;border-radius:9px;flex:none;width:36px;height:36px;font-size:1.05rem}.student-admin-form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;padding:22px 24px 12px;display:grid}.student-admin-form-grid label{color:#29475e;gap:6px;font-size:.78rem;font-weight:700;display:grid}.student-admin-form-grid input,.student-admin-form-grid select,.student-admin-form-grid textarea{color:#0b2f4e;width:100%;min-height:42px;font:inherit;background:#fff;border:1px solid #cbd9e3;border-radius:8px;outline:none;padding:9px 11px;font-weight:500}.student-admin-form-grid textarea{resize:vertical;min-height:72px}.student-admin-form-grid input:focus,.student-admin-form-grid select:focus,.student-admin-form-grid textarea:focus{border-color:#009a9b;box-shadow:0 0 0 3px #009a9b1f}.student-password-policy{background:var(--teal-50);min-height:72px;color:var(--teal-700);border:1px solid #b8d9d7;border-radius:8px;flex-direction:column;justify-content:center;align-self:end;gap:5px;padding:10px 12px;display:flex}.student-password-policy strong{font-size:12px}.student-password-policy small{color:var(--slate-600);font-size:11px;line-height:1.45}.student-password-requirements{color:var(--slate-500)!important;margin:-5px 0 0!important;font-size:12px!important}.student-admin-wide{grid-column:span 2}.student-admin-full{grid-column:1/-1}.student-admin-error{color:#991b1b;background:#fff1f2;border-radius:8px;margin:6px 24px 0;padding:10px 12px;font-size:.84rem}.student-admin-actions{justify-content:space-between;align-items:center;gap:18px;padding:18px 24px 24px;display:flex}.student-admin-actions>div{justify-content:flex-end;gap:10px;margin-left:auto;display:flex}.student-archive-button{color:#b42318;cursor:pointer;background:#fff7f7;border:1px solid #fecaca;border-radius:8px;min-height:40px;padding:9px 14px;font-weight:700}.student-archive-button:hover{background:#ffebeb}.student-delete-button{color:#fff;cursor:pointer;background:#b42318;border:1px solid #b42318;border-radius:8px;min-height:40px;padding:9px 14px;font-weight:700}.student-delete-button:hover{background:#8f1c13}@media (width<=880px){.student-admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.student-admin-modal{width:calc(100% - 20px);max-height:calc(100vh - 20px)}.student-admin-heading,.student-admin-form-grid,.student-admin-actions{padding-left:16px;padding-right:16px}.student-admin-form-grid{grid-template-columns:1fr}.student-admin-wide,.student-admin-full{grid-column:1}.form-photo-field{align-items:flex-start}.student-admin-actions{flex-direction:column;align-items:stretch}.student-admin-actions>div{grid-template-columns:1fr 1fr;margin-left:0;display:grid}}.profile-photo-upload input{display:none}.profile-photo-error{background:var(--red-100);color:var(--red-700);border:1px solid #efb7bc;border-radius:8px;margin-bottom:14px;padding:11px 13px;font-size:13px;font-weight:700}.profile-kicker{color:var(--teal-700);letter-spacing:.11em;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:850;display:block}.profile-identity h2{letter-spacing:-.025em;margin:0;font-size:22px}.profile-identity p{color:var(--slate-500);margin:4px 0 0;font-size:13px}.profile-close{border:1px solid var(--slate-300);cursor:pointer;background:#fff;border-radius:50%;place-items:center;width:39px;height:39px;font-size:26px;line-height:1;display:grid}.profile-close:hover{border-color:var(--red-700);color:var(--red-700)}.profile-body{padding:20px}.academic-strip{border:1px solid var(--slate-200);background:#fff;border-radius:10px;grid-template-columns:minmax(105px,.75fr) minmax(115px,.8fr) minmax(150px,1fr) minmax(300px,1.75fr) minmax(150px,1fr) minmax(105px,.75fr);display:grid;overflow:hidden;box-shadow:0 4px 16px #13375309}.academic-strip>div{border-left:1px solid var(--slate-100);flex-direction:column;justify-content:center;gap:7px;min-height:72px;padding:12px 17px;display:flex}.academic-strip>div:first-child{border-left:0}.academic-strip span{color:var(--slate-500);text-transform:uppercase;font-size:11px;font-weight:750}.academic-strip strong{font-size:15px}.academic-strip-schedules{align-items:stretch;min-width:0}.academic-schedule-list{gap:7px;min-width:0;display:grid}.academic-strip strong.academic-schedule-row{white-space:nowrap;line-height:1.35;display:block}.academic-schedule-row+.academic-schedule-row{border-top:1px solid var(--slate-100);padding-top:7px}.academic-strip .academic-active{color:var(--green-700)}.semester-practice-period{background:linear-gradient(135deg,#edf9f8,#f6fbfd);border:1px solid #b7d9d7;border-radius:10px;justify-content:space-between;align-items:center;gap:18px;min-height:68px;margin-top:12px;padding:12px 16px;display:flex}.semester-practice-period>div{align-items:center;gap:12px;display:flex}.semester-practice-period>div>div{flex-direction:column;gap:4px;display:flex}.semester-period-icon{background:var(--teal-700);color:#fff;border-radius:9px;flex:0 0 39px;place-items:center;width:39px;height:39px;font-size:17px;display:grid}.semester-practice-period>div>div>span{color:var(--teal-700);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:850}.semester-practice-period strong{color:var(--navy-950);font-size:15px}.semester-practice-period>small{max-width:360px;color:var(--slate-600);text-align:right;font-size:11px;line-height:1.45}.profile-stat-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:14px 0;display:grid}.profile-stat-grid article{border:1px solid var(--slate-200);background:#fff;border-radius:9px;flex-direction:column;min-height:105px;padding:15px;display:flex}.profile-stat-grid span{color:var(--slate-500);font-size:11px}.profile-stat-grid strong{letter-spacing:-.035em;margin:7px 0;font-size:22px}.profile-stat-grid small{color:var(--slate-500);font-size:11px}.profile-stat-grid article:nth-child(4) strong,.profile-stat-grid article:nth-child(6) strong{color:var(--red-700)}.profile-stat-grid article:nth-child(5) strong{color:var(--amber-700)}.profile-main-grid{grid-template-columns:minmax(0,1.7fr) minmax(310px,.75fr);gap:14px;display:grid}.profile-calendar-card,.profile-side article,.attendance-history{border:1px solid var(--slate-200);background:#fff;border-radius:10px;padding:18px;box-shadow:0 5px 18px #1337530b}.profile-section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:13px;display:flex}.profile-section-heading>div:first-child{flex-direction:column;gap:4px;display:flex}.profile-section-heading span{color:var(--teal-700);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:850}.profile-section-heading h3{letter-spacing:-.02em;margin:0;font-size:18px}.profile-calendar-controls{align-items:center;gap:9px;display:flex}.profile-calendar-pdf-button{white-space:nowrap;min-height:36px}.profile-edit-schedule{border:1px solid var(--teal-700);height:34px;color:var(--teal-700);cursor:pointer;background:#fff;border-radius:6px;padding:0 11px;font-size:12px;font-weight:800}.profile-edit-schedule:hover,.profile-edit-schedule.active{background:var(--teal-100)}.profile-month-nav{align-items:center;gap:5px;display:flex}.profile-month-nav button{border:1px solid var(--slate-300);cursor:pointer;background:#fff;border-radius:6px;min-width:31px;height:31px;padding:0 9px;font-size:13px;font-weight:750}.profile-month-nav button:first-child,.profile-month-nav button:last-child{font-size:20px}.profile-month-nav button:hover{border-color:var(--teal-600);color:var(--teal-700)}.profile-schedule-editor{border:1px solid #b7dadd;border-left:4px solid var(--teal-700);background:#f7fcfc;border-radius:9px;margin-bottom:13px;padding:15px}.schedule-editor-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:13px;display:flex}.schedule-editor-heading>div{flex-direction:column;gap:4px;display:flex}.schedule-editor-heading strong{color:var(--navy-950);font-size:15px}.schedule-editor-heading p{color:var(--slate-500);margin:0;font-size:12px;line-height:1.45}.schedule-editor-heading>span{background:var(--teal-100);color:var(--teal-700);border-radius:14px;flex:none;padding:6px 9px;font-size:11px;font-weight:850}.schedule-editor-form{grid-template-columns:1.1fr 1.5fr 1.1fr 1.1fr;gap:10px;display:grid}.schedule-editor-form label{min-width:0;color:var(--slate-700);flex-direction:column;gap:5px;font-size:11px;font-weight:800;display:flex}.schedule-editor-form select,.schedule-editor-form input{border:1px solid var(--slate-300);width:100%;height:37px;color:var(--navy-950);background:#fff;border-radius:6px;outline:none;padding:0 9px;font-size:12px}.schedule-editor-form select:focus,.schedule-editor-form input:focus{border-color:var(--teal-600);box-shadow:0 0 0 3px #008f921a}.schedule-weekday-selector{border-top:1px solid #d6e8e9;border-bottom:1px solid #d6e8e9;grid-template-columns:minmax(150px,.55fr) minmax(0,2fr);align-items:center;gap:14px;margin-top:13px;padding:13px 0;display:grid}.schedule-weekday-selector>div:first-child{flex-direction:column;gap:4px;display:flex}.schedule-weekday-selector>div:first-child strong{color:var(--navy-950);font-size:12px}.schedule-weekday-selector>div:first-child small{color:var(--slate-500);font-size:10px;line-height:1.4}.schedule-weekday-buttons{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.schedule-weekday-buttons button{border:1px solid var(--slate-300);min-height:48px;color:var(--slate-700);cursor:pointer;background:#fff;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.schedule-weekday-buttons button:hover{border-color:var(--teal-600);background:var(--teal-50)}.schedule-weekday-buttons button.active{border-color:var(--teal-700);background:var(--teal-700);color:#fff;box-shadow:0 4px 10px #007d8026}.schedule-weekday-buttons span{font-size:12px;font-weight:850}.schedule-weekday-buttons small{color:inherit;font-size:9px}.schedule-editor-footer{justify-content:space-between;align-items:center;gap:14px;margin-top:13px;display:flex}.schedule-editor-footer small{color:var(--slate-500);font-size:11px;line-height:1.45}.schedule-editor-footer .primary-button{flex:none;min-height:38px;padding:0 14px;font-size:12px}.schedule-editor-actions{flex:none;justify-content:flex-end;align-items:center;gap:9px;display:flex}.schedule-editor-actions .secondary-button{white-space:nowrap;min-height:38px;padding:0 14px;font-size:12px}.student-active-schedules{border-top:1px solid #d6e8e9;margin-top:14px;padding-top:13px}.student-active-schedules>div:first-child{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.student-active-schedules>div:first-child strong{color:var(--navy-950);font-size:12px}.student-active-schedules>div:first-child small,.student-active-schedules>p{color:var(--slate-500);font-size:10px}.student-active-schedules article{background:#fff;border:1px solid #d7e6e7;border-radius:7px;grid-template-columns:120px minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:6px;padding:9px 10px;display:grid}.student-active-schedules article>span{background:var(--blue-100);color:var(--blue-700);text-align:center;border-radius:14px;padding:5px 7px;font-size:10px;font-weight:800}.student-active-schedules article>span.guard{color:#68409e;background:#f1eafa}.student-active-schedules article>div{flex-direction:column;gap:2px;min-width:0;display:flex}.student-active-schedules article strong{color:var(--navy-950);font-size:11px}.student-active-schedules article small{color:var(--slate-500);font-size:10px}.student-schedule-row-actions{flex-direction:row!important;gap:6px!important;display:flex!important}.student-schedule-row-actions button{color:var(--teal-800);cursor:pointer;background:#fff;border:1px solid #bcd7d9;border-radius:6px;padding:6px 8px;font-size:10px;font-weight:800}.student-schedule-row-actions .danger-text-button{color:#b52d3a;border-color:#f2c4c8}.schedule-flexible-notice{background:#f8f5fc;border:1px solid #d7cbed;border-radius:8px;margin-top:12px;padding:11px 13px}.schedule-flexible-notice strong{color:#68409e;font-size:12px}.schedule-flexible-notice p{color:var(--slate-600);margin:4px 0 0;font-size:11px;line-height:1.5}.profile-day-assignment-selector{background:#f7fbfd;border:1px solid #c9dee7;border-radius:8px;gap:10px;margin-bottom:12px;padding:11px 13px;display:grid}.profile-day-assignment-selector>div:first-child{gap:3px;display:grid}.profile-day-assignment-selector>div:first-child strong{color:var(--navy-950);font-size:12px}.profile-day-assignment-selector>div:first-child span{color:var(--slate-500);font-size:11px}.profile-day-assignment-options{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;display:grid}.profile-day-assignment-options button{text-align:left;cursor:pointer;background:#fff;border:1px solid #cfdee6;border-radius:7px;gap:4px;padding:8px 10px;display:grid}.profile-day-assignment-options button.active{border-color:var(--teal-700);background:var(--teal-50);box-shadow:0 0 0 1px #00808024}.profile-day-assignment-options button strong{color:var(--navy-950);font-size:11px;line-height:1.35}.profile-day-assignment-options button span{color:var(--slate-600);font-size:10px}.selected-clinical-day{border:1px solid #b8e0df;border-left:4px solid var(--teal-700);background:var(--teal-50);border-radius:8px;grid-template-columns:1.2fr 1.45fr .8fr 1.25fr;gap:12px;margin-bottom:12px;padding:11px 13px;display:grid}.selected-clinical-day>div{flex-direction:column;gap:4px;min-width:0;display:flex}.selected-clinical-day span{color:var(--slate-500);text-transform:uppercase;font-size:11px;font-weight:750}.selected-clinical-day strong{color:var(--navy-950);text-overflow:ellipsis;font-size:12px;overflow:hidden}.selected-clinical-day-actions{border-top:1px solid #00808024;grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;padding-top:10px;flex-direction:row!important}.selected-clinical-day-actions small{color:var(--slate-500);font-size:10px}.manual-attendance-button{border:1px solid var(--teal-700);min-height:34px;color:var(--teal-700);cursor:pointer;background:#fff;border-radius:6px;padding:7px 11px;font-size:11px;font-weight:850}.manual-attendance-button:hover:not(:disabled){background:var(--teal-100)}.manual-attendance-button:disabled{cursor:not-allowed;opacity:.52}.profile-manual-attendance{background:#f9fdfd;border:1px solid #b8e0df;border-radius:8px;margin:-1px 0 13px;padding:13px}.profile-manual-attendance-heading,.profile-manual-attendance-footer{justify-content:space-between;align-items:center;gap:14px;display:flex}.profile-manual-attendance-heading>div{flex-direction:column;gap:3px;display:flex}.profile-manual-attendance-heading span{color:var(--teal-700);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:850}.profile-manual-attendance-heading strong{color:var(--navy-950);font-size:13px}.profile-manual-attendance>p{color:var(--slate-500);margin:8px 0 10px;font-size:11px}.profile-manual-attendance-grid{grid-template-columns:1.45fr .8fr .8fr;gap:10px;display:grid}.profile-manual-attendance-grid label{color:var(--navy-900);flex-direction:column;gap:5px;font-size:10px;font-weight:800;display:flex}.profile-manual-attendance-grid input,.profile-manual-attendance-grid select,.profile-manual-attendance-grid textarea{border:1px solid var(--slate-300);min-width:0;color:var(--navy-950);font:inherit;background:#fff;border-radius:6px;padding:8px 9px;font-size:11px}.profile-manual-attendance-grid input,.profile-manual-attendance-grid select{height:35px}.profile-manual-attendance-reason{grid-column:1/-1}.profile-manual-attendance-reason textarea{resize:vertical}.profile-manual-attendance-footer{border-top:1px solid var(--slate-200);margin-top:10px;padding-top:10px}.profile-manual-attendance-footer small{max-width:620px;color:var(--slate-500);font-size:10px}.selected-clinical-day.selected-absent{border-color:#f0b8bd;border-left-color:var(--red-700);background:#fff7f8}.selected-clinical-day.selected-late,.selected-clinical-day.selected-incident{border-color:#f4cf98;border-left-color:var(--amber-700);background:#fffaf1}.selected-clinical-day.selected-guard{background:#fbf8fe;border-color:#d9c6ee #d9c6ee #d9c6ee #8258bd}.profile-calendar-scroll{border-radius:8px;overflow-x:auto}.profile-weekdays{border:1px solid var(--slate-200);background:#f9fbfc;border-bottom:0;border-radius:8px 8px 0 0;grid-template-columns:repeat(7,minmax(0,1fr));min-width:770px;display:grid}.profile-weekdays span{color:var(--slate-500);text-align:center;padding:8px;font-size:11px;font-weight:800}.profile-calendar-grid{border-top:1px solid var(--slate-200);border-left:1px solid var(--slate-200);border-radius:0 0 8px 8px;grid-template-columns:repeat(7,minmax(0,1fr));min-width:770px;display:grid;overflow:hidden}.profile-calendar-grid button{border:0;border-right:1px solid var(--slate-200);border-bottom:1px solid var(--slate-200);cursor:default;text-align:left;background:#fff;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;min-height:96px;padding:7px;display:flex;position:relative}.profile-calendar-empty{border-right:1px solid var(--slate-200);border-bottom:1px solid var(--slate-200);background:#f7f9fa;min-height:96px;display:block}.profile-calendar-grid button.has-practice{cursor:pointer}.profile-calendar-grid button:hover{background:var(--teal-50)}.profile-calendar-grid button.selected-profile-day{z-index:1;box-shadow:inset 0 0 0 2px var(--teal-700);position:relative}.profile-calendar-grid button.outside{color:#a3b0ba;background:#fbfcfd}.profile-calendar-grid button strong{border-radius:50%;place-items:center;width:21px;height:21px;font-size:12px;display:grid}.profile-day-details{flex-direction:column;gap:3px;width:100%;min-width:0;display:flex}.profile-day-status{text-overflow:ellipsis;white-space:nowrap;border-radius:3px;max-width:100%;padding:3px 4px;font-size:10px;font-style:normal;font-weight:800;overflow:hidden}.profile-day-details b,.profile-day-details small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.profile-day-assignment-line{border-top:1px solid #0e3d4f17;gap:2px;min-width:0;padding-top:4px;display:grid}.profile-day-details b{color:var(--navy-950);font-size:11px}.profile-day-details small{color:var(--slate-500);font-size:10px}.profile-day-present .profile-day-status{background:var(--green-100);color:var(--green-700)}.profile-day-late .profile-day-status{background:var(--amber-100);color:var(--amber-700)}.profile-day-absent .profile-day-status{background:var(--red-100);color:var(--red-700)}.profile-day-guard .profile-day-status{color:#68409e;background:#f1eafa}.profile-day-scheduled .profile-day-status{background:var(--blue-100);color:var(--blue-700)}.profile-day-incident .profile-day-status{color:#b85b16;background:#fff0e3}.profile-day-observation .profile-day-status{color:#9d246a;background:#fff0f7}.profile-day-dayoff .profile-day-status{color:#087d78;background:#e5f7f5}.profile-day-present strong{background:var(--green-100);color:var(--green-700)}.profile-day-absent strong{background:var(--red-100);color:var(--red-700)}.profile-day-dayoff strong{color:#087d78;background:#e5f7f5}.profile-calendar-legend{flex-wrap:wrap;align-items:center;gap:12px;margin-top:13px;display:flex}.profile-calendar-legend span{color:var(--slate-500);align-items:center;gap:5px;font-size:11px;display:inline-flex}.profile-calendar-legend i{border-radius:50%;width:7px;height:7px}.profile-legend-present{background:#16a05b}.profile-legend-late{background:#ed930c}.profile-legend-absent{background:#d94852}.profile-legend-guard{background:#8258bd}.profile-legend-scheduled{background:#2583d5}.profile-legend-incident{background:#dc6f25}.profile-legend-observation{background:#c23b82}.profile-legend-dayoff{background:#14a89f}.profile-day-markers{align-items:center;gap:5px;display:inline-flex;position:absolute;top:10px;right:9px}.profile-day-marker{border:2px solid #fff;border-radius:50%;width:9px;height:9px;display:block;box-shadow:0 0 0 1px #08233f1f}.profile-day-marker.incident{background:#dc6f25}.profile-day-marker.observation{background:#c23b82}.selected-clinical-day-note{grid-column:1/-1}.selected-clinical-day-note strong{white-space:normal;line-height:1.45}.day-off-button{color:#087d78;min-height:36px;font:inherit;cursor:pointer;background:#e5f7f5;border:1px solid #76cfc7;border-radius:7px;padding:8px 12px;font-size:12px;font-weight:850}.day-off-button:disabled{cursor:default;opacity:.68}.profile-day-off-form{background:#f2fbfa;border:1px solid #9bded7;border-radius:9px;grid-template-columns:minmax(220px,.75fr) minmax(320px,1.25fr) auto;align-items:end;gap:14px;margin:12px 0 16px;padding:15px;display:grid}.profile-day-off-form>div:first-child,.profile-day-off-form label{flex-direction:column;gap:5px;display:flex}.profile-day-off-form>div:first-child>span{color:#087d78;letter-spacing:.07em;text-transform:uppercase;font-size:10px;font-weight:850}.profile-day-off-form>div:first-child small{color:var(--slate-500);font-size:11px;line-height:1.4}.profile-day-off-form label{color:var(--navy-800);font-size:11px;font-weight:800}.profile-day-off-form textarea{resize:vertical;border:1px solid var(--slate-300);width:100%;color:var(--navy-950);font:inherit;background:#fff;border-radius:7px;padding:9px 10px;line-height:1.4}.profile-day-off-actions{gap:8px;display:flex}.profile-side{flex-direction:column;gap:14px;display:flex}.rotation-details{margin:0}.rotation-details>div{border-top:1px solid var(--slate-100);grid-template-columns:78px 1fr;gap:9px;padding:10px 0;display:grid}.rotation-details>div:first-child{border-top:0}.rotation-details dt{color:var(--slate-500);font-size:11px}.rotation-details dd{color:var(--navy-950);margin:0;font-size:12px;font-weight:750}.profile-assignment-list{flex-direction:column;gap:8px;display:flex}.profile-assignment-list section{border:1px solid #d7e6e7;border-left:3px solid var(--teal-600);background:#fbfefe;border-radius:7px;flex-direction:column;gap:3px;padding:9px 10px;display:flex}.profile-assignment-title{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.assignment-history-state{background:var(--slate-100);color:var(--slate-600);border-radius:999px;flex:none;padding:3px 7px;font-size:9px;font-style:normal;font-weight:850}.assignment-history-state.assignment-current{color:#08724f;background:#dff5ec}.assignment-history-state.assignment-future{color:#1767a6;background:#e5f1fb}.schedule-history-notice{color:var(--navy-800);background:#f2fbfa;border:1px solid #9bded7;border-radius:8px;flex-direction:column;gap:3px;margin-top:12px;padding:10px 12px;display:flex}.schedule-history-notice strong{color:var(--teal-800);font-size:11px}.schedule-history-notice span{font-size:10px;line-height:1.45}.profile-assignment-list strong{color:var(--navy-950);font-size:12px}.profile-assignment-list span{color:var(--teal-800);font-size:11px;font-weight:750}.profile-assignment-list small{color:var(--slate-500);font-size:10px}.profile-assignment-remove{color:#a52828;cursor:pointer;background:#fff7f7;border:1px solid #efb5b5;border-radius:6px;align-self:flex-start;margin-top:6px;padding:6px 9px;font-size:10px;font-weight:800}.profile-assignment-remove:hover:not(:disabled){background:#ffeded;border-color:#d97d7d}.profile-assignment-remove:disabled{cursor:wait;opacity:.62}.profile-assignment-history-remove{color:#8d3b28;cursor:pointer;background:0 0;border:0;align-self:flex-start;margin-top:3px;padding:4px 0;font-size:10px;font-weight:800;text-decoration:underline}.profile-assignment-history-removal{background:#fff9f6;border:1px solid #e4b6a9;border-radius:7px;gap:8px;margin-top:5px;padding:9px;display:grid}.profile-assignment-history-removal>strong{color:var(--navy-950);font-size:10px}.profile-assignment-history-removal>label:not(.profile-assignment-history-field){background:#fff;border:1px solid #e2e9ec;border-radius:6px;grid-template-columns:auto 1fr;align-items:flex-start;gap:7px;padding:7px;display:grid}.profile-assignment-history-removal>label.danger-option{background:snow;border-color:#efc1c1}.profile-assignment-history-removal label span,.profile-assignment-history-removal label b,.profile-assignment-history-removal label small{display:block}.profile-assignment-history-removal label span{color:var(--navy-900);font-size:10px;font-weight:700}.profile-assignment-history-removal label small{color:var(--slate-500);margin-top:2px;font-size:9px;font-weight:500;line-height:1.35}.profile-assignment-history-field{gap:4px;display:grid}.profile-assignment-history-field textarea,.profile-assignment-history-field input[type=text]{width:100%;color:var(--navy-950);background:#fff;border:1px solid #cfdde3;border-radius:6px;padding:7px;font-size:10px}.profile-assignment-history-field textarea{resize:vertical;min-height:58px}.profile-assignment-history-error{color:#a52828;margin:0;font-size:9px;line-height:1.4}.profile-assignment-history-confirm{width:100%;min-height:32px;padding:7px 9px;font-size:10px}.incident-count{background:var(--amber-100);border-radius:10px;padding:5px 8px;color:var(--amber-700)!important;letter-spacing:0!important;text-transform:none!important;font-size:10px!important}.profile-incidents{flex-direction:column;gap:9px;max-height:360px;padding-right:2px;display:flex;overflow-y:auto}.observation-count{background:#e7f6f6;border-radius:10px;padding:5px 8px;color:var(--teal-700)!important;letter-spacing:0!important;text-transform:none!important;font-size:10px!important}.profile-observations{flex-direction:column;gap:9px;max-height:360px;padding-right:2px;display:flex;overflow-y:auto}.observation-item{border-left:3px solid var(--teal-600);background:#f2fbfb;border-radius:5px;padding:10px}.observation-item-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.observation-item-heading span{color:var(--slate-500);font-size:11px;font-weight:750}.observation-item-heading strong{color:var(--teal-700);background:#dff3f3;border-radius:9px;padding:4px 7px;font-size:10px}.observation-item p{color:var(--slate-700);white-space:pre-wrap;margin:8px 0 0;font-size:11px;line-height:1.5}.observation-item small{color:var(--slate-500);font-size:10px;font-weight:700;display:block}.profile-alert-item{background:#fff9ee;border-left-color:#e49a26}.profile-alert-item .observation-item-heading strong{color:#965b00;background:#fff0d2}.profile-note-footer{justify-content:space-between;align-items:center;gap:10px;margin-top:8px;display:flex}.profile-note-delete{color:#b52d35;cursor:pointer;background:#fff;border:1px solid #efb1b5;border-radius:8px;flex:none;padding:5px 8px;font-size:10px;font-weight:800}.profile-note-actions{align-items:center;gap:6px;display:flex}.profile-note-edit{color:#007f7b;cursor:pointer;background:#fff;border:1px solid #9ccfce;border-radius:8px;flex:none;padding:5px 8px;font-size:10px;font-weight:800}.profile-note-edit:hover{background:#edf9f8;border-color:#008f8a}.profile-note-delete:hover:not(:disabled){background:#fff0f1;border-color:#d34b54}.profile-note-delete:disabled,.profile-note-edit:disabled{cursor:wait;opacity:.6}.observation-entry-form>div:first-of-type label:last-child{grid-column:auto}.incident-item{border-left:3px solid;border-radius:5px;grid-template-columns:76px 1fr;gap:10px;padding:10px;display:grid}.incident-item.amber{background:#fff9ef;border-color:#df8311}.incident-item.red{background:#fff5f6;border-color:#d94852}.incident-item.resolved{border-color:var(--green-700);background:#f1fbf6}.incident-item>span{color:var(--slate-500);font-size:11px;font-weight:750}.incident-item strong{font-size:12px;display:block}.incident-item p{color:var(--slate-700);margin:4px 0 0;font-size:11px;line-height:1.45}.incident-item small{color:var(--slate-500);margin-top:5px;font-size:10px;font-weight:750;display:block}.incident-empty{border:1px dashed var(--slate-300);color:var(--slate-500);text-align:center;border-radius:7px;padding:13px;font-size:11px}.incident-form-error{background:var(--red-100);color:var(--red-700);border:1px solid #efb7bc;border-radius:7px;margin:10px 0 0;padding:9px 10px;font-size:11px;font-weight:700}.incident-entry-form{border-top:1px solid var(--slate-100);flex-direction:column;gap:10px;margin-top:12px;padding-top:12px;display:flex}.incident-entry-form>h4{color:var(--navy-950);margin:0;font-size:12px}.incident-entry-form>div:first-of-type{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.incident-entry-form>div:first-of-type label:last-child{grid-column:1/-1}.incident-entry-form label{color:var(--slate-700);flex-direction:column;gap:5px;font-size:10px;font-weight:800;display:flex}.incident-entry-form input,.incident-entry-form select,.incident-entry-form textarea{border:1px solid var(--slate-300);width:100%;color:var(--navy-950);font:inherit;background:#fff;border-radius:6px;outline:none;padding:7px 8px;font-weight:550}.incident-entry-form input,.incident-entry-form select{min-height:36px}.incident-entry-form textarea{resize:vertical}.incident-entry-form input:focus,.incident-entry-form select:focus,.incident-entry-form textarea:focus{border-color:var(--teal-600);box-shadow:0 0 0 3px #008f921a}.incident-form-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.profile-side .profile-link-button{margin-top:12px}.attendance-history{margin-top:14px}.profile-history-table{min-width:900px}.attendance-result{border:1px solid;border-radius:12px;padding:5px 8px;font-size:11px;font-weight:800;display:inline-flex}.student-covered-history-result{justify-items:start;gap:5px;display:grid}.student-covered-history-result small{max-width:280px;color:var(--slate-500);line-height:1.4}.result-present{background:var(--green-100);color:var(--green-700);border-color:#b8e0c9}.result-late{background:var(--amber-100);color:var(--amber-700);border-color:#f4cf98}.result-absent{background:var(--red-100);color:var(--red-700);border-color:#f0b8bd}.result-incident{color:#aa571c;background:#fff0e3;border-color:#f3c4a6}.result-dayoff{color:#087d78;background:#e5f7f5;border-color:#9dd8d4}.reader-connected{color:#126f47;background:#f0fbf5;border:1px solid #b7dec9;border-radius:7px;align-items:center;gap:9px;min-height:46px;padding:0 15px;font-size:15px;font-weight:800;display:inline-flex}.reader-connected i{background:#13a15c;border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 5px #13a15c1c}.coordinator-context{border:1px solid var(--slate-200);background:#fff;border-radius:10px;grid-template-columns:minmax(245px,1.2fr) repeat(4,minmax(155px,1fr));gap:15px;margin-bottom:18px;padding:18px;display:grid;box-shadow:0 5px 18px #1337530a}.coordinator-identity{border-right:1px solid var(--slate-200);align-items:center;gap:12px;padding-right:14px;display:flex}.coordinator-avatar{border:3px solid var(--teal-100);background:linear-gradient(145deg, var(--navy-900), var(--teal-700));color:#fff;border-radius:50%;flex:0 0 47px;place-items:center;width:47px;height:47px;font-size:14px;font-weight:850;display:grid}.coordinator-identity>div,.coordinator-context label{flex-direction:column;gap:7px;min-width:0;display:flex}.coordinator-identity small,.coordinator-context label>span{color:var(--slate-500);font-size:13px;font-weight:750}.coordinator-identity strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.coordinator-context select,.coordinator-context input{border:1px solid var(--slate-300);color:#263d50;width:100%;height:43px;font:inherit;background:#fff;border-radius:7px;outline:none;padding:0 11px;font-size:14px}.coordinator-context select:focus,.coordinator-context input:focus{border-color:var(--teal-600);box-shadow:0 0 0 3px #008f921c}.coordinator-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:18px;display:grid}.coordinator-kpis article{border:1px solid var(--slate-200);background:#fff;border-radius:10px;grid-template-rows:auto auto;grid-template-columns:1fr auto;gap:4px 14px;min-height:104px;padding:18px 20px;display:grid;box-shadow:0 4px 15px #13375309}.coordinator-kpis span{color:var(--slate-700);align-self:end;font-size:15px}.coordinator-kpis strong{color:var(--teal-700);letter-spacing:-.04em;grid-area:1/2/3;align-self:center;font-size:36px}.coordinator-kpis small{color:var(--slate-500);font-size:13px}.coordinator-kpis article:nth-child(3) strong{color:var(--amber-700)}.coordinator-kpis article:nth-child(4) strong{color:var(--red-700)}.coordinator-layout{grid-template-columns:minmax(0,1.7fr) minmax(380px,.8fr);align-items:start;gap:18px;display:grid}.nfc-station,.roster-card,.coordinator-actions-card,.coordinator-audit-note{border:1px solid var(--slate-200);box-shadow:var(--shadow);background:#fff;border-radius:10px}.nfc-station{overflow:hidden}.station-toolbar{border-bottom:1px solid var(--slate-200);justify-content:space-between;align-items:center;gap:20px;min-height:82px;padding:15px 20px;display:flex}.station-toolbar>div:first-child,.side-panel-heading>div{flex-direction:column;gap:5px;display:flex}.station-toolbar>div:first-child span,.side-panel-heading>div>span{color:var(--teal-700);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:850}.station-toolbar h2,.side-panel-heading h2{color:var(--navy-950);letter-spacing:-.02em;margin:0;font-size:19px}.nfc-operation-pill{border:1px solid var(--slate-300);border-radius:999px;align-items:center;padding:8px 12px;font-size:12px;font-weight:850;display:inline-flex}.nfc-operation-pill.mode-entry,.mode-label.mode-entry{background:var(--green-100);color:var(--green-700);border-color:#9bd8b5}.nfc-operation-pill.mode-exit,.mode-label.mode-exit{background:var(--blue-100);color:var(--blue-700);border-color:#a9cbed}.nfc-operation-pill.mode-query,.mode-label.mode-query{border-color:var(--slate-300);background:var(--slate-100);color:var(--slate-700)}.nfc-operation-control{border-bottom:1px solid var(--slate-200);background:#f8fbfc;grid-template-columns:minmax(210px,.75fr) minmax(460px,1.5fr);align-items:end;gap:14px 18px;padding:16px 20px;display:grid}.nfc-operation-control>label{color:var(--navy-800);flex-direction:column;gap:6px;font-size:11px;font-weight:800;display:flex}.nfc-operation-control select{border:1px solid var(--slate-300);min-height:42px;color:var(--navy-950);font:inherit;background:#fff;border-radius:8px;padding:0 10px;font-size:13px}.nfc-mode-buttons{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.nfc-mode-buttons button{border:1px solid var(--slate-300);min-height:42px;color:var(--slate-700);cursor:pointer;background:#fff;border-radius:8px;padding:8px 10px;font-size:12px;font-weight:800}.nfc-mode-buttons button span{margin-right:4px;font-size:16px}.nfc-mode-buttons button:disabled{cursor:not-allowed;opacity:.55}.nfc-mode-buttons button.active.entry{background:var(--green-100);color:var(--green-700);border-color:#82cba1}.nfc-mode-buttons button.active.exit{background:var(--blue-100);color:var(--blue-700);border-color:#8ebee9}.nfc-mode-buttons button.active.query{border-color:var(--slate-500);background:var(--slate-200);color:var(--navy-800)}.nfc-operation-control>p{color:var(--slate-600);grid-column:1/-1;margin:-2px 0 0;font-size:12px;line-height:1.45}.mode-switch{border:1px solid var(--slate-300);background:var(--slate-100);border-radius:8px;grid-template-columns:1fr 1fr;padding:3px;display:grid;overflow:hidden}.mode-switch button{min-height:42px;color:var(--slate-700);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 15px;font-size:14px;font-weight:800}.mode-switch button.active{background:#fff;box-shadow:0 2px 8px #08233f1a}.mode-switch button.active.entry{color:var(--green-700)}.mode-switch button.active.exit{color:var(--blue-700)}.scanner-stage{background:radial-gradient(circle at 17%,#008f9217,#0000 28%),linear-gradient(135deg,#fafdfe,#f4faf9);grid-template-columns:255px minmax(0,1fr);align-items:center;gap:30px;min-height:315px;padding:30px 38px;display:grid}.nfc-reader-visual{width:205px;height:205px;color:var(--teal-700);background:radial-gradient(circle,#fff 0 30%,#e7f6f5 31% 58%,#f6fbfb 59%);border:1px solid #bbdedf;border-radius:50%;justify-self:center;place-items:center;display:grid;position:relative;box-shadow:0 16px 40px #007d801f}.nfc-reader-visual:after{content:"";border:3px solid;border-radius:9px;width:76px;height:54px;position:absolute;transform:rotate(-7deg)}.nfc-reader-visual strong{z-index:2;color:var(--teal-700);letter-spacing:.08em;margin-top:2px;font-size:17px;position:relative}.nfc-wave{border:2px solid #008f9247;border-radius:50%;position:absolute}.wave-one{width:118px;height:118px}.wave-two{width:157px;height:157px}.wave-three{width:194px;height:194px}.scanner-reading .nfc-wave{animation:.9s ease-in-out infinite nfc-pulse}.scanner-reading .wave-two{animation-delay:.12s}.scanner-reading .wave-three{animation-delay:.24s}.scanner-success{color:var(--green-700);background:radial-gradient(circle,#fff 0 30%,#dcf5e7 31% 58%,#f2fbf6 59%);border-color:#95d5b2}.scanner-copy{flex-direction:column;align-items:flex-start;display:flex}.mode-label{text-transform:uppercase;border-radius:14px;padding:6px 10px;font-size:12px;font-weight:850;display:inline-flex}.mode-entrada{background:var(--green-100);color:var(--green-700)}.mode-salida{background:var(--blue-100);color:var(--blue-700)}.scanner-copy h2{letter-spacing:-.035em;margin:14px 0 8px;font-size:clamp(24px,2.1vw,32px)}.scanner-copy p{max-width:690px;color:var(--slate-700);margin:0 0 18px;font-size:15px;line-height:1.55}.simulate-card-button{border:1px solid var(--teal-700);color:#fff;cursor:pointer;background:linear-gradient(135deg,#079a9c,#007b7e);border-radius:8px;justify-content:center;align-items:center;gap:9px;min-height:49px;padding:0 19px;font-size:15px;font-weight:800;display:inline-flex;box-shadow:0 8px 18px #007d802b}.simulate-card-button:disabled{cursor:wait;opacity:.72}.scanner-copy>small{color:var(--slate-500);margin-top:9px;font-size:12px}.scan-result{border:1px solid;border-radius:10px;margin:0 20px 20px;overflow:hidden}.scan-result.result-success{background:#f7fcf9;border-color:#aedec3}.scan-result.result-late{background:#fffaf1;border-color:#f0ca8e}.scan-result-heading{border-bottom:1px solid #70839729;align-items:center;gap:12px;min-height:65px;padding:10px 16px;display:flex}.result-check{background:var(--green-100);width:38px;height:38px;color:var(--green-700);border-radius:50%;place-items:center;font-size:20px;font-weight:900;display:grid}.result-late .result-check{background:var(--amber-100);color:var(--amber-700)}.scan-result-heading>div{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.scan-result-heading small{color:var(--slate-500);font-size:12px}.scan-result-heading strong{color:var(--green-700);font-size:17px}.result-late .scan-result-heading strong{color:var(--amber-700)}.scan-result-heading time{color:var(--navy-950);font-size:22px;font-weight:850}.scanned-student{grid-template-columns:auto minmax(170px,.8fr) minmax(380px,1.5fr);align-items:center;gap:15px;padding:16px;display:grid}.large-student-avatar{width:62px;height:62px;color:var(--teal-700);box-shadow:0 0 0 1px var(--slate-200);background:linear-gradient(145deg,#d7e8ec,#e7f4f2);border:3px solid #fff;border-radius:50%;place-items:center;font-size:19px;font-weight:900;display:grid}.scanned-student-name h3{margin:0;font-size:18px}.scanned-student-name p{color:var(--slate-500);margin:5px 0 0;font-size:13px}.scanned-student dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.scanned-student dl>div{border-left:1px solid var(--slate-200);flex-direction:column;gap:5px;min-width:0;padding-left:12px;display:flex}.scanned-student dt{color:var(--slate-500);font-size:11px}.scanned-student dd{color:var(--navy-950);margin:0;font-size:13px;font-weight:750}.coordinator-side{flex-direction:column;gap:18px;display:flex}.roster-card,.coordinator-actions-card{overflow:hidden}.side-panel-heading{border-bottom:1px solid var(--slate-200);justify-content:space-between;align-items:center;gap:12px;min-height:74px;padding:14px 17px;display:flex}.roster-search{border:1px solid var(--slate-300);border-radius:7px;align-items:center;gap:8px;height:42px;margin:13px 15px;padding:0 11px;display:flex}.roster-search>span{color:var(--slate-500);font-size:20px}.roster-search input{width:100%;color:var(--navy-950);font:inherit;border:0;outline:0;font-size:14px}.roster-list{border-top:1px solid var(--slate-100)}.roster-list>div{border-bottom:1px solid var(--slate-100);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:70px;padding:10px 15px;display:grid}.roster-list>div>div{flex-direction:column;gap:4px;min-width:0;display:flex}.roster-list strong,.roster-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.roster-list strong{font-size:13px}.roster-list small{color:var(--slate-500);font-size:11px}.roster-list time{color:var(--navy-700);font-size:13px;font-weight:800}.roster-status{border-radius:11px;grid-column:2/-1;justify-self:start;margin-top:-6px;padding:4px 8px;font-size:10px;font-weight:800}.roster-present{background:var(--green-100);color:var(--green-700)}.roster-late{background:var(--amber-100);color:var(--amber-700)}.roster-pending{background:var(--slate-100);color:var(--slate-700)}.coordinator-actions-card>button{border:0;border-bottom:1px solid var(--slate-100);cursor:pointer;text-align:left;background:#fff;grid-template-columns:38px 1fr auto;align-items:center;gap:11px;width:100%;min-height:69px;padding:10px 16px;display:grid}.coordinator-actions-card>button:last-child{border-bottom:0}.coordinator-actions-card>button:hover{background:var(--teal-50)}.coordinator-actions-card button i{background:var(--teal-100);width:36px;height:36px;color:var(--teal-700);border-radius:8px;place-items:center;font-size:18px;font-style:normal;font-weight:850;display:grid}.coordinator-actions-card button>span{flex-direction:column;gap:4px;display:flex}.coordinator-actions-card button strong{font-size:14px}.coordinator-actions-card button small{color:var(--slate-500);font-size:12px}.coordinator-actions-card button b{color:var(--teal-700);font-size:18px}.nfc-special-dialog{width:min(1040px,100vw - 40px)}.special-case-layout{grid-template-columns:minmax(300px,.82fr) minmax(420px,1.18fr);min-height:470px;display:grid}.special-student-selector{border-right:1px solid var(--slate-200);background:#fff;padding:18px}.special-student-selector>label{color:var(--navy-800);flex-direction:column;gap:7px;font-size:11px;font-weight:850;display:flex}.special-student-selector>.special-date-filter{margin-bottom:12px}.special-day-off-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}.special-day-off-filters label{color:var(--navy-800);flex-direction:column;gap:5px;font-size:10px;font-weight:800;display:flex}.special-day-off-filters select{border:1px solid var(--slate-300);width:100%;height:38px;color:var(--navy-950);font:inherit;background:#fff;border-radius:7px;padding:0 8px}.special-day-off-target-mode{background:var(--teal-50);border:1px solid #9bded7;border-radius:8px;margin-top:10px;padding:9px 10px}.special-day-off-target-mode>label{color:var(--navy-900);cursor:pointer;align-items:center;gap:9px;font-size:11px;font-weight:800;display:flex}.special-day-off-target-mode input{width:17px;height:17px;accent-color:var(--teal-700);margin:0}.special-day-off-target-mode span{flex-direction:column;gap:2px;display:flex}.special-day-off-target-mode small{color:var(--slate-600);font-size:10px;font-weight:650}.special-date-filter input{border:1px solid var(--slate-300);height:42px;color:var(--navy-950);font:inherit;background:#fff;border-radius:8px;padding:0 11px;font-size:13px;font-weight:650}.special-search-box{border:1px solid var(--slate-300);border-radius:8px;align-items:center;gap:8px;height:44px;padding:0 11px;display:flex}.special-search-box i{color:var(--teal-700);font-size:19px;font-style:normal}.special-search-box input{width:100%;color:var(--navy-950);font:inherit;border:0;outline:0;font-size:13px;font-weight:600}.special-student-results{border:1px solid var(--slate-200);border-radius:9px;max-height:390px;margin-top:12px;overflow:auto}.special-student-results>button{border:0;border-bottom:1px solid var(--slate-100);cursor:pointer;text-align:left;background:#fff;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:11px;display:grid}.special-student-results>button:last-of-type{border-bottom:0}.special-student-results>button:hover,.special-student-results>button.selected{background:var(--teal-50)}.special-student-results>button.selected{box-shadow:inset 3px 0 var(--teal-600)}.special-student-results>button>span:nth-child(2){flex-direction:column;gap:3px;min-width:0;display:flex}.special-student-results strong,.special-student-results small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.special-student-results strong{color:var(--navy-950);font-size:12px}.special-student-results small{color:var(--slate-500);font-size:10px}.special-student-results b{color:var(--teal-700);font-size:16px}.special-results-empty{color:var(--slate-500);text-align:center;padding:28px 16px;font-size:12px;line-height:1.5}.special-case-editor{padding:20px}.special-selected-student{background:var(--teal-50);border:1px solid #b9dcd9;border-radius:10px;flex-direction:column;gap:3px;margin-bottom:17px;padding:13px 15px;display:flex}.special-selected-student span,.special-practice-scope>span{color:var(--teal-700);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:850}.special-selected-student strong{color:var(--navy-950);font-size:15px}.special-selected-student small,.special-practice-scope small{color:var(--slate-600);font-size:11px}.special-selected-multiple>div{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.special-selected-multiple>div>button{color:var(--navy-800);cursor:pointer;font:inherit;background:#fff;border:1px solid #9bded7;border-radius:999px;align-items:center;gap:7px;padding:6px 9px;font-size:10px;font-weight:750;display:flex}.special-selected-multiple>div>button b{color:var(--red-700);font-size:14px}.special-selected-multiple>p{color:var(--slate-600);margin:7px 0 0;font-size:11px;line-height:1.5}.special-day-off-explanation{border:1px solid var(--slate-200);background:var(--slate-50);border-radius:9px;padding:13px}.special-day-off-explanation p{color:var(--slate-600);margin:5px 0 0;font-size:12px;line-height:1.5}.special-case-fields{padding:0}.special-manual-summary{border:1px solid var(--slate-200);background:#fff;border-radius:10px;padding:17px}.special-manual-summary>strong{color:var(--navy-950);font-size:15px}.special-manual-summary>p{color:var(--slate-600);margin:7px 0 16px;font-size:12px;line-height:1.55}.special-manual-summary dl{gap:8px;margin:0;display:grid}.special-manual-summary dl>div{border-top:1px solid var(--slate-100);justify-content:space-between;gap:15px;padding-top:8px;display:flex}.special-manual-summary dt,.special-manual-summary dd{margin:0;font-size:11px}.special-manual-summary dt{color:var(--slate-500)}.special-manual-summary dd{color:var(--navy-900);text-align:right;font-weight:800}.special-practice-scope{background:#f3f8fd;border:1px solid #bdd8f0;border-radius:9px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.special-practice-scope strong{color:var(--navy-950);font-size:13px}.special-practice-dates{gap:9px;display:grid}.special-practice-dates>label{flex-direction:column;gap:7px;display:flex}.special-practice-date-input{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.special-practice-date-input .secondary-button{white-space:nowrap;min-height:42px}.special-practice-date-list{flex-wrap:wrap;gap:7px;display:flex}.special-practice-date-list>button{background:var(--teal-50);color:var(--navy-900);cursor:pointer;font:inherit;border:1px solid #9bded7;border-radius:999px;align-items:center;gap:8px;padding:6px 9px;font-size:11px;font-weight:750;display:inline-flex}.special-practice-date-list>button b{color:var(--red-700);font-size:14px}.special-practice-date-list>small,.special-practice-hours-note{color:var(--slate-600);font-size:11px}.special-practice-hours-note{background:var(--slate-50);border-radius:8px;margin:-3px 0 0;padding:9px 11px;line-height:1.45}.special-editor-empty{min-height:360px;color:var(--slate-500);text-align:center;place-content:center;justify-items:center;display:grid}.special-editor-empty>span{font-size:36px}.special-editor-empty strong{color:var(--navy-950);margin-top:8px;font-size:17px}.special-editor-empty p{margin:5px 0 0;font-size:12px}.coordinator-audit-note{grid-template-columns:auto 1fr auto;align-items:center;gap:13px;margin-top:18px;padding:16px 20px;display:grid}.coordinator-audit-note>span{background:var(--blue-100);border-radius:9px;place-items:center;width:43px;height:43px;font-size:20px;display:grid}.coordinator-audit-note strong{font-size:14px;display:block}.coordinator-audit-note p{color:var(--slate-500);margin:4px 0 0;font-size:12px}.student-portal-link,.signout-button{border:1px solid var(--slate-200);min-height:34px;color:var(--slate-700);border-radius:7px;align-items:center;padding:0 11px;font-size:13px;font-weight:750;text-decoration:none;display:inline-flex}.student-portal-link{background:var(--teal-50);color:var(--teal-700);border-color:#a8d8d4}.student-portal-link:hover,.signout-button:hover{background:var(--teal-50);color:var(--teal-700);border-color:#a8cbc9}.student-login-page{background:radial-gradient(circle at 11% 15%,#2bc8bc38,#0000 25%),radial-gradient(circle at 87% 86%,#2481b433,#0000 28%),linear-gradient(135deg,#061d34,#0a3653 62%,#087375 135%);place-items:center;min-height:100vh;padding:32px;display:grid}.student-login-shell{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff12;border:1px solid #ffffff21;border-radius:22px;grid-template-columns:minmax(0,1.08fr) minmax(410px,.72fr);width:min(1160px,100%);min-height:700px;display:grid;overflow:hidden;box-shadow:0 35px 100px #000f1f59}.student-login-intro{color:#fff;flex-direction:column;justify-content:space-between;padding:44px 52px;display:flex;position:relative;overflow:hidden}.student-login-intro:after{content:"";border:1px solid #ffffff1a;border-radius:50%;width:430px;height:430px;position:absolute;bottom:-170px;right:-150px;box-shadow:0 0 0 45px #ffffff06,0 0 0 95px #ffffff05}.student-login-brand,.student-portal-brand{color:inherit;align-items:center;gap:12px;text-decoration:none;display:inline-flex}.student-login-brand>.student-brand-logo,.student-portal-brand>.student-brand-logo{background:#fff url(/school-logo.png?v=2) 50%/contain no-repeat;border:1px solid #ffffff8c;border-radius:12px;flex:0 0 56px;place-items:center;width:56px;height:56px;padding:2px;display:grid;overflow:hidden;box-shadow:0 7px 20px #04223738}.student-brand-logo img{object-fit:contain;width:100%;height:100%;display:block}.student-login-brand div,.student-portal-brand div{flex-direction:column;gap:2px;display:flex}.student-login-brand strong{letter-spacing:.04em;font-size:29px}.student-login-brand small{color:#c9dfe6;font-size:14px}.student-login-message{z-index:1;margin:65px 0 40px;position:relative}.student-login-kicker{color:#76ded5;letter-spacing:.13em;text-transform:uppercase;font-size:14px;font-weight:850}.student-login-message h1{letter-spacing:-.045em;max-width:570px;margin:12px 0 18px;font-size:clamp(38px,4.6vw,60px);line-height:1.05}.student-login-message p{color:#d3e4e9;max-width:610px;margin:0;font-size:18px;line-height:1.65}.student-login-benefits{z-index:1;gap:11px;display:grid;position:relative}.student-login-benefits>div{background:#ffffff0f;border:1px solid #ffffff21;border-radius:10px;align-items:center;gap:12px;padding:12px 14px;display:flex}.student-login-benefits i{color:#6ee5b9;background:#2fcf9f33;border-radius:50%;flex:0 0 31px;place-items:center;width:31px;height:31px;font-style:normal;font-weight:900;display:grid}.student-login-benefits span{flex-direction:column;gap:3px;display:flex}.student-login-benefits strong{font-size:15px}.student-login-benefits small{color:#c7dce3;font-size:13px}.student-login-card{background:#fff;border-radius:17px;align-self:center;margin:34px;padding:36px;box-shadow:0 25px 65px #000f1f40}.student-login-card-heading{text-align:center;margin-bottom:25px}.student-access-icon{background:var(--teal-100);width:58px;height:58px;color:var(--teal-700);border-radius:16px;place-items:center;margin:0 auto 14px;font-size:28px;display:grid}.hospital-access-icon{position:relative}.hospital-access-icon:before{content:"";background:linear-gradient(currentColor,currentColor) bottom/7px 8px no-repeat;border:2px solid;border-radius:4px 4px 2px 2px;width:26px;height:27px}.hospital-access-icon:after{color:currentColor;content:"+";font-family:Arial,sans-serif;font-size:19px;font-weight:800;line-height:1;position:absolute;top:10px;left:50%;transform:translate(-50%)}.student-login-card-heading p{color:var(--teal-700);letter-spacing:.1em;text-transform:uppercase;margin:0 0 7px;font-size:12px;font-weight:850}.student-login-card-heading h2{letter-spacing:-.035em;margin:0;font-size:30px}.student-login-card-heading small{color:var(--slate-500);margin-top:8px;font-size:14px;line-height:1.5;display:block}.student-login-card>label{color:var(--navy-700);flex-direction:column;gap:8px;margin-top:16px;font-size:14px;font-weight:800;display:flex}.student-login-input{border:1px solid var(--slate-300);background:#fff;border-radius:9px;align-items:center;gap:9px;height:49px;padding:0 13px;display:flex}.student-login-input:focus-within{border-color:var(--teal-600);box-shadow:0 0 0 4px #008f921a}.student-login-input i{color:var(--teal-700);font-style:normal;font-weight:900}.student-login-input input{width:100%;min-width:0;height:100%;color:var(--navy-950);background:0 0;border:0;outline:0;font-size:16px}.student-password-visibility{width:36px;height:36px;color:var(--teal-700);cursor:pointer;background:0 0;border:0;border-radius:7px;flex:0 0 36px;place-items:center;display:grid}.student-password-visibility:hover{background:#008f9214}.student-password-visibility:focus-visible{outline:2px solid var(--teal-600);outline-offset:1px}.student-password-visibility svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px}.student-login-error{background:var(--red-100);color:var(--red-700);border:1px solid #efb7bc;border-radius:7px;margin:14px 0 0;padding:10px 12px;font-size:13px;font-weight:700}.student-login-submit{color:#fff;cursor:pointer;background:linear-gradient(135deg,#07999a,#00777b);border:0;border-radius:9px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:50px;margin-top:20px;font-size:16px;font-weight:850;display:flex;box-shadow:0 10px 22px #007d8033}.student-forgot-button{width:100%;color:var(--teal-700);cursor:pointer;background:0 0;border:0;padding:14px 0 5px;font-size:13px;font-weight:750}.student-demo-credentials{background:var(--teal-50);color:var(--teal-700);text-align:center;border:1px dashed #a8cac8;border-radius:8px;flex-direction:column;gap:5px;margin-top:17px;padding:11px 13px;font-size:12px;display:flex}.student-security-note{color:var(--slate-500);text-align:center;margin-top:15px;font-size:12px;display:block}.student-portal-shell{background:var(--canvas);min-height:100vh}.student-portal-header{z-index:25;border-bottom:1px solid var(--slate-200);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff7;position:sticky;top:0}.student-portal-header-inner{grid-template-columns:minmax(240px,.8fr) auto minmax(300px,.8fr);align-items:center;gap:26px;width:min(1480px,100% - 44px);min-height:79px;margin:0 auto;display:grid}.student-portal-brand{color:var(--navy-950)}.student-portal-brand>.student-brand-logo{border-color:var(--slate-200);flex-basis:48px;width:48px;height:48px;box-shadow:0 4px 12px #0c2e4b14}.student-portal-brand strong{font-size:24px}.student-portal-brand small{color:var(--slate-500);font-size:13px}.student-portal-header nav{align-items:stretch;gap:5px;height:79px;display:flex}.student-portal-header nav a{color:var(--slate-700);align-items:center;padding:0 13px;font-size:14px;font-weight:750;text-decoration:none;display:flex;position:relative}.student-portal-header nav a:hover{color:var(--teal-700)}.student-portal-header nav a:first-child:after{background:var(--teal-600);content:"";border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:0;left:12px;right:12px}.student-portal-actions{justify-self:end;align-items:center;gap:10px;display:flex}.student-portal-user{align-items:center;gap:10px;display:flex}.student-portal-actions .notification-button{background:0 0;border:0;border-radius:0;min-height:38px;padding:0;line-height:1}.student-portal-user>span{background:linear-gradient(145deg, var(--navy-900), var(--teal-700));color:#fff;border-radius:50%;place-items:center;width:39px;height:39px;font-size:13px;font-weight:850;display:grid}.student-portal-user div{flex-direction:column;gap:2px;display:flex}.student-portal-user strong{font-size:13px}.student-portal-user small{color:var(--slate-500);font-size:12px}.student-portal-user button,.student-portal-user a{border:1px solid var(--slate-200);cursor:pointer;min-height:34px;color:var(--slate-700);background:#fff;border-radius:7px;padding:0 11px;font-size:13px;font-weight:750;line-height:32px;text-decoration:none}.student-portal-main{width:min(1460px,100% - 48px);margin:0 auto;padding:30px 0 38px}.student-replacement-section{border:1px solid var(--slate-200);background:#fff;border-radius:16px;margin-top:28px;padding:26px;box-shadow:0 12px 32px #0c2e4b12}.student-replacement-grid{grid-template-columns:minmax(340px,.85fr) minmax(420px,1.15fr);gap:24px;margin-top:19px;display:grid}.student-replacement-form,.student-replacement-history{border:1px solid var(--slate-200);border-radius:12px;padding:20px}.student-replacement-form{background:#f8fbfc;align-content:start;gap:16px;display:grid}.student-replacement-notice{border-left:4px solid var(--teal-600);background:#eaf8f7;border-radius:8px;gap:5px;padding:13px 15px;display:grid}.student-replacement-notice strong,.student-replacement-form>label,.student-replacement-form legend{color:var(--navy-950);font-size:13px;font-weight:800}.student-replacement-notice span{color:var(--teal-800);font-weight:800}.student-replacement-notice small,.student-replacement-history small{color:var(--slate-500)}.student-replacement-form>label{gap:7px;display:grid}.student-replacement-form select,.student-replacement-form input[type=date]{border:1px solid var(--slate-300);width:100%;min-height:44px;color:var(--navy-950);font:inherit;background:#fff;border-radius:8px;padding:0 12px}.student-replacement-form fieldset{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0;padding:0;display:grid}.student-replacement-form legend{grid-column:1/-1;margin-bottom:7px}.student-replacement-form fieldset label{border:1px solid var(--slate-300);cursor:pointer;background:#fff;border-radius:9px;align-items:center;gap:9px;padding:11px;display:flex}.student-replacement-form fieldset label.selected{border-color:var(--teal-600);background:#edfafa;box-shadow:0 0 0 2px #0d94911a}.student-replacement-form fieldset label span{gap:2px;display:grid}.student-replacement-form fieldset small{color:var(--slate-500);font-weight:650}.student-replacement-submit{background:var(--teal-700);color:#fff;cursor:pointer;border:0;border-radius:9px;min-height:45px;font-size:14px;font-weight:850}.student-replacement-add{border:1px dashed var(--teal-600);min-height:41px;color:var(--teal-800);cursor:pointer;background:#fff;border-radius:9px;font-weight:850}.student-replacement-add:disabled{cursor:not-allowed;opacity:.5}.student-replacement-drafts{background:#fff;border-radius:9px;gap:8px;padding:12px;display:grid}.student-replacement-drafts>strong{color:var(--navy-950);font-size:12px}.student-replacement-drafts>div{border-top:1px solid var(--slate-100);justify-content:space-between;align-items:center;gap:10px;padding-top:8px;display:flex}.student-replacement-drafts span{gap:2px;font-size:12px;display:grid}.student-replacement-drafts small{color:var(--slate-500)}.student-replacement-drafts button{color:brown;cursor:pointer;background:#fff6f6;border:1px solid #efb6b6;border-radius:50%;flex:0 0 29px;width:29px;height:29px;font-size:18px}.student-replacement-submit:disabled{cursor:not-allowed;opacity:.5}.student-replacement-feedback,.student-replacement-empty{border-radius:7px;margin:0;padding:10px 12px;font-size:13px}.student-replacement-feedback.error{color:brown;background:#fff0f0}.student-replacement-feedback.success{color:#17663d;background:#ebf8f0}.student-replacement-empty{color:var(--slate-600);background:#f1f4f6}.student-replacement-history h3{color:var(--navy-950);margin:0 0 14px}.student-replacement-history article{border-top:1px solid var(--slate-200);grid-template-columns:minmax(170px,.7fr) minmax(260px,1.3fr);gap:18px;padding:15px 0;display:grid}.student-replacement-history article>div{align-content:start;justify-items:start;gap:6px;display:grid}.student-usage-panel{margin:24px 0}.student-usage-filters{flex-wrap:wrap;align-items:end;gap:12px;margin:18px 0;display:flex}.student-usage-filters label{color:var(--slate-700);gap:6px;font-size:14px;display:grid}.student-usage-filters input{border:1px solid var(--slate-300);min-height:42px;font:inherit;color:var(--navy-950);background:#fff;border-radius:8px;padding:8px 10px}.student-usage-period{color:var(--slate-600);font-size:14px}.student-usage-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.student-usage-cards article{border:1px solid var(--slate-200);border-top:4px solid var(--teal-700);background:#f8fbfc;border-radius:12px;min-width:0;padding:20px}.student-usage-cards h3{color:var(--navy-950);margin:0 0 14px;font-size:16px}.student-usage-cards strong{color:var(--navy-950);font-size:36px;line-height:1.2;display:block}.student-usage-cards span{color:var(--slate-700);margin-top:6px;font-size:14px;display:block}.student-usage-cards p,.student-usage-cards small{color:var(--slate-600);font-size:14px;line-height:1.5}.student-usage-overview{color:var(--navy-950);margin:20px 0 10px;font-size:14px;line-height:1.5}.student-usage-notes p{color:var(--slate-600);margin:6px 0;font-size:13px;line-height:1.5}.student-usage-error{color:#982828;background:#fff0f0;border-radius:8px;padding:12px}@media (width<=880px){.student-usage-cards{grid-template-columns:1fr}.student-usage-filters label{flex:160px;min-width:0}.student-usage-filters input{width:100%;min-width:0}}.student-replacement-history dl{gap:7px;margin:0;display:grid}.student-replacement-history dl div{grid-template-columns:78px 1fr;gap:8px;font-size:12px;display:grid}.student-replacement-history dt{color:var(--slate-500)}.student-replacement-history dd{color:var(--slate-800);margin:0;font-weight:700}.replacement-status{color:#875800;text-transform:uppercase;background:#fff4d9;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:900}.replacement-status.status-aprobada,.replacement-status.status-cumplida{color:#17663d;background:#e5f7ed}.replacement-status.status-rechazada{color:brown;background:#ffebeb}.replacement-admin-main{width:100%;min-width:0}.replacement-delete-toolbar{margin-bottom:20px}.replacement-delete-row{border-top:1px solid var(--slate-200);padding:16px 24px}.replacement-admin-feedback{border-radius:9px;margin-top:18px;padding:12px 15px}.replacement-admin-feedback.error{color:#982424;background:#ffebeb}.replacement-admin-feedback.success{color:#17663d;background:#e7f8ef}.replacement-admin-list{gap:18px;margin-top:22px;display:grid}.replacement-admin-card{border:1px solid var(--slate-200);background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 9px 25px #0c2e4b0f}.replacement-admin-card.pending{border-left:4px solid var(--teal-600)}.replacement-admin-card-head{grid-template-columns:minmax(230px,.65fr) minmax(600px,1.35fr);gap:24px;padding:22px 24px;display:grid}.replacement-admin-card-head h2{margin:8px 0 3px;font-size:19px}.replacement-admin-card-head small{color:var(--slate-500)}.replacement-admin-card-head dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;display:grid}.replacement-admin-card-head dl div,.replacement-admin-resolution div{border-left:1px solid var(--slate-200);align-content:start;gap:4px;padding-left:13px;display:grid}.replacement-admin-card-head dt,.replacement-admin-resolution span{color:var(--slate-500);font-size:11px}.replacement-admin-card-head dd{color:var(--navy-950);margin:0;font-size:13px;font-weight:800}.replacement-admin-form{border-top:1px solid var(--slate-200);background:#f8fbfc;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px 24px 23px;display:grid}.replacement-admin-form label{color:var(--navy-950);gap:7px;font-size:12px;font-weight:800;display:grid}.replacement-admin-form .wide{grid-column:1/-1}.replacement-admin-form input,.replacement-admin-form select,.replacement-admin-form textarea{border:1px solid var(--slate-300);width:100%;color:var(--navy-950);font:inherit;background:#fff;border-radius:8px;padding:10px 12px}.replacement-admin-form input,.replacement-admin-form select{min-height:44px}.replacement-admin-form .replacement-delete-sanction-option,.student-request-delete-option{color:#7d2d27;background:#fff7f5;border:1px solid #e4b5ad;border-radius:9px;align-items:flex-start;gap:10px;padding:11px 12px;display:flex}.replacement-admin-form .replacement-delete-sanction-option input[type=checkbox],.student-request-delete-option input[type=checkbox]{accent-color:#b83a32;flex:none;width:18px;min-height:18px;margin-top:2px}.replacement-delete-sanction-option span,.student-request-delete-option span{gap:3px;font-weight:800;line-height:1.4;display:grid}.replacement-delete-sanction-option small,.student-request-delete-option small{color:#6f514d;font-size:11px;font-weight:500;line-height:1.45}.student-replacement-notice.replacement-sanction-blocked{color:#8b281d;background:#fff3f0;border-color:#f3c2b9}.student-replacement-notice.replacement-request-window-notice.open{background:#effaf3;border-color:#67b98b}.student-replacement-notice.replacement-request-window-notice.closed{background:#fff8e7;border-color:#e4ad43}.student-replacement-notice.replacement-request-window-notice.closed span{color:#80560c}.replacement-admin-form textarea{resize:vertical;min-height:74px}.replacement-admin-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.replacement-admin-actions button{cursor:pointer;border-radius:8px;min-height:42px;padding:0 17px;font-weight:850}.replacement-admin-actions button:disabled{cursor:not-allowed;opacity:.48}.replacement-admin-actions .reject{color:brown;background:#fff;border:1px solid #e8a5a5}.replacement-admin-actions .approve{border:1px solid var(--teal-700);background:var(--teal-700);color:#fff}.replacement-admin-resolution{border-top:1px solid var(--slate-200);background:#f8fbfc;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:18px 24px;display:grid}.replacement-admin-resolution strong{font-size:12px}@media (width<=1250px){.main-nav{grid-template-columns:repeat(7,minmax(135px,1fr));justify-content:flex-start;overflow-x:auto}.student-replacement-grid,.replacement-admin-card-head{grid-template-columns:1fr}.replacement-admin-card-head dl{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=880px){.student-replacement-history article,.replacement-admin-form,.replacement-admin-resolution{grid-template-columns:1fr}.replacement-admin-form .wide{grid-column:auto}}@media (width<=620px){.student-replacement-section,.student-replacement-form,.student-replacement-history{padding:16px}.student-replacement-form fieldset,.replacement-admin-card-head dl{grid-template-columns:1fr}.replacement-admin-card-head,.replacement-admin-form,.replacement-admin-resolution{padding:17px}.replacement-admin-actions{flex-direction:column-reverse;align-items:stretch}}.student-profile-hero{color:#fff;background:radial-gradient(circle at 88% 15%,#31cac040,#0000 29%),linear-gradient(125deg,#082946,#0a3b58 66%,#087678 135%);border-radius:16px;justify-content:space-between;align-items:center;gap:35px;min-height:210px;padding:31px 36px;display:flex;box-shadow:0 18px 46px #08233f29}.student-profile-identity{align-items:center;gap:22px;display:flex}.student-profile-avatar{background:#ffffff24;border:4px solid #ffffff3b;border-radius:50%;flex:0 0 92px;place-items:center;width:92px;height:92px;font-size:29px;font-weight:900;display:grid}.student-profile-kicker{color:#8ce2da;letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:850}.student-profile-identity h1{letter-spacing:-.04em;margin:7px 0 5px;font-size:clamp(30px,3.4vw,46px)}.student-profile-identity p{color:#d5e6eb;margin:0;font-size:16px}.student-profile-tags{flex-wrap:wrap;gap:7px;margin-top:14px;display:flex}.student-profile-tags span{color:#e5f2f5;background:#ffffff17;border:1px solid #ffffff2e;border-radius:7px;padding:6px 9px;font-size:12px;font-weight:750}.student-profile-tags .active{color:#89efbd;background:#23b46f2e;border-color:#52e0a761}.student-semester-dates{border-left:3px solid #69d9d0;flex-direction:column;gap:3px;margin-top:13px;padding-left:10px;display:flex}.student-semester-dates span{color:#8ce2da;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:850}.student-semester-dates strong{color:#fff;font-size:13px}.student-next-practice{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #ffffff2b;border-radius:12px;min-width:315px;padding:19px 21px}.student-next-practice>span{color:#8ce2da;letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:850}.student-next-practice strong{margin:8px 0 9px;font-size:19px;display:block}.student-next-practice p{color:#edf7f8;margin:0 0 5px;font-size:14px}.student-next-practice small{color:#c5dde3;font-size:13px}.student-app-download{background:radial-gradient(circle at 0 0,#008f9226,#0000 34%),linear-gradient(120deg,#e8faf7 0%,#fff 56%,#e8f2fb 100%);border:2px solid #29a9a7;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;margin-top:20px;padding:20px 22px;display:grid;position:relative;overflow:hidden;box-shadow:0 12px 30px #08495221}.student-app-download-icon{background:linear-gradient(145deg, var(--teal-600), #006f72);color:#fff;border-radius:15px;place-items:center;width:60px;height:60px;display:grid;box-shadow:0 9px 22px #068d8f47}.student-app-download-icon span{font-size:29px;font-weight:900;line-height:1}.student-app-download-copy{min-width:0}.student-app-download-heading{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.student-app-download-kicker{color:var(--teal-700);letter-spacing:.12em;font-size:10px;font-weight:900}.student-app-update-badge{background:var(--amber-100);min-height:23px;color:var(--amber-700);letter-spacing:.06em;border-radius:999px;align-items:center;padding:3px 9px;font-size:10px;font-weight:900;display:inline-flex;box-shadow:inset 0 0 0 1px #b6630633}.student-app-download-copy h2{color:var(--navy-950);letter-spacing:-.025em;margin:4px 0 3px;font-size:20px}.student-app-download-copy p{color:var(--slate-600);margin:0;font-size:14px;line-height:1.5}.student-app-download-meta{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.student-app-download-meta span{color:var(--slate-600);background:#ffffffe0;border:1px solid #cfe4e4;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800}.student-app-download-action{flex-direction:column;align-items:stretch;gap:6px;min-width:182px;display:flex}.student-app-download-action a,.student-app-download-pending{background:linear-gradient(135deg, var(--teal-600), #006f72);color:#fff;border-radius:9px;justify-content:center;align-items:center;min-height:44px;padding:0 18px;font-size:14px;font-weight:850;text-decoration:none;display:flex;box-shadow:0 8px 18px #057c7e40}.student-app-download-action a:hover{background:linear-gradient(135deg, var(--teal-700), #005d60);transform:translateY(-1px)}.student-app-download-action a:focus-visible{outline-offset:3px;outline:3px solid #176bbb61}.student-app-download-pending{color:var(--slate-500);box-shadow:none;background:#edf4f6;border:1px solid #c7d9df}.student-app-download-action small{color:var(--slate-500);text-align:center;font-size:10px}.student-progress-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin:20px 0;display:grid}.student-progress-grid article{border:1px solid var(--slate-200);background:#fff;border-radius:11px;min-height:150px;padding:20px;box-shadow:0 5px 18px #1337530a}.student-progress-grid article>span{color:var(--slate-700);font-size:14px;font-weight:700}.student-progress-grid article>strong{letter-spacing:-.035em;margin:9px 0 12px;font-size:31px;display:block}.student-progress-grid article>strong small{color:var(--slate-500);font-size:15px}.student-progress-grid article>div:not(.student-stat-list){background:var(--slate-100);border-radius:7px;height:7px;overflow:hidden}.student-progress-grid article>div i{background:linear-gradient(90deg,#069798,#0d7e81);border-radius:7px;height:100%;display:block}.student-progress-grid article>p{color:var(--slate-500);margin:10px 0 0;font-size:13px}.student-stat-list dl{margin:12px 0 0}.student-stat-list dl>div{border-top:1px solid var(--slate-100);justify-content:space-between;align-items:center;padding:7px 0;font-size:13px;display:flex}.student-stat-list dt{color:var(--slate-500)}.student-stat-list dd{margin:0;font-weight:850}.student-stat-list dd.red{color:var(--red-700)}.student-stat-list dd.amber{color:var(--amber-700)}.student-release-card{background:linear-gradient(145deg,#f3f8fd,#fff)!important;border-color:#c8ddef!important}.student-release-card>strong{color:var(--blue-700);font-size:24px!important}.student-release-download,.student-release-locked{text-align:center;border-radius:7px;justify-content:center;align-items:center;min-height:36px;margin-top:12px;padding:8px 11px;font-size:12px;font-weight:800;display:flex}.student-release-download{background:var(--teal-700);color:#fff;text-decoration:none;box-shadow:0 5px 12px #057c7e29}.student-release-download:hover{background:var(--teal-800)}.student-release-locked{border:1px solid var(--slate-200);background:var(--slate-50);color:var(--slate-500)}.student-release-card>small{color:var(--slate-500);text-align:center;margin-top:8px;font-size:10px;display:block}.certificate-verification-page{background:linear-gradient(150deg,#edf7f8 0%,#f7fafc 48%,#e8f1f7 100%);place-items:center;min-height:100vh;padding:32px 18px;display:grid}.certificate-verification-card{background:#fff;border:1px solid #c7dce6;border-radius:18px;width:min(680px,100%);padding:28px;box-shadow:0 20px 60px #07324f1f}.certificate-verification-card>header{border-bottom:1px solid var(--slate-200);align-items:center;gap:18px;padding-bottom:20px;display:flex}.certificate-verification-card>header img{object-fit:contain;width:74px;height:74px}.certificate-verification-card>header span{color:var(--teal-700);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:900}.certificate-verification-card h1{color:#07324f;margin:5px 0}.certificate-verification-card header p{color:var(--slate-500);margin:0}.certificate-verification-card form{margin:24px 0}.certificate-verification-card form label{color:var(--slate-700);margin-bottom:7px;font-size:12px;font-weight:800;display:block}.certificate-verification-card form>div{grid-template-columns:1fr auto;gap:9px;display:grid}.certificate-verification-card form input{border:1px solid var(--slate-300);min-width:0;font:inherit;text-transform:uppercase;border-radius:8px;padding:11px 13px}.certificate-verification-card form button{background:var(--teal-700);color:#fff;border:0;border-radius:8px;padding:0 18px;font-weight:850}.certificate-valid-result,.certificate-invalid-result{border-radius:12px;padding:20px}.certificate-valid-result{background:#f2fbf6;border:1px solid #b8dfc8}.certificate-invalid-result{color:var(--red-700);background:#fff5f5;border:1px solid #efc7cb}.certificate-valid-heading{align-items:center;gap:12px;display:flex}.certificate-valid-heading i{color:#fff;background:#15985b;border-radius:50%;place-items:center;width:36px;height:36px;font-style:normal;font-weight:900;display:grid}.certificate-valid-heading strong,.certificate-valid-heading span{display:block}.certificate-valid-heading span{color:var(--slate-500);margin-top:2px;font-size:12px}.certificate-valid-result dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:18px 0 0;display:grid}.certificate-valid-result dl>div{border-top:1px solid #d6eadf;padding:10px 8px 8px 0}.certificate-valid-result dt{color:var(--slate-500);font-size:11px}.certificate-valid-result dd{color:#12314a;margin:3px 0 0;font-size:13px;font-weight:800}.certificate-verification-help{color:var(--slate-500);font-size:13px}@media (width<=620px){.certificate-verification-card{padding:20px}.certificate-verification-card>header{align-items:flex-start}.certificate-verification-card>header img{width:58px;height:58px}.certificate-verification-card form>div,.certificate-valid-result dl{grid-template-columns:1fr}.certificate-verification-card form button{min-height:42px}}.student-current-rotation,.student-calendar-section,.student-attendance-section,.student-areas-section,.student-incidence-grid>article{border:1px solid var(--slate-200);box-shadow:var(--shadow);background:#fff;border-radius:11px;padding:22px}.student-section-title{justify-content:space-between;align-items:center;gap:18px;display:flex}.student-section-title>div{flex-direction:column;gap:5px;display:flex}.student-section-title>div>span{color:var(--teal-700);letter-spacing:.1em;text-transform:uppercase;font-size:12px;font-weight:850}.student-section-title h2{letter-spacing:-.025em;margin:0;font-size:22px}.student-live-badge,.student-readonly-badge{color:#126f47;background:#f0fbf5;border:1px solid #b7dec9;border-radius:8px;align-items:center;gap:7px;padding:7px 10px;font-size:12px;font-weight:800;display:inline-flex}.student-live-badge i{background:#13a35d;border-radius:50%;width:7px;height:7px}.student-readonly-badge{border-color:var(--slate-200);background:var(--slate-100);color:var(--slate-700)}.student-calendar-actions{align-items:center;gap:7px;display:flex}.student-calendar-actions>button{border:1px solid var(--slate-300);min-width:37px;height:39px;color:var(--navy-700);cursor:pointer;background:#fff;border-radius:7px;padding:0 11px;font-size:22px;font-weight:800}.student-calendar-actions>button:disabled{cursor:not-allowed;opacity:.4}.student-calendar-actions select{border:1px solid var(--slate-300);min-width:178px;height:39px;color:var(--navy-950);cursor:pointer;background:#fff;border-radius:7px;outline:none;padding:0 34px 0 11px;font-size:13px;font-weight:750}.student-calendar-actions select:focus{border-color:var(--teal-600);box-shadow:0 0 0 3px #008f921a}.student-calendar-actions .student-current-month-button{background:var(--teal-50);min-width:auto;color:var(--teal-700);border-color:#add5d2;font-size:12px}.student-assigned-schedule{background:linear-gradient(135deg,#f2f8fd,#f9fcfe);border:1px solid #bdd8ee;border-radius:10px;justify-content:space-between;align-items:center;gap:24px;min-height:83px;margin-top:18px;padding:14px 17px;display:flex}.student-assigned-schedule>div:first-child{align-items:center;gap:13px;display:flex}.student-schedule-icon{background:var(--blue-100);width:43px;height:43px;color:var(--blue-700);border-radius:10px;flex:0 0 43px;place-items:center;font-size:19px;font-weight:900;display:grid}.student-assigned-schedule>div:first-child>div{flex-direction:column;gap:4px;display:flex}.student-assigned-schedule>div:first-child span:not(.student-schedule-icon){color:var(--blue-700);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:850}.student-assigned-schedule strong{font-size:15px}.student-assigned-schedule small{color:var(--slate-500);font-size:12px}.student-assigned-weekdays{grid-template-columns:repeat(7,34px);gap:6px;display:grid}.student-assigned-weekdays span{border:1px solid var(--slate-200);width:34px;height:34px;color:var(--slate-500);background:#fff;border-radius:8px;place-items:center;font-size:12px;font-weight:850;display:grid}.student-assigned-weekdays span.active{background:var(--teal-100);color:var(--teal-700);border-color:#8fc3c0}.student-rotation-details{border:1px solid var(--slate-100);background:#fafcfd;border-radius:9px;grid-template-columns:1.35fr .7fr 1.1fr .85fr 1fr 1.35fr;gap:0;margin-top:18px;display:grid}.student-rotation-details>div{border-left:1px solid var(--slate-200);flex-direction:column;gap:6px;min-width:0;padding:14px 16px;display:flex}.student-rotation-details>div:first-child{border-left:0}.student-rotation-details span{color:var(--slate-500);text-transform:uppercase;font-size:11px;font-weight:750}.student-rotation-details strong{font-size:13px;line-height:1.4}.student-calendar-section,.student-attendance-section,.student-areas-section,.student-incidence-grid{margin-top:20px}.student-calendar-layout{grid-template-columns:minmax(0,2.3fr) minmax(285px,.7fr);gap:18px;margin-top:17px;display:grid}.student-month-card{border:1px solid var(--slate-200);border-radius:9px;overflow:hidden}.student-weekdays,.student-month-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.student-weekdays{border-bottom:1px solid var(--slate-200);background:#f7fafb}.student-weekdays span{color:var(--slate-500);text-align:center;padding:11px;font-size:12px;font-weight:800}.student-month-grid button,.student-empty-day{border:0;border-right:1px solid var(--slate-100);border-bottom:1px solid var(--slate-100);text-align:left;background:#fff;flex-direction:column;align-items:flex-start;gap:6px;min-height:104px;padding:9px;display:flex}.student-month-grid button{cursor:pointer}.student-month-grid button:disabled{cursor:default}.student-month-grid button:not(:disabled):hover,.student-month-grid button.selected{outline:2px solid var(--teal-600);outline-offset:-2px}.student-month-grid button>strong{border-radius:50%;place-items:center;width:27px;height:27px;font-size:13px;display:grid}.student-month-grid button.today>strong{background:var(--navy-900);color:#fff}.student-month-grid button>span{text-overflow:ellipsis;white-space:nowrap;border-left:3px solid;border-radius:4px;width:100%;padding:4px 5px;font-size:11px;font-weight:800;overflow:hidden}.student-month-grid button>small{max-width:100%;color:var(--slate-500);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.student-month-grid button.student-day-with-replacement>span{white-space:normal;overflow-wrap:anywhere;line-height:1.35}.student-day-present>span{background:var(--green-100);color:var(--green-700);border-color:#15995a!important}.student-day-late>span{background:var(--amber-100);color:var(--amber-700);border-color:#e89413!important}.student-day-absent>span{background:var(--red-100);color:var(--red-700);border-color:#d94751!important}.student-day-guard>span{color:#68409e;background:#f0eafa;border-color:#7650ae!important}.student-day-scheduled>span{background:var(--blue-100);color:var(--blue-700);border-color:#2a80ca!important}.student-day-incident>span{color:#9d570b;background:#fff0dd;border-color:#c46b12!important}.student-day-dayoff>span{color:#087d78;background:#e5f7f5;border-color:#14a89f!important}.student-calendar-legend{background:#fbfcfd;flex-wrap:wrap;gap:13px;padding:13px;display:flex}.student-calendar-legend span{color:var(--slate-500);align-items:center;gap:6px;font-size:11px;display:inline-flex}.student-calendar-legend i{border-radius:50%;width:8px;height:8px}.student-legend-present{background:#15995a}.student-legend-late{background:#e89413}.student-legend-absent{background:#d94751}.student-legend-guard{background:#7650ae}.student-legend-scheduled{background:#2a80ca}.student-legend-incident{background:#c46b12}.student-legend-dayoff{background:#14a89f}.student-day-card{border:1px solid var(--slate-200);background:#fbfcfd;border-radius:9px;padding:19px}.student-day-assignment-selector{gap:8px;margin-bottom:16px;display:grid}.student-day-assignment-selector>span{color:var(--slate-500);font-size:11px;font-weight:800}.student-day-assignment-selector button{border:1px solid var(--slate-200);text-align:left;cursor:pointer;background:#fff;border-radius:7px;gap:4px;padding:9px;display:grid}.student-day-assignment-selector button.active{border-color:var(--teal-600);background:var(--teal-50)}.student-day-assignment-selector button strong{color:var(--navy-950);font-size:11px;line-height:1.35}.student-day-assignment-selector button small{color:var(--slate-500);font-size:10px}.student-day-status{border:1px solid;border-radius:7px;padding:6px 9px;font-size:12px;font-weight:850;display:inline-flex}.student-day-status.status-present{background:var(--green-100);color:var(--green-700);border-color:#b7dec8}.student-day-status.status-late{background:var(--amber-100);color:var(--amber-700);border-color:#efd09c}.student-day-status.status-absent{background:var(--red-100);color:var(--red-700);border-color:#efb8bd}.student-day-status.status-guard{color:#68409e;background:#f0eafa;border-color:#d4c2ea}.student-day-status.status-scheduled{background:var(--blue-100);color:var(--blue-700);border-color:#bdd7ee}.student-day-status.status-incident{color:#9d570b;background:#fff0dd;border-color:#edc69d}.student-day-status.status-dayoff{color:#087d78;background:#e5f7f5;border-color:#8fd8d1}.student-day-card>p{color:var(--slate-500);margin:16px 0 5px;font-size:12px}.student-day-card h3{margin:0;font-size:18px;line-height:1.35}.student-day-card dl{margin:17px 0 0}.student-day-card dl>div{border-top:1px solid var(--slate-200);justify-content:space-between;gap:12px;padding:10px 0;font-size:12px;display:flex}.student-day-card dt{color:var(--slate-500)}.student-day-card dd{text-align:right;margin:0;font-weight:800}.student-day-alert{background:var(--red-100);color:var(--red-700);border-radius:7px;margin-top:13px;padding:10px;font-size:12px;font-weight:700;line-height:1.45}.student-day-alert.amber{background:var(--amber-100);color:var(--amber-700)}.student-day-alert.blue{background:var(--blue-100);color:var(--blue-700)}.student-calendar-empty-detail{min-height:330px;color:var(--slate-500);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.student-calendar-empty-detail>span{background:var(--slate-100);width:52px;height:52px;color:var(--teal-700);border-radius:50%;place-items:center;font-size:26px;display:grid}.student-calendar-empty-detail h3{color:var(--navy-950);margin:14px 0 5px}.student-calendar-empty-detail p{max-width:230px;margin:0;line-height:1.55}.student-attendance-section{padding:0;overflow:hidden}.student-attendance-section>.student-section-title{padding:20px 22px 16px}.student-section-title>button{background:var(--teal-50);min-height:38px;color:var(--teal-700);cursor:pointer;border:1px solid #a8d4d1;border-radius:7px;padding:0 13px;font-size:12px;font-weight:800}.student-table-wrap{border-top:1px solid var(--slate-200);overflow-x:auto}.student-table-wrap table{border-collapse:collapse;width:100%;min-width:850px}.student-table-wrap th,.student-table-wrap td{text-align:left;padding:12px 18px}.student-table-wrap th{color:var(--slate-700);background:#f8fafb;font-size:12px}.student-table-wrap td{border-top:1px solid var(--slate-100);color:#25394b;font-size:13px}.student-table-wrap td strong,.student-table-wrap td small{display:block}.student-table-wrap td small{color:var(--slate-500);margin-top:4px;font-size:11px}.student-result{border:1px solid;border-radius:6px;padding:6px 9px;font-size:11px;font-weight:800;display:inline-flex}.student-result.result-present{background:var(--green-100);color:var(--green-700);border-color:#b7dec8}.student-result.result-late{background:var(--amber-100);color:var(--amber-700);border-color:#efd09c}.student-result.result-absent{background:var(--red-100);color:var(--red-700);border-color:#efb8bd}.student-area-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-top:18px;display:grid}.student-area-grid article{border:1px solid var(--slate-200);background:#fbfcfd;border-radius:9px;padding:17px}.student-area-grid article>div:first-child{flex-direction:column;gap:5px;display:flex}.student-area-status{border-radius:6px;align-self:flex-start;padding:4px 7px;font-size:10px;font-weight:850}.area-completada{background:var(--green-100);color:var(--green-700)}.area-en-curso{background:var(--blue-100);color:var(--blue-700)}.area-pendiente{background:var(--slate-100);color:var(--slate-700)}.student-area-grid article strong{margin-top:3px;font-size:17px}.student-area-grid article small{min-height:32px;color:var(--slate-500);font-size:11px;line-height:1.4}.student-area-grid dl{grid-template-columns:1fr 1fr;gap:10px;margin:15px 0 12px;display:grid}.student-area-grid dl>div{flex-direction:column;gap:4px;display:flex}.student-area-grid dt{color:var(--slate-500);text-transform:uppercase;font-size:10px}.student-area-grid dd{margin:0;font-size:13px;font-weight:800}.student-area-progress{background:var(--slate-100);border-radius:7px;height:7px;overflow:hidden}.student-area-progress i{background:var(--teal-600);border-radius:7px;height:100%;display:block}.student-area-percentage{color:var(--slate-500);text-align:right;margin-top:6px;font-size:10px;display:block}.student-incidence-grid{grid-template-columns:1.25fr .75fr;gap:20px;display:grid}.student-incidence-list{margin-top:14px}.student-incidence-list>div{border-top:1px solid var(--slate-100);grid-template-columns:58px 1fr auto;align-items:center;gap:12px;padding:12px 0;display:grid}.student-incidence-list>div:first-child{border-top:0}.student-incidence-list time{color:var(--teal-700);font-size:12px;font-weight:850}.student-incidence-list span{flex-direction:column;gap:4px;display:flex}.student-incidence-list strong{font-size:13px}.student-incidence-list small{color:var(--slate-500);font-size:11px}.student-incidence-list b{background:var(--green-100);color:var(--green-700);border-radius:6px;padding:5px 8px;font-size:10px}.student-incidence-list .red b{background:var(--red-100);color:var(--red-700)}.student-incidence-list .amber b{background:var(--amber-100);color:var(--amber-700)}.student-requirements-card ul{margin:14px 0 0;padding:0;list-style:none}.student-requirements-card li{border-top:1px solid var(--slate-100);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;font-size:12px;display:flex}.student-requirements-card li:first-child{border-top:0}.student-requirements-card li span{color:var(--slate-500)}.student-requirements-card li strong{text-align:right}.student-requirements-card li.done strong{color:var(--green-700)}.student-portal-footer{width:min(1460px,100% - 48px);color:var(--slate-500);justify-content:space-between;gap:20px;margin:0 auto;padding:4px 0 25px;font-size:12px;display:flex}.permission-readonly{min-height:42px;color:var(--slate-700);background:#f8fafb;border:1px solid #cbd8e2;border-radius:8px;align-items:center;gap:8px;padding:0 15px;font-size:14px;font-weight:750;display:inline-flex}.permission-readonly:before{content:"◉";color:var(--teal-700)}.role-card-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-bottom:20px;display:grid}.role-card{border:1px solid var(--slate-200);border-top:4px solid var(--teal-600);background:#fff;border-radius:11px;align-items:flex-start;gap:15px;min-height:190px;padding:20px;display:flex;box-shadow:0 5px 18px #1337530b}.role-card-icon{background:var(--teal-100);width:42px;height:42px;color:var(--teal-700);border-radius:10px;flex:0 0 42px;place-items:center;font-size:17px;font-weight:900;display:grid}.role-card h2{margin:1px 0 7px;font-size:18px;line-height:1.25}.role-card strong{color:var(--teal-700);font-size:13px}.role-card p{color:var(--slate-700);margin:9px 0 0;font-size:13px;line-height:1.55}.role-admin{border-top-color:#163e63}.role-admin .role-card-icon{color:#163e63;background:#e8eef5}.role-university{border-top-color:#0d8788}.role-hospital{border-top-color:#2777bd}.role-hospital .role-card-icon{background:var(--blue-100);color:var(--blue-700)}.role-instructor{border-top-color:#b36d0d}.role-administrative{border-top-color:#6f5bb5}.role-administrative .role-card-icon{color:#59429f;background:#f0edfb}.role-instructor .role-card-icon{background:var(--amber-100);color:var(--amber-700)}.user-form-card{background:#fff;border:1px solid #b8d9d7;border-radius:11px;margin-bottom:20px;padding:22px;box-shadow:0 14px 34px #13375317}.user-form-heading{border-bottom:1px solid var(--slate-100);justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;padding-bottom:15px;display:flex}.user-form-heading span{color:var(--teal-700);letter-spacing:.1em;text-transform:uppercase;font-size:12px;font-weight:850}.user-form-heading h2{margin:5px 0 0;font-size:22px}.user-form-heading>button{border:1px solid var(--slate-200);cursor:pointer;background:#fff;border-radius:8px;width:36px;height:36px;font-size:24px}.user-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.user-form-photo{grid-column:1/-1}.user-clinical-assignment-section{background:#f8fcfc;border:1px solid #b8d9d7;border-radius:10px;flex-direction:column;grid-column:1/-1;gap:12px;padding:16px;display:flex}.user-clinical-assignment-heading,.user-clinical-assignment-row{justify-content:space-between;align-items:center;gap:14px;display:flex}.user-clinical-assignment-heading>div,.user-clinical-assignment-heading small,.user-clinical-area-list,.user-clinical-area-list>div{flex-direction:column;gap:5px;display:flex}.user-clinical-assignment-heading small,.user-clinical-area-list>small,.user-primary-assignment small{color:var(--slate-500);font-size:11px;line-height:1.45}.user-clinical-assignment-list{gap:12px;display:grid}.user-clinical-assignment-card{border:1px solid var(--slate-200);background:#fff;border-radius:9px;padding:14px}.user-clinical-assignment-row>label:first-child{color:var(--slate-700);flex-direction:column;flex:1;gap:6px;font-size:12px;font-weight:750;display:flex}.user-primary-assignment{cursor:pointer;align-items:center;gap:8px;min-width:160px;display:flex}.user-primary-assignment input,.user-clinical-area-list input{width:17px;height:17px;accent-color:var(--teal-700)}.user-primary-assignment span{flex-direction:column;display:flex}.user-clinical-area-list{border-top:1px solid var(--slate-100);margin-top:12px;padding-top:12px}.user-clinical-area-list>span{color:var(--slate-700);font-size:12px;font-weight:800}.user-clinical-area-list>div{flex-flow:wrap;gap:8px}.user-clinical-area-list label{border:1px solid var(--slate-200);background:var(--slate-50);color:var(--slate-700);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-size:11px;font-weight:700;display:inline-flex}.user-clinical-empty{border:1px dashed var(--teal-600);color:var(--teal-700);cursor:pointer;background:#fff;border-radius:8px;padding:14px;font-weight:800}.user-assignment-count{background:var(--teal-50);color:var(--teal-700);border-radius:999px;margin-top:6px;padding:4px 8px;font-size:10px;font-weight:850;display:inline-flex}.user-form-grid>label{color:var(--slate-700);flex-direction:column;gap:7px;font-size:13px;font-weight:750;display:flex}.user-form-grid input,.user-form-grid select{border:1px solid var(--slate-300);width:100%;height:43px;color:var(--navy-950);background:#fff;border-radius:7px;outline:none;padding:0 12px}.user-form-grid input:focus,.user-form-grid select:focus{border-color:var(--teal-600);box-shadow:0 0 0 3px #008f921a}.user-form-grid input:disabled{background:var(--slate-100);color:var(--slate-500)}.user-active-toggle{border:1px solid var(--slate-200);cursor:pointer;border-radius:8px;align-self:end;align-items:center;min-height:43px;padding:8px 12px;flex-direction:row!important}.user-active-toggle input{width:18px;height:18px;accent-color:var(--teal-700)}.user-active-toggle span{flex-direction:column;gap:3px;display:flex}.user-active-toggle small{color:var(--slate-500);font-size:11px;font-weight:500}.user-password-policy{background:var(--teal-50);min-height:43px;color:var(--teal-700);border:1px solid #b8d9d7;border-radius:8px;flex-direction:column;justify-content:center;align-self:end;gap:3px;padding:8px 12px;display:flex}.user-password-policy strong{font-size:12px}.user-password-policy small{color:var(--slate-600);font-size:11px;line-height:1.4}.user-form-actions{justify-content:flex-end;gap:12px;margin-top:18px;display:flex}.user-form-error{background:var(--red-100);color:var(--red-700);border:1px solid #f1b9be;border-radius:7px;margin:14px 0 0;padding:11px 13px;font-size:13px;font-weight:700}.user-list-card{padding:22px 0 0;overflow:hidden}.user-list-card>.panel-title,.user-list-card>.user-form-error{margin-left:22px;margin-right:22px}.user-list-card .wide-table-wrap{margin-top:17px}.secure-pill{background:var(--teal-50);border:1px solid #b8d9d7;border-radius:8px;padding:8px 11px;color:var(--teal-700)!important;letter-spacing:0!important;text-transform:none!important;font-size:12px!important}.user-role-badge{border:1px solid var(--slate-200);background:var(--slate-100);color:var(--navy-700);border-radius:7px;align-items:center;padding:6px 9px;font-size:12px;font-weight:800;display:inline-flex}.badge-administrador{color:#163e63;background:#e8eef5;border-color:#c3d1df}.badge-coordinador-universitario{background:var(--teal-100);color:var(--teal-700);border-color:#afd9d6}.badge-coordinador-hospitalario{background:var(--blue-100);color:var(--blue-700);border-color:#bdd7ee}.badge-instructor-hospitalario{background:var(--amber-100);color:var(--amber-700);border-color:#efd19f}.credential-status{border:1px solid var(--slate-200);white-space:nowrap;border-radius:7px;align-items:center;gap:6px;padding:6px 9px;font-size:12px;font-weight:800;display:inline-flex}.credential-status:before{content:"●";font-size:8px}.credential-status.configured{color:var(--teal-700);background:var(--teal-50);border-color:#afd9d6}.credential-status.pending{color:#8b570d;background:var(--amber-100);border-color:#efd19f}.access-page{background:radial-gradient(circle at 82% 18%,#23bcb140,#0000 28%),linear-gradient(135deg,#071f38,#0b3a58 65%,#08777a 140%);place-items:center;min-height:100vh;padding:28px;display:grid}.access-card{text-align:center;background:#fff;border:1px solid #ffffff29;border-radius:18px;width:min(600px,100%);padding:42px;box-shadow:0 30px 80px #000f1f47}.access-mark{border:3px solid var(--navy-900);width:68px;height:68px;color:var(--teal-600);border-radius:20px 8px;place-items:center;margin:0 auto 18px;font-size:38px;font-weight:900;display:grid}.access-eyebrow{letter-spacing:.12em;text-transform:uppercase;font-weight:850;color:var(--teal-700)!important;margin:0 0 8px!important;font-size:13px!important}.access-card h1{letter-spacing:-.035em;margin:0;font-size:clamp(28px,5vw,40px)}.access-card p{color:var(--slate-700);margin:15px auto 0;font-size:16px;line-height:1.65}.access-card small{color:var(--slate-500);margin-top:20px;line-height:1.55;display:block}.access-actions{justify-content:center;margin-top:22px;display:flex}.access-actions a{color:#fff;text-decoration:none}.login-access-card{width:min(520px,100%);padding-top:30px}.access-school-logo{background:#fff url(/school-logo.png?v=3) 50%/contain no-repeat;width:118px;height:118px;margin:0 auto 16px;display:block}.password-login-form{text-align:left;gap:15px;margin-top:24px;display:grid}.password-login-form label{color:var(--slate-700);gap:7px;font-size:13px;font-weight:800;display:grid}.password-login-form input{border:1px solid var(--slate-300);width:100%;height:46px;color:var(--navy-950);font:inherit;background:#fff;border-radius:8px;outline:none;padding:0 13px}.password-login-form input:focus{border-color:var(--teal-600);box-shadow:0 0 0 3px #008f921f}.password-input-wrap{display:block;position:relative}.password-input-wrap input{padding-right:78px}.password-input-wrap button{color:var(--teal-700);cursor:pointer;background:0 0;border:0;font-size:11px;font-weight:800;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.access-login-error{background:var(--red-100);border:1px solid #f1b9be;border-radius:8px;padding:10px 12px;font-weight:750;color:var(--red-700)!important;margin:0!important;font-size:13px!important;line-height:1.45!important}.access-submit{justify-content:center;width:100%;min-height:46px}.platform-access-divider{color:var(--slate-500);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:12px;margin:22px 0 14px;font-size:11px;font-weight:750;display:flex}.platform-access-divider:before,.platform-access-divider:after{content:"";background:var(--slate-200);flex:1;height:1px}.access-platform-button{width:100%;min-height:44px;color:var(--navy-800);justify-content:center;text-decoration:none}.password-policy{color:var(--slate-500)!important;margin:-3px 0 0!important;font-size:12px!important;line-height:1.45!important}.settings-admin-pill{background:var(--teal-50);color:var(--teal-700);border:1px solid #b8d9d7;border-radius:999px;align-items:center;gap:7px;padding:9px 13px;font-size:12px;font-weight:800;display:inline-flex}.settings-error{background:var(--red-100);color:var(--red-700);border:1px solid #f1b9be;border-radius:9px;margin:0 0 18px;padding:12px 14px;font-size:13px;font-weight:750}.settings-loading{color:var(--slate-600);font-weight:700}.backup-manager-section{border-top:1px solid var(--slate-200);gap:20px;margin-bottom:24px;padding-top:26px;display:grid}.backup-manager-section .section-heading{margin-bottom:0}.backup-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.backup-summary-grid article{border:1px solid var(--slate-200);background:#fff;border-radius:11px;flex-direction:column;gap:6px;min-width:0;padding:17px 18px;display:flex}.backup-summary-grid span,.backup-summary-grid small{color:var(--slate-500);font-size:11px}.backup-summary-grid strong{color:var(--navy-950);font-size:24px}.backup-settings-layout,.backup-restore-layout{grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);align-items:stretch;gap:20px;display:grid}.backup-manager-card{overflow:hidden}.backup-manager-card label{min-width:0;color:var(--slate-700);flex-direction:column;gap:7px;font-size:12px;font-weight:800;display:flex}.backup-manager-card input[type=text],.backup-manager-card input[type=password],.backup-manager-card input[type=file],.backup-external-label input{border:1px solid var(--slate-300);width:100%;min-height:42px;color:var(--navy-950);font:inherit;background:#fff;border-radius:8px;padding:9px 11px}.backup-code-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.backup-warning{border-left:4px solid var(--amber-500);background:var(--amber-50);color:var(--slate-700);border-radius:7px;margin:14px 0;padding:11px 13px;font-size:11px;line-height:1.5}.backup-code-validator{background:#f3fbfb;border:1px solid #a9dedd;border-radius:10px;gap:11px;margin:14px 0;padding:13px;display:grid}.backup-code-validator>div:first-child{flex-direction:column;gap:3px;display:flex}.backup-code-validator strong{color:var(--navy-950);font-size:12px}.backup-code-validator small{color:var(--slate-600);font-size:10px;line-height:1.45}.backup-code-validator-controls{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.backup-code-validator-controls button{white-space:nowrap;min-height:42px}.backup-code-validation-result{border-radius:8px;margin:0;padding:9px 11px;font-size:11px;font-weight:800}.backup-code-validation-result.valid{color:#116637;background:#edf9f1;border:1px solid #9fd8b6}.backup-code-validation-result.invalid{color:#a52836;background:#fff1f2;border:1px solid #f0b6bc}.backup-toggle-list{gap:9px;margin:14px 0;display:grid}.backup-toggle-list label{border:1px solid var(--slate-200);background:var(--slate-50);border-radius:8px;flex-direction:row;align-items:flex-start;gap:9px;padding:10px 12px;display:flex}.backup-toggle-list input{width:17px;height:17px;accent-color:var(--teal-700)}.backup-external-label{margin-top:12px}.backup-external-picker{align-items:center;gap:12px;margin-top:11px;display:flex}.backup-external-picker>button{flex:none}.backup-external-picker>small{color:var(--slate-500);font-size:10px;line-height:1.4}.backup-create-card{background:linear-gradient(145deg,#effafa,#fff 58%);border-color:#a9dedd;flex-direction:column;display:flex}.backup-create-card ul{color:var(--slate-700);gap:8px;margin:17px 0 22px;padding-left:19px;font-size:12px;line-height:1.45;display:grid}.backup-create-card>button{justify-content:center;width:100%;margin-top:auto}.backup-progress-message{color:var(--teal-700);text-align:center;margin:10px 0 0;font-size:11px;font-weight:750;line-height:1.45}.backup-history-card .wide-table-wrap{margin-top:15px}.backup-history-card td{vertical-align:top}.backup-history-card td>strong,.backup-history-card td>small{display:block}.backup-history-card td>small{color:var(--slate-500);margin-top:4px;font-size:10px}.backup-actions{flex-wrap:wrap;gap:5px 10px;display:flex}.backup-actions a{text-decoration:none}.backup-restore-layout{grid-template-columns:repeat(2,minmax(0,1fr))}.backup-restore-layout form{gap:13px;display:grid}.backup-test-result{color:#116637;background:#edf9f1;border:1px solid #9fd8b6;border-radius:9px;flex-direction:column;gap:4px;padding:12px;font-size:12px;display:flex}.backup-restore-confirm{flex-direction:column;gap:13px;display:flex}.backup-restore-confirm p{color:var(--slate-600);margin:0;font-size:12px;line-height:1.55}.backup-restore-confirm>button{justify-content:center;margin-top:auto}.backup-external-card{border-style:dashed;grid-template-columns:minmax(220px,.7fr) minmax(320px,1.3fr) auto;align-items:center;gap:18px;display:grid}.backup-external-card h3,.backup-external-card p{margin:4px 0 0}.backup-external-card>div>span{color:var(--teal-700);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:850}.backup-external-card p{color:var(--slate-600);font-size:11px;line-height:1.5}.platform-time-settings-card{background:linear-gradient(135deg,#effafa 0%,#fff 58%);border-color:#a9dedd;margin-bottom:20px;overflow:hidden}.replacement-window-settings-card{background:linear-gradient(135deg,#f4fbfb 0%,#fff 62%);border-color:#b8d9d7;margin-bottom:20px;overflow:hidden}.replacement-window-settings-grid{grid-template-columns:minmax(340px,1.15fr) minmax(260px,.75fr) minmax(280px,.9fr);align-items:end;gap:18px;margin-bottom:18px;display:grid}.replacement-window-settings-grid>div:first-child{color:var(--navy-950);gap:9px;font-size:12px;display:grid}.replacement-window-weekdays{grid-template-columns:repeat(7,minmax(38px,1fr));gap:7px;display:grid}.replacement-window-weekdays button{border:1px solid var(--slate-300);min-height:42px;color:var(--slate-600);cursor:pointer;background:#fff;border-radius:8px;font-size:11px;font-weight:850}.replacement-window-weekdays button.active{border-color:var(--teal-600);background:var(--teal-700);color:#fff}.replacement-window-weekdays button:disabled{cursor:not-allowed;opacity:.7}.replacement-window-times{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.replacement-window-times label{color:var(--slate-700);gap:7px;font-size:12px;font-weight:800;display:grid}.replacement-window-times input{border:1px solid var(--slate-300);width:100%;min-height:43px;color:var(--navy-950);font:inherit;background:#fff;border-radius:8px;padding:0 10px}.replacement-window-preview{border-left:4px solid var(--teal-600);background:#eaf8f7;border-radius:9px;gap:5px;min-height:88px;padding:13px 15px;display:grid}.replacement-window-preview span{color:var(--teal-700);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:850}.replacement-window-preview strong{color:var(--navy-950);font-size:13px}.replacement-window-preview small{color:var(--slate-600);line-height:1.45}.replacement-completion-settings{border-top:1px solid var(--slate-200);grid-template-columns:minmax(240px,.55fr) minmax(520px,1.45fr);align-items:start;gap:18px;margin:0 0 18px;padding-top:18px;display:grid}.replacement-completion-settings>div:first-child,.replacement-completion-options label span{gap:5px;display:grid}.replacement-completion-settings strong{color:var(--navy-950)}.replacement-completion-settings small{color:var(--slate-600);line-height:1.45}.replacement-completion-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.replacement-completion-options label{border:1px solid var(--slate-300);cursor:pointer;background:#fff;border-radius:10px;gap:10px;min-height:92px;padding:13px;display:flex}.replacement-completion-options label.selected{border-color:var(--teal-600);box-shadow:0 0 0 1px var(--teal-600);background:#eaf8f7}.replacement-completion-options input{accent-color:var(--teal-700)}.platform-time-settings-grid{grid-template-columns:minmax(290px,.9fr) minmax(360px,1.1fr);gap:20px;margin-top:18px;display:grid}.platform-clock-preview{background:var(--navy-950);color:#fff;border:1px solid #9fd8d4;border-radius:12px;flex-direction:column;justify-content:center;gap:7px;min-height:142px;padding:20px;display:flex}.platform-clock-preview span{color:#79e3de;letter-spacing:.09em;text-transform:uppercase;font-size:10px;font-weight:850}.platform-clock-preview strong{font-size:clamp(18px,2vw,26px);line-height:1.25}.platform-clock-preview small{color:#c4d7e2;font-size:11px}.platform-time-control{flex-direction:column;justify-content:center;gap:9px;display:flex}.platform-time-control>label{color:var(--navy-900);flex-direction:column;gap:7px;font-size:12px;font-weight:800;display:flex}.platform-time-control select{border:1px solid var(--slate-300);min-height:43px;color:var(--navy-950);font:inherit;background:#fff;border-radius:8px;padding:0 12px}.platform-time-control>p,.platform-time-readonly{color:var(--slate-600);margin:0;font-size:11px;line-height:1.45}.platform-time-save-row{align-items:center;gap:14px;margin-top:5px;display:flex}.platform-time-save-row small{color:var(--slate-500);flex:1;font-size:10px;line-height:1.45}.platform-time-save-row button{flex:none}.platform-time-readonly{background:var(--slate-100);border-radius:8px;margin-top:12px;padding:10px 12px}.attendance-settings-layout{grid-template-columns:minmax(0,1.55fr) minmax(310px,.75fr);align-items:start;gap:20px;margin-bottom:20px;display:grid}.attendance-settings-card,.attendance-rule-preview,.attendance-overrides-card{overflow:hidden}.settings-card-description{color:var(--slate-600);margin:10px 0 19px;font-size:13px;line-height:1.55}.attendance-rule-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.attendance-rule-field-grid>label{min-width:0;color:var(--slate-700);flex-direction:column;gap:7px;font-size:12px;font-weight:800;display:flex}.attendance-rule-field-grid>label>div{border:1px solid var(--slate-300);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;height:43px;display:grid;overflow:hidden}.attendance-rule-field-grid input{width:100%;min-width:0;height:100%;color:var(--navy-950);font:inherit;background:0 0;border:0;outline:none;padding:0 12px;font-size:14px}.attendance-rule-field-grid>label>div:focus-within{border-color:var(--teal-600);box-shadow:0 0 0 3px #008f921a}.attendance-rule-field-grid b{border-left:1px solid var(--slate-200);background:var(--slate-100);color:var(--slate-600);align-self:stretch;align-items:center;padding:0 11px;font-size:11px;display:flex}.attendance-rule-field-grid small{color:var(--slate-500);font-size:10px;font-weight:550;line-height:1.4}.attendance-partial-hours{background:var(--teal-50);cursor:pointer;border:1px solid #b8d9d7;border-radius:9px;align-items:flex-start;gap:11px;margin-top:17px;padding:13px;display:flex}.attendance-partial-hours input{width:18px;height:18px;accent-color:var(--teal-700);margin:1px 0 0}.attendance-partial-hours span{flex-direction:column;gap:4px;display:flex}.attendance-partial-hours strong{color:var(--teal-800);font-size:13px}.attendance-partial-hours small{color:var(--slate-600);font-size:11px;font-weight:500;line-height:1.45}.settings-save-row{border-top:1px solid var(--slate-100);justify-content:flex-end;align-items:center;gap:13px;margin-top:18px;padding-top:17px;display:flex}.settings-save-row>small{color:var(--slate-500);margin-right:auto;font-size:10px;line-height:1.4}.settings-save-row button:disabled,.attendance-overrides-card button:disabled{cursor:wait;opacity:.6}.attendance-rule-preview{background:linear-gradient(#e5f7f6b8,#fff 45%);border-color:#b8d9d7}.attendance-rule-timeline{gap:0;margin-top:18px;display:grid;position:relative}.attendance-rule-timeline:before{background:var(--slate-200);content:"";width:2px;position:absolute;top:22px;bottom:22px;left:17px}.rule-outcome{grid-template-columns:36px minmax(0,1fr);gap:11px;padding:10px 0;display:grid;position:relative}.rule-outcome>i{z-index:1;background:var(--slate-100);width:36px;height:36px;color:var(--slate-700);border:4px solid #fff;border-radius:50%;place-items:center;font-size:13px;font-style:normal;font-weight:900;display:grid}.rule-outcome>span{flex-direction:column;gap:3px;padding-top:3px;display:flex}.rule-outcome strong{font-size:13px}.rule-outcome small{color:var(--slate-500);font-size:11px;line-height:1.4}.rule-present>i{background:var(--green-100);color:var(--green-700)}.rule-late>i,.rule-pending>i{background:var(--amber-100);color:var(--amber-700)}.rule-absent>i{background:var(--red-100);color:var(--red-700)}.rule-exit>i{background:var(--blue-100);color:var(--blue-700)}.attendance-rule-conversion{background:var(--navy-900);color:#fff;border-radius:9px;flex-direction:column;gap:4px;margin-top:15px;padding:14px;display:flex}.attendance-rule-conversion strong{color:#71e1d9;font-size:15px}.attendance-rule-conversion small{color:#d2e3ee;font-size:10px;line-height:1.4}.attendance-overrides-card{margin-bottom:20px}.attendance-override-editor{background:#fbfefe;border:1px solid #b8d9d7;border-radius:10px;margin:18px 0;padding:18px}.attendance-override-scope{border-bottom:1px solid var(--slate-200);grid-template-columns:1.2fr .8fr 1fr;gap:14px;margin-bottom:18px;padding-bottom:18px;display:grid}.attendance-override-scope>label,.attendance-override-scope>div{color:var(--slate-700);flex-direction:column;gap:7px;font-size:12px;font-weight:800;display:flex}.attendance-override-scope select{border:1px solid var(--slate-300);width:100%;height:43px;color:var(--navy-950);background:#fff;border-radius:8px;outline:none;padding:0 11px}.attendance-override-scope select:focus{border-color:var(--teal-600);box-shadow:0 0 0 3px #008f921a}.attendance-override-scope select:disabled{background:var(--slate-100);color:var(--slate-500)}.attendance-override-scope>div{background:var(--slate-100);border-radius:8px;justify-content:center;padding:10px 13px}.attendance-override-scope>div>span{color:var(--teal-700);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.attendance-override-scope>div>strong{color:var(--navy-800);font-size:12px}.attendance-override-scope>div>small{color:var(--slate-500);font-size:10px;font-weight:500}.attendance-overrides-card .wide-table-wrap{margin:18px -22px -22px}.attendance-overrides-card .wide-table td>small{color:var(--slate-500);margin-top:3px;font-size:10px;display:block}.attendance-override-actions{align-items:center;gap:10px;display:flex}.attendance-override-actions .danger{color:var(--red-700)}.academic-cycle-card{margin:22px 0}.academic-cycle-form{grid-template-columns:minmax(240px,1.5fr) repeat(2,minmax(170px,.8fr)) auto;align-items:end;gap:14px;margin-top:18px;display:grid}.academic-cycle-form label,.academic-cycle-confirmation label{color:var(--navy-700);gap:8px;font-size:13px;font-weight:800;display:grid}.academic-cycle-form input,.academic-cycle-confirmation input,.academic-cycle-search input{border:1px solid var(--line);width:100%;min-height:44px;color:var(--navy-900);font:inherit;background:#fff;border-radius:8px;padding:9px 12px}.academic-cycle-form input:focus,.academic-cycle-confirmation input:focus,.academic-cycle-search input:focus{border-color:var(--teal-600);outline:3px solid #008f941f}.academic-cycle-preview{background:#f2fbfa;border:1px solid #bddfdc;border-radius:12px;margin-top:18px;padding:18px}.academic-cycle-preview.blocked{background:#fff7f7;border-color:#efc4c7}.academic-cycle-preview-heading,.academic-cycle-history-heading,.academic-cycle-confirmation{justify-content:space-between;align-items:center;gap:18px;display:flex}.academic-cycle-preview-heading>div,.academic-cycle-history-heading>div{gap:3px;display:grid}.academic-cycle-preview-heading span,.academic-cycle-history-heading span{color:var(--teal-700);letter-spacing:1.4px;text-transform:uppercase;font-size:11px;font-weight:900}.academic-cycle-preview-heading strong{color:var(--navy-900);font-size:20px}.academic-cycle-preview-heading small,.academic-cycle-history-heading small{color:var(--navy-500)}.academic-cycle-preview-grid{grid-template-columns:repeat(6,minmax(110px,1fr));gap:10px;margin-top:16px;display:grid}.academic-cycle-preview-grid>div{background:#fff;border:1px solid #d6ecea;border-radius:9px;gap:5px;min-height:75px;padding:12px;display:grid}.academic-cycle-preview-grid span{color:var(--navy-500);font-size:11px;font-weight:700}.academic-cycle-preview-grid strong{color:var(--navy-900);font-size:24px}.academic-cycle-preview-grid .danger{background:#fff1f2;border-color:#f1c3c6}.academic-cycle-preview-grid .danger strong{color:var(--red-700)}.academic-cycle-warnings{color:#7f4b15;background:#fffc;border-radius:8px;gap:7px;margin:14px 0 0;padding:12px 14px 12px 34px;font-size:12px;display:grid}.academic-cycle-confirmation{border-top:1px solid #d6ecea;margin-top:16px;padding-top:16px}.academic-cycle-confirmation label{flex:1;max-width:500px}.academic-cycle-history-heading{margin:24px 0 12px}.academic-cycle-history-heading h3{color:var(--navy-900);margin:0;font-size:20px}.academic-cycle-table td small,.academic-cycle-students-table td small{color:var(--navy-500);margin-top:4px;display:block}.academic-cycle-student-history{border:1px solid var(--line);background:#f8fbfc;border-radius:12px;margin-top:24px;padding:18px}.academic-cycle-student-history .academic-cycle-history-heading{margin-top:0}.academic-cycle-search{grid-template-columns:minmax(240px,1fr) auto;gap:10px;max-width:620px;margin-bottom:14px;display:grid}@media (width<=1120px){.academic-cycle-form{grid-template-columns:repeat(2,minmax(220px,1fr))}.academic-cycle-preview-grid{grid-template-columns:repeat(3,minmax(120px,1fr))}}@media (width<=720px){.academic-cycle-form,.academic-cycle-preview-grid,.academic-cycle-search{grid-template-columns:1fr}.academic-cycle-preview-heading,.academic-cycle-history-heading,.academic-cycle-confirmation{flex-direction:column;align-items:stretch}}@keyframes nfc-pulse{0%,to{opacity:.35;transform:scale(.96)}50%{opacity:.9;transform:scale(1.06)}}@keyframes profile-fade-in{0%{opacity:0}to{opacity:1}}@keyframes profile-rise-in{0%{opacity:0;transform:translateY(12px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=1250px){.topbar-primary{min-height:74px}.page-header{flex-direction:column;align-items:flex-start}.header-actions{flex-wrap:wrap;width:100%}.content-grid{grid-template-columns:1fr}.side-column{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.module-header{flex-direction:column;align-items:flex-start}.module-actions{flex-wrap:wrap;width:100%}.calendar-layout{grid-template-columns:1fr}.calendar-aside{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.academic-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.academic-strip>div:nth-child(4){border-left:0;border-top:1px solid var(--slate-100)}.academic-strip>div:nth-child(5),.academic-strip>div:nth-child(6){border-top:1px solid var(--slate-100)}.profile-stat-grid,.coordinator-context{grid-template-columns:repeat(3,minmax(0,1fr))}.coordinator-identity{border-right:0}.coordinator-layout{grid-template-columns:1fr}.coordinator-side{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.role-card-grid,.user-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-portal-header-inner{grid-template-columns:1fr auto}.student-portal-header nav{border-top:1px solid var(--slate-100);grid-area:2/1/auto/-1;justify-content:center;height:44px}.student-progress-grid,.student-area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-rotation-details{grid-template-columns:repeat(3,minmax(0,1fr))}.student-rotation-details>div:nth-child(4){border-left:0;border-top:1px solid var(--slate-200)}.student-rotation-details>div:nth-child(5){border-top:1px solid var(--slate-200)}}@media (width<=880px){.platform-time-settings-grid{grid-template-columns:1fr}.topbar-inner,.dashboard,.site-footer{width:min(100% - 28px,1480px)}.brand-copy,.user-copy{display:none}.topbar-primary{gap:16px}.user-area{gap:7px}.main-nav{scrollbar-width:thin;justify-content:flex-start;overflow-x:auto}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-toolbar{flex-direction:column;align-items:stretch}.filters{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.filters select{width:100%;min-width:0}.welcome-panel{flex-direction:column;align-items:flex-start}.system-health{width:min(100%,420px)}.home-metrics,.home-grid{grid-template-columns:1fr}.hospital-detail-heading{flex-direction:column;align-items:flex-start}.hospital-online-card{width:min(100%,420px)}.hospital-detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.hospital-detail-grid{grid-template-columns:1fr}.hospital-area-row{grid-template-columns:minmax(180px,1.2fr) minmax(150px,1fr) minmax(110px,.65fr) 102px;min-width:720px}.hospital-areas-card{overflow-x:auto}.hospital-areas-card .panel-title,.hospital-area-list{min-width:720px}.hospital-students-heading{flex-direction:column;align-items:stretch}.hospital-student-filters{grid-template-columns:minmax(0,1fr) minmax(160px,.65fr);display:grid}.hospital-student-filters .search-box{min-width:0}.student-summary,.rotation-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.data-toolbar{flex-direction:column;align-items:stretch}.search-box{width:100%}.data-toolbar>div{justify-content:flex-end}.student-list-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.semester-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-grid{grid-template-columns:1fr}.report-form{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-main-grid{grid-template-columns:1fr}.profile-side{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.double-click-hint{display:none}.selected-clinical-day,.schedule-editor-form{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-weekday-selector{grid-template-columns:1fr}.profile-calendar-controls{flex-direction:column;align-items:flex-end}.coordinator-context,.coordinator-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.coordinator-identity{grid-column:1/-1}.station-toolbar{flex-direction:column;align-items:stretch}.nfc-operation-control{grid-template-columns:1fr}.nfc-operation-control>p{grid-column:auto}.scanner-stage{grid-template-columns:200px minmax(0,1fr);gap:22px;padding:25px}.nfc-reader-visual{width:175px;height:175px}.wave-one{width:102px;height:102px}.wave-two{width:135px;height:135px}.wave-three{width:165px;height:165px}.scanned-student{grid-template-columns:auto 1fr}.scanned-student dl{grid-column:1/-1}.student-login-page{padding:18px}.student-login-shell{grid-template-columns:1fr}.student-login-intro{min-height:470px;padding:34px}.student-login-message{margin:45px 0 30px}.student-profile-hero{flex-direction:column;align-items:flex-start}.student-next-practice{width:100%;min-width:0}.student-calendar-layout,.student-incidence-grid{grid-template-columns:1fr}.student-assigned-schedule{flex-direction:column;align-items:flex-start}.student-month-card{overflow-x:auto}.student-weekdays,.student-month-grid{min-width:720px}}@media (width<=620px){.backup-external-picker{flex-direction:column;align-items:stretch}.topbar-primary{gap:10px;min-height:68px}.brand-name{font-size:27px}.brand-logo{flex-basis:50px;width:50px;height:50px}.main-nav{justify-content:flex-start;overflow-x:auto}.main-nav button{flex:none}.dashboard{padding-top:24px}.header-actions{grid-template-columns:1fr 1fr;display:grid}.online-pill{grid-column:1/-1;justify-content:center}.primary-button,.secondary-button{padding:0 12px;font-size:14px}.kpi-grid,.filters,.hospital-student-filters{grid-template-columns:1fr}.kpi-card{min-height:120px}.side-column{display:flex}.calendar-summary{grid-template-columns:repeat(2,1fr)}.site-footer{flex-direction:column}.module-actions{grid-template-columns:1fr 1fr;display:grid}.module-actions>*{width:100%}.welcome-panel{padding:28px 22px}.welcome-actions{grid-template-columns:1fr;width:100%;display:grid}.system-health{min-width:0}.hospital-detail-hero{padding:22px 20px 0}.hospital-detail-heading{padding:20px 0 23px}.hospital-detail-heading h1{font-size:28px}.hospital-online-card{min-width:0}.hospital-coordinator-strip{grid-template-columns:1fr;gap:14px;margin:0 -20px;padding:17px 20px}.hospital-coordinator-strip .secondary-button{width:100%}.hospital-detail-metrics{grid-template-columns:1fr}.hospital-area-row{grid-template-columns:1fr;gap:11px;min-width:0;padding:16px 0}.hospital-areas-card .panel-title,.hospital-area-list{min-width:0}.hospital-area-attendance{max-width:250px}.hospital-area-incident{width:fit-content}.hospital-student-filters{grid-template-columns:1fr}.hospital-student-filters select{width:100%}.hospital-students-footer{flex-direction:column;align-items:flex-start}.student-summary,.rotation-metrics,.semester-grid{grid-template-columns:1fr}.hospital-list-button{grid-template-columns:34px minmax(0,1fr) auto}.hospital-attendance{max-width:230px}.hospital-total-students b,.hospital-list-name small,.hospital-area-count,.hospital-open-arrow{display:none}.calendar-controls{flex-direction:column;align-items:stretch}.calendar-controls>div{justify-content:space-between}.calendar-filters{grid-template-columns:1fr 1fr;display:grid!important}.calendar-aside{display:flex}.full-calendar-card{overflow-x:auto}.weekday-row,.month-grid{min-width:700px}.data-toolbar>div{grid-template-columns:1fr;display:grid}.data-toolbar select,.quiet-button{width:100%}.student-list-filters{grid-template-columns:1fr}.table-footer{flex-direction:column;align-items:flex-start;padding:14px 18px}.student-pagination{justify-content:space-between;width:100%}.report-form{grid-template-columns:1fr}.report-options{flex-direction:column;align-items:flex-start}.report-orientation{flex-direction:column}.report-orientation>label{min-width:0}.absentee-selection-heading,.absentee-selection-actions,.report-control-inclusions{flex-direction:column;align-items:stretch}.absentee-observation-toggle{border-top:1px solid #c7e4e4;border-left:0;margin-left:0;padding-top:10px;padding-left:0}.absentee-preview-context{grid-template-columns:1fr}.absentee-selection-actions span{margin-right:0}.absentee-selection-list article{grid-template-columns:1fr}.report-actions{grid-template-columns:1fr 1fr;display:grid}.report-builder-status,.report-preview-toolbar{flex-direction:column;align-items:stretch}.report-preview-overlay{padding:10px}.report-preview-dialog{max-height:calc(100vh - 20px)}.report-preview-toolbar>div:last-child{grid-template-columns:1fr 1fr;display:grid}.report-preview-scroll{padding:12px}.report-preview-page{min-width:760px;min-height:540px;padding:26px}.release-banner{grid-template-columns:auto 1fr}.release-banner button{grid-column:1/-1;width:100%}.profile-overlay{align-items:stretch;padding:0}.student-profile{border:0;border-radius:0;width:100%;max-height:100vh}.profile-header{border-radius:0;align-items:flex-start;padding:14px}.profile-avatar{flex-basis:46px;width:46px;height:46px}.profile-identity h2{font-size:19px}.profile-identity p{max-width:190px;line-height:1.45}.profile-header-actions .secondary-button{display:none}.profile-body{padding:12px}.semester-practice-period{flex-direction:column;align-items:flex-start}.semester-practice-period>small{text-align:left;max-width:none}.academic-strip{grid-template-columns:1fr}.academic-strip>div,.academic-strip>div:nth-child(3),.academic-strip>div:nth-child(4),.academic-strip>div:nth-child(5),.academic-strip>div:nth-child(6){border-left:0;border-top:1px solid var(--slate-100)}.academic-strip>div:first-child{border-top:0}.profile-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-calendar-card,.profile-side article,.attendance-history{padding:13px}.profile-calendar-grid button{min-height:88px;padding:6px}.profile-calendar-empty{min-height:88px}.profile-day-status{padding:2px;font-size:10px}.selected-clinical-day{grid-template-columns:1fr}.selected-clinical-day-actions,.profile-manual-attendance-heading,.profile-manual-attendance-footer{align-items:stretch;flex-direction:column!important}.profile-manual-attendance-grid{grid-template-columns:1fr}.profile-manual-attendance-footer .primary-button{width:100%}.profile-calendar-legend{gap:8px}.profile-side{display:flex}.attendance-history .profile-section-heading,.profile-calendar-card>.profile-section-heading{flex-direction:column;align-items:flex-start}.profile-calendar-controls{flex-flow:wrap;justify-content:space-between;align-items:center;width:100%}.profile-calendar-pdf-button{width:100%}.profile-edit-schedule{flex:1;min-width:0}.schedule-editor-heading,.schedule-editor-footer{flex-direction:column;align-items:flex-start}.schedule-editor-form{grid-template-columns:1fr}.schedule-weekday-buttons{grid-template-columns:repeat(4,minmax(0,1fr))}.schedule-editor-footer .primary-button{width:100%}.schedule-editor-actions{flex-direction:column;width:100%}.schedule-editor-actions .secondary-button{width:100%}.reader-connected{grid-column:1/-1;justify-content:center}.coordinator-context,.coordinator-kpis{grid-template-columns:1fr}.coordinator-identity{border-bottom:1px solid var(--slate-200);padding-bottom:14px}.coordinator-kpis article{min-height:88px}.station-toolbar{padding:15px}.nfc-operation-control{padding:14px}.nfc-mode-buttons{grid-template-columns:1fr}.mode-switch button{padding:0 8px;font-size:13px}.scanner-stage{text-align:center;grid-template-columns:1fr;gap:18px;padding:24px 18px}.scanner-copy{align-items:center}.nfc-reader-visual{width:160px;height:160px}.wave-one{width:94px;height:94px}.wave-two{width:124px;height:124px}.wave-three{width:151px;height:151px}.scan-result{margin:0 12px 12px}.scan-result-heading{padding:10px 12px}.scan-result-heading time{font-size:18px}.scanned-student{grid-template-columns:auto 1fr;padding:13px}.scanned-student dl{grid-template-columns:1fr}.scanned-student dl>div{border-top:1px solid var(--slate-200);border-left:0;padding-top:8px;padding-left:0}.coordinator-side{display:flex}.coordinator-audit-note{grid-template-columns:auto 1fr}.coordinator-audit-note button{grid-column:1/-1;justify-self:start}.signout-button{padding:0 9px}.student-portal-link{display:none}.role-card-grid,.user-form-grid{grid-template-columns:1fr}.role-card{min-height:0}.user-form-card{padding:16px}.user-form-actions{grid-template-columns:1fr 1fr;display:grid}.user-clinical-assignment-heading,.user-clinical-assignment-row{flex-direction:column;align-items:stretch}.user-clinical-assignment-heading button,.user-clinical-assignment-row>button,.user-primary-assignment{width:100%}.access-page{padding:14px}.access-card{padding:30px 20px}.student-login-page{padding:0}.student-login-shell{border:0;border-radius:0;min-height:100vh}.student-login-intro{min-height:435px;padding:26px 20px}.student-login-message h1{font-size:38px}.student-login-message p{font-size:16px}.student-login-card{border-radius:0;margin:0;padding:30px 20px}.student-portal-header-inner,.student-portal-main,.student-portal-footer{width:min(100% - 24px,1460px)}.student-portal-user div{display:none}.student-portal-header nav{justify-content:flex-start;overflow-x:auto}.student-profile-hero{padding:23px 18px}.student-profile-identity{flex-direction:column;align-items:flex-start}.student-app-download{grid-template-columns:auto 1fr;align-items:start;padding:16px}.student-app-download-action{grid-column:1/-1;width:100%;min-width:0}.student-profile-avatar{flex-basis:70px;width:70px;height:70px;font-size:23px}.student-progress-grid,.student-area-grid,.student-rotation-details{grid-template-columns:1fr}.student-rotation-details>div,.student-rotation-details>div:nth-child(4),.student-rotation-details>div:nth-child(5){border-top:1px solid var(--slate-200);border-left:0}.student-rotation-details>div:first-child{border-top:0}.student-current-rotation,.student-calendar-section,.student-areas-section,.student-incidence-grid>article{padding:15px}.student-section-title{flex-direction:column;align-items:flex-start}.student-calendar-actions{grid-template-columns:auto 1fr auto;width:100%;display:grid}.student-calendar-actions select{width:100%;min-width:0}.student-calendar-actions .student-current-month-button{grid-area:2/1/auto/-1}.student-assigned-schedule{padding:13px}.student-assigned-schedule>div:first-child{align-items:flex-start}.student-assigned-weekdays{grid-template-columns:repeat(7,1fr);width:100%}.student-assigned-weekdays span{width:100%}.student-attendance-section>.student-section-title{padding:15px}.student-incidence-list>div{grid-template-columns:50px 1fr}.student-incidence-list b{grid-column:2;justify-self:start}.student-portal-footer{flex-direction:column}}@media (width<=1250px){.backup-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.backup-settings-layout,.attendance-settings-layout{grid-template-columns:1fr}.replacement-window-settings-grid{grid-template-columns:1fr 1fr}.replacement-window-preview{grid-column:1/-1}.attendance-rule-timeline{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 18px}.attendance-rule-timeline:before{display:none}}@media (width<=880px){.backup-restore-layout,.backup-external-card,.attendance-rule-field-grid,.attendance-override-scope,.replacement-window-settings-grid,.replacement-completion-settings{grid-template-columns:1fr}.replacement-window-preview{grid-column:auto}.attendance-rule-timeline{grid-template-columns:1fr}.calendar-filters{min-width:0;grid-template-columns:1fr!important}.calendar-day-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-day-off-preview,.calendar-day-off-combined-filter,.calendar-day-off-combined-filter.three-fields,.calendar-day-off-selection-filters,.calendar-day-filters{grid-template-columns:1fr}}@media (width<=620px){.backup-summary-grid,.backup-code-grid,.backup-code-validator-controls,.replacement-completion-options{grid-template-columns:1fr}.backup-manager-card,.backup-history-card,.backup-external-card{padding:16px}.backup-history-card .wide-table-wrap{margin-bottom:-16px;margin-left:-16px;margin-right:-16px}.student-data-cleanup-options,.student-history-reset-options,.student-history-reset-dates{grid-template-columns:1fr}.student-data-cleanup-actions,.student-history-reset-heading,.student-history-reset-final{flex-direction:column;align-items:stretch}.student-history-reset-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.student-active-schedules article{grid-template-columns:1fr}.profile-clear-data,.profile-reset-history{min-height:36px;padding:0 10px;font-size:11px}.settings-admin-pill{white-space:normal}.attendance-settings-card,.attendance-rule-preview,.attendance-overrides-card,.platform-time-settings-card,.replacement-window-settings-card{padding:16px}.replacement-window-weekdays{grid-template-columns:repeat(4,minmax(0,1fr))}.platform-time-save-row{flex-direction:column;align-items:stretch}.platform-time-save-row button{justify-content:center}.attendance-override-editor{padding:14px}.attendance-overrides-card .wide-table-wrap{margin-bottom:-16px;margin-left:-16px;margin-right:-16px}.settings-save-row{flex-direction:column;align-items:stretch}.settings-save-row .primary-button,.settings-save-row .secondary-button{justify-content:center}.calendar-day-overlay{padding:0}.calendar-day-dialog,.calendar-day-off-dialog{border:0;border-radius:0;width:100%;min-height:100vh;max-height:100vh}.calendar-day-off-content{padding:14px}.calendar-day-dialog-header{padding:16px}.calendar-day-dialog-header h2{font-size:20px}.calendar-day-summary{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px 12px 0}.calendar-day-filters{padding:12px}.calendar-day-dialog-footer{flex-direction:column;align-items:stretch;padding:12px}.calendar-day-dialog-footer>span{margin-right:0}.calendar-day-dialog-footer button{justify-content:center}}.operation-dialog{border:1px solid var(--slate-200);background:#f7fafb;border-radius:16px;width:min(1120px,100vw - 40px);max-height:calc(100vh - 40px);overflow:auto;box-shadow:0 30px 80px #021d3157}.operation-dialog>header{z-index:4;border-bottom:1px solid var(--slate-200);background:#fff;justify-content:space-between;align-items:flex-start;gap:20px;padding:20px 24px;display:flex;position:sticky;top:0}.operation-dialog>header>div{flex-direction:column;gap:4px;display:flex}.operation-dialog>header span,.catalog-form .panel-title span{color:var(--teal-700);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:850}.operation-dialog>header h2,.catalog-form h3{color:var(--navy-950);margin:0}.operation-dialog>header h2{font-size:24px}.operation-dialog>header p{color:var(--slate-600);margin:0;font-size:12px}.operation-dialog>header>button{border:1px solid var(--slate-200);width:38px;height:38px;color:var(--navy-950);cursor:pointer;background:#fff;border-radius:9px;flex:0 0 38px;font-size:24px}.operation-dialog>footer{z-index:4;border-top:1px solid var(--slate-200);background:#fff;justify-content:flex-end;align-items:center;gap:10px;padding:14px 20px;display:flex;position:sticky;bottom:0}.operation-dialog>footer>span,.operation-dialog>footer>strong{color:var(--slate-600);margin-right:auto;font-size:11px}.operation-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.operation-form-grid label,.release-form>label{color:var(--navy-800);flex-direction:column;gap:6px;font-size:11px;font-weight:800;display:flex}.operation-form-grid input,.operation-form-grid select,.operation-form-grid textarea,.release-form input,.release-form select{border:1px solid var(--slate-300);min-height:42px;color:var(--navy-950);font:inherit;background:#fff;border-radius:8px;padding:9px 11px;font-size:12px}.operation-form-grid textarea{resize:vertical}.operation-wide{grid-column:1/-1}.student-export-dialog{width:min(760px,100vw - 40px)}.student-export-body{gap:18px;padding:22px 24px 24px;display:grid}.student-export-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.student-export-filters label{min-width:0;color:var(--navy-800);gap:7px;font-size:11px;font-weight:800;display:grid}.student-export-filters select{border:1px solid var(--slate-300);width:100%;min-width:0;min-height:44px;color:var(--navy-950);background:#fff;border-radius:8px;outline:none;padding:0 11px;font-size:13px}.student-export-filters select:focus{border-color:var(--teal-600);box-shadow:0 0 0 3px #008f921a}.student-export-columns{background:#f2fbfb;border:1px solid #c8e4e5;border-radius:12px;padding:16px 18px}.student-export-columns>strong{color:var(--navy-950);font-size:13px}.student-export-columns ul{flex-wrap:wrap;gap:7px;margin:11px 0;padding:0;list-style:none;display:flex}.student-export-columns li{color:var(--teal-700);background:#fff;border:1px solid #b7dcde;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800}.student-export-columns p{color:var(--slate-600);margin:0;font-size:11px;line-height:1.5}.student-export-error{color:#9b2635;background:#fff1f3;border:1px solid #efbdc3;border-radius:9px;margin:0;padding:11px 13px;font-size:12px;font-weight:700}.operation-checkbox{align-items:center;padding-top:24px;flex-direction:row!important}.operation-checkbox input{min-height:auto}.operation-note{background:var(--teal-50);color:var(--slate-600);border-radius:8px;margin:14px 0 0;padding:10px 12px;font-size:11px;line-height:1.5}.operation-error,.shift-operation-error{background:var(--red-100);color:var(--red-700);border:1px solid #efc1c5;border-radius:8px;margin:12px 20px;padding:10px 12px;font-size:12px;font-weight:750}.operation-loading{min-height:280px;color:var(--slate-600);place-items:center;display:grid}.password-reset-dialog{width:min(620px,100vw - 32px)}.password-reset-dialog>.operation-form-grid,.password-reset-dialog>.operation-note{margin-left:22px;margin-right:22px}.password-reset-dialog>.operation-form-grid{padding-top:20px}.promotion-layout{grid-template-columns:minmax(360px,1.05fr) minmax(320px,.95fr);gap:18px;padding:20px;display:grid}.promotion-layout>section{border:1px solid var(--slate-200);background:#fff;border-radius:11px;padding:15px}.promotion-filter-row{grid-template-columns:1fr 1fr auto;gap:8px;margin-bottom:12px;display:grid}.promotion-filter-row select{border:1px solid var(--slate-300);background:#fff;border-radius:7px;height:39px;padding:0 10px}.promotion-student-list{border:1px solid var(--slate-200);border-radius:8px;max-height:370px;overflow:auto}.promotion-student-list>label{border-top:1px solid var(--slate-100);cursor:pointer;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:8px;padding:9px 10px;display:grid}.promotion-student-list>label:first-child{border-top:0}.promotion-student-list span{flex-direction:column;gap:2px;display:flex}.promotion-student-list strong{color:var(--navy-950);font-size:12px}.promotion-student-list small{color:var(--slate-500);font-size:10px}.promotion-student-list>p{color:var(--slate-500);text-align:center;margin:0;padding:25px}.promotion-target h3{color:var(--navy-950);margin:0 0 14px;font-size:17px}.pilot-reset-open-button{color:var(--red-700)!important;border-color:#e2a5ab!important}.pilot-reset-dialog{width:min(1180px,100vw - 40px)}.pilot-reset-body{gap:14px;padding:18px 20px 22px;display:grid}.pilot-reset-body>section{border:1px solid var(--slate-200);background:#fff;border-radius:11px;padding:15px}.pilot-reset-body h3{color:var(--navy-950);margin:0 0 11px;font-size:16px}.pilot-reset-mode{flex-wrap:wrap;gap:8px;margin-bottom:13px;display:flex}.pilot-reset-mode label{border:1px solid var(--slate-200);background:var(--slate-50);color:var(--navy-800);cursor:pointer;border-radius:8px;align-items:center;gap:7px;padding:9px 12px;font-size:12px;font-weight:800;display:flex}.pilot-reset-full-field,.pilot-reset-filters label,.pilot-reset-confirmation>label{color:var(--navy-800);flex-direction:column;gap:6px;font-size:11px;font-weight:800;display:flex}.pilot-reset-full-field select,.pilot-reset-filters select,.pilot-reset-confirmation input{border:1px solid var(--slate-300);min-height:42px;color:var(--navy-950);font:inherit;background:#fff;border-radius:8px;padding:9px 11px;font-size:12px}.pilot-reset-filters{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.pilot-reset-wide-field{grid-column:span 2}.pilot-reset-warning{background:var(--red-100);color:var(--red-700);border:1px solid #efc1c5;border-radius:8px;padding:11px 12px;font-size:12px;font-weight:800}.pilot-reset-sections{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.pilot-reset-sections label{border:1px solid var(--slate-200);background:var(--slate-50);cursor:pointer;border-radius:8px;grid-template-columns:20px minmax(0,1fr);gap:7px;padding:10px;display:grid}.pilot-reset-sections span{flex-direction:column;gap:3px;display:flex}.pilot-reset-sections strong{color:var(--navy-950);font-size:11px}.pilot-reset-sections small{color:var(--slate-500);font-size:10px;line-height:1.4}.pilot-reset-step-heading,.pilot-reset-backup-row{justify-content:space-between;align-items:center;gap:14px;display:flex}.pilot-reset-step-heading h3{margin-bottom:2px}.pilot-reset-step-heading p,.pilot-reset-sample{color:var(--slate-500);margin:0;font-size:10px}.pilot-reset-counts{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-top:12px;display:grid}.pilot-reset-counts article{background:var(--teal-50);border-radius:8px;padding:9px}.pilot-reset-counts span,.pilot-reset-counts strong{display:block}.pilot-reset-counts span{min-height:28px;color:var(--slate-600);font-size:9px}.pilot-reset-counts strong{color:var(--navy-950);font-size:20px}.pilot-reset-sample{margin-top:9px;line-height:1.5}.pilot-reset-confirmation{gap:12px;display:grid}.pilot-reset-confirmation h3{margin-bottom:0}.pilot-reset-backup-row{justify-content:flex-start}.pilot-reset-backup-row span{color:var(--slate-500);font-size:10px}.pilot-reset-backup-row span.ready{color:var(--green-700);font-weight:800}.pilot-reset-confirmation>label{max-width:520px}.pilot-reset-confirmation input{letter-spacing:.04em;text-transform:uppercase}.student-row-actions{flex-direction:column;align-items:flex-start;gap:5px;min-width:130px;display:flex}.student-row-actions .text-button{text-align:left;font-size:10px}.catalog-dialog{width:min(1240px,100vw - 40px)}.catalog-layout{grid-template-columns:300px minmax(0,1fr);min-height:560px;display:grid}.catalog-layout>aside{border-right:1px solid var(--slate-200);background:#fff;padding:12px;overflow:auto}.catalog-layout>aside>button{width:100%;color:var(--navy-950);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px;display:flex}.catalog-layout>aside>button.active{background:var(--teal-50);border-color:#b8ddda}.catalog-layout>aside>button span{flex-direction:column;gap:3px;min-width:0;display:flex}.catalog-layout>aside>button strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.catalog-layout>aside>button small{color:var(--slate-500);font-size:10px}.catalog-layout>aside>button i{border-radius:999px;padding:4px 6px;font-size:9px;font-style:normal;font-weight:800}.catalog-layout>aside>button i.active{background:var(--green-100);color:var(--green-700)}.catalog-layout>aside>button i.inactive{background:var(--slate-100);color:var(--slate-500)}.catalog-new-button{margin-bottom:10px;font-weight:850;background:var(--teal-50)!important;color:var(--teal-700)!important;border-color:#b8ddda!important}.catalog-layout>main{gap:16px;padding:18px;display:grid}.catalog-form{border:1px solid var(--slate-200);background:#fff;border-radius:11px;padding:16px}.catalog-form .panel-title{margin-bottom:14px}.catalog-hospital-fields{grid-template-columns:1fr .6fr}.catalog-area-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:13px;display:grid}.catalog-area-list>button{border:1px solid var(--slate-200);cursor:pointer;text-align:left;background:#fbfcfd;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:9px;display:flex}.catalog-group-manager{border-top:1px solid var(--slate-200);background:#f7fafb;padding:18px}.catalog-group-manager .panel-title small{color:var(--slate-500);margin-top:3px;font-size:10px;display:block}.catalog-group-grid{grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:14px;display:grid}.catalog-group-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.catalog-group-list article{border:1px solid var(--slate-200);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:6px;padding:8px 10px;display:flex}.catalog-group-list article.inactive{opacity:.65}.catalog-group-list article>button:first-child{min-width:0;color:var(--navy-950);cursor:pointer;text-align:left;background:0 0;border:0;flex:1}.catalog-group-list strong,.catalog-group-list small{display:block}.catalog-group-list small{color:var(--slate-500);margin-top:2px;font-size:9px}.catalog-group-form{gap:10px;display:grid}.catalog-group-form>label:not(.operation-checkbox){gap:5px;font-size:11px;font-weight:750;display:grid}.catalog-group-form input[type=text],.catalog-group-form input:not([type]){border:1px solid var(--slate-300);border-radius:7px;height:38px;padding:0 10px}.service-social-card{background:linear-gradient(135deg,#f4fbfa,#fff);border:1px solid #b8ddda;border-radius:12px;margin:14px 0;padding:14px 16px}.service-social-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.service-social-heading span:first-child{color:var(--teal-700);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:850}.service-social-heading h3{color:var(--navy-950);margin:3px 0;font-size:17px}.service-social-heading p{color:var(--slate-600);margin:0;font-size:11px}.service-social-actions{align-items:center;gap:12px;margin-top:12px;display:flex}.service-social-form{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:10px;margin-top:12px;display:grid}.service-social-form label{color:var(--navy-900);gap:5px;font-size:10px;font-weight:750;display:grid}.service-social-form input{border:1px solid var(--slate-300);border-radius:7px;height:38px;padding:0 9px}.service-social-form>div{gap:6px;display:flex}.calendar-instructor-summary{background:var(--teal-50);border:1px solid #b8ddda;border-radius:9px;gap:4px;margin:14px 0;padding:11px 12px;display:grid}.calendar-instructor-summary span{color:var(--teal-700);letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:850}.calendar-instructor-summary strong{color:var(--navy-950);font-size:12px}.calendar-instructor-summary small{color:var(--slate-500);font-size:9px}@media (width<=880px){.catalog-group-grid,.service-social-form{grid-template-columns:1fr}.catalog-group-list{grid-template-columns:1fr 1fr}}.catalog-area-list span{flex-direction:column;gap:2px;min-width:0;display:flex}.catalog-area-list strong,.catalog-area-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.catalog-area-list strong{color:var(--navy-950);font-size:11px}.catalog-area-list small,.catalog-area-list b{color:var(--slate-500);font-size:9px}.catalog-area-fields{grid-template-columns:1fr auto}.shift-operation-error{max-width:1480px;margin-left:auto;margin-right:auto}.roster-empty{color:var(--slate-500);text-align:center;padding:22px;font-size:11px}.shift-closed-pill{background:var(--green-100);color:var(--green-700);border-radius:999px;padding:7px 10px;font-size:10px;font-weight:800}.shift-review-dialog{width:min(1450px,100vw - 36px)}.shift-review-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:16px 18px;display:grid}.shift-review-summary article{background:var(--teal-50);border:1px solid #b9dcd9;border-radius:9px;padding:10px 12px}.shift-review-summary span,.shift-review-summary strong{display:block}.shift-review-summary span{color:var(--slate-600);text-transform:uppercase;font-size:10px;font-weight:800}.shift-review-summary strong{color:var(--teal-700);margin-top:3px;font-size:22px}.shift-review-summary .warning{background:var(--amber-100);border-color:#edd09f}.shift-review-summary .warning strong{color:var(--amber-700)}.shift-review-summary .danger{background:var(--red-100);border-color:#efc1c5}.shift-review-summary .danger strong{color:var(--red-700)}.shift-closure-banner{background:var(--green-100);color:var(--green-700);border:1px solid #b9d9bd;border-radius:8px;margin:0 18px 14px;padding:9px 11px;font-size:11px;font-weight:750}.shift-review-table-wrap{border-top:1px solid var(--slate-200);border-bottom:1px solid var(--slate-200);background:#fff;max-height:460px;overflow:auto}.shift-review-table{min-width:1050px}.shift-review-table thead th{z-index:2;background:#f8fafb;position:sticky;top:0}.resolution-overlay{z-index:160;background:#031c30d6}.shift-resolution-dialog{width:min(690px,100vw - 32px)}.shift-resolution-dialog>.operation-form-grid{padding:20px}.release-dialog{width:min(1420px,100vw - 36px)}.release-builder-layout{grid-template-columns:minmax(460px,1.06fr) minmax(430px,.94fr);gap:18px;padding:20px;display:grid}.release-form{border:1px solid var(--slate-200);background:#fff;border-radius:11px;flex-direction:column;gap:13px;padding:16px;display:flex}.release-editor-form{background:#f8fafb;max-height:min(680px,100vh - 235px);overflow:auto}.release-editor-basics,.release-editor-two-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.release-editor-basics label:nth-child(2){grid-column:span 2}.release-editor-section{border:1px solid var(--slate-200);background:#fff;border-radius:10px;flex-direction:column;gap:12px;padding:14px;display:flex}.release-editor-section>div:first-child{border-bottom:1px solid var(--slate-200);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:10px;display:flex}.release-editor-section>div:first-child span{color:var(--navy-950);font-size:12px;font-weight:900}.release-editor-section>div:first-child small{color:var(--slate-500);text-align:right;font-size:9px}.release-form textarea{resize:vertical;border:1px solid var(--slate-300);width:100%;color:var(--navy-950);font:inherit;background:#fff;border-radius:8px;padding:10px 11px;font-size:11px;line-height:1.55}.release-form textarea:focus{border-color:var(--teal-600);outline:3px solid #00979d1f}.release-form input[readonly],.release-form textarea[readonly],.release-form select:disabled{color:var(--slate-600);background:#f1f5f7}.release-token-picker{flex-direction:column;align-items:flex-start;gap:7px;display:flex}.release-token-picker>span{color:var(--slate-600);font-size:9px;font-weight:800}.release-token-picker>div{flex-wrap:wrap;gap:6px;display:flex}.release-token-picker button{background:var(--teal-50);color:var(--teal-700);cursor:pointer;border:1px solid #b7dcdd;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:800}.release-token-picker button:hover{border-color:var(--teal-600);background:#d9f0f0}.release-signature-options{color:var(--slate-700);flex-wrap:wrap;gap:14px;font-size:10px;font-weight:750;display:flex}.release-signature-options label{flex-direction:row;align-items:center;gap:7px;display:flex}.release-signature-upload-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.release-signature-upload-grid>label{border:1px dashed var(--slate-300);background:#fbfdfd;border-radius:9px;flex-direction:column;gap:5px;padding:11px;display:flex}.release-signature-upload-grid>label.disabled{opacity:.58}.release-signature-upload-grid span{color:var(--navy-950);font-size:10px;font-weight:850}.release-signature-upload-grid strong{color:var(--teal-700);font-size:9px}.release-signature-upload-grid small{min-height:26px;color:var(--slate-500);font-size:8px;line-height:1.45}.release-signature-upload-grid input[type=file]{padding:6px;font-size:8px}.release-eligibility{border:1px solid;border-radius:9px;align-items:center;gap:10px;padding:10px;display:flex}.release-eligibility>span{border-radius:50%;place-items:center;width:30px;height:30px;font-weight:900;display:grid}.release-eligibility>div{flex-direction:column;gap:3px;display:flex}.release-eligibility strong{font-size:11px}.release-eligibility small{font-size:10px}.release-eligibility.eligible{background:var(--green-100);color:var(--green-700);border-color:#b9d9bd}.release-eligibility.pending{background:var(--amber-100);color:var(--amber-700);border-color:#edd09f}.release-document-preview{border:1px solid var(--slate-200);background:#fff;flex-direction:column;min-height:820px;max-height:min(680px,100vh - 235px);padding:0;display:flex;overflow:auto;box-shadow:0 8px 24px #0e334b14}.release-preview-brand{background:var(--navy-950);text-align:left;border-bottom:0;justify-content:flex-start;align-items:center;gap:13px;padding:18px 30px;display:flex}.release-preview-brand img{object-fit:contain}.release-preview-brand>div{flex-direction:column;gap:4px;display:flex}.release-preview-brand strong{color:#fff;font-size:14px}.release-preview-brand span{color:#cce7e8;font-size:10px;font-weight:600}.release-document-preview h3{color:var(--navy-950);text-align:center;text-transform:uppercase;margin:30px 36px 7px;font-size:20px}.release-preview-date{color:var(--slate-500);text-align:right;margin-left:36px;margin-right:36px;font-size:11px}.release-document-preview h4{color:var(--navy-950);margin:34px 36px 0;font-size:12px}.release-document-preview>p:not(.release-preview-date),.release-preview-body p{color:var(--slate-700);text-align:justify;font-size:12px;line-height:1.8}.release-preview-body{margin:20px 36px 0}.release-preview-body p{margin:0 0 13px}.release-preview-closing{color:var(--navy-950);text-align:center;margin-top:auto;padding-top:42px;font-size:11px;display:block}.release-preview-metrics{grid-template-columns:1fr 1fr;gap:10px;margin-top:24px;display:grid}.release-preview-metrics span{background:var(--teal-50);color:var(--teal-700);text-align:center;border-radius:8px;padding:11px;font-size:10px}.release-preview-metrics b{margin-bottom:2px;font-size:18px;display:block}.release-preview-signature{width:70%;color:var(--navy-950);text-align:center;flex-direction:column;align-items:center;gap:4px;margin:80px auto 0;display:flex}.release-preview-signature>span{border-top:1px solid var(--slate-700);width:100%}.release-preview-signature strong{font-size:11px}.release-preview-signature small{color:var(--slate-500);font-size:9px}.release-preview-signatures{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px;margin:54px 36px 0;display:grid}.release-preview-signatures>div{min-height:105px;color:var(--navy-950);text-align:center;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;display:flex}.release-preview-signatures img{object-fit:contain;width:150px;height:54px}.release-preview-signatures em{height:54px;color:var(--slate-400);place-items:center;font-size:8px;font-style:normal;display:grid}.release-preview-signatures span{border-top:1px solid var(--slate-700);width:100%}.release-preview-signatures strong{font-size:10px}.release-preview-signatures small{color:var(--slate-500);font-size:8px}.release-preview-route{margin:8px 36px 0}.release-preview-route h5{color:var(--teal-700);letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px;font-size:10px}.release-preview-route-state{border:1px dashed var(--slate-300);color:var(--slate-500);text-align:center;border-radius:8px;margin:0;padding:14px;font-size:10px}.release-preview-route-grid{gap:8px;display:grid}.release-preview-route-grid.hospitals-1{grid-template-columns:1fr}.release-preview-route-grid.hospitals-2{grid-template-columns:repeat(2,minmax(0,1fr))}.release-preview-route-grid.hospitals-3{grid-template-columns:repeat(3,minmax(0,1fr))}.release-preview-hospital{background:#edf7f8;border:1px solid #c9dee2;border-radius:8px;padding:10px}.release-preview-hospital>strong{color:var(--navy-950);font-size:10px;display:block}.release-preview-hospital>b{color:var(--teal-700);margin-top:3px;font-size:8px;display:block}.release-preview-areas{gap:7px;margin-top:8px;display:grid}.release-preview-areas.many{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px}.release-preview-areas>div{padding-left:10px;position:relative}.release-preview-areas>div:before{content:"";background:var(--teal-600);border-radius:50%;width:5px;height:5px;position:absolute;top:5px;left:0}.release-preview-areas span,.release-preview-areas b,.release-preview-areas small{display:block}.release-preview-areas span{color:var(--navy-950);font-size:8px;font-weight:800}.release-preview-areas b{color:var(--teal-700);margin-top:1px;font-size:7px}.release-preview-areas small{color:var(--slate-500);margin-top:1px;font-size:6.5px}.release-preview-verification{color:var(--slate-500);text-align:left;flex-direction:row;justify-content:space-between;align-items:flex-end;gap:10px;margin:26px 24px 12px;font-size:7px;display:flex}.release-preview-verification>div:first-child{text-align:center;flex-direction:column;flex:1;gap:4px;display:flex}.release-preview-qr{outline:1px solid var(--slate-300);background:repeating-linear-gradient(90deg, var(--navy-950) 0 2px, transparent 2px 4px), repeating-linear-gradient(0deg, transparent 0 3px, var(--navy-950) 3px 5px), white;border:4px solid #fff;flex:0 0 42px;width:42px;height:42px;position:relative}.release-preview-qr i{border:3px solid var(--navy-950);background:#fff;width:11px;height:11px;position:absolute}.release-preview-qr i:first-child{top:1px;left:1px}.release-preview-qr i:nth-child(2){top:1px;right:1px}.release-preview-qr i:nth-child(3){bottom:1px;left:1px}.release-preview-qr b{color:var(--teal-700);background:#fff;padding:1px;font-size:6px;position:absolute;bottom:1px;right:1px}@media (width<=980px){.special-case-layout{grid-template-columns:1fr}.special-student-selector{border-right:0;border-bottom:1px solid var(--slate-200)}.special-student-results{max-height:240px}.absence-message-layout{grid-template-columns:1fr}.absence-message-preview{position:static}.promotion-layout,.catalog-layout,.release-builder-layout{grid-template-columns:1fr}.catalog-layout>aside{border-right:0;border-bottom:1px solid var(--slate-200);max-height:230px}.catalog-area-list{grid-template-columns:repeat(2,minmax(0,1fr))}.shift-review-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.pilot-reset-filters,.pilot-reset-sections{grid-template-columns:repeat(2,minmax(0,1fr))}.pilot-reset-counts{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=620px){.operation-dialog,.catalog-dialog,.shift-review-dialog,.release-dialog{border:0;border-radius:0;width:100vw;min-height:100vh;max-height:100vh}.absence-message-layout,.special-student-selector,.special-case-editor{padding:12px}.absence-message-editor-heading,.threshold-input,.absence-message-dialog>footer>div{flex-direction:column;align-items:stretch}.threshold-input input{width:100%}.operation-dialog>header,.operation-dialog>footer{padding:14px}.operation-dialog>footer{flex-direction:column;align-items:stretch}.operation-dialog>footer>span,.operation-dialog>footer>strong{margin-right:0}.operation-form-grid,.student-export-filters,.catalog-hospital-fields,.catalog-area-fields,.pilot-reset-filters,.pilot-reset-sections,.pilot-reset-counts{grid-template-columns:1fr}.pilot-reset-wide-field{grid-column:auto}.pilot-reset-body{padding:12px}.pilot-reset-step-heading,.pilot-reset-backup-row{flex-direction:column;align-items:stretch}.promotion-layout,.release-builder-layout{padding:12px}.release-editor-basics,.release-editor-two-columns,.release-signature-upload-grid{grid-template-columns:1fr}.release-editor-basics label:nth-child(2){grid-column:auto}.promotion-filter-row{grid-template-columns:1fr 1fr}.promotion-filter-row .text-button{grid-column:1/-1}.catalog-layout>main{padding:12px}.catalog-area-list,.shift-review-summary,.release-preview-metrics{grid-template-columns:1fr 1fr}.release-document-preview{min-height:520px;max-height:none;padding:0}.release-preview-route-grid.hospitals-2,.release-preview-route-grid.hospitals-3,.release-preview-areas.many{grid-template-columns:1fr}.release-preview-signatures{gap:16px}}.daily-followup-hero{background:linear-gradient(120deg,#fff7f7 0%,#fff 62%,#fdf0f0 100%);border:1px solid #f4c6c6;border-radius:18px;padding:24px 28px;position:relative;overflow:hidden}.daily-followup-hero.observations{background:linear-gradient(120deg,#f4fbff 0%,#fff 62%,#edf8fd 100%);border-color:#bddff0}.daily-followup-heading{justify-content:space-between;align-items:end;gap:24px;margin-top:18px;display:flex}.daily-followup-heading>div>span,.daily-followup-toolbar>div:first-child>span{color:var(--teal-700);letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:900}.daily-followup-heading h1{color:var(--navy-950);letter-spacing:-.04em;margin:6px 0 4px;font-size:clamp(28px,4vw,42px)}.daily-followup-heading p{color:var(--slate-500);margin:0;font-size:13px}.daily-followup-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px;display:grid}.daily-followup-metrics article{border:1px solid var(--slate-200);background:#fff;border-radius:14px;flex-direction:column;justify-content:center;min-height:118px;padding:18px 20px;display:flex}.daily-followup-metrics span,.daily-followup-metrics small{color:var(--slate-500);font-size:12px}.daily-followup-metrics strong{color:var(--navy-950);margin:3px 0;font-size:28px}.daily-followup-card{margin-top:18px}.daily-followup-toolbar{justify-content:space-between;align-items:end;gap:22px;padding-bottom:16px;display:flex}.daily-followup-toolbar h2{color:var(--navy-950);margin:5px 0 0;font-size:21px}.daily-followup-filters{grid-template-columns:minmax(260px,1.25fr) minmax(210px,.75fr);gap:10px;width:min(620px,100%);display:grid}.daily-followup-filters select{border:1px solid var(--slate-200);min-height:42px;color:var(--navy-950);background:#fff;border-radius:8px;padding:0 12px}.daily-followup-table{table-layout:fixed;min-width:1240px}.daily-followup-table th:first-child{width:23%}.daily-followup-table th:nth-child(2){width:11%}.daily-followup-table th:nth-child(3),.daily-followup-table th:nth-child(4){width:15%}.daily-followup-table th:nth-child(5){width:23%}.daily-followup-table th:nth-child(6){width:13%}.daily-followup-table .student{align-items:flex-start;min-width:0}.daily-followup-table td{vertical-align:top;white-space:normal;overflow-wrap:anywhere;word-break:normal}.daily-followup-table td>strong,.daily-followup-table td>small{display:block}.daily-followup-table td>small{max-width:none;color:var(--slate-500);white-space:normal;overflow-wrap:anywhere;margin-top:4px;line-height:1.45}.daily-followup-table .student strong,.daily-followup-table .student small,.daily-followup-description,.daily-followup-registration-meta{white-space:normal;overflow-wrap:anywhere}.daily-followup-description{line-height:1.55!important}.daily-followup-registration-cell{min-width:0}.daily-followup-registration-meta{line-height:1.5!important}.daily-followup-status{border-radius:999px;align-items:center;padding:5px 9px;font-size:10px;font-weight:900;display:inline-flex}.daily-followup-status.alert{color:#b4232f;background:#fff0f0}.daily-followup-status.note{color:#087790;background:#eaf7fb}.daily-followup-empty{border:1px dashed var(--slate-200);background:var(--slate-50);text-align:left;border-radius:12px;justify-content:center;align-items:center;gap:14px;min-height:220px;display:flex}.daily-followup-empty>span{width:42px;height:42px;color:var(--teal-700);background:#fff;border-radius:50%;place-items:center;font-size:18px;font-weight:900;display:grid}.daily-followup-empty>div{flex-direction:column;gap:4px;display:flex}.daily-followup-empty small{color:var(--slate-500)}.absence-risk-kpi{background:linear-gradient(135deg,#fffdf8,#fff);border-color:#efcf9a}.absence-risk-kpi .kpi-icon{font-size:24px;font-weight:900}.absence-risk-hero{background:linear-gradient(120deg,#fff9ed 0%,#fff 62%,#fff5dd 100%);border:1px solid #efcf9a;border-radius:18px;padding:24px 28px;position:relative;overflow:hidden}.absence-risk-hero .daily-followup-heading>div>span,.absence-risk-toolbar>div:first-child>span{color:#9a6300}.absence-risk-period{color:#825400;background:#fff;border:1px solid #e6bd74;border-radius:999px;align-items:center;padding:8px 12px;font-size:11px;font-weight:850;display:inline-flex}.absence-risk-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:18px;display:grid}.absence-risk-metrics article{border:1px solid var(--slate-200);background:#fff;border-radius:14px;flex-direction:column;justify-content:center;min-height:118px;padding:18px 20px;display:flex}.absence-risk-metrics article.pending{background:snow;border-color:#efc5c5}.absence-risk-metrics article.tracking{background:#f7fcfb;border-color:#badeda}.absence-risk-metrics article.seen{background:#fafcff;border-color:#cbd9e7}.absence-risk-metrics span,.absence-risk-metrics small{color:var(--slate-500);font-size:11px;line-height:1.4}.absence-risk-metrics strong{color:var(--navy-950);margin:3px 0;font-size:28px}.absence-risk-card{margin-top:18px}.absence-risk-toolbar{justify-content:space-between;align-items:end;gap:22px;padding-bottom:16px;display:flex}.absence-risk-toolbar>div:first-child>span{letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:900}.absence-risk-toolbar h2{color:var(--navy-950);margin:5px 0 0;font-size:21px}.absence-risk-filters{grid-template-columns:minmax(300px,1.4fr) minmax(190px,.6fr);gap:10px;width:min(690px,100%);display:grid}.absence-risk-filters select{border:1px solid var(--slate-200);min-height:42px;color:var(--navy-950);background:#fff;border-radius:8px;padding:0 12px}.absence-risk-error{margin:0 0 14px}.absence-risk-table{table-layout:fixed;min-width:1380px}.absence-risk-table th:first-child{width:22%}.absence-risk-table th:nth-child(2){width:17%}.absence-risk-table th:nth-child(3){width:12%}.absence-risk-table th:nth-child(4){width:14%}.absence-risk-table th:nth-child(5){width:20%}.absence-risk-table th:nth-child(6){width:15%}.absence-risk-table td{vertical-align:top;white-space:normal;overflow-wrap:anywhere}.absence-risk-student-row{cursor:pointer}.absence-risk-student-row:hover{background:var(--teal-50)}.absence-risk-student-row:focus-visible{outline:3px solid var(--teal-600);outline-offset:-3px}.absence-risk-table td>strong,.absence-risk-table td>small{display:block}.absence-risk-table td>small{color:var(--slate-500);margin-top:4px;line-height:1.45}.absence-risk-total{color:#b4232f;font-size:24px}.absence-risk-status{border-radius:999px;padding:5px 9px;font-size:10px;font-weight:900;display:inline-flex}.absence-risk-status.pending{color:#a8202c;background:#ffe7e7}.absence-risk-status.tracking{color:#126a55;background:#ddf5ef}.absence-risk-status.seen{color:#365a78;background:#e9f0f7}.absence-risk-reviewer{color:var(--slate-600);margin-top:7px;font-size:10px;line-height:1.45;display:block}.absence-risk-actions{flex-direction:column;align-items:stretch;gap:6px;display:flex}.absence-risk-seen-button,.absence-risk-track-button,.absence-risk-untrack-button{cursor:pointer;border-radius:7px;min-height:34px;padding:6px 9px;font-size:10px;font-weight:850}.absence-risk-seen-button{border:1px solid var(--slate-300);color:var(--navy-900);background:#fff}.absence-risk-track-button{border:1px solid var(--teal-700);background:var(--teal-700);color:#fff}.absence-risk-untrack-button{border:1px solid var(--amber-700);background:var(--amber-100);color:var(--amber-700)}.absence-risk-seen-button:disabled,.absence-risk-track-button:disabled,.absence-risk-untrack-button:disabled{cursor:wait;opacity:.6}.absence-risk-locked{background:var(--teal-50);min-height:34px;color:var(--teal-700);border-radius:7px;justify-content:center;align-items:center;font-size:10px;font-weight:850;display:inline-flex}.audit-log-card{padding:0;overflow:hidden}.audit-log-toolbar{border-bottom:1px solid var(--slate-200);justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.audit-log-toolbar form{flex:1;gap:8px;display:flex}.audit-log-toolbar input{border:1px solid var(--slate-300);width:min(560px,100%);min-height:42px;color:var(--navy-900);font:inherit;border-radius:8px;padding:0 13px}.audit-log-toolbar>span{color:var(--slate-600);white-space:nowrap;font-size:12px;font-weight:800}.audit-log-table th:first-child,.audit-log-table td:first-child{min-width:165px}.audit-log-table th:nth-child(2),.audit-log-table td:nth-child(2){min-width:210px}.audit-log-table th:last-child,.audit-log-table td:last-child{min-width:280px}.audit-action-badge{background:var(--teal-50);color:var(--teal-700);border-radius:999px;padding:6px 10px;font-size:11px;font-weight:850;display:inline-flex}.audit-detail-cell{color:var(--slate-700);overflow-wrap:anywhere;font-size:12px;line-height:1.5}.audit-log-pagination{border-top:1px solid var(--slate-200);justify-content:flex-end;align-items:center;gap:12px;padding:16px 20px;display:flex}.audit-log-pagination strong{color:var(--slate-600);font-size:12px}.history-import-dialog{width:min(1480px,100vw - 36px)}.history-import-content{flex-direction:column;gap:14px;padding:18px;display:flex}.history-import-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.history-import-steps article{border:1px solid var(--slate-200);background:#fff;border-radius:12px;align-items:center;gap:12px;padding:14px;display:flex}.history-import-steps article>span{background:var(--teal-50);width:34px;height:34px;color:var(--teal-700);border-radius:50%;flex:0 0 34px;place-items:center;font-size:14px;font-weight:900;display:grid}.history-import-steps article>div{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.history-import-steps strong,.history-import-file strong{color:var(--navy-950);font-size:13px}.history-import-steps small,.history-import-file small{color:var(--slate-600);font-size:11px}.history-import-file{background:var(--teal-50);border:1px solid #b9dcd9;border-radius:11px;align-items:center;gap:12px;padding:12px 14px;display:flex}.history-import-file>span{background:var(--teal-700);color:#fff;border-radius:7px;padding:7px 8px;font-size:9px;font-weight:900}.history-import-file>div{flex-direction:column;gap:2px;display:flex}.history-import-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;display:grid}.history-import-summary article{border:1px solid var(--slate-200);background:#fff;border-radius:10px;padding:10px 12px}.history-import-summary span,.history-import-summary strong{display:block}.history-import-summary span{color:var(--slate-600);letter-spacing:.04em;text-transform:uppercase;font-size:9px;font-weight:850}.history-import-summary strong{color:var(--navy-950);margin-top:2px;font-size:23px}.history-import-summary .ready{background:var(--green-100);border-color:#a8ddc2}.history-import-summary .ready strong{color:var(--green-700)}.history-import-summary .warning{background:var(--amber-100);border-color:#edd09f}.history-import-summary .warning strong{color:var(--amber-700)}.history-import-summary .nfc{background:#edf7fd;border-color:#b7d6eb}.history-import-summary .nfc strong{color:#176a9b}.history-import-summary .danger{background:var(--red-100);border-color:#efc1c5}.history-import-summary .danger strong{color:var(--red-700)}.history-import-table-wrap{border:1px solid var(--slate-200);background:#fff;border-radius:12px;max-height:390px;overflow:auto}.history-import-table{min-width:1040px}.history-import-table thead{z-index:2;position:sticky;top:0}.history-import-table td:last-child{min-width:250px}.history-import-status{background:var(--slate-100);color:var(--slate-700);text-transform:uppercase;border-radius:999px;margin-bottom:4px;padding:5px 8px;font-size:9px;font-weight:900;display:inline-flex}.history-import-status.status-create,.history-import-status.status-replace_automatic{background:var(--green-100);color:var(--green-700)}.history-import-status.status-duplicate{background:var(--teal-50);color:var(--teal-700)}.history-import-status.status-replace_existing{background:var(--amber-100);color:var(--amber-700)}.history-import-status.status-replace_nfc{color:#176a9b;background:#edf7fd}.history-import-status.status-blocked_authorization,.history-import-status.status-error{background:var(--red-100);color:var(--red-700)}.history-import-table-limit,.history-import-notice,.history-import-success{color:var(--slate-600);margin:0;font-size:11px;line-height:1.5}.history-import-table-limit{border-top:1px solid var(--slate-200);text-align:center;padding:10px 12px}.history-import-notice{color:#285f80;background:#edf7fd;border:1px solid #b7d6eb;border-radius:9px;padding:10px 12px}.history-import-notice.warning{background:var(--amber-100);color:var(--amber-700);border-color:#edd09f}.history-import-reason{color:var(--navy-950);flex-direction:column;gap:6px;font-size:11px;font-weight:850;display:flex}.history-import-reason textarea{resize:vertical;border:1px solid var(--slate-300);color:var(--navy-950);font:inherit;background:#fff;border-radius:9px;padding:10px 12px;font-weight:500}.history-import-overwrite{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.history-import-overwrite label{background:var(--amber-100);border:1px solid #edd09f;border-radius:10px;align-items:flex-start;gap:9px;padding:11px;display:flex}.history-import-overwrite label.danger{background:var(--red-100);border-color:#efc1c5}.history-import-overwrite input{margin-top:3px}.history-import-overwrite span{flex-direction:column;gap:3px;display:flex}.history-import-overwrite strong{color:var(--navy-950);font-size:11px}.history-import-overwrite small{color:var(--slate-600);font-size:10px;line-height:1.4}.history-import-success{background:var(--green-100);color:var(--green-700);border:1px solid #a8ddc2;border-radius:9px;padding:10px 12px;font-weight:800}.daily-absences-hero{margin-bottom:18px}.daily-absences-actions{align-items:flex-end;gap:12px;display:flex}.daily-absences-date{color:var(--slate-700);gap:6px;font-size:11px;font-weight:750;display:grid}.daily-absences-date input,.daily-absences-filters select{border:1px solid var(--slate-300);min-height:39px;color:var(--navy-900);background:#fff;border-radius:7px;padding:0 10px}.daily-absences-filters{grid-template-columns:minmax(260px,1.7fr) repeat(4,minmax(150px,1fr));gap:10px;margin:20px 0 16px;display:grid}.daily-absences-filters .search-box{min-width:0}.daily-absences-table{table-layout:fixed;width:100%;min-width:0}.daily-absences-table th,.daily-absences-table td{white-space:normal;overflow-wrap:anywhere;padding:11px 7px;font-size:11px;line-height:1.4}.daily-absences-table th:first-child{width:21%}.daily-absences-table th:nth-child(2){width:6%}.daily-absences-table th:nth-child(3){width:5%}.daily-absences-table th:nth-child(4){width:12%}.daily-absences-table th:nth-child(5){width:10%}.daily-absences-table th:nth-child(6){width:6%}.daily-absences-table th:nth-child(7){width:14%}.daily-absences-table th:nth-child(8){width:16%}.daily-absences-table th:nth-child(9){width:10%}.daily-absence-type{background:var(--red-100);color:var(--red-700);border:1px solid #f0b8bd;border-radius:999px;padding:4px 7px;font-size:10px;font-weight:800;line-height:1.25;display:inline-flex}.daily-absences-table .student{gap:8px;min-width:0}.daily-absences-table .student-avatar{flex-basis:32px;width:32px;height:32px}.daily-absences-table .student strong,.daily-absences-table .student small{white-space:normal;overflow-wrap:anywhere;font-size:11px}.daily-absences-table .student small{font-size:10px}.daily-absences-table a{color:var(--teal-700);font-weight:700;text-decoration:none}.daily-absences-error{margin:0 0 15px}@media (width<=1100px){.daily-absences-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-absences-filters .search-box{grid-column:1/-1}}@media (width<=850px){.daily-followup-heading,.daily-followup-toolbar,.absence-risk-toolbar{flex-direction:column;align-items:stretch}.daily-followup-metrics,.daily-followup-filters,.absence-risk-metrics,.absence-risk-filters{grid-template-columns:1fr}.daily-followup-hero,.absence-risk-hero{padding:20px}.daily-absences-actions{flex-direction:column;align-items:stretch}.daily-absences-filters{grid-template-columns:1fr}.daily-absences-card .wide-table-wrap{overflow-x:visible}.daily-absences-table,.daily-absences-table tbody,.daily-absences-table tr,.daily-absences-table td{width:100%;display:block}.daily-absences-table thead{display:none}.daily-absences-table tbody tr{border-bottom:1px solid var(--slate-200);grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px;padding:8px 0;display:grid}.daily-absences-table tbody td{border-top:0;padding:7px 5px}.daily-absences-table tbody td:first-child{grid-column:1/-1}.daily-absences-table tbody td:not(:first-child):before{color:var(--slate-500);content:attr(data-label);margin-bottom:2px;font-size:10px;font-weight:750;display:block}.audit-log-toolbar,.audit-log-toolbar form{flex-direction:column;align-items:stretch}.audit-log-toolbar input{width:100%}.audit-log-pagination{justify-content:space-between}.history-import-steps,.history-import-summary,.history-import-overwrite{grid-template-columns:1fr}.history-import-steps article{flex-wrap:wrap;align-items:flex-start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.instructor-tracking{gap:20px;padding-bottom:28px;display:grid}.tracking-hero{border:1px solid var(--slate-200);background:linear-gradient(135deg,#f2fbfa,#fff 64%);border-radius:16px;justify-content:space-between;align-items:center;gap:22px;padding:24px 26px;display:flex}.tracking-hero>div:first-child>span,.tracking-panel-heading>div>span{color:var(--teal-700);letter-spacing:1.1px;text-transform:uppercase;font-size:11px;font-weight:800}.tracking-hero h1{color:var(--navy-950);margin:5px 0 4px;font-size:clamp(25px,3vw,35px)}.tracking-hero p,.tracking-privacy{color:var(--slate-500);margin:0;font-size:13px}.tracking-actions{align-items:end;gap:11px;display:flex}.tracking-download-button{color:#fff;white-space:nowrap;justify-content:center;align-items:center;min-height:39px;padding:0 14px;text-decoration:none;display:inline-flex}.tracking-actions label,.tracking-zone-editor label{color:var(--navy-700);gap:5px;font-size:11px;font-weight:700;display:grid}.tracking-actions input,.tracking-zone-editor input,.tracking-zone-editor select,.tracking-hospital-filter{border:1px solid var(--slate-300);min-height:39px;color:var(--navy-950);background:#fff;border-radius:8px;padding:0 11px}.tracking-error{background:var(--red-100);color:var(--red-700);border:1px solid #efb0b6;border-radius:9px;padding:12px 15px}.tracking-zone-editor{grid-template-columns:minmax(200px,1.2fr) repeat(4,minmax(115px,1fr));align-items:end;gap:13px;padding:19px;display:grid}.tracking-zone-editor>div:first-child{grid-column:1/-1;gap:3px;display:grid}.tracking-zone-editor>div:first-child strong{color:var(--navy-950)}.tracking-zone-editor>div:first-child small{color:var(--slate-500)}.tracking-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;display:grid}.tracking-metrics article{border:1px solid var(--slate-200);background:#fff;border-radius:13px;gap:4px;min-width:0;padding:17px;display:grid}.tracking-metrics article>span{color:var(--navy-700);font-size:13px}.tracking-metrics article>strong{color:var(--navy-950);font-size:34px;line-height:1}.tracking-metrics article>small{color:var(--slate-500)}.tracking-metrics article.positive>strong{color:var(--green-700)}.tracking-metrics article.negative>strong{color:var(--red-700)}.tracking-metrics article.warning>strong{color:var(--amber-700)}.tracking-layout{grid-template-columns:minmax(320px,.88fr) minmax(0,1.38fr);align-items:start;gap:17px;display:grid}.tracking-list,.tracking-map-card{gap:14px;padding:18px;display:grid}.tracking-panel-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.tracking-panel-heading h2,.tracking-panel-heading h3{color:var(--navy-950);margin:4px 0 0;font-size:19px}.tracking-hospital-filter{width:100%}.tracking-records{gap:9px;max-height:630px;display:grid;overflow-y:auto}.tracking-record{border:1px solid var(--slate-200);color:var(--navy-700);text-align:left;cursor:pointer;background:#fff;border-radius:10px;gap:5px;padding:13px;display:grid}.tracking-record.selected{border-color:var(--teal-600);background:var(--teal-50)}.tracking-record>div{justify-content:space-between;align-items:center;gap:7px;display:flex}.tracking-record>div>strong{color:var(--navy-950);font-size:13px}.tracking-record>span,.tracking-record>small{font-size:11px}.tracking-record>small{color:var(--slate-500)}.tracking-status{background:var(--slate-100);width:max-content;max-width:100%;color:var(--slate-700);white-space:nowrap;border-radius:999px;padding:4px 7px;font-size:10px;font-weight:700;display:inline-flex}.tracking-status.inside{background:var(--green-100);color:var(--green-700)}.tracking-status.outside{background:var(--red-100);color:var(--red-700)}.tracking-status.waiting,.tracking-status.stale,.tracking-status.no_zone{background:var(--amber-100);color:var(--amber-700)}.tracking-map{border:1px solid var(--slate-200);border-radius:10px;width:100%;height:340px}.tracking-map-empty{border:1px dashed var(--slate-300);min-height:260px;color:var(--slate-500);text-align:center;border-radius:10px;place-items:center;padding:24px;display:grid}.tracking-map-footer{color:var(--slate-500);justify-content:space-between;align-items:center;gap:9px;font-size:11px;display:flex}.tracking-map-footer a{color:var(--teal-700);font-weight:700;text-decoration:none}.tracking-history{border-top:1px solid var(--slate-200);gap:10px;padding-top:12px;display:grid}.tracking-history-list{gap:6px;max-height:310px;display:grid;overflow-y:auto}.tracking-history-list>div{border-bottom:1px solid var(--slate-100);grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px;font-size:11px;display:grid}.tracking-history-list>div>strong{color:var(--navy-950)}.tracking-history-list>div>span:nth-child(2){color:var(--slate-700);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tracking-empty{color:var(--slate-500);text-align:center;padding:20px 12px;font-size:12px}.tracking-privacy{padding:0 3px}@media (width<=940px){.tracking-hero{flex-direction:column;align-items:flex-start}.tracking-zone-editor,.tracking-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.tracking-layout{grid-template-columns:minmax(0,1fr)}}@media (width<=560px){.tracking-hero{padding:17px}.tracking-actions{flex-wrap:wrap;width:100%}.tracking-metrics article{padding:12px}.tracking-metrics article>span{font-size:11px}.tracking-zone-editor{grid-template-columns:minmax(0,1fr)}.tracking-record>div{flex-direction:column;align-items:flex-start}.tracking-map{height:245px}}.student-games-admin-card{background:linear-gradient(145deg,#f2fbf9,#fff 55%);border-color:#b8ddd8;gap:15px;margin-bottom:20px;display:grid}.student-games-admin-card .settings-card-description{margin:0}.student-games-admin-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.student-games-admin-summary article{border:1px solid var(--slate-200);background:#fff;border-radius:11px;gap:4px;padding:14px 16px;display:grid}.student-games-admin-summary article strong{color:var(--navy-950);font-size:27px;line-height:1}.student-games-admin-summary article span{color:var(--slate-500);font-size:11px}.student-games-admin-controls{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:13px;display:grid}.student-games-admin-controls label{color:var(--navy-700);gap:6px;font-size:11px;font-weight:750;display:grid}.student-games-admin-controls input,.student-games-admin-controls select{border:1px solid var(--slate-300);min-height:40px;color:var(--navy-950);background:#fff;border-radius:8px;padding:0 11px}.student-games-admin-footer{margin-top:2px}.student-games-reset-button{background:#be3240}.student-games-reset-button:hover{background:#9f2633}@media (width<=620px){.student-games-admin-summary{grid-template-columns:minmax(0,1fr)}.student-games-admin-footer{flex-direction:column;align-items:stretch}.student-games-admin-footer button{width:100%}}.student-sanction-summary{color:#704020;background:#faf5ef;border:1px solid #d6b89f;border-left:4px solid #704020;border-radius:10px;gap:5px;margin:14px 0;padding:13px 17px;display:grid}.student-sanction-summary strong{font-size:15px}.student-sanction-summary>span{font-size:12px;line-height:1.5}.student-request-management{background:#fff;border:1px solid #c9dce4;border-radius:10px;margin:14px 0;overflow:hidden}.student-request-management>header{background:#f2f8fa;border-bottom:1px solid #dce7ec;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding:15px 17px;display:flex}.student-request-management>header>div{min-width:0}.student-request-management>header span{color:#008184;text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px;font-size:12px;font-weight:800;display:block}.student-request-management>header h3{color:#05344f;margin:0;font-size:16px;line-height:1.4}.student-request-management>header p{color:#526b7a;max-width:720px;margin:4px 0 0;font-size:14px;line-height:1.5}.student-request-management>header b{color:#08636c;background:#e3f2f4;border-radius:999px;flex:none;padding:6px 10px;font-size:12px}.student-request-management-state{color:#5a7180;padding:18px 17px;font-size:14px}.student-request-management-feedback{border-radius:8px;margin:12px 17px;padding:10px 12px;font-size:14px;line-height:1.5}.student-request-management-feedback.error{color:#972c36;background:#fff1f2;border:1px solid #efc1c5}.student-request-management-feedback.success{color:#17663d;background:#ecf8f1;border:1px solid #bfe2cd}.student-request-management-list{overscroll-behavior:contain;max-height:480px;overflow-y:auto}.student-request-management-list>article{border-bottom:1px solid #e2ebef}.student-request-management-list>article:last-child{border-bottom:0}.student-request-management-summary{grid-template-columns:minmax(220px,1.3fr) minmax(180px,.9fr) auto;align-items:center;gap:16px;padding:15px 17px;display:grid}.student-request-management-summary>div{gap:4px;min-width:0;display:grid}.student-request-management-summary>div>span:not(.replacement-status){color:#5b7280;font-size:12px}.student-request-management-summary strong{color:#083850;overflow-wrap:anywhere;font-size:14px;line-height:1.45}.student-request-management-summary small{color:#526b7a;overflow-wrap:anywhere;font-size:12px;line-height:1.5}.student-request-management-summary .replacement-status{width:fit-content;margin-bottom:2px}.replacement-status.status-cancelada{color:#52606a;background:#eef1f3}.replacement-status.status-no-asistio{color:#704020;background:#f3e7dc}.student-request-cancel-button{color:#a42c36;white-space:nowrap;background:#fff7f7;border:1px solid #dcabb0;border-radius:7px;min-height:38px;padding:8px 12px;font-size:14px;font-weight:750}.student-request-cancel-button:hover{background:#ffeded;border-color:#c66c75}.student-request-sanction-button{color:#086b65;white-space:nowrap;background:#effaf8;border:1px solid #77bcb6;border-radius:7px;min-height:38px;padding:8px 12px;font-size:14px;font-weight:750}.student-request-sanction-button:hover{background:#e2f6f3;border-color:#3d9e96}.student-request-resolution-note{color:#566d7a;white-space:pre-wrap;border-left:3px solid #c8d8df;margin:-3px 17px 14px;padding-left:10px;font-size:12px;line-height:1.5}.student-request-sanction-note{color:#496365;white-space:pre-wrap;background:#f5f8f8;border-left:3px solid #98aaa9;border-radius:0 7px 7px 0;gap:3px;margin:-3px 17px 14px;padding:9px 11px;font-size:12px;line-height:1.5;display:grid}.student-request-sanction-note.active{color:#75451d;background:#fff7ed;border-left-color:#d18a47}.student-request-sanction-note.withdrawn{color:#28675d;background:#f0faf7;border-left-color:#50a092}.student-request-sanction-note strong{font-size:13px}.student-request-sanction-note small{color:inherit;opacity:.8}.student-request-cancellation-form{gap:12px;padding:0 17px 17px;display:grid}.student-request-cancellation-form label{color:#183f52;gap:6px;font-size:14px;font-weight:750;display:grid}.student-request-cancellation-form textarea{resize:vertical;color:#102f40;width:100%;min-height:82px;font:inherit;background:#fff;border:1px solid #bdced6;border-radius:8px;padding:10px 12px;line-height:1.5}.student-request-cancellation-form label small{color:#687d88;justify-self:end;font-size:12px;font-weight:500}.student-request-cancellation-form .student-request-delete-option small{color:#6f514d;justify-self:stretch;font-size:11px}.student-request-cancellation-form>div{justify-content:space-between;align-items:center;gap:14px;display:flex}.student-request-cancellation-form>.student-request-delete-confirmation{justify-content:flex-start;align-items:flex-start}.student-request-cancellation-form>div>small{color:#526b7a;max-width:620px;font-size:12px;line-height:1.5}.student-request-cancellation-form>div>div{flex:none;gap:8px;display:flex}@media (width<=780px){.student-request-management-summary{grid-template-columns:minmax(0,1fr)}.student-request-cancel-button,.student-request-sanction-button{white-space:normal;width:100%}.student-request-cancellation-form>div{flex-direction:column;align-items:stretch}.student-request-cancellation-form>div>div{grid-template-columns:minmax(0,1fr);display:grid}}.special-practice-outcome{white-space:normal;border-radius:3px;width:fit-content;max-width:100%;margin-top:3px;padding:2px 4px;font-size:10px;font-style:normal;font-weight:800;line-height:1.4;display:block}.special-practice-outcome.outcome-unfulfilled{color:#704020;background:#f3e7dc}.special-practice-outcome.outcome-present{color:#086b3d;background:#e5f5ec}.special-practice-shift-result{white-space:normal;font-weight:700;display:block}.profile-day-unfulfilled .profile-day-status,.profile-day-unfulfilled>strong{color:#704020;background:#f3e7dc}.profile-legend-unfulfilled,.student-legend-unfulfilled{background:#704020}.selected-clinical-day.selected-unfulfilled{background:#faf5ef;border-color:#d6b89f #d6b89f #d6b89f #704020}.student-month-grid button.student-day-unfulfilled>span{color:#704020;white-space:normal;background:#f3e7dc;border-color:#704020!important}.student-day-status.status-unfulfilled{color:#704020;background:#f3e7dc;border-color:#d6b89f}.student-special-practice-panel{background:#fff;border:1px solid #cddfe6;border-radius:10px;margin:14px 0;overflow:hidden}.student-special-practice-panel>h3{color:#05344f;background:#f2f8fa;border-bottom:1px solid #dce7ec;margin:0;padding:14px 17px;font-size:16px;font-weight:750}.student-special-practice-list{overscroll-behavior:contain;max-height:360px;overflow-y:auto}.student-special-practice-list:focus-visible{outline-offset:-2px;outline:2px solid #008f92}.student-special-practice-row{border-bottom:1px solid #e2ebef;grid-template-columns:1fr 1fr 1.8fr 1.15fr 1.3fr;gap:14px;padding:15px 17px;display:grid}.student-special-practice-row:last-child{border-bottom:0}.student-special-practice-row>div{overflow-wrap:anywhere;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;display:flex}.student-special-practice-row strong{color:#05344f;font-size:14px;line-height:1.5}.student-special-practice-row>div>span:not(.special-practice-outcome),.student-special-practice-row small,.student-special-history-result small{color:#526b7a;font-size:12px;line-height:1.5}.student-special-practice-row .special-practice-outcome,.student-special-history-result .special-practice-outcome{padding:3px 7px;font-size:14px}.student-special-history-result{gap:3px;display:grid}.special-practice-outcome.outcome-scheduled{color:#165c9a;background:#e8f2fc}.special-practice-outcome.outcome-incident{color:#91500a;background:#fff0dd}.special-practice-outcome.outcome-dayoff{color:#087d78;background:#e5f7f5}@media (width<=900px){.student-special-practice-row{grid-template-columns:1fr 1fr}.student-special-practice-row>div:nth-child(3){grid-column:1/-1}}.student-administrative-information{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0;display:grid}.student-information-card{background:#fff;border:1px solid #ccdee5;border-radius:10px;min-width:0;padding:17px}.student-information-card>header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.student-information-card h3{color:#07344e;margin:0;font-size:16px;font-weight:700;line-height:1.4}.student-information-status{white-space:nowrap;border-radius:6px;padding:5px 9px;font-size:14px;font-weight:750;display:inline-flex}.student-information-status.current{color:#0c7145;background:#e5f6ed}.student-information-status.with-notes{color:#865011;background:#fff1dc}.student-information-card>p,.student-information-note>p{color:#173e52;font-size:14px;line-height:1.6}.student-information-empty{margin:12px 0}.student-information-notes{max-height:320px;margin-top:12px;display:grid;overflow-y:auto}.student-information-note{border-top:1px solid #e0eaef;padding:12px 0}.student-information-note>p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 8px}.student-information-highlight{color:inherit;-webkit-box-decoration-break:clone;box-decoration-break:clone;background:linear-gradient(#0000 14%,#ccff90 14% 90%,#0000 90%);border-radius:3px;padding:0 .15em}.student-information-note>small{color:#5c7481;font-size:12px;line-height:1.6;display:block}.student-information-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.student-information-actions button{min-height:34px;padding:6px 12px;font-size:14px}.student-information-delete{color:#ad2d39;background:#fff7f7;border:1px solid #e6b4b9;border-radius:6px}.student-information-editor{background:#f5fbfc;border:1px solid #b8d9df;border-radius:10px;gap:10px;margin-bottom:14px;padding:17px;display:grid}.student-information-editor label{color:#07344e;font-size:14px;font-weight:700}.student-information-editor textarea{box-sizing:border-box;resize:vertical;width:100%;min-height:130px;font:inherit;color:#123448;background:#fff;border:1px solid #b5cdd7;border-radius:6px;padding:12px;font-size:16px}.student-information-feedback{color:#1a6257;margin:10px 0;font-size:14px;line-height:1.6}@media (width<=720px){.student-administrative-information{grid-template-columns:1fr}}.student-instructor-evaluation{color:#173e52;background:#fff;border:1px solid #ccdee5;border-radius:10px;min-width:0;margin-top:20px;padding:18px}.student-instructor-evaluation>header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.student-instructor-evaluation h3{color:#07344e;margin:0;font-size:16px;font-weight:700;line-height:1.5}.student-instructor-evaluation>p{margin:14px 0 0;font-size:14px;line-height:1.6}.instructor-evaluation-list{gap:16px;margin-top:16px;display:grid}.instructor-evaluation-entry{border-top:1px solid #dce8ed;min-width:0;padding-top:14px}.instructor-evaluation-author{overflow-wrap:anywhere;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 14px;font-size:14px;line-height:1.6;display:flex}.instructor-evaluation-author span{color:#5c7481}.instructor-evaluation-overview{grid-template-columns:minmax(250px,.9fr) minmax(0,1.1fr);align-items:center;gap:18px;margin-top:14px;display:grid}.instructor-evaluation-criteria,.instructor-evaluation-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;display:grid}.instructor-evaluation-fields{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:14px}.instructor-evaluation-criteria>div{background:#f8fbfc;border:1px solid #dce8ed;border-radius:8px;min-width:0;padding:10px}.instructor-evaluation-criteria>div:last-child:nth-child(odd){grid-column:1/-1}.instructor-evaluation-criteria dt{color:#4e6977;font-size:14px;line-height:1.5}.instructor-evaluation-criteria>.instructor-evaluation-improvement-inline{background:#f8fce9;border-color:#d8e7be}.instructor-evaluation-improvement-inline dd{color:#173e52;white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 0;font-size:14px;line-height:1.5}.instructor-evaluation-rating{border-radius:6px;margin:6px 0 0;padding:5px 10px;font-size:16px;font-weight:700;line-height:1.5;display:inline-block}.instructor-evaluation-rating.rating-excelente{color:#0c7145;background:#e5f6ed}.instructor-evaluation-rating.rating-buena{color:#165d91;background:#e8f3fd}.instructor-evaluation-rating.rating-regular{color:#865011;background:#fff1dc}.instructor-evaluation-rating.rating-mala{color:#a62d3a;background:#fdecee}.instructor-evaluation-rating.rating-pending{color:#5c7481;background:#edf2f4}.instructor-skill-pentagon{background:#f3fbfa;border:1px solid #c9e3e1;border-radius:10px;min-width:0;padding:12px}.instructor-skill-pentagon h4{color:#073f4a;text-align:center;margin:0;font-size:14px;font-weight:700;line-height:1.5}.instructor-skill-pentagon svg{width:100%;max-width:390px;height:auto;margin:2px auto 0;display:block;overflow:visible}.instructor-skill-ring{fill:none;stroke:#b8d9d7;stroke-width:1px}.instructor-skill-axis{stroke:#c9dfdf;stroke-width:1px}.instructor-skill-value{fill:#008f923d;stroke:#008f92;stroke-width:3px;stroke-linejoin:round}.instructor-skill-point{fill:#fff;stroke:#007d80;stroke-width:3px}.instructor-skill-rating-marker{fill:#042e38;stroke:#fff;stroke-width:2px}.instructor-skill-rating-initial{fill:#fff;letter-spacing:0;pointer-events:none;font-family:Arial,sans-serif;font-size:20px;font-weight:900}.instructor-skill-label{fill:#244f5b;font-size:13px;font-weight:700}.instructor-evaluation-entry .instructor-evaluation-edited{color:#5c7481;margin:12px 0 0;font-size:14px;line-height:1.6}.instructor-evaluation-editor{background:#f5fbfc;border:1px solid #b8d9df;border-radius:8px;margin-top:16px;padding:16px}.instructor-evaluation-editor h4{color:#07344e;margin:0;font-size:16px;font-weight:700}.instructor-evaluation-fields label{gap:8px;min-width:0;font-size:14px;font-weight:700;display:grid}.instructor-evaluation-fields select{box-sizing:border-box;width:100%;min-height:44px;font:inherit;color:#173e52;background:#fff;border:1px solid #b5cdd7;border-radius:6px;padding:9px;font-size:16px;font-weight:400}.instructor-evaluation-writing{gap:8px;margin-top:16px;display:grid}.instructor-evaluation-writing label,.instructor-evaluation-written h4{color:#07344e;margin:0;font-size:14px;font-weight:700;line-height:1.5}.instructor-evaluation-writing textarea{box-sizing:border-box;width:100%;min-height:140px;font:inherit;color:#173e52;resize:vertical;background:#fff;border:1px solid #b5cdd7;border-radius:6px;padding:12px;font-size:16px;line-height:1.6}.instructor-evaluation-writing small{color:#5c7481;text-align:right;font-size:12px}.instructor-evaluation-written{background:#f5fafb;border:1px solid #dce8ed;border-radius:8px;margin-top:16px;padding:14px}.instructor-evaluation-written p{color:#173e52;white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0;font-size:16px;line-height:1.65}.instructor-evaluation-improvement-editor{border-top:1px solid #cfe0e4;padding-top:14px}@media (width<=980px){.instructor-evaluation-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.instructor-evaluation-overview,.instructor-evaluation-criteria,.instructor-evaluation-fields{grid-template-columns:1fr}.instructor-evaluation-criteria>div:last-child:nth-child(odd){grid-column:auto}}.student-instructor-evaluation.is-compact{margin-top:0;padding:14px}.student-instructor-evaluation.is-compact h3{font-size:15px}.student-instructor-evaluation.is-compact .instructor-evaluation-list{gap:12px;margin-top:12px}.student-instructor-evaluation.is-compact .instructor-evaluation-entry{padding-top:10px}.student-instructor-evaluation.is-compact .instructor-evaluation-author{font-size:13px;line-height:1.45}.student-instructor-evaluation.is-compact .instructor-evaluation-overview{grid-template-columns:minmax(200px,.65fr) minmax(0,1.35fr);gap:12px;margin-top:10px}.student-instructor-evaluation.is-compact .instructor-skill-pentagon{padding:8px}.student-instructor-evaluation.is-compact .instructor-skill-pentagon h4{font-size:13px}.student-instructor-evaluation.is-compact .instructor-skill-pentagon svg{max-width:240px}.student-instructor-evaluation.is-compact .instructor-evaluation-criteria{gap:8px}.student-instructor-evaluation.is-compact .instructor-evaluation-criteria>div{padding:8px}.student-instructor-evaluation.is-compact .instructor-evaluation-criteria dt{font-size:12px;line-height:1.35}.student-instructor-evaluation.is-compact .instructor-evaluation-rating{margin-top:4px;padding:4px 7px;font-size:14px;line-height:1.35}.student-instructor-evaluation.is-compact .instructor-evaluation-improvement-inline dd{margin-top:4px;font-size:13px;line-height:1.4}.student-instructor-evaluation.is-compact .instructor-evaluation-written{margin-top:10px;padding:10px 12px}.student-instructor-evaluation.is-compact .instructor-evaluation-written p{margin-top:5px;font-size:14px;line-height:1.5}.student-instructor-evaluation.is-compact .instructor-evaluation-entry .instructor-evaluation-edited{margin-top:8px;font-size:12px;line-height:1.45}@media (width<=720px){.student-instructor-evaluation.is-compact .instructor-evaluation-overview{gap:10px}.student-instructor-evaluation.is-compact .instructor-evaluation-criteria{grid-template-columns:repeat(2,minmax(0,1fr))}.student-instructor-evaluation.is-compact .instructor-evaluation-criteria>div:last-child:nth-child(odd){grid-column:1/-1}.student-instructor-evaluation.is-compact .instructor-skill-pentagon svg{max-width:220px}}@media (width<=420px){.student-instructor-evaluation.is-compact .instructor-evaluation-criteria{grid-template-columns:1fr}.student-instructor-evaluation.is-compact .instructor-evaluation-criteria>div:last-child:nth-child(odd){grid-column:auto}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
