/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--color-primary:#1e4db7;--color-primary-hover:#1a3f9a;--color-primary-light:#e8eef9;--color-primary-text:#fff;--color-bg:#f5f7fa;--color-surface:#fff;--color-surface-subtle:#f0f4fb;--color-surface-stripe:#f7f9fd;--color-text:#0f172a;--color-text-muted:#4b5563;--color-text-faint:#9ca3af;--color-border:#d1d9f0;--color-border-focus:#1e4db7;--color-border-secondary:#b8c4e8;--color-error:#dc2626;--color-error-bg:#fef2f2;--color-success:#16a34a;--color-success-bg:#f0fdf4;--color-warning:#d97706;--color-warning-bg:#fffbeb;--color-file-pdf:#dc2626;--color-file-word:#2563eb;--color-file-excel:#16a34a;--color-file-powerpoint:#ea580c;--color-file-text:#475569;--color-file-neutral:#6b7280;--file-tile-max-width:14rem;color:var(--color-text);background-color:var(--color-bg);--font-size-xs:.75rem;--font-size-sm:.8125rem;--font-size-base:.9375rem;--font-size-md:1rem;--font-size-lg:1.0625rem;--rich-text-editor-height:min(60vh, 700px);--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--shadow-card:0 1px 3px #1e4db714, 0 1px 2px #1e4db70a;--shadow-focus:0 0 0 3px #1e4db72e;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:16px;line-height:1.6}.list-load-more{justify-content:center;margin-top:1rem;display:flex}.table-wrapper{border:1px solid var(--color-border-secondary);border-radius:var(--radius-lg);background-color:var(--color-surface);--scroll-fade-color:var(--color-surface);position:relative;overflow:hidden}.table-wrapper__scroller{-webkit-overflow-scrolling:touch;scrollbar-width:none;overflow:auto hidden}.table-wrapper--attached{border-radius:0 0 var(--radius-lg) var(--radius-lg);border-top:none}.table-wrapper--sticky-start .table-base>*>tr>:first-child:not([colspan]){z-index:1;position:sticky;inset-inline-start:0}:where(.table-wrapper--sticky-start .table-base>tbody>tr){background-color:var(--color-surface)}.table-wrapper--sticky-start .table-base>tbody>tr>td:first-child:not([colspan]){background-color:inherit}.table-wrapper--sticky-start.is-scrolled .table-base>*>tr>:first-child:not([colspan]):after{content:"";pointer-events:none;background:linear-gradient(90deg,#0f172a1a,#0000);width:8px;position:absolute;inset-block:0;inset-inline-end:-8px}.table-wrapper--sticky-start.is-scrolled.is-rtl .table-base>*>tr>:first-child:not([colspan]):after{background:linear-gradient(270deg,#0f172a1a,#0000)}@media (max-width:499px){.table-wrapper--sticky-start .table-base>*>tr>:first-child:not([colspan]){overflow-wrap:anywhere;min-width:35vw}.table-wrapper--sticky-start .table-base>colgroup>col:first-child{width:35vw!important}}@media print{.table-wrapper--sticky-start .table-base>*>tr>:first-child:not([colspan]){position:static}.table-wrapper--sticky-start .table-base>*>tr>:first-child:not([colspan]):after{display:none}}.table-base{border-collapse:collapse;width:100%}.table-th{text-align:start;font-size:var(--font-size-base);color:var(--color-text-muted);border-bottom:2px solid var(--color-border-secondary);background-color:var(--color-surface-subtle);white-space:nowrap;padding:.5rem 1rem;font-weight:600}.table-td{vertical-align:middle;border-bottom:1px solid var(--color-border);font-size:var(--font-size-md);padding:.5rem 1rem}.table-tr-last td{border-bottom:none}.link-button{font:inherit;color:var(--color-primary);text-align:start;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.link-button:hover:not(:disabled),.link-button:focus-visible{text-decoration-thickness:2px}.link-button:disabled{opacity:.6;cursor:default}.table-tr:nth-of-type(2n),.table-group:nth-of-type(2n)>.table-tr:first-child{background-color:var(--color-surface-stripe)}.table-group>.table-tr:first-child:hover,.table-tr:hover{background-color:var(--color-surface-subtle)}.table-reason-input::placeholder{font-size:var(--font-size-xs)}.linked-cards-grid{grid-template-columns:1fr;gap:.75rem;display:grid}@media (min-width:768px){.linked-cards-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.linked-cards-grid{grid-template-columns:repeat(3,1fr)}}.file-tile-grid{grid-template-columns:1fr;gap:.75rem;display:grid}@media (min-width:500px){.file-tile-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:768px){.file-tile-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){.file-tile-grid{grid-template-columns:repeat(4,1fr)}}.file-tile{width:100%;position:relative}.file-tile--standalone{max-width:var(--file-tile-max-width)}.file-tile__main{border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);cursor:pointer;text-align:start;width:100%;font:inherit;flex-direction:column;padding:0;display:flex;overflow:hidden}.file-tile__main:hover{border-color:var(--color-primary)}.file-tile__preview{background-color:var(--color-surface-subtle);flex-shrink:0;justify-content:center;align-items:center;width:100%;height:7rem;display:flex}.file-tile__thumb{object-fit:cover;width:100%;height:100%;display:block}.file-tile__icon{width:3rem;height:3rem}.file-tile__footer{border-top:1px solid var(--color-border);padding:.5rem .625rem}.file-tile__name{-webkit-line-clamp:2;overflow-wrap:anywhere;color:var(--color-text);-webkit-box-orient:vertical;font-size:.8125rem;line-height:1.35;display:-webkit-box;overflow:hidden}.file-tile__size{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:.125rem}.file-tile__download{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--color-primary-text);cursor:pointer;top:6px;background-color:#0f172a8c;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;inset-inline-end:6px}.linked-card{background-color:var(--color-surface);border:1px solid var(--color-border-secondary);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:.875rem}.linked-card--clickable{cursor:pointer;transition:border-color .15s,background-color .15s}.linked-card--clickable:hover,.linked-card--clickable:focus-visible{border-color:var(--color-primary);background-color:var(--color-surface-subtle)}.linked-card--row{align-items:flex-start;gap:.75rem;display:flex}.linked-card__header{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.linked-card__title{color:var(--color-text);font-size:.9375rem;font-weight:600}.linked-card__meta{color:var(--color-text-muted);margin-top:.25rem;font-size:.875rem}.linked-card__header+.linked-card__meta{margin-top:.375rem}.linked-card__action{border-radius:var(--radius-md);border:1px solid var(--color-border);color:var(--color-primary);cursor:pointer;background-color:#0000;align-items:center;gap:.375rem;margin-top:.75rem;padding:.375rem .75rem;font-size:.8125rem;display:inline-flex}.linked-card__action:disabled{color:var(--color-text-muted);cursor:not-allowed;opacity:.5}.permission-cards-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (min-width:900px){.permission-cards-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1280px){.permission-cards-grid{grid-template-columns:repeat(3,1fr)}}.permission-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:none;color:var(--color-text-muted);flex-direction:column;gap:.375rem;padding:1.25rem;display:flex}@media (max-width:599px){.permission-card{padding:1rem}}.permission-card--held{border-color:var(--color-success)}.permission-card--held .permission-card__title{color:var(--color-success)}.permission-card__header{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.permission-card__title{min-width:0;color:var(--color-text);align-items:center;gap:.375rem;font-size:1rem;font-weight:600;display:flex}.permission-card__summary{color:var(--color-text-muted);margin:0;font-size:.875rem;line-height:1.5}.permission-card__control{flex-direction:column;gap:.375rem;margin-top:auto;padding-top:1.5rem;display:flex}.info-tooltip__button{border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.125rem;display:inline-flex}.info-tooltip__button:hover,.info-tooltip__button[aria-expanded=true]{color:var(--color-primary)}.info-tooltip__button--success,.info-tooltip__button--success:hover,.info-tooltip__button--success[aria-expanded=true]{color:var(--color-success)}.permission-card__icons{flex-shrink:0;align-items:center;gap:.125rem;display:inline-flex}.info-tooltip__button:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.info-tooltip__panel{z-index:40;box-sizing:border-box;border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);width:max-content;max-width:min(24rem,100vw - 1rem);color:var(--color-text);text-align:start;padding:.625rem .75rem;font-size:.9375rem;font-weight:400;line-height:1.5;position:fixed;box-shadow:0 8px 24px #0f172a2e}.info-tooltip__panel p{margin:0}.info-tooltip__panel p+p{margin-top:.5rem}.info-tooltip__panel p.info-tooltip__meta{color:var(--color-text-muted);margin-top:.875rem;font-size:.8125rem}.permission-radios{flex-wrap:nowrap;align-items:flex-start;gap:.75rem;display:flex}.permission-radio{min-width:min-content;color:var(--color-text-muted);flex:auto;justify-content:flex-start;align-items:flex-start;gap:.375rem;font-size:.875rem;font-weight:600;line-height:1.3;display:flex}.permission-radio--enabled{color:var(--color-text);cursor:pointer}.permission-radio input{margin:0;flex-shrink:0;margin-block-start:.125rem}.permission-radio__text{word-break:normal;overflow-wrap:normal}.permission-card--held .permission-radio{color:var(--color-success)}.timeline-notes{flex-direction:column;gap:.75rem;display:flex}.timeline-note__header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.timeline-note__meta{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.timeline-note__author{color:var(--color-text);font-size:.9375rem;font-weight:600}.timeline-note__date{color:var(--color-text-muted);font-size:.8125rem}.timeline-note__tag{border-radius:var(--radius-sm);padding:.125rem .5rem;font-size:.75rem}.timeline-note__tag--subject{background-color:var(--color-primary-light);color:var(--color-primary)}.timeline-note__tag--link{text-decoration:none}.timeline-note__tag--link:hover{text-decoration:underline}.timeline-note__tag--neutral{background-color:var(--color-surface-subtle);color:var(--color-text-muted);border:1px solid var(--color-border)}.timeline-note__actions{flex-shrink:0;align-items:center;gap:.375rem;display:flex}.timeline-note__text{color:var(--color-text);white-space:pre-wrap;margin:.5rem 0 0;font-size:.9375rem}.thread-row{cursor:pointer}.thread-row__subject{color:var(--color-text);font-weight:400}.thread-row--unread{font-weight:700}.thread-row__date{color:var(--color-text-muted);font-size:.8125rem}.thread-status{border-radius:var(--radius-sm);padding:.125rem .5rem;font-size:.75rem}.thread-status--handled{background-color:var(--color-success-bg);color:var(--color-success)}.thread-status--open{background-color:var(--color-surface-subtle);color:var(--color-text-muted);border:1px solid var(--color-border)}.thread-message{border-radius:var(--radius-md);background-color:var(--color-surface);border:1px solid var(--color-border-secondary);padding:.875rem 1rem}.thread-message--forward{background-color:var(--color-surface-subtle);border-inline-start:3px solid var(--color-primary)}.thread-message--mine{background-color:var(--color-primary-light)}.thread-message__forwarded{color:var(--color-primary);align-items:center;gap:.25rem;margin-bottom:.375rem;font-size:.75rem;font-weight:700;display:flex}.thread-message__header{justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.375rem;display:flex}.thread-message__people{color:var(--color-text);font-size:.9375rem;font-weight:600}.thread-message__time{color:var(--color-text-muted);flex-shrink:0;font-size:.75rem}.thread-message__body{color:var(--color-text);white-space:pre-wrap;margin:0;font-size:.9375rem}.fss-form-heading{margin-bottom:1.25rem}.fss-form-heading--with-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.fss-form-heading__title{color:var(--color-text);margin:0;font-size:.9375rem;font-weight:600}.fss-form-heading__meta{color:var(--color-text-muted);margin:.125rem 0 0;font-family:monospace;font-size:.8125rem}.fss-form-heading__actions{gap:.5rem;display:flex}.fss-save-bar{justify-content:flex-end;gap:.5rem;display:flex}.fss-modal-stack{flex-direction:column;gap:.75rem;display:flex}.fss-field{flex-direction:column;gap:.375rem;display:flex}.fss-field--sort-order{width:140px}.fss-field-row{flex-wrap:wrap;gap:1rem;display:flex}.fss-field__label{color:var(--color-text-muted);font-size:.875rem;font-weight:500}.fss-field__label-row{align-items:center;gap:.375rem;margin-bottom:.375rem;display:flex}.fss-field__hint-icon{color:var(--color-text-muted);cursor:help;display:inline-flex}.fss-field__hint{color:var(--color-text-muted);font-size:.8125rem}.fss-field__editor{border:1px solid var(--color-border);border-radius:var(--radius-md)}.fss-file-picker{align-items:center;gap:.75rem;display:flex}.fss-file-picker__name,.fss-current-file__name{color:var(--color-text);font-size:.875rem}.fss-current-file{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.fss-current-file__label{color:var(--color-text-muted);font-size:.875rem}.fss-current-file__error{color:var(--color-error);font-size:.8125rem}.parent-child-page__empty{color:var(--color-text-muted);font-size:.9375rem}.parent-child-page__picker{margin-bottom:1.5rem}.parent-child-page__picker-label{color:var(--color-text-muted);margin:0 0 .75rem;font-size:.875rem;font-weight:500}.parent-child-page__cards{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:1rem;display:grid}.subject-teacher-row{justify-content:space-between;align-items:center;gap:.75rem;margin-top:-.5rem;margin-bottom:1.5rem;display:flex}.subject-teacher-row__name{color:var(--color-text-muted);font-size:.9375rem}.message-teacher-btn{border-radius:var(--radius-md);border:1px solid var(--color-border);color:var(--color-primary);cursor:pointer;opacity:1;background-color:#0000;flex-shrink:0;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.8125rem;display:inline-flex}.message-teacher-btn:disabled{color:var(--color-text-muted);cursor:not-allowed;opacity:.5}.notes-form{border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:1.25rem;padding:.875rem}.notes-form--editing{border-color:var(--color-primary)}.feed-form__title{color:var(--color-text);margin:0 0 .75rem;font-size:1rem;font-weight:600}.notes-muted.feed-form__note{margin-bottom:.75rem}.notes-list{margin-bottom:1.25rem}.notes-edit-box{border:1px solid var(--color-primary);border-radius:var(--radius-md);padding:.875rem}.notes-edit-box--after-notes{margin:.75rem 0}.notes-list__rest{margin-top:.75rem}.notes-textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);width:100%;color:var(--color-text);resize:vertical;outline:none;padding:.5rem .75rem;font-family:inherit;font-size:.9375rem}.notes-textarea:disabled{background-color:var(--color-surface-subtle)}.notes-field-error{color:var(--color-error);margin:.5rem 0 0;font-size:.875rem}.notes-actions{gap:.5rem;margin-top:.75rem;display:flex}.notes-actions--end{justify-content:flex-end}.notes-muted{color:var(--color-text-muted);margin:0;font-size:.9375rem}.notes-muted--spaced{margin-bottom:1.25rem}.notes-visibility{gap:1.25rem;margin-top:.75rem;display:flex}.notes-visibility__option{color:var(--color-text);align-items:center;gap:.5rem;font-size:.875rem;display:flex}.year-filter-row{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.year-filter-row--tight{margin-bottom:.75rem}.year-select{width:200px;min-width:0;max-width:100%}.year-filter-row__label{color:var(--color-text-muted);flex-shrink:0;font-size:.875rem;font-weight:500}.notes-subject-pills{flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;display:flex}.notes-pill{border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background-color:#0000;border-radius:9999px;padding:.375rem .875rem;font-size:.8125rem;font-weight:400}.notes-pill--active{border-color:var(--color-primary);background-color:var(--color-primary);color:var(--color-primary-text);font-weight:600}@media (max-width:499px){:root{--font-size-base:.8125rem;--font-size-md:.9375rem;--font-size-lg:.9375rem}}*,:before,:after{box-sizing:border-box}body{background-color:var(--color-bg);min-height:100dvh;color:var(--color-text);-webkit-font-smoothing:antialiased;margin:0}:focus-visible{box-shadow:var(--shadow-focus);outline:none}.rich-text-content{color:var(--color-text);font-size:1rem;line-height:1.6}.rich-text-content>*+*{margin-block-start:.75em}.rich-text-content h1,.rich-text-content h2,.rich-text-content h3,.rich-text-content h4,.rich-text-content h5,.rich-text-content h6{color:var(--color-text);margin:0;font-weight:600;line-height:1.3}.rich-text-content h1{font-size:1.5rem}.rich-text-content h2{font-size:1.25rem}.rich-text-content h3{font-size:1.125rem}.rich-text-content h4,.rich-text-content h5,.rich-text-content h6{font-size:1rem}.rich-text-content p{margin:0}.rich-text-content ul,.rich-text-content ol{margin:0;padding-inline-start:1.5rem;list-style-position:outside}.rich-text-content ul{list-style-type:disc}.rich-text-content ol{list-style-type:decimal}.rich-text-content li+li{margin-block-start:.25em}.rich-text-content a{color:var(--color-primary);text-decoration:underline}.rich-text-content blockquote{border-inline-start:3px solid var(--color-border);color:var(--color-text-muted);margin:0;padding-inline-start:1rem}.rich-text-content code{background-color:var(--color-surface-subtle);border-radius:var(--radius-sm);direction:ltr;unicode-bidi:isolate;padding:.125em .375em;font-size:.9em}.rich-text-content pre{text-align:left;white-space:pre;background-color:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);direction:ltr;padding:.75rem 1rem;overflow-x:auto}.rich-text-content pre code{unicode-bidi:normal;background-color:#0000;border-radius:0;padding:0;font-size:.875rem}.rich-text-editable .ProseMirror pre{white-space:pre}.rich-text-content hr{border:0;border-block-start:1px solid var(--color-border);margin-block:1rem}.rich-text-content hr.ProseMirror-selectednode{border-block-start-color:var(--color-primary);outline:2px solid var(--color-primary-light);outline-offset:4px}.rich-text-content ol[type=a s]{list-style-type:lower-alpha}.rich-text-content ol[type=A s]{list-style-type:upper-alpha}.rich-text-content ol[type=i s]{list-style-type:lower-roman}.rich-text-content ol[type=I s]{list-style-type:upper-roman}.rich-text-editable{height:var(--rich-text-editor-height);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:0 0 var(--radius-md) var(--radius-md);border-top:none;min-height:200px;padding:.625rem .875rem;overflow-y:auto}.rich-text-editable:focus-within{border-color:var(--color-border-focus);box-shadow:var(--shadow-focus)}.rich-text-editable--standalone{border-top:1px solid var(--color-border);border-radius:var(--radius-md)}.rich-text-editable--compact{height:min(25vh,260px);min-height:110px}.rich-text-editable--grow{height:auto;min-height:0;max-height:var(--rich-text-editor-height)}.rich-text-editable .ProseMirror{outline:none}.rich-text-editable .ProseMirror ul{list-style-type:disc;list-style-position:outside}.rich-text-editable .ProseMirror ol{list-style-type:decimal;list-style-position:outside}.rich-text-toolbar__group{align-items:center;gap:.25rem;display:flex}[dir=rtl] .rich-text-toolbar__mirror{transform:scaleX(-1)}.rich-text-toolbar{background-color:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md) var(--radius-md) 0 0;flex-wrap:wrap;align-items:center;gap:.25rem .75rem;padding:.375rem;display:flex;position:relative}.rich-text-toolbar__button{border-radius:var(--radius-md);border:1px solid var(--color-border);cursor:pointer;justify-content:center;align-items:center;min-width:32px;height:32px;padding:.375rem .5rem;font-size:.875rem;line-height:1;transition:color .15s,border-color .15s,background-color .15s;display:inline-flex}.rich-text-toolbar__icon{width:15px;height:15px}.rich-text-link-popover{z-index:20;background-color:var(--color-surface);border:1px solid var(--color-border-secondary);border-radius:var(--radius-md);width:280px;box-shadow:var(--shadow-card);top:100%;flex-direction:column;gap:.625rem;margin-top:.25rem;padding:.875rem;display:flex;position:absolute;inset-inline-start:0}.rich-text-link-popover__label{color:var(--color-text-muted);margin-bottom:.25rem;font-size:.8125rem;font-weight:500;display:block}.rich-text-link-popover__field{border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);width:100%;color:var(--color-text);padding:.5rem .625rem;font-size:.875rem}.rich-text-link-popover__error{color:var(--color-error);margin:0;font-size:.8125rem}.rich-text-link-popover__actions{justify-content:space-between;gap:.5rem;margin-top:.125rem;display:flex}.rich-text-link-popover__actions-end{gap:.5rem;display:flex}.rich-text-editor__body{position:relative}.rich-text-editor__placeholder{color:var(--color-text-faint);pointer-events:none;inset-inline-start:.875rem;position:absolute;top:.625rem}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.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}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.table-header-group{display:table-header-group}.min-h-120{min-height:calc(var(--spacing) * 120)}.min-h-150{min-height:calc(var(--spacing) * 150)}.min-h-200{min-height:calc(var(--spacing) * 200)}.min-h-300{min-height:calc(var(--spacing) * 300)}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.break-all{word-break:break-all}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.select-all{-webkit-user-select:all;user-select:all}}@keyframes madares-spin{to{transform:rotate(360deg)}}.section-title-with-info{align-items:center;gap:.5rem;display:flex}.content-transfer-bar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.content-transfer-bar button{align-items:center;gap:.375rem;display:inline-flex}.content-transfer-bar__icon{flex-shrink:0;width:16px;height:16px}.content-transfer-bar button:disabled,.import-action:disabled{opacity:.6;cursor:not-allowed}.table-check-cell{text-align:center;width:2.5rem}.table-check-cell input{cursor:pointer;width:1rem;height:1rem}.table-check-cell input:disabled{cursor:not-allowed}.cell-check{cursor:pointer;flex-shrink:0;width:1rem;height:1rem}.cell-date{color:var(--color-text-muted);white-space:nowrap;font-size:.8125rem}.import-summary{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.import-file-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.import-file-name{color:var(--color-text-muted);overflow-wrap:anywhere;font-size:.875rem}.import-key{color:var(--color-text-muted);overflow-wrap:anywhere;font-family:monospace;font-size:.75rem}.import-where{color:var(--color-text-muted);font-size:.8125rem}.import-section-title{color:var(--color-text);margin:1rem 0 .5rem;font-size:.9375rem;font-weight:600}.import-warning-reason{color:var(--color-text-muted);font-size:.8125rem}.import-warning-detail{color:var(--color-text-faint);overflow-wrap:anywhere;margin-top:.125rem;font-size:.75rem;display:block}.import-toggle{color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:.875rem}.import-toggle:hover{text-decoration:underline}.import-pair-result{color:var(--color-text-muted);margin-top:.25rem;font-size:.75rem;display:block}.read-field{flex-direction:column;gap:.25rem;display:flex}.read-field__label{color:var(--color-text-muted);font-size:.8125rem}.read-field__value{color:var(--color-text);overflow-wrap:anywhere;font-size:.9375rem}.read-field-grid{grid-template-columns:repeat(auto-fit,minmax(min(10rem,100%),1fr));gap:1rem;display:grid}@media (max-width:499px){.read-field-grid{grid-template-columns:none;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}.read-field-grid--stack-phone{grid-template-columns:minmax(0,1fr);grid-auto-flow:row}}.detail-row__label{color:var(--color-text-muted);margin-bottom:.125rem;font-size:.75rem}.detail-row__value{color:var(--color-text);word-break:break-word}.amount-field-message{margin:0;font-size:.8125rem}.amount-field-message--error{color:var(--color-error)}.amount-field-message--warning{color:var(--color-warning)}.portal-tabs{flex-wrap:wrap;gap:.375rem;display:flex}.portal-tab{border-radius:var(--radius-md);border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;background-color:#0000;padding:.5rem 1rem;font-size:.9375rem;font-weight:400}.portal-tab--active{border-color:var(--color-primary);background-color:var(--color-primary-light);color:var(--color-primary);font-weight:600}.tabs{border-bottom:2px solid var(--color-border-secondary);justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.tabs__scroller{--scroll-fade-color:var(--color-bg);align-self:flex-end;min-width:0;margin-bottom:-2px;position:relative}.tabs__list{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.25rem;display:flex;overflow-x:auto}.tabs__tab{color:var(--color-text-muted);font-weight:400;font-size:var(--font-size-base);cursor:pointer;white-space:nowrap;background-color:#0000;border:none;border-bottom:2px solid #0000;flex-shrink:0;padding:.625rem 1.25rem}.tabs__tab--active{border-bottom-color:var(--color-primary);color:var(--color-primary);font-weight:600}.tabs__tab:disabled{cursor:not-allowed;opacity:.5}.tabs__label-short{display:none}.tabs__icon{margin-inline-end:.375rem;display:inline-flex}.tabs__badge{min-width:18px;height:18px;color:var(--color-primary-text);border-radius:999px;justify-content:center;align-items:center;margin-inline-start:.375rem;padding:0 5px;font-size:.6875rem;font-weight:700;line-height:1;display:inline-flex}.tabs__badge--warning{background-color:var(--color-warning)}.tabs__badge--error{background-color:var(--color-error)}.tabs__actions{gap:.5rem;display:flex}@media (max-width:499px){.tabs{border-bottom:none}.tabs__scroller{flex:100%;margin-bottom:0}.tabs__list{flex-wrap:wrap;gap:.5rem;overflow-x:visible}.tabs__tab{border-bottom-color:var(--color-border-secondary);text-align:center;flex:auto;padding:.625rem .75rem}.tabs__tab--active{border-bottom-color:var(--color-primary);background-color:var(--color-primary-light)}.tabs__label-full{display:none}.tabs__label-short{display:inline}.tabs--with-actions{flex-wrap:wrap}.tabs--with-actions .tabs__actions{flex-basis:100%;order:-1;justify-content:flex-end;margin-bottom:.5rem}.tabs--with-actions .tabs__scroller{flex-basis:100%}}.dashboard{container:dashboard/inline-size}.dashboard-grid{grid-template-columns:minmax(0,1fr);gap:1.5rem;display:grid}@container dashboard (min-width:900px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid__wide{grid-column:span 2}}.dashboard-card{container-type:inline-size}.stat-grid{grid-template-columns:minmax(0,1fr);gap:.75rem;display:grid}@container (min-width:520px){.stat-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}}@container (min-width:620px){.stat-grid--5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (max-width:499px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.stat-box{border-radius:var(--radius-lg);text-align:center;padding:.625rem .75rem}.stat-box__count,.stat-box__label{overflow-wrap:anywhere}.stat-box__count{font-size:1.375rem;font-weight:700}.stat-box__label{margin-top:.125rem;font-size:.8125rem}.admission-detail-grid{grid-template-columns:1fr 1fr;align-items:stretch;gap:1.5rem;display:grid}.feature-flags-grid{grid-template-columns:repeat(auto-fit,minmax(min(20rem,100%),1fr));gap:.75rem;display:grid}.attendance-summary{container-type:inline-size}.attendance-summary-grid{grid-template-columns:minmax(0,1fr);gap:1rem;display:grid}@container (min-width:520px){.attendance-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:499px){.stat-box{padding-inline:.375rem}.stat-box__count{font-size:min(1rem,4.2vw)}.admission-detail-grid{grid-template-columns:minmax(0,1fr)}.attendance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.report-diary-picker{flex:120px;min-width:120px}.report-diary-picker-wide{flex:1.5 160px;min-width:160px}.report-diary-date{flex:0 0 150px;min-width:0}.inactive-badge{vertical-align:middle;white-space:nowrap;margin-inline-start:.375rem;display:inline-block}.header-icon-btn{border-radius:var(--radius-md);border:1px solid var(--header-icon-btn-color);width:34px;height:34px;color:var(--header-icon-btn-color);cursor:pointer;background-color:#0000;justify-content:center;align-items:center;display:flex}.header-icon-btn--neutral{--header-icon-btn-color:var(--color-text-muted);border-color:var(--color-border-secondary)}.header-icon-btn--warning{--header-icon-btn-color:var(--color-warning)}.header-icon-btn--success{--header-icon-btn-color:var(--color-success)}.header-icon-btn--neutral:not(:disabled):hover{border-color:var(--color-primary);color:var(--color-primary)}.header-icon-btn:disabled{cursor:not-allowed;opacity:.45}.header-icon-btn-row{gap:.5rem;display:flex}.confirm-dialog__footer{justify-content:space-between;align-items:center;gap:.75rem;width:100%;display:flex}.confirm-dialog__error-slot{flex:1}.confirm-dialog__error{color:var(--color-error);margin:0;font-size:.875rem}.confirm-dialog__buttons{flex-shrink:0;gap:.5rem;display:flex}.confirm-dialog__body{flex-direction:column;gap:.75rem;display:flex}.confirm-dialog__name{color:var(--color-text);margin:0;font-size:1rem;font-weight:600}.confirm-dialog__message{color:var(--color-text-muted);margin:0;font-size:.9375rem}.confirm-dialog__warning{color:var(--color-warning);margin:0;font-size:.875rem}.confirm-dialog__warning-text{margin:0 0 .5rem;font-size:.875rem}.confirm-dialog__blocking{color:var(--color-text);flex-direction:column;gap:.25rem;margin:0;padding-inline-start:1.25rem;font-size:.875rem;display:flex}.page-header__row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.page-header__title{color:var(--color-text);flex:1;margin:0;font-size:1.25rem;font-weight:600}.page-header__controls{flex-shrink:0;align-items:center;gap:.5rem;display:flex}@media (max-width:499px){.page-header__row{flex-wrap:wrap;row-gap:.75rem}.page-header__title{overflow-wrap:anywhere;flex:auto;min-width:0}.page-header__controls{flex-wrap:wrap;flex:0 auto;justify-content:flex-end;min-width:0;margin-inline-start:auto}}.scroll-fade{pointer-events:none;width:48px;position:absolute;inset-block:0}.scroll-fade--start{inset-inline-start:0}.scroll-fade--end{inset-inline-end:0}.scroll-fade--to-left{background:linear-gradient(to left,transparent,var(--scroll-fade-color) 75%)}.scroll-fade--to-right{background:linear-gradient(to right,transparent,var(--scroll-fade-color) 75%)}@media print{.scroll-fade{display:none}}@media (hover:hover) and (pointer:fine){.table-wrapper__scroller,.tabs__list{scrollbar-width:auto}.table-wrapper__scroller::-webkit-scrollbar{height:6px}.tabs__list::-webkit-scrollbar{height:6px}.table-wrapper__scroller::-webkit-scrollbar-track{background:0 0}.tabs__list::-webkit-scrollbar-track{background:0 0}.table-wrapper__scroller::-webkit-scrollbar-thumb{background-color:var(--color-border-secondary);border-radius:var(--radius-sm)}.tabs__list::-webkit-scrollbar-thumb{background-color:var(--color-border-secondary);border-radius:var(--radius-sm)}.table-wrapper__scroller::-webkit-scrollbar-thumb:hover{background-color:var(--color-text-muted)}.tabs__list::-webkit-scrollbar-thumb:hover{background-color:var(--color-text-muted)}@supports not selector(::-webkit-scrollbar){.table-wrapper__scroller,.tabs__list{scrollbar-width:thin;scrollbar-color:var(--color-border-secondary) transparent}}}.modal-message{color:var(--color-text);margin:0;font-size:.9375rem}.modal-message--muted{color:var(--color-text-muted)}.portal-shell{background-color:var(--color-bg);direction:rtl;height:100dvh;display:flex;overflow:hidden}.portal-sidebar{background-color:var(--color-surface);border-inline-end:1px solid var(--color-border-secondary);flex-direction:column;flex-shrink:0;width:224px;height:100%;display:flex;overflow:hidden}.portal-sidebar--mobile{z-index:30;height:100dvh;transition:transform .2s;position:fixed;inset-block:0;inset-inline-start:0;transform:translate(100%)}.portal-sidebar--open{transform:translate(0)}.portal-backdrop{z-index:29;background-color:#0006;position:fixed;top:0;right:0;bottom:0;left:0}.portal-identity{padding:10px 12px 8px}.portal-identity__row{align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.portal-identity__logo{object-fit:contain;border-radius:var(--radius-sm);flex-shrink:0;width:48px;min-width:48px;height:48px;min-height:48px}.portal-identity__name{color:var(--color-text);font-size:15px;font-weight:700;line-height:1.3}.portal-identity__line{color:var(--color-text-muted);margin-top:2px;font-size:12px}.portal-divider{border:none;border-top:1px solid var(--color-border-secondary);margin-inline:.75rem}.portal-divider--top{margin-top:.75rem;margin-bottom:0}.portal-divider--footer{margin-top:0;margin-bottom:.75rem}.portal-nav{flex:1;min-height:0;margin:0;padding:8px;list-style:none;overflow-y:auto}.portal-nav__link{border-radius:var(--radius-md);color:var(--color-text);background-color:#0000;align-items:center;gap:10px;margin-bottom:2px;padding:9px 12px;font-size:14px;font-weight:400;text-decoration:none;transition:background-color .12s,color .12s;display:flex}.portal-nav__link--active{color:var(--color-primary);background-color:var(--color-primary-light);font-weight:600}.unread-badge{background-color:var(--color-error);min-width:18px;height:18px;color:var(--color-primary-text);border-radius:999px;justify-content:center;align-items:center;margin-inline-start:auto;padding:0 5px;font-size:.6875rem;font-weight:700;line-height:1;display:inline-flex}.portal-footer{padding:.75rem 1rem}.portal-footer__link{color:var(--color-text-muted);align-items:center;gap:.5rem;font-size:.8125rem;text-decoration:none;transition:color .15s;display:flex}.portal-footer__link:hover{color:var(--color-primary)}.portal-footer__link img{opacity:.7}.portal-main{flex-direction:column;flex:1;height:100%;padding:2rem;display:flex;overflow:auto}.portal-main__menu{margin-bottom:1rem}@media print{@page{margin:1.5cm}.portal-sidebar,.portal-backdrop,.portal-main__menu,.page-header__controls,.tabs,.no-print{display:none!important}.portal-shell,.portal-main{height:auto;padding:0;display:block;overflow:visible}.table-wrapper__scroller{overflow:visible!important}.table-th,.table-td{overflow-wrap:break-word;padding:.375rem .5rem;white-space:normal!important}}.config-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.config-heading__start{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.config-heading__title{color:var(--color-text);margin:0;font-size:.9375rem;font-weight:600}.config-heading__count{margin-inline-start:.5rem;font-weight:400}.config-heading__actions{align-items:center;gap:.75rem;display:flex}.config-add-btn{background-color:var(--color-primary);color:var(--color-primary-text);border-radius:var(--radius-md);cursor:pointer;border:none;align-items:center;gap:.375rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;display:flex}.config-add-btn:disabled{opacity:.6;cursor:not-allowed}.config-form{flex-direction:column;gap:1.25rem;display:flex}.config-modal-footer{justify-content:space-between;align-items:center;gap:.75rem;width:100%;display:flex}.config-modal-footer__error{color:var(--color-error);flex:1;margin:0;font-size:.875rem}.config-modal-footer__actions{flex-shrink:0;gap:.5rem;display:flex}.config-delete-body{flex-direction:column;gap:.75rem;display:flex}.config-delete-name{color:var(--color-text);margin:0;font-size:1rem;font-weight:600}.config-delete-detail{color:var(--color-text-muted);margin:0;font-size:.875rem}.required-mark{color:var(--color-error);margin-inline-start:.25rem;font-weight:700}.loading-block{justify-content:center;align-items:center;display:flex}.loading-block--min-h-120{min-height:120px}.loading-block--min-h-150{min-height:150px}.loading-block--min-h-200{min-height:200px}.loading-block--min-h-300{min-height:300px}.loading-block--screen{height:100vh}.loading-block--pad-1{padding:1rem}.loading-block--pad-1-5{padding:1.5rem}.loading-block--pad-2{padding:2rem}.loading-block--pad-y-1{padding:1rem 0}.loading-block--pad-y-2{padding:2rem 0}.loading-block--pad-y-4{padding:4rem 0}.stat-card__title{color:var(--color-text);margin:0;padding:0;font-size:1rem;font-weight:600}.stat-card__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.stat-card__total{color:var(--color-text);margin:0;font-size:1.75rem;font-weight:700}.stat-card__empty{color:var(--color-text-faint);margin:0;font-size:.875rem}.stat-card--spaced{margin-bottom:1.5rem}.stat-count-rows{flex-direction:column;gap:.5rem;display:flex}.stat-count-row{justify-content:space-between;font-size:.9375rem;display:flex}.stat-count-row__label{color:var(--color-text-muted)}.stat-count-row__value{color:var(--color-text);font-weight:600}.table-tr--clickable{cursor:pointer}.table-tr--clickable:hover{background-color:var(--color-surface-subtle)}.assignment-actions{align-items:center;gap:4px;display:flex}.assignment-hint{color:var(--color-text-muted);margin:.375rem 0 0;font-size:.8125rem}.assignment-stack{flex-direction:column;gap:1.25rem;display:flex}.assignment-section-label{color:var(--color-text-muted);margin-bottom:.375rem;font-size:.8125rem;font-weight:500}.assignment-muted{color:var(--color-text-muted);font-size:.875rem}.assignment-submission-text{border:1px solid var(--color-border-secondary);border-radius:var(--radius-md);white-space:pre-wrap;word-break:break-word;max-height:24rem;color:var(--color-text);padding:.75rem;font-size:.9375rem;overflow:auto}.assignment-mark-form{flex-direction:column;gap:1rem;max-width:32rem;display:flex}.assignment-mark-form input,.assignment-mark-form textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);width:100%;color:var(--color-text);padding:.5rem .75rem;font-size:.9375rem}.assignment-mark-form textarea{resize:vertical}.assignment-button-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.assignment-saved-note{border-radius:var(--radius-md);background-color:var(--color-success-bg);color:var(--color-success);padding:.25rem .625rem;font-size:.8125rem;font-weight:500}.assignment-form__label{color:var(--color-text-muted);margin-bottom:.375rem;font-size:.875rem;font-weight:500;display:block}.assignment-form__input{border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);width:100%;color:var(--color-text);padding:.625rem .875rem;font-size:.9375rem}.assignment-form__input--time{width:80px}.assignment-form__grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.assignment-form__time-row{gap:.5rem;margin-top:.5rem;display:flex}.assignment-form__check{color:var(--color-text);cursor:pointer;align-items:center;gap:.5rem;font-size:.9375rem;display:flex}.assignment-form__current-file{margin:0 0 .5rem}.assignment-form__file-input{display:none}.assignment-form__error{color:var(--color-error);margin:.375rem 0 0;font-size:.875rem}.assignment-details__description{margin-top:.75rem}.assignment-card{border:1px solid var(--color-border-secondary);border-radius:var(--radius-lg);background-color:var(--color-surface);min-width:0;color:var(--color-text);flex-direction:column;gap:.5rem;padding:1rem 1.25rem;text-decoration:none;display:flex}.assignment-card:hover{border-color:var(--color-primary)}.assignment-card:focus-visible{box-shadow:var(--shadow-focus);border-color:var(--color-border-focus);outline:none}.assignment-card__top{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.assignment-card__title{overflow-wrap:anywhere;min-width:0;font-size:.9375rem;font-weight:600}.assignment-card__mark,.assignment-view__mark{border-radius:var(--radius-md);background-color:var(--color-primary-light);color:var(--color-primary);white-space:nowrap;flex-shrink:0;padding:.125rem .5rem;font-weight:700}.assignment-view__mark{font-size:1.0625rem;display:inline-block}.assignment-card__due{color:var(--color-text-muted);font-size:.8125rem}.assignment-open-banner{border:1px solid var(--color-warning);border-radius:var(--radius-md);background-color:var(--color-warning-bg);color:var(--color-warning);margin-bottom:1rem;padding:.625rem .875rem;font-size:.875rem;font-weight:500}.assignment-form__textarea{resize:vertical;min-height:10rem;max-height:50vh}.field-error-flash{border-radius:var(--radius-md);animation:1.6s ease-out field-error-flash}@keyframes field-error-flash{0%,40%{box-shadow:0 0 0 3px var(--color-error)}to{box-shadow:0 0 0 3px #0000}}@media (prefers-reduced-motion:reduce){.field-error-flash{box-shadow:0 0 0 3px var(--color-error);animation:none}}.admission-documents-note{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.admission-documents-note--required{color:var(--color-warning);font-weight:600}.admission-submit-issues__title{margin:0 0 .5rem;font-weight:600}.admission-submit-issues__list{flex-direction:column;gap:.25rem;margin:0;padding-inline-start:1.25rem;display:flex}.admission-submit-issues__list .link-button{color:inherit;text-align:start}.admission-upload-failures__title{font-size:var(--font-size-lg,1.125rem);color:var(--color-text);margin:0}.admission-upload-failures__hint{color:var(--color-text-muted);margin:0}.admission-upload-failures__list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.admission-upload-failures__item{border:1px solid var(--color-error);border-radius:var(--radius-md);background-color:var(--color-error-bg);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.admission-upload-failures__name{color:var(--color-text);overflow-wrap:anywhere;font-weight:600}.admission-upload-failures__reason{font-size:var(--font-size-sm);color:var(--color-error)}@media (max-width:499px){.admission-upload-failures__item{flex-direction:column;align-items:stretch}}.contact-qr-button{border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:zoom-in;background:#fff;padding:0;line-height:0;display:inline-flex}.contact-qr-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.contact-qr-large-wrap{flex-direction:column;align-items:center;gap:1rem;display:flex}.contact-qr-open{align-items:center;text-decoration:none;display:inline-flex}.contact-qr-large{width:min(360px,80vw);height:auto;display:block}@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-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}
