/* Compact student request; preserve the existing ticket and school colors. */
body{background:#f3f6fb;color:#172c50}
[hidden]{display:none!important}
.app-header{padding:22px 24px 18px;text-align:left;color:#172c50;background:transparent;max-width:720px;width:100%;margin:auto;display:flex;align-items:center;gap:12px}
.app-header i{animation:none;filter:none;font-size:21px;color:#2457d6}
.app-header .school-mark{display:grid;place-items:center;width:42px;height:42px;background:#e7efff;border-radius:12px;flex-shrink:0}
.app-header strong{font-size:.85rem;display:block;font-weight:700}.app-header span{display:block;font-size:.76rem;color:#526580;margin-top:2px}
.main-container{max-width:720px;margin:0 auto 28px;padding:0 16px}
#formView.card-wrapper{padding:0;border:1px solid #dde5f0;border-radius:18px;box-shadow:none;overflow:visible;background:#fff}
.leave-intro{padding:22px 24px 18px}.leave-intro h1{font-size:1.45rem;line-height:1.4;letter-spacing:-.02em;margin:0 0 6px;font-weight:800}.leave-intro p{font-size:.86rem;color:#526580;margin:0;line-height:1.65}
.leave-progress{display:flex;list-style:none;margin:0;padding:0 24px 20px;gap:14px;border-bottom:1px solid #e8edf5}
.leave-progress li{display:flex;align-items:center;gap:7px;font-size:.78rem;color:#526580;white-space:nowrap}
.leave-progress li>span{display:grid;place-items:center;border:1px solid #c5cfdf;width:26px;height:26px;border-radius:50%;font-size:.75rem;font-weight:700}
.leave-progress .is-current{color:#1648bd;font-weight:800}.leave-progress .is-current>span{color:white;background:#2457d6;border-color:#2457d6}.leave-progress .is-complete>span{background:#eaf2ff;color:#1648bd;border-color:#bed0f4}
.leave-step{padding:22px 24px 12px;min-width:0;border:0;margin:0}.leave-step h2{font-size:1.05rem;font-weight:800;margin:0 0 4px;outline:none}.leave-step .section-help{font-size:.82rem;color:#526580;margin:0 0 20px;line-height:1.65}
.leave-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.leave-field{min-width:0}.leave-field.full{grid-column:1/-1}
#leaveRequestForm .form-label{font-size:.82rem;color:#243c60;font-weight:700;margin:0 0 7px;display:block}
#leaveRequestForm .form-control,#leaveRequestForm .form-select{min-height:48px;font-size:16px;border-radius:10px;border:1px solid #cbd7e9;background-color:#fff;padding:11px 12px;box-shadow:none;color:#172c50}
#leaveRequestForm .form-control:focus,#leaveRequestForm .form-select:focus{border-color:#2457d6;outline:3px solid #dce7ff;outline-offset:0}
#leaveRequestForm ::placeholder{color:#62738c;opacity:1}#leaveRequestForm :disabled{background:#f2f5f9;color:#526580}
#leaveRequestForm [aria-invalid=true]{border-color:#be3046;background:#fff8f8}
.leave-today{display:flex;justify-content:space-between;gap:12px;font-size:.83rem;color:#526580;margin:0 0 18px}.leave-today strong{color:#243c60;font-weight:600}
.return-choice{display:flex;align-items:center;gap:10px;min-height:48px;cursor:pointer;margin:0;font-size:.86rem;font-weight:600;color:#243c60}.return-choice input{width:20px;height:20px;accent-color:#2457d6;flex-shrink:0}
#returnPlanHelp{font-size:.76rem;color:#526580;margin:3px 0 0;line-height:1.6}
.leave-reasons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px}
.leave-reasons button{background:#fff;border:1px solid #cbd7e9;border-radius:9px;color:#334c70;min-height:44px;font-size:.8rem;padding:9px 8px;font-weight:600;text-align:center}
.leave-reasons button[aria-pressed=true]{background:#edf3ff;border-color:#2457d6;color:#1648bd}
.leave-reasons button:hover{background:#f2f6ff}.leave-reasons i{margin-right:6px;color:#2457d6}
#leaveReason{resize:vertical;min-height:76px}
.leave-actions{position:relative;z-index:20;background:#fff;border-top:1px solid #e8edf5;padding:14px 24px max(14px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:0 0 18px 18px}
.leave-actions .btn{min-height:48px;border-radius:10px;font-weight:700;padding:10px 18px;font-size:.88rem}.leave-actions .btn-primary{background:#2457d6;border-color:#2457d6;box-shadow:none}.leave-actions .btn-outline-secondary{border-color:#cbd7e9;color:#334c70}.leave-actions>span{font-size:.75rem;color:#526580}.leave-actions .leave-forward{margin-left:auto}
.leave-error{margin:12px 24px 0;padding:12px;background:#fff1f2;color:#a51f35;border-radius:9px;font-size:.83rem;line-height:1.65}
.review-summary{padding:12px 0;border-top:1px solid #e8edf5;border-bottom:1px solid #e8edf5;margin-bottom:18px;font-size:.83rem;line-height:1.65}.review-summary p{margin:0 0 4px;overflow-wrap:anywhere}.review-summary strong{color:#172c50}.review-summary details{margin-top:6px}.review-summary summary{color:#1648bd;cursor:pointer;min-height:32px}.review-summary .review-edit{color:#1648bd;padding:5px 0;min-height:36px;border:0;background:none;text-decoration:underline;text-underline-offset:3px;font-size:.78rem}
#formView .signature-wrapper{height:144px;border:1px dashed #9bacc6;border-radius:10px;background:#fbfcff;margin:0;overflow:hidden}#signaturePad{display:block;width:100%;height:100%;touch-action:none}
.signature-label{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:16px}.signature-label .form-label{margin:0!important}.signature-label button{min-height:40px;border:0;background:none;color:#526580;font-size:.78rem;text-decoration:underline;text-underline-offset:3px}
.signature-note{color:#a51f35;font-size:.8rem;margin:8px 0 0}.teacher-disclaimer{color:#526580;font-size:.76rem;margin:12px 0 0;line-height:1.6}
#formView :focus-visible{outline:3px solid #2457d6;outline-offset:3px}
body:has(#formView:not(.d-none)) #krpThemeControl,body:has(#formView:not(.d-none)) #krpSchoolSessionControl{display:none!important}
html.krp-dark #formView{color:#172c50!important;background:#fff!important}html.krp-dark body{background:#f3f6fb!important}
@media(max-width:480px){.app-header{padding:16px 20px}.main-container{padding:0 12px}.leave-intro{padding:20px 18px 14px}.leave-intro h1{font-size:1.3rem}.leave-progress{padding:0 18px 16px;gap:12px}.leave-progress li{font-size:.73rem;gap:5px}.leave-progress li>span{width:24px;height:24px}.leave-step{padding:20px 18px 12px}.leave-actions{padding:12px 18px max(12px,env(safe-area-inset-bottom))}.leave-error{margin-left:18px;margin-right:18px}.leave-actions>span{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

#formView{--krp-text:#172c50;--krp-muted:#526580;--krp-surface:#fff;--krp-surface-2:#f3f6fb;--krp-border:#cbd7e9}
.app-header strong{color:#172c50}.school-mark{text-decoration:none}
#formView:not([data-current-step="1"]) .leave-intro{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#formView:not([data-current-step="1"]) .leave-progress{padding-top:18px}
#leaveRequestForm input,#leaveRequestForm select,#leaveRequestForm textarea{scroll-margin-block:28px}
#leaveRequestForm ::placeholder{color:#62738c!important;opacity:1!important}
