/* FITCORE Design DNA — staff/admin shell and shared components.
   Loaded last to supersede prior FITMAX neon/green overrides. */
html[data-theme="light"] body.app-shell,html[data-theme="dark"] body.app-shell {
 color:var(--text)!important;background:var(--page)!important;line-height:1.5;
}
body.app-shell{font-size:14px;overflow-x:clip}
body.app-shell .sidebar,html[data-theme="light"] body.app-shell .sidebar{
 width:var(--sidebar-width);background:var(--sidebar)!important;color:#C0CBD6!important;
 border-right:1px solid #26303A;box-shadow:none;backdrop-filter:none;
}
body.app-shell .sidebar-brand{min-height:72px;border-color:#253140;}
body.app-shell .sidebar-nav{padding:16px 12px;scrollbar-color:#3B4652 transparent;}
body.app-shell .nav-section-label{color:#8B98A6;font-size:11px;letter-spacing:.1em;}
body.app-shell .nav-item{min-height:43px;border:0;border-radius:9px;color:#BCC8D5;background:transparent;font-size:13px;font-weight:600;}
body.app-shell .nav-item:hover{background:#1F2D3A;color:#FFF;}
body.app-shell .nav-item.active,html[data-theme="light"] body.app-shell .nav-item.active {
 color:white;background:var(--brand-600)!important;box-shadow:none!important;
}
body.app-shell .nav-icon,body.app-shell .nav-subicon{color:inherit}
body.app-shell .nav-group> .nav-group-toggle,html[data-theme="light"] body.app-shell .nav-group> .nav-group-toggle{background:transparent!important;color:#BCC8D5;}
body.app-shell .nav-group> .nav-group-toggle:hover{background:#1F2D3A!important;color:white;}
body.app-shell .nav-submenu{border-left:1px solid #405060;margin-left:19px;padding-left:10px;}
body.app-shell .nav-subitem{min-height:39px;color:#AEBDCD;font-size:12px;border-radius:9px;}
body.app-shell .nav-subitem:hover{background:#253341;color:#FFF;}
body.app-shell .nav-subitem.active,html[data-theme="light"] body.app-shell .nav-subitem.active{background:var(--brand-600)!important;color:white!important;box-shadow:none!important;}
body.app-shell .sidebar-version{border-color:#344252;color:#CBD5DF;background:#15222D;}
body.app-shell .sidebar-version strong{color:#F3F6FA;}
body.app-shell .sidebar-version small{color:#A4B4C4;}
body.app-shell .app-main{min-width:0;}
body.app-shell .topbar,html[data-theme="light"] body.app-shell .topbar {
 min-height:72px;padding:12px clamp(16px,2vw,32px);gap:16px;
 background:var(--topbar)!important;color:#F3F6FA!important;border-color:#273545;
 backdrop-filter:none;box-shadow:none;
}
body.app-shell .topbar .eyebrow{color:#A8B8C8;font-size:10px;}
.fitcore-topbar-identity strong{font-size:14px;color:#F3F6FA;}
.fitcore-search-link{display:flex;align-items:center;gap:9px;width:min(260px,26vw);min-height:42px;padding:0 13px;border:1px solid #384656;border-radius:9px;color:#D5DFE7;background:#1A2A38;font-size:12px;}
.fitcore-search-link:hover{border-color:#708091;background:#263747;color:white;}
body.app-shell .topbar .icon-button:not(:disabled){border:1px solid #36495A;color:#F3F6FA;background:#243341;}
body.app-shell .topbar .icon-button:hover:not(:disabled){background:#334556;color:#FFF;}
body.app-shell .topbar .user-summary{color:#F3F6FA;}
body.app-shell .topbar .user-copy small{color:#B2C0CC;}
body.app-shell .topbar .avatar{border:1px solid #DA5E66;color:white;background:#84373F;}
body.app-shell .page-content{width:min(100%,1700px);padding:clamp(16px,2vw,32px);}
body.app-shell .page-intro h2{color:var(--text);font-size:clamp(26px,2.6vw,36px);font-weight:800;letter-spacing:-.045em;}
body.app-shell .eyebrow{color:var(--brand-700);font-size:11px;letter-spacing:.07em;}
html[data-theme="dark"] body.app-shell .eyebrow{color:#FF8586;}
body.app-shell .card,html[data-theme="light"] body.app-shell .card{
 border:1px solid var(--border)!important;border-radius:16px!important;
 color:var(--text);background:var(--surface)!important;
 box-shadow:var(--shadow-card)!important;
}
body.app-shell .card-header{border-color:var(--border);}
body.app-shell .card-header h3{font-size:18px;font-weight:750;}
body.app-shell .button,body.login-page .button {min-height:42px;gap:9px;padding:10px 16px;border-radius:9px;font-size:13px;font-weight:700;box-shadow:none!important;transform:none!important;transition:background 140ms,border-color 140ms,color 140ms;}
body.app-shell .button-primary,body.login-page .button-primary,
html[data-theme="light"] body.app-shell .button-primary{background:var(--brand-600)!important;color:#FFF!important;border:1px solid var(--brand-600)!important;}
body.app-shell .button-primary:hover:not(:disabled),body.login-page .button-primary:hover:not(:disabled),
html[data-theme="light"] body.app-shell .button-primary:hover:not(:disabled){background:var(--brand-700)!important;border-color:var(--brand-700)!important;color:white!important;}
body.app-shell .button-secondary,body.login-page .button-secondary,
html[data-theme="light"] body.app-shell .button-secondary,
body.app-shell .row-actions button:not(.button),body.app-shell .schedule-actions button:not(.button){background:var(--surface)!important;color:var(--text)!important;border:1px solid var(--border-strong)!important;}
body.app-shell .button-secondary:hover:not(:disabled),body.login-page .button-secondary:hover:not(:disabled),
html[data-theme="light"] body.app-shell .button-secondary:hover:not(:disabled){background:var(--surface-muted)!important;color:var(--text)!important;border-color:var(--brand-600)!important;}
body.app-shell .button-danger,html[data-theme="light"] body.app-shell .button-danger{color:#FFF!important;background:#B42333!important;border-color:#B42333!important;}
body.app-shell .button-danger:hover:not(:disabled){background:#8F1525!important;}
body.app-shell .button:disabled{opacity:.48;cursor:not-allowed;}
body.app-shell .icon-button:not(.topbar .icon-button){border:1px solid var(--border-strong);background:var(--surface-muted);color:var(--text);}
body.app-shell .form-field>span:first-child{font-size:12px;color:var(--text);font-weight:700;}
body.app-shell .form-field input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),
body.app-shell .form-field textarea,body.app-shell .form-field select,body.app-shell .search-field,body.app-shell .select-control{
 min-height:42px;color:var(--text)!important;background:var(--surface)!important;border:1px solid var(--border-strong)!important;border-radius:9px;
}
body.app-shell .form-field input:focus-visible,body.app-shell .form-field textarea:focus-visible,body.app-shell .form-field select:focus-visible{outline:2px solid var(--brand-600);outline-offset:1px;}
body.app-shell .data-table{border-collapse:separate;border-spacing:0;width:100%;font-size:12px;}
body.app-shell .data-table th{font-size:11px;font-weight:750;color:var(--text-secondary);background:var(--surface-muted);}
body.app-shell .data-table td{border-color:var(--border);font-size:12px;color:var(--text);}
body.app-shell .data-table tbody tr:hover{background:var(--surface-muted)!important;}
body.app-shell .data-table td strong{font-size:12px;color:var(--text);}
body.app-shell .data-table td small{font-size:11px;color:var(--text-muted);}
body.app-shell .data-table td.numeric,body.app-shell .data-table th.numeric{text-align:right;font-variant-numeric:tabular-nums;}
body.app-shell .status-badge{font-size:11px;font-weight:700;}
body.app-shell .status-success{color:#168451;background:#E5F7EE;}
body.app-shell .status-warning{color:#935706;background:#FFF4DB;}
body.app-shell .status-danger{color:#B42333;background:#FDECEF;}
body.app-shell .status-info{color:#175CD3;background:#EAF2FF;}
body.app-shell .metric-card,body.app-shell .kpi-card{border-radius:16px;background:var(--surface);border:1px solid var(--border);}
body.app-shell .ranking-track>span,body.app-shell .member-progress>span{background:var(--brand-600)!important;}
body.app-shell .page-content .stage-badge{border-color:rgba(218,47,54,.23);color:var(--brand-700);background:rgba(218,47,54,.07);}
body.app-shell .qr-frame{background:#FFF;}
body.app-shell .app-footer{color:var(--text-muted);border-color:var(--border);}
body.login-page,html[data-theme="light"] body.login-page,html[data-theme="dark"] body.login-page{color:var(--text);background:var(--page)!important;}
body.login-page .login-visual{background:var(--sidebar)!important;color:white;}
body.login-page .login-visual-content h1{color:#FFF;}
body.login-page .login-visual-content h1 span{color:#FF776E;}
body.login-page .login-visual-content>p{color:#C0CBD6;font-size:14px;}
body.login-page .login-panel,html[data-theme="light"] body.login-page .login-panel{background:var(--page)!important;}
body.login-page .login-card,html[data-theme="light"] body.login-page .login-card{background:var(--surface)!important;color:var(--text)!important;border:1px solid var(--border)!important;border-radius:16px;box-shadow:var(--shadow-card)!important;}
body.login-page .login-subtitle{color:var(--text-secondary);font-size:13px;}
body.login-page .login-feature-grid .mini-feature{border-color:#354455;background:#192733;color:#F3F6FA;}
body.login-page .login-feature-grid .mini-feature small{color:#B2C0CC;}
body.login-page .password-toggle{background:var(--surface-muted)!important;color:var(--text)!important;border-color:var(--border)!important;}
body.login-page .form-field input{color:var(--text)!important;background:var(--surface)!important;border-color:var(--border-strong)!important;min-height:44px;}
body.login-page .security-note-box{background:var(--surface-muted);border:1px solid var(--border);}
body.login-page .stage-badge{border-color:#6F474C;color:#FFC8C5;background:#41262D;}
body.login-page .login-card .eyebrow{color:var(--brand-700);}
/* Desktop collapse must win over the default 250px sidebar rule. */
@media(min-width:1051px){
 body.app-shell.sidebar-collapsed .sidebar,html[data-theme="light"] body.app-shell.sidebar-collapsed .sidebar{width:var(--sidebar-collapsed)!important;}
}
/* Responsive shell: 1050px drawer threshold from DNA. */
@media (max-width:1050px){
 body.app-shell .sidebar,html[data-theme="light"] body.app-shell .sidebar,body.app-shell.sidebar-collapsed .sidebar{z-index:115;width:250px!important;transform:translateX(-105%);}
 body.app-shell .app-main,body.app-shell.sidebar-collapsed .app-main{margin-left:0!important;}
 body.app-shell.mobile-menu-open .sidebar{transform:translateX(0);}
 body.app-shell .mobile-menu-button{display:inline-grid;}
 body.app-shell .mobile-scrim{z-index:110;}
 body.app-shell.mobile-menu-open .mobile-scrim{display:block;}
 body.app-shell .sidebar-toggle{display:none;}
 body.app-shell.sidebar-collapsed .nav-label,body.app-shell.sidebar-collapsed .nav-section-label,body.app-shell.sidebar-collapsed .sidebar-version>div{display:initial;}
 body.app-shell.sidebar-collapsed .sidebar-brand{justify-content:space-between;padding:18px 16px 18px 20px;}
 body.app-shell.sidebar-collapsed .brand-logo{width:142px;opacity:1;}
 body.app-shell.sidebar-collapsed .nav-item{justify-content:flex-start;padding-inline:12px;}
}
@media(max-width:760px){
 body.app-shell .page-content{padding:16px;}
 body.app-shell .fitcore-search-link{display:none;}
 body.app-shell .topbar{gap:10px;padding:10px 16px;}
 body.app-shell .page-intro{flex-wrap:wrap;}
 body.app-shell .page-intro h2{font-size:26px;}
 body.app-shell .dashboard-grid{grid-template-columns:1fr;}
 body.app-shell .data-table-wrap,body.app-shell .table-scroll{max-width:100%;overflow-x:auto;}
}
@media(max-width:430px){body.app-shell .page-content{padding:12px;}body.app-shell .topbar .user-copy{display:none;}}
@media(prefers-reduced-motion:reduce){body.app-shell *,body.login-page *{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}}
