@import"https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap";.attendance-contacts{width:100%;max-width:1200px;margin:0 auto;padding:24px;color:var(--ink, #112d33);background:#fff}.attendance-contacts,.attendance-contacts *{box-sizing:border-box}.attendance-contacts .attendance-contacts__header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0;padding:0 0 20px;min-height:0;border:0;background:transparent;box-shadow:none}.attendance-contacts__header h1,.attendance-contact-group__header h2{margin:0;color:var(--ink, #112d33);letter-spacing:0}.attendance-contacts__header h1{font-size:1.5rem;line-height:1.3}.attendance-contact-group__header p{margin:6px 0 0;color:var(--muted, #627372);line-height:1.55}.attendance-contacts button,.attendance-contacts select{font:inherit}.attendance-contacts button{cursor:pointer}.attendance-contacts button:focus-visible,.attendance-contacts a:focus-visible,.attendance-contacts select:focus-visible{outline:3px solid rgba(35,90,98,.35);outline-offset:2px}.attendance-contacts__refresh,.attendance-contacts__message button{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;min-height:44px;gap:7px;padding:8px 13px;border:1px solid #b8ccc8;border-radius:8px;color:#17484b;background:#fffefa;font-weight:700}.attendance-contacts__refresh:hover:not(:disabled),.attendance-contacts__message button:hover{border-color:#17484b;background:#edf5f2}.attendance-contacts__refresh:disabled{cursor:wait;opacity:.7}.attendance-contacts .is-spinning{animation:attendance-contacts-spin 1s linear infinite}.attendance-contacts__controls{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-block:1px solid #e1e7eb;background:#fff}.attendance-contacts__department{display:flex;align-items:center;min-width:0;min-height:0;height:auto;grid-template-rows:auto;gap:12px;color:#385352;font-size:.86rem;font-weight:700}.attendance-contacts__department>span{flex:0 0 auto}.attendance-contacts .attendance-contacts__department{min-height:0;height:auto;grid-template-rows:auto}.attendance-contacts__department select{width:280px;max-width:100%}.attendance-contacts__controls{flex-wrap:wrap}.attendance-contacts__date input{width:170px;max-width:100%;min-width:0;min-height:44px;padding:8px 11px;border:1px solid #b8ccc8;border-radius:8px;background:#fff;color:#112d33}.attendance-contacts__department select{min-height:44px;padding:8px 34px 8px 11px;border:1px solid #b8ccc8;border-radius:8px;color:#112d33;background:#fff}.attendance-contacts__filters{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:3px;padding:3px;border:1px solid #e1e7eb;border-radius:8px;background:#f2f5f7}.attendance-contacts__filters button{min-height:44px;padding:7px 13px;border:1px solid transparent;border-radius:5px;color:#435564;background:transparent;font-size:.9rem;font-weight:700;box-shadow:none;white-space:nowrap}.attendance-contacts__filters button:hover{color:#17484b;background:#e1ece8}.attendance-contacts__filters button.is-selected{border-color:#17484b;color:#fff;background:#17484b}.attendance-contacts__message{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0;padding:12px 0;border-bottom:1px solid #e1e7eb;background:#fff;color:#435564}.attendance-contacts__message strong{font-size:.9rem}.attendance-contacts__message>span{min-width:0;overflow-wrap:anywhere}.attendance-contacts__message button{margin-left:auto;padding:5px 10px;font-size:.88rem}.attendance-contacts__message p{flex:1 0 100%;margin:0;color:#47625f;font-size:.86rem}.attendance-contacts__error{display:flex;align-items:center;gap:8px;margin:16px 0 0;padding:13px 14px;border:1px solid #e6b7ad;border-radius:8px;color:#883327;background:#fff1ed;font-weight:700}.attendance-contacts__loading{display:flex;gap:7px;justify-content:center;padding:34px}.attendance-contacts__loading span{width:9px;height:9px;border-radius:50%;background:#398476;animation:attendance-contacts-pulse 1s ease-in-out infinite}.attendance-contacts__loading span:nth-child(2){animation-delay:.15s}.attendance-contacts__loading span:nth-child(3){animation-delay:.3s}.attendance-contacts__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:180px;padding:32px 16px;color:#526574;text-align:center;background:#fff}.attendance-contacts__empty>svg{color:#708493}.attendance-contacts .attendance-contacts__refresh,.attendance-contacts__message button{width:44px;height:44px;min-width:44px;padding:0;border-radius:6px;background:#fff;box-shadow:none}.attendance-contacts__groups{display:grid;gap:16px;margin-top:16px}.attendance-contact-group{border:1px solid #d8dfda;border-radius:8px;overflow:hidden;background:#fffefa}.attendance-contact-group__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:15px 16px;border-bottom:1px solid #d8dfda;background:#f4f7f4}.attendance-contact-group__header h2{font-size:1.08rem;line-height:1.35}.attendance-contact-group__header p{font-size:.9rem}.attendance-contact-group__stale{display:inline-block;margin-left:8px;color:#8a5b16;font-size:.8rem;font-weight:700}.attendance-contact-group__updated{flex:0 0 auto;color:#526967;font-size:.85rem;line-height:1.5;text-align:right}.attendance-contact-group__empty{margin:0;padding:22px 16px;color:#627372;text-align:center}.attendance-contact-list__head,.attendance-contact-row{display:grid;grid-template-columns:minmax(190px,1.25fr) minmax(88px,.65fr) minmax(88px,.65fr) minmax(88px,.65fr) minmax(176px,.95fr);align-items:center;column-gap:14px}.attendance-contact-list__head{padding:10px 16px;border-bottom:1px solid #e1e7e3;color:#5b706e;background:#fafcfb;font-size:.82rem;font-weight:700}.attendance-contact-row{min-width:0;padding:12px 16px;border-bottom:1px solid #e1e7e3}.attendance-contact-row:last-child{border-bottom:0}.attendance-contact-row:hover{background:#f9fbfa}.attendance-contact-row__student{display:grid;min-width:0;gap:3px}.attendance-contact-row__student strong,.attendance-contact-row__student span{overflow-wrap:anywhere}.attendance-contact-row__student strong{font-size:.95rem}.attendance-contact-row__student span{color:#627372;font-size:.84rem}.attendance-contact-status{display:inline-flex;justify-content:center;min-width:58px;padding:4px 8px;border-radius:999px;font-size:.82rem;font-weight:700;white-space:nowrap}.attendance-contact-status--present{color:#176343;background:#e2f5eb}.attendance-contact-status--missing{color:#365979;background:#eaf2fa}.attendance-contact-status--absent{color:#9c3b2a;background:#fff0eb}.attendance-contact-status--late-early{color:#795514;background:#fff6dd}.attendance-contact-status--unknown{color:#59636d;background:#edf0f3}.attendance-contact-row__contact{display:flex;min-width:0;align-items:center;gap:6px}.attendance-contact-row__contact a{display:inline-flex;min-width:0;min-height:44px;align-items:center;justify-content:center;gap:7px;color:#17484b;font-weight:700;text-decoration:none}.attendance-contact-row__contact a:hover{color:#0e3537;text-decoration:underline}.attendance-contact-row__sms{padding:7px 0}.attendance-contact-row__call{flex:0 0 44px;width:44px;padding:0;border:1px solid #b8ccc8;border-radius:8px;background:#fff}.attendance-contact-row__call:hover{border-color:#17484b;background:#edf5f2}.attendance-contact-row__contact a span{overflow-wrap:anywhere}.attendance-contact-row__phone-missing{color:#6c7777;font-size:.86rem}@keyframes attendance-contacts-spin{to{transform:rotate(360deg)}}@keyframes attendance-contacts-pulse{50%{opacity:.35;transform:translateY(-3px)}}@media(max-width:900px){.attendance-contact-list__head,.attendance-contact-row{grid-template-columns:minmax(150px,1fr) repeat(3,minmax(70px,.62fr)) minmax(150px,.9fr);column-gap:10px}.attendance-contacts__controls{align-items:start;flex-direction:column}.attendance-contacts__department{min-width:min(300px,100%)}.attendance-contact-group__updated{white-space:nowrap}}@media(max-width:640px){.attendance-contacts__header,.attendance-contact-group__header{gap:12px;flex-direction:column}.attendance-contacts__refresh,.attendance-contacts__department,.attendance-contacts__filters{width:100%}.attendance-contacts__filters button{flex:1 1 auto}.attendance-contacts__message{align-items:flex-start}.attendance-contacts__message button{margin-left:0}.attendance-contact-group__updated{text-align:left;white-space:normal}.attendance-contact-list__head{display:none}.attendance-contact-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 12px;padding:14px}.attendance-contact-row__student,.attendance-contact-row__contact{grid-column:1 / -1}.attendance-contact-row__status{display:grid;gap:5px}.attendance-contact-row__status:before,.attendance-contact-row__contact:before{content:attr(data-label);color:#627372;font-size:.76rem;font-weight:700}.attendance-contact-row__contact{display:grid;gap:5px}.attendance-contact-row__contact a,.attendance-contact-status{width:fit-content}}@media(prefers-reduced-motion:reduce){.attendance-contacts .is-spinning,.attendance-contacts__loading span{animation:none}}@media(max-width:640px){.attendance-contacts{padding:18px 16px}.attendance-contacts .attendance-contacts__header{flex-direction:row;align-items:center;gap:12px;padding-bottom:16px}.attendance-contacts__header h1{font-size:1.2rem}.attendance-contacts__controls{gap:12px}.attendance-contacts__department{display:grid;grid-template-columns:auto minmax(0,1fr);min-width:0}.attendance-contacts__department select{width:100%;min-width:0}.attendance-contacts__filters button{padding-inline:7px}.attendance-contacts__message{display:grid;grid-template-columns:18px minmax(0,1fr) 44px;align-items:center;gap:8px}.attendance-contacts__message>span{grid-column:2;line-height:1.6;font-size:.9rem}.attendance-contacts__message button{grid-column:3;grid-row:1 / 3}.attendance-contacts__message p{grid-column:1 / -1}.attendance-contact-row{grid-template-columns:repeat(3,minmax(0,1fr))}.attendance-contact-status{max-width:100%;white-space:normal;word-break:keep-all;overflow-wrap:normal;text-align:center}.attendance-contact-row__contact{grid-template-columns:minmax(0,1fr) 44px;align-items:center}.attendance-contact-row__contact:before{grid-column:1 / -1}.attendance-contact-row__contact .attendance-contact-row__call{width:44px;min-width:44px;height:44px}.attendance-contact-row__contact .attendance-contact-row__sms{justify-content:flex-start}}/*! tailwindcss v4.3.3 | 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-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%}}}@layer theme{:root,:host{--font-sans:"Nimbus Sans TW01", "Helvetica Neue", Helvetica, Arial, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-200:oklch(88.5% .062 18.334);--color-red-700:oklch(50.5% .213 27.518);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-800:oklch(47.3% .137 46.201);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-700:oklch(50.8% .118 165.612);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-600:oklch(54.6% .245 262.881);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-slate-950:oklch(12.9% .042 264.695);--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--font-weight-semibold:600;--radius-md:.375rem;--radius-lg:.5rem;--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);--radius:.5rem;--color-background:snow}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components{.panel,.row-card,.result,.location,.login,.home-panel{border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);background-color:var(--color-white);--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)}.section-title{border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-blue-100);--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops));--tw-gradient-from:var(--color-white);--tw-gradient-to:var(--color-blue-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));--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)}input:not([type=checkbox]):not([type=radio]),select,textarea{border-radius:var(--radius-md);border-color:var(--color-slate-300);background-color:var(--color-white);--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}:is(input:not([type=checkbox]):not([type=radio]),select,textarea):focus{border-color:var(--color-blue-600);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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);--tw-ring-color:var(--color-blue-100)}.primary{border-radius:var(--radius-md);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-900);background-color:var(--color-slate-900);color:var(--color-white);--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)}@media(hover:hover){.primary:hover{background-color:var(--color-slate-800)}}.primary:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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);--tw-ring-color:var(--color-blue-600);--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.secondary,.download,.actions button:not(.primary):not(.danger),.panel-head button:not(.primary):not(.danger),.download-menu button{border-radius:var(--radius-md);border-color:var(--color-slate-200);background-color:var(--color-white);color:var(--color-slate-800);--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)}@media(hover:hover){:is(.secondary,.download,.actions button:not(.primary):not(.danger),.panel-head button:not(.primary):not(.danger),.download-menu button):hover{background-color:var(--color-slate-50)}}:is(.secondary,.download,.actions button:not(.primary):not(.danger),.panel-head button:not(.primary):not(.danger),.download-menu button):focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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);--tw-ring-color:var(--color-blue-600);--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}table thead th{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-slate-200);background-color:var(--color-slate-50);color:var(--color-slate-700)}}@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.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}.sticky{position:sticky}.isolate{isolation:isolate}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-1{margin:var(--spacing)}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.list-item{display:list-item}.table{display:table}.table\!{display:table!important}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row{display:table-row}.table-row-group{display:table-row-group}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.min-h-10{min-height:calc(var(--spacing) * 10)}.w-10{width:calc(var(--spacing) * 10)}.w-full{width:100%}.shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.transform\!{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)!important}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.rounded{border-radius:var(--radius)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-amber-200{border-color:var(--color-amber-200)}.border-emerald-200{border-color:var(--color-emerald-200)}.border-red-200{border-color:var(--color-red-200)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-300{border-color:var(--color-slate-300)}.border-slate-900{border-color:var(--color-slate-900)}.border-transparent{border-color:#0000}.bg-amber-50{background-color:var(--color-amber-50)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-900{background-color:var(--color-slate-900)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.p-5{padding:calc(var(--spacing) * 5)}.px-0{padding-inline:0}.px-2{padding-inline:calc(var(--spacing) * 2)}.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-0\.5{padding-block:calc(var(--spacing) * .5)}.py-2{padding-block:calc(var(--spacing) * 2)}.pt-0{padding-top:0}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.break-all{word-break:break-all}.text-amber-800{color:var(--color-amber-800)}.text-emerald-700{color:var(--color-emerald-700)}.text-red-700{color:var(--color-red-700)}.text-slate-700{color:var(--color-slate-700)}.text-slate-900{color:var(--color-slate-900)}.text-slate-950{color:var(--color-slate-950)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.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)}.\!outline{outline-style:var(--tw-outline-style)!important;outline-width:1px!important}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.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,)}.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,)}.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,)!important}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}.\[redacted\:account-id\]{redacted:account-id}.\[redacted\:alien-number\]{redacted:alien-number}.\[redacted\:email\]{redacted:email}.\[redacted\:file\]{redacted:file}.\[redacted\:phone\]{redacted:phone}.placeholder\:text-slate-400::placeholder{color:var(--color-slate-400)}@media(hover:hover){.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\:bg-slate-100:hover{background-color:var(--color-slate-100)}.hover\:bg-slate-800:hover{background-color:var(--color-slate-800)}}.focus-visible\:border-blue-600:focus-visible{border-color:var(--color-blue-600)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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)}.focus-visible\:ring-blue-100:focus-visible{--tw-ring-color:var(--color-blue-100)}.focus-visible\:ring-blue-600:focus-visible{--tw-ring-color:var(--color-blue-600)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}}#dit-staff-consultation .attendance-file-picker-shell.dit-profile-import-card-shell{min-width:0;position:relative}#dit-staff-consultation .attendance-file-picker-shell.dit-profile-import-card-shell>.dit-profile-import-delete{z-index:5!important;box-sizing:border-box!important;aspect-ratio:1!important;white-space:nowrap!important;block-size:36px!important;inline-size:36px!important;border-radius:999px!important;flex:0 0 36px!important;place-self:start end!important;place-items:center!important;width:36px!important;min-width:36px!important;max-width:36px!important;height:36px!important;min-height:36px!important;max-height:36px!important;margin:0!important;padding:0!important;font-size:0!important;line-height:1!important;display:grid!important;position:absolute!important;inset:12px 12px auto auto!important;overflow:hidden!important}#dit-staff-consultation .attendance-file-picker-shell.dit-profile-import-card-shell>.dit-profile-import-delete svg{flex:0 0 17px!important;width:17px!important;min-width:17px!important;max-width:17px!important;height:17px!important;min-height:17px!important;max-height:17px!important;margin:0!important;padding:0!important;display:block!important;position:static!important;transform:none!important}#dit-staff-consultation .attendance-file-picker-shell.dit-profile-import-card-shell>.dit-profile-import-card{padding-right:62px!important}@media(max-width:720px){.attendance-file-picker-shell>.attendance-file-clear{z-index:3!important;box-sizing:border-box!important;aspect-ratio:1!important;white-space:normal!important;border-radius:50%!important;flex:0 0 36px!important;place-items:center!important;width:36px!important;min-width:36px!important;max-width:36px!important;height:36px!important;min-height:36px!important;max-height:36px!important;margin:0!important;padding:0!important;line-height:1!important;display:inline-grid!important;position:absolute!important;top:12px!important;right:12px!important;overflow:visible!important}.attendance-file-picker-shell>.attendance-file-clear svg{width:17px!important;height:17px!important;margin:0!important;display:block!important}}@media(max-width:620px){.page-surface-service .online-attendance-manager{gap:12px}.page-surface-service .online-attendance-manager>.section-title,.page-surface-service .online-attendance-manager>.attendance-privacy,.page-surface-service .online-attendance-manager>.online-attendance-arete-panel,.page-surface-service .online-attendance-manager>.online-attendance-upload-panel{padding:18px!important}.page-surface-service .online-attendance-manager .section-title h1{font-size:clamp(25px,7.2vw,30px)!important;line-height:1.22!important}.page-surface-service .online-attendance-manager .section-title p,.page-surface-service .online-attendance-manager .attendance-privacy p,.page-surface-service .online-attendance-manager .attendance-upload-head p{font-size:14px!important;line-height:1.55!important}.page-surface-service .online-attendance-manager .attendance-privacy{align-items:flex-start;gap:12px}.page-surface-service .online-attendance-manager .attendance-privacy>svg{flex:0 0 26px;width:26px!important;height:26px!important}.page-surface-service .online-attendance-manager .attendance-privacy strong{display:block;font-size:16px!important;line-height:1.35!important}.page-surface-service .online-attendance-manager .excel-renderer-status{grid-template-columns:auto minmax(0,1fr);min-height:0;display:grid;font-size:13px!important;line-height:1.45!important}.page-surface-service .online-attendance-manager .excel-renderer-retry{grid-column:1/-1;margin:2px 0 0;width:fit-content!important;min-height:36px!important;padding:6px 12px!important;font-size:13px!important}.page-surface-service .online-attendance-manager .attendance-upload-head{flex-direction:column;align-items:flex-start;gap:12px}.page-surface-service .online-attendance-manager .attendance-upload-head h2{font-size:clamp(24px,7vw,29px)!important;line-height:1.25!important}.page-surface-service .online-attendance-manager .attendance-upload-head>.primary{width:100%;min-height:44px;font-size:14px!important}.page-surface-service .online-attendance-manager .online-attendance-picker-grid{grid-template-columns:1fr;gap:10px;margin-top:12px}.page-surface-service .online-attendance-manager .online-attendance-department-field{padding:14px}.page-surface-service .online-attendance-manager .online-attendance-department-field>span,.page-surface-service .online-attendance-manager .attendance-file-picker>strong{font-size:15px!important}.page-surface-service .online-attendance-manager .online-attendance-department-field small,.page-surface-service .online-attendance-manager .attendance-file-picker>small,.page-surface-service .online-attendance-manager .attendance-file-count{font-size:13px!important;line-height:1.45!important}.page-surface-service .online-attendance-manager .attendance-file-picker{min-height:130px;padding:15px}}:root{--ink:#112d33;--teal:#17484b;--teal-dark:#0e3537;--mint:#e8f0ed;--mint-strong:#267366;--paper:#fffefa;--line:#d8dfda;--muted:#627372;--cream:#f5f4ef;--sage:#eef3ef;--sky:#eff3f2;--clay:#f7ece6;--lavender:#f2f0f8;--butter:#f7f0df;--rose:#f7ecea;--accent-blue:#235a62;--accent-clay:#c57752;--accent-sage:#398476;--accent-violet:#66558f;--radius-card:18px;--radius-control:999px;--soft-shadow:0 1px 2px #112d330a, 0 16px 48px #112d3312;--hover-shadow:0 18px 42px #112d3324;color:var(--ink);font-family:var(--font-global-hub);letter-spacing:0;--font-global-hub:"Nimbus Sans TW01", "Helvetica Neue", Helvetica, Arial, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;background:snow;font-weight:400}button,input,select,textarea,a{font-family:var(--font-global-hub)}.secondary,.download,.ghost,.back,.admin-entry,.admin-text-entry,.actions button,.actions a,.downloads a,.download-picker a,.download-menu a,.download-menu button,.panel-head button,.row-card button{color:var(--ink);background:0 0;border-color:#112d3333;border-radius:999px}.secondary:hover,.download:hover,.ghost:hover,.back:hover,.admin-entry:hover,.admin-text-entry:hover,.actions button:hover,.actions a:hover,.downloads a:hover,.download-picker a:hover,.download-menu a:hover,.download-menu button:hover,.panel-head button:hover,.row-card button:hover{border-color:var(--teal);background:var(--sage)}.questly-hero{isolation:isolate;min-height:max(760px,100svh);box-shadow:none;background-image:url(https://images.higgs.ai/?default=1&output=webp&url=https%3A%2F%2Fd8j0ntlcm91z4.cloudfront.net%2Fuser_38xzZboKViGWJOttwIXH07lWA1P%2Fhf_20260611_133301_d5f2a94a-b22e-4e4a-a6b6-eacdddf1f5b0.png&w=1280&q=85);background-position:50%;background-size:cover;border:0;border-radius:0 0 30px 30px;grid-template-columns:1fr;align-content:start;padding:clamp(22px,3vw,48px);display:grid;position:relative;overflow:hidden}.questly-hero-overlay{z-index:-1;background:linear-gradient(#f6f5efbd,#f6f5efde,#f6f5effa);position:absolute;top:0;right:0;bottom:0;left:0}.questly-hero:after{display:none}.questly-nav{z-index:3;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffefac2;border:1px solid #112d331f;border-radius:999px;width:min(100%,1440px);min-height:64px;margin:0 auto;padding:8px 12px 8px 18px;position:relative;box-shadow:0 8px 30px #112d330f}.questly-nav .hero-brand{color:var(--ink);text-decoration:none}.questly-nav .hero-brand-mark,.hero-brand span.hero-brand-mark{background:0 0;border:0;border-radius:12px;width:40px;height:40px}.questly-nav .hero-brand strong{letter-spacing:.01em;font-size:15px}.questly-nav .hero-brand small{font-size:11px}.questly-nav-links{align-items:center;gap:clamp(16px,2vw,34px);display:flex}.questly-nav-links a{color:#3d5254;font-size:14px;font-weight:700;text-decoration:none}.questly-nav-links a:hover,.questly-nav-links a:focus-visible{color:var(--teal-dark);text-underline-offset:4px;text-decoration:underline}.questly-nav .hero-top-actions{flex-wrap:nowrap;gap:8px}.questly-nav .role-switch{width:auto;box-shadow:none;background:0 0;border:0;border-radius:999px}.questly-nav .role-switch :is(a,button){min-height:38px;color:var(--ink);border:0;border-radius:999px;padding:0 9px}.questly-nav .role-switch :is(a,button).active{background:var(--teal-dark);color:#fff}.questly-nav .language-trigger{background:var(--teal-dark);color:#fff;border:0;border-radius:999px;min-height:38px}.questly-hero-copy{z-index:2;text-align:center;justify-items:center;width:min(100%,1040px);margin:clamp(76px,11vh,148px) auto 0;position:relative}.questly-hero h1,.questly-hero .home-hero-title{max-width:1000px;color:var(--teal-dark);letter-spacing:-.035em;margin:0;font-size:clamp(48px,7.5vw,112px);font-weight:700;line-height:.95}.questly-hero .home-hero-title>span{display:block}.questly-hero-lead{color:#4d6566;max-width:700px;margin:24px auto 0;font-size:clamp(16px,1.5vw,20px);line-height:1.6}.questly-search{width:min(100%,720px);min-height:58px;color:var(--teal-dark);background:#fffefaf0;border:1px solid #112d3333;border-radius:999px;margin:30px auto 0;padding:5px 6px 5px 20px;box-shadow:0 14px 34px #112d3317}.questly-search button{border-radius:999px;min-width:110px;min-height:46px}.questly-hero-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:18px;display:flex}.questly-hero-actions a{border-radius:999px;justify-content:center;align-items:center;min-height:44px;padding:0 18px;font-weight:700;text-decoration:none;display:inline-flex}.questly-outline-action{color:var(--ink);background:#fffefab3;border:1px solid #112d3340}.questly-outline-action:hover{background:#fffefa}.hub-dashboard-preview{z-index:2;background:#143d40;border:1px solid #ffffff38;border-radius:24px 24px 0 0;width:min(100%,1320px);min-height:278px;margin:clamp(48px,9vh,100px) auto 0;animation:.7s ease-out both questly-rise;position:relative;overflow:hidden;box-shadow:0 26px 56px #112d333d}.hub-dashboard-topbar{color:#ffffffd1;border-bottom:1px solid #ffffff21;justify-content:space-between;align-items:center;min-height:48px;padding:0 20px;display:flex}.hub-dashboard-wordmark{letter-spacing:.01em;font-size:14px;font-weight:700}.hub-dashboard-status{align-items:center;gap:7px;font-size:12px;display:inline-flex}.hub-dashboard-status i{background:#a6d99f;border-radius:50%;width:7px;height:7px}.hub-dashboard-content{grid-template-columns:54px minmax(0,1fr) minmax(250px,.64fr);min-height:230px;display:grid}.hub-dashboard-rail{border-right:1px solid #ffffff1f;align-content:start;justify-items:center;gap:18px;padding-top:24px;display:grid}.hub-dashboard-rail span{background:#fff3;border-radius:6px;width:18px;height:18px}.hub-dashboard-rail span.is-active{background:#bcdca9}.hub-dashboard-main{padding:24px}.hub-dashboard-overview{justify-content:space-between;align-items:center;gap:20px;display:flex}.hub-dashboard-overview small,.hub-dashboard-cards small,.hub-dashboard-cards span{color:#ffffff8f;font-size:11px;display:block}.hub-dashboard-overview strong{color:#fff;margin-top:4px;font-size:20px;display:block}.hub-dashboard-meter{align-items:end;gap:5px;height:42px;display:flex}.hub-dashboard-meter i{background:#bcdca9;border-radius:4px 4px 0 0;width:10px}.hub-dashboard-meter i:first-child{height:14px}.hub-dashboard-meter i:nth-child(2){height:24px}.hub-dashboard-meter i:nth-child(3){height:36px}.hub-dashboard-meter i:nth-child(4){height:28px}.hub-dashboard-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:26px;display:grid}.hub-dashboard-cards article{background:#ffffff12;border:1px solid #ffffff1f;border-radius:12px;min-width:0;padding:16px}.hub-dashboard-cards strong{color:#fff;margin:8px 0 4px;font-size:22px;display:block}.hub-dashboard-preview .home-schedule-panel{min-height:0;box-shadow:none;background:#fffffff0;border:1px solid #ffffff24;border-radius:14px;margin:14px 14px 14px 0;padding:15px;display:block}.hub-dashboard-preview .home-schedule-panel:before{display:none}.hub-dashboard-preview .home-schedule-list{max-height:154px}.hub-dashboard-preview .home-schedule-item{background:0 0;border-color:#112d331a;padding:8px 0}.hub-dashboard-preview .home-schedule-item strong{font-size:12px}.hub-dashboard-preview .home-schedule-item time{font-size:11px}@keyframes questly-rise{0%{opacity:0;transform:translateY(34px)}to{opacity:1;transform:translateY(0)}}.quick-action{background:#f1f3ef;border-color:#112d331a;border-radius:16px;min-height:128px}.quick-action:hover{box-shadow:var(--hover-shadow);border-color:#112d334d}.quick-icon{width:50px;height:50px;box-shadow:none;border-radius:14px}.tone-blue,.tone-coral,.tone-mint,.tone-navy,.tone-slate{color:var(--teal);background:#f1f3ef}.tone-blue .quick-icon,.tone-coral .quick-icon,.tone-mint .quick-icon,.tone-navy .quick-icon,.tone-slate .quick-icon{background:var(--teal)}.service-row{background:#fbfcf9;border-color:#112d331c;border-radius:12px}.consult-panel:before{background:#cfe5a3}@media(max-width:980px){.questly-nav{grid-template-columns:minmax(0,1fr) auto;display:grid}.questly-nav-links{display:none}.questly-nav .hero-top-actions{justify-content:flex-end}.hub-dashboard-content{grid-template-columns:46px minmax(0,1fr)}.hub-dashboard-preview .home-schedule-panel{display:none}}@media(max-width:680px){.questly-home{padding-inline:0}.questly-hero{border-radius:0 0 22px 22px;min-height:700px;padding:14px 14px 0}.questly-nav{border-radius:18px;padding:8px 10px}.questly-nav .hero-brand small{display:none}.questly-nav .hero-top-actions{width:auto;min-width:0}.questly-nav .role-switch{grid-template-columns:repeat(4,minmax(0,1fr))}.questly-nav .role-switch :is(a,button){padding-inline:6px}.questly-nav .role-switch :is(a,button) span,.questly-nav .language-trigger span{display:none}.questly-hero-copy{margin-top:72px}.questly-hero h1,.questly-hero .home-hero-title{letter-spacing:-.035em;font-size:clamp(44px,13vw,66px);line-height:.98}.questly-hero-lead{margin-top:18px;font-size:15px}.questly-search{min-height:52px;margin-top:24px;padding-left:14px}.questly-search button{min-width:68px;min-height:40px;font-size:13px}.hub-dashboard-preview{border-radius:16px 16px 0 0;min-height:214px;margin-top:52px}.hub-dashboard-content{grid-template-columns:38px minmax(0,1fr);min-height:166px}.hub-dashboard-topbar{min-height:40px;padding-inline:14px}.hub-dashboard-rail{gap:12px;padding-top:18px}.hub-dashboard-rail span{border-radius:4px;width:13px;height:13px}.hub-dashboard-main{padding:17px 14px}.hub-dashboard-overview strong{font-size:17px}.hub-dashboard-cards{gap:7px;margin-top:16px}.hub-dashboard-cards article{padding:9px}.hub-dashboard-cards strong{margin:4px 0;font-size:16px}.hub-dashboard-cards span{font-size:9px}}.visually-hidden{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;overflow-x:hidden}body{margin:0;overflow-x:hidden}.app{overflow-x:clip}button,input,select,textarea,a{font:inherit;max-width:100%}button{cursor:pointer;touch-action:manipulation}button svg,a svg,label svg{flex:none}h1,h2,h3,.brand strong,.category-card strong,.menu-card span,.section-title>span,.stat strong,.chip-grid strong{font-family:var(--font-global-hub);font-weight:700}.language-screen{background:#f4efe6;place-items:center;min-height:100vh;padding:24px;display:grid}.language-panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-card);width:min(760px,100%);box-shadow:0 24px 70px #47352221;box-shadow:var(--soft-shadow);padding:36px}.language-panel h1{color:var(--teal);margin:12px 0 6px;font-size:38px}.language-panel p,.muted{color:var(--muted)}.language-grid{grid-template-columns:repeat(5,1fr);gap:10px;margin-top:26px;display:grid}.language-grid button,.language-grid a{z-index:1;border:1px solid var(--line);border-radius:var(--radius-card);min-height:82px;color:var(--ink);text-align:center;touch-action:manipulation;pointer-events:auto;background:#fff;align-content:center;place-items:center;gap:8px;padding:20px 12px;text-decoration:none;display:grid;position:relative}.language-grid span,.language-grid small{overflow-wrap:anywhere;width:100%;line-height:1.35;display:block}.language-grid small{color:var(--muted)}.language-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#2632386b;place-items:center;padding:24px;display:grid;position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:auto}.language-modal{z-index:1;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--paper);width:min(760px,100%);max-height:calc(100dvh - 48px);padding:34px;position:relative;overflow-y:auto;box-shadow:0 24px 70px #26323847}.language-modal h1{color:var(--ink);margin:12px 0 6px;font-size:38px}dialog.manual-drive-dialog{border-radius:8px;width:min(480px,100% - 32px);margin:auto;position:fixed;top:0;right:0;bottom:0;left:0}dialog.manual-drive-dialog:not([open]){display:none}dialog.manual-drive-dialog::backdrop{background:#00000059}dialog.manual-drive-dialog h2{margin:0 0 16px;font-size:22px}dialog.manual-drive-dialog p{overflow-wrap:anywhere;margin-bottom:16px}dialog.manual-drive-dialog{color:var(--ink);padding:28px}dialog.manual-drive-dialog .manual-drive-status:empty{display:none}dialog.manual-drive-dialog .manual-drive-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px;display:flex}dialog.manual-drive-dialog .manual-drive-actions>button{border:1px solid var(--line);min-width:96px;height:44px;box-shadow:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;margin:0;padding:0 18px;font-size:15px;line-height:1;display:inline-flex}dialog.manual-drive-dialog .manual-drive-actions>.primary{border-color:var(--teal)}.language-modal p{color:var(--muted);margin:0}.role-modal{width:min(1040px,100%)}.role-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:26px;display:grid}.role-card{z-index:1;min-height:168px;color:var(--ink);text-align:left;touch-action:manipulation;pointer-events:auto;background:linear-gradient(#fff,#f8fbff);border:1px solid #d6e3ef;border-radius:24px;align-content:start;gap:12px;padding:22px;text-decoration:none;display:grid;position:relative}.role-card span{color:#123d7a;background:#eaf4ff;border-radius:18px;place-items:center;width:48px;height:48px;display:grid}.role-card small{color:var(--muted);line-height:1.45}.role-access-notice p,.professor-login p{color:var(--muted)}.login-card{gap:14px;width:min(420px,100%);margin-top:18px;display:grid}.login-card label{color:var(--ink);text-align:left;gap:8px;font-weight:800;display:grid}.login-card input{background:#fff;border:1px solid #cbd8e5;border-radius:14px;height:48px;padding:0 14px}.professor-summary{gap:16px;display:grid}.professor-summary-layout{grid-template-columns:106px minmax(0,1fr);align-items:start;gap:0;display:grid}.professor-summary-layout.without-scope{grid-template-columns:minmax(0,1fr)}.professor-identity{border-bottom:1px solid var(--line);align-content:center;gap:6px;padding-bottom:14px;display:grid}.professor-summary strong{font-size:20px}.professor-summary span{color:var(--muted)}.professor-asset-action{justify-content:flex-end;align-items:center;display:flex}.professor-summary .professor-asset-button{border-radius:var(--radius-control);min-width:42px;height:42px;color:var(--ink);background:#f7faff;border:1px solid #d6e3ef;justify-content:center;align-items:center;gap:8px;margin:0;padding:0 14px;font-weight:800;display:inline-flex}.professor-summary .professor-asset-button:hover{background:#edf6ff;border-color:#86acd7}.professor-summary .professor-asset-button svg{color:#174b8f}.professor-summary .professor-asset-button span{white-space:nowrap}.professor-scope-switch{background:0 0;border:0;flex-direction:column;align-items:stretch;gap:4px;width:106px;margin-top:12px;display:flex;overflow:visible}.professor-scope-switch button{min-width:0;min-height:38px;color:var(--muted);font:inherit;white-space:nowrap;background:#f7faff;border:1px solid #c8d8ea;border-right:0;border-radius:8px 0 0 8px;padding:7px 13px;font-size:13px;font-weight:800}.professor-scope-switch button.is-active{z-index:1;color:#174b8f;background:#eaf3ff;border-color:#6696c7 #174b8f #6696c7 #6696c7;border-right-style:solid;border-right-width:3px;position:relative}.professor-status-roster{scroll-margin-top:18px}.professor-status-stats .stat{cursor:pointer}.professor-status-stats .stat:hover,.professor-status-stats .stat:focus-visible{background:#f4f9ff;border-color:#86acd7}.professor-student-link{color:#111;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:800;text-decoration:none}.student-phone-link{color:#111;font:inherit;white-space:nowrap;font-weight:700;text-decoration:none}.student-phone-link:hover,.student-phone-link:focus-visible{color:#111;text-decoration:none}.professor-visa-risk-panel .panel-head{align-items:center}.professor-visa-risk-count{color:#a52828;white-space:nowrap;background:#fff5f3;border:1px solid #efb8b2;border-radius:999px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:0 13px;font-weight:800;display:inline-flex}.professor-visa-risk-chip{color:#8a5b00;background:#fff4d8;border-radius:999px;justify-content:center;align-items:center;min-height:28px;padding:3px 9px;font-size:12px;font-weight:800;display:inline-flex}.professor-visa-risk-chip.risk-expired,.professor-visa-risk-chip.risk-critical{color:#a52828;background:#fdeaea}.professor-profile-host:empty{display:none}.professor-profile-host{min-width:0}.app{min-height:100vh}header{border-bottom:1px solid var(--line);z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;justify-content:center;align-items:center;gap:20px;min-height:76px;padding:0 24px;display:flex;position:sticky;top:0;box-shadow:0 10px 24px #13233f0d}.brand{color:inherit;text-align:left;touch-action:manipulation;background:0 0;border:0;flex:none;align-items:center;gap:12px;text-decoration:none;display:flex}.brand span.brand-mark{background:#fff;border-radius:17px;place-items:center;width:46px;height:46px;padding:2px;display:grid;overflow:hidden}.brand-mark img,.hero-brand-mark img{object-fit:contain;width:100%;height:100%;display:block}.brand strong{color:var(--ink);font-size:18px;display:block}.brand small{color:var(--muted)}.brand span,.hero-brand span,.category-number,.section-title>span,.flow-step,.flow-icon,.quick-icon{text-align:center;line-height:1}.header-actions{flex:none;align-items:center;gap:10px;display:flex}.session-countdown{border-radius:var(--radius-control);color:#123d7a;white-space:nowrap;background:#f5f9ff;border:1px solid #c7d8ea;justify-content:center;align-items:center;min-height:40px;padding:0 13px;font-size:13px;font-weight:800;display:inline-flex}.session-controls{align-items:center;gap:7px;display:inline-flex}.session-expiry-overlay{z-index:10000;background:#0f25426b;place-items:center;padding:20px;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.session-expiry-dialog{width:min(440px,100%);color:var(--ink);background:#fff;border:1px solid #c7d8ea;border-radius:18px;padding:28px;box-shadow:0 22px 60px #0f254238}.session-expiry-dialog h2{margin:0;font-size:22px;line-height:1.35}.session-expiry-message{color:var(--muted);margin:14px 0 0;font-size:15px;line-height:1.7}.session-expiry-actions{justify-content:flex-end;gap:8px;margin-top:24px;display:flex}.session-expiry-actions button{border-radius:var(--radius-control);min-height:44px;font:inherit;padding:0 18px;font-weight:800}.session-expiry-later{color:var(--ink);background:#fff;border:1px solid #c7d8ea}.session-expiry-extend{color:#fff;background:#123d7a;border:1px solid #123d7a}.session-expiry-extend:hover:not(:disabled){background:#0c2f61}.session-expiry-actions button:disabled{cursor:wait;opacity:.72}@media(max-width:540px){.session-expiry-dialog{padding:22px 18px}.session-expiry-actions{flex-direction:column-reverse}.session-expiry-actions button{width:100%}}.language-menu{position:relative}.language-trigger{border-radius:var(--radius-control);height:44px;color:var(--ink);white-space:nowrap;background:0 0;border:0;align-items:center;gap:7px;padding:0 10px;font-weight:850;display:inline-flex}.language-trigger:hover,.language-trigger[aria-expanded=true]{background:#f3f7fb}.language-caret{color:var(--muted);font-size:15px;line-height:1}.language-options{z-index:30;background:#fff;border:1px solid #e2e8f0;border-radius:8px;min-width:172px;padding:8px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 36px #0f172a24}.language-options button{width:100%;height:34px;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:14px;padding:0 8px;font-size:14px;display:flex}.language-options button:hover,.language-options button.active{background:#f4f4f5}.admin-text-entry{border-radius:var(--radius-control);color:#123d7a;touch-action:manipulation;white-space:nowrap;background:#fff;border:1px solid #d6e3ef;justify-content:center;align-items:center;height:44px;padding:0 15px;font-weight:900;text-decoration:none;display:inline-flex}.admin-text-entry:hover{background:#f3f7fb;border-color:#bfd4ea}.ghost,.back,.admin-entry{border:1px solid var(--line);background:var(--paper);border-radius:var(--radius-control);color:var(--ink);align-items:center;gap:8px;padding:10px 13px;text-decoration:none;display:inline-flex}.icon-only{justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.icon-only>svg{flex:none;display:block}.back{width:42px;height:42px;margin:14px 0 -6px clamp(18px,3vw,42px)}main{width:100%;margin:0;padding:24px clamp(18px,3vw,42px) 56px}.hero{border:1px solid var(--line);border-radius:var(--radius-card);background:linear-gradient(135deg,#fffdf8f2,#f7f1e6e0),var(--cream);min-height:270px;box-shadow:var(--soft-shadow);flex-direction:column;justify-content:center;padding:42px 52px;display:flex;position:relative;overflow:hidden}.hero:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#f3e3d6d9);border-radius:50% 0 0 50%;width:28%;height:100%;position:absolute;top:0;right:0}.eyebrow{background:var(--clay);border-radius:var(--radius-control);color:#7f432a;width:fit-content;margin-bottom:22px;padding:10px 18px;font-weight:800}.hero h1{color:var(--ink);z-index:1;margin:0;font-size:48px;position:relative}.hero p{color:var(--muted);z-index:1;font-size:16px;line-height:1.55;position:relative}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px;display:grid}.category-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.category-grid.home-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.category-card{text-align:left;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--paper);min-height:220px;color:var(--ink);touch-action:manipulation;box-shadow:var(--soft-shadow);align-content:start;gap:14px;padding:24px;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid;position:relative}.category-card:hover{box-shadow:var(--hover-shadow);border-color:#26323838;transform:translateY(-3px)}.category-card:first-child{background:linear-gradient(180deg,#fffdf8 0%,var(--sage) 100%)}.category-card:nth-child(2){background:linear-gradient(180deg,#fffdf8 0%,var(--clay) 100%)}.category-card:nth-child(3){background:linear-gradient(180deg,#fffdf8 0%,var(--sky) 100%)}.category-card:nth-child(4){background:linear-gradient(180deg,#fffdf8 0%,var(--lavender) 100%)}.category-card:nth-child(5){background:linear-gradient(180deg,#fffdf8 0%,var(--butter) 100%)}.category-card svg{color:var(--teal)}.category-card:nth-child(2) svg{color:var(--accent-clay)}.category-card.admin-card svg{color:#2d2638}.category-grid{z-index:1;position:relative}.category-card.admin-card{cursor:pointer;pointer-events:auto;isolation:isolate;touch-action:manipulation;text-decoration:none}.category-card.admin-card>*,.category-card.admin-card:before,.category-card.admin-card:after{pointer-events:none}.admin-navigation-grid,.admin-navigation-grid .admin-card{pointer-events:auto;position:relative}.admin-navigation-grid{z-index:2}.admin-navigation-grid .admin-card{z-index:1}.category-card strong{color:var(--ink);font-size:28px}.category-card small{color:var(--muted);white-space:normal;max-width:none;font-size:15px;line-height:1.45}.category-card.admin-card:after{content:"관리자만 이용 가능합니다";color:#4a4057;align-self:end;margin-top:8px;font-size:14px;line-height:1.35}.category-number{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:54px;height:54px;font-size:22px;font-weight:800;display:grid}.quick-language{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius-card);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;padding:12px;display:flex}.quick-language button{border:1px solid var(--line);border-radius:var(--radius-control);color:var(--ink);background:#fff;padding:9px 13px}.quick-language button.active{background:var(--accent-violet);border-color:var(--accent-violet);color:#fff;font-weight:800}.calendar-panel{background:linear-gradient(180deg,var(--sky),#fffdf8 56%);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--soft-shadow);margin-top:22px;padding:22px}.calendar-head{border-bottom:3px solid var(--accent-blue);justify-content:space-between;align-items:end;gap:16px;margin-bottom:16px;padding-bottom:14px;display:flex}.calendar-head div{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.calendar-head svg{color:var(--accent-blue)}.calendar-head span{background:var(--accent-blue);color:#fff;border-radius:var(--radius-control);place-items:center;min-width:96px;padding:12px 18px;font-size:28px;font-weight:800;display:inline-grid}.calendar-head h2{color:var(--accent-blue);margin:0}.calendar-head p{color:var(--muted);max-width:520px;margin:0;line-height:1.55}.calendar-bookmarks{flex-wrap:wrap;align-items:end;gap:6px;margin-bottom:0;padding:0 8px;display:flex}.calendar-bookmarks button{border:1px solid var(--line);border-radius:var(--radius-control);min-width:72px;color:var(--muted);background:#f3f8f8;padding:10px 12px 12px}.calendar-bookmarks button.active{background:var(--accent-blue);color:#fff;padding-top:14px;font-weight:800}.calendar-grid{grid-template-columns:1fr;gap:0;display:grid}.calendar-month{border:1px solid var(--line);border-radius:var(--radius-card);background:#fff;min-height:560px;overflow:hidden}.calendar-month h3{border-bottom:1px solid var(--line);color:var(--accent-blue);background:#dbe8f3;margin:0;padding:12px 14px}.calendar-weekdays{border-bottom:1px solid var(--line);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekdays span{color:var(--muted);text-align:center;padding:8px 4px;font-size:12px;font-weight:800}.calendar-days{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fbfdfd;min-height:108px;padding:8px;overflow:hidden}.calendar-day:nth-child(7n){border-right:0}.calendar-day time{min-height:22px;color:var(--ink);margin-bottom:2px;font-size:16px;font-weight:800;display:block}.calendar-day.holiday-day time{color:#c62828;background:#fff0f0;border-radius:999px;place-items:center;min-width:28px;height:28px;display:inline-grid}.calendar-day small{color:var(--muted);margin-top:3px;font-size:11px;display:block}.muted-day{color:#9aa8aa;background:#f1f5f5}.calendar-event{border-left:3px solid var(--accent-sage);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;background:#fff;margin-top:5px;padding:5px 6px;font-size:16px;line-height:1.3;display:block;overflow:hidden}.calendar-event.topik{border-left-color:var(--accent-blue);background:#f5f9fd}.calendar-event.holiday{color:#c62828;background:#fff3f3;border-left-color:#c62828;font-weight:900}.grid-menu{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px;display:grid}.menu-card{text-align:left;min-height:164px;color:var(--ink);cursor:pointer;background:#fff;border:1px solid #dce8f4;border-radius:28px;align-content:space-between;gap:16px;padding:24px;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s,background .18s;display:grid;box-shadow:0 14px 34px #13233f12}.menu-card:hover{border-color:#b9d4ee;transform:translateY(-4px);box-shadow:0 22px 52px #13233f21}.menu-card:active{transform:translateY(-1px)scale(.99)}.menu-card:nth-child(3n+1){background:linear-gradient(#fff,#f0fffb)}.menu-card:nth-child(3n+2){background:linear-gradient(#fff,#f0f6ff)}.menu-card:nth-child(3n){background:linear-gradient(#fff,#fff9e8)}.menu-card svg{color:#0f5ed7;stroke-width:2.5px}.menu-card:nth-child(3n+2) svg{color:#0f5ed7}.menu-card:nth-child(3n) svg{color:#9a5f00}.menu-card span{color:var(--ink);font-size:19px;font-weight:700;line-height:1.35}.menu-card.admin-card{background:linear-gradient(180deg,#fffdf8 0%,var(--lavender) 100%);border-color:#d4cce0}.menu-card.admin-card svg{color:#2d2638}.menu-card.admin-card:after{content:"관리자만 이용 가능합니다";color:#4a4057;margin-top:8px;font-size:14px;line-height:1.35;display:block}.compact-menu{margin-top:0}.flow-page{max-width:1220px;margin:0 auto}.flow-menu{grid-template-columns:repeat(6,minmax(0,1fr));align-items:stretch;gap:16px;position:relative}.flow-menu:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#c8dcf1 12%,#c8dcf1 88%,#0000);height:2px;position:absolute;top:56px;left:9%;right:9%}.flow-card{border-radius:30px;grid-column:span 2;grid-template-rows:auto auto 1fr;align-content:start;gap:14px;min-height:210px;padding:24px;display:grid;position:relative;overflow:hidden}.flow-card:first-child{background:linear-gradient(135deg,#fff,#eef6ff 54%,#e8fbf5);border-color:#bcd6f0;grid-column:span 3;min-height:230px}.flow-card:nth-child(2){grid-column:span 3}.flow-card:after{content:"";pointer-events:none;background:#2563eb12;border-radius:50%;width:128px;height:128px;position:absolute;bottom:-44px;right:-34px}.flow-step{border-radius:var(--radius-control);color:#174b8f;background:#133d7a14;place-items:center;width:fit-content;min-width:48px;height:34px;padding:0 12px;font-size:13px;font-weight:800;display:inline-grid}.flow-icon{color:#fff;background:#2563eb;border-radius:24px;place-items:center;width:68px;height:68px;display:grid;box-shadow:0 16px 30px #2563eb38}.flow-icon svg,.quick-icon svg{color:#fff;stroke-width:2.6px}.flow-copy{z-index:1;gap:8px;display:grid;position:relative}.flow-copy strong{color:var(--ink);font-size:21px;font-weight:800;line-height:1.32}.flow-copy small{color:var(--muted);font-size:14px;font-weight:500;line-height:1.55}.flow-card.tone-primary .flow-icon{background:linear-gradient(135deg,#082f6f,#0f5ed7)}.flow-card.tone-check .flow-icon{background:linear-gradient(135deg,#006b6f,#008f78)}.flow-card.tone-write .flow-icon{background:linear-gradient(135deg,#cf4b32,#e86f32)}.flow-card.tone-prep .flow-icon{background:linear-gradient(135deg,#4038a8,#0f5ed7)}.flow-card.tone-process .flow-icon{background:linear-gradient(135deg,#064f73,#082f6f)}.flow-card.tone-check{background:linear-gradient(#fff,#f0fffb)}.flow-card.tone-write{background:linear-gradient(#fff,#fff5f2)}.flow-card.tone-prep{background:linear-gradient(#fff,#f4f6ff)}.flow-card.tone-process{background:linear-gradient(#fff,#f3f8fc)}.admin-entry{margin-top:18px}.stack{gap:18px;display:grid}.section-title{background:linear-gradient(135deg,#fffffffa,#f0f6fffa 58%,#dff7f0e6);border:1px solid #d8e6f5;border-radius:30px;padding:30px 34px;position:relative;overflow:hidden;box-shadow:0 18px 44px #13233f14}.section-title:after{content:"";pointer-events:none;background:#2563eb14;border-radius:50%;width:180px;height:180px;position:absolute;bottom:-42px;right:28px}.section-title.numbered{grid-template-columns:auto 1fr;align-items:center;gap:20px;display:grid}.section-title>span{color:#fff;z-index:1;background:linear-gradient(135deg,#123d7a,#2563eb);border-radius:24px;place-items:center;width:68px;height:68px;font-size:23px;font-weight:800;display:grid;position:relative;box-shadow:0 16px 34px #2563eb3d}.section-title h1{color:var(--ink);z-index:1;margin:0 0 10px;font-size:36px;position:relative}.section-title p{color:var(--muted);z-index:1;margin:0;font-size:16px;line-height:1.6;position:relative}.panel,.row-card,.result,.location,.login{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--soft-shadow);padding:20px}.panel{border-top:1px solid var(--line)}.stack>.panel:nth-of-type(2n){border-top-color:var(--accent-blue);background:linear-gradient(#fffdf8,#f7fbff)}.stack>.panel:nth-of-type(3n){border-top-color:var(--accent-clay);background:linear-gradient(#fffdf8,#fff8f1)}.list{gap:10px;display:grid}.row-card{border-left:1px solid var(--line);background:linear-gradient(90deg,#e7efe6b8,var(--paper) 38%);justify-content:space-between;align-items:center;gap:18px;display:flex}.row-card:nth-child(2n){border-left-color:var(--line);background:linear-gradient(90deg,#e5eef6c7,var(--paper) 38%)}.row-card:nth-child(3n){border-left-color:var(--line);background:linear-gradient(90deg,#f3e3d6c7,var(--paper) 38%)}.row-card>div:first-child{flex:auto;min-width:0}.row-card p{color:#60707c;margin:8px 0 0}.actions,.downloads,.camera-actions,.panel-head,.download-picker,.download-menu{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.actions{flex:none;justify-content:flex-end}.actions button,.actions a,.downloads a,.download,.download-picker a,.download-menu a,.download-menu button,.panel-head button,.row-card button,.secondary{color:#17202a;border-radius:var(--radius-control);white-space:nowrap;background:#fffdf8;border:1px solid #cbd6db;align-items:center;gap:12px;padding:10px 12px;text-decoration:none;display:inline-flex}:where(button,a,label):not(.icon-only):has(>svg){align-items:center;column-gap:10px;display:inline-flex}.actions button:hover,.actions a:hover,.downloads a:hover,.download:hover,.download-menu a:hover,.download-menu button:hover,.panel-head button:hover,.row-card button:hover,.secondary:hover{border-color:var(--ink);background:#f7f1e6}.file-links{gap:6px;display:grid}.file-link-row{flex-direction:column;align-items:flex-start;gap:6px;min-width:0;display:flex}.file-links .download{width:fit-content}.file-link-row .download{white-space:normal;overflow-wrap:anywhere;text-align:left;max-width:100%}.file-link-row .file-delete-button{white-space:nowrap;justify-content:center;align-items:center;gap:6px;width:fit-content;display:inline-flex}.danger.small{border-radius:var(--radius-control);color:#a73424;background:#fff3f0;border:1px solid #f1b8ae;padding:8px 12px;font-size:13px;font-weight:800}.danger.small:hover{background:#ffe5df;border-color:#dc4f3c}.submission-status-actions{justify-items:start;gap:7px;min-width:max-content;display:grid}.submission-complete-button,.submission-complete-badge{border-radius:var(--radius-control);white-space:nowrap;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:6px 10px;font-size:13px;font-weight:800;display:inline-flex}.submission-complete-button{color:#176b45;background:#eefaf5;border:1px solid #9dcfbd}.submission-complete-button:hover{background:#def4ea;border-color:#176b45}.submission-complete-badge{color:#176b45;background:#e3f6ec}.dormitory-submission-workspace,.submission-list-workspace{padding:0;overflow:hidden}.dormitory-document-tabs{background:#f3f7f6;border-bottom:1px solid #d7e3e2;grid-template-columns:repeat(2,minmax(0,1fr));padding:10px 12px 0;display:grid}.dormitory-document-tabs button{color:#52636c;background:0 0;border:1px solid #0000;border-bottom:0;border-radius:8px 8px 0 0;justify-content:space-between;align-items:center;gap:10px;min-height:50px;padding:10px 16px;font-weight:800;display:flex}.dormitory-document-tabs button:hover{color:var(--ink);background:#ffffffa3}.dormitory-document-tabs button.active{color:var(--ink);background:#fff;border-color:#c9d9df}.dormitory-document-tabs button strong{text-align:center;color:#0f5f78;font-variant-numeric:tabular-nums;min-width:28px}.dormitory-submission-head,.submission-list-head{justify-content:space-between;align-items:end;gap:16px;padding:18px 18px 12px;display:flex}.dormitory-submission-head h2,.submission-list-head h2{margin:0;font-size:19px}.dormitory-submission-head p,.submission-list-head p{color:var(--muted);margin:5px 0 0;font-size:14px}.dormitory-document-search,.submission-list-search{color:#59717e;background:#fff;border:1px solid #c9d9df;border-radius:8px;align-items:center;gap:8px;min-width:min(290px,100%);min-height:40px;padding:0 11px;display:flex}.dormitory-document-search:focus-within,.submission-list-search:focus-within{border-color:#1b6d86;box-shadow:0 0 0 3px #1b6d8624}.dormitory-document-search input,.submission-list-search input{background:0 0;border:0;outline:0;width:100%;min-height:38px;padding:0}.dormitory-document-status,.submission-list-status{border-bottom:1px solid #e0e9eb;align-items:center;gap:8px;padding:0 18px 14px;display:flex}.dormitory-document-status button,.submission-list-status button{color:#52636c;background:#fff;border:1px solid #c9d9df;border-radius:8px;min-height:34px;padding:6px 10px;font-size:13px;font-weight:800}.dormitory-document-status button:hover,.submission-list-status button:hover{color:#164f63;border-color:#1b6d86}.dormitory-document-status button.active,.submission-list-status button.active{color:#164f63;background:#eaf4f8;border-color:#1b6d86}.dormitory-document-status button strong,.dormitory-document-status>span,.submission-list-status button strong,.submission-list-status>span{font-variant-numeric:tabular-nums}.dormitory-document-status>span,.submission-list-status>span{color:var(--muted);margin-left:auto;font-size:13px}.dormitory-submission-workspace .table-wrap,.submission-list-workspace .table-wrap{margin:0}.dormitory-submission-workspace th,.dormitory-submission-workspace td,.submission-list-workspace th,.submission-list-workspace td{padding-inline:18px}.submission-list-empty{color:var(--muted);margin:0;padding:24px 18px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media(max-width:720px){.dormitory-document-tabs{padding-inline:8px}.dormitory-document-tabs button{min-height:46px;padding-inline:10px;font-size:14px}.dormitory-submission-head,.submission-list-head{flex-direction:column;align-items:stretch;padding:14px 14px 10px}.dormitory-document-search,.submission-list-search{min-width:0}.dormitory-document-status,.submission-list-status{flex-wrap:wrap;padding:0 14px 12px}.dormitory-document-status>span,.submission-list-status>span{margin-left:0}.dormitory-submission-workspace th,.dormitory-submission-workspace td,.submission-list-workspace th,.submission-list-workspace td{padding-inline:10px}}.dit-consultation-type-multi{border:0;margin:0;padding:0}.dit-consultation-type-multi legend{color:var(--ink);margin-bottom:8px;font-weight:800}.dit-consultation-type-grid{flex-wrap:wrap;gap:8px;display:flex}.dit-consultation-check{border-radius:var(--radius-control);background:#fff;border:1px solid #d6e3ef;align-items:center;gap:8px;min-height:40px;padding:8px 12px;font-weight:800;display:inline-flex}.dit-consultation-check input{width:16px;min-height:16px;margin:0}.dit-consultation-content-list,.download-list{gap:12px;display:grid}.download-row{border-top:1px solid #e3eaee;justify-content:space-between;align-items:center;gap:12px;padding-top:12px;display:flex}.download-row:first-child{border-top:0;padding-top:0}.download-picker select{width:92px;min-height:40px}.download-picker.compact select{width:82px}.download-menu{position:relative}.download-options{z-index:5;border-radius:var(--radius-card);background:var(--paper);border:1px solid #cbd6db;gap:6px;min-width:150px;padding:8px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 14px 30px #17202a21}.download-options a{justify-content:center}.download-options .form-viewer-link{color:#fff;background:#173f75;border-color:#173f75;align-items:center;gap:7px;display:inline-flex}.download-options .form-viewer-link:hover{color:#fff;background:#0d2c55;border-color:#0d2c55}.location-images{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.location-images figure{border-radius:var(--radius-card);background:#f8f4eb;border:1px solid #d9e1e5;margin:0;overflow:hidden}.location-images img{aspect-ratio:16/9;object-fit:contain;background:#efe8db;width:100%;display:block}.location-images figcaption{color:#53636e;padding:9px 10px;font-size:14px}.form-grid{grid-template-columns:repeat(3,1fr);align-items:start;gap:12px;display:grid}.form-grid.compact{grid-template-columns:repeat(2,1fr)}label{grid-template-rows:auto minmax(48px,auto);align-content:start;gap:7px;min-height:76px;font-weight:700;display:grid}input,select{background:#fff;border:1px solid #c7d3d9;border-radius:14px;min-height:42px;padding:9px 11px}textarea{border-radius:var(--radius-card);background:var(--paper);resize:vertical;min-height:110px;font:inherit;border:1px solid #c7d3d9;padding:10px 11px}.wide-field{margin-top:12px}.section-pdf-action{justify-content:flex-end;margin-top:16px;display:flex}.total-pdf-action{justify-content:center;margin-top:18px}.disabled-section{opacity:.62}.disabled-section h2,.disabled-section p{color:#6f7a80}input[readonly]{color:var(--teal);background:var(--mint);border-color:var(--mint-strong);font-weight:800}input:disabled,select:disabled,button:disabled{color:#9aa8b0;cursor:not-allowed;background:#f2f5f6;border-color:#e1e7ea}.address-field{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.address-field button{color:#17202a;background:var(--paper);border-radius:var(--radius-control);white-space:nowrap;border:1px solid #cbd6db;padding:9px 12px}.field-note{color:var(--accent-clay);margin-top:6px;font-size:15px;font-weight:700;line-height:1.35;display:block}.field-alert{color:#b42318;margin-top:6px;font-size:14px;font-weight:700;line-height:1.35;display:block}.large-date-picker{grid-template-rows:auto minmax(22px,auto);align-content:start;gap:6px;min-height:68px;display:grid;position:relative}.date-trigger{border-radius:var(--radius-control);color:#173d45;text-align:left;background:#fff;border:1px solid #b9cbd0;align-items:center;gap:9px;width:100%;min-height:44px;padding:9px 12px;font-weight:700;line-height:1.2;transition:border-color .16s,background .16s,box-shadow .16s;display:inline-flex;box-shadow:inset 0 1px #fffc}.date-trigger svg{color:#14717c;flex:none}.date-trigger:hover:not(:disabled){background:#f7fbfb;border-color:#57959c}.date-trigger:focus-visible,.large-date-head button:focus-visible,.large-date-selectors select:focus-visible,.large-date-days button:focus-visible{outline-offset:2px;outline:3px solid #14717c38}.date-trigger:disabled{color:#89999d;cursor:not-allowed;background:#f4f7f7;border-color:#d6e0e2}.date-helper{color:#60777c;font-size:13px;line-height:1.45}.date-helper.warning{color:#a1591b}.large-date-panel{z-index:30;background:#fff;border:1px solid #b9cdd0;border-radius:8px;width:min(360px,100vw - 32px);padding:14px;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 16px 30px #123a3f29}.large-date-head{grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:6px;margin-bottom:12px;display:grid}.large-date-head strong{color:#173d45;text-align:center;white-space:nowrap;font-size:16px;line-height:1.25}.large-date-head button{color:#176b74;background:#f4f9f9;border:1px solid #c7d8da;border-radius:6px;place-items:center;width:34px;height:34px;padding:0;transition:border-color .16s,background .16s,color .16s;display:inline-grid}.large-date-head button:hover{color:#0d5962;background:#e8f4f4;border-color:#78a8ad}.large-date-head button:last-child{justify-self:end}.large-date-selectors{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;display:grid}.large-date-selectors select{color:#24474d;background:#fbfdfd;border:1px solid #c7d8da;border-radius:6px;min-height:36px;padding:0 9px;font-size:14px;font-weight:600}.large-date-weekdays,.large-date-days{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.large-date-weekdays span{color:#647a7f;text-align:center;padding:4px 3px 7px;font-size:12px;font-weight:700}.large-date-weekdays .sunday{color:#bd5c53}.large-date-weekdays .saturday{color:#3d7ea3}.large-date-days button{color:#25464b;background:0 0;border:1px solid #0000;border-radius:6px;min-height:38px;font-size:14px;font-weight:600;transition:background .14s,color .14s,border-color .14s}.large-date-days button:hover:not(:disabled):not(.selected){color:#0d626c;background:#edf6f5}.large-date-days button.today:not(.selected){color:#0d6670;border-color:#80b6b8}.large-date-days button.selected{color:#fff;background:#176b74;border-color:#176b74;box-shadow:0 4px 9px #176b7433}.large-date-days button.unavailable,.large-date-days button:disabled{color:#b3c0c2;opacity:.85;cursor:not-allowed;background:0 0;border-color:#0000;text-decoration:none}.large-date-days button.muted{color:#d3dcde;background:0 0}.month-picker{position:relative}.month-picker-trigger{background:var(--paper);color:#17202a;text-align:left;border:1px solid #c7d3d9;border-radius:14px;width:100%;min-height:42px;padding:9px 11px}.month-picker-panel{z-index:20;border-radius:var(--radius-card);background:var(--paper);border:1px solid #cbd6db;width:min(520px,100vw - 48px);max-height:360px;padding:12px;position:absolute;top:calc(100% + 6px);left:0;overflow:auto;box-shadow:0 16px 36px #47352229}.month-year{gap:8px;padding-bottom:14px;display:grid}.month-year+.month-year{border-top:1px solid #e3eaee;padding-top:14px}.month-year h3{margin:0;font-size:15px}.month-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;display:grid}.month-grid button{border-radius:var(--radius-control);color:#17202a;background:#fffdf8;border:1px solid #cbd6db;min-height:36px}.month-grid button:disabled{color:#9aa8b0;cursor:not-allowed;background:#f2f5f6;border-color:#e1e7ea}.month-grid button.selected{background:var(--accent-violet);border-color:var(--accent-violet);color:#fff}.search{width:100%}.primary{background:var(--ink);color:#fff;border-radius:var(--radius-control);border:0;justify-content:center;align-items:center;gap:10px;padding:12px 16px;text-decoration:none;display:inline-flex}.notice{background:var(--sky);border-radius:var(--radius-card);border:1px solid #bfd3e3;padding:12px}.admin-issue-notice{justify-content:space-between;align-items:center;gap:14px;display:flex}.admin-issue-notice p{margin:0;line-height:1.55}.admin-issue-notice .issue-list-button{border-radius:var(--radius-control);color:#123d7a;white-space:nowrap;background:#fff;border:1px solid #bfd4ea;flex:none;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:8px 14px;font-size:14px;font-weight:800;line-height:1;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s;display:inline-flex;box-shadow:0 8px 18px #133d7a14}.admin-issue-notice .issue-list-button:hover{background:#f5f9ff;border-color:#8eb9e5;transform:translateY(-1px);box-shadow:0 10px 22px #133d7a21}.admin-issue-notice .issue-list-button:focus-visible{outline-offset:2px;outline:3px solid #2563eb3d}@media(max-width:640px){.admin-issue-notice{flex-direction:column;align-items:stretch}.admin-issue-notice .issue-list-button{width:100%}}.result.pass{background:#f1f8f0;border-color:#8cc9a3}.result.fail{background:#fff3ef;border-color:#d79b91}.result.pending{background:#fff9e6;border-color:#d7c38b}.self-checklist .panel-head p{color:var(--muted);margin:6px 0 0}.self-checklist .panel-head>strong{text-align:center;min-width:72px;color:var(--accent-violet);font-size:28px}.self-checklist-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.self-checklist-grid label{border:1px solid var(--line);border-radius:var(--radius-card);background:#f8f4eb;align-items:center;gap:10px;padding:12px;display:flex}.self-checklist-grid input{flex:none;width:20px;min-height:20px}.checklist-complete{border-radius:var(--radius-card);color:#28533a;background:#eef8f0;border:1px solid #8cc9a3;margin-top:14px;padding:14px 16px;font-size:17px;font-weight:700;line-height:1.45}table{border-collapse:collapse;width:100%}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid #e3eaee;padding:10px}th{color:var(--ink);background:#eee7dc}.table-wrap{overflow-x:auto}.table-sort-button{width:26px;min-width:26px;height:26px;min-height:26px;color:var(--teal-dark);vertical-align:middle;background:0 0;border:0;border-radius:4px;place-items:center;margin-left:4px;padding:0;font-size:16px;font-weight:700;line-height:1;display:inline-grid}.table-sort-button:hover{background:#17484b1a}.table-sort-button:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.table-filters{background:var(--sky);border:1px solid var(--line);border-radius:var(--radius-card);grid-template-columns:repeat(4,minmax(150px,1fr));align-items:end;gap:10px;margin:14px 0;padding:12px;display:grid}.table-filters button{border-radius:var(--radius-control);background:var(--paper);min-height:42px;color:var(--ink);border:1px solid #cbd6db}.roster-filter-bar{flex-wrap:nowrap;align-items:center;gap:10px;margin:0 0 14px;display:flex;overflow-x:auto}.roster-filter-bar label{min-width:170px;color:var(--ink);gap:6px;font-size:13px;font-weight:700;display:grid}.roster-filter-bar input,.roster-filter-bar select{min-height:42px}.roster-filter-search-control{flex:0 0 calc(50% - 5px);justify-content:flex-start;align-items:center;gap:6px;width:calc(50% - 5px);min-width:220px;max-width:50%;height:42px;display:flex}.roster-filter-search{flex:1 1 0;width:0;height:42px;min-height:42px;max-height:42px;margin:0;padding:0;min-width:0!important;display:block!important}.roster-filter-search input{box-sizing:border-box;width:100%;height:42px;min-height:42px;padding-left:12px;display:block}.roster-filter-search-button{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--paper);width:42px;min-width:42px;height:42px;color:var(--ink)}.roster-filter-search-button:hover,.roster-filter-search-button:focus-visible{background:#f3f8ff;border-color:#8caac6}.roster-filter-count{min-height:42px;color:var(--muted);align-items:center;font-size:13px;font-weight:700;display:inline-flex}.roster-filter-reset{margin-bottom:1px}.schedule-table select{min-width:96px}.schedule-table{min-width:920px}.schedule-table input[type=checkbox]{width:20px;min-height:20px}.time-input-group{align-items:center;min-width:104px;display:block}.time-input-group select,.time-input-group input[type=time]{width:100%;min-height:38px;padding:7px 9px;font-size:15px}.schedule-summary{color:#53636e;flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;display:flex}.schedule-summary span,.schedule-summary strong{border-radius:var(--radius-control);background:var(--sky);border:1px solid #d9e1e5;padding:9px 12px}.schedule-summary strong{color:#17202a}.check-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px;display:grid}.check-grid.inline{grid-template-columns:repeat(auto-fit,minmax(92px,1fr))}.check-grid label{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--paper);word-break:keep-all;overflow-wrap:normal;flex-direction:row;justify-content:center;align-items:center;gap:8px;padding:8px 10px;line-height:1.45;display:flex}.check-grid input{flex:none;width:14px;min-height:14px;margin-top:0}.check-grid.inline label{text-align:center;min-height:38px}.embedded-check-section,.embedded-contract-options{border-top:1px dashed var(--line);margin-top:16px;padding-top:14px}.option-block{gap:10px;margin-top:14px;display:grid}.contract-break-summary{margin:18px 0}.total-pdf-footer{justify-content:center;padding:18px 0 4px;display:flex}.process-panel{grid-template-columns:1fr 1fr;gap:18px;display:grid}.process-panel article{background:linear-gradient(180deg,#fffdf8,var(--sage));border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--soft-shadow);min-height:210px;padding:24px}.process-panel article span{border-radius:var(--radius-control);color:#345d4a;text-align:center;background:#dcebe4;min-width:92px;margin-bottom:18px;padding:10px 14px;font-weight:800;display:inline-block}.process-panel article h2{color:var(--ink);margin:0 0 12px}.process-panel article p{color:var(--muted);margin:0;line-height:1.65}.process-panel .highlight{background:linear-gradient(180deg,#fffdf8,var(--clay))}.process-panel .highlight span{background:var(--clay);color:#7f432a}.file-button{position:relative;overflow:hidden}.file-button input{opacity:0;cursor:pointer;position:absolute;top:0;right:0;bottom:0;left:0}.ticket-upload-field{grid-template-rows:auto auto auto}.ticket-upload-field small{color:var(--muted);font-size:13px;font-weight:600;line-height:1.45}.ticket-file-list{border:1px solid var(--line);background:#f8fbff;border-radius:16px;gap:8px;margin-top:10px;padding:12px;display:grid}.ticket-file-list strong{color:var(--ink)}.ticket-file-list span{color:var(--muted);word-break:break-all;justify-content:space-between;align-items:center;gap:10px;font-size:13px;line-height:1.35;display:flex}.ticket-file-list button{min-height:32px;color:var(--ink);background:#fff;border:1px solid #cbd6db;border-radius:999px;flex:none;padding:4px 10px;font-weight:800}.actions .file-button svg,.actions button svg,.panel-head .file-button svg,.panel-head button svg{stroke-width:2.2px;flex:0 0 18px;width:18px;height:18px}.camera-capture-input{opacity:0;pointer-events:none;width:1px;height:1px;position:fixed}.form-help{color:var(--muted);margin:4px 0 0;line-height:1.55}.error-text{color:#c2410c;font-weight:800}.save-text{color:#0f6f8f;font-weight:800}.camera-actions svg{width:15px;height:15px}.camera-source-actions>.secondary,.camera-source-actions>.file-button{justify-content:center;align-items:center;gap:8px;min-width:196px;min-height:46px;padding:10px 16px;font-family:inherit;font-size:14px;font-weight:700;line-height:1.4;display:inline-flex}.camera-source-actions svg{flex:0 0 16px;width:16px;height:16px}.return-opinion-field,.signature-box{margin-bottom:18px}.return-submit-actions,.dorm-submit-actions{margin-top:18px}.professor-google-login{justify-items:center;gap:14px;width:min(420px,100%);margin-top:18px;display:grid}.admin-google-login{z-index:1000;pointer-events:auto;position:relative}.google-login-retry{justify-items:center;gap:10px;display:grid}.google-oauth-link{z-index:1001;pointer-events:auto;touch-action:manipulation;justify-content:center;align-items:center;min-width:min(100%,280px);min-height:46px;text-decoration:none;display:inline-flex;position:relative}.google-login-retry .notice{margin:0}.google-login-button{place-items:center;width:min(360px,100%);min-height:44px;display:grid}.google-login-button[hidden]{display:none}.assistant-portal .form-grid>label{min-width:0}.assistant-portal input[type=file]{max-width:100%}.assistant-portal input[type=file]+small{color:var(--muted);margin-top:7px;font-size:12px;display:block}input[type=file]::file-selector-button{color:#075a84;min-height:34px;font:inherit;cursor:pointer;background:#e8f4fa;border:1px solid #9fc7dc;border-radius:6px;margin-right:10px;padding:0 12px;font-weight:700}input[type=file]::file-selector-button:hover{background:#d7ebf5}input[type=file]::-webkit-file-upload-button{color:#075a84;min-height:34px;font:inherit;cursor:pointer;background:#e8f4fa;border:1px solid #9fc7dc;border-radius:6px;margin-right:10px;padding:0 12px;font-weight:700}.attendance-period-options,.assistant-attendance-period{border:1px solid var(--line);border-radius:12px;min-width:0;margin:0;padding:14px}.attendance-period-options{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.attendance-period-options legend,.assistant-attendance-period legend{color:var(--ink);padding:0 6px;font-weight:800}.attendance-period-options label{border:1px solid var(--line);background:#fff;border-radius:999px;align-items:center;gap:8px;min-height:40px;padding:0 12px;font-weight:700;display:inline-flex}.attendance-period-options input{width:18px;height:18px;accent-color:var(--brand);margin:0}.assistant-attendance-period{background:#fcfdfd;grid-template-columns:minmax(220px,1fr);gap:14px;display:grid}.assistant-attendance-period>label{color:var(--ink);gap:7px;font-size:13px;font-weight:700;display:grid}.assistant-attendance-counts{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.assistant-attendance-counts label{min-width:0;color:var(--ink);gap:7px;font-size:13px;font-weight:700;display:grid}.attendance-photo-filters{flex-wrap:wrap;gap:12px;margin:16px 0;display:flex}.attendance-photo-filters label{min-width:200px;color:var(--ink);gap:6px;font-size:13px;font-weight:700;display:grid}.attendance-photo-filters input,.attendance-photo-filters select,.attendance-photo-date-picker{min-height:42px}.attendance-photo-date-picker .date-trigger{justify-content:space-between;min-height:42px}.attendance-photo-date-picker .date-trigger span{min-width:0}.attendance-photo-date-picker:has(.attendance-photo-date-panel){width:min(360px,100vw - 96px);max-width:100%}.attendance-photo-date-picker .large-date-panel{box-sizing:border-box;z-index:60;width:100%;min-width:0;position:relative;top:auto;left:auto}.attendance-photo-date-actions{border-top:1px solid #dce5e6;justify-content:flex-end;margin-top:10px;padding-top:10px;display:flex}.attendance-photo-date-actions button{color:#176b74;min-height:32px;font:inherit;background:0 0;border:0;padding:0 4px;font-size:13px;font-weight:700}.attendance-photo-date-actions button:hover{color:#0d5962;text-decoration:underline}.attendance-photo-missing{background:#fff8f5;border:1px solid #edc8bd;border-radius:12px;margin:0 0 16px;padding:14px 16px}.attendance-photo-missing>div{color:var(--ink);justify-content:space-between;align-items:center;gap:12px;display:flex}.attendance-photo-missing>div span{color:#b4533c;font-weight:700}.attendance-photo-missing ul{flex-wrap:wrap;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.attendance-photo-missing li{color:#7f3829;background:#fff;border:1px solid #f0d5cd;border-radius:999px;align-items:center;gap:7px;padding:7px 10px;font-size:13px;display:inline-flex}.attendance-photo-missing li span{color:#825e56}.attendance-photo-missing p{color:#216a55;margin:10px 0 0}.attendance-photo-edit-panel{scroll-margin-top:18px}.attendance-photo-edit-panel .panel-head{margin-bottom:18px}.attendance-photo-edit-panel .assistant-attendance-counts{margin-top:2px}@media(max-width:720px){.assistant-portal .panel-head{align-items:flex-start;gap:12px}.assistant-portal .form-actions,.assistant-portal .form-actions .primary{width:100%}.assistant-portal input,.assistant-portal select{font-size:16px}.attendance-period-options,.assistant-attendance-period{padding:12px}.assistant-attendance-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-photo-filters{grid-template-columns:1fr;display:grid}.attendance-photo-filters label{min-width:0}.attendance-photo-edit-panel .panel-head{align-items:flex-start;gap:12px}}.camera-permission-backdrop{z-index:120;background:#0f172a5c;place-items:center;padding:18px;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.camera-permission-card{text-align:center;background:#fffdf8;border:3px solid #1f2937;border-radius:14px;width:min(420px,100%);padding:24px 28px 22px;position:relative;box-shadow:0 22px 55px #0f172a42}.camera-permission-card:before{content:"";background:#fffdf8;border-bottom:3px solid #1f2937;border-left:3px solid #1f2937;width:26px;height:22px;position:absolute;top:46px;left:-22px;transform:skew(-28deg)rotate(16deg)}.camera-permission-card h2{color:#111827;margin:0 0 12px;font-size:19px}.camera-permission-card p{color:#6b7280;max-width:310px;margin:0 auto 18px;font-size:15px;line-height:1.5}.camera-permission-close{color:#fff;background:#4141369e;border:0;border-radius:999px;width:34px;height:34px;font-size:24px;line-height:1;position:absolute;top:-18px;right:-16px}.camera-permission-actions{justify-content:center;gap:18px;display:flex}.camera-permission-actions button{color:#fff;border:0;border-radius:8px;min-width:96px;min-height:40px;font-weight:900}.permission-deny{background:#ffb300}.permission-allow{background:#7fc1db}.camera-panel{gap:14px;padding:16px;display:grid}.camera-panel video{object-fit:contain;background:#0f172a;border-radius:22px;width:100%;max-height:520px}.embedded-admin{padding:0}.signature-box{border:1px solid var(--line);border-radius:var(--radius-card);background:#faf7f1;gap:10px;margin-top:16px;padding:14px;display:grid}.signature-box canvas{border-radius:var(--radius-card);background:var(--paper);touch-action:none;border:1px dashed #a99d8e;width:100%;max-width:720px;height:220px}.preview-grid{gap:10px;display:grid}.preview-grid>div{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-card);padding:12px}.document-preview-card{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--paper);grid-template-columns:96px 1fr;align-items:start;gap:14px;padding:12px;display:grid}.document-preview-card img{aspect-ratio:3/4;object-fit:cover;background:#fff;border:1px solid #dfe8ed;border-radius:14px;width:96px}.document-preview-card strong{color:var(--ink);word-break:break-all;margin-bottom:8px;display:block}.document-preview-card label{color:var(--muted);gap:6px;margin-bottom:10px;font-weight:800;display:grid}.two-col{grid-template-columns:1fr 1fr;gap:14px;display:grid}.procedure-image-list{gap:22px;display:grid}.procedure-image-guide{gap:18px;display:grid}.procedure-image-guide .panel-head{align-items:center}.procedure-image-guide h2{margin:0 0 6px}.procedure-image-guide p{color:var(--muted);margin:0}.procedure-pages{gap:18px;display:grid}.procedure-page{background:#f8fbff;border:1px solid #dce8f4;border-radius:24px;grid-template-columns:54px minmax(0,1fr);align-items:start;gap:14px;margin:0;padding:14px;display:grid}.procedure-page figcaption{color:#fff;background:#174b8f;border-radius:16px;place-items:center;width:42px;height:42px;font-size:13px;font-weight:800;display:grid;position:sticky;top:92px}.procedure-page img{background:#fff;border:1px solid #d5e2ef;border-radius:16px;width:100%;display:block;box-shadow:0 12px 28px #13233f14}.location svg{color:var(--accent-sage)}.login{justify-items:stretch;gap:14px;width:min(720px,100%);margin:0 auto;display:grid}main.login{place-content:center;min-height:calc(100vh - 72px)}.login-inline{grid-template-columns:minmax(240px,1fr) auto;align-items:center;gap:10px;width:100%;display:grid}.login-inline .primary{min-height:46px;padding-inline:24px}main.login>input+button{justify-self:stretch}.stats{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.stat,.chip-grid button{background:linear-gradient(180deg,#fffdf8,var(--butter));border:1px solid var(--line);border-radius:var(--radius-card);text-align:left;box-shadow:var(--soft-shadow);padding:18px}.stat:nth-child(2n),.chip-grid button:nth-child(2n){background:linear-gradient(180deg,#fffdf8,var(--sky))}.stat:nth-child(3n),.chip-grid button:nth-child(3n){background:linear-gradient(180deg,#fffdf8,var(--sage))}.stat strong{color:var(--ink);margin-top:8px;font-size:36px;display:block}.chip-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.chip-grid strong{color:var(--accent-sage);margin-top:8px;display:block}.dashboard-group-label-mobile{display:none}.panel-head{justify-content:space-between}.visitor-stats-panel .panel-head p{color:var(--muted);margin:6px 0 0;line-height:1.45}.visitor-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.visitor-stat-grid article{background:#f8fbff;border:1px solid #dbe7f2;border-radius:18px;gap:6px;min-height:118px;padding:16px;display:grid}.visitor-stat-grid article:nth-child(2){background:#f0fffb}.visitor-stat-grid article:nth-child(3){background:#fff8ef}.visitor-stat-grid article:nth-child(4){background:#f6f8fb}.visitor-stat-grid span{color:var(--muted);font-size:13px;font-weight:800}.visitor-stat-grid strong{color:var(--ink);font-size:34px;line-height:1}.visitor-stat-grid small{color:var(--muted);line-height:1.35}.visitor-days{gap:8px;margin-top:14px;display:grid}.visitor-days div{background:#fff;border:1px solid #e3edf7;border-radius:14px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.visitor-days span{color:var(--muted);font-weight:800}.visitor-days strong{color:var(--ink)}.visitor-days small{color:var(--muted)}.visitor-chart{border:1px solid var(--line);background:#fbfdff;border-radius:16px;grid-template-columns:repeat(14,minmax(34px,1fr));align-items:end;gap:8px;min-height:220px;margin-top:18px;padding:18px 12px 8px;display:grid;overflow-x:auto}.visitor-chart-column{grid-template-rows:24px minmax(0,1fr) 24px;place-items:end center;gap:4px;height:170px;display:grid}.visitor-chart-column strong,.visitor-chart-column small{white-space:nowrap;font-size:11px}.visitor-chart-column span{background:#2563eb;border-radius:6px 6px 2px 2px;align-self:end;width:min(26px,72%);min-height:4px}.guide-section .list{margin-top:14px}.dorm-pledge-text{border:1px solid var(--line);color:var(--ink);background:#f8fbff;border-radius:18px;margin-top:28px;padding:24px}.dorm-pledge-text>p{margin:0 0 20px;line-height:1.7}.dorm-pledge-text ol{gap:12px;margin:0;padding-left:24px;display:grid}.dorm-pledge-text li{padding-left:4px;line-height:1.55}.dorm-pledge-text li strong,.dorm-pledge-text li span{display:block}.dorm-pledge-text li span{color:var(--muted);margin-top:3px}.dormitory-form .actions{padding-right:64px}.retirement-panel .section-title{margin-top:0}.home-page{gap:28px;max-width:1220px;margin:0 auto;padding:24px 24px 56px;display:grid}.home-hero{min-height:300px;box-shadow:var(--soft-shadow);background:linear-gradient(135deg,#fffffffa,#f2f8fffa 58%,#dff7f0eb);border:1px solid #d8e6f5;border-radius:32px;grid-template-columns:minmax(0,1fr) minmax(300px,380px);align-items:stretch;gap:28px;padding:36px;display:grid;overflow:hidden}.home-hero-copy{align-content:center;gap:18px;display:grid}.hero-brand-strip{justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px;display:flex}.hero-top-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.hero-brand{align-items:center;gap:16px;display:flex}.hero-brand span.hero-brand-mark{background:#fff;border-radius:17px;place-items:center;width:62px;height:62px;padding:2px;display:grid;overflow:hidden}.hero-brand strong{color:var(--ink);font-size:23px;line-height:1.25;display:block}.hero-brand small{color:var(--muted);margin-top:3px;font-size:15px;line-height:1.35;display:block}.hero-admin-link{border-radius:var(--radius-control);min-height:38px;color:var(--ink);touch-action:manipulation;white-space:nowrap;background:#ffffffb8;border:1px solid #cfe0f1;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-weight:800;text-decoration:none;display:inline-flex}.hero-admin-link svg{stroke-width:2.2px;flex:0 0 16px}.hero-admin-link:hover{background:#fff;border-color:#9fc3e9}.hero-language-menu .language-options{left:0;right:auto}.home-kicker{border-radius:var(--radius-control);color:#174b8f;letter-spacing:.02em;text-transform:uppercase;background:#e8f1ff;width:fit-content;padding:8px 14px;font-size:13px;font-weight:800}.home-hero h1{max-width:760px;color:var(--ink);margin:0;font-size:42px;line-height:1.18}.home-hero p{max-width:650px;color:var(--muted);margin:0;font-size:17px;line-height:1.65}.hero-search{border-radius:var(--radius-control);max-width:720px;min-height:62px;color:var(--accent-blue);background:#fff;border:2px solid #b7d3ef;align-items:center;gap:12px;margin-top:8px;padding:8px 8px 8px 20px;display:flex;box-shadow:0 18px 38px #2563eb1f}.hero-search input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:16px}.hero-search button{border-radius:var(--radius-control);color:#fff;background:#174b8f;border:0;min-width:82px;min-height:46px;font-weight:800}.quick-actions,.home-panel{border:1px solid var(--line);background:#fff;border-radius:28px;box-shadow:0 12px 34px #13233f0f}.quick-actions{gap:20px;padding:24px;display:grid}.section-head{justify-content:space-between;align-items:end;gap:16px;display:flex}.section-head h2{color:var(--ink);margin:0;font-size:24px}.section-head p{color:var(--muted);margin:0;font-size:14px}.quick-action-grid{grid-template-columns:repeat(var(--quick-count,6),minmax(0,1fr));gap:12px;display:grid}.question-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.question-form label,.question-admin-item label{gap:7px;font-weight:700;display:grid}.question-password-note{color:#62787d;font-size:13px;font-weight:500;line-height:1.45}.question-body-field{grid-column:1/-1}.question-body-field textarea,.question-admin-item textarea{resize:vertical;min-height:110px}.question-visibility{border:0;align-self:end;align-items:center;gap:18px;min-width:0;margin:0;padding:0;display:flex}.question-form .question-visibility label{cursor:pointer;flex-direction:row;grid-template-columns:none;align-items:center;gap:8px;min-height:42px;margin:0;display:flex}.question-visibility input[type=checkbox]{width:18px;min-height:18px;accent-color:var(--navy);flex:none;margin:0}.question-list,.question-admin-list{gap:12px;margin-top:18px;display:grid}.question-item,.question-admin-item{border-top:1px solid #dce6f0;padding:16px 0 4px}.question-item>div:first-child{justify-content:space-between;gap:12px;display:flex}.question-item strong,.question-admin-item h2{align-items:center;gap:6px;display:flex}.question-item small,.question-admin-item small{color:var(--muted)}.question-answer{background:#f2f7fc;border-radius:8px;margin-top:12px;padding:14px}.question-unlock{gap:8px;margin-top:12px;display:flex}.question-unlock input{flex:1}.question-admin-item{grid-template-columns:minmax(0,1fr) minmax(280px,.65fr) auto;align-items:end;gap:16px;display:grid}.quiz-source-note{align-items:center;gap:12px;display:flex}.quiz-source-note p{margin:0}.quiz-passage-row{grid-template-columns:42px minmax(0,1fr);align-items:start;gap:12px;display:grid}.quiz-passage-row>.faq-number{margin-top:6px;position:static}.quiz-passage{background:#f2f7fc;min-width:0;margin:0;padding:14px;line-height:1.7}.quiz-question h2{font-size:19px}.quiz-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.quiz-choices label{text-align:left;border:1px solid #d5e1ed;border-radius:8px;grid-template-columns:20px minmax(0,1fr);justify-content:start;align-items:center;gap:10px;min-height:44px;padding:8px 12px;display:grid}.quiz-choices input[type=radio]{justify-self:start;width:20px;min-width:20px;height:20px;min-height:20px;margin:0}.quiz-choices label span{text-align:left;overflow-wrap:anywhere;word-break:keep-all;min-width:0}.quiz-correct{color:#08765f;font-weight:800}.quiz-wrong{color:#b32d24;font-weight:800}.quick-action{min-height:136px;color:var(--ink);text-align:center;touch-action:manipulation;background:#f7fbff;border:1px solid #0000;border-radius:26px;align-content:center;justify-items:center;gap:8px;padding:16px 10px;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid}.quick-icon{color:#fff;border-radius:22px;place-items:center;width:58px;height:58px;display:grid}.quick-icon svg,.flow-icon svg,.menu-card svg,.category-card svg{color:#fff;stroke:#fff}.quick-action strong{font-size:16px;font-weight:800;line-height:1.35}.quick-action small{color:var(--muted);font-size:12px}.tone-blue{background:#f2f5fb}.tone-coral{background:#fff3f5}.tone-mint{background:#f0f8f5}.tone-navy{background:#f5f1fa}.tone-slate{background:#f7f7f9}.home-info-grid{grid-template-columns:minmax(0,1.08fr) repeat(2,minmax(0,.96fr));grid-template-areas:"services notices bulletin""consult consult consult";gap:18px;display:grid}.frequent-panel{grid-area:services}.notice-panel{grid-area:notices}.bulletin-panel{grid-area:bulletin}.bulletin-panel-head{align-items:center;gap:12px}.bulletin-panel-head a{color:#174b8f;white-space:nowrap;font-size:13px;font-weight:800;text-decoration:none}.bulletin-panel-head a:hover,.bulletin-panel-head a:focus-visible{text-decoration:underline}.home-schedule-panel{min-height:228px;color:var(--ink);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffd1;border-color:#c8ddf4;align-self:stretch;box-shadow:0 18px 40px #174b8f1f}.home-schedule-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.home-schedule-head h2{color:var(--ink);margin:0;font-size:22px}.home-schedule-head span{color:#174b8f;font-weight:800}.home-schedule-list{scrollbar-color:#9c8ab3 #f1eaf2;gap:8px;max-height:188px;margin-top:18px;padding-right:8px;display:grid;overflow:auto}.home-schedule-item{background:#fff7f8;border:1px solid #efe2e7;border-radius:18px;gap:6px;padding:14px 16px;display:grid}.home-schedule-item time{color:#bd6677;font-weight:900}.home-schedule-item strong{color:var(--ink);line-height:1.45}.home-schedule-item.holiday{background:#fff3f3;border-color:#f6c9c9}.home-schedule-item.holiday time,.home-schedule-item.holiday strong{color:#c62828}.consult-panel{color:#fff;background:linear-gradient(135deg,#102a55,#0f6f8f);grid-area:consult;justify-content:space-between;align-items:center;gap:24px;display:flex;overflow:hidden}.consult-panel-content{width:100%;min-width:0}.consult-panel-heading{align-items:center;gap:12px;display:flex}.consult-panel-icon{color:#fff;background:#ffffff24;border:1px solid #ffffff47;border-radius:50%;flex:0 0 46px;justify-content:center;align-items:center;width:46px;height:46px;display:inline-flex;box-shadow:0 8px 20px #04183638}.consult-panel h2,.consult-panel p{margin:0}.consult-panel h2{font-size:23px;line-height:1.35}.consult-panel p{color:#ffffffc7;max-width:620px;margin-top:8px;line-height:1.6}.consult-hours{border-top:1px solid #fff3;border-bottom:1px solid #fff3;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:18px 0 0;display:grid}.consult-hours div{background:0 0;border:0;border-right:1px solid #ffffff2e;border-radius:0;align-content:center;gap:5px;min-height:78px;padding:13px 18px;display:grid}.consult-hours div:first-child{padding-left:0}.consult-hours div:last-child{border-right:0;padding-right:0}.consult-hours dt,.consult-hours dd{margin:0}.consult-hours dt{color:#ffffffc7;font-weight:700}.consult-hours dt:after{content:""}.consult-hours dd{color:#fff;word-break:keep-all;font-size:18px;font-weight:800;line-height:1.4}.consult-hours dd small{color:#ffffffb8;font-size:12px;font-weight:700;display:inline}.consult-contact{color:#fff;align-items:center;gap:10px;margin-top:15px;display:flex}.consult-contact>svg{flex:none}.consult-contact p{color:#fff;flex-wrap:wrap;align-items:baseline;gap:6px 10px;max-width:none;margin-top:0;display:flex}.consult-contact strong{font-weight:800}.consult-phone-links{align-items:center;gap:6px;font-size:17px;font-weight:800;display:inline-flex}.consult-phone-links a{color:#fff;text-decoration:none}.consult-phone-links a:hover,.consult-phone-links a:focus-visible{text-decoration:underline}.consult-contact small{color:#ffffffb8;font-size:12px;font-weight:700}.consult-actions{flex-wrap:wrap;gap:10px;display:flex}.consult-actions button{border-radius:var(--radius-control);color:#fff;background:#ffffff1f;border:1px solid #ffffff47;align-items:center;gap:8px;min-height:44px;padding:0 16px;font-weight:700;display:inline-flex}.service-list{gap:10px;margin-top:18px;display:grid}.service-row{text-align:left;width:100%;color:var(--ink);touch-action:manipulation;background:#fbfdff;border:1px solid #e0eaf5;border-radius:20px;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:14px;padding:14px;text-decoration:none;display:grid}.service-row>span{width:46px;height:46px;color:var(--accent-blue);background:#eaf4ff;border-radius:18px;place-items:center;display:grid}.service-row svg{color:#111827;stroke:#111827}.service-row strong{font-weight:800;display:block}.service-row small{color:var(--muted);margin-top:3px;line-height:1.4;display:block}.notice-list{gap:12px;margin:18px 0 0;padding:0;list-style:none;display:grid}.notice-list li{border-bottom:1px solid #e6edf5;gap:7px;padding-bottom:12px;display:grid}.notice-list li:last-child{border-bottom:0;padding-bottom:0}.notice-list li.notice-title-only{gap:7px}.notice-list span{border-radius:var(--radius-control);color:#174b8f;background:#eff6ff;width:fit-content;padding:5px 10px;font-size:12px;font-weight:800}.notice-list p{color:var(--ink);margin:0;line-height:1.55}.notice-list a{color:var(--ink);font-weight:700;line-height:1.55;text-decoration:none;display:block}.notice-list a:hover{color:var(--accent-blue);text-decoration:underline}.hikorea-notice-list{border-top:1px solid #dce6f0;margin:18px 0 0;padding:0;list-style:none;display:grid}.hikorea-notice-list li{border-bottom:1px solid #dce6f0;grid-template-columns:118px minmax(0,1fr);align-items:center;gap:16px;min-height:70px;padding:14px 8px;display:grid}.hikorea-notice-list span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:14px}.hikorea-notice-list a{min-width:0;color:var(--ink);font-weight:700;line-height:1.55;text-decoration:none}.hikorea-notice-list a:hover,.hikorea-notice-list a:focus-visible{color:var(--accent-blue);text-decoration:underline}.bulletin-page{width:min(1440px,100% - 48px);margin-inline:auto}.bulletin-list-panel,.bulletin-detail,.bulletin-editor{padding:24px}.bulletin-list{border-top:1px solid #dce6f0;margin-top:18px;display:grid}.bulletin-list-entry{border-bottom:1px solid #dce6f0;grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.bulletin-list-item{min-height:70px;color:var(--ink);text-align:left;background:0 0;border:0;border-bottom:1px solid #dce6f0;border-radius:0;grid-template-columns:118px minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px 8px;display:grid}.bulletin-list-entry .bulletin-list-item{border-bottom:0}.bulletin-share-button{border-radius:var(--radius-control);color:#154f91;white-space:nowrap;background:#edf6ff;border:1px solid #bfd7f2;justify-content:center;align-items:center;gap:6px;min-height:38px;padding:8px 12px;font-size:14px;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}.bulletin-share-button:hover{color:#0d407b;background:#dfefff;border-color:#7eafe4}.bulletin-share-button:focus-visible{outline-offset:2px;outline:3px solid #2563eb33}.bulletin-share-button svg{stroke-width:2.2px;width:17px;height:17px}.bulletin-list-share{margin-right:8px}.bulletin-list-item:hover,.bulletin-list-item:focus-visible{background:#f5f9fd}.bulletin-list-item span,.bulletin-list-item small{color:var(--muted)}.bulletin-list-item strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:16px;overflow:hidden}.bulletin-detail-head,.bulletin-article-head p,.bulletin-toolbar,.bulletin-editor-photos>strong{align-items:center;display:flex}.bulletin-detail-head{justify-content:space-between}.bulletin-detail-head button,.bulletin-editor .actions button,.bulletin-list-panel .panel-head>button{justify-content:center;align-items:center;gap:7px;display:inline-flex}.bulletin-article-head{border-bottom:1px solid #dce6f0;margin-top:20px;padding:26px 4px 20px}.bulletin-article-head h2{letter-spacing:0;margin:0;font-size:28px}.bulletin-article-head p{color:var(--muted);flex-wrap:wrap;gap:8px 14px;margin:13px 0 0}.bulletin-content{min-height:220px;color:var(--ink);overflow-wrap:anywhere;padding:28px 4px;font-size:16px;line-height:1.75}.bulletin-content>:first-child{margin-top:0}.bulletin-content>:last-child{margin-bottom:0}.bulletin-content a{color:#145ca8;text-underline-offset:3px;overflow-wrap:anywhere;font-weight:700;text-decoration:underline;text-decoration-thickness:1px}.bulletin-content a:hover,.bulletin-content a:focus-visible{color:#0b3f7d}.bulletin-content table,.bulletin-rich-editor table{border-collapse:collapse;width:100%}.bulletin-content th,.bulletin-content td,.bulletin-rich-editor th,.bulletin-rich-editor td{border:1px solid #aebdcd;min-width:80px;padding:10px}.bulletin-gallery{border-top:1px solid #dce6f0;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-top:22px;display:grid}.bulletin-gallery figure,.bulletin-photo-grid figure{background:#f6f9fc;border:1px solid #d7e2ee;border-radius:8px;margin:0;overflow:hidden}.bulletin-gallery img{object-fit:contain;background:#fff;width:100%;max-height:560px;display:block}.bulletin-image-button{cursor:zoom-in;background:#fff;border:0;border-radius:0;width:100%;padding:0;display:block}.bulletin-image-button:focus-visible{outline-offset:-3px;outline:3px solid #2563eb61}.bulletin-lightbox{z-index:10000;overscroll-behavior:contain;background:#081427e0;place-items:center;padding:28px;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.bulletin-lightbox>img{object-fit:contain;width:auto;max-width:calc(100vw - 56px);height:auto;max-height:calc(100dvh - 56px);display:block;box-shadow:0 18px 60px #0000006b}.bulletin-lightbox-close{top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));z-index:1;color:#102544;background:#fffffff5;border:1px solid #ffffffad;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:inline-flex;position:fixed;box-shadow:0 8px 24px #00000047}.bulletin-lightbox-close:hover{background:#fff}.bulletin-lightbox-close:focus-visible{outline-offset:3px;outline:3px solid #8fc4ff}.bulletin-gallery figcaption{color:var(--muted);overflow-wrap:anywhere;padding:9px 12px;font-size:12px}.bulletin-editor{gap:20px;display:grid}.bulletin-editor-meta{margin:0}.bulletin-editor-field{gap:8px;display:grid}.bulletin-toolbar{background:#f4f7fa;border:1px solid #bdcbd9;border-bottom:0;border-radius:8px 8px 0 0;flex-wrap:wrap;gap:6px;min-height:48px;padding:7px}.bulletin-toolbar select{background-color:#fff;border-radius:6px;width:auto;min-width:90px;min-height:34px;padding:4px 28px 4px 8px;font-size:13px}.bulletin-toolbar select:nth-of-type(2){min-width:66px}.bulletin-toolbar .icon-only,.editor-color-tool{box-sizing:border-box;width:34px;min-width:34px;height:34px;min-height:34px;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:6px;grid-template-rows:1fr;align-content:center;place-items:center;gap:0;padding:0;display:inline-grid;overflow:hidden}.bulletin-toolbar .icon-only:hover,.bulletin-toolbar .icon-only:focus-visible,.editor-color-tool:hover{background:#fff;border-color:#b9c9da}.bulletin-table-tool{display:inline-flex;position:relative}.bulletin-table-picker{z-index:20;background:#fff;border:1px solid #b9c9da;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;width:226px;padding:12px;display:grid;position:absolute;top:calc(100% + 7px);left:0;box-shadow:0 10px 28px #102a5529}.bulletin-table-picker label{color:var(--muted);gap:5px;font-size:12px;font-weight:700;display:grid}.bulletin-toolbar .bulletin-table-picker select{width:100%;min-width:0}.bulletin-table-picker .primary{grid-column:1/-1;justify-content:center;min-height:34px}.editor-color-tool{cursor:pointer;font-weight:900;position:relative}.editor-color-tool>span,.editor-color-tool>svg{z-index:1;pointer-events:none;position:relative}.editor-color-tool:after{content:"";background:var(--editor-color,#102a55);border-radius:2px;height:4px;position:absolute;bottom:5px;left:7px;right:7px}.editor-color-tool input{z-index:2;opacity:0;cursor:pointer;border:0;width:100%;height:100%;min-height:0;padding:0;position:absolute;top:0;right:0;bottom:0;left:0}.bulletin-rich-editor{min-height:360px;color:var(--ink);background:#fff;border:1px solid #bdcbd9;border-radius:0 0 8px 8px;outline:none;padding:18px;font-size:16px;line-height:1.65;overflow:auto}.bulletin-rich-editor:focus{border-color:#4f8edb;box-shadow:0 0 0 3px #4f8edb21}.bulletin-editor-photos{gap:10px;display:grid}.bulletin-photo-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.bulletin-photo-grid figure{aspect-ratio:4/3;position:relative}.bulletin-photo-grid img{object-fit:cover;width:100%;height:100%}.bulletin-photo-grid button{color:#b42318;background:#fffffff0;border-color:#bd2c2c47;border-radius:50%;place-items:center;width:32px;min-width:32px;height:32px;min-height:32px;padding:0;display:grid;position:absolute;top:6px;right:6px}.bulletin-attachments,.bulletin-editor-attachments{border-top:1px solid #dce6f0;gap:10px;padding-top:20px;display:grid}.bulletin-attachments h3{margin:0;font-size:17px}.bulletin-attachment-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.bulletin-attachment-head small{color:var(--muted)}.bulletin-attachment-list{gap:8px;display:grid}.bulletin-attachment-list>a,.bulletin-attachment-row{min-width:0;color:var(--ink);background:#f8fbfe;border:1px solid #d4e0ec;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 13px;text-decoration:none;display:grid}.bulletin-attachment-list>a:hover,.bulletin-attachment-list>a:focus-visible{background:#f0f7ff;border-color:#7caae0}.bulletin-attachment-list span{gap:3px;min-width:0;display:grid}.bulletin-attachment-list strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bulletin-attachment-list small{color:var(--muted);font-size:12px}.bulletin-attachment-row .icon-only{color:#b42318;place-items:center;width:34px;min-width:34px;height:34px;min-height:34px;padding:0;display:grid}.bulletin-attachment-row progress{accent-color:#1f64b7;width:min(320px,100%);height:7px}.danger-outline{color:#b42318;border-color:#efb4ae}.compact-actions{gap:8px}@media(max-width:720px){.bulletin-page{width:100%;padding-inline:10px}.bulletin-list-panel,.bulletin-detail,.bulletin-editor{padding:16px}.bulletin-list-item{grid-template-columns:1fr;gap:5px;min-height:0;padding:14px 4px}.bulletin-list-item strong{white-space:normal;overflow-wrap:anywhere}.bulletin-list-share{width:40px;min-width:40px;padding:8px}.bulletin-list-share span{display:none}.bulletin-detail-head{flex-direction:column;align-items:stretch}.bulletin-detail-head .actions{width:100%}.bulletin-detail-head .actions button{flex:1}.bulletin-article-head{padding-top:18px}.bulletin-article-head h2{font-size:22px}.bulletin-content{min-height:160px;padding-block:20px;font-size:15px}.bulletin-gallery{grid-template-columns:1fr}.bulletin-lightbox{padding:12px}.bulletin-lightbox>img{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.bulletin-editor-meta{grid-template-columns:1fr}.bulletin-toolbar{align-items:center}.bulletin-toolbar select{flex:120px}.bulletin-table-picker{width:auto;position:fixed;inset:auto 16px 16px}.bulletin-rich-editor{min-height:280px;padding:14px}.bulletin-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bulletin-attachment-head{flex-direction:column;align-items:flex-start;gap:4px}.bulletin-attachment-list>a,.bulletin-attachment-row{padding:10px}}.reservation-layout{grid-template-columns:minmax(0,1fr);gap:18px;display:grid}.reservation-card,.reservation-summary{border-radius:28px}.reservation-step{border-bottom:1px solid #e6edf5;gap:16px;margin-bottom:24px;padding-bottom:24px;display:grid}.reservation-step h2{color:var(--ink);align-items:center;gap:8px;margin:0;font-size:22px;display:flex}.reservation-step h2 svg{color:#111827;stroke:#111827}.reservation-date-time-grid{grid-template-columns:minmax(320px,520px) minmax(320px,1fr);align-items:start;gap:28px;display:grid}.reservation-calendar{width:100%}.reservation-month{grid-template-columns:44px 1fr 44px;place-items:center;margin-bottom:18px;display:grid}.reservation-month strong{font-size:22px;font-weight:900}.reservation-month button{color:#6b7280;background:#f4f8fd;border:0;border-radius:50%;width:36px;height:36px;font-size:30px;line-height:1}.reservation-month button:hover{color:#174b8f;background:#e7f0fb}.reservation-weekdays,.reservation-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.reservation-weekdays span{color:#475569;place-items:center;min-height:28px;font-weight:800;display:grid}.reservation-weekdays span:first-child{color:#ef4444}.reservation-weekdays span:last-child{color:#2563eb}.reservation-calendar-grid button{min-height:54px;color:var(--ink);background:0 0;border:0;border-radius:12px;place-items:center;gap:2px;font-weight:800;display:grid}.reservation-calendar-grid button small{color:inherit;font-size:11px;font-weight:900}.reservation-calendar-grid button:hover:not(:disabled){background:#eaf4ff}.reservation-calendar-grid button.active{color:#fff;background:#05a765}.reservation-calendar-grid button.closed:not(.active){color:#9ca3af;background:#f3f4f6}.reservation-calendar-grid button.today:not(.active){color:#05a765}.reservation-calendar-grid button.holiday:not(.active){color:#ef4444}.reservation-calendar-grid button:disabled{cursor:default;color:#c2cad5}.reservation-calendar-grid button.sunday:not(.active) span{color:#ef4444}.reservation-calendar-grid button.saturday:not(.active) span{color:#2563eb}.reservation-calendar-grid button.unavailable:not(.active) small{color:#9ca3af}.reservation-slot-groups{gap:18px;display:grid}.reservation-time-rule{color:#174b8f;background:#f8fbff;border:1px solid #d8e8f8;border-radius:16px;margin:0;padding:12px 14px;font-weight:800;line-height:1.5}.reservation-slot-group h3{color:#475569;margin:0 0 10px;font-size:15px;font-weight:800}.reservation-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:18px 0;display:grid}.reservation-days button,.reservation-slots button{color:var(--ink);background:#fff;border:1px solid #d8e6f5;border-radius:18px}.reservation-days button{place-items:center;gap:4px;min-height:76px;display:grid}.reservation-days span{color:var(--muted);font-size:13px;font-weight:800}.reservation-days strong{font-size:18px}.reservation-days button.active,.reservation-slots button.active{color:#fff;background:#174b8f;border-color:#174b8f}.reservation-days button.active span{color:#ffffffc7}.reservation-slots{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:18px;display:grid}.reservation-slots button{place-items:center;gap:2px;min-height:58px;font-weight:900;display:grid}.reservation-slots button small{color:var(--muted);font-size:11px;font-weight:900}.reservation-slots button.active small{color:#fffc}.reservation-slots button.full,.reservation-slots button:disabled{cursor:default;color:#b8c0ca;background:#f7f8fa}.reservation-slots button.full small,.reservation-slots button:disabled small{color:#b8c0ca}.reservation-topic-pills{flex-wrap:wrap;gap:10px;display:flex}.reservation-topic-pills button{border-radius:var(--radius-control);min-height:42px;color:var(--ink);background:#fff;border:1px solid #d8e6f5;padding:0 18px;font-weight:800}.reservation-topic-pills button.active{color:#fff;background:#111827;border-color:#111827}.reservation-fields textarea{resize:vertical;min-height:96px}.wide-field{grid-column:1/-1}.reservation-submit{margin-top:16px}.reservation-submit:disabled{cursor:default;opacity:.55}.reservation-note{color:#0b6f60;background:#f0fffb;border:1px solid #cce7dc;border-radius:18px;margin:16px 0 0;padding:14px 16px;font-weight:800}.reservation-alert{background:#f8fbff;border:1px solid #e1edf8;border-radius:22px;gap:8px;margin-top:8px;padding:22px;display:grid}.reservation-alert h2{color:var(--ink);margin:0;font-size:20px}.reservation-alert p{color:var(--ink);margin:0;line-height:1.65}.reservation-summary h2,.reservation-summary h3{margin:0}.reservation-ticket{color:#fff;background:linear-gradient(135deg,#123d7a,#0f6f8f);border-radius:22px;gap:10px;margin:18px 0;padding:20px;display:grid}.reservation-ticket span{color:#ffffffc7;font-weight:800}.reservation-ticket strong{font-size:22px}.reservation-ticket p{color:#ffffffd1;margin:0}.reservation-history{gap:10px;margin-top:12px;display:grid}.reservation-history p{color:var(--muted);margin:0}.reservation-history article{border:1px solid var(--line);background:#f8fbff;border-radius:16px;gap:4px;padding:13px;display:grid}.reservation-history span{color:var(--muted);font-size:13px}.reservation-admin-panel .panel-head>span{border-radius:var(--radius-control);color:#174b8f;background:#eaf4ff;padding:7px 12px;font-weight:900}.reservation-admin-list{gap:14px;margin-top:18px;display:grid}.reservation-admin-card{background:#fbfdff;border:1px solid #dce8f5;border-radius:22px;grid-template-columns:minmax(0,1fr) minmax(260px,.72fr);gap:18px;padding:18px;display:grid}.reservation-admin-card h3,.reservation-admin-card p{margin:8px 0 0}.reservation-admin-card small{color:var(--muted);margin-top:10px;line-height:1.55;display:block}.status-pill{border-radius:var(--radius-control);align-items:center;min-height:30px;padding:0 12px;font-size:13px;font-weight:900;display:inline-flex}.status-pill.waiting{color:#8a5c00;background:#fff6d8}.status-pill.done{color:#0b6f60;background:#e7f7f1}.reservation-admin-actions{gap:10px;display:grid}.reservation-admin-actions textarea{resize:vertical;min-height:104px}.reservation-admin-actions button:disabled{cursor:default;opacity:.58}.scroll-top-button{z-index:40;color:#123d7a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff0;border:1px solid #cbd8e6;border-radius:50%;place-items:center;width:46px;height:46px;display:grid;position:fixed;bottom:clamp(18px,3vw,34px);right:clamp(18px,3vw,34px);box-shadow:0 14px 34px #13233f24}.scroll-top-button:hover{background:#fff;border-color:#9fc3e9;transform:translateY(-2px)}.detail-page,main.stack{max-width:1160px;margin-inline:auto}main.stack.professor-portal{max-width:1760px}.section-title{background:linear-gradient(135deg,#fffffffa,#f2f8fff2);border-radius:22px;padding:22px 26px;box-shadow:0 12px 30px #13233f0f}.section-title>span{border-radius:18px;width:52px;height:52px;font-size:18px}.section-title h1{margin-bottom:6px;font-size:30px}.section-title p{max-width:820px;font-size:14px}.panel,.row-card,.result,.location,.login{border-radius:18px;padding:18px;box-shadow:0 10px 24px #13233f0d}.stack>.panel:nth-of-type(2n),.stack>.panel:nth-of-type(3n),.row-card,.row-card:nth-child(2n),.row-card:nth-child(3n){border-color:var(--line);background:#fff}.flow-page{max-width:1160px}.flow-menu{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.flow-menu:before,.flow-card:after{display:none}.flow-card,.flow-card:first-child,.flow-card:nth-child(2){background:#fff;border-radius:20px;grid-column:span 1;gap:12px;min-height:172px;padding:18px}.flow-card:hover{transform:translateY(-2px)}.flow-step{min-width:42px;height:28px;font-size:12px}.flow-icon{width:48px;height:48px;box-shadow:none;border-radius:16px}.flow-copy strong{font-size:17px}.flow-copy small{font-size:13px;line-height:1.45}.detail-page .grid-menu:not(.flow-menu){grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:0}.detail-page .menu-card:not(.flow-card){background:#fff;border-radius:18px;grid-template-columns:44px minmax(0,1fr);align-content:center;align-items:center;gap:14px;min-height:96px;padding:18px;box-shadow:0 10px 24px #13233f0d}.detail-page .menu-card:not(.flow-card):nth-child(n){background:#fff}.detail-page .menu-card:not(.flow-card) svg{color:#174b8f;stroke:#174b8f;background:#eff6ff;border-radius:14px;width:44px;height:44px;padding:10px}.detail-page .menu-card:not(.flow-card) span{font-size:17px}.process-panel article,.process-panel .highlight,.stat,.stat:nth-child(2n),.stat:nth-child(3n),.chip-grid button,.chip-grid button:nth-child(2n),.chip-grid button:nth-child(3n){background:#fff;border-radius:18px;box-shadow:0 10px 24px #13233f0d}.guide-switch{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.guide-switch button{border:1px solid var(--line);min-height:82px;color:var(--ink);text-align:left;background:#fff;border-radius:18px;gap:6px;padding:16px 18px;display:grid;box-shadow:0 10px 24px #13233f0d}.guide-switch button.active{background:#f4f9ff;border-color:#9fc3e9;box-shadow:0 14px 30px #174b8f1a}.guide-switch strong{font-size:18px}.guide-switch span{color:var(--muted);font-size:13px;line-height:1.45}.guide-section .panel-head{border-bottom:1px solid #e5edf5;align-items:flex-start;padding-bottom:12px}.guide-section .panel-head h2{margin:0}.guide-section .panel-head p{color:var(--muted);margin:4px 0 0}main{padding:8px clamp(6px,1vw,14px) 24px}.back{margin-left:clamp(6px,1vw,14px)}.detail-page,main.stack,.flow-page{max-width:1760px}.stack{gap:8px}.section-title{padding:14px 17px}.process-panel,.guide-switch,.detail-page .grid-menu:not(.flow-menu){gap:6px}.process-panel article,.process-panel .highlight{min-height:124px;padding:12px}.process-panel article span{margin-bottom:10px}.detail-page .menu-card:not(.flow-card){border:1px solid var(--line);min-height:74px;padding:10px}.detail-page .menu-card.active:not(.flow-card){background:#f4f9ff;border-color:#9fc3e9;box-shadow:0 14px 30px #174b8f1a}.guide-switch button{min-height:66px;padding:11px 13px}@media(max-width:900px){.role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.language-modal-backdrop{padding-left:14px;padding-right:14px}.language-modal,.language-panel{width:calc(100vw - 28px);min-width:0;max-width:calc(100vw - 28px)}.role-modal,.role-grid,.role-card{width:100%;min-width:0}.role-card small{overflow-wrap:anywhere;word-break:keep-all}.professor-summary{grid-template-columns:1fr}.professor-identity{border-right:0;border-bottom:1px solid var(--line);padding:0 0 14px}.language-grid,.grid-menu,.chip-grid{grid-template-columns:repeat(2,1fr)}.visitor-stat-grid,.flow-menu{grid-template-columns:repeat(2,minmax(0,1fr))}.flow-menu:before{display:none}.flow-card,.flow-card:first-child,.flow-card:nth-child(2){grid-column:span 1;min-height:198px}.category-grid.four,.category-grid.home-grid{grid-template-columns:repeat(2,1fr)}header{flex-wrap:wrap;height:auto;padding:12px 18px}.brand{justify-content:center;width:100%}.header-actions{order:2;justify-content:center;width:100%}.home-page{padding-top:24px}.home-hero{grid-template-columns:1fr;padding:28px}.hero-brand-strip{flex-direction:column;align-items:flex-start}.hero-top-actions{justify-content:flex-start;width:100%}.quick-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.question-admin-item{grid-template-columns:1fr}.home-info-grid{grid-template-columns:1fr;grid-template-areas:"services""notices""bulletin""consult"}.consult-panel{flex-direction:column;align-items:flex-start}.consult-hours{grid-template-columns:1fr}.consult-hours div,.consult-hours div:first-child,.consult-hours div:last-child{border-bottom:1px solid #ffffff24;border-right:0;min-height:0;padding:12px 0}.consult-hours div:last-child{border-bottom:0}.calendar-grid,.table-filters,.self-checklist-grid,.reservation-date-time-grid,.reservation-layout,.reservation-admin-card{grid-template-columns:1fr}.reservation-days{grid-template-columns:repeat(4,minmax(0,1fr))}.calendar-head{flex-direction:column;align-items:flex-start}.form-grid,.two-col,.stats,.process-panel,.address-field{grid-template-columns:1fr}}@media(max-width:560px){header{padding:12px 14px}.brand small{display:none}.header-actions{flex-wrap:wrap;gap:8px}.session-controls{justify-content:center;width:100%}.language-menu,.admin-text-entry{flex:150px}.language-trigger,.admin-text-entry{justify-content:center;width:100%}.language-options{left:0;right:0}.language-grid,.grid-menu,.category-grid,.calendar-grid{grid-template-columns:1fr}.section-title{border-radius:24px;padding:24px 22px}.section-title.numbered{grid-template-columns:1fr;gap:14px}.section-title>span{border-radius:20px;width:58px;height:58px}.section-title h1{font-size:28px}.section-title p{font-size:14px}.flow-menu{grid-template-columns:1fr}.flow-card,.flow-card:first-child,.flow-card:nth-child(2){border-radius:24px;grid-template-rows:auto auto;grid-template-columns:58px minmax(0,1fr);align-items:center;min-height:auto;padding:18px}.flow-step{grid-column:1/-1;height:30px}.flow-icon{border-radius:20px;width:58px;height:58px}.flow-copy strong{font-size:18px}.flow-copy small{font-size:13px}main{padding:14px 12px 52px}.back{width:40px;height:40px;margin:10px 0 -2px 12px}.home-page{gap:18px;padding:18px}.home-hero{border-radius:24px;padding:22px}.hero-brand-strip{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:8px}.hero-top-actions{grid-template-columns:1fr;gap:8px;width:100%;display:grid}.hero-admin-link,.hero-language-menu,.hero-language-menu .language-trigger{justify-content:center;width:100%}.hero-language-menu .language-options{left:0;right:0}.home-hero h1{font-size:30px}.home-hero p{font-size:15px}.hero-search{min-height:54px;padding:7px 7px 7px 15px}.hero-search button{min-width:64px;min-height:40px}.quick-actions,.home-panel{border-radius:22px;padding:18px}.quick-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-action{border-radius:22px;min-height:126px}.dashboard-group-label-desktop{display:none}.dashboard-group-label-mobile{word-break:keep-all;gap:2px;line-height:1.35;display:grid}.visitor-stat-grid{grid-template-columns:1fr}.visitor-stat-grid article{grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:94px}.visitor-stat-grid article small{grid-column:1/-1}.visitor-stat-grid strong{font-size:28px}.visitor-days div{grid-template-columns:1fr;gap:4px}.login-inline{grid-template-columns:1fr}.login-inline .primary{width:100%}.large-date-panel{width:auto;max-height:calc(100vh - 110px);position:fixed;top:86px;left:14px;right:14px;overflow:auto}.large-date-days button{min-height:40px}.month-picker-panel{width:auto;max-height:calc(100vh - 110px);position:fixed;top:86px;left:14px;right:14px}.table-wrap{margin-inline:-4px;padding-bottom:4px}th,td{white-space:nowrap;padding:9px 8px}.camera-actions{grid-template-columns:1fr;display:grid}.camera-actions .primary,.camera-actions .secondary,.camera-actions .file-button{text-align:center;white-space:normal;overflow-wrap:anywhere;justify-content:center;width:100%;min-height:46px;padding:10px 12px;font-size:14px}.camera-actions svg{flex:0 0 15px;width:15px;height:15px}.detail-page{width:100%;min-width:0;max-width:100%;overflow-x:hidden}.detail-page .section-title,.detail-page .panel,.detail-page .form-grid,.detail-page .form-grid.compact,.detail-page .primary,.detail-page .secondary,.detail-page .file-button,.detail-page .actions,.detail-page .camera-actions{width:100%;min-width:0;max-width:100%}.detail-page .form-grid.compact{grid-template-columns:1fr}.detail-page .section-title p,.detail-page .panel p,.form-help{overflow-wrap:anywhere;word-break:keep-all}.detail-page input,.detail-page select,.detail-page textarea,.detail-page button:not(.attendance-file-clear):not(.dit-profile-import-delete){width:100%;min-width:0}.hangul-quiz-page .quiz-choices input[type=radio]{width:20px;min-width:20px;height:20px;min-height:20px}.large-date-panel{width:min(360px,100vw - 48px);max-width:calc(100vw - 48px);padding:8px}.large-date-head{grid-template-columns:58px minmax(96px,1fr) 58px;gap:6px}.large-date-head strong{font-size:16px}.large-date-head button{width:58px;padding:6px 4px;font-size:12px}.detail-page button:not(.attendance-file-clear):not(.dit-profile-import-delete),.detail-page .secondary,.detail-page .primary,.detail-page .file-button{white-space:normal;overflow-wrap:anywhere}.camera-permission-card{padding:22px 18px 18px}.camera-permission-card:before{display:none}.camera-permission-actions{gap:10px}.camera-permission-actions button{flex:1;min-width:0}.document-preview-card{grid-template-columns:82px 1fr;gap:10px}.document-preview-card img{border-radius:12px;width:82px}.reservation-days{grid-template-columns:repeat(2,minmax(0,1fr))}.reservation-slots{grid-template-columns:repeat(4,minmax(0,1fr))}.reservation-calendar-grid,.reservation-weekdays{gap:5px}.reservation-calendar-grid button{min-height:46px}.section-head{flex-direction:column;align-items:flex-start;gap:4px}.service-row{grid-template-columns:42px minmax(0,1fr)}.consult-actions{width:100%}.consult-actions button{justify-content:center;width:100%}.procedure-page{grid-template-columns:1fr;padding:10px}.procedure-page figcaption{border-radius:999px;width:38px;height:30px;position:static}.hero{padding:28px 24px}.row-card{flex-direction:column;align-items:stretch}.download-options{left:0;right:auto}.location-images{grid-template-columns:1fr}.hero h1{font-size:36px}.category-card small,.section-title p,.hero p{white-space:normal;font-size:14px}}@media(max-width:420px){body{background:#edf5fb}main{width:100%;max-width:100%;padding:10px 8px 68px;overflow-x:hidden}.language-modal-backdrop{place-items:start center;padding:14px;overflow-y:auto}.language-modal,.language-panel{border-radius:22px;width:100%;min-width:0;max-width:calc(100vw - 28px);padding:22px}.language-modal h1,.language-panel h1{font-size:30px}.role-modal,.role-grid,.role-card{width:100%;min-width:0}.role-card small{overflow-wrap:anywhere;word-break:keep-all}.home-page{gap:14px;width:100%;max-width:100vw;padding:8px;overflow-x:hidden}.home-hero{border-radius:20px;grid-template-columns:minmax(0,1fr);gap:16px;width:100%;min-width:0;padding:16px;display:grid;box-shadow:0 12px 28px #13233f12}.home-hero-copy{gap:14px;min-width:0;display:grid}.hero-brand-strip{gap:10px;margin:0;display:grid}.hero-brand{min-width:0}.hero-brand span.hero-brand-mark{border-radius:15px;width:50px;height:50px}.hero-brand strong{font-size:18px;line-height:1.25}.hero-brand small{text-overflow:ellipsis;white-space:nowrap;max-width:245px;font-size:12px;line-height:1.3;display:block;overflow:hidden}.hero-top-actions{grid-template-columns:1fr;gap:8px;display:grid}.hero-language-menu{display:none}.hero-admin-link{border-radius:16px;min-height:38px;font-size:12px}.home-hero h1{word-break:keep-all;margin-top:2px;font-size:clamp(23px,7.2vw,28px);line-height:1.25}.hero-search{min-height:48px;box-shadow:none;border-width:1px;border-radius:18px;grid-template-columns:auto minmax(0,1fr);gap:8px;width:100%;min-width:0;margin-top:0;padding:8px 10px;display:grid}.hero-search svg{width:18px;height:18px}.hero-search input{font-size:12px}.hero-search input::placeholder{color:#93a4b8;opacity:1}.hero-search button{border-radius:14px;grid-column:1/-1;width:100%;min-height:34px;font-size:12px}.home-schedule-panel{border-radius:18px;width:100%;min-width:0;min-height:auto;padding:16px;box-shadow:0 12px 26px #174b8f17}.home-schedule-head h2{font-size:17px}.home-schedule-head span{font-size:12px}.home-schedule-list{max-height:none;margin-top:12px;padding-right:0;overflow:visible}.home-schedule-item{border-radius:14px;gap:4px;padding:11px 12px}.home-schedule-item time{font-size:11px}.home-schedule-item strong{word-break:keep-all;font-size:12px;line-height:1.35}.quick-actions,.home-panel{border-radius:18px;width:100%;min-width:0;padding:16px}.section-head h2{font-size:19px}.quick-action-grid{grid-template-columns:1fr;gap:10px}.question-form,.quiz-choices{grid-template-columns:1fr}.question-body-field{grid-column:auto}.quiz-passage-row{grid-template-columns:36px minmax(0,1fr);gap:8px}.quick-action{text-align:left;border-radius:16px;grid-template-columns:46px minmax(0,1fr);justify-items:start;gap:6px 12px;width:100%;min-width:0;min-height:74px;padding:12px}.quick-action strong{font-size:15px}.quick-action small{grid-column:2;font-size:11px}.quick-icon{border-radius:16px;grid-row:1/span 2;width:46px;height:46px}.category-card,.panel,.row-card,.result,.location,.login{border-radius:16px;min-width:0;padding:16px}.detail-page{gap:12px}.detail-page .section-title{border-radius:18px;padding:18px 16px}.detail-page .section-title.numbered{grid-template-columns:42px minmax(0,1fr);align-items:center}.detail-page .section-title>span{border-radius:15px;width:42px;height:42px;font-size:14px}.process-panel,.guide-switch{grid-template-columns:1fr;gap:10px}.guide-switch button{border-radius:16px;min-height:auto;padding:14px}.procedure-image-guide .panel-head{flex-direction:column;align-items:stretch;gap:12px}.procedure-image-guide .download{justify-content:center;width:100%}.procedure-pages{gap:12px}.section-title h1{font-size:24px}.reservation-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.scroll-top-button{width:42px;height:42px;bottom:14px;right:14px}}.check-field{cursor:pointer;grid-template-rows:none;align-items:center;gap:10px;min-height:44px;margin:0;display:inline-flex}.check-field input[type=checkbox]{width:18px;height:18px;min-height:18px;accent-color:var(--accent-violet);flex:none;margin:0}.role-options{flex-wrap:wrap;align-items:center;gap:10px 16px;display:flex}.role-options legend{flex-basis:100%;margin-bottom:2px}.form-grid .role-options>label{white-space:nowrap;align-items:center;gap:7px;width:auto;min-height:36px;margin:0;display:inline-flex}.approved-account-actions{justify-content:center;align-items:center;gap:7px;min-width:130px;display:inline-flex}.approved-account-action{color:#66539c;width:34px;min-width:34px;height:34px;box-shadow:none;background:#fbf9ff;border:1px solid #d9d1e9;border-radius:10px;justify-content:center;align-items:center;padding:0;display:inline-flex}.approved-account-action:hover{background:#f0ebfb;border-color:#a996cf}.approved-account-action.warning{color:#ad6c2a;background:#fff8ec;border-color:#f0d4aa}.approved-account-action.success{color:#18765f;background:#eff9f4;border-color:#b9dfcf}.approved-account-action.danger{color:#b5443a;background:#fff3f1;border-color:#f0c1ba}.role-switch,.home-hero .hero-top-actions .role-switch,.hero-top-actions .role-switch{gap:3px;grid-template-columns:repeat(4,minmax(0,1fr))!important}.role-switch :is(a,button),.home-hero .hero-top-actions .role-switch :is(a,button),.hero-top-actions .role-switch :is(a,button){min-width:0;padding-inline:7px}@media(max-width:540px){.role-switch,.home-hero .hero-top-actions .role-switch,.hero-top-actions .role-switch{grid-template-columns:repeat(4,minmax(0,1fr))!important;width:100%!important}.role-switch :is(a,button),.home-hero .hero-top-actions .role-switch :is(a,button),.hero-top-actions .role-switch :is(a,button){gap:3px;padding-inline:3px;font-size:11px}.role-switch svg{flex-basis:13px;width:13px;height:13px}}.quick-action-grid.admin-service-grid{grid-template-columns:repeat(6,minmax(0,1fr))}@media(min-width:701px)and (max-width:1100px){.quick-action-grid.admin-service-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:700px){.quick-action-grid.admin-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.consultation-type-edit{min-width:140px}.consultation-content-edit{resize:vertical;width:min(100%,420px);min-width:260px;min-height:72px}.consultation-edit-actions{align-items:center;gap:8px;display:flex}.consultation-row-actions{align-items:center;gap:7px;display:inline-flex}.table-edit-action{border-radius:var(--radius-control);color:#174b8f;background:#f3f8ff;border:1px solid #c9dcee;align-items:center;width:36px;height:36px;display:inline-flex}.table-edit-action:disabled{cursor:not-allowed;opacity:.5}.table-delete-action{border-radius:var(--radius-control);color:#b5443a;background:#fff3f1;border:1px solid #f0c1ba;justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:inline-flex}.table-delete-action:hover:not(:disabled){background:#ffe8e4;border-color:#d98f85}.table-delete-action:disabled{cursor:not-allowed;opacity:.5}.attendance-photo-download{color:#174b8f;background:#f3f8ff;border:1px solid #d6e1e8;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;text-decoration:none;display:inline-flex}.attendance-photo-download:hover,.attendance-photo-download:focus-visible{background:#e7f1ff;border-color:#7ca9d7}.attendance-manager{min-width:0}.online-attendance-upload-panel,.online-attendance-arete-panel{overflow:hidden}.online-attendance-arete-summary{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--mint-pale);align-content:center;gap:6px;min-height:0;padding:16px;display:grid}.online-attendance-arete-summary strong{color:var(--ink);font-size:16px}.online-attendance-arete-summary span,.online-attendance-arete-summary small{color:var(--muted);line-height:1.45}.online-attendance-picker-grid{grid-template-columns:minmax(220px,320px) minmax(280px,520px);align-items:stretch;gap:12px;margin-top:18px;display:grid}.online-attendance-department-field{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--ice);min-height:0;padding:16px}.online-attendance-department-field select{width:100%}.online-attendance-department-field small{color:var(--muted);font-weight:500;line-height:1.45}.admin-dataset-upload-grid{grid-template-columns:minmax(280px,520px);gap:12px;margin-top:18px;display:grid}.scholarship-target-upload-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-dataset-upload-slot{min-width:0}.admin-dataset-upload-slot>.notice{margin-top:8px;font-size:.82rem}.admin-dataset-upload-card[aria-disabled=true]{cursor:wait;opacity:.72}.admin-excel-upload-panel>.notice{margin-top:14px}.online-attendance-batch-result .panel-head{align-items:flex-start}.online-attendance-results-list{border-top:1px solid var(--line);margin-top:18px;display:grid}.online-attendance-advisor-pdfs{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.online-attendance-advisor-pdfs>h3{margin:0 0 12px;font-size:1rem}.online-attendance-results-list article{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:16px 0;display:flex}.online-attendance-results-list article>div:first-child{gap:4px;min-width:0;display:grid}.online-attendance-results-list strong{color:var(--ink);font-size:16px}.online-attendance-results-list span,.online-attendance-results-list small{color:var(--muted)}.online-attendance-results-list small{color:#16704d;font-weight:700}.online-attendance-result-actions{flex:none;gap:8px;display:flex}.online-attendance-result-actions button{border-radius:var(--radius-control);min-width:112px;min-height:44px;color:var(--ink);background:#fff;border:1px solid #bfd2e6;justify-content:center;align-items:center;gap:9px;padding:6px 15px 6px 7px;font-size:14px;font-weight:700;line-height:1;transition:border-color .18s,box-shadow .18s,transform .18s;display:inline-flex;box-shadow:0 5px 14px #13233f14}.online-attendance-result-actions button:hover{border-color:#7ca9d7;transform:translateY(-1px);box-shadow:0 8px 18px #13233f1f}.online-attendance-result-actions button:focus-visible{outline-offset:2px;outline:3px solid #2563eb33}.online-attendance-download-icon{color:#1555a2;background:#e8f2ff;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.online-attendance-download-icon svg{width:17px;height:17px}.online-attendance-mail-prep{border-top:1px solid #dbe5ee;margin:18px 0;padding-top:18px}.online-attendance-mail-prep-head,.online-attendance-mail-prep-controls,.online-attendance-mail-actions{align-items:center;gap:10px;display:flex}.online-attendance-mail-prep-head{justify-content:space-between;margin-bottom:12px}.online-attendance-mail-prep h3,.online-attendance-mail-prep p{margin:0}.online-attendance-mail-prep h3{color:var(--ink);font-size:17px}.online-attendance-mail-prep p{color:var(--muted);font-size:14px}.online-attendance-mail-prep-controls label{color:var(--muted);align-items:center;gap:6px;font-weight:700;display:inline-flex}.online-attendance-mail-prep-controls input{text-align:center;width:58px;min-height:38px;padding:4px 7px}.online-attendance-mail-prep-controls button,.online-attendance-inline-action{border-radius:var(--radius-control);min-height:38px;color:var(--ink);background:#fff;border:1px solid #bfd2e6;justify-content:center;align-items:center;gap:7px;font-weight:700;display:inline-flex}.online-attendance-mail-prep-controls button{padding:6px 12px}.online-attendance-inline-action{white-space:nowrap;padding:5px 9px}.online-attendance-inline-action:disabled{cursor:not-allowed;opacity:.45}.online-attendance-mail-table td strong,.online-attendance-mail-table td small{display:block}.online-attendance-mail-table td small{color:var(--muted);margin-top:3px}.online-attendance-mail-missing{color:#a43f36;font-weight:700}.online-attendance-mail-message{margin:0 0 10px!important}@media(max-width:720px){.online-attendance-mail-prep-head{flex-direction:column;align-items:flex-start}.online-attendance-mail-prep-controls,.online-attendance-mail-actions{flex-wrap:wrap}}.attendance-privacy{background:#f1fbf8;border-color:#b9d8d0;align-items:flex-start;gap:12px;display:flex}.attendance-privacy svg{color:#08765f;flex:none;margin-top:2px}.attendance-privacy strong{color:#075f4f}.attendance-privacy p,.attendance-upload-head p,.attendance-file-status .panel-head p{color:var(--muted);margin:5px 0 0}.excel-renderer-status{color:#486078;align-items:center;gap:7px;min-height:32px;margin-top:10px;display:flex}.excel-renderer-status.is-ready{color:#08765f}.excel-renderer-status.is-unavailable{color:#a43f36}.excel-renderer-retry{color:#8d332c;background:#fff;border:1px solid #efb1a9;border-radius:16px;justify-content:center;align-items:center;gap:6px;min-height:32px;margin-left:5px;padding:5px 11px;display:inline-flex}.attendance-upload-head{align-items:center}.attendance-upload-head button,.attendance-manager .panel-head>button,.attendance-export-actions button{justify-content:center;align-items:center;gap:8px;display:inline-flex}.attendance-export-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.attendance-upload-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.attendance-analysis-options{grid-template-columns:minmax(240px,380px);margin-top:18px;display:grid}.common-attendance-reference-grid{grid-template-columns:minmax(210px,280px) repeat(2,minmax(260px,1fr));align-items:stretch;gap:12px;margin-top:18px;display:grid}.scholarship-benefit-filters{grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;margin:0 0 12px;display:grid}.scholarship-check-actions{align-items:end;gap:10px;display:flex}.scholarship-check-actions label{min-width:160px}.scholarship-check-actions button{justify-content:center;align-items:center;gap:7px;display:inline-flex}.scholarship-data-status{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:16px 0;display:grid}.scholarship-data-status span{border:1px solid var(--line);background:var(--ice);min-height:44px;color:var(--muted);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.scholarship-data-status strong{color:var(--ink)}.scholarship-eligibility-filters{grid-template-columns:minmax(160px,220px) minmax(240px,1fr) auto;align-items:end;gap:10px;margin:16px 0 12px;display:grid}.scholarship-eligibility-filters button{justify-content:center;align-items:center;gap:7px;display:inline-flex}.scholarship-eligibility-table td{vertical-align:middle}.status-chip{border:1px solid var(--line);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-width:70px;min-height:30px;padding:5px 10px;font-weight:700;display:inline-flex}.status-approved{color:#08735a;background:#eaf9f3;border-color:#99d7c6}.status-pending{color:#8a5b00;background:#fff8df;border-color:#ebce8a}.status-rejected{color:#a33228;background:#fff1ef;border-color:#efb4ae}.attendance-file-picker-shell{min-width:0;position:relative}.attendance-file-picker{cursor:pointer;background:#f8fbff;border:1px solid #ceddeb;border-radius:8px;grid-template-columns:40px minmax(0,1fr);grid-template-areas:"icon title""icon description""count count";align-content:center;gap:4px 12px;min-height:156px;padding:18px;display:grid;position:relative}.attendance-file-picker-shell .attendance-file-picker{height:100%}.attendance-file-picker-shell.has-drive-sync .attendance-file-picker{padding-bottom:62px}.admin-dataset-drive-card{background:#f8fbff;border:1px solid #ceddeb;border-radius:8px;grid-template-columns:40px minmax(0,1fr);grid-template-areas:"icon title""icon description""count count";align-content:center;gap:4px 12px;min-height:156px;padding:18px 18px 62px;display:grid}.admin-dataset-drive-action{justify-content:flex-end;min-height:40px;display:flex}.admin-dataset-drive-action .admin-dataset-drive-sync{position:static}.admin-dataset-drive-card .attendance-file-icon{grid-area:icon}.admin-dataset-drive-card strong{grid-area:title}.admin-dataset-drive-card small{grid-area:description}.admin-dataset-drive-card .attendance-file-count{grid-area:count}.admin-dataset-drive-sync{z-index:2;color:#087456;background:#f7fcf9;border:1px solid #a9c9bc;border-radius:6px;align-items:center;gap:6px;min-height:34px;padding:7px 10px;font-weight:700;line-height:1;display:inline-flex;position:absolute;bottom:12px;right:12px}.admin-dataset-drive-sync:hover:not(:disabled){background:#eaf7f0;border-color:#087456}.admin-dataset-drive-sync:disabled{cursor:wait;opacity:.65}.attendance-file-clear{z-index:2;color:#b42318;background:#fff;border:1px solid #e5b8b1;border-radius:50%;place-items:center;width:34px;height:34px;padding:0;display:grid;position:absolute;top:12px;right:12px}.attendance-file-clear:hover{background:#fff4f2;border-color:#b42318}.attendance-file-clear:focus-visible{outline-offset:2px;outline:3px solid #b4231838}.attendance-file-clear:disabled{cursor:wait;color:#9aa8b6;opacity:.82;background:#f5f7fa;border-color:#d7e0e8}.attendance-file-clear:disabled:hover{background:#f5f7fa;border-color:#d7e0e8}.attendance-file-picker input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.attendance-file-icon{color:#174b8f;background:#e3effc;border-radius:8px;grid-area:icon;place-items:center;width:40px;height:40px;display:grid}.attendance-file-picker>strong{color:var(--ink);grid-area:title;align-items:center;gap:7px;display:flex}.attendance-file-picker em{color:#fff;background:#174b8f;border-radius:4px;padding:2px 5px;font-size:10px;font-style:normal}.attendance-file-picker>small{color:var(--muted);grid-area:description;line-height:1.45}.attendance-file-count{color:#174b8f;grid-area:count;margin-top:12px;font-size:13px;font-weight:800}.attendance-progress{gap:8px;margin-top:18px;display:grid}.attendance-reference-message{margin-top:16px}.attendance-progress>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.attendance-progress progress{accent-color:#174b8f;width:100%;height:12px}.attendance-progress small{max-width:100%;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attendance-status-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:16px;display:grid}.attendance-status-groups>div{min-width:0}.attendance-status-groups h3{margin:0 0 9px;font-size:16px}.attendance-status-groups ul{gap:7px;max-height:270px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.attendance-status-groups li{color:#08765f;background:#f5fbf8;border:1px solid #d6e5df;border-radius:8px;align-items:flex-start;gap:9px;min-width:0;padding:10px;display:flex}.attendance-status-groups li>span:last-child{gap:3px;min-width:0;display:grid}.attendance-status-groups li strong,.attendance-status-groups li small{overflow-wrap:anywhere}.attendance-status-groups li small{color:var(--muted)}.attendance-status-groups li.is-failed{color:#b42318;background:#fff5f3;border-color:#efc1ba}.attendance-status-groups li.is-failed>span:first-child{color:#fff;background:#b42318;border-radius:50%;flex:none;place-items:center;width:18px;height:18px;font-size:12px;font-weight:900;display:grid}.attendance-filter-grid{grid-template-columns:minmax(140px,.8fr) minmax(180px,1fr) minmax(280px,2fr) auto;gap:12px;margin-top:18px;display:grid}.attendance-filter-grid label{min-width:0;color:var(--ink);gap:7px;font-weight:800;display:grid}.attendance-filter-grid input,.attendance-filter-grid select{width:100%}.attendance-search-field>span{display:block;position:relative}.attendance-search-field>span svg{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.attendance-search-field input{padding-left:40px}.attendance-filter-grid .attendance-absent-toggle{cursor:pointer;background:#fff;border:1px solid #ceddeb;border-radius:8px;align-self:end;align-items:center;gap:8px;min-height:44px;padding:0 12px;display:flex}.attendance-absent-toggle input{accent-color:#b42318;flex:none;width:18px;min-height:18px}.attendance-stats{margin-top:18px}.attendance-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.attendance-summary-card{background:#f8fbfd;border:1px solid #d4e1ed;border-radius:8px;align-items:center;gap:14px;min-height:92px;padding:16px 18px;display:flex}.attendance-summary-card>span{color:#244d75;background:#e7eff7;border-radius:8px;flex:none;place-items:center;width:40px;height:40px;display:grid}.attendance-summary-card>div{gap:5px;display:grid}.attendance-summary-card small{color:var(--muted);font-weight:800}.attendance-summary-card strong{color:var(--ink);font-size:22px;line-height:1}.attendance-summary-card em{margin-left:4px;font-size:12px;font-style:normal}.attendance-summary-card.is-present{background:#f3fbf8;border-color:#bfdfd4}.attendance-summary-card.is-present>span{color:#08765f;background:#dff3eb}.attendance-summary-card.is-absent{background:#fff6f4;border-color:#efc2bb}.attendance-summary-card.is-absent>span{color:#b42318;background:#f9dfda}.attendance-summary-card.is-return-home{background:#eff6ff;border-color:#bfdbfe}.attendance-summary-card.is-return-home>span{color:#1d4ed8;background:#dbeafe}.attendance-result-table{margin-top:18px}.attendance-result-table table{min-width:1060px}.attendance-result-table td:nth-child(2){white-space:nowrap}.attendance-result-table tr.is-absent td{background:#fff3f0}.attendance-result-table tr.is-missing td,.attendance-status.is-missing{color:#1e40af;background:#dbeafe}.attendance-status.is-no-class{color:#4b5563;background:#f3f4f6}.attendance-status.is-partial{color:#92400e;background:#fff3e6}.attendance-result-table tr.is-management-missing td{color:#1e40af;background:#dbeafe}.attendance-result-table tr.is-management-caution td{color:#78350f;background:#ffe0b2}.attendance-result-table tr.is-management-intensive td{color:#7c2d12;background:#fdba74}.attendance-result-table tr.is-management-recovery td{color:#92400e;background:#fff3e6}.attendance-analysis-notices{border-block:1px solid var(--line);margin:12px 0 16px}.attendance-analysis-notices>summary{cursor:pointer;color:var(--ink);padding:12px 4px}.attendance-analysis-notices>summary:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.attendance-analysis-title{margin-right:20px;font-size:14px}.attendance-analysis-metrics{vertical-align:middle;max-width:100%;color:var(--muted);flex-wrap:wrap;gap:8px 20px;font-size:13px;display:inline-flex}.attendance-analysis-metrics>span{white-space:nowrap}.attendance-analysis-metrics b{color:var(--ink);margin-left:4px}.attendance-analysis-metrics .is-attention,.attendance-analysis-metrics .is-attention b{color:#1e40af}.attendance-analysis-notices ul{gap:9px;margin:0;padding:4px 4px 16px;list-style:none;display:grid}.attendance-analysis-notices li{color:var(--muted);grid-template-columns:180px minmax(0,1fr);gap:8px;font-size:13px;line-height:1.6;display:grid}.attendance-analysis-notices li strong{color:var(--ink)}@media(max-width:760px){.attendance-analysis-metrics{gap:8px 16px;margin-top:10px;display:flex}.attendance-analysis-notices li{grid-template-columns:minmax(0,1fr);gap:2px}}.attendance-management-label{margin-top:5px;font-weight:700;display:block}.attendance-management-reason{white-space:normal;max-width:250px;line-height:1.5;display:block}.attendance-missing-reason{white-space:pre-line;color:#1e40af;min-width:220px;max-width:420px;margin-top:6px;font-size:.78rem;font-weight:600;line-height:1.45;display:block}.attendance-result-table tr.is-consecutive-absence td{background:#fff7e8;border-top-color:#ef9f3c;border-bottom-color:#ef9f3c}.attendance-result-table tr.is-consecutive-absence td:first-child{border-left:4px solid #d97706}.attendance-status{white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;min-width:64px;min-height:30px;padding:4px 9px;font-size:12px;font-weight:900;display:inline-flex}.attendance-status.is-present{color:#08765f;background:#e8f8f2}.attendance-status.is-absent{color:#b42318;background:#fde9e5}.attendance-status.is-return-home{color:#1d4ed8;background:#dbeafe}.attendance-status.is-final{border:1px solid}.attendance-status.is-consecutive{color:#9a3412;background:#ffe4b5;border-color:#c45f0b;flex-direction:column;gap:2px;min-height:42px}.attendance-status.is-consecutive small{font-size:9px;font-weight:900}.attendance-streak-notice{color:#8b3a08;background:#fff7e8;border-left:4px solid #d97706;margin:14px 0 0;padding:9px 12px;font-weight:800}.attendance-empty-result{color:#718096;text-align:center;border:1px solid #d8e2eb;border-radius:8px;align-content:center;place-items:center;gap:8px;min-height:240px;margin-top:18px;display:grid}.attendance-empty-result strong{color:#4b6074}.attendance-empty-result p{margin:0;font-size:13px}@media(max-width:1100px){.attendance-upload-grid,.attendance-filter-grid,.common-attendance-reference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.attendance-upload-head,.attendance-manager .panel-head{flex-direction:column;align-items:stretch}.attendance-upload-head button,.attendance-manager .panel-head>button,.attendance-export-actions,.attendance-export-actions button{width:100%}.attendance-export-actions{grid-template-columns:1fr;display:grid}.online-attendance-picker-grid,.common-attendance-reference-grid,.admin-dataset-upload-grid,.scholarship-target-upload-grid,.scholarship-data-status,.scholarship-eligibility-filters{grid-template-columns:1fr}.scholarship-check-actions{flex-direction:column;align-items:stretch;width:100%}.scholarship-check-actions label,.scholarship-check-actions button{width:100%}.online-attendance-results-list article{flex-direction:column;align-items:stretch}.online-attendance-result-actions,.online-attendance-result-actions button{width:100%}.attendance-upload-grid,.attendance-status-groups,.attendance-filter-grid,.attendance-summary-grid,.scholarship-benefit-filters{grid-template-columns:1fr}.roster-filter-bar{align-items:stretch}.roster-filter-bar label{flex:0 170px;min-width:0}.roster-filter-search-control{flex:100%;width:100%;min-width:0;max-width:none}.roster-filter-count{min-height:42px}.attendance-file-picker{min-height:132px}.attendance-status-groups ul{max-height:220px}.attendance-stats{grid-template-columns:1fr}}.work-hours-exceeded{color:#b42318;font-weight:700}.work-hours-exceeded small{color:#b42318;white-space:nowrap;margin-top:.2rem;font-size:.75rem;font-weight:600;display:block}.quick-action{position:relative}.quick-action-count{color:#fff;background:#b42318;border-radius:999px;place-items:center;min-width:24px;height:24px;padding:0 6px;font-size:12px;font-weight:800;line-height:1;display:grid;position:absolute;top:10px;right:10px}.admin-queue-load-error{width:min(100% - 32px,1680px);margin:16px auto 0}.admin-work-queue{width:auto;margin:16px 0;padding:20px}.admin-work-queue .section-head{align-items:flex-start}.admin-work-queue .section-head p{color:#627086;margin:5px 0 0}.admin-work-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.admin-work-download{color:#145a43;min-height:38px;font:inherit;cursor:pointer;background:#f4fbf7;border:1px solid #aac9b9;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:8px 12px;font-weight:800;display:inline-flex}.admin-work-download:hover:not(:disabled){background:#e5f5eb;border-color:#4f9b78}.admin-work-download:focus-visible{outline-offset:2px;outline:3px solid #145a4338}.admin-work-download:disabled{cursor:not-allowed;opacity:.55}.admin-work-total{color:#124d91;white-space:nowrap;background:#e8f2ff;border-radius:999px;padding:8px 12px}.admin-work-stats{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:16px 0;display:grid}.admin-work-stat{border:1px solid var(--line);color:#52627a;width:100%;min-height:42px;font:inherit;text-align:left;cursor:pointer;background:#f7faff;border-radius:7px;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;transition:border-color .16s,background-color .16s,box-shadow .16s;display:flex}.admin-work-stat:hover{background:#edf5ff;border-color:#8bb9ee}.admin-work-stat:focus-visible{outline-offset:2px;outline:3px solid #1f6fc433}.admin-work-stat.is-active{color:#124d91;background:#e4f0ff;border-color:#1f6fc4;box-shadow:inset 0 0 0 1px #1f6fc4}.admin-work-stat strong{color:var(--ink)}.admin-work-list{border-top:1px solid var(--line);display:grid}.admin-work-row{border-bottom:1px solid var(--line);color:var(--ink);grid-template-columns:130px minmax(160px,1fr) minmax(160px,1fr);align-items:center;gap:12px;padding:12px 4px;text-decoration:none;display:grid}.admin-work-row:hover{background:#f6f9fd}.admin-work-row.priority-high{border-left:4px solid #d92d20;padding-left:10px}.admin-work-row span{gap:2px;display:grid}.admin-work-row small{color:#69778c}.admin-work-kind{color:#135596;font-weight:800}.admin-work-empty{color:#627086;margin:0}.admin-work-load-error{color:#9b2c23;background:#fff4f2;border:1px solid #f0b4ad;border-radius:7px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.admin-work-load-error p{margin:0}.admin-work-load-error button{flex:none;justify-content:center;align-items:center;gap:6px;display:inline-flex}@media(max-width:760px){.admin-work-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-work-row{grid-template-columns:1fr;gap:5px}.admin-work-total{font-size:12px}.admin-work-actions{justify-content:flex-start}.admin-work-download{width:100%}.admin-work-load-error{flex-direction:column;align-items:stretch}}header{border-bottom-color:#eadde4;justify-content:space-between;gap:16px;min-height:64px;padding-inline:clamp(16px,3vw,48px);box-shadow:0 1px #5e3c4c08}.brand{gap:10px}.brand span.brand-mark{border-radius:8px;width:38px;height:38px;padding:1px}.brand strong{font-size:16px}.brand small{font-size:11px}.header-actions{gap:6px}main,.detail-page,.flow-page{max-width:1600px}main{padding-block:clamp(14px,2vw,28px) 44px}.section-title{border-color:#eadde4;border-left:4px solid var(--accent-clay);box-shadow:var(--soft-shadow);background:linear-gradient(120deg,#fff,#fff4f5);padding:20px 22px;position:relative;overflow:hidden}.section-title:after{display:none}.section-title h1{margin-bottom:5px;font-size:clamp(24px,2.1vw,34px);line-height:1.28}.section-title p{font-size:14px;line-height:1.65}.panel,.row-card,.result,.location,.login,.home-panel,.quick-actions,.calendar-panel,.language-panel,.language-modal{box-shadow:var(--soft-shadow);border-color:#eadde4;border-radius:8px}.panel,.row-card,.result,.location,.login{padding:clamp(16px,2vw,24px)}.panel-head,.section-head{gap:12px}.panel-head h2,.section-head h2{font-size:clamp(18px,1.5vw,22px);line-height:1.35}.home-page{gap:18px;max-width:1600px;padding:18px clamp(14px,2vw,30px) 48px}.home-hero{min-height:256px;box-shadow:var(--soft-shadow);background:linear-gradient(120deg,#fff,#fff8fa 62%,#f0f8f5);border-color:#eadde4;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:clamp(20px,3vw,42px);padding:clamp(22px,3vw,38px)}.hero-brand span.hero-brand-mark{border-radius:8px;width:48px;height:48px}.hero-brand small{font-size:12px}.home-schedule-panel{min-height:214px;box-shadow:none;background:#ffffffeb;border:1px solid #eadde4;border-radius:8px;padding:18px}.home-schedule-head h2{font-size:17px}.home-schedule-list{margin-top:12px}.home-schedule-item{background:#fff7f8;border-color:#efe2e7;border-radius:6px;gap:4px;padding:11px 12px}.quick-actions{gap:14px;padding:clamp(16px,2vw,22px)}.quick-action{border-color:#0000;border-radius:8px;gap:7px;min-height:124px;padding:14px 10px}.quick-action:hover{border-color:#dfacba;transform:translateY(-2px);box-shadow:0 8px 18px #5e3c4c14}.quick-icon{border-radius:8px;width:44px;height:44px}.quick-action strong{font-size:14px;line-height:1.4}.quick-action small{font-size:11px}.quick-action-count{min-width:20px;height:20px;font-size:10px;top:7px;right:7px}.service-list{gap:8px;margin-top:14px}.service-row{background:#fffdfd;border-color:#efe2e7;border-radius:6px;grid-template-columns:38px minmax(0,1fr);gap:11px;padding:10px}.service-row>span{border-radius:6px;width:38px;height:38px}.notice-list{gap:10px;margin-top:14px}.notice-list li{gap:5px;padding-bottom:10px}.consult-panel{background:linear-gradient(115deg,#7e4d63,#765b87);border:1px solid #805166;border-radius:8px}.consult-panel-icon{border-radius:8px;width:38px;height:38px}.consult-panel h2{font-size:20px}.consult-hours div{min-height:70px;padding:10px 14px}.consult-hours dd{font-size:16px}.role-card{min-height:148px;box-shadow:none;background:#fff;border-color:#eadde4;border-radius:8px;gap:10px;padding:18px;transition:border-color .16s,background-color .16s,box-shadow .16s}.role-card:hover,.role-card:focus-visible{background:#fff7f8;border-color:#dfacba;box-shadow:0 8px 18px #5e3c4c14}.role-card span{border-radius:8px;width:42px;height:42px}.role-card strong{font-size:19px}.grid-menu,.flow-menu,.detail-page .grid-menu:not(.flow-menu){gap:10px}.flow-card,.flow-card:first-child,.flow-card:nth-child(2),.detail-page .menu-card:not(.flow-card),.process-panel article,.process-panel .highlight,.stat,.chip-grid button{box-shadow:var(--soft-shadow);border-radius:8px}.detail-page .menu-card:not(.flow-card){border-radius:8px;min-height:82px}.form-grid{gap:14px}label{color:#4b4050}input:not([type=checkbox]):not([type=radio]),select,textarea{min-height:42px;color:var(--ink);background:#fff;border-color:#dfd4df}textarea{min-height:100px}input::placeholder,textarea::placeholder{color:#918490;opacity:1}input:disabled,select:disabled,textarea:disabled{color:#94a3b8;background:#f1f5f9}button,.primary,.secondary,.download,.ghost,.back,.admin-entry,.admin-text-entry{border-radius:8px}.primary{background:#a84f66;border-color:#a84f66;min-height:42px}.primary:hover:not(:disabled){background:#8f3f56}.secondary,.download,.ghost,.back,.admin-entry,.admin-text-entry{background:#fff;border-color:#dfd4df}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #bd667747}.table-wrap,.attendance-result-table{border:1px solid #eadde4;border-radius:8px}table{border-collapse:separate;border-spacing:0}table thead th{color:#5a4a58;background:#faf4f5;padding-block:12px;font-size:12px;font-weight:800}.admin-work-queue{border-radius:8px;margin-block:0 16px}.admin-work-stats{gap:8px}.admin-work-stat{border-radius:6px}.language-panel,.language-modal{padding:clamp(22px,4vw,34px)}.language-grid button,.language-grid a{border-radius:8px;min-height:76px}.bulletin-toolbar,.bulletin-rich-editor,.bulletin-gallery figure,.bulletin-photo-grid figure{border-radius:8px}.bulletin-toolbar{background:#fff8fa;border-color:#dfd4df}.bulletin-rich-editor{border-color:#dfd4df}@media(max-width:920px){header{align-items:center;min-height:58px;padding-inline:14px}.brand small{display:none}.home-page{padding-inline:12px}.home-hero{grid-template-columns:1fr;min-height:0}.home-schedule-panel{min-height:0}.home-info-grid{grid-template-columns:1fr;grid-template-areas:"services""notices""bulletin""consult"}.quick-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-action{min-height:112px}.consult-hours{grid-template-columns:1fr}.consult-hours div,.consult-hours div:first-child,.consult-hours div:last-child{border-bottom:1px solid #ffffff2e;border-right:0;padding:11px 0}.consult-hours div:last-child{border-bottom:0}.role-grid{grid-template-columns:1fr}}@media(max-width:540px){.role-grid{grid-template-columns:1fr}main{padding-inline:12px}.header-actions .language-menu{display:none}.brand strong{font-size:14px}.brand span.brand-mark{width:34px;height:34px}.home-hero{gap:16px;padding:18px}.hero-brand-strip{align-items:flex-start;gap:10px}.hero-top-actions{justify-content:flex-start}.hero-brand span.hero-brand-mark{width:40px;height:40px}.hero-brand strong{font-size:15px}.home-hero h1{font-size:30px}.quick-actions,.home-panel,.panel,.row-card,.result,.location,.login{padding:14px}.quick-action-grid{gap:8px}.quick-action{min-height:104px;padding:12px 8px}.quick-icon{width:40px;height:40px}.quick-action strong{font-size:13px}.quick-action small{font-size:10px}.language-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.language-grid button:last-child,.language-grid a:last-child{grid-column:span 2}.quiz-choices,.question-form{grid-template-columns:1fr}.section-title{padding:16px}.section-title h1{font-size:24px}}:root{--ink:#20263a;--muted:#687186;--paper:#fffefd;--cream:#faf8f5;--line:#e7e1dd;--rose:#fff1eb;--clay:#fcece5;--sage:#eaf5ef;--sky:#edf4fb;--lavender:#f0edfa;--butter:#fff5df;--accent-blue:#3568a7;--accent-clay:#ce6047;--accent-sage:#27836d;--accent-violet:#6d5fa5;--radius-card:12px;--radius-control:8px;--soft-shadow:0 1px 2px #362a2308, 0 12px 30px #362a230e;--hover-shadow:0 14px 30px #362a231c}body{color:var(--ink);background:#f7f4f1}header{border-bottom:1px solid var(--line);background:#fffffff5;min-height:68px;box-shadow:0 1px #362a2306}main,.detail-page,.flow-page{width:min(100%,1640px);margin-inline:auto}.section-title{border:1px solid var(--line);border-left:4px solid var(--accent-clay);background:var(--paper);box-shadow:var(--soft-shadow)}.section-title h1,.section-head h2,.panel-head h2,.home-schedule-head h2{color:var(--ink);letter-spacing:0}.section-title p,.panel-head p,.section-head p,.muted{color:var(--muted)}.panel,.row-card,.result,.location,.login,.home-panel,.quick-actions,.calendar-panel,.language-panel,.language-modal,.table-wrap,.attendance-result-table{border-color:var(--line);border-radius:var(--radius-card);background:var(--paper);box-shadow:var(--soft-shadow)}.home-page{gap:20px;padding-top:20px}.home-hero{border:1px solid var(--line);border-radius:var(--radius-card);min-height:272px;box-shadow:var(--soft-shadow);background:linear-gradient(112deg,#fffffffa,#fffffff0 57%,#eaf5efb3);position:relative}.home-hero:after{content:"";background:var(--accent-clay);opacity:.78;border-radius:999px;width:3px;position:absolute;inset:38px 0 38px auto}.home-hero-copy{min-width:0}.home-hero h1{color:var(--ink);font-size:clamp(31px,3.25vw,52px);line-height:1.16}.home-hero-title>span{white-space:normal}.hero-brand span.hero-brand-mark{background:#fff5ef;border:1px solid #edd7ca}.hero-admin-link,.language-menu>button,.header-actions>a,.header-actions>button{color:var(--ink);box-shadow:none;background:#fff;border-color:#ded7d2}.hero-admin-link:hover,.language-menu>button:hover,.header-actions>a:hover,.header-actions>button:hover{background:#fff8f4;border-color:#c69789}.home-schedule-panel{background:#fffbf8;border-color:#eadfd8;position:relative}.home-schedule-panel:before{content:"";background:var(--accent-sage);border-radius:12px 0 0 12px;width:3px;position:absolute;inset:0 auto 0 0}.home-schedule-item{background:#fbfaff;border-color:#e7e4f3}.home-schedule-item time{color:var(--accent-clay)}.quick-action{background:#faf8f7;border:1px solid #0000;border-radius:10px;min-width:0;position:relative;overflow:hidden}.quick-action:before{content:"";opacity:.3;background:currentColor;width:3px;position:absolute;inset:0 auto 0 0}.quick-action:hover{box-shadow:var(--hover-shadow);border-color:#d9c9e9;transform:translateY(-2px)}.quick-action strong,.quick-action small{overflow-wrap:anywhere;word-break:keep-all;min-width:0}.quick-icon{border-radius:10px;box-shadow:0 6px 14px #1f253a1f}.tone-blue{color:var(--accent-blue);background:#edf4ff}.tone-coral{color:var(--accent-clay);background:#fff0e9}.tone-mint{color:var(--accent-sage);background:#eaf8f1}.tone-navy{color:var(--accent-violet);background:#f0edfb}.tone-slate{color:#5f6879;background:#f3f4f7}.tone-blue .quick-icon{background:var(--accent-blue)}.tone-coral .quick-icon{background:var(--accent-clay)}.tone-mint .quick-icon{background:var(--accent-sage)}.tone-navy .quick-icon{background:var(--accent-violet)}.tone-slate .quick-icon{background:#667080}.quick-action strong{color:var(--ink)}.quick-action small{color:var(--muted)}.service-row{background:#fffdfc;border-color:#eee6e1}.consult-panel:before{content:"";background:#e7b158;border-radius:999px;flex:0 0 4px;align-self:stretch}.role-card{border-color:var(--line);background:#fff;border-radius:10px}.role-card:hover,.role-card:focus-visible{box-shadow:var(--hover-shadow);background:#faf8ff;border-color:#ad9cd7}.flow-card,.flow-card:first-child,.flow-card:nth-child(2),.detail-page .menu-card:not(.flow-card),.process-panel article,.process-panel .highlight,.stat,.chip-grid button{border-color:var(--line);background:var(--paper);box-shadow:var(--soft-shadow);border-radius:10px}.flow-card:after{display:none}.primary{background:#6d5fa5;border-color:#6d5fa5}.primary:hover:not(:disabled){background:#55468b;border-color:#55468b}.secondary,.download,.ghost,.back,.admin-entry,.admin-text-entry{color:var(--ink);background:#fff;border-color:#ded7d2}.secondary:hover,.download:hover,.ghost:hover,.back:hover,.admin-entry:hover,.admin-text-entry:hover{background:#faf8ff;border-color:#b7a8dc}.language-screen{background:#f3eeeb}.language-modal-backdrop{background:#271f2785}.language-grid button,.language-grid a{border-color:var(--line);border-radius:10px}.language-grid button:hover,.language-grid a:hover{background:#faf8ff;border-color:#ad9cd7}@media(max-width:920px){.home-hero{grid-template-columns:1fr}.home-hero .hero-brand-strip,.home-hero .hero-top-actions{grid-template-columns:minmax(0,1fr);width:100%;min-width:0;display:grid}.home-hero .hero-top-actions .role-switch{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;min-width:0;display:grid}.home-hero .hero-top-actions .role-switch :is(a,button){width:100%;min-width:0}.home-hero .hero-top-actions .language-menu{justify-self:center}.home-hero:after{width:72px;height:3px;inset:auto auto 0 18px}}@media(max-width:540px){.home-page{gap:14px;padding-inline:12px}.home-hero{padding:18px}.home-hero h1{overflow-wrap:anywhere;max-width:100%;font-size:clamp(28px,8.5vw,34px)}.hero-brand-strip,.hero-top-actions,.section-head,.panel-head{min-width:0}.hero-brand-strip{flex-wrap:wrap}.quick-action{min-height:108px}.quick-action strong{font-size:13px}.quick-action small{font-size:11px;line-height:1.35}.home-panel,.quick-actions,.panel,.row-card,.result,.location,.login{min-width:0}.section-title h1,.section-head h2,.panel-head h2,.home-schedule-head h2{overflow-wrap:anywhere;word-break:keep-all}.table-wrap,.attendance-result-table{max-width:100%}header{grid-template-columns:minmax(0,1fr);gap:10px;width:100%;display:grid}.header-actions,.role-switch{min-width:0;display:grid}.header-actions{grid-template-columns:minmax(0,1fr);justify-items:stretch}.role-switch{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.header-actions .language-menu{justify-self:center}.hero-top-actions{grid-template-columns:minmax(0,1fr);justify-items:stretch;width:100%;min-width:100%;display:grid}.hero-top-actions .role-switch{grid-template-columns:repeat(3,minmax(0,1fr));width:100%!important;min-width:0!important;display:grid!important}.hero-top-actions .role-switch :is(a,button){width:100%;min-width:0}.hero-top-actions .language-menu{justify-self:center}.role-switch :is(a,button){white-space:nowrap;justify-content:center;min-width:0;padding-inline:6px}.quick-action-grid{grid-template-columns:minmax(0,1fr);width:100%}.quick-action{text-align:left;grid-template-rows:auto auto;grid-template-columns:48px minmax(0,1fr);place-items:center start;min-height:94px;padding:14px 16px}.quick-action .quick-icon{grid-row:1/span 2}.quick-action strong,.quick-action small{text-align:left}}.detail-page{isolation:isolate;gap:14px;padding-block:18px 32px;position:relative}.detail-page>.section-title{background:linear-gradient(108deg,#fffefd,#fffefd 70%,#f2eefb);border:1px solid #e7dfe7;border-left:0;border-radius:12px;min-height:104px;padding:24px 28px;position:relative;overflow:hidden;box-shadow:0 12px 32px #3127450e}.detail-page>.section-title:before{content:"";background:linear-gradient(180deg,var(--accent-violet),var(--accent-blue));width:5px;position:absolute;inset:0 auto 0 0}.detail-page>.section-title:after{content:"";pointer-events:none;background:linear-gradient(135deg,#0000 10%,#6d5fa512 11%,#6d5fa512 34%,#0000 35%);width:148px;height:100%;position:absolute;top:0;right:0}.detail-page>.section-title.numbered{grid-template-columns:48px minmax(0,1fr);align-items:center;gap:16px}.detail-page>.section-title>span{color:#fff;background:#6d5fa5;border-radius:14px;width:46px;height:46px;box-shadow:0 8px 18px #6d5fa533}.detail-page>.section-title h1{margin:0 0 5px;font-size:clamp(24px,2vw,32px);line-height:1.2}.detail-page>.section-title p{color:#697086;max-width:860px;line-height:1.6}.detail-page>.panel,.detail-page>.row-card,.detail-page>.result,.detail-page>.location,.detail-page>.table-wrap,.detail-page>.attendance-result-table{background:#fffefd;border:1px solid #e8e3df;border-radius:12px;padding:18px;position:relative;overflow:clip;box-shadow:0 8px 24px #2f293709}.detail-page>.panel:before,.detail-page>.row-card:before,.detail-page>.result:before{content:"";background:#dacfea;width:3px;position:absolute;inset:0 auto 0 0}.detail-page>.panel:nth-of-type(3n):before,.detail-page>.row-card:nth-of-type(3n):before{background:#cce7dd}.detail-page>.panel:nth-of-type(3n+1):before,.detail-page>.row-card:nth-of-type(3n+1):before{background:#f1cfbf}.detail-page .panel-head,.detail-page .section-head{border-bottom:1px solid #eee8e4;align-items:flex-start;gap:12px;padding-bottom:12px}.detail-page .panel-head h2,.detail-page .section-head h2{margin:0;font-size:20px;line-height:1.3}.detail-page .panel-head p,.detail-page .section-head p{color:#737989}.detail-page .grid-menu:not(.flow-menu){gap:12px}.detail-page .menu-card:not(.flow-card){min-height:84px;box-shadow:none;background:#fbfaff;border:1px solid #e2e1eb;border-radius:12px;transition:border-color .18s,box-shadow .18s,transform .18s;position:relative;overflow:hidden}.detail-page .menu-card:not(.flow-card):before{content:"";background:var(--accent-violet);width:4px;position:absolute;inset:0 auto 0 0}.detail-page .menu-card:not(.flow-card):nth-child(2n):before{background:var(--accent-sage)}.detail-page .menu-card:not(.flow-card):nth-child(3n):before{background:var(--accent-clay)}.detail-page .menu-card:not(.flow-card) svg{width:42px;height:42px;color:var(--accent-violet);stroke:currentColor;background:#eeeafa;border-radius:12px;padding:10px}.detail-page .menu-card:not(.flow-card):nth-child(2n) svg{color:var(--accent-sage);background:#e6f4ed}.detail-page .menu-card:not(.flow-card):nth-child(3n) svg{color:var(--accent-clay);background:#fff0e9}.detail-page .menu-card:not(.flow-card):hover,.detail-page .menu-card.active:not(.flow-card){background:#fffefd;border-color:#b8a8d5;transform:translateY(-1px);box-shadow:0 10px 20px #4f3d7017}.detail-page .menu-card.active:not(.flow-card) svg{color:#fff;stroke:currentColor;background:#6d5fa5}.flow-menu{gap:12px}.flow-card,.flow-card:first-child,.flow-card:nth-child(2){background:#fffefd;border:1px solid #e5e0ea;border-radius:12px;min-height:178px;position:relative;overflow:hidden;box-shadow:0 8px 22px #31293e0a}.flow-card:before{content:"";background:var(--accent-blue);width:4px;position:absolute;inset:0 auto 0 0}.flow-card.tone-check:before{background:var(--accent-sage)}.flow-card.tone-write:before{background:var(--accent-clay)}.flow-card.tone-prep:before{background:var(--accent-violet)}.flow-card.tone-process:before{background:#be8b3c}.flow-card.tone-primary,.flow-card.tone-check,.flow-card.tone-write,.flow-card.tone-prep,.flow-card.tone-process{background:#fffefd}.flow-card .flow-step{color:#6d5fa5;background:#f7f5fb;border:1px solid #e0dce8;border-radius:999px}.flow-card .flow-icon{width:50px;height:50px;color:var(--accent-blue);box-shadow:none;background:#edf4ff;border-radius:14px}.flow-card .flow-icon svg{stroke:currentColor}.flow-card .flow-copy strong{color:var(--ink)}.flow-card .flow-copy small{color:#727889}.detail-page .guide-switch button,.detail-page .chip-grid button,.detail-page .stat{box-shadow:none;background:#fcfbff;border-color:#e4dfe9;border-radius:10px}.detail-page .guide-switch button.active,.detail-page .chip-grid button.active{box-shadow:none;background:#f1edfb;border-color:#aa9acf}.detail-page .notice,.detail-page .info-notice{color:#43546c;background:#f3f8ff;border-color:#d6e5f7}.detail-page .warning,.detail-page .error,.detail-page .danger-notice{background:#fff5f1;border-color:#f2c9bd}@media(max-width:720px){.detail-page{gap:12px;padding:12px 12px 28px}.detail-page>.section-title{min-height:0;padding:18px 18px 18px 22px}.detail-page>.section-title.numbered{grid-template-columns:40px minmax(0,1fr);gap:12px}.detail-page>.section-title>span{border-radius:12px;width:40px;height:40px}.detail-page>.section-title h1{font-size:24px}.detail-page>.panel,.detail-page>.row-card,.detail-page>.result,.detail-page>.location,.detail-page>.table-wrap,.detail-page>.attendance-result-table{padding:14px}.flow-menu,.detail-page .grid-menu:not(.flow-menu){gap:10px}.flow-card,.flow-card:first-child,.flow-card:nth-child(2){min-height:146px}}.flow-card,.flow-card:first-child,.flow-card:nth-child(2){grid-template-rows:auto auto;grid-template-columns:46px minmax(0,1fr);align-content:center;align-items:center;gap:5px 12px;min-height:118px;padding:16px}.flow-card .flow-step{grid-area:1/1;justify-self:start;min-width:42px;height:25px;padding-inline:8px;font-size:12px;line-height:1}.flow-card .flow-icon{border-radius:12px;grid-area:2/1;width:42px;height:42px}.flow-card .flow-copy{grid-area:1/2/span 2;align-self:center;gap:4px}.flow-card .flow-copy strong{font-size:17px;line-height:1.25}.flow-card .flow-copy small{font-size:12px;line-height:1.42}:where(main,.role-modal,.language-panel) :is(h1,h2,h3,h4,p,small,strong,span,label,button,a,td,th,li){word-break:keep-all;overflow-wrap:break-word;line-break:auto}.flow-card .flow-copy{min-width:0}.flow-card .flow-copy small{overflow-wrap:break-word;word-break:keep-all}@media(max-width:720px){.flow-card,.flow-card:first-child,.flow-card:nth-child(2){grid-template-columns:46px minmax(0,1fr);column-gap:14px;padding:16px 18px}.flow-card .flow-copy small{font-size:12px;line-height:1.5}}.flow-card.tone-primary .flow-icon{color:var(--accent-blue);background:#edf4ff}.flow-card.tone-check .flow-icon{color:var(--accent-sage);background:#e7f6ee}.flow-card.tone-write .flow-icon{color:var(--accent-clay);background:#fff0e9}.flow-card.tone-prep .flow-icon{color:var(--accent-violet);background:#eeeafa}.flow-card.tone-process .flow-icon{color:#aa782c;background:#fff4df}.flow-card .flow-icon svg{color:inherit;stroke:currentColor}.hangul-quiz-page .quiz-choices>label{background:#fffefd;border-color:#d9ddea;border-radius:10px;grid-template-rows:none;min-height:0;padding:10px 12px;line-height:1.4}.hangul-quiz-page .quiz-choices>label:hover{background:#fbf9ff;border-color:#b7a8dc}.online-monitoring-page{max-width:1320px}.online-monitoring-security{align-items:flex-start;gap:10px;margin:0;display:flex}.online-monitoring-security svg{color:var(--accent-sage);flex:none;margin-top:1px}.online-monitoring-security div{gap:2px;display:grid}.online-monitoring-security span{color:var(--muted);font-size:13px}.online-monitoring-message{margin:0}.online-monitoring-progress-notice{color:#174f82;background:#f2f8ff;border-color:#bdd6ee;flex-wrap:wrap;align-items:center;gap:10px;display:flex}.online-monitoring-progress-notice>div{flex:220px}.online-monitoring-progress-notice>button{color:#98372f;min-height:40px;font:inherit;white-space:nowrap;cursor:pointer;background:#fff3f1;border:1px solid #e3aaa3;border-radius:6px;flex:none;padding:8px 12px;font-weight:700}.online-monitoring-progress-notice>button:hover:not(:disabled){background:#ffe5df}.online-monitoring-progress-notice>button:disabled{opacity:.55;cursor:not-allowed}.online-monitoring-progress-notice div{gap:2px;min-width:0;display:grid}.online-monitoring-progress-notice span{color:#3c6589;overflow-wrap:anywhere;font-size:13px}.online-monitoring-progress-icon{flex:none;animation:1.3s linear infinite online-monitoring-spin}@keyframes online-monitoring-spin{to{transform:rotate(360deg)}}.online-monitoring-upload .panel-head,.online-monitoring-connection .panel-head,.online-monitoring-course-panel .panel-head,.online-monitoring-results .panel-head{align-items:flex-start;gap:16px}.online-monitoring-result-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.online-monitoring-upload .panel-head p,.online-monitoring-connection .panel-head p,.online-monitoring-course-panel .panel-head p,.online-monitoring-results .panel-head p{color:var(--muted);margin:4px 0 0}.online-monitoring-upload-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.online-monitoring-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.online-monitoring-week-picker{background:var(--paper,#fff);min-height:42px;color:var(--ink);white-space:nowrap;border:1px solid #d7e0e7;border-radius:12px;align-items:center;gap:8px;padding:0 11px 0 13px;font-size:13px;font-weight:700;display:inline-flex}.online-monitoring-week-picker select{min-height:30px;color:inherit;font:inherit;background:0 0;border:0;outline:0;padding:0 18px 0 2px}.online-monitoring-credential-form{grid-template-columns:minmax(180px,1fr) minmax(200px,1fr) auto;align-items:end;gap:12px;display:grid}.online-monitoring-credential-form label{color:var(--ink);gap:6px;font-size:13px;font-weight:700;display:grid}.online-monitoring-credential-form input{min-width:0}.online-monitoring-connected{color:#27714a;background:#f2fbf7;border:1px solid #b8ddcf;border-radius:10px;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;font-weight:700;display:flex}.online-monitoring-automation-status{border:1px solid var(--line);color:var(--ink);background:#fffaf6;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 16px;padding:11px 13px;display:flex}.online-monitoring-automation-status strong{white-space:nowrap;flex:none}.online-monitoring-automation-status.is-ready{background:#f2fbf7;border-color:#b8ddcf}.online-monitoring-automation-status small{min-width:0;color:var(--muted);overflow-wrap:anywhere}.online-monitoring-disconnect-button{color:#b42318;min-width:144px;min-height:38px;font:inherit;white-space:nowrap;background:#fff;border:1px solid #e5b8b1;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 13px;font-weight:700;line-height:1;display:inline-flex}.online-monitoring-disconnect-button:hover:not(:disabled){background:#fff4f2;border-color:#b42318}.online-monitoring-disconnect-button:disabled{cursor:wait;opacity:.72}.online-monitoring-helper-missing{color:var(--ink);background:#fffaf0;border:1px solid #ecd6ab;border-radius:10px;margin-top:10px}.online-monitoring-helper-missing summary{cursor:pointer;padding:10px 12px;font-weight:700}.online-monitoring-helper-missing ul{max-height:220px;margin:0;padding:0 16px 12px 30px;overflow:auto}.online-monitoring-helper-missing li{margin-top:6px}.online-monitoring-helper-missing li small{color:var(--muted);margin-top:2px;display:block}.online-monitoring-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-width:0;display:grid}.online-monitoring-summary article{background:#fffefd;border:1px solid #e5e0ea;border-radius:12px;align-content:center;gap:6px;min-height:114px;padding:18px;display:grid}.online-monitoring-summary article:nth-child(2){background:#f1f7ff}.online-monitoring-summary article.is-alert{background:#fff4f0;border-color:#e7b9ae}.online-monitoring-summary small{color:#687386}.online-monitoring-summary strong{color:var(--ink);font-size:24px}.online-monitoring-catalog-summary{grid-template-columns:minmax(120px,150px)}.online-monitoring-run-summary{flex-wrap:wrap;gap:12px 24px;margin:0 0 16px;display:flex}.online-monitoring-run-summary span{color:var(--ink)}.online-monitoring-run-summary strong{margin-left:8px}.online-monitoring-errors{color:#9a3c2d;background:#fff6f3;border:1px solid #f1c2b8;border-radius:10px;margin:14px 0 0;padding:12px 16px 12px 34px}.online-monitoring-errors li+li{margin-top:4px}.online-monitoring-course-form{grid-template-columns:repeat(4,minmax(130px,1fr)) auto;align-items:end;gap:10px;margin-bottom:18px;display:grid}.online-monitoring-course-form label{color:var(--ink);gap:6px;font-size:13px;font-weight:700;display:grid}.online-monitoring-course-form input{min-width:0}.online-monitoring-course-form button,.icon-text-button,.danger-button{white-space:nowrap;justify-content:center;align-items:center;gap:8px;min-height:42px;display:inline-flex}.online-monitoring-course-form button{padding-inline:14px}.online-monitoring-table{overflow-x:auto}.online-monitoring-table table{min-width:780px}.online-monitoring-table td{vertical-align:middle}.table-link{color:var(--accent-blue);font-weight:700;text-decoration:none}.table-link:hover{text-decoration:underline}.inline-delete-button{color:#c14d3f;background:#fff8f6;border:1px solid #efb9af;border-radius:9px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:inline-flex}.inline-delete-button:hover{background:#ffede8}.monitoring-status{color:#27714a;background:#eaf6ee;border-radius:999px;align-items:center;min-height:26px;padding:3px 9px;font-size:12px;font-weight:700;display:inline-flex}.monitoring-status.is-alert{color:#b84938;background:#fff0eb}.monitoring-status.is-pending{color:#8a6500;background:#fff8df}.monitoring-concern{color:#a04d40;max-width:180px;margin-top:4px;line-height:1.35;display:block}.monitoring-pending{color:#806b2a;max-width:220px;margin-top:4px;line-height:1.35;display:block}.monitoring-video-checks{margin-top:8px}.monitoring-video-checks summary{cursor:pointer;color:var(--accent-blue);font-size:12px;font-weight:700}.monitoring-video-check-list{gap:6px;width:min(360px,46vw);margin-top:8px;display:grid}.monitoring-video-check-list article{border:1px solid var(--line);background:#fffdf9;border-radius:10px;gap:2px;padding:8px 9px;font-size:12px;line-height:1.35;display:grid}.monitoring-video-check-list span{color:var(--ink)}.monitoring-video-check-list small{color:var(--muted)}@media(max-width:980px){.online-monitoring-upload-grid{grid-template-columns:1fr}.online-monitoring-course-form{grid-template-columns:repeat(2,minmax(0,1fr))}.online-monitoring-course-form button{grid-column:span 2}}@media(max-width:720px){.flow-card,.flow-card:first-child,.flow-card:nth-child(2){min-height:104px;padding:14px}.hangul-quiz-page .quiz-choices>label{min-height:0;padding:10px 12px}.online-monitoring-upload .panel-head,.online-monitoring-connection .panel-head,.online-monitoring-course-panel .panel-head,.online-monitoring-results .panel-head{flex-direction:column}.online-monitoring-result-actions,.online-monitoring-actions{justify-content:flex-start}.online-monitoring-week-picker{justify-content:space-between;width:100%}.online-monitoring-credential-form{grid-template-columns:1fr}.online-monitoring-connected{flex-direction:column;align-items:flex-start}.online-monitoring-summary{grid-template-columns:1fr}.online-monitoring-summary article{min-height:78px;padding:14px}.online-monitoring-course-form{grid-template-columns:1fr}.online-monitoring-course-form button{grid-column:auto}}:root{--color-background:#f6f7f8;--color-foreground:#24313d;--color-card:#fff;--color-border:#dbe2e7;--color-primary:#355f77;--ink:#24313d;--teal:#355f77;--teal-dark:#294d61;--mint:#edf3f1;--mint-strong:#557568;--paper:#fff;--line:#dbe2e7;--muted:#65727d;--cream:#f6f7f8;--sage:#eef4f1;--sky:#eef3f7;--clay:#f8f1eb;--lavender:#f1f2f5;--butter:#f8f5ed;--rose:#f8eeed;--accent-blue:#355f77;--accent-clay:#a56d47;--accent-sage:#557568;--accent-violet:#637486;--soft-shadow:0 1px 2px #24313d08, 0 8px 24px #24313d0e;--hover-shadow:0 12px 28px #24313d1a;background:var(--color-background)}body,.app,.language-screen{background:var(--color-background);color:var(--ink)}.hero,.home-hero,.section-title,.calendar-panel,.home-panel,.quick-actions,.panel,.row-card,.result,.location,.login,.language-panel,.language-modal,.table-wrap,.attendance-result-table,.flow-card,.flow-card:first-child,.flow-card:nth-child(2),.detail-page .menu-card:not(.flow-card),.process-panel article,.process-panel .highlight,.stat,.chip-grid button{background:var(--paper);border-color:var(--line);box-shadow:var(--soft-shadow)}.hero,.home-hero,.section-title{background:linear-gradient(110deg,#fff,#fbfcfc 68%,#f1f5f3)}.hero:after,.home-hero:after,.section-title:after{display:none}.section-title{border-left-color:var(--accent-blue)}.category-card,.menu-card,.category-card:nth-child(n),.menu-card:nth-child(n),.menu-card.admin-card,.flow-card.tone-check,.flow-card.tone-write,.flow-card.tone-prep,.flow-card.tone-process{background:var(--paper);border-color:var(--line);box-shadow:var(--soft-shadow)}.category-card:hover,.menu-card:hover,.quick-action:hover,.role-card:hover,.role-card:focus-visible{box-shadow:var(--hover-shadow);background:#fbfcfd;border-color:#aebdca}.category-card:before,.quick-action:before{background:var(--accent-blue);opacity:.42}.category-card.admin-card:after,.menu-card.admin-card:after{color:var(--muted)}.row-card,.row-card:nth-child(2n),.row-card:nth-child(3n),.stack>.panel:nth-of-type(2n),.stack>.panel:nth-of-type(3n){background:var(--paper);border-color:var(--line)}.quick-action,.tone-blue,.tone-coral,.tone-mint,.tone-navy,.tone-slate{color:var(--accent-blue);background:#f7f9fa}.quick-action{border-color:#e1e7eb}.quick-icon,.flow-icon,.role-card>span,.hero-brand span.hero-brand-mark,.service-row>span,.category-card>svg,.menu-card>svg{color:var(--accent-blue);box-shadow:none;background:#e8eff4;border-radius:50%}.quick-icon,.flow-icon{border:1px solid #d9e4eb}.quick-icon,.flow-card .flow-icon{color:var(--accent-blue);background:#e8eff4}.quick-icon svg,.flow-icon svg,.flow-card .flow-icon svg{color:var(--accent-blue);stroke:currentColor}.category-card>svg,.menu-card>svg{width:46px;height:46px;color:var(--accent-blue);stroke:currentColor;padding:11px}.category-card svg,.menu-card svg,.category-card:nth-child(2) svg,.menu-card:nth-child(3n) svg,.category-card.admin-card svg,.menu-card.admin-card svg{color:var(--accent-blue);stroke:currentColor}.flow-card.tone-primary .flow-icon,.flow-card.tone-check .flow-icon,.flow-card.tone-write .flow-icon,.flow-card.tone-prep .flow-icon,.flow-card.tone-process .flow-icon,.tone-blue .quick-icon,.tone-coral .quick-icon,.tone-mint .quick-icon,.tone-navy .quick-icon,.tone-slate .quick-icon{color:var(--accent-blue);background:#e8eff4}.role-card,.language-grid button,.language-grid a,.quick-language,.home-schedule-panel,.home-schedule-item,.service-row{background:var(--paper);border-color:var(--line)}.primary,.hero-search button,.quick-language button.active,.calendar-head span,.calendar-bookmarks button.active{border-color:var(--accent-blue);background:var(--accent-blue)}.primary:hover:not(:disabled),.hero-search button:hover,.quick-language button.active:hover,.calendar-bookmarks button.active:hover{border-color:var(--teal-dark);background:var(--teal-dark)}input:not([type=checkbox]):not([type=radio]),select,textarea{background:#fff;border-color:#d6dfe5}.secondary,.download,.ghost,.back,.admin-entry,.admin-text-entry,.hero-admin-link,.language-menu>button,.header-actions>a,.header-actions>button{color:var(--ink);background:#fff;border-color:#d6dfe5}.secondary:hover,.download:hover,.ghost:hover,.back:hover,.admin-entry:hover,.admin-text-entry:hover,.hero-admin-link:hover,.language-menu>button:hover,.header-actions>a:hover,.header-actions>button:hover{background:#f4f7f9;border-color:#aebdca}@media(max-width:720px){.quick-action{background:var(--paper)}}.consult-panel{color:#fff;background:#3f6172}.consult-panel p{color:#ffffffd1}.table-edit-action,.online-attendance-download-icon,.attendance-file-icon{color:var(--accent-blue);background:#e8eff4;border-radius:50%}.table-edit-action{border-color:#d6e1e8}.table-edit-action:hover:not(:disabled){background:#dce8ef;border-color:#aebdca}.attendance-file-picker:hover{background:#f6f9fa;border-color:#aebdca}:root{--color-background:#f6f4ef;--color-foreground:#182b33;--color-card:#fffefb;--color-border:#dce2dc;--color-primary:#1f5960;--ink:#182b33;--teal:#1f5960;--teal-dark:#173f45;--mint:#e8f1eb;--mint-strong:#396f62;--paper:#fffefb;--line:#dce2dc;--muted:#697678;--cream:#f6f4ef;--sage:#edf3ed;--sky:#eef3f4;--clay:#f6eee8;--lavender:#f0eef6;--butter:#f7f2e6;--rose:#f7edeb;--accent-blue:#1f5960;--accent-clay:#ad684c;--accent-sage:#396f62;--accent-violet:#6f668d;--soft-shadow:0 1px 2px #182b330a, 0 16px 36px #182b330f;--hover-shadow:0 18px 38px #182b331f}body,.app,.language-screen{background-color:var(--color-background);background-image:linear-gradient(#182b3306 1px,#0000 1px),linear-gradient(90deg,#182b3306 1px,#0000 1px);background-size:28px 28px;min-height:100dvh}.home-page{gap:22px;width:min(1440px,100%);max-width:none;padding:28px clamp(20px,4vw,64px) 68px}.home-hero{background:#183e43;border:1px solid #224a4c;border-radius:32px;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:clamp(24px,4vw,64px);min-height:390px;padding:clamp(28px,5vw,68px);position:relative;box-shadow:0 24px 60px #182b3329}.home-hero:before{z-index:0;content:"";pointer-events:none;border:1px solid #ffffff1f;border-radius:22px;position:absolute;top:18px;right:18px;bottom:18px;left:18px}.home-hero-copy,.home-hero>.home-schedule-panel{z-index:1;position:relative}.home-hero-copy{gap:22px}.hero-brand-strip{margin-bottom:12px}.hero-brand{gap:12px}.hero-brand span.hero-brand-mark{width:50px;height:50px;box-shadow:none;background:#fffefb;border:1px solid #ffffff47;border-radius:15px}.hero-brand strong,.home-hero h1{color:#fffefb}.hero-brand strong{font-size:18px}.hero-brand small{color:#ffffffad;font-size:13px}.home-hero h1{letter-spacing:0;max-width:760px;font-size:clamp(42px,5.3vw,78px);line-height:1.06}.home-hero-title>span{display:block}.hero-top-actions{gap:10px}.home-hero .hero-top-actions .role-switch,.home-hero .hero-top-actions .language-menu,.home-hero .hero-top-actions .language-trigger,.home-hero .hero-top-actions .role-switch :is(a,button){color:#fffefb;box-shadow:none;background:#ffffff1a;border-color:#ffffff38}.home-hero .hero-top-actions .role-switch :is(a,button).active,.home-hero .hero-top-actions .role-switch :is(a,button):hover,.home-hero .hero-top-actions .language-trigger:hover{color:var(--teal-dark);background:#fffefb;border-color:#f1c8a0}.home-hero .hero-top-actions .role-switch svg,.home-hero .hero-top-actions .language-trigger svg{color:currentColor}.home-schedule-panel{background:#fffefbf5;border:1px solid #ffffff2e;border-radius:22px;align-self:center;padding:22px;box-shadow:0 18px 34px #04191d38}.home-schedule-panel:before{display:none}.home-schedule-head h2{color:var(--ink)}.home-schedule-item{background:#f8faf7;border-color:#dfe6df;border-radius:13px;min-height:72px;padding:13px}.home-schedule-item:hover{background:#f0f6f1;border-color:#abc5bc}.quick-actions,.home-panel,.panel,.row-card,.result,.location,.table-wrap,.attendance-result-table{border-color:var(--line);background:var(--paper);box-shadow:var(--soft-shadow);border-radius:20px}.quick-actions{padding:clamp(20px,3vw,30px)}.section-head h2{font-size:clamp(20px,2vw,26px)}.quick-action-grid{gap:14px}.quick-action{min-height:144px;color:var(--ink);text-align:left;box-shadow:none;background:#fffefb;border:1px solid #e0e5df;border-radius:18px;align-content:start;justify-items:start;gap:12px;padding:18px;position:relative}.quick-action:before{background:var(--accent-blue);content:"";opacity:.75;border-radius:18px 0 0 18px;width:3px;position:absolute;inset:0 auto 0 0}.quick-action:hover{box-shadow:var(--hover-shadow);background:#fff;border-color:#a8c0b7;transform:translateY(-3px)}.quick-icon,.tone-blue .quick-icon,.tone-coral .quick-icon,.tone-mint .quick-icon,.tone-navy .quick-icon,.tone-slate .quick-icon{width:46px;height:46px;color:var(--teal);background:#e8f1eb;border:0;border-radius:14px}.quick-icon svg{color:currentColor;stroke:currentColor}.quick-action strong{min-height:0;font-size:16px;line-height:1.35}.quick-action small{color:var(--muted);line-height:1.45}.quick-action-count{background:var(--accent-clay);top:14px;right:14px}.tone-coral .quick-icon{color:#a55d43;background:#f7e9df}.tone-mint .quick-icon{color:#396f62;background:#e3f0e8}.tone-navy .quick-icon{color:#315a70;background:#e7edf1}.tone-slate .quick-icon{color:#6f668d;background:#f0eef4}.quick-action.is-disabled{color:#8a928f;background:#f4f3ef}.home-info-grid{gap:18px}.home-panel{padding:clamp(20px,2.4vw,28px)}.service-row{background:#fffefb;border-color:#e2e6e1;border-radius:14px;min-height:78px;padding:12px}.service-row:hover{background:#f5f8f4;border-color:#aec5bb}.service-row>span{width:40px;height:40px;color:var(--teal);background:#e8f1eb;border-radius:12px}.consult-panel{background:#183e43;border-color:#183e43}.consult-panel .consult-panel-icon{background:#ffffff1f}.hero,.section-title{border-color:var(--line);background:var(--paper);box-shadow:var(--soft-shadow);border-radius:20px}.hero{padding:clamp(24px,3.6vw,44px)}.hero h1,.section-title h1,.section-title>span{color:var(--ink)}.hero:after,.section-title:after{display:none}.section-title{border-left:4px solid var(--teal)}.category-card,.menu-card,.flow-card,.chip-grid button{border-color:var(--line);background:var(--paper);box-shadow:var(--soft-shadow);border-radius:16px}.category-card:before{background:var(--teal);opacity:.7}.category-card:hover,.menu-card:hover,.flow-card:hover{box-shadow:var(--hover-shadow);background:#fff;border-color:#a8c0b7}.category-card>svg,.menu-card>svg,.flow-icon,.role-card>span{color:var(--teal);background:#e8f1eb;border-radius:14px}.category-card>svg,.menu-card>svg{padding:11px}.category-card svg,.menu-card svg,.flow-icon svg{color:currentColor;stroke:currentColor}button,.primary,.secondary,.download,.ghost,.back,.admin-entry,.admin-text-entry,.hero-admin-link,.header-actions>a,.header-actions>button{border-radius:12px}.primary,.hero-search button{border-color:var(--teal);background:var(--teal)}.primary:hover:not(:disabled),.hero-search button:hover{border-color:var(--teal-dark);background:var(--teal-dark)}.secondary,.download,.ghost,.back,.admin-entry,.admin-text-entry,.hero-admin-link,.header-actions>a,.header-actions>button{color:var(--ink);background:#fffefb;border-color:#d5ddd6}input:not([type=checkbox]):not([type=radio]),select,textarea{background:#fffefb;border-color:#d4ddd5;border-radius:12px}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{border-color:#78a497;box-shadow:0 0 0 3px #396f6221}table thead th{color:var(--ink);background:#eff3ee}table td{border-color:#e1e6e0}table tbody tr:hover td{background:#f4f8f3}@media(max-width:980px){.home-page{padding-inline:22px}.home-hero{grid-template-columns:1fr;min-height:0}.home-schedule-panel{width:min(100%,540px)}}@media(max-width:720px){.home-page{gap:16px;padding:16px 12px 42px}.home-hero{border-radius:24px;gap:22px;padding:22px 18px}.home-hero:before{border-radius:16px;top:10px;right:10px;bottom:10px;left:10px}.hero-brand-strip{align-items:flex-start;gap:14px}.hero-top-actions{align-items:stretch;width:100%}.home-hero .hero-top-actions .role-switch{width:100%}.home-hero .hero-top-actions .role-switch :is(a,button){min-width:0}.home-hero h1{font-size:clamp(34px,10vw,46px)}.home-schedule-panel{border-radius:18px;padding:16px}.quick-actions,.home-panel{border-radius:18px}.quick-actions{padding:16px}.quick-action-grid{gap:10px}.quick-action{border-radius:15px;min-height:112px;padding:14px}.quick-action strong{font-size:14px}.quick-action small{font-size:11px}.quick-icon{border-radius:12px;width:40px;height:40px}.hero,.section-title{border-radius:18px}}.quick-action:before,.category-card:before,.consult-panel:before{content:none;display:none}.quick-action,.category-card{min-width:0}.quick-action{grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr);align-content:center;justify-items:center;row-gap:4px;min-height:112px}.quick-action .quick-icon{grid-area:1/1}.quick-action strong,.quick-action small{white-space:nowrap;grid-column:1;min-width:0;max-width:100%}.quick-action strong{grid-row:2;font-size:12px;line-height:1.3}.quick-action strong br{display:none}.quick-action small{text-overflow:ellipsis;grid-row:3;font-size:12px;line-height:1.3;overflow:hidden}.category-card{grid-template-columns:minmax(0,1fr);grid-template-areas:"number number""icon icon""title title""description description";justify-items:start;row-gap:4px;min-height:132px;padding:18px}.category-card .category-number{width:fit-content;height:28px;color:var(--teal);background:#f4f8f7;border:1px solid #d9e4e3;border-radius:999px;grid-area:number;padding:0 10px;font-size:14px}.category-card>svg{grid-area:icon;align-self:center}.category-card strong,.category-card small{white-space:nowrap;min-width:0}.category-card strong{grid-area:title;align-self:end;font-size:16px;line-height:1.3}.category-card small{text-overflow:ellipsis;grid-area:description;align-self:start;font-size:13px;line-height:1.3;overflow:hidden}.home-hero h1,.home-hero-title{text-overflow:ellipsis;white-space:nowrap;max-width:none;font-size:32px;line-height:1.14;overflow:hidden}.home-hero-title>span{white-space:inherit;display:inline}.notice-panel .section-head h2,.bulletin-panel .section-head h2,.notice-list a,.notice-list p,.service-row strong,.service-row small,.consult-panel h2,.consult-hours dt,.consult-hours dd,.consult-contact p{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.notice-panel .section-head,.bulletin-panel .section-head,.service-row,.consult-panel-heading,.consult-contact,.notice-list li{min-width:0}.notice-list a,.notice-list p{font-size:14px;line-height:1.35}.consult-panel{gap:18px}.consult-hours div{border-right:0;min-width:0}@media(max-width:980px){.home-hero h1,.home-hero-title{font-size:26px}}@media(max-width:720px){.quick-action{min-height:94px;padding:12px}.quick-action strong{font-size:12px}.quick-action small{font-size:11px}.quick-icon{width:38px;height:38px}.category-card{min-height:128px;padding:15px}.category-card strong{font-size:16px}.category-card small{font-size:12px}.home-hero h1,.home-hero-title,.notice-panel .section-head h2,.bulletin-panel .section-head h2{font-size:18px}.notice-list a,.notice-list p{font-size:13px}.hikorea-notice-list li{grid-template-columns:1fr;align-items:start;gap:6px}}html{font-family:var(--font-global-hub);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--cream);color:var(--ink)}header{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f5f4efe6;border-color:#112d331a;min-height:76px;padding-inline:clamp(20px,4vw,64px)}.section-title,.detail-page>.section-title{border-radius:var(--radius-card);background:var(--paper);box-shadow:var(--soft-shadow);border:1px solid #112d331f}.section-title:before,.detail-page>.section-title:before,.detail-page>.section-title:after{display:none}.panel,.row-card,.result,.location,.login,.home-panel,.quick-actions,.calendar-panel,.language-panel,.language-modal,.table-wrap,.attendance-result-table,.detail-page>.panel,.detail-page>.row-card,.detail-page>.result,.detail-page>.location,.detail-page>.table-wrap,.detail-page>.attendance-result-table{border-radius:var(--radius-card);background:var(--paper);box-shadow:var(--soft-shadow);border-color:#112d331f}.detail-page>.panel:before,.detail-page>.row-card:before,.detail-page>.result:before,.quick-action:before{display:none!important}.primary,.hero-search button{border-color:var(--teal-dark);background:var(--teal-dark);color:#fff}.primary:hover:not(:disabled),.hero-search button:hover:not(:disabled){background:#061d1f;border-color:#061d1f}.questly-home{gap:clamp(22px,3vw,48px);width:min(100%,1760px);max-width:none;padding:0 clamp(16px,2.5vw,40px) 64px}.questly-home .questly-hero{isolation:isolate;min-height:clamp(420px,58svh,620px);box-shadow:none;background-image:url(https://images.higgs.ai/?default=1&output=webp&url=https%3A%2F%2Fd8j0ntlcm91z4.cloudfront.net%2Fuser_38xzZboKViGWJOttwIXH07lWA1P%2Fhf_20260611_133301_d5f2a94a-b22e-4e4a-a6b6-eacdddf1f5b0.png&w=1280&q=85);background-position:50%;background-size:cover;border:0;border-radius:0 0 30px 30px;grid-template-columns:1fr;align-content:start;padding:clamp(22px,3vw,48px);display:grid;position:relative;overflow:hidden}.questly-home .questly-hero:after{display:none}.questly-home .questly-hero .questly-hero-overlay{z-index:-1;background:linear-gradient(#f6f5efbd,#f6f5efde,#f6f5effa);position:absolute;top:0;right:0;bottom:0;left:0}.questly-home .questly-nav{z-index:3;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffefac2;border:1px solid #112d331f;border-radius:999px;justify-content:space-between;align-items:center;width:min(100%,1440px);min-height:64px;margin:0 auto;padding:8px 12px 8px 18px;display:flex;position:relative;box-shadow:0 8px 30px #112d330f}.questly-home .questly-nav .hero-brand{color:var(--ink);align-items:center;gap:10px;text-decoration:none;display:flex}.questly-home .questly-nav .hero-brand-mark,.questly-home .hero-brand span.hero-brand-mark{background:0 0;border:0;border-radius:12px;width:40px;height:40px}.questly-home .questly-nav .hero-brand strong{letter-spacing:.01em;font-size:15px}.questly-home .questly-nav .hero-brand small{font-size:11px}.questly-home .questly-nav-links{align-items:center;gap:clamp(16px,2vw,34px);display:flex}.questly-home .questly-nav-links a{color:#3d5254;font-size:14px;font-weight:700;text-decoration:none}.questly-home .questly-nav-links a:hover,.questly-home .questly-nav-links a:focus-visible{color:var(--teal-dark);text-underline-offset:4px;text-decoration:underline}.questly-home .questly-nav .hero-top-actions{flex-wrap:nowrap;gap:8px;display:flex}.questly-home .questly-nav .role-switch{width:auto;box-shadow:none;background:0 0;border:0;border-radius:999px}.questly-home .questly-nav .role-switch :is(a,button){min-height:38px;color:var(--ink);border:0;border-radius:999px;padding:0 9px}.questly-home .questly-nav .role-switch :is(a,button).active{background:var(--teal-dark);color:#fff}.questly-home .questly-nav .language-trigger{background:var(--teal-dark);color:#fff;border:0;border-radius:999px;min-height:38px}.questly-home .questly-hero-copy{z-index:2;text-align:center;justify-items:center;width:min(100%,1040px);margin:clamp(76px,11vh,148px) auto 0;display:grid;position:relative}.questly-home .questly-hero h1,.questly-home .questly-hero .home-hero-title{max-width:1000px;color:var(--teal-dark);letter-spacing:-.035em;text-overflow:clip;white-space:normal;margin:0;font-size:clamp(48px,7.5vw,112px);font-weight:700;line-height:.95;overflow:visible}.questly-home .questly-hero .home-hero-title>span{white-space:normal;display:block}.questly-home .questly-hero .questly-hero-lead{color:#4d6566;max-width:700px;margin:24px auto 0;font-size:clamp(16px,1.5vw,20px);line-height:1.6}.questly-home .questly-search,.questly-home .questly-search-static{width:min(100%,720px);min-height:58px;color:var(--teal-dark);background:#fffefaf0;border:1px solid #112d3333;border-radius:999px;margin:30px auto 0;padding:5px 6px 5px 20px;box-shadow:0 14px 34px #112d3317}.questly-home .questly-search-static{text-align:left;align-items:center;gap:12px;display:flex}.questly-home .questly-search-static span{color:#587071;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:15px;overflow:hidden}.questly-home .questly-search-static a{background:var(--teal-dark);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:110px;min-height:46px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.questly-home .questly-search button{border-radius:999px;min-width:110px;min-height:46px}.questly-home .questly-hero-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:18px;display:flex}.questly-home .questly-hero-actions a{border-radius:999px;justify-content:center;align-items:center;min-height:44px;padding:0 18px;font-weight:700;text-decoration:none;display:inline-flex}.questly-home .questly-outline-action{color:var(--ink);background:#fffefab3;border:1px solid #112d3340}.questly-home .staff-service-text-nav{flex-wrap:wrap;justify-content:center;gap:10px;max-width:960px;margin:28px auto 0;display:flex}.questly-home .staff-service-text-nav a{min-height:44px;color:var(--teal-dark);background:#fffefacc;border:1px solid #112d3338;border-radius:999px;justify-content:center;align-items:center;padding:0 18px;font-size:14px;font-weight:700;line-height:1;text-decoration:none;transition:background-color .16s,border-color .16s,color .16s;display:inline-flex;position:relative}.questly-home .staff-service-pending-count{background:var(--accent-clay);color:#fff;font-variant-numeric:tabular-nums;pointer-events:none;border:2px solid #fffefb;border-radius:999px;justify-content:center;align-items:center;min-width:21px;height:21px;padding:0 5px;font-size:11px;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:-8px;right:-8px}.questly-home .staff-service-text-nav a:hover,.questly-home .staff-service-text-nav a:focus-visible{border-color:var(--teal-dark);background:var(--teal-dark);color:#fff}.questly-home .hub-dashboard-preview{z-index:2;background:#143d40;border:1px solid #ffffff38;border-radius:24px 24px 0 0;width:min(100%,1320px);min-height:278px;margin:clamp(48px,9vh,100px) auto 0;animation:.7s ease-out both questly-rise;position:relative;overflow:hidden;box-shadow:0 26px 56px #112d333d}.questly-home .hub-dashboard-topbar{color:#ffffffd1;border-bottom:1px solid #ffffff21;justify-content:space-between;align-items:center;min-height:48px;padding:0 20px;display:flex}.questly-home .hub-dashboard-wordmark{letter-spacing:.01em;font-size:14px;font-weight:700}.questly-home .hub-dashboard-status{align-items:center;gap:7px;font-size:12px;display:inline-flex}.questly-home .hub-dashboard-status i{background:#a6d99f;border-radius:50%;width:7px;height:7px}.questly-home .hub-dashboard-content{grid-template-columns:54px minmax(0,1fr) minmax(250px,.64fr);min-height:230px;display:grid}.questly-home .hub-dashboard-rail{border-right:1px solid #ffffff1f;align-content:start;justify-items:center;gap:18px;padding-top:24px;display:grid}.questly-home .hub-dashboard-rail span{background:#fff3;border-radius:6px;width:18px;height:18px}.questly-home .hub-dashboard-rail span.is-active{background:#bcdca9}.questly-home .hub-dashboard-main{padding:24px}.questly-home .hub-dashboard-overview{justify-content:space-between;align-items:center;gap:20px;display:flex}.questly-home .hub-dashboard-overview small,.questly-home .hub-dashboard-cards small,.questly-home .hub-dashboard-cards span{color:#ffffff8f;font-size:11px;display:block}.questly-home .hub-dashboard-overview strong{color:#fff;margin-top:4px;font-size:20px;display:block}.questly-home .hub-dashboard-meter{align-items:end;gap:5px;height:42px;display:flex}.questly-home .hub-dashboard-meter i{background:#bcdca9;border-radius:4px 4px 0 0;width:10px}.questly-home .hub-dashboard-meter i:first-child{height:14px}.questly-home .hub-dashboard-meter i:nth-child(2){height:24px}.questly-home .hub-dashboard-meter i:nth-child(3){height:36px}.questly-home .hub-dashboard-meter i:nth-child(4){height:28px}.questly-home .hub-dashboard-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:26px;display:grid}.questly-home .hub-dashboard-cards article{background:#ffffff12;border:1px solid #ffffff1f;border-radius:12px;min-width:0;padding:16px}.questly-home .hub-dashboard-cards strong{color:#fff;margin:8px 0 4px;font-size:22px;display:block}.questly-home .hub-dashboard-preview .home-schedule-panel{min-height:0;box-shadow:none;background:#fffffff0;border:1px solid #ffffff24;border-radius:14px;margin:14px 14px 14px 0;padding:15px;display:block}.questly-home .hub-dashboard-preview .home-schedule-panel:before{display:none}.questly-home .hub-dashboard-preview .home-schedule-list{max-height:154px}.questly-home .hub-dashboard-preview .home-schedule-item{background:0 0;border-color:#112d331a;padding:8px 0}.questly-home .hub-dashboard-preview .home-schedule-item strong{font-size:12px}.questly-home .hub-dashboard-preview .home-schedule-item time{font-size:11px}.questly-home .quick-actions{padding:clamp(20px,3vw,36px)}.questly-home .quick-action{background:#f1f3ef;border-color:#112d331a;border-radius:16px;min-height:128px}.questly-home .quick-action:hover{box-shadow:var(--hover-shadow);border-color:#112d334d}.questly-home .quick-icon,.questly-home .tone-blue .quick-icon,.questly-home .tone-coral .quick-icon,.questly-home .tone-mint .quick-icon,.questly-home .tone-navy .quick-icon,.questly-home .tone-slate .quick-icon{background:var(--teal);color:#fff;width:50px;height:50px;box-shadow:none;border:0;border-radius:14px}.questly-home .quick-icon svg,.questly-home .tone-blue .quick-icon svg,.questly-home .tone-coral .quick-icon svg,.questly-home .tone-mint .quick-icon svg,.questly-home .tone-navy .quick-icon svg,.questly-home .tone-slate .quick-icon svg{color:#fff;stroke:currentColor}.questly-home .quick-icon svg [fill]:not([fill=none]){fill:currentColor}.questly-home .tone-blue,.questly-home .tone-coral,.questly-home .tone-mint,.questly-home .tone-navy,.questly-home .tone-slate{color:var(--teal);background:#f1f3ef}.questly-home .home-panel{padding:clamp(20px,2.2vw,30px)}.questly-home .home-info-grid{gap:16px}.questly-home .service-row{background:#fbfcf9;border-color:#112d331c;border-radius:12px}.questly-home .service-row:hover{background:#f0f5f0;border-color:#112d334d}.questly-home .consult-panel{background:#143d40;border-color:#143d40}.questly-home .consult-panel:before{background:#cfe5a3}@media(max-width:980px){.questly-home .questly-nav{grid-template-columns:minmax(0,1fr) auto;display:grid}.questly-home .questly-nav-links{display:none}.questly-home .questly-nav .hero-top-actions{justify-content:flex-end}.questly-home .hub-dashboard-content{grid-template-columns:46px minmax(0,1fr)}.questly-home .hub-dashboard-preview .home-schedule-panel{display:none}}@media(max-width:680px){.questly-home{padding-inline:0}.questly-home .questly-hero{border-radius:0 0 22px 22px;min-height:430px;padding:14px 14px 0}.questly-home .questly-nav{border-radius:18px;padding:8px 10px}.questly-home .questly-nav .hero-brand small{display:none}.questly-home .questly-nav .hero-top-actions{width:auto;min-width:0}.questly-home .questly-nav .role-switch{grid-template-columns:repeat(4,minmax(0,1fr))}.questly-home .questly-nav .role-switch :is(a,button){padding-inline:6px}.questly-home .questly-nav .role-switch :is(a,button) span,.questly-home .questly-nav .language-trigger span{display:none}.questly-home .questly-hero-copy{margin-top:72px}.questly-home .questly-hero h1,.questly-home .questly-hero .home-hero-title{letter-spacing:-.035em;font-size:clamp(44px,13vw,66px);line-height:.98}.questly-home .questly-hero-lead{margin-top:18px;font-size:15px}.questly-home .staff-service-text-nav{gap:8px;margin-top:22px}.questly-home .staff-service-text-nav a{min-height:40px;padding-inline:13px;font-size:12px}.questly-home .staff-service-pending-count{min-width:19px;height:19px;padding-inline:4px;font-size:10px;top:-7px;right:-6px}.questly-home .questly-search,.questly-home .questly-search-static{min-height:52px;margin-top:24px;padding-left:14px}.questly-home .questly-search button{min-width:68px;min-height:40px;font-size:13px}.questly-home .questly-search-static{gap:8px}.questly-home .questly-search-static span{font-size:12px}.questly-home .questly-search-static a{min-width:76px;min-height:40px;font-size:12px}.questly-home .hub-dashboard-preview{border-radius:16px 16px 0 0;min-height:214px;margin-top:52px}.questly-home .hub-dashboard-content{grid-template-columns:38px minmax(0,1fr);min-height:166px}.questly-home .hub-dashboard-topbar{min-height:40px;padding-inline:14px}.questly-home .hub-dashboard-rail{gap:12px;padding-top:18px}.questly-home .hub-dashboard-rail span{border-radius:4px;width:13px;height:13px}.questly-home .hub-dashboard-main{padding:17px 14px}.questly-home .hub-dashboard-overview strong{font-size:17px}.questly-home .hub-dashboard-cards{gap:7px;margin-top:16px}.questly-home .hub-dashboard-cards article{padding:9px}.questly-home .hub-dashboard-cards strong{margin:4px 0;font-size:16px}.questly-home .hub-dashboard-cards span{font-size:9px}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.app-shell{background:var(--cream);min-width:0}.app-shell>header{justify-content:space-between;gap:18px}.app-shell .header-actions{gap:8px;min-width:0}.app-shell .role-switch{background:#fffefae6;border:1px solid #112d3324;border-radius:999px;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;width:auto;padding:4px;display:grid;box-shadow:0 8px 22px #112d3312}.app-shell .role-switch :is(a,button){color:#3e5758;white-space:nowrap;border:0;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-height:36px;padding:0 10px;font-size:13px;font-weight:750;text-decoration:none;display:inline-flex}.app-shell .role-switch :is(a,button):hover,.app-shell .role-switch :is(a,button):focus-visible{color:var(--teal-dark);background:#edf3f2}.app-shell .role-switch :is(a,button).active{background:var(--teal-dark);color:#fff;box-shadow:0 4px 10px #112d332e}.app-shell .role-switch :is(a,button).active svg{color:currentColor}.role-availability,.app-shell .session-countdown{color:#174b8f;white-space:nowrap;background:#f4f8ff;border:1px solid #174d8f33;border-radius:999px;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:0 12px;font-size:12px;font-weight:800;display:inline-flex}.role-availability>span{background:#27856d;border-radius:50%;width:7px;height:7px}.role-logout{cursor:pointer}.role-logout:hover,.role-logout:focus-visible{color:#a33f35;background:#fff5f3;border-color:#d9958f}.role-logout:disabled{cursor:wait;opacity:.65}.app-shell .page-link-copy{min-height:36px;color:var(--teal-dark);white-space:nowrap;background:#fffefae6;border:1px solid #112d3324;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:12px;font-weight:800;display:inline-flex}.app-shell .page-link-copy:hover,.app-shell .page-link-copy:focus-visible{background:#edf3f2;border-color:#114a4d59}.app-shell .language-trigger{height:36px;min-height:36px;color:var(--teal-dark);background:#fffefae6;border:1px solid #112d3324;border-radius:999px;padding-inline:10px;font-size:13px;box-shadow:0 8px 22px #112d330d}.page-surface{min-width:0}.page-surface-service{background:linear-gradient(#112d3306 1px,transparent 1px),linear-gradient(90deg,#112d3306 1px,transparent 1px),var(--cream);background-size:28px 28px;min-height:calc(100vh - 76px);padding:clamp(18px,3vw,42px) clamp(16px,3vw,56px) 64px}.page-surface-service>:is(main,.detail-page,.stack,.login){width:min(100%,1520px);margin-inline:auto}.page-surface-service .detail-page,.page-surface-service .stack.detail-page{gap:18px;padding:0}.page-surface-service .detail-page>.section-title,.page-surface-service .section-title{min-height:0;box-shadow:var(--soft-shadow);background:linear-gradient(115deg,#fffefd,#fbfdfb 70%,#eef5f1);border:1px solid #112d331f;border-radius:18px;align-items:flex-start;gap:14px;padding:clamp(20px,2.2vw,30px);display:flex}.page-surface-service .detail-page>.section-title:before,.page-surface-service .detail-page>.section-title:after,.page-surface-service .section-title:before,.page-surface-service .section-title:after{display:none}.page-surface-service .detail-page>.section-title>span,.page-surface-service .section-title>span{background:var(--teal);color:#fff;width:42px;height:42px;box-shadow:none;border-radius:14px;flex:none;place-items:center;display:inline-grid}.page-surface-service .detail-page>.section-title>span:not(:has(svg)){width:auto;min-width:42px;padding-inline:10px;font-size:14px;font-weight:800}.page-surface-service .section-title h1{color:var(--teal-dark);letter-spacing:0;margin:0;font-size:clamp(24px,2.2vw,34px);line-height:1.18}.page-surface-service .section-title p{color:#5d7475;max-width:900px;margin:7px 0 0;font-size:14px;line-height:1.55}.page-surface-service .online-attendance-manager>.section-title.inline-intro p{white-space:nowrap;max-width:none}@media(max-width:720px){.page-surface-service .online-attendance-manager>.section-title.inline-intro p{white-space:normal}}.page-surface-service .detail-page>:is(.panel,.row-card,.result,.location,.table-wrap,.attendance-result-table),.page-surface-service .panel,.page-surface-service .table-wrap,.page-surface-service .row-card,.page-surface-service .result{box-shadow:var(--soft-shadow);background:#fffefaf5;border-color:#112d331f;border-radius:16px}.page-surface-service .detail-page>:is(.panel,.row-card,.result):before,.page-surface-service .panel:before,.page-surface-service .row-card:before,.page-surface-service .result:before{display:none}.page-surface-service .detail-page .grid-menu:not(.flow-menu){gap:14px}.page-surface-service .detail-page .menu-card:not(.flow-card){min-height:92px;color:var(--teal-dark);box-shadow:none;text-align:left;background:#f5f8f6;border:1px solid #112d331f;border-radius:14px;justify-content:flex-start;align-items:center;gap:13px;padding:18px;display:flex}.page-surface-service .detail-page .menu-card:not(.flow-card):before{display:none}.page-surface-service .detail-page .menu-card:not(.flow-card) svg,.page-surface-service .detail-page .menu-card:not(.flow-card):nth-child(2n) svg,.page-surface-service .detail-page .menu-card:not(.flow-card):nth-child(3n) svg{background:var(--teal);color:#fff;stroke:currentColor;border-radius:13px;flex:none;width:42px;height:42px;padding:10px}.page-surface-service .detail-page .menu-card:not(.flow-card) span{min-width:0;color:inherit;white-space:normal;font-size:16px;line-height:1.35}.page-surface-service .detail-page .menu-card:not(.flow-card):hover,.page-surface-service .detail-page .menu-card.active:not(.flow-card){background:#edf6f1;border-color:#114b486b;transform:translateY(-1px);box-shadow:0 10px 22px #112d3314}.page-surface-service :is(h1,h2,h3,p,small,label,td,th,.notice,.info-notice){overflow-wrap:anywhere;text-overflow:clip}table td.work-student-id,table td.work-renewal-contact,table td.work-contract-period{min-width:11ch;white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important}.work-renewal-sms-link{color:#075e69;text-underline-offset:3px;white-space:nowrap;align-items:center;gap:8px;min-height:44px;text-decoration:underline;display:inline-flex}.page-surface-service :is(.panel,.result,.row-card,.table-wrap) :is(p,small,label){white-space:normal}@media(max-width:900px){.app-shell>header{align-items:flex-start;padding-block:10px}.app-shell .brand small{display:none}.app-shell .header-actions{flex-wrap:wrap;flex:auto;justify-content:flex-end}.app-shell .role-switch{order:1}.app-shell .role-availability,.app-shell .session-controls{order:2}.app-shell .language-menu{order:3}}@media(max-width:620px){.app-shell>header{gap:10px;padding-inline:12px}.app-shell .brand{gap:7px}.app-shell .brand span.brand-mark{border-radius:11px;width:34px;height:34px}.app-shell .brand strong{white-space:nowrap;font-size:14px}.app-shell .header-actions{gap:5px}.app-shell .role-switch{order:3;width:100%}.app-shell .role-switch :is(a,button){gap:4px;min-height:34px;padding-inline:5px;font-size:11px}.app-shell .role-switch :is(a,button) svg{width:13px;height:13px}.app-shell .role-availability,.app-shell .session-countdown,.app-shell .page-link-copy{min-height:32px;padding-inline:9px;font-size:11px}.app-shell .header-actions .language-menu{order:2;display:block}.app-shell .language-trigger{height:32px;min-height:32px;padding-inline:8px;font-size:11px}.app-shell .language-trigger>span:not(.language-caret){display:none}.page-surface-service{background-size:22px 22px;padding:16px 12px 44px}.page-surface-service .detail-page>.section-title,.page-surface-service .section-title{border-radius:15px;gap:11px;padding:18px}.page-surface-service .detail-page>.section-title>span,.page-surface-service .section-title>span{border-radius:12px;width:38px;height:38px}.page-surface-service .section-title h1{font-size:23px}.page-surface-service .section-title p{font-size:13px}.page-surface-service .detail-page .menu-card:not(.flow-card){min-height:78px;padding:14px}.page-surface-service .detail-page .menu-card:not(.flow-card) svg{width:38px;height:38px;padding:9px}.page-surface-service .detail-page .menu-card:not(.flow-card) span{font-size:14px}}@media(max-width:720px){:is(.quick-icon,.flow-icon,.role-card>span,.service-row>span){opacity:1;border:0;border-radius:14px;flex:0 0 44px;place-items:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:10px;display:inline-grid;box-shadow:0 5px 12px #112d331f;background:var(--teal)!important;color:#fff!important}:is(.quick-icon,.flow-icon,.role-card>span,.service-row>span) svg{stroke:currentColor;width:24px;height:24px;color:#fff!important}:is(.quick-icon,.flow-icon,.role-card>span,.service-row>span) svg [fill]:not([fill=none]){fill:currentColor}.detail-page .attendance-file-picker-shell>.attendance-file-clear{z-index:2;justify-content:center;align-items:center;width:34px;min-width:34px;max-width:34px;height:34px;min-height:34px;max-height:34px;padding:0;display:inline-flex;position:absolute;top:12px;right:12px}.detail-page .attendance-file-picker-shell>.attendance-file-clear svg{width:17px;height:17px}.page-surface-service .detail-page .attendance-file-picker-shell,#dit-staff-consultation .attendance-file-picker-shell{min-width:0!important;position:relative!important}.page-surface-service .detail-page .attendance-file-picker-shell>.attendance-file-clear,#dit-staff-consultation .attendance-file-picker-shell>.attendance-file-clear,.attendance-file-picker-shell>button.attendance-file-clear[data-upload-delete]{z-index:4!important;box-sizing:border-box!important;aspect-ratio:1!important;white-space:nowrap!important;block-size:36px!important;inline-size:36px!important;border-radius:999px!important;flex:0 0 36px!important;place-self:start end!important;place-items:center!important;width:36px!important;min-width:36px!important;max-width:36px!important;height:36px!important;min-height:36px!important;max-height:36px!important;margin:0!important;padding:0!important;line-height:1!important;display:grid!important;position:absolute!important;inset:12px 12px auto auto!important;overflow:hidden!important}.page-surface-service .detail-page .attendance-file-picker-shell>.attendance-file-clear svg,#dit-staff-consultation .attendance-file-picker-shell>.attendance-file-clear svg,.attendance-file-picker-shell>button.attendance-file-clear[data-upload-delete] svg{flex:none!important;width:17px!important;height:17px!important;margin:0!important;display:block!important}.page-surface-service .detail-page .attendance-file-picker-shell>.attendance-file-picker,#dit-staff-consultation .attendance-file-picker-shell>.attendance-file-picker{padding-right:62px!important}.page-surface-service .detail-page .attendance-file-picker-shell>.admin-dataset-drive-sync,#dit-staff-consultation .attendance-file-picker-shell>.admin-dataset-drive-sync,.attendance-file-picker-shell>.admin-dataset-drive-sync{width:auto!important;min-width:0!important;margin:0!important}#dit-staff-consultation .attendance-file-picker-shell>.dit-profile-import-delete{z-index:5!important;box-sizing:border-box!important;aspect-ratio:1!important;white-space:nowrap!important;block-size:36px!important;inline-size:36px!important;border-radius:999px!important;flex:0 0 36px!important;place-self:start end!important;place-items:center!important;width:36px!important;min-width:36px!important;max-width:36px!important;height:36px!important;min-height:36px!important;max-height:36px!important;margin:0!important;padding:0!important;line-height:1!important;display:grid!important;position:absolute!important;inset:12px 12px auto auto!important;overflow:hidden!important}#dit-staff-consultation .attendance-file-picker-shell>.dit-profile-import-delete svg{flex:none!important;width:17px!important;height:17px!important;margin:0!important;display:block!important}#dit-staff-consultation .attendance-file-picker-shell>.dit-profile-import-card{padding-right:62px!important}}@media(max-width:760px){.roster-filter-bar{align-items:center;gap:8px;overflow-x:visible}.roster-filter-search-control{flex:0 calc(50% - 4px);width:auto;min-width:0;max-width:50%;height:42px}.roster-filter-search,.roster-filter-search input,.roster-filter-search-button,.roster-filter-count{box-sizing:border-box;height:42px!important;min-height:42px!important;margin:0!important}.roster-filter-search{align-self:stretch}.roster-filter-search-button{width:42px!important;min-width:42px!important;max-width:42px!important;padding:0!important}.roster-filter-count{white-space:nowrap;flex:none}}.attendance-photo-view-tabs{border-bottom:1px solid #cbd5d1;gap:20px;margin:12px 0 20px;display:flex}.attendance-photo-view-tabs button{box-shadow:none;color:#495b61;background:0 0;border:0;border-bottom:3px solid #0000;border-radius:0;min-height:44px;padding:12px 4px}.attendance-photo-view-tabs button[aria-pressed=true]{color:#145b63;border-bottom-color:#145b63;font-weight:700}.attendance-photo-missing-counts{flex-wrap:wrap;align-items:center;gap:8px 20px;display:flex}.attendance-photo-missing-counts strong{color:#9a3412}.attendance-photo-missing-list table{min-width:560px}.attendance-photo-missing-list td{vertical-align:middle}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}.faq-page{min-width:0}.faq-list{padding:0;overflow:hidden}.faq-item{border-bottom:1px solid #d9e3ee;background:#fff}.faq-item:last-child{border-bottom:0}.faq-item summary{display:grid;grid-template-columns:44px minmax(0,1fr) 24px;align-items:center;gap:12px;min-height:66px;padding:10px 18px;color:#162b49;cursor:pointer;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";font-size:22px;line-height:1;text-align:center;color:#3669a8}.faq-item[open] summary:after{content:"−"}.faq-item summary:hover{background:#f5f8fc}.faq-number{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border-radius:50%;background:#e8f2ff;color:#1555a2;font-size:13px;font-weight:800}.faq-item summary strong{min-width:0;font-size:16px;line-height:1.45;word-break:keep-all;overflow-wrap:anywhere}.faq-answer{padding:0 66px 20px 74px;color:#4e5f75;font-size:15px;line-height:1.7}.faq-answer p{margin:0 0 9px}.faq-answer p:last-child{margin-bottom:0}.faq-answer ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 24px;margin:8px 0 12px;padding-left:20px}.faq-answer li{padding-left:2px}@media(max-width:760px){.faq-item summary{grid-template-columns:36px minmax(0,1fr) 20px;gap:9px;min-height:60px;padding:10px 12px}.faq-number{width:32px;height:32px;font-size:12px}.faq-item summary strong{font-size:15px}.faq-answer{padding:0 42px 18px 57px;font-size:14px}.faq-answer ul{grid-template-columns:1fr;gap:4px}}.student-cases-page{width:100%;max-width:1760px}.student-case-tabs{display:inline-flex;width:fit-content;max-width:100%;gap:4px;flex-wrap:wrap;padding:5px;border:1px solid #d5e2ef;border-radius:14px;background:#f5f9fd}.student-case-tabs button{min-height:40px;border:0;border-radius:10px;padding:9px 16px;background:transparent;color:#36536d;font-weight:800}.student-case-tabs button:hover{background:#eaf2fa}.student-case-tabs button.active{background:#154d7e;color:#fff;box-shadow:0 6px 15px #154d7e2e}.student-case-tabs button span{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:6px;border-radius:50%;background:#fff3}.student-case-input>textarea,.student-case-edit-grid textarea{width:100%;resize:vertical}.student-case-input>textarea{min-height:260px}.student-case-workbook-import{display:inline-flex;align-items:center;width:fit-content;min-height:38px;gap:7px;margin:0 0 12px;padding:7px 12px;border:1px solid #c8daeb;border-radius:8px;color:#18314f;background:#fff;font-weight:800;cursor:pointer}.student-case-workbook-import:hover{border-color:#0d5b9e;color:#0d5b9e;background:#f6faff}.student-case-workbook-import input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%)}.student-case-preview-list,.student-case-review-list{display:grid;gap:12px;margin-top:16px}.student-cases-page input[type=checkbox]{width:21px;height:21px;min-width:21px;margin:0;accent-color:#154d7e;cursor:pointer}.student-cases-page label:has(>input[type=checkbox]){display:inline-flex;min-height:34px;align-items:center;gap:8px;cursor:pointer}.student-case-preview-row,.student-case-review-list article{border:1px solid #d5e2ef;border-radius:16px;padding:18px;background:#fbfdff}.preview-row-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}.preview-row-head .icon-only{margin-left:auto}.student-case-edit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.student-case-edit-grid label{display:grid;gap:6px;font-weight:700}.student-case-edit-grid .wide{grid-column:1 / -1}.student-case-filters{display:flex;align-items:end;gap:10px;margin:16px 0;padding:14px;border:1px solid #d8e5f1;border-radius:14px;background:#f6faff}.student-case-filters label{display:grid;min-width:min(320px,100%);gap:6px;font-weight:700}.student-case-filter-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;color:#154d7e;background:#e6f1fb}.student-case-filter-count{margin-left:auto;align-self:center;color:#516c84;font-weight:800}.student-case-list{display:grid;margin:16px 0 0;padding:0;border-top:1px solid #d5e2ef;list-style:none}.student-case-list>li{display:grid;grid-template-columns:56px minmax(0,1fr);min-width:0;align-items:stretch;border-bottom:1px solid #d5e2ef;background:#fff}.student-case-number{display:flex;box-sizing:border-box;min-width:0;align-items:center;padding:14px 6px;line-height:1.55;white-space:nowrap;overflow-wrap:normal;word-break:keep-all}.student-case-number{justify-content:center;color:#516c84;font-weight:800;background:#f6faff}.case-title-link{display:flex;min-width:0;min-height:56px;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border:0;border-radius:0;color:#18314f;background:transparent;text-align:left;line-height:1.65;font-weight:800}.case-title-link>span{min-width:0;overflow-wrap:anywhere}.case-title-link:hover,.case-title-link:focus-visible{color:#0d5b9e;background:#eaf3fb;outline:none}.student-case-empty{margin:16px 0 0;padding:24px 16px;border-top:1px solid #d5e2ef;border-bottom:1px solid #d5e2ef;color:#516c84;text-align:center}.case-status{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:3px 9px;border-radius:999px;font-size:.86rem;font-weight:700}.status-published{color:#176343;background:#e2f5eb}.status-review_required{color:#9c3b2a;background:#fff0eb}.status-draft{color:#365979;background:#eaf2fa}.status-archived{color:#59636d;background:#edf0f3}.case-review-note{color:#a43b2a;font-weight:700}.student-case-review-list{grid-template-columns:repeat(2,minmax(0,1fr))}.case-review-head{min-width:0;display:flex;align-items:center;gap:12px}.case-review-head>strong{min-width:0;overflow-wrap:anywhere}.case-review-selector{flex:0 0 auto;white-space:nowrap;font-weight:800;line-height:1}.case-review-selector>span{display:inline-block}.student-case-readonly{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border:1px solid #d5e2ef;border-radius:16px;overflow:hidden}.student-case-readonly>div{display:grid;grid-template-columns:150px minmax(0,1fr);border-bottom:1px solid #d5e2ef}.student-case-readonly dt{padding:12px;background:#f0f6fb;font-weight:700}.student-case-readonly dd{margin:0;padding:12px;white-space:pre-wrap}.student-case-detail{scroll-margin-top:20px;border-color:#9fc3e9;outline:none}.case-detail-link,.case-review-open{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:6px 12px;border:1px solid #c8daeb;border-radius:var(--radius-control);color:#18314f;background:#fff;text-decoration:none;font-weight:800}.case-detail-link:hover{border-color:#0d5b9e;color:#0d5b9e}.case-review-open{margin-top:8px}.student-cases-page button svg{flex:0 0 auto}@media(max-width:900px){.student-case-edit-grid,.student-case-review-list,.student-case-readonly{grid-template-columns:1fr}.student-case-filters{align-items:center}.student-case-readonly>div{grid-template-columns:120px minmax(0,1fr)}.student-case-list>li{grid-template-columns:56px minmax(0,1fr)}}@media(max-width:620px){.student-case-filters{display:grid;grid-template-columns:auto 1fr}.student-case-filters label{min-width:0}.student-case-filter-count{grid-column:2;margin-left:0}.student-case-edit-grid{grid-template-columns:1fr}.student-case-readonly>div{grid-template-columns:1fr}.student-case-readonly dt,.student-case-readonly dd{padding:10px}.student-case-list>li{grid-template-columns:52px minmax(0,1fr)}.case-title-link{min-height:48px;padding:10px 14px}.analysis-toolbar{align-items:stretch}}
