.admin-page{min-height:100vh}.admin-page .site-header{padding:0 6%}.admin-main{max-width:1160px;margin:65px auto 100px;padding:0 24px}.admin-card{background:#fff;padding:30px;margin-bottom:23px}.admin-card h1{font-family:var(--serif);font-size:50px;font-weight:400;margin:0 0 12px}.admin-card h2{font-family:var(--serif);font-weight:400;font-size:27px;margin:0 0 21px}.admin-card>p:not(.eyebrow){font-size:12px;color:#777}.admin-card form{margin-top:23px}.admin-card form>label,.admin-row label{display:flex;flex-direction:column;gap:8px;font-size:10px;font-weight:700;margin-bottom:16px}.admin-card input:not([type=checkbox]),.admin-card textarea{background:#faf9f7;border:1px solid #e4e1da;padding:12px;font:inherit;font-size:12px}.admin-card input:focus,.admin-card textarea:focus{outline:1px solid #b18b39}.admin-card form>.button{width:100%}#auth-panel{max-width:480px;margin:10vh auto}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.admin-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.admin-check{display:flex!important;flex-direction:row!important;align-items:center}.admin-check input{accent-color:#a6812f}.admin-actions{display:flex;gap:9px}.admin-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px}.admin-heading h1{margin:0;font-size:47px}.admin-heading h2{margin:0}.button-dark{background:#17181a;color:white}.button-quiet{background:#eae7e0}.managed-course,.application{padding:15px 0;border-bottom:1px solid #eae7e0}.managed-course h3{font-family:var(--serif);font-weight:400;font-size:20px;margin:0 0 7px}.managed-course p,.application p{font-size:10px;line-height:1.7;color:#6d6b66;margin:4px 0}.managed-actions{display:flex;gap:8px;margin-top:10px}.small-button{background:#f0ede7;border:0;padding:8px 11px;font-size:10px;cursor:pointer}.small-button:hover{background:#dfb54f}.status-select{border:1px solid #ddd;padding:7px;font-size:10px;margin-top:8px}.application-top{display:flex;justify-content:space-between;align-items:start;gap:12px}.application-top strong{font-size:12px}.muted{color:#888;font-size:11px}@media(max-width:760px){.admin-main{margin-top:35px;padding:0 15px}.admin-grid{grid-template-columns:1fr}.admin-card{padding:22px}.admin-heading h1{font-size:37px}#auth-panel{margin-top:7vh}}
.settings-intro{max-width:680px;line-height:1.7}.settings-card form{max-width:800px}.settings-note{padding:12px 14px;background:#f4f7f9;border-left:3px solid #2868a8;line-height:1.65}.settings-note.ready{border-color:#31865b;background:#edf7f1}.settings-card .button{margin-top:3px}

.account-management>p:not(.eyebrow){max-width:760px;line-height:1.7}.account-management form{max-width:800px}.account-management .button{margin-top:0}.account-list-title{font-family:var(--serif);font-size:18px;font-weight:400;margin:24px 0 8px}.admin-user-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #eae7e0}.role-badge{display:inline-flex;align-items:center;margin-left:8px;padding:4px 9px;border-radius:99px;background:#f2eee4;color:#80611d;font:600 10px var(--sans)}

.account-management-head{display:flex;justify-content:space-between;align-items:center;gap:24px}.account-management-head h2{margin-bottom:6px}.account-management-head p:not(.eyebrow){margin:0;color:#777;font-size:12px}.account-management-head .button{flex:0 0 auto}.admin-users-head,.account-management .admin-user-row{display:grid;grid-template-columns:minmax(0,1fr) 150px 110px;align-items:center;gap:18px}.admin-users-head{margin-top:24px;padding:0 0 10px;color:#777;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid #eae7e0}.account-management .admin-user-row{padding:15px 0}.account-management .admin-user-row strong{overflow-wrap:anywhere;font-size:13px}.account-management .role-badge{width:max-content;margin:0}.account-delete{justify-self:end;color:#8a3434;background:#f7eeee}.account-delete:hover:not(:disabled){background:#f0dada}.account-delete:disabled{opacity:.45;cursor:not-allowed}.account-dialog{width:min(660px,calc(100% - 28px));max-height:90vh;padding:0;border:0;background:transparent;overflow:visible}.account-dialog::backdrop{background:rgba(10,17,25,.7);backdrop-filter:blur(3px)}.account-dialog>.admin-card{max-height:90vh;overflow:auto;margin:0;padding:clamp(22px,4vw,38px);box-shadow:0 24px 80px rgba(0,0,0,.28)}.account-dialog .course-dialog-heading h2{margin-bottom:8px}.account-dialog .admin-actions{margin-top:20px}.account-dialog .admin-actions .button{flex:1}.account-dialog .form-status{min-height:1em}
@media(max-width:600px){.account-management-head{align-items:flex-start;flex-direction:column}.account-management-head .button{width:100%}.admin-users-head,.account-management .admin-user-row{grid-template-columns:minmax(0,1fr) 95px 80px;gap:8px}.admin-users-head{font-size:9px}.account-management .admin-user-row strong{font-size:11px}.account-management .role-badge{font-size:9px;padding:4px 6px}.account-delete{padding:7px 8px}}

.weekday-field{border:0;padding:0;margin:0 0 16px}.weekday-field legend{font-size:10px;font-weight:700;margin-bottom:9px}.weekday-field legend span{font-weight:400;color:#777}.weekday-options{display:flex;flex-wrap:wrap;gap:8px}.weekday-options label{display:flex;align-items:center;gap:6px;padding:8px 10px;background:#faf9f7;border:1px solid #e4e1da;font-size:11px;cursor:pointer}.weekday-options input{accent-color:#a6812f}

.create-course-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:210px}.create-course-card h2{margin-bottom:8px}.create-course-card>p:not(.eyebrow){line-height:1.7}.create-course-card .button{margin-top:12px}.course-dialog{width:min(760px,calc(100% - 28px));max-height:min(90vh,900px);padding:0;border:0;background:transparent;overflow:visible}.course-dialog::backdrop{background:rgba(10,17,25,.7);backdrop-filter:blur(3px)}.course-dialog>.admin-card{max-height:min(90vh,900px);overflow:auto;margin:0;padding:clamp(22px,4vw,38px);box-shadow:0 24px 80px rgba(0,0,0,.28)}.course-dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.course-dialog-heading h2{margin-bottom:10px}.dialog-close{width:38px;height:38px;border:0;border-radius:50%;background:#f0ede7;font-size:26px;line-height:1;cursor:pointer}.dialog-close:hover{background:#dfb54f}.course-dialog .form-status{min-height:1em}@media(max-width:760px){.course-dialog{width:calc(100% - 18px)}.course-dialog>.admin-card{max-height:94vh;padding:20px}.create-course-card{min-height:0}}

.settings-weekdays{margin-top:10px}.settings-hours{max-width:480px}.settings-card .admin-check{margin-top:8px}

.hours-help{font-size:11px;color:#777;line-height:1.6;margin:5px 0 12px}.opening-schedule{display:grid;gap:8px}.opening-day{padding:11px 13px;border:1px solid #e4e1da;background:#faf9f7}.opening-day.is-open{border-color:#c7b17d;background:#fffdf8}.opening-day-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.opening-day-toggle{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:700;cursor:pointer}.opening-day-toggle input{accent-color:#a6812f}.opening-ranges{display:grid;gap:8px;margin-top:9px}.opening-range{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.opening-range label{display:flex;flex-direction:column;gap:5px;font-size:10px;font-weight:700}.opening-range input{background:#fff;border:1px solid #e4e1da;padding:8px;font:inherit;font-size:12px}.opening-range .small-button{height:34px}.opening-range .small-button:disabled{opacity:.45;cursor:not-allowed}

.opening-schedule{display:grid;gap:10px}.opening-slot{padding:13px;border:1px solid #e4e1da;background:#faf9f7}.opening-slot.has-days{border-color:#c7b17d;background:#fffdf8}.opening-slot-days{display:grid;gap:8px}.opening-slot-label{font-size:10px;font-weight:700}.opening-slot-days .weekday-options label{padding:7px 9px}.opening-slot-times{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin-top:12px}.opening-slot-times label{display:flex;flex-direction:column;gap:5px;font-size:10px;font-weight:700}.opening-slot-times input{background:#fff;border:1px solid #e4e1da;padding:8px;font:inherit;font-size:12px}.opening-slot-times .small-button{height:34px}.add-opening-slot{margin-top:10px}.opening-slot .small-button:disabled,.add-opening-slot:disabled{opacity:.45;cursor:not-allowed}

.course-schedule{display:grid;gap:10px}.course-weekday-field .opening-slot-times input:disabled{opacity:.5}
