.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2)}.login-box{background:#fff;padding:40px;border-radius:12px;box-shadow:0 10px 40px #0003;width:100%;max-width:450px}.login-box h1{text-align:center;color:#333;margin-bottom:30px}.form-group{margin-bottom:20px}.form-group label{display:block;font-weight:600;margin-bottom:5px;color:#555;font-size:14px}.form-group input{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:14px;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#667eea}.error-message{background-color:#fee;color:#c33;padding:10px;border-radius:6px;margin-bottom:15px;font-size:14px}.login-btn{width:100%;background-color:#667eea;color:#fff;border:none;padding:14px;font-size:16px;border-radius:6px;cursor:pointer;font-weight:600;transition:background-color .2s}.login-btn:hover{background-color:#5568d3}.demo-accounts{margin-top:30px;padding-top:30px;border-top:1px solid #ddd}.demo-title{text-align:center;color:#666;font-size:14px;margin-bottom:15px}.demo-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.demo-btn{background-color:#f5f5f5;color:#333;border:1px solid #ddd;padding:10px;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.demo-btn:hover{background-color:#e8e8e8;border-color:#999}.login-btn:disabled{background-color:#999;cursor:not-allowed}.auth-switch{margin-top:20px;text-align:center;color:#666;font-size:14px}.auth-switch button{background:none;border:none;color:#667eea;cursor:pointer;font-size:14px;font-weight:600;padding:0}.auth-switch button:hover{text-decoration:underline}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background-color:#f5f5f5}.loading{display:flex;align-items:center;justify-content:center;min-height:200px;font-size:18px;color:#666}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-overlay:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1}.modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;position:relative;z-index:1001}.modal-content .workout-form,.modal-content .weight-form{margin:0;box-shadow:none}.app{min-height:100vh;background-color:#f5f5f5}.dashboard-content{max-width:1400px;margin:0 auto;padding:0 20px 40px}.metrics-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.metric-card{background:#fff;padding:25px;border-radius:8px;box-shadow:0 2px 4px #0000001a;text-align:center;transition:transform .2s,box-shadow .2s}.metric-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.metric-value{font-size:48px;font-weight:700;color:#4caf50;margin-bottom:10px}.metric-label{font-size:14px;color:#666;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.workout-form{background:#fff;padding:30px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px}.workout-form h2{margin-bottom:20px;color:#333}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:20px}.form-grid div{display:flex;flex-direction:column}.autocomplete-wrapper{display:flex;flex-direction:column;position:relative}.form-grid label{font-weight:600;margin-bottom:5px;color:#555;font-size:14px}.required{color:#f44336;font-weight:700;margin-left:2px}.form-grid input,.form-grid select{padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px}.form-grid input:focus,.form-grid select:focus{outline:none;border-color:#4caf50}.notes-field{margin-top:15px;margin-bottom:20px}.notes-field label{font-weight:600;margin-bottom:5px;color:#555;font-size:14px;display:block}.notes-field textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit;resize:vertical}.notes-field textarea:focus{outline:none;border-color:#4caf50}.notes-cell{max-width:250px;font-size:13px;color:#666;font-style:italic}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-top:none;border-radius:0 0 4px 4px;max-height:200px;overflow-y:auto;box-shadow:0 4px 6px #0000001a;z-index:100;margin-top:-4px}.autocomplete-item{padding:10px;cursor:pointer;font-size:14px;transition:background-color .2s}.autocomplete-item:hover{background-color:#f0f0f0}.autocomplete-item:active{background-color:#e0e0e0}.form-actions{display:flex;gap:10px}.submit-btn{background-color:#4caf50;color:#fff;border:none;padding:12px 24px;font-size:16px;border-radius:6px;cursor:pointer;font-weight:600;transition:background-color .2s}.submit-btn:hover{background-color:#45a049}.cancel-btn{background-color:#f44336;color:#fff;border:none;padding:12px 24px;font-size:16px;border-radius:6px;cursor:pointer;font-weight:600;transition:background-color .2s}.cancel-btn:hover{background-color:#da190b}.summary-section,.history-section{margin-bottom:30px}.history-section h2{color:#333;font-size:24px;margin-bottom:15px}.workout-history-modal{background:#fff;padding:30px;border-radius:8px}.workout-history-modal h3{margin:0 0 20px;color:#333}.modal-content .workout-history-modal{box-shadow:none}.modal-content:has(.workout-history-modal),.modal-content:has(.weight-entries){max-width:900px}.empty-state{background:#fff;padding:40px;border-radius:8px;box-shadow:0 2px 4px #0000001a;text-align:center}.empty-state p{color:#999;font-size:16px;margin:0}.summary-table{width:100%;border-collapse:collapse}.summary-table thead{background-color:#4caf50}.summary-table th{padding:15px;text-align:left;font-weight:600;color:#fff;border-bottom:2px solid #45a049}.summary-table td{padding:15px;border-bottom:1px solid #dee2e6;color:#555}.summary-table tbody tr:hover{background-color:#f1f8f4}.summary-table tbody tr:last-child td{border-bottom:none}.exercise-name{font-weight:600;color:#333}.weight-tracking-section{margin-bottom:30px}.section-header{display:flex;align-items:center;gap:15px;margin-bottom:20px}.section-title{color:#333;font-size:24px;margin:0}.weight-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:25px}.weight-stat-card{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;text-align:center}.stat-label{font-size:12px;color:#666;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-weight:500}.stat-value{font-size:32px;font-weight:700;color:#2196f3;margin-bottom:4px}.stat-date{font-size:12px;color:#999}.weight-form{background:#fff;padding:25px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:25px}.weight-form h3{margin:0 0 20px;color:#333}.weight-chart{background:#fff;padding:25px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:25px}.chart-header{display:flex;align-items:center;gap:15px;margin-bottom:20px}.chart-header h3{margin:0;color:#333}.history-btn{background-color:#2196f3;color:#fff;border:none;padding:8px 16px;font-size:14px;border-radius:6px;cursor:pointer;font-weight:600;transition:background-color .2s}.history-btn:hover{background-color:#0b7dda}.line-chart-container{width:100%;height:400px;padding:20px;background:#fff;border-radius:8px;overflow:hidden}.line-chart{width:100%;height:100%}.line-chart circle{cursor:pointer;transition:r .2s}.line-chart circle:hover{r:8}.weight-entries{background:#fff;padding:25px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.modal-content .weight-entries{box-shadow:none;padding:30px}.weight-entries h3{margin:0 0 20px;color:#333}.weight-table{width:100%;border-collapse:collapse}.weight-table thead{background-color:#f8f9fa}.weight-table th{padding:15px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #dee2e6}.weight-table td{padding:15px;border-bottom:1px solid #dee2e6;color:#555}.weight-table tbody tr:hover{background-color:#f8f9fa}.weight-table tbody tr:last-child td{border-bottom:none}.table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto}.workout-table{width:100%;border-collapse:collapse}.workout-table thead{background-color:#f8f9fa}.workout-table th{padding:15px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #dee2e6}.workout-table td{padding:15px;border-bottom:1px solid #dee2e6;color:#555}.workout-table tbody tr:hover{background-color:#f8f9fa}.workout-table tbody tr:last-child td{border-bottom:none}.actions{display:flex;gap:8px}.edit-btn,.delete-btn{padding:6px 12px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:opacity .2s}.edit-btn{background-color:#2196f3;color:#fff}.edit-btn:hover{opacity:.8}.delete-btn{background-color:#f44336;color:#fff}.delete-btn:hover{opacity:.8}@media(max-width:768px){.navbar{flex-direction:column;gap:15px}.nav-actions{flex-direction:column;width:100%}.nav-btn,.logout-btn{width:100%}.metrics-container{grid-template-columns:repeat(2,1fr)}.metric-value{font-size:36px}.form-grid{grid-template-columns:1fr}.weight-stats{grid-template-columns:repeat(2,1fr)}.section-title{font-size:20px}.stat-value{font-size:24px}.line-chart-container{height:300px}.line-chart text{font-size:10px}.workout-table,.summary-table,.weight-table{font-size:14px}.workout-table th,.workout-table td,.summary-table th,.summary-table td{padding:10px}.summary-section h2,.history-section h2{font-size:20px}}.leaderboard-page{min-height:100vh;background-color:#f5f5f5}.navbar{background:#fff;padding:20px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.navbar h1{margin:0;color:#333;font-size:28px}.nav-actions{display:flex;gap:15px;align-items:center}.current-user{color:#666;font-weight:500;font-size:14px}.nav-btn{background-color:#4caf50;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-weight:600;transition:background-color .2s;font-size:14px;height:40px;display:flex;align-items:center;justify-content:center}.nav-btn:hover{background-color:#45a049}.nav-btn.active{background-color:#2e7d32;cursor:default;box-shadow:inset 0 2px 4px #0003}.nav-btn.active:hover{background-color:#2e7d32}.logout-btn{background-color:#f44336;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-weight:600;transition:background-color .2s;font-size:14px;height:40px;display:flex;align-items:center;justify-content:center}.logout-btn:hover{background-color:#da190b}.wedding-countdown-section{max-width:1400px;margin:0 auto;padding:30px 20px 0}.wedding-countdown{background:linear-gradient(135deg,#667eea,#764ba2);padding:30px;border-radius:12px;box-shadow:0 4px 12px #00000026;color:#fff;margin-bottom:30px}.countdown-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.countdown-header h2{margin:0;font-size:24px}.days-remaining{font-size:18px;font-weight:600}.progress-bar-container{background:#fff3;border-radius:20px;height:40px;overflow:hidden;position:relative}.progress-bar{background:linear-gradient(90deg,#4caf50,#8bc34a);height:100%;border-radius:20px;display:flex;align-items:center;justify-content:center;transition:width .5s ease;min-width:60px}.progress-text{color:#fff;font-weight:700;font-size:16px;text-shadow:0 1px 2px rgba(0,0,0,.2)}.leaderboard-content{max-width:1400px;margin:0 auto;padding:0 20px 40px}.leaderboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:40px}.leaderboard-card{background:#fff;padding:25px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.leaderboard-card h2{margin:0 0 20px;color:#333;font-size:20px}.leaderboard-list{display:flex;flex-direction:column;gap:12px}.leaderboard-item{display:flex;align-items:center;padding:12px;background:#f8f9fa;border-radius:6px;transition:all .2s}.leaderboard-item:hover{background:#e9ecef}.leaderboard-item.highlight{background:#e8f5e9;border:2px solid #4CAF50;font-weight:600}.leaderboard-item .rank{font-size:18px;min-width:35px}.leaderboard-item .name{flex:1;color:#333}.leaderboard-item .value{color:#666;font-weight:600}.no-data{text-align:center;color:#999;font-style:italic;padding:20px}.exercise-records-section{background:#fff;padding:30px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.exercise-records-section h2{margin:0 0 25px;color:#333;font-size:24px}.exercise-records-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.exercise-record-card{background:#f8f9fa;padding:20px;border-radius:8px;border:1px solid #dee2e6}.exercise-record-card h3{margin:0 0 15px;color:#333;font-size:18px}.record-list{display:flex;flex-direction:column;gap:10px}.record-item{display:flex;align-items:center;padding:10px;background:#fff;border-radius:6px;transition:all .2s}.record-item:hover{background:#e9ecef}.record-item.highlight{background:#e8f5e9;border:2px solid #4CAF50;font-weight:600}.record-item .rank{font-size:16px;min-width:30px}.record-item .name{flex:1;color:#333;font-size:14px}.record-item .value{color:#666;font-weight:600;font-size:14px}@media(max-width:768px){.navbar{flex-direction:column;gap:15px}.nav-actions{flex-direction:column;width:100%}.nav-btn,.logout-btn{width:100%}.countdown-header{flex-direction:column;gap:10px;text-align:center}.countdown-header h2{font-size:20px}.days-remaining{font-size:16px}.leaderboard-grid,.exercise-records-grid{grid-template-columns:1fr}}
