.layout{display:flex;height:100%;overflow:hidden}.sidebar{width:200px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:20px 0}.sidebar-brand{display:flex;align-items:baseline;gap:8px;padding:0 20px 24px;border-bottom:1px solid var(--border);margin-bottom:12px;font-size:18px;font-weight:600;letter-spacing:-.5px}.sidebar-brand-text{color:var(--muted2);font-size:13px;font-weight:400}.sidebar-nav{list-style:none;flex:1}.nav-link{display:flex;align-items:center;gap:10px;padding:8px 20px;color:var(--muted2);font-size:13px;font-weight:500;transition:color .1s,background .1s;border-left:2px solid transparent}.nav-link:hover{color:var(--text);background:var(--surface2)}.nav-link.active{color:var(--accent);border-left-color:var(--accent);background:var(--accent-dim)}.nav-icon{width:16px;text-align:center;font-size:12px}.sidebar-logout{display:flex;align-items:center;gap:10px;padding:8px 20px;color:var(--muted);font-size:13px;margin-top:auto;transition:color .1s}.sidebar-logout:hover{color:var(--danger)}.main{flex:1;overflow-y:auto;padding:32px 36px}@media (max-width: 768px){.layout{flex-direction:column}.sidebar{width:100%;height:auto;flex-direction:row;padding:12px 16px;border-right:none;border-bottom:1px solid var(--border)}.sidebar-brand{border-bottom:none;margin-bottom:0;padding:0 16px 0 0}.sidebar-nav{display:flex;flex:1;overflow-x:auto}.sidebar-logout{margin-top:0}.nav-link{padding:6px 12px;border-left:none;border-bottom:2px solid transparent}.nav-link.active{border-left-color:transparent;border-bottom-color:var(--accent)}.main{padding:20px 16px}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px}.stat-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 20px}.stat-label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--muted2);margin-bottom:4px}.stat-value{font-size:28px;font-weight:600;line-height:1}.stat-sub{font-size:12px;margin-top:4px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.page-title{font-size:20px;font-weight:600;letter-spacing:-.3px}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--radius);font-size:13px;font-weight:500;transition:background .1s,color .1s,border-color .1s}.btn-primary{background:var(--accent);color:#000}.btn-primary:hover:not(:disabled){background:#6ee7a0}.btn-ghost{border:1px solid var(--border2);color:var(--muted2)}.btn-ghost:hover:not(:disabled){border-color:var(--text);color:var(--text)}.btn-danger{border:1px solid var(--danger-dim);color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger-dim)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-small{padding:4px 8px;font-size:12px}.badge{display:inline-block;padding:2px 7px;border-radius:99px;font-size:11px;font-weight:500;font-family:var(--font-mono);background:var(--surface2);color:var(--muted2);border:1px solid var(--border)}.badge-green{background:var(--accent-dim);color:var(--accent);border-color:var(--accent-dim)}.badge-red{background:var(--danger-dim);color:var(--danger);border-color:var(--danger-dim)}.badge-yellow{background:#3d2e00;color:var(--warn);border-color:#3d2e00}.badge-muted{color:var(--muted)}.empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;padding:48px 24px;color:var(--muted2);text-align:center;font-size:13px}.empty-state .mono{font-size:32px}.spinner{font-size:20px;animation:spin 1s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.error-msg{padding:10px 14px;background:var(--danger-dim);border:1px solid var(--danger);border-radius:var(--radius);font-size:13px;margin-bottom:16px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-box{background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius-lg);padding:28px;min-width:360px;max-width:520px;width:100%}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.login-box{width:320px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:36px 32px}.login-logo{text-align:center;margin-bottom:28px}.login-form{display:flex;flex-direction:column;gap:16px}.field-label{font-size:12px;font-weight:500;color:var(--muted2);text-transform:uppercase;letter-spacing:.06em}.field input,.field textarea,.field select{width:100%}.login-form .btn{width:100%;justify-content:center;padding:9px}.dashboard{max-width:1100px}.dash-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:28px}.streak-badge{font-size:22px;font-weight:600}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:24px}.dash-grid{display:grid;grid-template-columns:1fr 320px;gap:16px}.chart-card{overflow:hidden}.card-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted2);margin-bottom:16px;display:flex;align-items:center;gap:10px}.ex-list{list-style:none;display:flex;flex-direction:column;gap:8px}.ex-item{display:flex;justify-content:space-between;align-items:baseline;font-size:12px}.ex-name{font-size:13px}@media (max-width: 900px){.dash-grid{grid-template-columns:1fr}}.weight-page{max-width:860px;display:flex;flex-direction:column;gap:16px}.field input,.field select,.field textarea{width:100%}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:0 12px 10px 0;border-bottom:1px solid var(--border)}.data-table td{padding:10px 12px 10px 0;border-bottom:1px solid var(--border);vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.table-notes{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}@media (max-width: 600px){.log-row{grid-template-columns:1fr 1fr}}.workouts-page{max-width:820px;display:flex;flex-direction:column;gap:16px}.workout-list{display:flex;flex-direction:column;gap:8px}.workout-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.workout-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;cursor:pointer;-webkit-user-select:none;user-select:none;gap:12px}.workout-header:hover{background:var(--surface2)}.workout-date{font-size:14px;font-weight:500;margin-right:10px}.workout-meta{display:flex;align-items:center;gap:14px;font-size:12px}.expand-toggle{color:var(--muted)}.workout-body{padding:0 18px 18px;border-top:1px solid var(--border)}.exercise-block{padding:14px 0;border-bottom:1px solid var(--border)}.exercise-block:last-of-type{border-bottom:none}.exercise-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.exercise-name{font-size:14px;font-weight:500}.sets-list{display:flex;flex-direction:column;gap:6px}.set-row{display:flex;align-items:center;gap:8px;font-size:13px}.set-num{width:20px;text-align:right}.set-input{width:68px;font-family:var(--font-mono);font-size:13px;padding:4px 8px}.add-exercise-row{display:flex;align-items:center;gap:10px;padding-top:14px}.add-exercise-input{flex:1}.log-form{display:flex;flex-direction:column;gap:12px}.field input{width:100%}.programs-page{max-width:700px;display:flex;flex-direction:column;gap:16px}.program-list{display:flex;flex-direction:column;gap:8px}.program-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.program-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;cursor:pointer}.program-header:hover{background:var(--surface2)}.program-name{font-size:14px;font-weight:500}.expand-toggle{font-size:12px}.program-body{padding:0 18px 18px;border-top:1px solid var(--border)}.program-days{display:flex;flex-direction:column;gap:6px;padding:14px 0}.program-day-row{display:flex;align-items:center;gap:12px;font-size:13px}.day-label{width:30px}.add-day-row{display:flex;gap:8px;align-items:center;padding:8px 0}.add-day-row select{width:80px}.add-day-row input{flex:1}.program-actions{display:flex;gap:8px;padding-top:12px;border-top:1px solid var(--border);margin-top:4px}.new-program-form{display:flex;gap:10px}.new-program-form input{flex:1}.reminders-page{max-width:700px;display:flex;flex-direction:column;gap:16px}.reminder-form{display:flex;flex-direction:column;gap:12px}.log-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--muted2)}.field input,.field select{width:100%}.card-title-sm{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted2);margin-bottom:16px}.reminder-list{display:flex;flex-direction:column;gap:1px}.reminder-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border);gap:12px}.reminder-row:last-child{border-bottom:none}.reminder-row-done{opacity:.6}.reminder-title{font-size:13px;font-weight:500;display:flex;align-items:center;gap:8px}.reminder-msg{font-size:12px;margin-top:2px}:root{--bg: #0d0d0d;--surface: #141414;--surface2: #1a1a1a;--border: #262626;--border2: #333;--text: #e8e8e8;--muted: #666;--muted2: #888;--accent: #4ade80;--accent-dim:#1a3d25;--danger: #f87171;--danger-dim:#3d1a1a;--warn: #fbbf24;--font-ui: "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--radius: 4px;--radius-lg: 8px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font:inherit;color:inherit}input,textarea,select{font:inherit;color:inherit;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:6px 10px;outline:none;transition:border-color .15s}input:focus,textarea:focus,select:focus{border-color:var(--accent)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}.mono{font-family:var(--font-mono)}.muted{color:var(--muted2)}.accent{color:var(--accent)}.danger{color:var(--danger)}.warn{color:var(--warn)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
