@import"https://fonts.googleapis.com/css2?family=Oswald:wght@500;600;700&family=Inter:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--bg:#15171b;--panel:#1d2025;--panel-2:#22262c;--line:#33383f;--ember:#ff5a36;--alert:#c9524a;--brass:#d9a54a;--chalk:#f2f1ec;--steel:#97a0a8;--meso-adaptacion:#3b6d11;--meso-alta:#4f9614;--meso-intensa:#a32d2d;--meso-test:#6fa8c9;--mono:"IBM Plex Mono", monospace;--disp:"Oswald", sans-serif;--body:"Inter", sans-serif;--sidebar-w: 220px}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--chalk);font-family:var(--body);-webkit-font-smoothing:antialiased;height:100%}h1,h2,h3,h4{font-family:var(--disp);text-transform:uppercase;letter-spacing:.3px;margin:0}button{font-family:var(--body);cursor:pointer}input,select{font-family:var(--body)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.main-area{flex:1;display:flex;flex-direction:column;padding-bottom:72px}.sidebar{display:none}.topbar{padding:16px 20px 12px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:var(--panel);position:sticky;top:0;z-index:10}.logo{font-family:var(--disp);font-weight:700;font-size:20px;letter-spacing:2px}.logo span{color:var(--ember)}.content{padding:20px;flex:1;width:100%}.tabbar{position:fixed;bottom:0;left:0;right:0;background:var(--panel);border-top:1px solid var(--line);display:flex;z-index:20}.tabbar button{flex:1;background:none;border:none;color:var(--steel);padding:14px 0 12px;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.5px}.tabbar button.active{color:var(--ember)}.eyebrow{font-family:var(--mono);font-size:11px;color:var(--brass);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:6px}.card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px}.card+.card{margin-top:12px}.type-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.type-btn{background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--chalk);padding:16px 12px;font-family:var(--disp);font-size:15px;text-transform:uppercase;letter-spacing:.5px;text-align:left}.type-btn.active{border-color:var(--ember);color:var(--ember)}.alert-banner{background:#2a1a1a;border:1px solid var(--alert);color:var(--alert);border-radius:8px;padding:12px 14px;font-size:13px;margin-top:14px}.exercise-row{border-top:1px solid var(--line);padding:14px 0}.exercise-row:first-child{border-top:none}.exercise-row h4{font-size:17px;margin-bottom:8px}.set-label{font-family:var(--mono);font-size:10px;color:var(--steel);text-transform:uppercase;display:block;margin-bottom:4px}.sets-table{margin-top:2px}.sets-table-header,.sets-table-row{display:grid;grid-template-columns:1fr 1fr 52px 30px 30px 22px;gap:6px;align-items:center}.sets-table-header{font-family:var(--mono);font-size:9px;color:var(--steel);text-transform:uppercase;letter-spacing:.3px;padding-bottom:5px}.sets-table-row{padding:3px 0}.sets-table-row input{width:100%;min-width:0;background:var(--panel-2);border:1px solid var(--line);border-radius:6px;color:var(--chalk);padding:6px;font-family:var(--mono);font-size:13px;box-sizing:border-box}.sets-table-warmup-btn{background:none;border:1px solid var(--line);border-radius:6px;color:var(--steel);font-size:13px;padding:5px 2px;cursor:pointer;line-height:1}.sets-table-warmup-btn.active{border-color:var(--brass);color:var(--brass)}.sets-table-timer-btn{background:none;border:1px solid var(--brass);border-radius:6px;color:var(--brass);font-size:13px;padding:5px 2px;cursor:pointer;line-height:1}.sets-table-remove-btn{background:none;border:none;color:var(--alert);font-size:16px;padding:4px 0;cursor:pointer;line-height:1}.sets-table-lastvalue{font-family:var(--mono);font-size:10px;color:var(--steel);margin:2px 0 4px}.btn-primary{width:100%;background:var(--ember);border:none;color:#15171b;font-weight:600;padding:14px;border-radius:8px;font-size:14px;letter-spacing:.3px;margin-top:16px;font-family:var(--disp);text-transform:uppercase}.btn-primary:disabled{opacity:.4}.btn-secondary{background:transparent;border:1px solid var(--brass);color:var(--brass);padding:8px 14px;border-radius:6px;font-size:12px}.session-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.session-item:first-child{border-top:none}.session-date{font-family:var(--mono);font-size:12px;color:var(--steel)}.session-label{font-family:var(--disp);text-transform:uppercase;font-size:14px}.hist-list button{display:block;width:100%;text-align:left;background:none;border:none;color:var(--chalk);padding:10px 0;border-top:1px solid var(--line);font-size:14px}.hist-list button:first-child{border-top:none}.hist-list .meta{color:var(--steel);font-size:12px;font-family:var(--mono)}table.hist-table{width:100%;border-collapse:collapse;margin-top:10px;font-family:var(--mono);font-size:13px}table.hist-table th{text-align:left;color:var(--steel);font-size:10px;text-transform:uppercase;padding:6px 4px;border-bottom:1px solid var(--line)}table.hist-table td{padding:8px 4px;border-bottom:1px solid #262a30;color:var(--brass);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100px}table.hist-table td:first-child{color:var(--chalk);white-space:normal;word-break:break-word;max-width:none;font-size:12px}.plan-day{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line);gap:10px}.plan-day:first-child{border-top:none}.plan-day .dow{font-family:var(--mono);font-size:11px;color:var(--steel);width:38px;flex-shrink:0}.plan-day select{flex:1;background:var(--panel-2);border:1px solid var(--line);color:var(--chalk);border-radius:6px;padding:8px;min-width:0}.plan-day .done-badge{font-family:var(--mono);font-size:10px;color:var(--ember);border:1px solid var(--ember);border-radius:20px;padding:3px 8px;flex-shrink:0;white-space:nowrap}.calendar-cell{text-align:left;min-height:54px;padding:4px 5px;cursor:pointer;background:var(--panel);border:1px solid var(--line);border-radius:6px;display:flex;flex-direction:column;gap:2px}.calendar-cell.today{border-color:var(--steel)}.calendar-cell.selected{background:var(--panel-2);border-color:var(--brass)}.calendar-cell.outside-month{opacity:.35}.calendar-cell-day{font-family:var(--disp);font-size:14px;color:var(--chalk)}.calendar-cell-label{font-family:var(--mono);font-size:9px;color:var(--brass);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-cell-phase{font-family:var(--mono);font-size:8px;color:var(--steel);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.biom-inputs{display:grid;grid-template-columns:1fr 1fr;gap:10px}.biom-inputs label{font-family:var(--mono);font-size:10px;color:var(--steel);text-transform:uppercase;display:block;margin-bottom:4px}.biom-inputs input,.biom-inputs select{width:100%;background:var(--panel-2);border:1px solid var(--line);border-radius:6px;color:var(--chalk);padding:8px}.muted{color:var(--steel);font-size:13px}.status-msg{font-family:var(--mono);font-size:12px;color:var(--brass);margin-top:10px}.swipe-row-delete-hover{opacity:0;pointer-events:none}@media (hover:hover){.swipe-row:hover .swipe-row-delete-hover{opacity:1;pointer-events:auto}}@media (hover:none){.swipe-row-delete-hover{display:none}}.seg-ctrl{display:flex;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:3px;gap:3px;margin-bottom:14px}.seg-ctrl button{flex:1;background:none;border:none;color:var(--steel);font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.5px;padding:7px 4px;border-radius:6px;cursor:pointer;transition:background .15s,color .15s}.seg-ctrl button.active{background:var(--panel);color:var(--chalk);box-shadow:0 1px 3px #0006}.today-layout{display:block}@media (max-width:1023px){.today-layout--active .today-selector{display:none}.today-session:empty{display:none}}@media (min-width:640px){.content{padding:24px 32px;max-width:720px;margin:0 auto}.type-grid{grid-template-columns:repeat(3,1fr);gap:12px}.type-btn{font-size:14px}.card{padding:20px}.biom-inputs{grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){.app-shell{flex-direction:row}.sidebar{display:flex;flex-direction:column;width:var(--sidebar-w);min-width:var(--sidebar-w);background:var(--panel);border-right:1px solid var(--line);height:100vh;position:sticky;top:0;overflow-y:auto;z-index:30}.sidebar-logo{padding:24px 20px 20px;border-bottom:1px solid var(--line)}.sidebar-nav{display:flex;flex-direction:column;padding:8px 0;flex:1}.sidebar-nav-btn{display:flex;align-items:center;gap:10px;width:100%;background:none;border:none;color:var(--steel);padding:13px 20px;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;text-align:left;transition:color .15s,background .15s;border-radius:0}.sidebar-nav-btn:hover{color:var(--chalk);background:#ffffff0a}.sidebar-nav-btn.active{color:var(--ember);background:#ff5a3614;border-left:2px solid var(--ember);padding-left:18px}.sidebar-nav-icon{font-size:14px;width:18px;text-align:center}.main-area{flex:1;overflow-y:auto;height:100vh;padding-bottom:0}.topbar,.tabbar{display:none}.content{padding:32px 48px;max-width:900px;margin:0 auto}.type-grid{grid-template-columns:repeat(4,1fr);gap:12px}.type-btn{padding:18px 14px;font-size:15px}.today-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.today-selector .type-grid{grid-template-columns:repeat(2,1fr)}.today-session .card{margin-top:0}.routines-layout{display:grid;grid-template-columns:260px 1fr;gap:20px;align-items:start}.routines-list-col,.routines-detail-col{min-width:0}.planning-history-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}table.hist-table td{max-width:160px}.biom-inputs{grid-template-columns:repeat(3,1fr)}.card{border-radius:10px;padding:20px}.card+.card{margin-top:16px}}@media (max-width:360px){.content{padding:12px}h2{font-size:20px}.type-btn{padding:13px 8px;font-size:13px}.type-grid{gap:8px}.sets-table-header,.sets-table-row{grid-template-columns:1fr 1fr 44px 26px 26px 18px;gap:4px}.sets-table-row input{font-size:12px;padding:5px}.plan-day select{font-size:12px;padding:6px 4px}.plan-day .dow{font-size:10px;width:30px}.card{padding:12px}}
