#academyAdminMount, #academyOperationsMount { --ink:#222722; --muted:#62695b; --line:#d9dbd2; --paper:#fffef9; --wash:#f3f4ec; }
.academy-admin-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); gap:16px; margin:0; }
.academy-admin-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.academy-admin-form .field { display:grid; gap:8px; min-width:0; }
.academy-admin-form :is(input,select,textarea) { box-sizing:border-box; width:100%; min-width:0; max-width:100%; border-color:#b8c0b0; border-radius:6px; }
.academy-admin-form input[type=checkbox] { width:20px; height:20px; min-height:20px; padding:0; margin:0; flex:none; vertical-align:middle; }
.academy-admin-form label:has(>input[type=checkbox]) { display:flex; align-items:flex-start; gap:10px; line-height:1.5; }
.academy-admin-form .field:has(textarea), .academy-admin-form > p, .academy-admin-form > .academy-admin-actions { grid-column:1/-1; }
.academy-admin-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.academy-admin-actions > * { max-width:100%; white-space:normal; overflow-wrap:anywhere; }
.academy-admin-actions > button { width:auto; }
#academyAdminMount :is(h3,p,small) { overflow-wrap:anywhere; }
#academyOperationsMount :is(h3,p,small,fieldset,details) { min-width:0; overflow-wrap:anywhere; }
#academyOperationsMount .academy-admin-form > :is(h3,details,fieldset) { grid-column:1/-1; }
.academy-ops-header,.academy-ops-section-heading,.academy-ops-card-heading { position:static; inset:auto; z-index:auto; width:auto; max-width:none; min-height:0; margin:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; backdrop-filter:none; color:inherit; overflow:visible; }
.academy-occurrence-options { display:grid; gap:10px; max-height:320px; overflow:auto; border:1px solid var(--line,#d5dce0); border-radius:6px; padding:14px; }
.academy-occurrence-options label { display:flex; align-items:center; gap:10px; }
.academy-occurrence-options input[type=checkbox] { width:20px; height:20px; flex:none; }
.academy-preserve-lines { white-space:pre-wrap; }
.academy-ops-shell { display:grid; gap:22px; min-width:0; color:var(--ink,#17212b); }
.academy-ops-header { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:22px; padding:4px 2px 2px; }
.academy-ops-header > div:first-child { flex:1 1 300px; min-width:0; }
.academy-ops-header p { margin:0 0 7px; color:var(--muted,#687581); font-size:10px; font-weight:750; letter-spacing:.15em; }
.academy-ops-header h2 { margin:0; font-size:30px; font-weight:650; line-height:1.25; letter-spacing:-.04em; }
.academy-ops-header > div:first-child > span { display:block; margin-top:8px; color:var(--muted,#687581); font-size:13px; line-height:1.55; }
.academy-ops-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); min-width:min(100%,330px); border:1px solid var(--line,#dce4e7); border-radius:6px; background:var(--paper,#fff); }
.academy-ops-summary > div { display:grid; gap:4px; min-width:0; padding:13px 16px; }
.academy-ops-summary > div + div { border-left:1px solid var(--line,#dce4e7); }
.academy-ops-summary span { color:var(--muted,#687581); font-size:11px; line-height:1.4; overflow-wrap:anywhere; }
.academy-ops-summary strong { font-size:20px; font-weight:740; font-variant-numeric:tabular-nums; }
.academy-ops-bridge { display:grid; gap:13px; min-width:0; padding:18px; border:1px solid var(--line,#dce4e7); border-radius:6px; background:var(--wash,#f3f4ec); box-shadow:none; }
.academy-ops-bridge > header { position:static; inset:auto; z-index:auto; display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:space-between; gap:8px 16px; width:auto; max-width:none; min-height:0; margin:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; color:inherit; overflow:visible; }
.academy-ops-bridge > header p { margin:0 0 3px; color:var(--muted,#687581); font-size:9px; font-weight:760; letter-spacing:.14em; }
.academy-ops-bridge > header h3 { margin:0; font-size:17px; font-weight:740; line-height:1.4; letter-spacing:-.025em; }
.academy-ops-bridge > header > span { padding:6px 9px; border:1px solid #d8e3e7; border-radius:999px; background:#fff; color:#50606b; font-size:10px; font-weight:680; line-height:1.35; }
.academy-ops-bridge-intro { margin:0; color:var(--muted,#687581); font-size:12px; line-height:1.6; }
.academy-ops-bridge nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.academy-ops-bridge a { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 14px; min-width:0; min-height:92px; padding:14px 15px; border:1px solid var(--line,#dce4e7); border-radius:4px; background:var(--paper,#fff); color:var(--ink,#17212b); text-decoration:none; transition:border-color .16s ease,background .16s ease; }
.academy-ops-bridge a:hover { border-color:#919d84; background:#f7f8f0; }
.academy-ops-bridge a:focus-visible { outline:3px solid #526849; outline-offset:3px; }
.academy-ops-bridge a > span { grid-column:1/-1; color:#65747e; font-size:9px; font-weight:760; letter-spacing:.12em; }
.academy-ops-bridge a > strong { min-width:0; font-size:15px; font-weight:730; line-height:1.45; letter-spacing:-.02em; }
.academy-ops-bridge a > small { grid-column:1; color:var(--muted,#687581); font-size:11px; line-height:1.5; }
.academy-ops-bridge a > b { grid-column:2; grid-row:2/4; align-self:center; color:#34434d; font-size:11px; font-weight:700; white-space:nowrap; }
.academy-ops-bridge a i { font-style:normal; }
.academy-ops-tabs { display:flex; gap:4px; max-width:100%; padding:4px; overflow-x:auto; overscroll-behavior-inline:contain; scrollbar-width:thin; border:1px solid var(--line,#dce4e7); border-radius:6px; background:var(--wash,#f4f6f7); }
.academy-ops-tabs::-webkit-scrollbar { display:none; }
.academy-ops-tabs > button { display:inline-flex; flex:1 0 auto; align-items:center; justify-content:center; gap:8px; width:auto; max-width:none; min-height:44px; min-width:118px; padding:9px 13px; border:0; border-radius:4px; box-shadow:none; white-space:nowrap; }
.academy-ops-tabs > button.secondary { background:transparent; color:var(--muted,#687581); }
.academy-ops-tabs > button.primary { background:var(--paper,#fff); color:var(--ink,#17212b); box-shadow:inset 0 -2px #8b7933; }
.academy-ops-tabs b { display:grid; place-items:center; min-width:21px; height:21px; padding-inline:6px; border-radius:999px; background:#ffd21e; color:#17212b; font-size:11px; font-weight:750; }
.academy-ops-notice { margin:0; color:var(--muted,#687581); font-size:13px; line-height:1.5; }
.academy-ops-notice:empty { display:none; }
.academy-ops-section-heading { grid-column:1/-1; display:flex; flex-wrap:wrap; align-items:end; justify-content:space-between; gap:14px 20px; margin-bottom:2px; padding-bottom:16px; border-bottom:1px solid var(--line,#dce4e7); }
.academy-ops-section-heading > div { flex:1 1 280px; min-width:0; }
.academy-ops-section-heading h3 { margin:0; font-size:21px; font-weight:740; line-height:1.4; letter-spacing:-.03em; }
.academy-ops-section-heading p { margin:5px 0 0; color:var(--muted,#687581); font-size:13px; line-height:1.55; }
.academy-ops-section-heading button { min-height:44px; }
.academy-ops-card { min-width:0; margin:0; border-color:var(--line,#dce4e7); border-radius:6px; background:var(--paper,#fffef9); box-shadow:none; }
.academy-ops-card.is-attention { border-color:#e5ca71; }
.academy-ops-card .console-card-body { display:grid; align-content:start; gap:16px; min-width:0; padding:21px; }
.academy-ops-card-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px 18px; }
.academy-ops-card-heading > div { flex:1 1 180px; min-width:0; }
.academy-ops-card-heading h3 { margin:5px 0 0; font-size:17px; font-weight:720; line-height:1.45; letter-spacing:-.025em; }
.academy-ops-card-heading .tag { flex:0 0 auto; }
#academyOperationsMount .tag.amber { border:1px solid #e5c04c; background:#fff1b8; color:#4b3500; }
.academy-ops-eyebrow { margin:0; color:var(--muted,#687581); font-size:11px; font-weight:650; line-height:1.45; }
.academy-ops-secondary { margin:0; color:var(--muted,#687581); font-size:12px; line-height:1.65; }
.academy-ops-message,.academy-ops-facts { display:grid; gap:6px; padding:14px 15px; border-radius:6px; background:var(--wash,#f4f6f7); }
.academy-ops-message > span,.academy-ops-facts > span { color:var(--muted,#687581); font-size:10px; font-weight:700; letter-spacing:.06em; }
.academy-ops-message p,.academy-ops-facts strong { margin:0; font-size:13px; font-weight:500; line-height:1.6; }
.academy-ops-state { grid-column:1/-1; display:grid; justify-items:start; gap:8px; padding:32px; border:1px solid var(--line,#dce4e7); border-radius:6px; background:var(--paper,#fff); }
.academy-ops-state strong { font-size:16px; line-height:1.5; }
.academy-ops-state p { margin:0; color:var(--muted,#687581); font-size:13px; line-height:1.6; }
.academy-ops-state button { min-height:44px; }
.academy-ops-spinner { width:22px; height:22px; border:2px solid var(--line,#dce4e7); border-top-color:var(--ink,#17212b); border-radius:50%; animation:academy-ops-spin .8s linear infinite; }
.academy-ops-event { grid-column:1/-1; display:grid; grid-template-columns:minmax(180px,1fr) minmax(160px,1fr) minmax(220px,auto); gap:16px; align-items:center; padding:15px 4px; border-bottom:1px solid var(--line,#dce4e7); font-size:12px; line-height:1.5; }
.academy-ops-event strong { font-size:13px; }
.academy-ops-event span { color:var(--muted,#687581); overflow-wrap:anywhere; }
#academyAdminMount :is(button,input,select,textarea,summary):focus-visible,
#academyOperationsMount :is(button,input,select,textarea,summary,a):focus-visible { outline:3px solid #526849; outline-offset:3px; }
#academyAdminMount button, #academyOperationsMount button { min-height:44px; }
@keyframes academy-ops-spin { to { transform:rotate(360deg); } }
@media(max-width:600px) {
  .academy-admin-form { grid-template-columns:minmax(0,1fr); }
  .academy-admin-form :is(input,select,textarea) { font-size:16px; }
  .academy-admin-actions > * { flex:1 1 140px; text-align:center; }
  .academy-ops-shell { gap:18px; }
  .academy-ops-header { align-items:flex-start; }
  .academy-ops-header h2 { font-size:27px; }
  .academy-ops-summary { width:100%; }
  .academy-ops-summary > div { padding:12px; }
  .academy-ops-bridge { padding:16px; }
  .academy-ops-bridge nav { grid-template-columns:minmax(0,1fr); }
  .academy-ops-bridge a { min-height:88px; }
  .academy-ops-tabs { margin-inline:-1px; }
  .academy-ops-card .console-card-body { padding:18px; }
  .academy-ops-card-heading { flex-wrap:wrap; }
  .academy-ops-event { grid-template-columns:minmax(0,1fr); gap:4px; }
}
@media(prefers-reduced-motion:reduce) { .academy-ops-spinner { animation:none; } .academy-ops-shell * { transition:none; scroll-behavior:auto; } }
