:root{
  --cba-green:#173f35;
  --cba-green-2:#24584b;
  --cba-green-3:#dce9e3;
  --cba-gold:#b89a57;
  --cba-gold-2:#d8c38c;
  --cba-cream:#f7f1e4;
  --cba-cream-2:#fffaf0;
  --cba-ink:#24322d;
  --cba-muted:#6a756f;
  --cba-line:#e4ddcd;
  --cba-white:#fff;
  --cba-shadow:0 10px 30px rgba(23,63,53,.08);
}
*{box-sizing:border-box}html,body{margin:0;padding:0}body.cba-platform-shell{background:var(--cba-cream);color:var(--cba-ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.cba-app{min-height:100vh;display:grid;grid-template-columns:285px 1fr}.cba-sidebar{position:sticky;top:0;height:100vh;background:var(--cba-green);color:#fff;padding:24px 18px 20px;display:flex;flex-direction:column;z-index:20}.cba-brand{display:flex;gap:12px;align-items:center;padding:4px 6px 20px;border-bottom:1px solid rgba(255,255,255,.14)}.cba-brand-mark{width:48px;height:48px;border:1px solid var(--cba-gold-2);border-radius:14px;display:grid;place-items:center;color:var(--cba-gold-2);font-family:Georgia,serif;font-weight:700;letter-spacing:.04em}.cba-brand strong{font-family:Georgia,serif;font-size:17px;display:block;line-height:1.15}.cba-brand span{font-size:11px;opacity:.72;display:block;margin-top:5px}.cba-workspace-label{margin:18px 8px 10px;color:var(--cba-gold-2);text-transform:uppercase;font-size:11px;letter-spacing:.12em;font-weight:700}.cba-nav{display:flex;flex-direction:column;gap:4px;overflow:auto;padding-right:2px}.cba-nav a{color:rgba(255,255,255,.86);text-decoration:none;display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:10px;font-size:14px}.cba-nav a:hover,.cba-nav a.is-active{background:rgba(255,255,255,.12);color:#fff}.cba-nav-icon{width:20px;color:var(--cba-gold-2);font-weight:700;text-align:center}.cba-sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.14);padding:16px 6px 0}.cba-sidebar-footer>a{color:var(--cba-gold-2);font-size:12px;text-decoration:none}.cba-user-mini{display:flex;gap:9px;align-items:center;margin-bottom:12px}.cba-avatar{width:36px;height:36px;background:var(--cba-gold);color:var(--cba-green);border-radius:50%;display:grid;place-items:center;font-weight:800}.cba-user-mini strong,.cba-user-mini small{display:block}.cba-user-mini strong{font-size:13px}.cba-user-mini small{font-size:11px;opacity:.7;margin-top:2px}.cba-main{min-width:0}.cba-topbar{height:76px;background:rgba(255,250,240,.95);border-bottom:1px solid var(--cba-line);display:flex;align-items:center;gap:18px;padding:0 32px;position:sticky;top:0;z-index:15;backdrop-filter:blur(10px)}.cba-mobile-menu{display:none}.cba-find-fast{flex:1;max-width:760px;border:1px solid var(--cba-line);background:#fff;border-radius:14px;padding:0 14px;display:flex;align-items:center;gap:9px}.cba-find-fast input{border:0;outline:0;width:100%;padding:12px 0;background:transparent;font-size:14px}.cba-top-actions{margin-left:auto;display:flex;align-items:center;gap:14px;font-size:13px}.cba-top-actions a{color:var(--cba-green);font-weight:700;text-decoration:none}.cba-pill{background:var(--cba-green-3);color:var(--cba-green);padding:6px 9px;border-radius:999px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.cba-content{padding:34px;max-width:1500px;margin:0 auto}.cba-page-header{display:flex;justify-content:space-between;gap:20px;margin-bottom:24px}.cba-eyebrow,.cba-kicker{display:block;text-transform:uppercase;letter-spacing:.12em;color:var(--cba-gold);font-size:11px;font-weight:800}.cba-page-header h1{font-family:Georgia,serif;font-size:36px;line-height:1.1;margin:6px 0 7px;color:var(--cba-green)}.cba-page-header p{margin:0;color:var(--cba-muted);font-size:15px}.cba-stat-grid,.cba-grid-3{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.cba-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cba-stat-card,.cba-card,.cba-module-card{background:var(--cba-white);border:1px solid var(--cba-line);border-radius:18px;box-shadow:var(--cba-shadow)}.cba-stat-card{padding:20px}.cba-stat-card strong{display:block;font-family:Georgia,serif;color:var(--cba-green);font-size:30px}.cba-stat-card span{font-size:13px;color:var(--cba-muted);margin-top:4px;display:block}.cba-grid-2{display:grid;grid-template-columns:1.1fr .9fr;gap:20px}.cba-card{padding:22px}.cba-card h2{font-family:Georgia,serif;color:var(--cba-green);font-size:22px;margin:4px 0 18px}.cba-card-head{display:flex;justify-content:space-between}.cba-task-list{display:flex;flex-direction:column}.cba-task{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:14px 0;border-top:1px solid var(--cba-line)}.cba-task:first-child{border-top:0}.cba-task strong,.cba-task span{display:block}.cba-task strong{font-size:14px}.cba-task span,.cba-task small{font-size:12px;color:var(--cba-muted);margin-top:3px}.cba-task button,.cba-module-card button{border:1px solid var(--cba-line);background:var(--cba-cream-2);color:var(--cba-green);padding:8px 11px;border-radius:9px;font-weight:700;cursor:pointer}.cba-quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.cba-quick-grid a{border:1px solid var(--cba-line);border-radius:12px;padding:13px 14px;color:var(--cba-green);text-decoration:none;font-weight:700;display:flex;justify-content:space-between}.cba-quick-grid a:hover{border-color:var(--cba-gold);background:var(--cba-cream-2)}.cba-toolbar{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px}.cba-input{min-width:300px;max-width:540px;width:50%;border:1px solid var(--cba-line);background:#fff;border-radius:12px;padding:11px 13px}.cba-btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:11px;padding:11px 15px;text-decoration:none;font-weight:800;cursor:pointer}.cba-btn-primary{background:var(--cba-green);color:#fff}.cba-btn-primary:hover{background:var(--cba-green-2);color:#fff}.cba-table-wrap{background:#fff;border:1px solid var(--cba-line);border-radius:18px;overflow:auto;box-shadow:var(--cba-shadow)}.cba-table{width:100%;border-collapse:collapse}.cba-table th,.cba-table td{text-align:left;padding:15px 17px;border-bottom:1px solid var(--cba-line);font-size:13px}.cba-table th{background:var(--cba-cream-2);color:var(--cba-green);font-size:11px;text-transform:uppercase;letter-spacing:.07em}.cba-table tr:last-child td{border-bottom:0}.cba-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.cba-module-card{padding:20px}.cba-module-card h3{font-family:Georgia,serif;color:var(--cba-green);font-size:19px;margin:0 0 7px}.cba-module-card p{color:var(--cba-muted);font-size:13px;min-height:38px}.cba-login-screen{min-height:100vh;background:linear-gradient(135deg,var(--cba-green),#0e2c25);display:grid;place-items:center;padding:24px;font-family:Inter,ui-sans-serif,sans-serif}.cba-login-card{width:min(460px,100%);background:var(--cba-cream);border-radius:24px;padding:42px;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.2)}.cba-login-card .cba-mark{width:72px;height:72px;border:2px solid var(--cba-gold);border-radius:20px;margin:0 auto 20px;display:grid;place-items:center;color:var(--cba-green);font-family:Georgia,serif;font-size:23px;font-weight:800}.cba-login-card h1{font-family:Georgia,serif;color:var(--cba-green);margin:0}.cba-login-card p{color:var(--cba-muted);margin:9px 0 25px}
@media(max-width:1050px){.cba-app{grid-template-columns:230px 1fr}.cba-stat-grid{grid-template-columns:repeat(2,1fr)}.cba-module-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.cba-app{display:block}.cba-sidebar{position:fixed;left:-290px;width:280px;transition:left .2s}.cba-sidebar.is-open{left:0}.cba-mobile-menu{display:inline-flex;background:transparent;border:0;font-size:24px;color:var(--cba-green)}.cba-topbar{padding:0 16px}.cba-top-actions{display:none}.cba-content{padding:22px 16px}.cba-grid-2,.cba-grid-3,.cba-stat-grid,.cba-module-grid{grid-template-columns:1fr}.cba-toolbar{flex-direction:column}.cba-input{width:100%;min-width:0}.cba-page-header h1{font-size:30px}}

/* People Core 1.1 */
.cba-header-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.cba-btn-secondary{background:#fff;color:var(--cba-green);border:1px solid var(--cba-line)}.cba-btn-secondary:hover{border-color:var(--cba-gold);background:var(--cba-cream-2)}.cba-btn-danger{background:#7c2f2f;color:#fff}.cba-btn-danger:hover{background:#672525}.cba-mini-action{border:1px solid var(--cba-line);background:var(--cba-cream-2);color:var(--cba-green);padding:8px 11px;border-radius:9px;font-weight:700;text-decoration:none;font-size:12px}.cba-text-link{align-self:center;color:var(--cba-green);font-weight:700;text-decoration:none;font-size:13px}.cba-notice{background:#fff;border:1px solid var(--cba-line);border-left:4px solid var(--cba-gold);border-radius:12px;padding:13px 16px;margin:-6px 0 18px;font-size:13px}.cba-notice-success{border-left-color:var(--cba-green-2);background:#f7fbf8}.cba-record-link{display:flex;flex-direction:column;text-decoration:none;color:var(--cba-green);gap:3px}.cba-record-link strong{font-size:14px}.cba-record-link small{font-size:11px;color:var(--cba-muted)}.cba-empty-cell{text-align:center!important;color:var(--cba-muted);padding:30px!important}.cba-status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;background:var(--cba-green-3);color:var(--cba-green);white-space:nowrap}.cba-status-absent,.cba-status-inactive{background:#f7e7e4;color:#7b332b}.cba-status-late,.cba-status-early-dismissal,.cba-status-applicant,.cba-status-leave{background:#f5edd9;color:#765e22}.cba-status-not-taken{background:#efeee9;color:#625f56}.cba-form-card{padding:26px}.cba-form-card>h2{margin-top:0}.cba-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}.cba-field{display:flex;flex-direction:column;gap:7px}.cba-field>span{font-size:12px;font-weight:800;color:var(--cba-green)}.cba-field em{color:#9c4c3b;font-style:normal}.cba-field input,.cba-field select{width:100%;border:1px solid var(--cba-line);background:#fff;border-radius:11px;padding:11px 12px;font:inherit;color:var(--cba-ink);outline:none}.cba-field input:focus,.cba-field select:focus{border-color:var(--cba-gold);box-shadow:0 0 0 3px rgba(184,154,87,.12)}.cba-form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:24px;margin-top:22px;border-top:1px solid var(--cba-line)}.cba-form-divider{height:1px;background:var(--cba-line);margin:28px 0}.cba-form-help{color:var(--cba-muted);font-size:13px;margin-top:-10px}.cba-check{display:flex;gap:9px;align-items:center;padding-top:27px;font-size:13px;font-weight:700;color:var(--cba-green)}.cba-check input{width:18px;height:18px;accent-color:var(--cba-green)}.cba-profile-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:20px}.cba-detail-list{display:flex;flex-direction:column;margin-top:8px}.cba-detail-list>div{display:grid;grid-template-columns:145px 1fr;gap:18px;padding:14px 0;border-top:1px solid var(--cba-line);align-items:center}.cba-detail-list>div:first-child{border-top:0}.cba-detail-list span{color:var(--cba-muted);font-size:12px}.cba-detail-list strong{font-size:14px}.cba-detail-list-wide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}.cba-detail-list-wide>div{grid-template-columns:130px 1fr}.cba-related-list{display:flex;flex-direction:column;gap:9px}.cba-related-list a{padding:12px 13px;border:1px solid var(--cba-line);border-radius:12px;text-decoration:none;color:var(--cba-green);display:flex;justify-content:space-between;gap:14px}.cba-related-list span{color:var(--cba-muted);font-size:12px}.cba-spaced-card{margin-top:20px}.cba-contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.cba-contact-card{border:1px solid var(--cba-line);border-radius:14px;padding:15px;background:var(--cba-cream-2)}.cba-contact-card strong,.cba-contact-card span,.cba-contact-card small,.cba-contact-card em{display:block}.cba-contact-card strong{color:var(--cba-green)}.cba-contact-card span{font-size:12px;color:var(--cba-muted);margin:3px 0 9px}.cba-contact-card small{font-size:11px;color:var(--cba-ink);margin-top:4px}.cba-contact-card em{font-size:10px;color:var(--cba-green);font-style:normal;font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-top:10px}.cba-danger-zone{margin-top:24px;border:1px solid #e5c7c1;background:#fff8f6;border-radius:16px;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:20px}.cba-danger-zone strong,.cba-danger-zone span{display:block}.cba-danger-zone strong{color:#6b2e28;font-size:13px}.cba-danger-zone span{color:#84655f;font-size:12px;margin-top:3px}
@media(max-width:900px){.cba-profile-grid{grid-template-columns:1fr}.cba-contact-grid{grid-template-columns:repeat(2,1fr)}.cba-form-grid{grid-template-columns:1fr}.cba-detail-list-wide{grid-template-columns:1fr}}
@media(max-width:620px){.cba-contact-grid{grid-template-columns:1fr}.cba-page-header{flex-direction:column}.cba-header-actions{width:100%}.cba-header-actions .cba-btn{flex:1}.cba-danger-zone{align-items:flex-start;flex-direction:column}.cba-form-actions{flex-direction:column-reverse}.cba-form-actions .cba-btn{width:100%}.cba-detail-list>div{grid-template-columns:1fr;gap:4px}}

/* People Records 1.2 */
.cba-form-section{grid-column:1/-1;display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin:28px 0 4px;padding-top:24px;border-top:1px solid var(--cba-line)}
.cba-form-section:first-of-type{margin-top:0;padding-top:0;border-top:0}.cba-form-section p{margin:5px 0 0;color:var(--cba-muted);font-size:13px;max-width:720px}.cba-field-wide{grid-column:1/-1}.cba-field textarea{width:100%;min-height:104px;border:1px solid var(--cba-line);background:#fff;border-radius:11px;padding:11px 12px;font:inherit;color:var(--cba-ink);outline:none;resize:vertical}.cba-field textarea:focus{border-color:var(--cba-gold);box-shadow:0 0 0 3px rgba(184,154,87,.12)}.cba-inline-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.cba-record-sections{display:grid;grid-template-columns:1fr;gap:20px}.cba-note-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:12px}.cba-note-box{border:1px solid var(--cba-line);background:var(--cba-cream-2);border-radius:14px;padding:15px}.cba-note-box strong{display:block;color:var(--cba-green);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.cba-note-box p{margin:7px 0 0;color:var(--cba-ink);font-size:13px;line-height:1.55}.cba-chip-row{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}.cba-chip-row em{display:inline-flex!important;width:auto;background:rgba(184,154,87,.14);border:1px solid rgba(184,154,87,.35);border-radius:999px;padding:4px 7px;color:var(--cba-green)!important;font-size:9px!important;letter-spacing:.04em!important}.cba-form-grid>.cba-form-section{margin-left:0;margin-right:0}
@media(max-width:760px){.cba-note-grid{grid-template-columns:1fr}.cba-form-section{align-items:flex-start;flex-direction:column}.cba-inline-actions{width:100%}}

/* Classes, Scheduling & Attendance 1.3 */
.cba-roster-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.cba-roster-picker label{display:flex;gap:11px;align-items:center;border:1px solid var(--cba-line);border-radius:12px;background:#fff;padding:11px 13px;cursor:pointer}.cba-roster-picker label:hover{border-color:var(--cba-gold);background:var(--cba-cream-2)}.cba-roster-picker input{width:18px;height:18px;accent-color:var(--cba-green)}.cba-roster-picker strong,.cba-roster-picker small{display:block}.cba-roster-picker strong{color:var(--cba-green);font-size:13px}.cba-roster-picker small{color:var(--cba-muted);font-size:11px;margin-top:2px}.cba-action-strip{display:flex;justify-content:flex-end;margin-top:18px}.cba-table-sub{display:block;color:var(--cba-muted);font-size:11px;margin-top:4px}.cba-attendance-context{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:18px}.cba-attendance-context h2{margin:3px 0 5px;color:var(--cba-green);font-family:Georgia,serif}.cba-attendance-context p{margin:0;color:var(--cba-muted);font-size:13px}.cba-date-jump{display:flex;align-items:end;gap:9px}.cba-date-jump label{display:flex;flex-direction:column;gap:5px}.cba-date-jump label span{font-size:11px;color:var(--cba-green);font-weight:800}.cba-date-jump input,.cba-attendance-table select,.cba-table-input{border:1px solid var(--cba-line);border-radius:10px;background:#fff;padding:9px 10px;font:inherit;color:var(--cba-ink)}.cba-attendance-table select{min-width:150px}.cba-table-input{min-width:190px;width:100%}.cba-inline-check{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--cba-green);font-weight:700}.cba-inline-check input{width:17px;height:17px;accent-color:var(--cba-green)}.cba-sticky-save{position:sticky;bottom:14px;margin-top:16px;background:var(--cba-green);color:#fff;border:1px solid rgba(255,255,255,.14);box-shadow:0 14px 40px rgba(23,63,53,.2);border-radius:16px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:20px}.cba-sticky-save strong,.cba-sticky-save span{display:block}.cba-sticky-save strong{font-size:13px}.cba-sticky-save span{font-size:11px;opacity:.75;margin-top:3px}.cba-sticky-save .cba-btn-primary{background:var(--cba-gold);color:var(--cba-green)}.cba-class-list{display:flex;flex-direction:column;gap:10px}.cba-class-row{display:grid;grid-template-columns:1fr auto auto;gap:22px;align-items:center;border:1px solid var(--cba-line);border-radius:13px;padding:14px 16px;text-decoration:none;background:#fff;color:var(--cba-ink)}.cba-class-row:hover{border-color:var(--cba-gold);background:var(--cba-cream-2)}.cba-class-row strong,.cba-class-row span,.cba-class-row small,.cba-class-row b{display:block}.cba-class-row strong{color:var(--cba-green);font-size:14px}.cba-class-row span,.cba-class-row small{color:var(--cba-muted);font-size:11px;margin-top:3px}.cba-class-row b{font-size:11px;color:var(--cba-green);margin-top:3px}.cba-class-row em{font-style:normal;color:var(--cba-green);font-weight:800;font-size:12px;white-space:nowrap}
@media(max-width:820px){.cba-roster-picker{grid-template-columns:1fr}.cba-attendance-context{align-items:flex-start;flex-direction:column}.cba-class-row{grid-template-columns:1fr}.cba-sticky-save{position:static;align-items:flex-start;flex-direction:column}.cba-sticky-save .cba-btn{width:100%}}

/* Academics 1.4 */
.cba-subnav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px;padding:7px;background:#f7f1df;border:1px solid rgba(174,142,62,.26);border-radius:14px}.cba-subnav a{padding:9px 13px;border-radius:10px;text-decoration:none;color:#214b3a;font-weight:700}.cba-subnav a:hover,.cba-subnav a.is-active{background:#214b3a;color:#fff}.cba-module-link{text-decoration:none;color:inherit;display:block}.cba-module-link span{display:inline-block;margin-top:8px;color:#8a6a1e;font-weight:800}.cba-toolbar-label{display:flex;align-items:center;gap:10px;font-weight:700;color:#214b3a}.cba-toolbar-label select{min-width:260px;padding:10px 12px;border:1px solid #d8cfb7;border-radius:10px;background:#fff}.cba-academic-layout{align-items:start}.cba-compact-form{padding:14px 0 18px;border-bottom:1px solid #e8e0cc;margin-bottom:12px}.cba-related-list a.is-selected{background:#f3ecd7;border-color:#b08b35}.cba-list-static{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid #eee7d7}.cba-list-static:last-child{border-bottom:0}.cba-score-input{width:100px;padding:8px;border:1px solid #d8cfb7;border-radius:8px}.cba-goal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.cba-goal-card textarea,.cba-report-form textarea,.cba-approval-row textarea{width:100%;border:1px solid #d8cfb7;border-radius:10px;padding:11px;font:inherit}.cba-field-full{grid-column:1/-1}.cba-approval-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:20px;padding:18px 0;border-bottom:1px solid #e8e0cc}.cba-approval-row:last-child{border-bottom:0}.cba-approval-row span{display:block;color:#726b5c;margin-top:4px}.cba-inline-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.cba-empty-state{padding:28px;border:1px dashed #cdbd91;background:#fffaf0;border-radius:14px;text-align:center;color:#5a554a}.cba-empty-state strong{display:block;color:#214b3a;font-size:1.05rem;margin-bottom:4px}
@media(max-width:900px){.cba-goal-grid,.cba-approval-row{grid-template-columns:1fr}.cba-toolbar-label{align-items:flex-start;flex-direction:column}.cba-toolbar-label select{min-width:0;width:100%}}

/* Admissions 1.5 */
.cba-inline-form{display:grid;grid-template-columns:minmax(220px,1fr) 150px 150px minmax(180px,1fr) auto;gap:10px;align-items:center}
.cba-inline-form select,.cba-inline-form input,.cba-mini-form select,.cba-mini-form input,.cba-mini-form textarea,.cba-decision-form select,.cba-decision-form textarea{width:100%;box-sizing:border-box}
.cba-mini-form,.cba-decision-form{display:grid;gap:14px;margin-top:18px;padding-top:18px;border-top:1px solid rgba(0,0,0,.09)}
@media(max-width:900px){.cba-inline-form{grid-template-columns:1fr}.cba-inline-form .cba-mini-action{justify-self:start}}

/* 1.6.0 documents, notifications, and messaging */
.cba-message-tabs{display:flex;gap:10px;margin:0 0 18px;flex-wrap:wrap}
.cba-message-tabs a{display:inline-flex;align-items:center;padding:10px 14px;border:1px solid var(--cba-border,#d9d3c4);border-radius:10px;background:#fff;color:var(--cba-green,#173f32);font-weight:700;text-decoration:none}
.cba-message-tabs a.is-active{background:var(--cba-green,#173f32);color:#fff;border-color:var(--cba-green,#173f32)}
.cba-message-item{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--cba-border,#e5dfd0)}
.cba-message-item:last-child{border-bottom:0}
.cba-message-item span,.cba-message-item small{display:block;color:#6d6a61;margin-top:4px}
.cba-message-item p{margin:10px 0 0;white-space:normal}
.cba-task form{margin:0}

/* Role-specific dashboards & Family Portal 1.8 */
.cba-family-children{display:flex;gap:12px;flex-wrap:wrap;margin:-6px 0 20px}.cba-child-card{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid var(--cba-line);border-radius:15px;padding:12px 15px;box-shadow:var(--cba-shadow)}.cba-child-card strong,.cba-child-card small{display:block}.cba-child-card strong{color:var(--cba-green)}.cba-child-card small{font-size:11px;color:var(--cba-muted);margin-top:3px}.cba-report-grade{font:700 32px Georgia,serif;color:var(--cba-green)}.cba-family-report{margin-bottom:16px}.cba-family-report p{line-height:1.65}.cba-help-text{font-size:12px;color:var(--cba-muted);line-height:1.55}.cba-family-announcement{padding:16px 0;border-top:1px solid var(--cba-line)}.cba-family-announcement:first-of-type{border-top:0}.cba-family-announcement strong,.cba-family-announcement small{display:block}.cba-family-announcement strong{color:var(--cba-green);font-size:15px}.cba-family-announcement small{color:var(--cba-muted);font-size:11px;margin-top:4px}.cba-family-announcement p{font-size:13px;line-height:1.6;margin:9px 0 0}


/* 1.10 Find It Fast */
.cba-find-fast{position:relative}
.cba-search-results{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:80;background:#fffdf6;border:1px solid rgba(182,145,58,.38);border-radius:14px;box-shadow:0 18px 45px rgba(20,55,43,.16);max-height:440px;overflow:auto;padding:7px}
.cba-search-result{display:grid;grid-template-columns:76px 1fr auto;gap:10px;align-items:center;text-decoration:none;color:#173b30;padding:10px 11px;border-radius:10px}
.cba-search-result:hover,.cba-search-result:focus{background:#f4eddc;outline:none}
.cba-search-result strong{display:block}.cba-search-result small{display:block;color:#66766f;margin-top:2px}.cba-search-result b{font-size:22px;color:#a98431}
.cba-search-type{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#806623;background:#f3e8c9;border-radius:999px;padding:5px 7px;text-align:center}
.cba-search-empty{padding:15px;color:#66766f}
@media(max-width:720px){.cba-search-result{grid-template-columns:64px 1fr auto}.cba-search-results{position:fixed;left:12px;right:12px;top:70px;max-height:60vh}}

/* 1.13.0 Tasks & Workflow */
.cba-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.cba-tabs a{display:inline-flex;align-items:center;padding:9px 14px;border:1px solid var(--cba-border,#d8d1bd);border-radius:999px;background:#fff;color:var(--cba-green,#173f35);text-decoration:none;font-weight:700}.cba-tabs a.is-active{background:var(--cba-green,#173f35);color:var(--cba-cream,#fbf6e8);border-color:var(--cba-green,#173f35)}
.cba-task-status-form{margin:0}.cba-task-status-form select{min-width:125px;max-width:150px;padding:7px 9px;border:1px solid var(--cba-border,#d8d1bd);border-radius:8px;background:#fff}


/* 1.14.0 Needs Attention / Action Center */
.cba-attention-card{padding:0;overflow:hidden}.cba-attention-card>.cba-kicker,.cba-attention-card>h2{margin-left:22px;margin-right:22px}.cba-attention-card>.cba-kicker{margin-top:22px}.cba-attention-list{border-top:1px solid var(--cba-line)}
.cba-attention-row{display:grid;grid-template-columns:12px 1fr auto;gap:14px;align-items:center;padding:16px 22px;border-bottom:1px solid var(--cba-line);text-decoration:none;color:var(--cba-ink);background:#fff}.cba-attention-row:last-child{border-bottom:0}.cba-attention-row:hover{background:var(--cba-cream-2)}
.cba-attention-dot{width:10px;height:10px;border-radius:50%;background:var(--cba-gold)}.cba-attention-urgent .cba-attention-dot{background:#a53d33}.cba-attention-high .cba-attention-dot{background:#b98222}.cba-attention-normal .cba-attention-dot{background:var(--cba-green-2)}
.cba-attention-copy strong,.cba-attention-copy small{display:block}.cba-attention-copy strong{color:var(--cba-green);font-size:14px;margin-top:4px}.cba-attention-copy small{color:var(--cba-muted);font-size:12px;margin-top:3px}.cba-attention-meta{display:flex;gap:8px;align-items:center}.cba-attention-meta em,.cba-attention-meta b{font-style:normal;font-size:10px;text-transform:uppercase;letter-spacing:.07em}.cba-attention-meta em{color:var(--cba-gold);font-weight:800}.cba-attention-meta b{color:var(--cba-muted);font-weight:700}.cba-attention-open{color:var(--cba-green);font-weight:800;font-size:12px;white-space:nowrap}.cba-view-all{padding:12px 0 0}
@media(max-width:700px){.cba-attention-row{grid-template-columns:10px 1fr}.cba-attention-open{grid-column:2;margin-top:2px}}

/* 1.15.0 Student / Family profile experience */
.cba-profile-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg,#f8f3e6 0%,#fffdf8 62%,#f2ead2 100%);border:1px solid rgba(181,145,56,.35);border-radius:22px;padding:24px 26px;margin:0 0 20px;box-shadow:0 10px 28px rgba(31,75,55,.06)}
.cba-profile-identity{display:flex;align-items:center;gap:18px;min-width:0}.cba-profile-identity h2{margin:2px 0 5px;color:#1f4b37;font-size:28px;line-height:1.05}.cba-profile-identity p{margin:0 0 8px;color:#5e655f}.cba-profile-avatar{width:66px;height:66px;border-radius:18px;display:grid;place-items:center;background:#1f4b37;color:#f7efd9;border:2px solid #b59138;font-size:22px;font-weight:800;letter-spacing:.04em;flex:0 0 auto}.cba-profile-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.cba-profile-stats{margin-bottom:20px}
.cba-attention-card{border-left:5px solid #b59138}.cba-alert-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:12px}.cba-alert-strip>div{background:#fffaf0;border:1px solid #ead9ad;border-radius:14px;padding:14px}.cba-alert-strip strong{display:block;color:#6b4e12;margin-bottom:5px}.cba-alert-strip span{display:block;color:#514f48;line-height:1.45}
.cba-mini-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:14px 0}.cba-mini-metrics>div{background:#f7f4eb;border:1px solid #e8e0cc;border-radius:12px;padding:11px 10px;text-align:center}.cba-mini-metrics strong{display:block;color:#1f4b37;font-size:20px}.cba-mini-metrics span{display:block;color:#716f66;font-size:12px;margin-top:2px}.cba-compact-list{display:grid;gap:8px;margin:12px 0}.cba-compact-list>div{display:grid;grid-template-columns:minmax(90px,.65fr) minmax(180px,1.5fr) minmax(120px,1fr);gap:12px;align-items:center;padding:11px 12px;background:#fbfaf5;border:1px solid #ece5d3;border-radius:12px}.cba-compact-list strong{color:#263c31}.cba-compact-list small{color:#77766e}.cba-compact-list .cba-status{justify-self:start}
@media(max-width:850px){.cba-profile-hero{align-items:flex-start;flex-direction:column}.cba-profile-actions{justify-content:flex-start}.cba-mini-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.cba-compact-list>div{grid-template-columns:1fr;gap:4px}}


/* 1.16.0 Staff profile & role workspace refinement */
.cba-staff-profile-hero{background:linear-gradient(135deg,#f7f0db 0%,#fffdf7 58%,#e9f0e9 100%)}
.cba-account-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 16px;background:#faf7ee;border:1px solid #e6ddc5;border-radius:14px}.cba-account-summary strong,.cba-account-summary span{display:block}.cba-account-summary strong{color:var(--cba-green);font-size:15px}.cba-account-summary span{color:var(--cba-muted);font-size:12px;margin-top:3px}
@media(max-width:700px){.cba-account-summary{align-items:flex-start;flex-direction:column}}

/* 1.17.0 Teacher Experience refinement */
.cba-teacher-class{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid var(--cba-line)}.cba-teacher-class:first-child{border-top:0}.cba-teacher-class>div:first-child strong,.cba-teacher-class>div:first-child span{display:block}.cba-teacher-class>div:first-child strong{color:var(--cba-green);font-size:15px}.cba-teacher-class>div:first-child span{color:var(--cba-muted);font-size:12px;margin-top:4px}.cba-teacher-class .cba-inline-actions{justify-content:flex-end;flex-wrap:wrap}.cba-teacher-workflow{margin-top:18px}.cba-teacher-workflow .cba-quick-grid a{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:8px}.cba-teacher-workflow .cba-quick-grid a strong{color:inherit}.cba-teacher-workflow .cba-quick-grid a small{grid-column:1;color:var(--cba-muted);font-size:11px;font-weight:500}.cba-teacher-workflow .cba-quick-grid a span{grid-column:2;grid-row:1 / span 2;align-self:center}
@media(max-width:760px){.cba-teacher-class{align-items:flex-start;flex-direction:column}.cba-teacher-class .cba-inline-actions{justify-content:flex-start}}

/* 1.18 Office Operations refinement */
.cba-office-workload{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}
.cba-office-workload>div{border:1px solid var(--cba-border);background:var(--cba-cream,#fbf7ea);border-radius:16px;padding:18px}
.cba-office-workload strong{display:block;font-size:30px;line-height:1;color:var(--cba-green,#173f32);margin-bottom:7px}
.cba-office-workload span{font-size:13px;color:var(--cba-muted,#67736d)}
@media(max-width:720px){.cba-office-workload{grid-template-columns:1fr}}


/* 1.19 Leadership / Dean dashboard */
.cba-leadership-queue{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.cba-leadership-queue a{display:flex;gap:12px;align-items:center;padding:14px 16px;border:1px solid var(--cba-border);border-radius:14px;background:var(--cba-cream,#fbf7ed);text-decoration:none;color:inherit}.cba-leadership-queue a:hover{border-color:var(--cba-gold,#b89a4b);transform:translateY(-1px)}.cba-leadership-queue strong{min-width:38px;font-size:24px;color:var(--cba-green,#173f35)}.cba-leadership-queue span{font-size:14px;line-height:1.35}@media(max-width:780px){.cba-leadership-queue{grid-template-columns:1fr}}

/* 1.21 relationship-driven workspace switching */
.cba-workspace-switcher{margin:0 14px 14px;padding:12px;border:1px solid rgba(207,175,92,.35);border-radius:12px;background:rgba(255,248,225,.08)}
.cba-workspace-switcher>span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#d7c17d;margin-bottom:8px;font-weight:700}
.cba-workspace-switch-list{display:grid;gap:6px}.cba-workspace-switch-list a{display:block;padding:8px 10px;border-radius:8px;color:#f8f0d8;text-decoration:none;font-size:13px;line-height:1.2;background:rgba(255,255,255,.04)}
.cba-workspace-switch-list a:hover,.cba-workspace-switch-list a.is-current{background:#c9a64b;color:#173e35}

/* 1.22.0 — Role & Navigation Audit */
.cba-nav-section{
    margin:18px 14px 6px;
    padding:0 8px;
    color:#c8aa62;
    font-size:11px;
    font-weight:800;
    letter-spacing:.11em;
    text-transform:uppercase;
}
.cba-nav-section:first-child{margin-top:8px}
.cba-nav a + .cba-nav-section{margin-top:20px}
@media (max-width: 820px){
    .cba-nav-section{margin-left:12px;margin-right:12px}
}

/* 1.23.0 — Phase 1 screen/action audit */
.cba-notice{line-height:1.55}

/* Staff onboarding readiness */
.cba-check-list{display:grid;gap:10px;margin-top:14px}.cba-check-list>div{display:grid;gap:3px;padding:12px 14px;border:1px solid rgba(31,79,63,.18);border-radius:12px;background:#fffdf7}.cba-check-list>div strong{color:#1f4f3f}.cba-check-list>div span{font-size:.9rem;color:#5e655f}.cba-check-list>div.needs-attention{border-color:rgba(174,136,43,.42);background:#fff9e8}.cba-check-list>div.needs-attention strong{color:#7f651f}

/* 1.30.3 Family upload action visibility */
.cba-family-upload-action{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:14px 0 22px;padding:16px;border:1px solid var(--cba-line);border-radius:12px;background:var(--cba-cream-2)}.cba-family-upload-action .cba-btn{min-width:190px}.cba-family-upload-action small{color:var(--cba-muted);font-size:12px}.cba-family-upload-form input[type=file]{padding:14px;background:#fff}

/* 1.31.0 — school-wide daily operations */
.cba-school-attendance-toolbar .cba-attendance-filters{display:grid;grid-template-columns:minmax(140px,.7fr) minmax(220px,1.5fr) repeat(3,minmax(150px,.8fr)) auto;gap:12px;align-items:end}
.cba-school-attendance-toolbar .cba-attendance-filters label{display:flex;flex-direction:column;gap:6px}
.cba-school-attendance-toolbar .cba-attendance-filters label>span{font-size:12px;font-weight:700;color:var(--cba-muted,#66756f);text-transform:uppercase;letter-spacing:.04em}
.cba-school-attendance-table td,.cba-school-attendance-table th{vertical-align:middle}
.cba-school-attendance-table select{min-width:140px}
@media (max-width:1100px){.cba-school-attendance-toolbar .cba-attendance-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.cba-school-attendance-toolbar .cba-attendance-filters{grid-template-columns:1fr}.cba-school-attendance-table{min-width:900px}}

/* 1.32.0 school roster */
.cba-filter-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:14px}.cba-filter-grid label{display:flex;flex-direction:column;gap:6px}.cba-filter-grid label span{font-size:12px;font-weight:700;color:#4e6259}.cba-filter-grid input,.cba-filter-grid select{width:100%}@media(max-width:900px){.cba-filter-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.cba-filter-grid{grid-template-columns:1fr}}

.cba-grade-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin-top:8px}.cba-danger-zone-stack{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.5fr) minmax(220px,1fr) auto;gap:14px;align-items:end}.cba-danger-zone-stack label{display:flex;flex-direction:column;gap:6px}.cba-danger-zone-stack select,.cba-danger-zone-stack textarea{width:100%}@media(max-width:900px){.cba-danger-zone-stack{grid-template-columns:1fr}}


/* 1.46.0 — Homeroom Management repair */
.cba-homeroom-help{margin-bottom:18px}.cba-homeroom-help p{max-width:850px;margin-bottom:0;color:var(--cba-muted,#67736d);line-height:1.55}
.cba-homeroom-stack{display:grid;gap:20px}.cba-homeroom-card{overflow:hidden}.cba-homeroom-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--cba-line,#e5dfd0)}.cba-homeroom-card-head h2{margin:3px 0 5px}.cba-homeroom-card-head p{margin:0;color:var(--cba-muted,#67736d)}
.cba-homeroom-settings{padding:18px 0;border-bottom:1px solid var(--cba-line,#e5dfd0)}.cba-homeroom-settings-grid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(420px,1.4fr);gap:24px;align-items:start}.cba-homeroom-settings label>span,.cba-homeroom-grade-field legend{display:block;font-size:12px;font-weight:800;color:var(--cba-green,#173f32);margin-bottom:7px}.cba-homeroom-settings select{width:100%;min-height:44px}.cba-homeroom-grade-field{border:0;padding:0;margin:0}.cba-homeroom-grade-grid{display:grid;grid-template-columns:repeat(7,minmax(52px,1fr));gap:7px}.cba-homeroom-grade-grid label{display:flex;align-items:center;justify-content:center;gap:5px;min-height:40px;border:1px solid var(--cba-line,#ded7c5);border-radius:9px;background:#fff;padding:7px;cursor:pointer}.cba-homeroom-grade-grid input{width:auto;margin:0}.cba-homeroom-grade-grid label.is-selected{border-color:var(--cba-gold,#b59138);background:#fff8e6}.cba-homeroom-settings-actions{display:flex;justify-content:flex-end;margin-top:14px}
.cba-homeroom-roster-head{display:flex;align-items:end;justify-content:space-between;gap:18px;padding:18px 0 12px}.cba-homeroom-roster-head h3{margin:0 0 3px}.cba-homeroom-roster-head p{margin:0;color:var(--cba-muted,#67736d);font-size:12px}.cba-homeroom-add,.cba-homeroom-row-action{display:flex;align-items:center;gap:8px}.cba-homeroom-add select{min-width:260px}.cba-homeroom-row-action select{min-width:220px}.cba-homeroom-table td{vertical-align:middle}.cba-cell-sub{display:block;color:var(--cba-muted,#67736d);font-size:11px;margin-top:3px}.cba-notice-error{border-left:5px solid #9d3a32;background:#fff3f1}.cba-notice-success{border-left:5px solid #2e6b4d;background:#f3fbf6}
@media(max-width:1000px){.cba-homeroom-settings-grid{grid-template-columns:1fr}.cba-homeroom-grade-grid{grid-template-columns:repeat(5,minmax(48px,1fr))}.cba-homeroom-roster-head{align-items:flex-start;flex-direction:column}.cba-homeroom-add{width:100%}.cba-homeroom-add select{min-width:0;flex:1}}
@media(max-width:720px){.cba-homeroom-grade-grid{grid-template-columns:repeat(3,minmax(48px,1fr))}.cba-homeroom-row-action,.cba-homeroom-add{align-items:stretch;flex-direction:column}.cba-homeroom-row-action select,.cba-homeroom-add select{min-width:0;width:100%}.cba-homeroom-row-action .cba-btn,.cba-homeroom-add .cba-btn{width:100%}.cba-homeroom-table{min-width:760px}}

/* 1.48.0 student-specific family/contact safety */
.cba-student-contacts-card .cba-student-contact-grid{margin-top:18px}
.cba-student-contact-editor{margin-top:20px;padding-top:18px;border-top:1px solid var(--cba-border,#ddd)}
.cba-student-contact-editor>div{margin-bottom:12px}
.cba-student-contact-editor>div span{display:block;margin-top:3px;color:var(--cba-muted,#667085)}
.cba-student-contact-editor form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end}
.cba-student-contact-editor form>label{display:flex;flex-direction:column;gap:6px}
.cba-student-contact-editor textarea,.cba-student-contact-editor select,.cba-student-contact-editor input[type=text]{width:100%}
.cba-contact-permission-checks{display:flex;gap:14px;flex-wrap:wrap;align-items:center;padding:10px 0}
.cba-contact-remove-form{margin-top:10px}
.cba-button-link{background:none;border:0;padding:0;cursor:pointer;font:inherit}
@media(max-width:760px){.cba-student-contact-editor form{grid-template-columns:1fr}}


/* 1.49.0 Guardian directory */
.cba-account-summary{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}
.cba-account-summary>div:first-child{display:flex;flex-direction:column;gap:3px}
.cba-account-summary span{color:var(--cba-muted)}
@media (max-width:760px){.cba-account-summary{align-items:flex-start}.cba-table td .cba-record-link small{display:block;margin-top:3px}}

/* 1.50.0 Attendance notices */
.cba-attendance-notice-card{margin-bottom:18px}.cba-attendance-notice-card .cba-form-card{margin-top:18px;padding:18px;background:var(--cba-cream,#fbf8ef);border-radius:14px}.cba-task small{display:block;margin-top:5px;color:#5e665f}

/* 1.54.0 Staff access + direct cleanup */
.cba-workspace-access-form{min-width:330px}.cba-workspace-check-grid{display:grid;grid-template-columns:repeat(2,minmax(140px,1fr));gap:7px 12px;margin-bottom:10px}.cba-workspace-check-grid .cba-check{margin:0;font-size:12px}.cba-danger-zone-stack{display:grid;gap:10px}.cba-danger-zone-stack label{display:grid;gap:5px}.cba-danger-zone-stack select,.cba-danger-zone-stack input,.cba-danger-zone-stack textarea{width:100%;border:1px solid var(--cba-line);border-radius:10px;padding:10px;background:#fff}@media(max-width:800px){.cba-workspace-check-grid{grid-template-columns:1fr}.cba-workspace-access-form{min-width:240px}}


/* 1.59.0 — Complete Office Operations finish layer */
body.cba-platform-shell{background:#f7f2e8}
.cba-find-fast{max-width:none;min-width:240px;box-shadow:0 2px 10px rgba(23,63,53,.04)}
.cba-top-actions{white-space:nowrap}.cba-top-actions a{padding:8px 10px;border-radius:9px}.cba-top-actions a:hover,.cba-top-actions a:focus-visible{background:var(--cba-green-3);outline:none}
.cba-nav{padding-bottom:18px}.cba-nav a{min-height:42px}.cba-nav a:focus-visible,.cba-btn:focus-visible,.cba-mini-action:focus-visible,.cba-text-link:focus-visible{outline:3px solid var(--cba-gold-2);outline-offset:2px}
.cba-content{padding-top:30px}.cba-page-header{align-items:flex-start}.cba-page-header>div:first-child{max-width:900px}.cba-page-header p{line-height:1.55}
.cba-card{padding:22px}.cba-card h2{color:var(--cba-green);margin-top:5px}.cba-card p{line-height:1.55}
.cba-table-wrap{border-radius:14px;border:1px solid var(--cba-line);overflow:auto}.cba-table{margin:0}.cba-table th{position:sticky;top:0;background:#f5efe2;z-index:1}.cba-table tr:hover td{background:#fffdf8}
.cba-btn,.cba-mini-action{font-weight:750}.cba-btn-primary{background:var(--cba-green);color:#fff;border-color:var(--cba-green)}.cba-btn-primary:hover{background:var(--cba-green-2);color:#fff}.cba-btn-secondary{background:#fff;color:var(--cba-green);border:1px solid #b8c8c0}.cba-btn-secondary:hover{background:var(--cba-green-3);color:var(--cba-green)}
.cba-system-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:20px}.cba-system-check-card{display:flex;flex-direction:column;align-items:flex-start}.cba-system-check-card p{flex:1;color:var(--cba-muted)}.cba-system-note{border-left:5px solid var(--cba-gold)}
.cba-empty-state{border:1px dashed #cfc4ad;border-radius:14px;background:#fffdf8;padding:20px}.cba-empty-state strong,.cba-empty-state span{display:block}.cba-empty-state span{margin-top:4px;color:var(--cba-muted)}
@media(max-width:1100px){.cba-system-check-grid{grid-template-columns:1fr}.cba-top-actions a{padding:7px 6px}}
@media(max-width:820px){.cba-topbar{height:auto;min-height:68px;padding:12px 16px;flex-wrap:wrap}.cba-find-fast{order:2;flex-basis:100%;width:100%}.cba-top-actions{margin-left:auto}.cba-content{padding:22px 16px}.cba-page-header{flex-direction:column}.cba-page-header h1{font-size:30px}}
@media(max-width:560px){.cba-top-actions{gap:2px;font-size:12px}.cba-top-actions a{padding:6px 5px}.cba-card{padding:18px}.cba-stat-grid,.cba-grid-2,.cba-grid-3{grid-template-columns:1fr}}

/* v1.59.2 — Office Coverage & Substitutes */
.cba-coverage-board{display:grid;gap:16px}.cba-coverage-item{margin:0}.cba-coverage-item h3{margin:.2rem 0}.cba-coverage-item .cba-note-box{margin:12px 0}.cba-coverage-item .cba-form-card{margin-top:14px}@media (max-width:720px){.cba-coverage-item .cba-card-head{align-items:flex-start}.cba-coverage-item .cba-form-actions .cba-btn{width:100%}}

/* v1.59.3 — simplified, fail-safe Coverage & Substitutes */
.cba-coverage-simple-head{display:flex;align-items:end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.cba-coverage-simple-head .cba-inline-filter{margin:0}.cba-coverage-head-actions{display:flex;gap:10px;flex-wrap:wrap}
.cba-coverage-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.cba-coverage-section{margin-top:22px}.cba-section-heading{margin:0 0 10px}.cba-section-heading h2{margin:.15rem 0 0}
.cba-coverage-simple-item{padding:20px}.cba-coverage-simple-item .cba-card-head{margin-bottom:12px}.cba-current-coverage{padding:10px 12px;border-radius:10px;background:rgba(35,95,70,.08);margin-bottom:12px}
.cba-coverage-assign-form{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1.3fr) auto;gap:12px;align-items:end;margin-top:12px}.cba-coverage-assign-form .cba-form-actions{margin:0}.cba-coverage-assign-form .cba-btn{white-space:nowrap}
.cba-success-card{border-left:4px solid #3f7d5c}.cba-coverage-regular{margin-top:22px}.cba-coverage-regular summary{cursor:pointer}.cba-coverage-regular .cba-simple-list{margin-top:14px}.cba-simple-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-top:1px solid rgba(28,45,39,.10)}.cba-simple-row span{display:block;margin-top:3px;font-size:.92rem;opacity:.75}.cba-tech-detail{margin-top:16px}.cba-tech-detail code{display:block;white-space:pre-wrap;margin-top:8px;padding:10px;border-radius:8px;background:rgba(0,0,0,.05)}
@media (max-width:900px){.cba-coverage-assign-form{grid-template-columns:1fr}.cba-coverage-assign-form .cba-form-actions,.cba-coverage-assign-form .cba-btn{width:100%}}
@media (max-width:720px){.cba-coverage-stats{grid-template-columns:1fr}.cba-coverage-simple-head,.cba-simple-row{align-items:stretch;flex-direction:column}.cba-coverage-head-actions,.cba-coverage-head-actions .cba-btn{width:100%}}

/* v1.59.4 migration-safe CBA sign-in */
.cba-login-form{display:grid;gap:14px;margin:22px 0 12px;text-align:left}.cba-login-form label{display:grid;gap:6px;font-weight:700}.cba-login-form input[type=text],.cba-login-form input[type=password]{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#172033;font:inherit}.cba-login-form .cba-btn{width:100%;justify-content:center}.cba-login-help{text-align:center;margin:10px 0}.cba-notice-error{border-color:#b91c1c!important}


/* v1.61.0 — portal management + multi-workspace switching */
.cba-portal-switch{position:relative}
.cba-portal-switch summary{list-style:none;cursor:pointer;padding:8px 10px;border-radius:9px;font-weight:750;color:var(--cba-green);white-space:nowrap}
.cba-portal-switch summary::-webkit-details-marker{display:none}
.cba-portal-switch summary::after{content:" ▾";font-size:.8em}
.cba-portal-switch[open] summary,.cba-portal-switch summary:hover,.cba-portal-switch summary:focus-visible{background:var(--cba-green-3);outline:none}
.cba-portal-switch summary:focus-visible{outline:3px solid var(--cba-gold-2);outline-offset:2px}
.cba-portal-switch-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:1000;min-width:260px;padding:10px;background:#fff;border:1px solid var(--cba-line);border-radius:12px;box-shadow:0 14px 34px rgba(23,63,53,.18)}
.cba-portal-switch-menu>strong{display:block;padding:7px 9px 9px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--cba-muted)}
.cba-portal-switch-menu a{display:flex!important;align-items:center;justify-content:space-between;gap:16px;padding:10px!important;border-radius:8px;color:var(--cba-green)!important;text-decoration:none}
.cba-portal-switch-menu a:hover,.cba-portal-switch-menu a:focus-visible{background:var(--cba-green-3)!important}
.cba-portal-switch-menu a.is-current{background:#f5efe2;font-weight:800}
.cba-portal-switch-menu a span{font-size:11px;color:var(--cba-muted);font-weight:700}
@media(max-width:820px){.cba-portal-switch-menu{position:fixed;left:16px;right:16px;top:72px;min-width:0}.cba-portal-switch summary{padding:7px 6px}}

/* Family Task Force completion v1.65.0 */
.cba-platform-shell .cba-module-card .cba-mini-action{display:inline-flex;margin-top:8px;margin-right:6px}.cba-platform-shell .cba-card .cba-toolbar{margin-top:16px}.cba-platform-shell .cba-card .cba-inline-actions{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}


/* v1.66.0 — platform-wide aesthetics + usability finish */
:root{
  --cba-bg:#f6f2e8;
  --cba-surface:#ffffff;
  --cba-surface-soft:#fbf8f0;
  --cba-border:#ddd5c2;
  --cba-border-strong:#c9bea4;
  --cba-text:#21312b;
  --cba-text-soft:#68736e;
  --cba-focus:#d3ad4d;
  --cba-radius-sm:10px;
  --cba-radius:14px;
  --cba-radius-lg:20px;
  --cba-shadow-soft:0 8px 24px rgba(23,63,53,.055);
  --cba-shadow-float:0 18px 45px rgba(23,63,53,.13);
}
html{scroll-behavior:smooth}
body.cba-platform-shell{background:var(--cba-bg);color:var(--cba-text);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a,button,input,select,textarea,summary{font:inherit}
button,input,select,textarea{accent-color:var(--cba-green)}
::selection{background:#e8d8a8;color:#173f35}
.cba-skip-link{position:fixed;left:16px;top:-80px;z-index:9999;background:#fff;color:var(--cba-green);padding:10px 14px;border-radius:10px;box-shadow:var(--cba-shadow-float);font-weight:800;text-decoration:none}.cba-skip-link:focus{top:14px}

/* Shell */
.cba-app{grid-template-columns:270px minmax(0,1fr)}
.cba-sidebar{padding:20px 14px 18px;background:linear-gradient(180deg,#173f35 0%,#12352d 100%);box-shadow:8px 0 28px rgba(15,45,37,.08)}
.cba-brand{gap:11px;padding:4px 8px 18px}.cba-brand-mark{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.035)}.cba-brand strong{font-size:16px;letter-spacing:-.01em}.cba-brand span{font-size:10.5px;letter-spacing:.02em}
.cba-workspace-label{margin:16px 10px 9px;font-size:10px;letter-spacing:.14em}
.cba-nav{gap:2px;padding:0 2px 20px}.cba-nav a{min-height:40px;padding:9px 11px;border-radius:9px;font-size:13.5px;font-weight:650;transition:background .15s,color .15s,transform .15s}.cba-nav a:hover{background:rgba(255,255,255,.09);transform:translateX(1px)}.cba-nav a.is-active{background:#fff;color:var(--cba-green);box-shadow:0 6px 16px rgba(0,0,0,.12)}.cba-nav a.is-active .cba-nav-icon{color:#9b7a2c}.cba-nav-icon{width:18px;font-size:13px}
.cba-nav-section{margin:17px 10px 6px;padding:0 8px;color:#cfb773;font-size:9.5px;letter-spacing:.13em}
.cba-workspace-switcher{margin:0 8px 12px;padding:10px;border-radius:10px}.cba-workspace-switch-list{gap:4px}.cba-workspace-switch-list a{padding:7px 8px;font-size:12px}
.cba-sidebar-footer{padding:14px 8px 0}.cba-user-mini{margin-bottom:10px}.cba-avatar{width:34px;height:34px;font-size:13px}.cba-user-mini strong{font-size:12.5px}.cba-user-mini small{font-size:10.5px}

.cba-topbar{height:68px;padding:0 28px;background:rgba(250,247,238,.94);border-bottom:1px solid rgba(201,190,164,.7);box-shadow:0 2px 12px rgba(23,63,53,.035)}
.cba-find-fast{height:42px;border-color:#d8cfbb;border-radius:12px;background:#fff;box-shadow:none;transition:border-color .15s,box-shadow .15s}.cba-find-fast:focus-within{border-color:#b89a57;box-shadow:0 0 0 3px rgba(184,154,87,.14)}.cba-find-fast input{font-size:13.5px}.cba-search-icon{color:#8a8170;font-size:17px}
.cba-top-actions{gap:5px;font-size:12.5px}.cba-top-actions>a,.cba-portal-switch summary{padding:7px 9px;border-radius:8px}.cba-top-actions>a:hover,.cba-portal-switch summary:hover{background:#eee7d7}
.cba-portal-switch-menu{border-radius:14px;box-shadow:var(--cba-shadow-float)}

/* Page rhythm */
.cba-content{max-width:1440px;padding:30px 34px 48px}
.cba-page-header{align-items:flex-start;margin-bottom:22px}.cba-page-header h1{font-size:32px;letter-spacing:-.025em;margin:5px 0 6px}.cba-page-header p{max-width:800px;color:var(--cba-text-soft);line-height:1.55}.cba-eyebrow,.cba-kicker{font-size:10px;letter-spacing:.13em}
.cba-header-actions{gap:8px}.cba-header-actions .cba-btn{min-height:40px}

/* Surfaces and cards */
.cba-card,.cba-stat-card,.cba-module-card,.cba-table-wrap{border-color:var(--cba-border);box-shadow:var(--cba-shadow-soft)}
.cba-card,.cba-module-card{border-radius:16px}.cba-card{padding:20px}.cba-card h2{font-size:20px;letter-spacing:-.01em;margin:3px 0 15px}.cba-module-card{padding:18px}.cba-module-card h3{font-size:18px}.cba-module-card p{min-height:0;line-height:1.5}
.cba-stat-grid,.cba-grid-3{gap:13px;margin-bottom:18px}.cba-stat-card{padding:17px 18px;border-radius:15px}.cba-stat-card strong{font-size:27px;letter-spacing:-.02em}.cba-stat-card span{font-size:12px}
.cba-grid-2{gap:18px}.cba-module-grid{gap:14px}
.cba-quick-grid{gap:9px}.cba-quick-grid a{min-height:48px;padding:12px 13px;border-radius:11px;background:#fff}.cba-quick-grid a:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(23,63,53,.06)}

/* Buttons / links */
.cba-btn{min-height:40px;padding:9px 14px;border-radius:10px;font-size:13px;line-height:1.2;transition:transform .12s,box-shadow .12s,background .12s,border-color .12s}.cba-btn:hover{transform:translateY(-1px)}.cba-btn:active{transform:none}.cba-btn-primary{box-shadow:0 5px 12px rgba(23,63,53,.12)}.cba-btn-secondary{border-color:#c8bfaa}.cba-btn-danger{background:#7b3434}.cba-mini-action{min-height:34px;display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border-radius:8px}
.cba-text-link{text-underline-offset:3px}.cba-text-link:hover{text-decoration:underline}

/* Forms */
.cba-form-card{padding:22px}.cba-form-grid{gap:14px 16px}
.cba-platform-shell input[type=text],.cba-platform-shell input[type=email],.cba-platform-shell input[type=password],.cba-platform-shell input[type=number],.cba-platform-shell input[type=date],.cba-platform-shell input[type=time],.cba-platform-shell input[type=search],.cba-platform-shell input[type=url],.cba-platform-shell select,.cba-platform-shell textarea{border:1px solid #cfc6b3;border-radius:9px;background:#fff;color:var(--cba-text);min-height:40px;padding:9px 11px;box-shadow:0 1px 2px rgba(23,63,53,.025);transition:border-color .15s,box-shadow .15s;background-color .15s}
.cba-platform-shell textarea{min-height:96px;line-height:1.5;resize:vertical}.cba-platform-shell input:focus,.cba-platform-shell select:focus,.cba-platform-shell textarea:focus{outline:none;border-color:#b5964d;box-shadow:0 0 0 3px rgba(184,154,87,.14)}
.cba-platform-shell label{color:#33453e}.cba-platform-shell label>span:first-child{font-weight:700}.cba-help-text{color:#737d78}
.cba-check,.cba-inline-check{min-height:28px}

/* Tables */
.cba-table-wrap{border-radius:14px;background:#fff}.cba-table th,.cba-table td{padding:13px 15px}.cba-table th{top:0;background:#f4efe4;color:#4b5b54;font-size:10px;letter-spacing:.085em}.cba-table td{font-size:12.75px;vertical-align:middle}.cba-table tbody tr{transition:background .12s}.cba-table tbody tr:hover td{background:#fcfaf5}.cba-record-link strong{font-size:13.5px}.cba-record-link small{font-size:10.5px}
.cba-status{padding:4px 8px;font-size:10px;letter-spacing:.015em}

/* Notices / empty states */
.cba-notice{margin:0 0 16px;border-radius:11px;background:#fff;padding:12px 14px;box-shadow:0 3px 10px rgba(23,63,53,.025)}.cba-empty-state{padding:22px;border-radius:14px;background:#fcfaf5}.cba-empty-state strong{font-size:14px}.cba-empty-state span{font-size:12.5px;line-height:1.5}

/* Search */
.cba-search-results{border-color:#d6c9a8;background:#fff;border-radius:12px;box-shadow:var(--cba-shadow-float);padding:6px}.cba-search-result{padding:9px 10px;border-radius:8px}.cba-search-result:hover,.cba-search-result:focus{background:#f5f0e4}.cba-search-type{font-size:9.5px;padding:4px 6px}.cba-search-result strong{font-size:12.75px}.cba-search-result small{font-size:10.5px}

/* Focus and keyboard */
.cba-platform-shell a:focus-visible,.cba-platform-shell button:focus-visible,.cba-platform-shell summary:focus-visible{outline:3px solid var(--cba-focus)!important;outline-offset:2px}

/* Login */
.cba-login-screen{background:radial-gradient(circle at 20% 0%,#285b4d 0%,#173f35 38%,#0f2e27 100%)}.cba-login-card{border:1px solid rgba(216,195,140,.45);padding:38px;border-radius:22px}.cba-login-card h1{font-size:29px;letter-spacing:-.02em}.cba-login-card>p{font-size:13px}.cba-login-form{gap:12px}.cba-login-form label{font-size:12.5px}.cba-login-help{font-size:12px}

/* Mobile */
.cba-mobile-overlay{display:none}
@media(max-width:1050px){.cba-app{grid-template-columns:230px minmax(0,1fr)}.cba-content{padding-left:24px;padding-right:24px}}
@media(max-width:760px){
  body.cba-nav-open{overflow:hidden}.cba-app{display:block}.cba-sidebar{left:-292px;width:278px;box-shadow:none;transition:left .18s ease,box-shadow .18s ease}.cba-sidebar.is-open{left:0;box-shadow:14px 0 38px rgba(0,0,0,.24)}
  .cba-mobile-overlay{display:block;position:fixed;inset:0;background:rgba(12,28,24,.38);z-index:19;opacity:0;transition:opacity .18s}.cba-mobile-overlay.is-open{opacity:1}.cba-mobile-overlay[hidden]{display:none}
  .cba-mobile-menu{width:40px;height:40px;align-items:center;justify-content:center;border-radius:10px}.cba-mobile-menu:hover{background:#eee7d7}
  .cba-topbar{min-height:64px;padding:10px 12px;gap:9px}.cba-find-fast{height:40px}.cba-content{padding:22px 14px 42px}.cba-page-header{gap:12px;margin-bottom:18px}.cba-page-header h1{font-size:27px}.cba-page-header p{font-size:13.5px}.cba-card{padding:17px}.cba-card h2{font-size:18px}
  .cba-stat-card{padding:15px}.cba-stat-card strong{font-size:25px}.cba-btn{width:auto;min-height:42px}.cba-header-actions{width:100%}.cba-header-actions .cba-btn{flex:1 1 160px}.cba-table th,.cba-table td{padding:12px 13px}
}
@media(max-width:520px){.cba-content{padding-left:12px;padding-right:12px}.cba-page-header h1{font-size:25px}.cba-card,.cba-module-card{border-radius:14px}.cba-stat-grid,.cba-grid-2,.cba-grid-3,.cba-module-grid{gap:11px}.cba-header-actions{display:grid;grid-template-columns:1fr}.cba-header-actions .cba-btn{width:100%}.cba-top-actions{font-size:11px}.cba-top-actions>a{padding:6px 4px}.cba-portal-switch summary{padding:6px 4px}}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* v1.66.1 — keep portal switching out of the sidebar */
.cba-sidebar .cba-workspace-switcher{display:none!important}

/* v1.66.2 canonical portal-switch placement */
.cba-sidebar .cba-portal-switch,.cba-sidebar [class*="portal-switch"],.cba-sidebar .cba-workspace-switcher{display:none!important}
.cba-topbar .cba-portal-switch{display:block!important;position:relative!important;margin:0!important;float:none!important;inset:auto!important}
.cba-topbar .cba-portal-switch summary{display:flex;align-items:center;gap:7px;max-width:220px}
.cba-switch-current{font-weight:800;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cba-switch-cue{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--cba-muted);font-weight:700}
@media(max-width:900px){.cba-switch-cue{display:none}.cba-topbar .cba-portal-switch summary{max-width:150px}}

/* v1.67.0 Academic system */
.cba-report-goal{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,260px);gap:18px;align-items:end;padding:16px 0;border-bottom:1px solid #e8e0cc}.cba-report-goal:last-of-type{border-bottom:0}.cba-report-goal p{margin:5px 0 0;color:#655f54}.cba-year-subject{padding:18px 0;border-bottom:1px solid #e8e0cc}.cba-year-subject:last-child{border-bottom:0}.cba-year-subject small{display:block;color:#726b5c;margin-top:4px}.cba-goal-card .cba-field>span{font-weight:750;color:#214b3a}.cba-goal-card textarea{min-height:88px}.cba-goal-card .cba-form-grid{margin-top:12px}@media(max-width:760px){.cba-report-goal{grid-template-columns:1fr}}


/* v1.68.0 — bulk-first people management */
.cba-bulk-panel{display:grid;gap:16px;padding:16px 0 20px;border-bottom:1px solid var(--cba-border,#dfe5e1)}
.cba-selection-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0 14px}
.cba-selection-count{margin-left:auto;font-size:.9rem;color:var(--cba-muted,#59655f)}
.cba-bulk-actions{display:flex;align-items:end;gap:10px;flex-wrap:wrap}
.cba-bulk-actions label{display:grid;gap:5px;font-weight:600}
.cba-bulk-actions select{min-width:210px}
.cba-select-col{width:64px;text-align:center}
.cba-select-col+th{min-width:150px}
.cba-bulk-check{width:18px;height:18px;accent-color:currentColor}
.cba-bulk-form .cba-table tbody tr.is-selected td{background:rgba(28,79,66,.055)}
.cba-roster-tools{margin-top:0}
@media(max-width:760px){.cba-selection-count{width:100%;margin-left:0}.cba-bulk-actions{align-items:stretch}.cba-bulk-actions select,.cba-bulk-actions .cba-btn{width:100%}}

.cba-mode-switch{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}.cba-mode-switch .cba-btn{min-width:150px;text-align:center}


/* v1.68.5 — true multi-person access editing grid */
.cba-access-grid-wrap{margin-top:18px}
.cba-access-grid{min-width:1040px}
.cba-access-grid th,.cba-access-grid td{vertical-align:middle}
.cba-access-grid-role{min-width:112px;text-align:center!important;white-space:normal}
.cba-access-grid-cell{text-align:center!important}
.cba-grid-check{display:inline-grid;place-items:center;min-width:34px;min-height:34px;border:1px solid var(--cba-line);border-radius:10px;background:var(--cba-cream-2);cursor:pointer}
.cba-grid-check.is-selected{border-color:var(--cba-green);background:var(--cba-green-3)}
.cba-grid-check input{width:18px;height:18px;accent-color:var(--cba-green)}
.cba-sticky-save{position:sticky;bottom:12px;z-index:8;margin-top:18px;padding:14px 16px;border:1px solid var(--cba-line);border-radius:14px;background:rgba(255,255,255,.97);box-shadow:0 8px 24px rgba(24,55,45,.14);display:flex;justify-content:space-between;align-items:center;gap:16px}
.cba-sticky-save small{color:var(--cba-muted)}
@media(max-width:760px){.cba-sticky-save{align-items:stretch;flex-direction:column}.cba-sticky-save .cba-btn{width:100%}}


/* v1.68.7 — Staff Access clean responsive layout */
.cba-runtime-signature{display:none!important}
.cba-access-mode-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 18px}
.cba-access-mode{display:flex;flex-direction:column;gap:3px;padding:14px 16px;border:1px solid var(--cba-line);border-radius:14px;background:#fff;color:inherit;text-decoration:none}
.cba-access-mode:hover,.cba-access-mode:focus{border-color:var(--cba-green);box-shadow:0 0 0 3px rgba(30,88,70,.08)}
.cba-access-mode strong{color:var(--cba-ink)}.cba-access-mode span{font-size:.88rem;color:var(--cba-muted)}
.cba-access-mode.is-active{background:var(--cba-green-3)}
.cba-access-batch{overflow:visible}
.cba-access-person-list{display:grid;gap:14px;margin-top:16px}
.cba-access-person{border:1px solid var(--cba-line);border-radius:14px;padding:16px;background:#fff}
.cba-access-person-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.cba-access-person-head strong{display:block;font-size:1rem;color:var(--cba-ink)}
.cba-access-person-head span{display:block;margin-top:2px;font-size:.88rem;color:var(--cba-muted);overflow-wrap:anywhere}
.cba-access-derived{font-size:.82rem;color:var(--cba-muted);margin:-2px 0 12px;padding:7px 10px;background:var(--cba-cream-2);border-radius:9px}
.cba-access-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px}
.cba-access-choice{display:flex;align-items:center;gap:9px;min-height:42px;padding:9px 11px;border:1px solid var(--cba-line);border-radius:10px;background:var(--cba-cream-2);cursor:pointer;font-weight:650;font-size:.9rem}
.cba-access-choice.is-selected{border-color:var(--cba-green);background:var(--cba-green-3)}
.cba-access-choice input{width:18px;height:18px;flex:0 0 auto;accent-color:var(--cba-green)}
.cba-access-savebar{position:sticky;bottom:12px;z-index:8;margin-top:16px;padding:12px 14px;border:1px solid var(--cba-line);border-radius:13px;background:rgba(255,255,255,.98);box-shadow:0 8px 24px rgba(24,55,45,.12);display:flex;align-items:center;justify-content:space-between;gap:12px}
.cba-access-savebar span{font-size:.88rem;color:var(--cba-muted)}
.cba-access-single{margin-top:18px}.cba-access-person-picker{margin:8px 0 16px}.cba-access-person-picker label{min-width:min(360px,100%)}
.cba-access-person-picker select{width:100%}.cba-access-single-form{border-top:1px solid var(--cba-line);padding-top:16px}
.cba-access-create{margin-top:18px}
/* Retire obsolete wide-grid styling from prior builds. */
.cba-access-grid-wrap,.cba-access-grid{display:none!important}
@media(max-width:760px){
  .cba-access-mode-tabs{grid-template-columns:1fr}
  .cba-access-choice-grid{grid-template-columns:1fr 1fr}
  .cba-access-savebar{align-items:stretch;flex-direction:column}.cba-access-savebar .cba-btn{width:100%}
  .cba-access-batch>.cba-card-head{align-items:stretch;flex-direction:column}.cba-access-batch>.cba-card-head .cba-btn{width:100%}
}
@media(max-width:480px){.cba-access-choice-grid{grid-template-columns:1fr}}

/* Launch QA: keep the portal switcher reachable on mobile after removing the sidebar switcher. */
@media(max-width:760px){.cba-top-actions{display:flex;margin-left:auto;gap:4px}.cba-top-actions>a{display:none}.cba-top-actions .cba-portal-switch{display:block}}

/* Admissions QA selector — explicit full-width production certification UI */
.cba-admissions-qa-picker .cba-qa-record-count{margin:12px 0 4px;color:var(--cba-muted)}
.cba-admissions-qa-picker .cba-qa-record-count strong{color:var(--cba-green);font-size:18px}
.cba-qa-selector-form{padding:18px 0 0}
.cba-qa-selector-grid{grid-template-columns:minmax(0,1fr)!important;width:100%}
.cba-qa-selector-field{display:flex!important;flex-direction:column;gap:7px;width:100%;min-width:0}
.cba-qa-selector-field select{display:block!important;width:100%!important;min-width:0!important;max-width:none!important;min-height:46px;border:1px solid var(--cba-line);background:#fff;border-radius:11px;padding:11px 12px;font:inherit;color:var(--cba-ink)}
.cba-qa-selector-actions{justify-content:flex-start;padding-top:14px;margin-top:0;border-top:0}
.cba-qa-fallback{margin-top:18px;padding-top:16px;border-top:1px solid var(--cba-line)}
.cba-qa-fallback>strong{display:block;margin-bottom:10px;color:var(--cba-green);font-size:13px}
.cba-qa-record-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.cba-qa-record-link{display:block;padding:10px 12px;border:1px solid var(--cba-line);border-radius:10px;text-decoration:none;color:var(--cba-green);background:#fff;font-size:13px;font-weight:700;overflow-wrap:anywhere}
.cba-qa-record-link:hover,.cba-qa-record-link.is-selected{border-color:var(--cba-gold);background:var(--cba-cream-2)}
@media(max-width:720px){.cba-qa-record-list{grid-template-columns:1fr}.cba-qa-selector-actions .cba-btn{width:100%}}

.cba-attendance-top-save{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px;padding:13px 15px;border:1px solid var(--cba-line);border-radius:14px;background:var(--cba-cream-2)}.cba-attendance-top-save p{margin:0;color:var(--cba-muted);font-size:13px}.cba-attendance-top-save strong{color:var(--cba-green)}@media(max-width:760px){.cba-attendance-top-save{align-items:stretch;flex-direction:column}.cba-attendance-top-save .cba-btn{width:100%}}

/* Staff attendance cleanup — single-save workflow */
.cba-staff-attendance-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:16px;padding:16px 18px;background:var(--cba-white);border:1px solid var(--cba-line);border-radius:16px;box-shadow:var(--cba-shadow)}
.cba-staff-attendance-toolbar p{margin:0;display:flex;flex-direction:column;gap:4px}
.cba-staff-attendance-toolbar p strong{font-size:14px;color:var(--cba-green)}
.cba-staff-attendance-toolbar p span{font-size:12px;color:var(--cba-muted)}
.cba-staff-attendance-table td{vertical-align:middle}
.cba-staff-attendance-table th:first-child,.cba-staff-attendance-table td:first-child{min-width:240px;width:25%}
.cba-staff-identity{display:flex;flex-direction:column;gap:5px;line-height:1.25}
.cba-staff-identity strong{display:block;font-size:14px;color:var(--cba-green);font-weight:700}
.cba-staff-identity span{display:block;font-size:12px;line-height:1.35;color:var(--cba-muted);max-width:240px}
.cba-staff-attendance-table select{min-width:190px}
.cba-staff-attendance-table .cba-table-input{min-width:150px}
@media (max-width:900px){.cba-staff-attendance-toolbar{align-items:stretch;flex-direction:column}.cba-staff-attendance-toolbar .cba-btn{width:100%}.cba-staff-attendance-table th:first-child,.cba-staff-attendance-table td:first-child{min-width:200px}}

/* v1.80.0 — lunch finance operational cleanup */
.cba-money{font-weight:800;white-space:nowrap}.cba-money-owed{color:#a2382d}.cba-money-credit{color:#2f6f4e}.cba-money-zero{color:var(--cba-muted)}
.cba-stat-owed strong{color:#a2382d}.cba-stat-credit strong{color:#2f6f4e}
.cba-lunch-account-table td:last-child,.cba-lunch-account-table th:last-child{text-align:right}
.cba-lunch-finance-summary{margin-bottom:20px}

/* Lunch operations v1.81.0 */
.cba-lunch-workspace-head{margin-bottom:12px}.cba-lunch-tabs{margin-bottom:20px}.cba-lunch-tabs a{white-space:nowrap}.cba-lunch-order-edit-table select,.cba-lunch-order-edit-table input{min-width:100px}.cba-lunch-order-edit-table .cba-small-input{min-width:64px;width:64px}.cba-row-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.cba-mini-action-danger{color:#7b332b!important;border-color:#dfbbb5!important;background:#fff8f6!important}.cba-inline-form{display:inline;margin:0}.cba-month-order-actions{justify-content:space-between;flex-wrap:wrap}.cba-lunch-workspace-head .cba-filter-bar label{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--cba-green)}


/* v1.84.1 lunch payment/order cleanup */
.cba-payment-card-list{display:flex;flex-direction:column;gap:16px;margin-top:18px}
.cba-payment-card{border:1px solid var(--cba-line);border-radius:16px;background:#fff;padding:20px 22px;box-shadow:0 3px 10px rgba(33,49,40,.04)}
.cba-payment-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:14px;border-bottom:1px solid var(--cba-line)}
.cba-payment-card-head>div:first-child{display:flex;flex-direction:column;gap:3px}.cba-payment-card-head strong{font-size:18px;color:var(--cba-green)}.cba-payment-card-head span{font-size:12px;color:var(--cba-muted)}
.cba-payment-balance{font-size:15px;font-weight:800;white-space:nowrap}
.cba-payment-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}
.cba-payment-summary>div{background:var(--cba-cream-2);border-radius:12px;padding:12px 14px}.cba-payment-summary span,.cba-order-row label>span,.cba-payment-entry label>span,.cba-order-price span{display:block;font-size:11px;font-weight:800;color:var(--cba-muted);text-transform:uppercase;letter-spacing:.035em;margin-bottom:6px}.cba-payment-summary strong{font-size:15px;color:var(--cba-ink)}
.cba-payment-entry{display:grid;grid-template-columns:1fr 1fr 1.05fr 1.15fr 1.4fr auto;gap:12px;align-items:end}.cba-payment-entry label{display:block;margin:0}.cba-payment-entry input,.cba-payment-entry select{width:100%;min-width:0;border:1px solid var(--cba-line);border-radius:10px;background:#fff;padding:10px 11px;font:inherit;color:var(--cba-ink)}.cba-payment-entry .cba-btn{min-height:42px;white-space:nowrap}.cba-demo-payment-section{border:2px dashed var(--cba-gold);background:#fffdf8}.cba-payment-card-demo{background:#fffdf8}
.cba-order-day{border:1px solid var(--cba-line);border-radius:16px;overflow:hidden;margin-top:16px;background:#fff}.cba-order-day-head{display:flex;justify-content:space-between;gap:20px;align-items:center;background:var(--cba-cream-2);padding:12px 16px;border-bottom:1px solid var(--cba-line)}.cba-order-day-head strong{font-size:15px;color:var(--cba-green)}.cba-order-day-head span{font-size:12px;color:var(--cba-muted)}.cba-order-list{display:flex;flex-direction:column}.cba-order-row{display:grid;grid-template-columns:1.15fr 2.1fr .55fr 1.3fr .55fr auto;gap:12px;align-items:end;padding:14px 16px;border-top:1px solid var(--cba-line)}.cba-order-row:first-child{border-top:0}.cba-order-student{align-self:center;display:flex;flex-direction:column;gap:3px}.cba-order-student strong{color:var(--cba-green)}.cba-order-student span{font-size:11px;color:var(--cba-muted)}.cba-order-row select,.cba-order-row input{width:100%;min-width:0;border:1px solid var(--cba-line);border-radius:10px;background:#fff;padding:9px 10px;font:inherit}.cba-order-price{align-self:center}.cba-order-price strong{font-size:14px}.cba-order-row .cba-row-actions{align-self:center;flex-wrap:nowrap}
@media(max-width:1100px){.cba-payment-entry{grid-template-columns:repeat(3,minmax(0,1fr))}.cba-payment-entry .cba-btn{width:100%}.cba-order-row{grid-template-columns:1fr 1.7fr .5fr 1fr}.cba-order-price,.cba-order-row .cba-row-actions{grid-column:auto}}
@media(max-width:760px){.cba-payment-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.cba-payment-entry{grid-template-columns:1fr 1fr}.cba-payment-entry .cba-payment-note,.cba-payment-entry .cba-btn{grid-column:1/-1}.cba-order-row{grid-template-columns:1fr 1fr}.cba-order-student,.cba-order-meal{grid-column:1/-1}.cba-order-row .cba-row-actions{justify-content:flex-end}.cba-payment-card-head{flex-direction:column}.cba-payment-balance{white-space:normal}}

/* v1.84.2 demo payment visibility + module verification */
.cba-module-version{display:inline-block;margin-top:6px;color:var(--cba-muted);font-size:11px;font-weight:700;letter-spacing:.02em}
.cba-demo-payment-section{border:2px solid #c49b36;background:#fffaf0;box-shadow:0 8px 22px rgba(75,59,17,.08);margin-bottom:22px}
.cba-demo-payment-section .cba-kicker{color:#7a5910;font-weight:900}
.cba-payment-card-demo{border:1px solid #d6b867;background:#fffdf8}
.cba-payment-card-demo .cba-payment-balance strong{color:#8a5a00}
