body.academy-staff-mode { --staff-page:#FAF7F5; --staff-accent:#3A2733; --navy:#3A2733; --navy-press:#2B1C26; --focus:#9E4D60; background:#FAF7F5; }
.academy-staff-mode .staff { width:min(1440px,calc(100% - 48px)); max-width:none; }
.academy-staff-mode a,.academy-staff-mode a:visited {color:#3A2733;}
.academy-staff-mode .staff > nav {display:flex;gap:8px;border-bottom:1px solid #EADCD9;padding-bottom:12px;margin-bottom:24px;flex-wrap:wrap;}
.academy-staff-mode [aria-current=page] {background:#3A2733;color:white;border-color:#3A2733;}
.academy-workspace {background:white;padding:24px;border:1px solid #EADCD9;border-radius:8px;min-width:0;}
.academy-workspace h2 {margin:0;font-size:26px;}.academy-workspace h3{margin-top:28px;}
.academy-workspace button,.academy-workspace input,.academy-workspace select{min-height:44px;}
.academy-workspace button{cursor:pointer;border:1px solid #CFB6BD;border-radius:5px;padding:8px 14px;background:white;color:#3A2733;}
.academy-workspace button.primary{background:#3A2733;color:white;border-color:#3A2733;}
.academy-workspace button:hover{border-color:#3A2733;background:#F6E9E7;}.academy-workspace button.primary:hover{background:#2B1C26;color:white;}
.academy-workspace button:disabled{opacity:.5;cursor:default;}
.academy-workspace input:focus-visible,.academy-workspace select:focus-visible,.academy-workspace button:focus-visible,.academy-workspace textarea:focus-visible{outline:2px solid #9E4D60;outline-offset:3px;}
.academy-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 20px;}
.academy-toolbar p{margin:0;}.academy-toolbar .actions{margin:0;}
.academy-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:24px;}.academy-filters label{flex:1 1 200px;}
.academy-workspace label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;margin-bottom:14px;}
.academy-workspace input,.academy-workspace select,.academy-workspace textarea{width:100%;border:1px solid #CFB6BD;border-radius:5px;padding:10px;background:white;color:#3A2733;font-size:16px;font-weight:400;min-width:0;}
.academy-workspace .academy-check,.academy-checks label{display:flex;flex-direction:row;align-items:center;gap:10px;font-weight:400;}
.academy-workspace input[type=checkbox]{width:20px;height:20px;min-height:20px;accent-color:#3A2733;flex:none;}
.academy-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;}.academy-checks{display:flex;gap:12px 24px;flex-wrap:wrap;}
.academy-table-wrap{overflow:auto;margin:16px 0 24px;}.academy-table{border-collapse:collapse;width:100%;text-align:left;font-size:14px;}.academy-table th{font-weight:600;background:#FAF7F5;}.academy-table th,.academy-table td{padding:12px;border-bottom:1px solid #EADCD9;overflow-wrap:anywhere;}.academy-table .text-btn{padding:0;border:0;text-align:left;}
.academy-list article{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid #EADCD9;}.academy-list p{margin:5px 0 0;color:#6F6066;}
.academy-question{border:1px solid #EADCD9;border-radius:6px;margin:18px 0;padding:16px;}.academy-question legend{padding:0 6px;}
.academy-history article,.academy-answer{border-bottom:1px solid #EADCD9;padding:16px 0;}.academy-history p{margin:4px 0;}
.academy-subnav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px;}.academy-workspace .academy-subnav [aria-current=page]{background:#3A2733;color:white;}
.academy-email-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;}.academy-email-preview{min-width:0;}.academy-email-preview h3{margin-top:0;}
.academy-workspace iframe{border:1px solid #EADCD9;width:100%;height:680px;background:white;border-radius:6px;}.academy-email-editor{border:1px solid #CFB6BD;border-radius:0 0 5px 5px;min-height:300px;max-height:650px;overflow:auto;padding:16px;line-height:1.6;}.academy-email-editor img{max-width:100%;}.academy-editor-tools{display:flex;flex-wrap:wrap;gap:5px;padding:8px;background:#FAF7F5;border:1px solid #CFB6BD;border-bottom:0;border-radius:5px 5px 0 0;}.academy-editor-tools button{padding:5px 9px;font-size:13px;}.academy-editor-tools label{margin:0;font-size:12px;}.academy-editor-tools input[type=color]{padding:2px;width:44px;height:28px;min-height:28px;}
.academy-workspace details{margin:16px 0;}.academy-workspace details summary{cursor:pointer;min-height:40px;}.academy-workspace .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px;}.academy-status{font-size:14px;color:#6F6066;}.academy-error{color:#8f1d1d;background:#F6E9E7;padding:12px;}.academy-notice{background:#F6E9E7;color:#3A2733;padding:12px;}.academy-workspace .hint{font-size:14px;color:#6F6066;}
@media(max-width:900px){.academy-email-grid{grid-template-columns:1fr;}.academy-workspace iframe{height:520px;}}
@media(max-width:600px){.academy-staff-mode .staff{width:calc(100% - 24px);}.academy-workspace{padding:16px;}.academy-fields{grid-template-columns:1fr;}.academy-filters{display:block;}.academy-filters button{margin:4px 8px 8px 0;}.academy-list article{align-items:flex-start;flex-direction:column;}.academy-table{min-width:530px;}.academy-toolbar{gap:10px;}.academy-workspace h2{font-size:23px;}.academy-workspace .actions button{flex:1 1 auto;}}
.academy-email-grid,.academy-email-grid>div,.academy-workspace fieldset{min-width:0;}
.academy-email-editor{max-width:100%;overflow-x:auto;}
@media(max-width:900px){.academy-email-grid{grid-template-columns:minmax(0,1fr);}}
.academy-email-editor table{width:100%!important;max-width:100%!important;table-layout:fixed;}
.academy-email-editor td{box-sizing:border-box;max-width:100%;overflow-wrap:anywhere;}
.academy-email-editor *{max-width:100%;}

body.academy-staff-mode,body.academy-staff-mode .staff,.academy-workspace{font-family:"Inter",-apple-system,sans-serif;color:#2A2226;background:#FAF7F5;}
.academy-workspace{background:#FFFFFF;border-color:#EADCD9;border-radius:4px;}
.academy-workspace h2,.academy-workspace h3,.academy-staff-mode .academy-staff-header h1{font-family:"Fraunces",Georgia,serif;font-weight:400;color:#3A2733;}
.academy-workspace button.primary,.academy-staff-mode .staff>nav [aria-current=page],.academy-workspace .academy-subnav [aria-current=page]{background:#B9576B;border-color:#B9576B;color:#FFFFFF;}
.academy-workspace button.primary:hover,.academy-staff-mode .staff>nav [aria-current=page]:hover{background:#9E4D60;border-color:#9E4D60;}
.academy-workspace button:focus-visible,.academy-workspace input:focus-visible,.academy-workspace select:focus-visible,.academy-workspace textarea:focus-visible{outline-color:#9E4D60;}
.academy-workspace input[type=checkbox]{accent-color:#9E4D60;}
.academy-workspace a,.academy-workspace a:visited,.academy-staff-mode a:visited{color:#9E4D60;}
.academy-workspace .academy-notice{background:#F6E9E7;color:#3A2733;}

/* The Academy administration follows Acuity's simple left-navigation rhythm. */
.academy-staff-mode .staff.academy-admin-shell{display:grid;grid-template-columns:236px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);width:100%;max-width:none;min-height:100vh;margin:0;padding:0;--staff-accent:#B9576B;--navy:#3A2733;--ink:#2A2226;--line:#EADCD9;--focus:#9E4D60;font-family:"Inter",sans-serif;color:#2A2226;background:#FAF7F5;}
.staff header.academy-admin-header{display:grid;grid-template-columns:120px minmax(0,1fr) auto;grid-column:1/-1;align-items:center;gap:18px;min-height:84px;margin:0;padding:12px 28px;border-bottom:1px solid #EADCD9;background:#FAF7F5;}
.academy-admin-header .staff-business-logo{width:120px;height:45px;object-fit:contain;}
.academy-admin-header h1{margin:0;text-align:center;font:400 clamp(22px,2.4vw,30px)/1.2 "Fraunces",Georgia,serif;color:#3A2733;}
.academy-admin-header-actions{display:flex;align-items:center;gap:10px;justify-self:end;}
.academy-admin-header-actions button{min-height:42px;border:1px solid #CFB6BD;border-radius:4px;background:white;color:#3A2733;}
.academy-admin-menu{display:none;}
.academy-admin-sidebar{position:sticky;top:0;align-self:start;display:flex;flex-direction:column;min-height:calc(100vh - 84px);max-height:calc(100vh - 84px);overflow-y:auto;padding:22px 14px;border-right:1px solid #EADCD9;background:#F6E9E7;}
.staff .academy-admin-sidebar nav{display:grid;gap:3px;margin:0;}
.academy-admin-sidebar nav p{margin:18px 12px 5px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#786A70;}
.academy-admin-sidebar nav p:first-child{margin-top:0;}
.academy-admin-sidebar nav button{min-height:44px;padding:10px 13px;border:0;border-radius:4px;background:transparent;color:#3A2733;cursor:pointer;font:600 15px/1.4 "Inter",sans-serif;text-align:left;}
.academy-admin-sidebar nav button:hover{background:#EFDCD9;}
.academy-admin-sidebar nav button[aria-current=page]{background:white;color:#9E4D60;box-shadow:0 0 0 1px #EADCD9;}
.academy-admin-zone{margin:auto 12px 0;padding-top:24px;color:#786A70;font-size:12px;line-height:1.45;}
.academy-admin-main{min-width:0;width:100%;padding:28px 32px 60px;background:#FAF7F5;}
.academy-admin-main>.academy-workspace,.academy-admin-main>.panel{margin-top:0;}
.academy-admin-main .panel{border-color:#EADCD9;border-radius:4px;}
.academy-admin-main h2,.academy-admin-main h3{color:#3A2733;}
.academy-admin-main .staff-course-picker h2,.academy-admin-main .staff-course-detail-heading h2{font-family:"Fraunces",Georgia,serif;font-weight:400;}
.academy-admin-main .staff-course-buttons button{border-color:#CFB6BD;border-radius:4px;color:#3A2733;}
.academy-admin-main .staff-course-buttons button[aria-pressed=true]{background:#B9576B;border-color:#B9576B;color:white;}
.academy-admin-main .staff-course-buttons button:hover{border-color:#B9576B;}
.academy-admin-main .staff-course-start,.academy-admin-main .staff-roster li{border-color:#EADCD9;}
.academy-admin-main .staff-course-start .academy-session-list small,.academy-admin-main .staff-start-kind,.academy-admin-main .staff-start-status,.academy-admin-main .staff-calendar-status{color:#786A70;}
.academy-admin-main .staff-new-class{background:#F6E9E7;border-radius:4px;}
.academy-admin-main .staff-holiday-closures{background:#F6E9E7;}
.academy-admin-main .staff-holiday-closures>summary::after{border-color:#9E4D60;}
.academy-admin-main .staff-holiday-closures>summary small,.academy-admin-main .staff-holiday-content p,.academy-admin-main .staff-holiday-list small,.academy-admin-main .staff-holiday-closed{color:#786A70;}
.academy-admin-main .staff-holiday-list li{border-color:#EADCD9;}
.academy-admin-shell button:focus-visible,.academy-admin-shell a:focus-visible{outline:2px solid #9E4D60;outline-offset:2px;}
.academy-workspace .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.academy-students-table th:first-child,.academy-students-table td:first-child{width:44px;}
.academy-students-table th{white-space:nowrap;}
@media(max-width:900px){.academy-staff-mode .staff.academy-admin-shell{grid-template-columns:minmax(0,1fr);}.staff header.academy-admin-header{grid-template-columns:120px minmax(0,1fr) auto;padding:12px 18px;}.academy-admin-menu{display:inline-flex;}.academy-admin-sidebar{position:static;display:none;grid-column:1;min-height:0;max-height:none;padding:10px 18px 20px;border-right:0;border-bottom:1px solid #EADCD9;}.academy-admin-shell.nav-open .academy-admin-sidebar{display:flex;}.academy-admin-main{padding:22px 18px 44px;}}
@media(max-width:600px){.staff header.academy-admin-header{grid-template-columns:110px minmax(0,1fr);gap:8px 12px;}.academy-admin-header .staff-business-logo{width:110px;height:42px;}.academy-admin-header h1{text-align:right;font-size:20px;}.academy-admin-header-actions{grid-column:1/-1;justify-self:stretch;justify-content:space-between;}.academy-admin-header-actions button{min-height:40px;}.academy-admin-main{padding:18px 12px 36px;}}
@media(max-width:600px){.academy-students-table{display:block;min-width:0!important;}.academy-students-table thead{display:none;}.academy-students-table tbody{display:grid;gap:10px;}.academy-students-table tr{display:grid;grid-template-columns:28px minmax(0,1fr);gap:2px 12px;padding:12px;border:1px solid #EADCD9;border-radius:4px;}.academy-students-table td{display:block;padding:2px 0;border:0;min-width:0;overflow-wrap:anywhere;}.academy-students-table td:first-child{grid-row:1/5;width:auto;align-self:start;}.academy-students-table td:nth-child(2){font-weight:600;}.academy-students-table td:nth-child(4):before{content:"Phone: ";color:#786A70;}.academy-students-table td:nth-child(5):before{content:"Courses: ";color:#786A70;}.academy-students-table tr:has(td[colspan]){display:block;}}
@media print{.academy-admin-sidebar,.academy-admin-header{display:none!important;}.academy-staff-mode .staff.academy-admin-shell{display:block;}.academy-admin-main{padding:0;}}

.academy-workspace [hidden]{display:none!important;}
.academy-attendance-followups{margin:20px 0 28px;padding:18px;border:1px solid #EADCD9;border-radius:4px;background:#fff;}
.academy-attendance-followups h3{margin:0 0 12px;}
.academy-attendance-session{margin:18px 0;padding:18px;border:1px solid #EADCD9;border-radius:4px;background:#fff;}
.academy-attendance-session h3{margin:0 0 5px;}
.academy-attendance-row{display:grid;grid-template-columns:minmax(130px,1fr) minmax(130px,1fr) minmax(120px,.8fr) minmax(180px,1.5fr) auto auto;gap:12px;align-items:end;padding:14px 0;border-top:1px solid #EADCD9;}
.academy-attendance-row>*{min-width:0;overflow-wrap:anywhere;}
.academy-attendance-row label{margin:0;}
.academy-attendance-row button{min-height:42px;}
@media(max-width:1100px){.academy-attendance-row{grid-template-columns:repeat(2,minmax(0,1fr));}.academy-attendance-row button{justify-self:start;}}
@media(max-width:600px){.academy-attendance-session,.academy-attendance-followups{padding:14px;}.academy-attendance-row{grid-template-columns:minmax(0,1fr);gap:8px;}.academy-attendance-row button{width:100%;}}
