:root{--bg-primary: #0f0f0f;--bg-secondary: #1a1a1a;--bg-card: #222222;--bg-input: #2a2a2a;--text-primary: #f0f0f0;--text-secondary: #a0a0a0;--text-muted: #666666;--accent: #6c63ff;--accent-hover: #5a52d5;--accent-light: rgba(108, 99, 255, .15);--success: #4ade80;--danger: #f87171;--warning: #fbbf24;--border: #333333;--radius: 12px;--radius-sm: 8px}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}.app-layout{display:flex;flex-direction:column;min-height:100vh}.app-header{background:var(--bg-secondary);border-bottom:1px solid var(--border);padding:0 1.5rem;height:60px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100}.app-header h1{font-size:1.25rem;font-weight:700;display:flex;align-items:center;gap:.5rem}.app-nav{display:flex;gap:.25rem}.app-nav a{padding:.5rem 1rem;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.875rem;font-weight:500;transition:all .2s;display:flex;align-items:center;gap:.4rem}.app-nav a:hover,.app-nav a.active{background:var(--accent-light);color:var(--accent)}.app-main{flex:1;padding:1.5rem;max-width:1200px;width:100%;margin:0 auto}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;margin-bottom:1rem}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.card-title{font-size:1.125rem;font-weight:600}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1.2rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;border:none;transition:all .2s}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{border-color:var(--text-muted)}.btn-danger{background:transparent;color:var(--danger);border:1px solid var(--danger)}.btn-danger:hover{background:#f871711a}.btn-sm{padding:.35rem .75rem;font-size:.8rem}.btn-icon{padding:.5rem;background:transparent;border:none;color:var(--text-secondary);border-radius:var(--radius-sm)}.btn-icon:hover{background:var(--bg-input);color:var(--text-primary)}.form-group{margin-bottom:1rem}.form-label{display:block;font-size:.8rem;font-weight:500;color:var(--text-secondary);margin-bottom:.35rem;text-transform:uppercase;letter-spacing:.5px}.form-input{width:100%;padding:.6rem .8rem;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.9rem}.form-input:focus{outline:none;border-color:var(--accent)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.tag{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .6rem;background:var(--accent-light);color:var(--accent);border-radius:999px;font-size:.75rem;font-weight:500}.tag-success{background:#4ade8026;color:var(--success)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;text-align:center}.stat-value{font-size:2rem;font-weight:700;color:var(--accent)}.stat-label{font-size:.8rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--border)}.table th{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.table tr:hover td{background:var(--bg-secondary)}.empty-state{text-align:center;padding:3rem;color:var(--text-muted)}.empty-state svg{margin-bottom:1rem}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1rem}.login-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:2.5rem;width:100%;max-width:400px}.login-card h1{text-align:center;margin-bottom:.5rem}.login-card p{text-align:center;color:var(--text-secondary);margin-bottom:2rem}.error-text{color:var(--danger);font-size:.85rem;margin-top:.5rem}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;width:100%;max-width:600px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.modal-title{font-size:1.25rem;font-weight:600}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}@media(max-width:768px){.app-header{flex-direction:column;height:auto;padding:.75rem 1rem;gap:.5rem}.app-nav{width:100%;overflow-x:auto}.app-main{padding:1rem}.form-row{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}}.spinner{width:24px;height:24px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite;margin:2rem auto}@keyframes spin{to{transform:rotate(360deg)}}.set-row{display:grid;grid-template-columns:60px repeat(3,1fr) 80px 40px;gap:.5rem;align-items:center;padding:.35rem 0}.set-row .form-input{padding:.4rem .6rem;font-size:.85rem;text-align:center}.set-number{font-size:.85rem;color:var(--text-muted);text-align:center;font-weight:600}.day-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:.75rem}.day-card h3{font-size:1rem;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.day-card .exercise-item{padding:.5rem 0;border-bottom:1px solid var(--border)}.day-card .exercise-item:last-child{border-bottom:none}.checkbox-wrapper{display:flex;align-items:center;gap:.5rem}.checkbox-wrapper input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}
