:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#f5f7fa;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;padding:0;min-width:320px;min-height:100vh}#root{width:100%;min-height:100vh}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}h1{font-size:1.8em;line-height:1.1;margin:0}h2{font-size:1.4em;margin:0}h3{font-size:1.15em;margin:0 0 .75rem}button{border-radius:6px;border:1px solid #d1d5db;padding:.5em 1em;font-size:.9em;font-weight:500;font-family:inherit;background-color:#fff;cursor:pointer;transition:all .15s ease}button:hover{border-color:#6366f1;background-color:#f9fafb}button:focus,button:focus-visible{outline:2px solid #6366f1;outline-offset:2px}input,select{font-family:inherit;font-size:.9em}.calendar{width:100%;font-family:inherit}.calendar-header{display:flex;justify-content:space-between;align-items:center;padding:0 0 .75rem;margin-bottom:.75rem;border-bottom:1px solid #e5e7eb}.calendar-header h2{font-size:1rem;font-weight:600;color:#111827}.calendar-header button{background:transparent;border:1px solid #d1d5db;border-radius:6px;width:32px;height:32px;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;color:#6b7280;padding:0;transition:all .15s ease}.calendar-header button:hover{background:#f3f4f6;border-color:#6366f1;color:#6366f1}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendar-day{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem 0;border-radius:8px;cursor:default;font-size:.85rem;position:relative;min-height:36px;transition:background-color .15s ease}.calendar-day:not(.day-name):not(.empty-day){cursor:pointer}.calendar-day:not(.day-name):not(.empty-day):hover{background-color:#f3f4f6}.day-name{font-weight:600;font-size:.75rem;color:#9ca3af;text-transform:uppercase;letter-spacing:.04em;padding:.25rem 0;cursor:default}.empty-day{background:transparent}.today{background-color:#eef2ff;font-weight:600;color:#6366f1}.selected{background-color:#6366f1!important;color:#fff!important;font-weight:600}.has-event:after{content:"";position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:5px;height:5px;background-color:#6366f1;border-radius:50%}.selected.has-event:after{background-color:#fff}.exercise-name{cursor:pointer;color:#6366f1;font-weight:600;transition:color .15s ease}.exercise-name:hover{color:#4f46e5;text-decoration:underline}.exercise-details-table{width:100%;margin-top:.75rem;border-collapse:collapse}.exercise-details-table th,.exercise-details-table td{padding:.4rem .5rem;text-align:center;font-size:.85rem}.exercise-details-table th{color:#6b7280;font-weight:600;border-bottom:1px solid #e5e7eb}.exercise-details-table td{border-bottom:1px solid #f3f4f6}.exercise-details-table .primary-header th{border-bottom:1px solid #d1d5db;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.exercise-details-table .secondary-header th{font-weight:500;color:#9ca3af;font-size:.75rem;border-bottom:1px solid #e5e7eb}.performance-actual{color:#059669;font-weight:600}.performance-incomplete{color:#d1d5db}.performance-worse{color:#dc2626;font-weight:600}.active-workout{max-width:900px;margin:0 auto}.active-workout h3{margin-top:0;font-size:1.2rem;color:#111827;margin-bottom:1.25rem}.active-workout>ul{list-style:none;padding:0;margin:0}.active-exercise{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:1.25rem;margin-bottom:1.25rem;box-shadow:0 1px 3px #0000000a}.active-exercise>strong{display:block;font-size:1.1rem;color:#111827;margin-bottom:.75rem}.active-exercise table{width:100%;border-collapse:collapse}.active-exercise th{text-align:center;padding:.5rem .75rem;font-size:.85rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid #e5e7eb}.active-exercise td{text-align:center;padding:.5rem .75rem;border-bottom:1px solid #f3f4f6;vertical-align:middle}.active-exercise td:first-child{font-weight:600;color:#374151}.active-exercise input[type=number]{width:70px;padding:.4rem .5rem;text-align:center;border:1px solid #d1d5db;border-radius:6px;font-size:.95rem;transition:border-color .15s ease}.active-exercise input[type=number]:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.active-exercise input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#6366f1}.set-complete{background-color:#f0fdf4}.set-complete td{color:#166534}.set-complete input[type=number]{background-color:#f0fdf4;border-color:#86efac}.finish-workout-btn{display:block;width:100%;max-width:400px;margin:1.5rem auto 0;padding:.85rem;background-color:#6366f1;color:#fff;border:none;border-radius:8px;font-size:1.05rem;font-weight:600;cursor:pointer;transition:background-color .15s ease}.finish-workout-btn:hover{background-color:#4f46e5}.video-upload-label{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:4px;border-radius:6px;transition:background-color .15s ease}.video-upload-label:hover{background-color:#f3f4f6}.video-upload-label:hover svg{stroke:#6366f1}.exercise-detail-container{max-width:800px;margin:0 auto}.back-button{background:#fff;border:1px solid #d1d5db;padding:.4em .9em;border-radius:6px;cursor:pointer;margin-bottom:1.25rem;font-size:.9rem;color:#374151;transition:all .15s ease}.back-button:hover{border-color:#6366f1;color:#6366f1}.exercise-detail-container h2{color:#111827;margin-bottom:1rem}.chart-container{margin:1.5rem 0;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:1.5rem;box-shadow:0 1px 3px #0000000a}.exercise-detail-container h3{color:#111827;margin:1.5rem 0 1rem}.history-item{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1rem 1.25rem;margin-bottom:.75rem;box-shadow:0 1px 2px #00000008}.history-item h4{margin:0 0 .5rem;font-size:.95rem;color:#374151}.history-item p{margin:.25rem 0;font-size:.9rem;color:#6b7280}.history-item ul{padding-left:1.25rem;margin:.5rem 0 0}.history-item li{font-size:.9rem;color:#374151;margin-bottom:.15rem}.schedule-view-container{display:flex;gap:0;width:100%;height:100%}.workout-list-panel{flex:0 0 320px;padding:1.5rem;border-right:1px solid #e5e7eb;background:#fff;overflow-y:auto}.workout-list-panel h3{font-size:1rem;color:#111827;margin-bottom:1rem}.calendar-panel{flex:1;padding:1.5rem 2rem;overflow-y:auto}.calendar-panel h3{font-size:1rem;color:#111827;margin-bottom:1rem}.workout-list{list-style:none;padding:0;margin:0}.workout-list-item{display:flex;justify-content:space-between;padding:.6rem .75rem;border-radius:6px;cursor:pointer;border-bottom:1px solid #f3f4f6;font-size:.85rem;color:#374151;transition:all .15s ease}.workout-list-item:hover{background-color:#f9fafb}.workout-list-item.selected{background-color:#eef2ff;color:#6366f1;font-weight:600}.workout-list-item span:last-child{color:#9ca3af;font-size:.8rem}.workout-list-item.selected span:last-child{color:#6366f1}.schedule-message{padding:.75rem 1rem;border-radius:8px;text-align:center;margin-bottom:1rem;background:#eef2ff;border:1px solid #c7d2fe;color:#4338ca;font-size:.9rem}.workout-editor{max-width:800px;margin:0 auto;width:100%}.workout-editor h3{font-size:1.2rem;color:#111827;margin-bottom:.5rem}.workout-editor>p{color:#6b7280;font-size:.9rem;margin-bottom:1.25rem}.exercise-editor-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem;padding:.75rem;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 2px #00000008}.exercise-editor-row input{padding:.45rem .6rem;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;transition:border-color .15s ease,box-shadow .15s ease}.exercise-editor-row input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.exercise-editor-row input[type=text]{flex-grow:1;min-width:150px}.exercise-editor-row input[type=number]{width:60px;text-align:center}.exercise-editor-row>span{color:#6b7280;font-size:.9rem}.remove-ex-btn{background:#fef2f2;color:#dc2626;border:1px solid #fecaca;width:30px;height:30px;padding:0;line-height:30px;text-align:center;font-size:1.1rem;border-radius:6px;cursor:pointer;transition:all .15s ease;flex-shrink:0}.remove-ex-btn:hover{background:#fee2e2;border-color:#f87171;color:#b91c1c}.add-ex-btn{margin-top:.75rem;width:100%;padding:.6rem;background:#fff;border:2px dashed #d1d5db;color:#6b7280;font-size:.9rem;font-weight:500;border-radius:8px;cursor:pointer;transition:all .15s ease}.add-ex-btn:hover{border-color:#6366f1;color:#6366f1;background:#f9fafb}.editor-actions{margin-top:1.5rem;display:flex;justify-content:flex-end;gap:.75rem}.save-btn{background-color:#6366f1;color:#fff;border:none;padding:.6rem 1.5rem;font-weight:600;font-size:.95rem}.save-btn:hover{background-color:#4f46e5;border-color:transparent}.delete-btn{background-color:#fff;color:#dc2626;border:1px solid #fecaca;margin-right:auto;font-weight:500}.delete-btn:hover{background-color:#fef2f2;border-color:#f87171}.cancel-btn{background:#fff;color:#6b7280;border:1px solid #d1d5db}.cancel-btn:hover{border-color:#9ca3af;color:#374151}.autocomplete-wrapper{position:relative;flex-grow:1;min-width:150px}.autocomplete-list{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #d1d5db;border-top:none;border-radius:0 0 6px 6px;list-style:none;margin:0;padding:0;max-height:150px;overflow-y:auto;z-index:20;box-shadow:0 4px 6px -1px #0000001a}.autocomplete-list li{padding:.5rem .75rem;cursor:pointer;font-size:.9rem;color:#374151;transition:background-color .1s ease}.autocomplete-list li:hover{background-color:#eef2ff;color:#6366f1}.exercise-name-view{display:flex;justify-content:space-between;align-items:center;flex-grow:1;padding:.45rem .6rem;border:1px solid transparent;border-radius:6px;cursor:pointer;color:#111827;font-weight:500}.exercise-name-view:hover{border-color:#d1d5db;background:#f9fafb}.exercise-name-actions{display:flex;align-items:center;gap:10px}.chevron{display:inline-block;font-size:.75rem;color:#9ca3af;transition:transform .2s ease-in-out}.chevron.expanded{transform:rotate(180deg)}.exercise-history-container{width:100%;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:.75rem 1rem;margin-top:.5rem;font-size:.85rem}.exercise-history-container h5{margin:0 0 .5rem;color:#374151;font-size:.9rem}.exercise-history-table{width:100%;border-collapse:collapse;text-align:left;font-size:.85rem}.exercise-history-table th,.exercise-history-table td{padding:.35rem .5rem;border-bottom:1px solid #e5e7eb}.exercise-history-table th{color:#6b7280;font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.exercise-history-table td{color:#374151}.exercise-history-container>p{color:#9ca3af;font-size:.85rem;margin:.25rem 0}.auth-page-container{display:flex;justify-content:center;align-items:center;width:100%;padding:2rem 1rem;box-sizing:border-box}.auth-form-wrapper{width:100%;max-width:400px;padding:2.5rem 2rem;background:#fff;border:1px solid #e5e7eb;border-radius:12px;text-align:center;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -2px #0000000d}.auth-form-wrapper h2{margin-bottom:1.5rem;color:#111827;font-size:1.5rem}.form-group{margin-bottom:1rem;text-align:left}.form-group label{display:block;margin-bottom:.35rem;font-size:.9rem;font-weight:500;color:#374151}.form-group input{width:100%;padding:.6rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.95rem;transition:border-color .15s ease,box-shadow .15s ease}.form-group input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.submit-btn{width:100%;padding:.7rem;margin-top:.5rem;background-color:#6366f1;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .15s ease}.submit-btn:hover{background-color:#4f46e5}.divider{margin:1.5rem 0;text-align:center;border-bottom:1px solid #e5e7eb;line-height:.1em}.divider span{background:#fff;padding:0 10px;color:#9ca3af;font-size:.85rem}.auth-form-wrapper .auth-google{display:block;width:100%;padding:.7rem;text-align:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;font-size:.95rem;font-weight:500;text-decoration:none;transition:all .15s ease;box-sizing:border-box}.auth-form-wrapper .auth-google:hover{background:#f9fafb;border-color:#6366f1}.toggle-auth{margin-top:1.5rem;font-size:.9rem;color:#6b7280}.toggle-auth button{background:none;border:none;color:#6366f1;text-decoration:underline;cursor:pointer;font-size:.9rem;padding:0;font-weight:500}.toggle-auth button:hover{color:#4f46e5}.error-message{color:#dc2626;margin-bottom:.75rem;font-size:.9rem;background:#fef2f2;padding:.5rem .75rem;border-radius:6px;border:1px solid #fecaca}.app-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000d}.app-header h1{font-size:1.4rem;font-weight:600;color:#111827}.auth-section{display:flex;align-items:center;gap:1rem;font-size:.9rem;color:#6b7280}.auth-section .auth-button{padding:.4em .9em;border-radius:6px;font-size:.85em;font-weight:500;text-decoration:none;transition:all .15s ease}.auth-section .auth-google{background:#fff;border:1px solid #d1d5db;color:#374151}.auth-section .auth-google:hover{background:#f9fafb;border-color:#6366f1}.schedule-toggle-btn{font-size:.85em;padding:.4em .9em}.app-container{display:flex;gap:0;min-height:calc(100vh - 57px);height:calc(100vh - 57px)}.calendar-container{flex:0 0 340px;padding:1.5rem;border-right:1px solid #e5e7eb;background:#fff;overflow-y:auto}.workout-container{flex:1;padding:1.5rem 2rem;overflow-y:auto;background:#f9fafb}.workout-container:only-child{max-width:900px;margin:0 auto;width:100%}.start-workout-btn{display:block;width:100%;padding:.75rem;margin-bottom:1.25rem;background-color:#6366f1;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .15s ease}.start-workout-btn:hover{background-color:#4f46e5;border-color:transparent}.edit-workout-btn{padding:.35em .75em;font-size:.85em;background:transparent;border:1px solid #d1d5db;color:#6b7280;border-radius:4px}.edit-workout-btn:hover{border-color:#6366f1;color:#6366f1}.workout-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.workout-header h3{margin:0}.no-workout{text-align:center;padding:3rem 1rem}.no-workout h3{color:#6b7280;margin-bottom:1.5rem}.add-workout-btn{padding:.75rem 2rem;background-color:#6366f1;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .15s ease}.add-workout-btn:hover{background-color:#4f46e5;border-color:transparent}@media(max-width:768px){.app-container{flex-direction:column;height:auto;min-height:calc(100vh - 57px)}.calendar-container{flex:none;width:100%;border-right:none;border-bottom:1px solid #e5e7eb}.workout-container{padding:1rem}}.workout-details{margin-top:0}.workout-details>ul{list-style:none;padding:0;margin:0}.workout-details>ul>li{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:1rem 1.25rem;margin-bottom:.75rem;box-shadow:0 1px 2px #00000008}
