:root{--bs-primary:#176c5a;--bs-primary-rgb:23,108,90;--bs-body-color:#243b38;--bs-body-bg:#f5f7f5;--bs-link-color:#176c5a;--bs-link-hover-color:#104e42;--bs-border-color:#dce5df}
body{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.6;min-height:100vh}
.container{max-width:1160px}.brand{font-weight:800;font-size:1.7rem;letter-spacing:-1px;color:#243b38;display:flex;align-items:center;gap:.55rem}.brand-dot{color:#d49b45;margin-left:-.5rem}.brand-mark{background:#176c5a;color:white;border-radius:10px;font-size:1rem;display:inline-grid;place-items:center;width:32px;height:32px;letter-spacing:0}
.eyebrow{color:#56776b;font-size:.72rem;font-weight:750;letter-spacing:.16em}.card,.hero-panel,.stat-card{background:#fff;border-radius:18px;box-shadow:0 4px 24px #183d2905}.hero-panel{background:linear-gradient(145deg,#e6f0e7,#fff)}.narrow{max-width:760px}.login-layout{max-width:460px;padding-top:2rem}.display-6{font-size:clamp(2rem,3.7vw,2.8rem);line-height:1.18;letter-spacing:-.035em}.display-5{letter-spacing:-.04em}.event-intro{position:sticky;top:2rem}.description{white-space:pre-line}.event-fact{display:flex;gap:1rem;align-items:center;margin-top:1.4rem}.fact-icon{background:#e8eee9;color:#176c5a;display:grid;place-items:center;border-radius:12px;width:42px;height:42px;font-size:1.4rem;flex-shrink:0}.quota-info{background:#eaf2ec;color:#31594c}.step-badge{display:grid;place-items:center;border-radius:50%;background:#eaf2ec;color:#176c5a;width:34px;height:34px;font-weight:700;flex-shrink:0}.student-picker{background:#f7f9f7;border:1px solid #e6ece7}.form-control,.form-select{padding:.7rem .9rem;border-radius:9px;background-color:#fff}.form-control:focus,.form-select:focus{border-color:#519c86;box-shadow:0 0 0 .2rem #176c5a1f}.form-label{font-size:.9rem;font-weight:600}.form-check-input:checked{background-color:#176c5a;border-color:#176c5a}.btn{font-weight:600;border-radius:9px;padding:.6rem 1rem}.btn-lg{font-size:1rem;padding:.85rem 1.2rem}.btn-sm{padding:.4rem .7rem;font-size:.8rem}.btn-primary{--bs-btn-bg:#176c5a;--bs-btn-border-color:#176c5a;--bs-btn-hover-bg:#115543;--bs-btn-hover-border-color:#115543;--bs-btn-active-bg:#104e42;--bs-btn-active-border-color:#104e42;--bs-btn-disabled-bg:#176c5a;--bs-btn-disabled-border-color:#176c5a}.btn-outline-primary{--bs-btn-color:#176c5a;--bs-btn-border-color:#176c5a;--bs-btn-hover-bg:#176c5a;--bs-btn-hover-border-color:#176c5a;--bs-btn-active-bg:#176c5a;--bs-btn-active-border-color:#176c5a;--bs-btn-disabled-color:#176c5a;--bs-btn-disabled-border-color:#176c5a}.btn-link{--bs-btn-color:#176c5a}.empty-cart{border:1px dashed #cddbd1;border-radius:10px;text-align:center;padding:1.8rem 1rem;color:#738278;font-size:.9rem}.cart-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid #e4ebe6;padding:1rem 0}.cart-row:last-child{border-bottom:0}.cart-number{display:grid;place-items:center;background:#f0f3ef;border-radius:9px;min-width:32px;height:32px;font-size:.8rem;color:#67816f}.quota-dialog,.student-dialog{max-width:530px;width:calc(100% - 2rem);max-height:90dvh;box-shadow:0 20px 100px #163b2830}.quota-dialog::backdrop,.student-dialog::backdrop{background:#142f296e;backdrop-filter:blur(3px)}.quota-choice{display:flex;gap:.8rem;align-items:center;border:1px solid #dce5df;border-radius:10px;padding:1rem;margin-top:.65rem}.quota-choice:has(input:checked){background:#edf5ef;border-color:#176c5a}.receipt-header{background:#eaf2ec}.success-mark{width:58px;height:58px;border-radius:50%;background:#176c5a;color:#fff;display:grid;place-items:center;font-size:1.9rem}.table>:not(caption)>*>*{padding:1rem 1.2rem}.table thead th{background:#edf2ed;color:#5d7568;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}dialog button{white-space:normal}button:focus-visible,a:focus-visible{outline:3px solid #ccad54;outline-offset:3px}
@media(max-width:767px){.site-header .brand{font-size:1.45rem}.event-intro{position:static}.login-layout{padding-top:0}.table>:not(caption)>*>*{padding:.8rem}.receipt .p-md-5{padding:1.5rem!important}}
@media print{body{background:white;color:black}.container{max-width:100%;padding:0!important}.receipt{box-shadow:none;max-width:100%}.receipt-header{background:#fff!important;padding:1rem!important}.card{box-shadow:none}.success-mark{background:white;color:black;border:1px solid black}a{color:inherit;text-decoration:none}.list-group-item{break-inside:avoid}footer{display:none}}

.student-dialog #search-results{max-height:240px;overflow-y:auto}.student-dialog .btn-close{flex-shrink:0;margin-top:.25rem}html:has(dialog[open]){overflow:hidden}

.school-logo{object-fit:contain;flex-shrink:0}.school-brand{color:#243b38;font-size:1.1rem}
