*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:#0a0a0a;color:#e8e8e8;line-height:1.6;min-height:100vh}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{color:#fff;font-weight:600;line-height:1.3}h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}a{color:#ef4444;text-decoration:none}a:hover{color:#fca5a5}input,textarea,select{width:100%;padding:.625rem .75rem;background-color:#111;border:1px solid #2a2a2a;border-radius:6px;color:#e8e8e8;font-size:.9375rem;font-family:inherit;transition:border-color .2s ease}input:focus,textarea:focus,select:focus{outline:none;border-color:#dc2626;box-shadow:0 0 0 2px #dc262633}input::placeholder,textarea::placeholder{color:#555}label{display:block;font-size:.875rem;font-weight:500;color:#888;margin-bottom:.375rem}button{cursor:pointer;font-family:inherit;font-size:.9375rem;border:none;border-radius:6px;padding:.625rem 1.25rem;font-weight:500;transition:background-color .2s ease,opacity .2s ease}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:#dc2626;color:#fff}.btn-primary:hover:not(:disabled){background-color:#b91c1c}.btn-secondary{background-color:#2a2a2a;color:#e8e8e8}.btn-secondary:hover:not(:disabled){background-color:#333}.btn-danger{background-color:#f97316;color:#fff}.btn-danger:hover:not(:disabled){background-color:#ea580c}.form-group{margin-bottom:1rem}.form-error{color:#f97316;font-size:.8125rem;margin-top:.25rem}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0a0a0a}::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#333}*{scrollbar-width:thin;scrollbar-color:#2a2a2a #0a0a0a}.btn-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:6px;color:#888;cursor:pointer;transition:background-color .15s ease,color .15s ease}.btn-icon:hover{background-color:#2a2a2a;color:#e8e8e8}.btn-danger-icon:hover{background-color:#f9731626;color:#f97316}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:200;padding:1rem}.modal-content{background-color:#141414;border:1px solid #2a2a2a;border-radius:12px;padding:1.5rem;max-height:90vh;overflow-y:auto}.form-field{display:flex;flex-direction:column;gap:.25rem}.form-field label{font-size:.8125rem;font-weight:500;color:#888;margin-bottom:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.mobile-topbar,.sidebar-backdrop{display:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:.4}50%{opacity:.8}}.exercise-row{transition:background-color .15s ease}.exercise-row:hover{background-color:#1a1a1a!important}@media(max-width:768px){.mobile-topbar{display:flex;align-items:center;gap:.75rem;position:fixed;top:0;left:0;right:0;height:52px;background-color:#111;border-bottom:1px solid #2a2a2a;padding:0 1rem;z-index:150}.hamburger-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:transparent;border:none;border-radius:6px;color:#e8e8e8;cursor:pointer}.hamburger-btn:hover{background-color:#2a2a2a}.mobile-topbar-logo{font-size:1.125rem;font-weight:700;color:#fff;letter-spacing:-.02em}[data-sidebar]{width:240px!important;transform:translate(-100%);transition:transform .25s ease;z-index:200!important}[data-sidebar].sidebar-open{transform:translate(0)}[data-sidebar] .nav-label,[data-sidebar] span,[data-sidebar] p,[data-sidebar] h1{display:revert}[data-sidebar] nav a{justify-content:flex-start;padding:.625rem .75rem!important}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:199}[data-content]{margin-left:0!important;padding:1rem!important;padding-top:68px!important}.program-header-actions{flex-wrap:wrap}.stat-cards-grid{grid-template-columns:1fr!important}.day-columns-container{flex-direction:column!important;overflow-x:visible!important}.day-columns-container>*{min-width:unset!important;max-width:unset!important;width:100%!important}.btn-icon{width:44px;height:44px;min-width:44px;min-height:44px}.btn-icon+.btn-icon{margin-left:4px}[data-sidebar] nav a{padding:.75rem!important;min-height:44px}button{min-height:44px}}
