/* AXON META global application system */
*,*::before,*::after{box-sizing:border-box}
html{min-width:20rem;background:var(--bg-primary);scroll-behavior:smooth}
body{min-height:100vh;margin:0;overflow-x:hidden;background:var(--bg-primary);color:var(--text-primary);font:400 .875rem/1.55 var(--font-body);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body,button,input,select,textarea,.table{font-family:var(--font-body)}
h1,h2,h3,h4,h5,h6,.ui-heading,.ui-section-title,.ui-kpi-number{margin-top:0;color:var(--text-primary);font-family:var(--font-heading);font-weight:600;line-height:1.05}
h1{font-size:clamp(2rem,2.25vw,2.375rem);letter-spacing:.01em}h2{font-size:clamp(1.375rem,1.65vw,1.625rem)}h3{font-size:clamp(1.125rem,1.35vw,1.25rem)}
p{margin-top:0}a{color:var(--accent-blue);text-decoration:none;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast)}
a:hover{color:color-mix(in srgb,var(--accent-blue) 82%,white)}button,[role=button],.btn{cursor:pointer}
:focus-visible{outline:2px solid var(--brand-yellow);outline-offset:2px}::selection{background:var(--brand-yellow);color:var(--text-on-brand)}
.ui-body{font:400 .875rem/1.55 var(--font-body)}.ui-caption{color:var(--text-muted);font-size:.75rem}.ui-label{color:var(--text-secondary);font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}

/* Bootstrap overrides */
.container-fluid{--bs-gutter-x:calc(var(--content-gutter)*2)}
.btn{--bs-btn-padding-x:.875rem;--bs-btn-padding-y:.5rem;--bs-btn-font-size:.8125rem;--bs-btn-font-weight:650;--bs-btn-line-height:1.25;--bs-btn-border-width:1px;min-height:2.375rem;border-radius:var(--radius-md);box-shadow:none;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}
.btn:hover{transform:translateY(-1px)}.btn:active{transform:none}.btn i{margin-right:.4rem;font-size:1rem;line-height:1}
.btn-primary{--bs-btn-color:var(--text-on-brand);--bs-btn-bg:var(--brand-yellow);--bs-btn-border-color:var(--brand-yellow);--bs-btn-hover-color:var(--text-on-brand);--bs-btn-hover-bg:var(--brand-yellow-hover);--bs-btn-hover-border-color:var(--brand-yellow-hover);--bs-btn-active-color:var(--text-on-brand);--bs-btn-active-bg:var(--brand-yellow);--bs-btn-active-border-color:var(--brand-yellow);box-shadow:0 4px 14px var(--brand-yellow-soft)}
.btn-secondary{--bs-btn-color:var(--text-primary);--bs-btn-bg:var(--surface-2);--bs-btn-border-color:var(--border-color);--bs-btn-hover-color:var(--text-primary);--bs-btn-hover-bg:var(--surface-hover);--bs-btn-hover-border-color:var(--border-hover)}
.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:var(--danger);--bs-btn-border-color:var(--danger);--bs-btn-hover-color:#fff;--bs-btn-hover-bg:color-mix(in srgb,var(--danger) 86%,black);--bs-btn-hover-border-color:transparent}
.btn-success{--bs-btn-color:#fff;--bs-btn-bg:var(--success);--bs-btn-border-color:var(--success);--bs-btn-hover-color:#fff;--bs-btn-hover-bg:color-mix(in srgb,var(--success) 86%,black);--bs-btn-hover-border-color:transparent}
.btn-icon{display:inline-grid;width:2.375rem;min-width:2.375rem;padding:0;place-items:center;color:var(--text-secondary);background:var(--surface-1);border:1px solid var(--border-color)}.btn-icon i{margin:0;font-size:1.0625rem}.btn-icon:hover{color:var(--text-primary);background:var(--surface-hover);border-color:var(--border-hover)}
.form-control,.form-select,textarea,input,select{min-height:2.5rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--input-bg);color:var(--text-primary);font-size:.8125rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}
.form-control,.form-select{--bs-body-bg:var(--input-bg);--bs-body-color:var(--text-primary);--bs-border-color:var(--border-color)}
.form-control:focus,.form-select:focus,textarea:focus,input:focus,select:focus{color:var(--text-primary);background:var(--input-bg);border-color:var(--brand-yellow);box-shadow:0 0 0 .2rem var(--brand-yellow-soft);outline:0}
.form-control::placeholder,input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:1}.form-control:disabled,.form-select:disabled,input:disabled,select:disabled,textarea:disabled{color:var(--text-muted);background:var(--surface-3);border-color:var(--border-subtle);cursor:not-allowed;opacity:.7}
label{display:inline-block;margin-bottom:.375rem;color:var(--text-secondary);font-size:.75rem;font-weight:600}
.dropdown-menu{--bs-dropdown-bg:var(--surface-2);--bs-dropdown-border-color:var(--border-color);--bs-dropdown-color:var(--text-primary);--bs-dropdown-link-color:var(--text-secondary);--bs-dropdown-link-hover-color:var(--text-primary);--bs-dropdown-link-hover-bg:var(--surface-hover);--bs-dropdown-link-active-color:var(--text-on-brand);--bs-dropdown-link-active-bg:var(--brand-yellow);z-index:var(--z-dropdown);padding:.375rem;border-radius:var(--radius-md);box-shadow:var(--shadow-md)}
.card,.modal-content,.offcanvas{color:var(--text-primary);background:var(--surface-1);border-color:var(--border-color)}.modal{--bs-modal-zindex:var(--z-modal)}.modal-content{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.modal-header,.modal-footer,.offcanvas-header{border-color:var(--border-color)}
.table-responsive{width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:var(--border-hover) transparent}

/* App shell and sidebar */
.app-shell{min-height:100vh}.app-main{min-width:0;min-height:100vh;margin-left:var(--sidebar-width);background:var(--bg-primary);transition:margin-left var(--transition-normal)}
.app-sidebar{position:fixed;inset:0 auto 0 0;z-index:var(--z-sidebar);display:flex;width:var(--sidebar-width);min-height:100vh;flex-direction:column;overflow-y:auto;background:var(--sidebar-bg);border-right:1px solid #253140;box-shadow:var(--shadow-sm)}
.app-brand{display:flex;min-height:var(--topbar-height);align-items:center;gap:.75rem;padding:.75rem 1.125rem;color:#fff;border-bottom:1px solid #1f2b39}.app-brand:hover{color:#fff;background:rgba(255,255,255,.025)}
.app-brand-mark{display:grid;width:2.375rem;height:2.375rem;flex:0 0 auto;place-items:center;color:var(--brand-yellow);background:rgba(255,184,28,.08);border:1px solid rgba(255,184,28,.35);border-radius:var(--radius-md)}
.app-brand-mark i{font-size:1.25rem;transform:rotate(30deg)}.app-brand-copy{display:flex;min-width:0;flex-direction:column;line-height:1.05}.app-brand-copy strong{overflow:hidden;color:#fff;font-size:1rem;font-weight:750;letter-spacing:.08em;text-overflow:ellipsis;white-space:nowrap}.app-brand-copy small{margin-top:.25rem;color:#98a5b5;font-size:.625rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase}
.sidebar-nav{display:flex;flex:1 1 auto;flex-direction:column;gap:.125rem;padding:1rem .75rem}.sidebar-nav-label{padding:.25rem .75rem .5rem;color:#6f7d8e;font-size:.625rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.sidebar-nav a{position:relative;display:flex;min-height:2.5rem;align-items:center;gap:.75rem;padding:.55rem .75rem;color:#aeb9c7;border:1px solid transparent;border-radius:var(--radius-md);font-size:.8125rem;font-weight:500;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}
.sidebar-nav a::before{position:absolute;top:.5rem;bottom:.5rem;left:-.8125rem;width:.1875rem;border-radius:0 .25rem .25rem 0;background:var(--brand-yellow);content:"";opacity:0;transform:scaleY(.4);transition:opacity var(--transition-fast),transform var(--transition-fast)}
.sidebar-nav a i{width:1.125rem;flex:0 0 auto;color:#8290a1;font-size:1rem;text-align:center;transition:color var(--transition-fast),transform var(--transition-fast)}.sidebar-nav a:hover{color:#fff;background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.035)}.sidebar-nav a:hover i{color:#fff;transform:translateX(2px)}
.sidebar-nav a.active{color:#fff;background:rgba(255,255,255,.065);border-color:rgba(255,184,28,.13)}.sidebar-nav a.active::before{opacity:1;transform:scaleY(1)}.sidebar-nav a.active i{color:var(--brand-yellow)}
.sidebar-footer{margin-top:auto;padding:.875rem .875rem 1rem;border-top:1px solid #1f2b39}.system-status,.sidebar-user{display:flex;align-items:center;gap:.625rem;padding:.625rem;color:#dce3eb;border-radius:var(--radius-md)}.system-status{background:rgba(255,255,255,.025)}
.system-status-dot{width:.5rem;height:.5rem;flex:0 0 auto;border-radius:50%;background:var(--success);box-shadow:0 0 0 .2rem rgba(49,204,114,.1)}.system-status span:last-child,.sidebar-user span:last-child{display:flex;min-width:0;flex-direction:column}.system-status strong,.sidebar-user strong{font-size:.75rem;font-weight:650}.system-status small,.sidebar-user small{margin-top:.125rem;color:#8492a3;font-size:.625rem}
.sidebar-user{margin-top:.5rem;border-top:1px solid #1f2b39;border-radius:0}.sidebar-user-avatar{display:grid;width:2rem;height:2rem;flex:0 0 auto;place-items:center;color:#fff;border:1px solid #3b4b5e;border-radius:50%}

/* Topbar */
.app-topbar{position:sticky;top:0;z-index:var(--z-topbar);display:grid;min-height:var(--topbar-height);grid-template-columns:minmax(9rem,.7fr) minmax(18rem,1.5fr) minmax(max-content,.8fr);align-items:center;gap:1rem;padding:.75rem var(--content-gutter);background:var(--topbar-bg);border-bottom:1px solid var(--border-color);backdrop-filter:blur(14px)}
.topbar-context,.topbar-utilities{display:flex;align-items:center;gap:.625rem}.topbar-page-title{overflow:hidden;color:var(--text-secondary);font-size:.8125rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.topbar-menu{display:none}
.global-search{position:relative;width:100%;max-width:39rem;margin-inline:auto}.global-search>i{position:absolute;top:50%;left:.875rem;z-index:2;color:var(--text-muted);transform:translateY(-50%);pointer-events:none}.global-search .form-control{height:2.5rem;padding-right:4rem;padding-left:2.5rem;background:color-mix(in srgb,var(--input-bg) 88%,transparent)}.global-search kbd{position:absolute;top:50%;right:.625rem;padding:.15rem .35rem;color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border-color);border-radius:.25rem;font:500 .625rem var(--font-body);transform:translateY(-50%)}
.topbar-utilities{justify-content:flex-end}.theme-control{color:var(--brand-yellow)}

/* Page composition */
.page-content{width:100%;min-height:calc(100vh - var(--topbar-height) - 4rem);padding:1.75rem var(--content-gutter) 2rem}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:1.5rem}.page-header>div:first-child{min-width:0;max-width:54rem}.page-header h1{margin-bottom:.35rem}.page-header p:not(.page-eyebrow){max-width:48rem;margin-bottom:0;color:var(--text-secondary);font-size:.8125rem}
.page-eyebrow{margin-bottom:.45rem;color:var(--brand-yellow);font-size:.6875rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase}.page-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}
.page-actions>button,.page-actions>a{display:inline-flex;min-height:2.375rem;align-items:center;justify-content:center;padding:.5rem .875rem;color:var(--text-primary);background:var(--surface-2);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.8125rem;font-weight:650;line-height:1.25;transition:all var(--transition-fast)}
.page-actions>button:hover,.page-actions>a:hover{color:var(--text-primary);background:var(--surface-hover);border-color:var(--border-hover);transform:translateY(-1px)}.page-actions>:last-child{color:var(--text-on-brand);background:var(--brand-yellow);border-color:var(--brand-yellow);box-shadow:0 4px 14px var(--brand-yellow-soft)}.page-actions>:last-child:hover{color:var(--text-on-brand);background:var(--brand-yellow-hover);border-color:var(--brand-yellow-hover)}
.panel,.dashboard-panel,.resource-card,.kpi-card{background:var(--surface-1);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.panel{margin-bottom:1rem;overflow:hidden}.panel-header{display:flex;min-height:3.25rem;align-items:center;justify-content:space-between;gap:1rem;padding:.875rem 1rem;border-bottom:1px solid var(--border-subtle)}.panel-header h2,.panel-header h3{margin:0;font-size:1.125rem;letter-spacing:.025em}.panel-body{padding:1rem}.panel-footer{padding:.75rem 1rem;border-top:1px solid var(--border-subtle)}
.operations-summary{border-top-color:var(--brand-yellow)}.operations-summary dl{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0}.operations-summary dl>div{min-width:0;padding:.25rem 1rem;border-right:1px solid var(--border-subtle)}.operations-summary dl>div:first-child{padding-left:0}.operations-summary dl>div:last-child{padding-right:0;border-right:0}.operations-summary dt{color:var(--text-muted);font-size:.6875rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.operations-summary dd{margin:.35rem 0 0;color:var(--text-primary);font:600 1.5rem/1 var(--font-heading)}

/* KPI and dashboard */
.kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.kpi-card{position:relative;display:grid;min-width:0;min-height:6.75rem;grid-template-columns:auto 1fr;grid-template-rows:1fr auto;align-items:center;column-gap:.75rem;padding:1rem;overflow:hidden;transition:transform var(--transition-normal),border-color var(--transition-normal),box-shadow var(--transition-normal)}.kpi-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}
.kpi-card::after{position:absolute;inset:auto 0 0;height:2px;background:var(--brand-yellow);content:"";opacity:0;transform:scaleX(.4);transform-origin:left;transition:opacity var(--transition-normal),transform var(--transition-normal)}.kpi-card:hover::after{opacity:1;transform:scaleX(1)}
.kpi-icon{display:grid;width:2.5rem;height:2.5rem;grid-row:1/3;place-items:center;color:var(--brand-yellow);background:var(--brand-yellow-soft);border:1px solid color-mix(in srgb,var(--brand-yellow) 30%,transparent);border-radius:var(--radius-md)}.kpi-icon i{font-size:1.125rem}.kpi-card>strong{align-self:end;color:var(--text-primary);font:600 clamp(1.875rem,2.2vw,2.25rem)/.95 var(--font-heading)}.kpi-card>span:last-child{align-self:start;margin-top:.35rem;color:var(--text-secondary);font-size:.625rem;font-weight:750;letter-spacing:.055em;line-height:1.2;text-transform:uppercase}
.kpi-card[data-kpi=students-trained] .kpi-icon,.kpi-card[data-kpi=instructors-available] .kpi-icon{color:var(--accent-blue);background:var(--accent-blue-soft);border-color:color-mix(in srgb,var(--accent-blue) 30%,transparent)}.kpi-card[data-kpi=event-reach] .kpi-icon{color:var(--success);background:var(--success-soft);border-color:color-mix(in srgb,var(--success) 30%,transparent)}
.quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.quick-actions a{position:relative;display:flex;min-height:4rem;align-items:center;padding:.875rem 2.5rem .875rem 1rem;color:var(--text-primary);background:var(--surface-1);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);font-size:.8125rem;font-weight:650}.quick-actions a::after{position:absolute;top:50%;right:1rem;color:var(--text-muted);content:"›";font-size:1.25rem;transform:translateY(-52%);transition:all var(--transition-fast)}.quick-actions a:hover{color:var(--text-primary);background:var(--surface-hover);border-color:var(--border-hover);transform:translateY(-1px)}.quick-actions a:hover::after{color:var(--brand-yellow);transform:translate(2px,-52%)}
.dashboard-grid,.report-grid,.analytics-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:1rem}.dashboard-grid .panel,.report-grid .panel,.analytics-grid .panel{height:100%;margin-bottom:0}.dashboard-grid .panel-body{min-height:12rem}.dashboard-grid .empty-state{min-height:8rem}
.status-pipeline{position:relative;display:grid;grid-template-columns:repeat(7,minmax(5.25rem,1fr));gap:.5rem;overflow-x:auto}.status-pipeline::before{position:absolute;top:2.1rem;right:2rem;left:2rem;height:1px;background:var(--border-hover);content:""}.status-pipeline button{position:relative;z-index:1;display:flex;min-width:0;min-height:5.75rem;flex-direction:column;align-items:center;justify-content:center;padding:.625rem .375rem;color:var(--text-secondary);background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:all var(--transition-fast)}.status-pipeline button::before{width:.625rem;height:.625rem;margin-bottom:.4rem;background:var(--status-draft);border:2px solid var(--surface-2);border-radius:50%;box-shadow:0 0 0 1px var(--status-draft);content:""}.status-pipeline button:hover{background:var(--surface-hover);border-color:var(--border-hover);transform:translateY(-1px)}.status-pipeline button strong{color:var(--text-primary);font:600 1.5rem/1 var(--font-heading)}.status-pipeline button span{margin-top:.25rem;font-size:.625rem;font-weight:700;line-height:1.15;text-align:center;text-transform:uppercase}
.status-pipeline [data-status="Pending Approval"]::before{background:var(--status-pending);box-shadow:0 0 0 1px var(--status-pending)}.status-pipeline [data-status=Approved]::before{background:var(--status-approved);box-shadow:0 0 0 1px var(--status-approved)}.status-pipeline [data-status=Confirmed]::before{background:var(--status-confirmed);box-shadow:0 0 0 1px var(--status-confirmed)}.status-pipeline [data-status=Postponed]::before{background:var(--status-postponed);box-shadow:0 0 0 1px var(--status-postponed)}.status-pipeline [data-status=Completed]::before{background:var(--status-completed);box-shadow:0 0 0 1px var(--status-completed)}.status-pipeline [data-status=Cancelled]::before{background:var(--status-cancelled);box-shadow:0 0 0 1px var(--status-cancelled)}

/* Forms, filters and tables */
.form-section{margin-bottom:1rem}.form-section:last-child{margin-bottom:0}.form-grid,.filter-bar,.report-filters,.calendar-filters{display:grid;grid-template-columns:repeat(4,minmax(10rem,1fr));align-items:end;gap:.875rem}.form-grid>div,.filter-bar>div,.report-filters>div,.calendar-filters>div{min-width:0}.form-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;padding-top:1rem;border-top:1px solid var(--border-subtle)}
.form-actions button,.form-actions a{display:inline-flex;min-height:2.375rem;align-items:center;justify-content:center;padding:.5rem .875rem;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.8125rem;font-weight:650}.form-actions button[type=submit]{color:var(--text-on-brand);background:var(--brand-yellow);border-color:var(--brand-yellow)}.form-actions a{color:var(--text-primary);background:var(--surface-2)}
.view-switcher,.calendar-navigation{display:flex;gap:.375rem}.view-switcher{justify-content:flex-end;margin-top:.875rem}.view-switcher button,.calendar-navigation button{min-height:2.25rem;padding:.4rem .75rem;color:var(--text-secondary);background:var(--surface-2);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.view-switcher button:hover,.calendar-navigation button:hover{color:var(--text-primary);border-color:var(--border-hover)}
.table,table{width:100%;margin:0;color:var(--text-primary);border-color:var(--border-subtle);vertical-align:middle}.table>:not(caption)>*>*,table th,table td{padding:.7rem .75rem;color:inherit;background:transparent;border-bottom:1px solid var(--border-subtle);box-shadow:none}.table thead th,table thead th{color:var(--text-muted);background:var(--surface-2);font-size:.625rem;font-weight:750;letter-spacing:.075em;line-height:1.2;text-transform:uppercase;white-space:nowrap}.table tbody tr,table tbody tr{transition:background-color var(--transition-fast)}.table tbody tr:hover,table tbody tr:hover{background:var(--surface-hover)}.table tbody td,table tbody td{font-size:.75rem}.table th:last-child,.table td:last-child,table th:last-child,table td:last-child{text-align:right}.table button,table button{min-height:1.875rem;padding:.25rem .625rem;border-radius:var(--radius-sm);font-size:.6875rem}

/* Status, empty states and resources */
.status-badge{display:inline-flex;min-height:1.45rem;align-items:center;gap:.35rem;padding:.2rem .5rem;color:var(--status-draft);background:color-mix(in srgb,currentColor 12%,transparent);border:1px solid color-mix(in srgb,currentColor 24%,transparent);border-radius:999px;font-size:.625rem;font-weight:700;line-height:1;white-space:nowrap}.status-badge::before{width:.35rem;height:.35rem;border-radius:50%;background:currentColor;content:""}
.status-pending,.status-badge[data-status="Pending Approval"],.status-badge[data-status="Under Review"]{color:var(--status-pending)}.status-approved,.status-badge[data-status=Approved],.status-badge[data-status=Available]{color:var(--status-approved)}.status-confirmed,.status-assigned,.status-badge[data-status=Confirmed],.status-badge[data-status=Assigned]{color:var(--status-confirmed)}.status-postponed,.status-badge[data-status=Postponed]{color:var(--status-postponed)}.status-completed,.status-badge[data-status=Completed]{color:var(--status-completed)}.status-cancelled,.status-rejected,.status-badge[data-status=Cancelled],.status-badge[data-status=Rejected]{color:var(--status-cancelled)}.status-unavailable,.status-badge[data-status=Unavailable]{color:var(--status-unavailable)}
.empty-state{display:flex;min-height:9rem;flex-direction:column;align-items:center;justify-content:center;gap:.375rem;padding:1.5rem;color:var(--text-muted);text-align:center;background:color-mix(in srgb,var(--surface-2) 70%,transparent);border:1px dashed var(--border-color);border-radius:var(--radius-md)}.empty-state i{margin-bottom:.25rem;color:var(--text-muted);font-size:1.75rem}.empty-state h2,.empty-state h3,.empty-state strong{margin:0;color:var(--text-primary)}.empty-state p{max-width:30rem;margin:0;font-size:.75rem}.empty-state .btn,.empty-state a{margin-top:.5rem}
.directory-grid,.resource-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.panel-body.resource-grid{margin-bottom:0}.resource-card{min-width:0;padding:1rem;transition:all var(--transition-normal)}.resource-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.resource-card h3{margin-bottom:.35rem}.resource-card p{color:var(--text-secondary);font-size:.75rem}.resource-card a{display:inline-flex;margin-top:.5rem;align-items:center;color:var(--brand-yellow);font-size:.75rem;font-weight:650}

/* Courses */
.status-filter-row{display:grid;grid-template-columns:repeat(8,minmax(5.5rem,1fr));gap:.5rem;margin-bottom:1rem;overflow-x:auto;padding-bottom:.125rem}.status-filter-row button{display:flex;min-height:3.5rem;min-width:5.5rem;align-items:center;justify-content:space-between;gap:.5rem;padding:.625rem .75rem;color:var(--text-secondary);background:var(--surface-1);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.6875rem;font-weight:650;text-align:left;transition:all var(--transition-fast)}.status-filter-row button:hover,.status-filter-row button[aria-pressed=true]{color:var(--text-primary);background:var(--surface-hover);border-color:var(--brand-yellow);transform:translateY(-1px)}.status-filter-row button strong{color:var(--text-primary);font:600 1.25rem var(--font-heading)}

/* Calendar */
.calendar-toolbar{flex-wrap:wrap}.calendar-toolbar>h2{margin-inline:auto}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(6rem,1fr))}.calendar-weekdays{margin-top:1rem;overflow:hidden;background:var(--surface-2);border:1px solid var(--border-color);border-bottom:0;border-radius:var(--radius-md) var(--radius-md) 0 0}.calendar-weekdays span{padding:.625rem;color:var(--text-muted);border-right:1px solid var(--border-subtle);font-size:.625rem;font-weight:750;letter-spacing:.06em;text-align:center;text-transform:uppercase}.calendar-weekdays span:last-child{border-right:0}
.calendar-grid{min-height:25rem;overflow:hidden;background-color:var(--surface-2);background-image:linear-gradient(to right,transparent calc(14.285% - 1px),var(--border-subtle) calc(14.285% - 1px),var(--border-subtle) 14.285%,transparent 14.285%),linear-gradient(to bottom,transparent calc(20% - 1px),var(--border-subtle) calc(20% - 1px),var(--border-subtle) 20%,transparent 20%);background-size:14.285% 100%,100% 20%;border:1px solid var(--border-color);border-radius:0 0 var(--radius-md) var(--radius-md)}.calendar-day{min-height:7rem;padding:.5rem;background:var(--surface-1);border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}.calendar-day.is-today{box-shadow:inset 0 3px 0 var(--brand-yellow)}.calendar-event{display:block;margin-top:.375rem;padding:.25rem .4rem;overflow:hidden;color:var(--accent-blue);background:var(--accent-blue-soft);border-left:2px solid currentColor;border-radius:var(--radius-sm);font-size:.625rem;text-overflow:ellipsis;white-space:nowrap}
.calendar-legend{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;background:var(--surface-1);border:1px solid var(--border-color);border-radius:var(--radius-md)}.calendar-legend span{display:inline-flex;align-items:center;gap:.35rem;color:var(--text-secondary);font-size:.6875rem}.calendar-legend span::before{width:.45rem;height:.45rem;border-radius:50%;background:var(--status-draft);content:""}.calendar-legend [data-status=Approved]::before{background:var(--status-approved)}.calendar-legend [data-status=Confirmed]::before{background:var(--status-confirmed)}.calendar-legend [data-status=Postponed]::before{background:var(--status-postponed)}.calendar-legend [data-status=Completed]::before{background:var(--status-completed)}

/* Reports, settings and footer */
.report-grid,.analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:1rem}.report-grid canvas,.analytics-grid canvas{display:block;width:100%;min-height:15rem;background:var(--surface-2);border:1px dashed var(--border-color);border-radius:var(--radius-md)}
.settings-layout{display:grid;grid-template-columns:minmax(12rem,15rem) minmax(0,1fr);min-height:28rem}.settings-navigation{display:flex;flex-direction:column;gap:.25rem;padding:1rem;border-right:1px solid var(--border-subtle)}.settings-navigation h2{margin-bottom:.75rem;font-size:1.125rem}.settings-navigation a{display:flex;min-height:2.375rem;align-items:center;padding:.5rem .625rem;color:var(--text-secondary);border:1px solid transparent;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.settings-navigation a:hover,.settings-navigation a[aria-current=page]{color:var(--text-primary);background:var(--surface-hover);border-color:var(--border-subtle)}.settings-content{min-width:0}
.app-footer{display:flex;min-height:4rem;align-items:center;justify-content:space-between;gap:1rem;padding:.875rem var(--content-gutter);color:var(--text-muted);background:var(--bg-secondary);border-top:1px solid var(--border-subtle);font-size:.6875rem}.app-footer p{display:flex;align-items:center;gap:.5rem;margin:0}.app-footer strong{color:var(--text-secondary);font-weight:650}.app-footer [data-system-status] i{color:var(--success);font-size:.4rem}

/* Motion */
.fade-in{animation:axon-fade-in var(--transition-slow) both}.slide-up{animation:axon-slide-up var(--transition-slow) both}.card-hover,.interactive-card{transition:all var(--transition-normal)}.card-hover:hover,.interactive-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}
@keyframes axon-fade-in{from{opacity:0}to{opacity:1}}@keyframes axon-slide-up{from{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:none}}

/* Responsive */
@media(max-width:1399.98px){.directory-grid,.resource-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1199.98px){.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1199.98px){.app-sidebar{width:14rem}.app-main{margin-left:14rem}.app-topbar{grid-template-columns:minmax(8rem,.55fr) minmax(15rem,1.2fr) auto;gap:.75rem}.dashboard-grid{grid-template-columns:1fr}.form-grid,.filter-bar,.report-filters,.calendar-filters{grid-template-columns:repeat(3,minmax(10rem,1fr))}.status-filter-row{grid-template-columns:repeat(8,minmax(7rem,1fr))}}
@media(max-width:991.98px){.app-sidebar{width:var(--sidebar-width);transform:translateX(-100%);transition:transform var(--transition-normal)}.app-main{margin-left:0}.topbar-menu{display:inline-grid}.app-topbar{grid-template-columns:auto minmax(12rem,1fr) auto}.topbar-page-title{display:none}.operations-summary dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem 0}.operations-summary dl>div:nth-child(3){border-right:0}.operations-summary dl>div:nth-child(4){padding-left:0}.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-grid,.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-weekdays,.calendar-grid{min-width:48rem}.calendar-toolbar+.panel-body{overflow-x:auto}}
@media(max-width:767.98px){body{font-size:.8125rem}.app-topbar{grid-template-columns:auto 1fr auto;padding-block:.625rem}.global-search{max-width:none}.global-search kbd,.topbar-utilities .btn-icon:not(.theme-control){display:none}.topbar-utilities .btn-primary{width:2.375rem;min-width:2.375rem;padding:0}.topbar-utilities .btn-primary i{margin:0}.topbar-utilities .btn-primary span{display:none}.page-content{padding-top:1.25rem}.page-header{align-items:flex-start;flex-direction:column;gap:1rem}.page-actions{width:100%;justify-content:flex-start}.page-actions>button,.page-actions>a{flex:1 1 auto}.panel-header,.panel-body{padding-inline:.875rem}.operations-summary dl{grid-template-columns:repeat(2,minmax(0,1fr))}.operations-summary dl>div{padding-inline:.75rem}.operations-summary dl>div:nth-child(2n){border-right:0}.operations-summary dl>div:nth-child(3){padding-left:0;border-right:1px solid var(--border-subtle)}.operations-summary dl>div:nth-child(4){padding-left:.75rem}.operations-summary dl>div:nth-child(5){padding-left:0;border-right:0}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-card{min-height:6.25rem;padding:.875rem}.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid,.filter-bar,.report-filters,.calendar-filters,.report-grid,.analytics-grid{grid-template-columns:1fr}.settings-layout{grid-template-columns:1fr}.settings-navigation{border-right:0;border-bottom:1px solid var(--border-subtle)}.app-footer{align-items:flex-start;flex-direction:column;gap:.375rem}}
@media(max-width:575.98px){.global-search .form-control{padding-right:.75rem}.global-search .form-control::placeholder{color:transparent}.page-header h1{font-size:2rem}.operations-summary dl{grid-template-columns:1fr}.operations-summary dl>div,.operations-summary dl>div:nth-child(n){padding:.5rem 0;border-right:0;border-bottom:1px solid var(--border-subtle)}.operations-summary dl>div:last-child{border-bottom:0}.operations-summary dd{font-size:1.25rem}.kpi-card{display:flex;min-height:5.75rem;flex-direction:column;align-items:flex-start;gap:.25rem}.kpi-icon{position:absolute;top:.75rem;right:.75rem;width:2rem;height:2rem}.kpi-card>strong{padding-right:2.25rem}.quick-actions{gap:.5rem}.quick-actions a{min-height:3.75rem;padding-left:.75rem;font-size:.75rem}.directory-grid,.resource-grid{grid-template-columns:1fr}}
@media(max-width:389.98px){.topbar-utilities{gap:.375rem}.topbar-utilities .theme-control{display:none}.kpi-grid,.quick-actions{grid-template-columns:1fr}.page-actions>button,.page-actions>a{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto;animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms}}

.quick-actions a::after{display:none}.quick-actions a{gap:.75rem;padding-right:1rem}.quick-action-icon{display:grid;width:2.25rem;height:2.25rem;flex:0 0 auto;place-items:center;color:var(--brand-yellow);background:var(--brand-yellow-soft);border:1px solid color-mix(in srgb,var(--brand-yellow) 28%,transparent);border-radius:var(--radius-md)}.quick-actions a>.bi-chevron-right{margin-left:auto;color:var(--text-muted);font-size:.875rem;transition:color var(--transition-fast),transform var(--transition-fast)}.quick-actions a:hover>.bi-chevron-right{color:var(--brand-yellow);transform:translateX(2px)}

/* Phase 3 interactive states */
.sidebar-overlay{position:fixed;inset:0;z-index:calc(var(--z-sidebar) - 1);display:block;width:100%;height:100%;padding:0;visibility:hidden;background:rgba(3,7,12,.62);border:0;opacity:0;pointer-events:none;transition:opacity var(--transition-normal),visibility var(--transition-normal)}
.search-results{position:absolute;top:calc(100% + .5rem);right:0;left:0;z-index:var(--z-dropdown);max-height:min(28rem,70vh);padding:.375rem;overflow-y:auto;background:var(--surface-2);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}
.search-result-item{display:flex;min-height:3.5rem;align-items:center;gap:.75rem;padding:.625rem .75rem;color:var(--text-primary);border:1px solid transparent;border-radius:var(--radius-md)}
.search-result-item>i{display:grid;width:2rem;height:2rem;flex:0 0 auto;place-items:center;color:var(--brand-yellow);background:var(--brand-yellow-soft);border-radius:var(--radius-sm)}
.search-result-item>span{display:flex;min-width:0;flex-direction:column}.search-result-item strong{overflow:hidden;font-size:.75rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.search-result-item small{margin-top:.125rem;overflow:hidden;color:var(--text-muted);font-size:.625rem;text-overflow:ellipsis;white-space:nowrap}
.search-result-item:hover,.search-result-item.active{color:var(--text-primary);background:var(--surface-hover);border-color:var(--border-hover)}.search-empty{margin:0;padding:1rem;color:var(--text-muted);font-size:.75rem;text-align:center}

.axon-toast-container{position:fixed;top:calc(var(--topbar-height) + 1rem);right:1rem;z-index:calc(var(--z-modal) + 10);display:flex;width:min(24rem,calc(100vw - 2rem));flex-direction:column;gap:.5rem;pointer-events:none}
.axon-toast{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:.65rem;padding:.8rem .875rem;color:var(--text-primary);background:var(--surface-2);border:1px solid var(--border-color);border-left:3px solid var(--accent-blue);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);opacity:0;pointer-events:auto;transform:translateX(1rem);transition:opacity var(--transition-normal),transform var(--transition-normal)}
.axon-toast.is-visible{opacity:1;transform:none}.axon-toast.is-leaving{animation:axon-toast-out var(--transition-normal) both}.axon-toast[data-type=success]{border-left-color:var(--success)}.axon-toast[data-type=error]{border-left-color:var(--danger)}.axon-toast[data-type=warning]{border-left-color:var(--warning)}.axon-toast>i{margin-top:.1rem;color:var(--accent-blue)}.axon-toast[data-type=success]>i{color:var(--success)}.axon-toast[data-type=error]>i{color:var(--danger)}.axon-toast[data-type=warning]>i{color:var(--warning)}
.axon-toast-message{font-size:.75rem;line-height:1.45}.axon-toast-close{display:grid;width:1.75rem;height:1.75rem;padding:0;place-items:center;color:var(--text-muted);background:transparent;border:0;border-radius:var(--radius-sm)}.axon-toast-close:hover{color:var(--text-primary);background:var(--surface-hover)}
@keyframes axon-toast-out{to{opacity:0;transform:translateX(1rem)}}

.demo-data-banner,.demo-data-note{color:var(--text-secondary);background:var(--accent-blue-soft);border:1px solid color-mix(in srgb,var(--accent-blue) 24%,transparent);border-radius:var(--radius-md)}
.demo-data-banner{display:flex;align-items:center;gap:.55rem;margin:-.5rem 0 1rem;padding:.65rem .8rem;font-size:.6875rem}.demo-data-banner>i{color:var(--accent-blue)}.demo-data-banner strong{color:var(--text-primary)}
.demo-data-note{padding:.65rem .75rem;font-size:.6875rem}

.modal-title{font-size:1.35rem}.modal-form{display:grid;gap:.875rem}.modal-form p{margin-bottom:0}.btn-close{--bs-btn-close-color:var(--text-primary);filter:none;opacity:.7}.btn-close:hover{opacity:1}
.detail-list{display:grid;gap:0;margin:0}.detail-list>div{display:grid;grid-template-columns:minmax(8rem,.45fr) minmax(0,1fr);gap:1rem;padding:.65rem 0;border-bottom:1px solid var(--border-subtle)}.detail-list>div:last-child{border-bottom:0}.detail-list dt{color:var(--text-muted);font-size:.6875rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.detail-list dd{margin:0;color:var(--text-primary);font-size:.75rem}
.verification-result{margin-top:.875rem;padding:.75rem;border-radius:var(--radius-md);font-size:.75rem}.verification-result:empty{display:none}.verification-result.is-info{color:var(--accent-blue);background:var(--accent-blue-soft);border:1px solid color-mix(in srgb,var(--accent-blue) 30%,transparent)}.verification-result.is-error{color:var(--danger);background:var(--danger-soft);border:1px solid color-mix(in srgb,var(--danger) 30%,transparent)}

.dynamic-form-section{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-subtle)}.dynamic-form-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}.dynamic-form-section h3{margin-bottom:.875rem;font-size:1.125rem}.dynamic-grid[data-columns="1"]{grid-template-columns:1fr}.dynamic-grid[data-columns="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.dynamic-grid[data-columns="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.dynamic-field{min-width:0}.field-hint{margin:.3rem 0 0;color:var(--text-muted);font-size:.625rem;line-height:1.4}.dynamic-field select[multiple]{min-height:7.25rem;padding:.35rem}.was-validated :invalid,.is-invalid{border-color:var(--danger);box-shadow:0 0 0 .15rem var(--danger-soft)}
.resource-card-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-subtle)}.directory-contacts{display:flex;flex-direction:column;gap:.2rem;margin-top:.65rem}.directory-contacts a{overflow:hidden;font-size:.6875rem;text-overflow:ellipsis;white-space:nowrap}
.table-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.3rem}.table-actions .btn{white-space:nowrap}

.calendar-day-number{display:inline-grid;min-width:1.5rem;height:1.5rem;place-items:center;color:var(--text-secondary);font-size:.6875rem;font-weight:650}.calendar-day.is-today .calendar-day-number{color:var(--text-on-brand);background:var(--brand-yellow);border-radius:50%}.calendar-day.is-outside{background:color-mix(in srgb,var(--surface-2) 60%,transparent)}.calendar-day.is-outside .calendar-day-number{color:var(--text-muted);opacity:.55}.calendar-event{width:100%;text-align:left;border-top:0;border-right:0;border-bottom:0;cursor:pointer}.calendar-event[data-status=Approved],.calendar-event[data-status=Completed]{color:var(--success);background:var(--success-soft)}.calendar-event[data-status=Postponed]{color:var(--accent-purple);background:var(--accent-purple-soft)}.calendar-event[data-status="Pending Approval"]{color:var(--warning);background:var(--warning-soft)}
.settings-placeholder{max-width:46rem}.settings-placeholder>i{display:grid;width:2.75rem;height:2.75rem;margin-bottom:1rem;place-items:center;color:var(--brand-yellow);background:var(--brand-yellow-soft);border-radius:var(--radius-md);font-size:1.25rem}.settings-placeholder h2{margin-bottom:.5rem}.settings-placeholder>p:not(.demo-data-note){color:var(--text-secondary)}
.status-filter-row button.active,.view-switcher button.active{color:var(--text-primary);background:var(--brand-yellow-soft);border-color:var(--brand-yellow)}

@media(max-width:991.98px){body.sidebar-open{overflow:hidden}body.sidebar-open .app-sidebar{visibility:visible;transform:translateX(0);box-shadow:var(--shadow-lg)}body.sidebar-open .sidebar-overlay{visibility:visible;opacity:1;pointer-events:auto}.dynamic-grid[data-columns="3"],.dynamic-grid[data-columns="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767.98px){.search-results{position:fixed;top:var(--topbar-height);right:var(--content-gutter);left:var(--content-gutter);max-height:60vh}.dynamic-grid[data-columns="3"],.dynamic-grid[data-columns="2"]{grid-template-columns:1fr}.detail-list>div{grid-template-columns:1fr;gap:.2rem}.axon-toast-container{top:calc(var(--topbar-height) + .5rem);right:.5rem;width:calc(100vw - 1rem)}}
