/* Keep the mockup's light/dark palette; follow Windows instead of forcing light mode. */
html,body{margin:0;min-height:100%;background:light-dark(#f3f5f6,#11191e);color-scheme:light dark;font-family:'Segoe UI',system-ui,sans-serif}
#nexo-gym{border:0;border-radius:0;min-height:100vh;overflow:visible}
#nexo-gym .ng-layout{min-height:calc(100vh - 37px)}
#nexo-gym .ng-sidebar{position:sticky;top:0;height:calc(100vh - 37px);box-sizing:border-box}
#nexo-gym .ng-workspace{display:flex;flex-direction:column}
#nexo-gym .ng-content{flex:1}
#nexo-gym .ng-footer{margin-top:auto}
#nexo-gym .ng-dialog-host{position:fixed;inset:0;z-index:100;overflow:auto;align-items:flex-start;padding:6vh 20px 30px}
#nexo-gym .ng-dialog{max-height:88vh;overflow:auto;margin:auto}
#nexo-gym .ng-brandmark svg{width:19px;height:19px}
#nexo-gym .ng-form:has([aria-busy=true]){opacity:.8}
#nexo-gym .app-unavailable{opacity:.55;cursor:not-allowed}
#nexo-gym .app-empty-note{padding:18px;color:var(--gym-muted);font-size:12px}
#nexo-gym .app-sync-list{padding:0 18px}
#nexo-gym .app-login-brand{text-align:center;margin-bottom:20px;color:var(--gym-accent)}
#nexo-gym .app-login-brand strong{display:block;font-size:25px;letter-spacing:4px}
#nexo-gym .ng-receipt dl dd{overflow-wrap:anywhere}
#nexo-gym .app-detail{max-width:400px;white-space:normal;overflow-wrap:anywhere}
#nexo-gym .app-settings-note{padding:18px;display:grid;gap:12px}
#nexo-gym .app-radio-row{display:flex;gap:12px;align-items:center;font-size:12px}
#nexo-gym .app-filter-line{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:0 0 18px}
#nexo-gym .app-filter-line .ng-field{flex:1}
#nexo-gym .ng-dialoghead{position:sticky;top:0;background:var(--gym-surface);z-index:2}
#nexo-gym .ng-notice{margin-bottom:0}
#nexo-gym td.g2-empty{text-align:center}
@media(max-width:700px){#nexo-gym .ng-sidebar{position:static;height:auto}#nexo-gym .ng-dialog{max-height:90vh}}
@media print{html,body{color-scheme:only light;background:white}#nexo-gym .ng-sidebar,#nexo-gym .ng-topbar,#nexo-gym .ng-content,#nexo-gym .ng-footer,#nexo-gym .ng-titlebar,#nexo-gym .ng-dialoghead,#nexo-gym .ng-dialog .ng-actions{display:none!important}#nexo-gym .ng-layout,#nexo-gym .ng-workspace{display:block}#nexo-gym .ng-dialog-host{position:static;padding:0;background:white}#nexo-gym .ng-dialog{box-shadow:none;border:0;width:100%;max-height:none}}
