@font-face{font-family:Charis SIL;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/charis-sil-latin-400-normal-BoW7QV_k.woff2) format("woff2"),url(/assets/charis-sil-latin-400-normal-DK5SBUMy.woff) format("woff")}@font-face{font-family:Charis SIL;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/charis-sil-latin-700-normal-ChAsMzFa.woff2) format("woff2"),url(/assets/charis-sil-latin-700-normal-CW_ru3c1.woff) format("woff")}/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer theme{:root,:host{--font-sans:"Charis SIL", Georgia, "Times New Roman", serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-brand:#1f2041;--color-accent:#42bfdd;--color-accent-strong:#1f7f96;--color-mint:#bbe6e4;--color-mint-soft:#e7f6f5;--color-surface:#fff;--color-surface-muted:#f2f7f8;--color-border-subtle:#d3e0e3;--color-border-control:#7d8f96;--color-ink:#1f2041;--color-ink-muted:#4d4e6b;--color-success:#1e6b4f;--color-success-soft:#e6f4ee;--color-danger:#a3231b;--color-danger-soft:#fbe9e7;--color-info-soft:#dff5fa;--shadow-soft:0 1px 2px #1f20410f, 0 4px 12px #1f20410f}}@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;@layer utilities{.static{position:static}}:root{color:var(--color-ink);background:var(--color-surface-muted);font-synthesis:none;text-rendering:optimizelegibility;-webkit-text-size-adjust:100%;--brand:var(--color-brand);--accent:var(--color-accent);--mint:var(--color-mint);--surface:var(--color-surface);--muted:var(--color-ink-muted);--control:var(--color-border-control);--subtle:var(--color-border-subtle);--soft-shadow:var(--shadow-soft);font-family:Charis SIL,Georgia,Times New Roman,serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;font-size:17px;line-height:1.65}a{color:var(--brand)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--brand);outline-offset:3px}.page{width:min(100% - 32px,760px);margin:0 auto;padding:20px 0 56px}.narrow{max-width:560px}.header{border-bottom:1px solid var(--subtle);justify-content:space-between;align-items:center;min-height:56px;display:flex}.wordmark{color:var(--brand);font-size:20px;font-weight:700}.welcome{padding:44px 0 28px}.welcome h1{margin:0;font-size:clamp(32px,7vw,40px);line-height:1.2}.welcome p{color:var(--muted);margin:8px 0 0}.eyebrow{font-size:15px;font-weight:700;color:var(--color-accent-strong)!important}.actions{gap:16px;display:grid}.action{min-height:112px;box-shadow:var(--soft-shadow);border-radius:24px;flex-direction:column;justify-content:center;gap:4px;padding:22px;text-decoration:none;display:flex}.action strong{font-size:24px}.action span{font-size:15px}.action.primary{background:var(--brand);color:#fff}.action.secondary{background:var(--accent);color:var(--brand)}.panel{background:var(--surface);box-shadow:var(--soft-shadow);border-radius:24px;gap:12px;padding:24px;display:grid}label{font-weight:700}input{border:1px solid var(--control);min-height:48px;color:var(--brand);font:inherit;background:#fff;border-radius:12px;padding:10px 12px}.button{min-height:48px;font:inherit;cursor:pointer;border:0;border-radius:999px;padding:10px 24px;font-weight:700}.primary-button{background:var(--brand);color:#fff}.helper{color:var(--muted);margin:4px 0 0;font-size:15px}.link-button{color:var(--brand);font:inherit;cursor:pointer;background:0 0;border:0;min-height:48px;text-decoration:underline}.link-button:disabled{opacity:.65;cursor:wait}.logout-error{color:var(--color-danger);font-size:15px}.demo-accounts{background:var(--color-mint-soft);border-radius:16px;margin-top:12px;padding:16px}.demo-accounts h2{margin:0 0 8px;font-size:20px}.demo-accounts ul{margin:0;padding:0;list-style:none}.demo-accounts li button{min-height:44px;color:var(--brand);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;text-decoration:underline}.error-message{color:var(--color-danger);margin:0}.event-list{gap:16px;padding-bottom:96px;display:grid}.event-card,.empty-state{border:1px solid var(--subtle);background:var(--surface);box-shadow:var(--soft-shadow);border-radius:24px;padding:20px}.event-card h2,.empty-state h2{margin:0;font-size:24px;line-height:1.3}.event-card>p{color:var(--muted);margin:8px 0}.event-metadata,.summary-pair{margin:12px 0}.event-metadata dt,.summary-pair dt{color:var(--muted);font-size:15px}.event-metadata dd,.summary-pair dd{margin:0 0 8px;font-weight:700}.student-list{border-top:1px solid var(--subtle);margin-top:12px;padding-top:12px}.student-list h3{margin:0 0 8px;font-size:20px}.student-option{border-bottom:1px solid var(--subtle);align-items:center;gap:12px;min-height:56px;padding:8px 0;display:flex}.student-option input{width:24px;height:24px;accent-color:var(--brand)}.student-option span{flex:1}.is-authorized{color:var(--muted)}.status-chip{background:var(--color-mint-soft);min-height:32px;color:var(--brand);border-radius:999px;align-items:center;padding:4px 12px;font-size:14px;display:inline-flex}.button.secondary-button{background:var(--accent);color:var(--brand)}.button.outline-button{background:var(--surface);border:2px solid var(--brand);color:var(--brand);margin-top:12px}.selection-bar{z-index:1;background:var(--surface);border-top:1px solid var(--subtle);justify-content:space-between;align-items:center;gap:12px;margin:0 -16px;padding:12px 16px;display:flex;position:sticky;bottom:0}.summary-card{background:var(--color-mint-soft);border:2px solid var(--mint);border-radius:24px;padding:20px}.summary-card h2{margin:0 0 12px;font-size:22px}.summary-pair{border-top:1px solid var(--subtle);padding:12px 0}.demo-notice{background:var(--color-info-soft);color:var(--brand);border-radius:12px;padding:12px}.full-width{width:100%}.result-section{background:var(--surface);border-radius:16px;margin:20px 0;padding:16px}.result-section h2{margin:0;font-size:20px}.result-section li{padding:6px 0}.filter-panel{background:var(--surface);border:1px solid var(--subtle);border-radius:16px;margin:0 0 20px;padding:18px}.filter-panel h2{margin:0 0 12px;font-size:20px}.course-filter{flex-wrap:wrap;gap:8px 16px;display:flex}.course-filter label{align-items:center;gap:8px;min-height:48px;display:inline-flex}.course-filter input{width:20px;height:20px;accent-color:var(--brand)}.pickup-calendar-panel,.pickup-panel{border:1px solid var(--subtle);background:var(--surface);box-shadow:var(--soft-shadow);border-radius:24px;margin:0 0 20px;padding:20px}.pickup-calendar-heading{grid-template-columns:48px 1fr 48px;align-items:center;gap:12px;margin-bottom:16px;display:grid}.pickup-calendar-heading h2{text-align:center;text-transform:capitalize;margin:0;font-size:22px}.pickup-calendar-heading .button{width:48px;min-height:48px;padding:0}.pickup-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.pickup-weekday{min-height:36px;color:var(--muted);place-items:center;font-size:14px;font-weight:700;display:grid}.pickup-calendar-blank{min-height:48px}.pickup-day{border:1px solid var(--control);background:var(--surface);min-width:0;min-height:48px;color:var(--brand);font:inherit;cursor:pointer;border-radius:12px;font-weight:700}.pickup-day:hover:not(:disabled){background:var(--color-mint-soft)}.pickup-day.selected{border-color:var(--brand);background:var(--brand);color:#fff}.pickup-day:disabled{background:var(--surface-muted);color:var(--muted);opacity:.58;cursor:not-allowed;border-color:#0000}.pickup-panel h2{margin:0 0 8px;font-size:22px}.pickup-panel>p{color:var(--muted);margin:4px 0 12px}.student-option small{color:var(--muted);font-size:14px;display:block}.pickup-selected-days{gap:12px;display:grid}.pickup-selected-day{border-bottom:1px solid var(--subtle);padding:12px 0}.pickup-selected-day h3{text-transform:capitalize;margin:0;font-size:18px}.pickup-selected-day p{margin:4px 0}.pickup-day-fieldset{border:1px solid var(--control);border-radius:16px;margin:16px 0;padding:12px}.pickup-day-fieldset legend{text-transform:capitalize;padding:0 6px;font-weight:700}.pickup-actions{z-index:2;border-top:1px solid var(--subtle);background:var(--surface);justify-content:space-between;align-items:center;gap:12px;margin:0 -16px;padding:12px 16px;display:flex;position:sticky;bottom:0}.pickup-info{border:1px solid var(--mint);background:var(--color-mint-soft);border-radius:16px;padding:12px 16px;color:var(--brand)!important}.pickup-status{border-radius:999px;align-items:center;min-height:32px;padding:4px 12px;font-size:14px;font-weight:700;display:inline-flex}.pickup-status.pending{background:var(--color-mint-soft);color:var(--brand)}.pickup-status.approved{background:var(--color-success-soft);color:var(--color-success)}.pickup-status.rejected{background:var(--color-danger-soft);color:var(--color-danger)}.pickup-select{border:1px solid var(--control);background:var(--surface);min-height:48px;color:var(--brand);font:inherit;border-radius:12px;padding:8px 12px}.pickup-document-step{border-top:1px solid var(--subtle);margin-top:12px;padding-top:12px}.pickup-document-step h2{margin:0 0 8px;font-size:20px}.pickup-file-control{border:2px dashed var(--control);background:var(--color-mint-soft);cursor:pointer;border-radius:16px;flex-direction:column;justify-content:center;gap:4px;min-height:104px;padding:16px;display:flex}.pickup-file-control span{font-weight:700}.pickup-file-control small{color:var(--muted);font-weight:400}.pickup-file-control input{background:0 0;border:0;width:100%;min-height:48px;padding:6px 0}.pickup-file-control.disabled{opacity:.6;cursor:not-allowed}.pickup-summary{margin-bottom:20px}.pickup-request-card h2{margin:8px 0}.admin-nav{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.pickup-admin-filters{grid-template-columns:1fr;gap:8px;display:grid}.pickup-admin-filters h2{margin-bottom:4px}.pickup-pagination,.pickup-review-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:16px 0;display:flex}.pickup-pagination .button{min-width:120px}.pickup-textarea{resize:vertical;border:1px solid var(--control);background:var(--surface);min-height:112px;color:var(--brand);font:inherit;border-radius:12px;padding:12px}.pickup-review-actions{justify-content:flex-start}@media(max-width:380px){.pickup-calendar-panel,.pickup-panel{padding:14px}.pickup-calendar-grid{gap:3px}.pickup-day{border-radius:9px}.pickup-actions{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
