:root{--color-background: #ECECDB;--color-surface: #ffffff;--color-primary: #555;--color-secondary: #888;--color-accent: #f9a52b;--color-accent-hover: #d68f25;--color-on-accent: #1f1f1f;--color-row-alt: rgba(0, 0, 0, .04);--color-row-hover: rgba(249, 165, 43, .16);--color-border: #d4d4a9;--color-header-bg: #555;--color-header-border: #222;--color-header-text: #BBB;--color-success: #28a745;--color-error: #cf6679;--color-info: #17a2b8;--color-success-bg: rgba(40, 167, 69, .1);--color-error-bg: rgba(207, 102, 121, .1);--color-info-bg: rgba(99, 179, 237, .15);--font-family-base: "ubuntu", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-base: .95rem;--font-size-sm: .8rem;--font-size-lg: 1.1rem;--line-height-base: 1.4;--spacing-unit: 6px;--spacing-1: var(--spacing-unit);--spacing-2: calc(var(--spacing-unit) * 2);--spacing-3: calc(var(--spacing-unit) * 3);--spacing-4: calc(var(--spacing-unit) * 4);--spacing-5: calc(var(--spacing-unit) * 5);--border-radius: .3em;--box-shadow: 0 2px 8px rgba(0, 0, 0, .08);--transition: .2s ease-in-out;--header-height: 46px;--footer-height: 64px}body[data-theme=solLight]{--color-background: #fdf6e3;--color-surface: #fffdf0;--color-primary: #586e75;--color-secondary: #657b83;--color-accent: #b58900;--color-accent-hover: #9d7600;--color-on-accent: #073642;--color-row-alt: rgba(181, 137, 0, .08);--color-row-hover: rgba(181, 137, 0, .18);--color-border: #e6cd8c;--color-header-bg: #073642;--color-header-border: #c09a2c;--color-header-text: #fdf6e3;--color-success: #859900;--color-error: #dc322f;--color-info: #268bd2;--color-success-bg: rgba(133, 153, 0, .18);--color-error-bg: rgba(220, 50, 47, .18);--color-info-bg: rgba(38, 139, 210, .18);--box-shadow: 0 4px 12px rgba(181, 137, 0, .18)}body[data-theme=solDark]{--color-background: #002b36;--color-surface: #073642;--color-primary: #93a1a1;--color-secondary: #839496;--color-accent: #b58900;--color-accent-hover: #c49a1c;--color-on-accent: #002b36;--color-row-alt: rgba(147, 161, 161, .12);--color-row-hover: rgba(38, 139, 210, .2);--color-border: rgba(147, 161, 161, .4);--color-header-bg: #073642;--color-header-border: #268bd2;--color-header-text: #fdf6e3;--color-success: #859900;--color-error: #dc322f;--color-info: #268bd2;--color-success-bg: rgba(133, 153, 0, .24);--color-error-bg: rgba(220, 50, 47, .28);--color-info-bg: rgba(38, 139, 210, .32);--box-shadow: 0 6px 18px rgba(0, 0, 0, .6)}body[data-theme=oledBlack]{--color-background: #000000;--color-surface: #000000;--color-primary: #e0e0e0;--color-secondary: #a0a0a0;--color-accent: #f9a52b;--color-accent-hover: #ffb74d;--color-on-accent: #000000;--color-row-alt: #111111;--color-row-hover: #222222;--color-border: #333333;--color-header-bg: #000000;--color-header-border: #333333;--color-header-text: #ffffff;--color-success: #00e676;--color-error: #ff5252;--color-info: #40c4ff;--color-success-bg: rgba(0, 230, 118, .1);--color-error-bg: rgba(255, 82, 82, .1);--color-info-bg: rgba(64, 196, 255, .1);--box-shadow: none}*,*:before,*:after{box-sizing:border-box}html{background-color:var(--color-background);min-height:100%}body{margin:0;font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-primary);display:flex;justify-content:center;padding:0 var(--spacing-2);background-color:var(--color-background);min-height:100vh}#root{width:100%;max-width:900px;min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{margin:0 0 var(--spacing-2) 0;color:var(--color-accent);font-weight:600;line-height:1.2}h1{font-size:1.8em}h2{font-size:1.4em}h3{font-size:1.15em}p{margin:0 0 var(--spacing-2) 0}p:last-child{margin-bottom:0}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--color-accent);text-decoration:underline}.page-container{padding:var(--spacing-2);margin-top:calc(var(--header-height) + var(--spacing-2));padding-bottom:calc(var(--footer-height) + var(--spacing-2));min-height:calc(100vh - var(--header-height) - var(--footer-height))}.page-container--auth{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;margin-top:0;padding:var(--spacing-2) var(--spacing-2) calc(var(--footer-height) + var(--spacing-2))}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-3);gap:var(--spacing-2);flex-wrap:wrap}.page-actions{display:flex;justify-content:center;margin-top:var(--spacing-3)}.footer{background:var(--color-header-bg);border-top:6px solid var(--color-header-border);color:var(--color-header-text);position:fixed;bottom:0;left:0;right:0;height:var(--footer-height);display:flex;justify-content:center;align-items:center;padding:0 var(--spacing-3);border-radius:0;z-index:1000}.footer__inner{width:100%;max-width:900px;display:flex;justify-content:center;align-items:center;font-size:var(--font-size-sm)}.header{position:fixed;top:0;left:0;right:0;width:100%;height:40px;background:var(--color-header-bg);border-bottom:6px solid var(--color-header-border);padding:0 var(--spacing-3);display:flex;justify-content:center;z-index:1000}.header__inner{width:100%;max-width:900px;display:flex;justify-content:space-between;align-items:center}.header__brand{color:var(--color-accent);font-size:1.4rem;font-weight:700}.nav-toggle{background:transparent;border:none;color:var(--color-header-text);font-size:1.8rem;cursor:pointer;line-height:1;padding:0 var(--spacing-1)}.mobile-nav{position:fixed;top:46px;right:-100%;width:80%;max-width:300px;height:calc(100vh - 46px);background:var(--color-header-bg);padding:var(--spacing-3);transition:right var(--transition);z-index:999}.mobile-nav.is-open{right:0}.mobile-nav__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-1)}.mobile-nav__link{display:block;padding:var(--spacing-1) var(--spacing-2);color:var(--color-header-text);border-radius:var(--border-radius)}.mobile-nav__link:hover{background:var(--color-primary);text-decoration:none}.mobile-nav__separator{border:0;height:1px;background:var(--color-secondary);margin:var(--spacing-2) 0}.header .btn--secondary,.mobile-nav .btn--secondary{color:var(--color-header-text);border-color:var(--color-secondary)}.header .btn--secondary:hover:not(:disabled),.mobile-nav .btn--secondary:hover:not(:disabled){color:var(--color-accent);border-color:var(--color-accent);background:transparent;transform:translateY(0)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--spacing-2);box-shadow:var(--box-shadow);transition:transform var(--transition),box-shadow var(--transition)}.card--clickable:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.card--raised{background-color:var(--color-background)}.card--accordion .card__header{cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-1) var(--spacing-2);margin:calc(var(--spacing-1) * -1) calc(var(--spacing-2) * -1);margin-bottom:0;-webkit-tap-highlight-color:transparent}.card--accordion .card__header:hover{background:#00000008}.card--accordion .card__header .chevron{border-style:solid;border-color:var(--color-secondary);border-width:0 2px 2px 0;display:inline-block;padding:3px;transform:rotate(45deg);transition:transform .3s ease-in-out}.card--accordion.is-expanded .card__header .chevron{transform:rotate(-135deg)}.card__collapsible{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s ease-in-out}.card--accordion.is-expanded .card__collapsible{grid-template-rows:1fr}.card__body{overflow:hidden}.card--accordion.is-expanded .card__body{padding-top:var(--spacing-2);margin-top:var(--spacing-2);border-top:1px solid var(--color-border)}.btn{display:inline-block;padding:calc(var(--spacing-1) * .8) var(--spacing-2);font-size:var(--font-size-base);font-weight:600;border-radius:var(--border-radius);border:1px solid transparent;cursor:pointer;transition:background-color var(--transition),transform var(--transition),color var(--transition),border-color var(--transition);text-align:center}.btn:hover:not(:disabled){transform:translateY(-2px)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--primary{background:var(--color-accent);color:var(--color-on-accent);border-color:var(--color-accent)}.btn--primary:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover);color:var(--color-on-accent)}.btn--secondary{background:transparent;color:var(--color-primary);border-color:var(--color-border)}.btn--secondary:hover:not(:disabled){background:var(--color-background);border-color:var(--color-primary)}.btn--danger{background:transparent;color:var(--color-error);border-color:var(--color-error)}.btn--danger:hover:not(:disabled){background:var(--color-error);color:var(--color-surface)}.btn--sm{padding:calc(var(--spacing-1) / 2) var(--spacing-1);font-size:var(--font-size-sm)}.form-group{margin-bottom:var(--spacing-2)}.form-group label,.form-label{display:block;margin-bottom:var(--spacing-1);font-weight:500}.form-control{display:block;width:100%;padding:calc(var(--spacing-1) * .8) var(--spacing-2);border-radius:var(--border-radius);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-primary);font-size:var(--font-size-base);transition:border-color var(--transition),box-shadow var(--transition)}.form-control:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #f9a52b66}textarea.form-control{min-height:80px;resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-2);margin-top:var(--spacing-3)}.active-workout__modal-content{max-width:480px;width:100%}.add-exercise-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--spacing-2)}.active-workout__exercise-title{font-size:var(--font-size-lg)}.active-workout__session-tag{font-style:italic}.active-workout__last-performance-card{max-width:400px;margin:0 auto var(--spacing-2)}.active-workout__set-note{font-style:italic}.active-workout__logged-set-card{width:fit-content}.set-form{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2);width:100%}.set-form__row{display:flex;gap:var(--spacing-2);width:100%;max-width:350px}.set-form__field{width:100%;margin-bottom:0}.set-form__note{width:100%;max-width:350px;margin-bottom:0}.set-form__note-textarea{min-height:40px}.set-form__submit{width:100%;max-width:350px}.table-wrapper{overflow-x:auto}.data-table{width:100%;min-width:520px;border-collapse:collapse;font-size:var(--font-size-sm)}.data-table th,.data-table td{padding:calc(var(--spacing-1) * .85) var(--spacing-2);border-bottom:1px solid var(--color-border);white-space:nowrap}.data-table thead th{background:var(--color-background);font-weight:600;color:var(--color-secondary);text-align:left}.data-table tbody tr:nth-of-type(odd){background:var(--color-row-alt)}.data-table tbody tr:hover{background:var(--color-row-hover)}.table-card{margin-top:var(--spacing-3);padding:0}.table-card .table-wrapper{padding:var(--spacing-2)}.alert{padding:var(--spacing-2);border-radius:var(--border-radius);margin-bottom:var(--spacing-3);border:1px solid}.alert--success{background:var(--color-success-bg);color:var(--color-success);border-color:var(--color-success)}.alert--error{background:var(--color-error-bg);color:var(--color-error);border-color:var(--color-error)}.alert--info{background:var(--color-info-bg);color:var(--color-info);border-color:var(--color-info)}.list-group{display:flex;flex-direction:column;gap:var(--spacing-2)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:2000}.modal-content{background:var(--color-background);padding:var(--spacing-3);border-radius:var(--border-radius);box-shadow:0 5px 15px #0000004d;max-width:500px;width:90%}.modal-content--timer{text-align:center}.modal-content--timer .timer-display{font-size:3.5rem;font-weight:700;color:var(--color-accent);margin-bottom:var(--spacing-3)}.modal-content--history{width:95%;max-width:960px;max-height:85vh;display:flex;flex-direction:column}.modal-content--history .table-wrapper{flex:1;overflow:auto}.history-table{width:auto;min-width:0;font-size:calc(var(--font-size-sm) * .85)}.history-table th,.history-table td{padding:calc(var(--spacing-1) * .35) calc(var(--spacing-1) * .4);text-align:center;white-space:nowrap}.history-table th:first-child,.history-table td:first-child{text-align:left;white-space:nowrap}.auth-container{width:100%;max-width:400px;text-align:center}.auth-container .auth-switch{margin-top:var(--spacing-3)}.text-center{text-align:center}.text-muted{color:var(--color-secondary)}.d-flex{display:flex}.justify-between{justify-content:space-between}.items-center{align-items:center}.gap-1{gap:var(--spacing-1)}.gap-2{gap:var(--spacing-2)}.flex-column{flex-direction:column}.font-sm{font-size:var(--font-size-sm)}.font-bold{font-weight:700}.m-0{margin:0}.mt-1{margin-top:var(--spacing-1)}.mt-2{margin-top:var(--spacing-2)}.mt-3{margin-top:var(--spacing-3)}.mb-1{margin-bottom:var(--spacing-1)}.mb-2{margin-bottom:var(--spacing-2)}.mb-3{margin-bottom:var(--spacing-3)}.mb-4{margin-bottom:var(--spacing-4)}.p-0{padding:0}.p-1{padding:var(--spacing-1)}.p-2{padding:var(--spacing-2)}.w-100{width:100%}.no-data{text-align:center;padding:var(--spacing-3);color:var(--color-secondary)}@media(max-width:768px){body{padding:0}.page-container{padding:var(--spacing-2);margin-top:var(--header-height);padding-bottom:calc(var(--footer-height) + var(--spacing-2))}.footer{border-radius:0;display:none}.page-container{padding-bottom:var(--spacing-2);margin-top:40px}.header{height:40px;padding:0 var(--spacing-2);border-bottom-width:4px}.page-header{margin-bottom:var(--spacing-2);align-items:flex-start}.page-header h2{font-size:1.1rem;margin-bottom:0}.header__brand{font-size:1.1rem}.form-group{margin-bottom:var(--spacing-1)}.card,.btn{padding:var(--spacing-1) var(--spacing-2)}.active-workout__exercise-title{font-size:1rem;font-weight:700}.active-workout__last-performance-card{margin-bottom:var(--spacing-1);padding:var(--spacing-1)}.set-form__row{gap:var(--spacing-1)}.set-form__field label{font-size:var(--font-size-sm);margin-bottom:2px}.workout-form-grid,.progress-view-controls{display:flex;flex-direction:column}.form-actions{justify-content:center;margin-top:var(--spacing-2)}}
