@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--bg-dark:#0f1014;--bg-card:#1a1a2e66;--bg-card-solid:#161622;--bg-input:#1c1e2b;--bg-run-card:#46464be6;--bg-chart:#0003;--bg-grid-line:#ffffff08;--accent-orange:#ff6b2b;--accent-orange-hover:#e85d21;--accent-orange-glow:#ff6b2b4d;--brand-orange:linear-gradient(135deg, #ff6b2b 0%, #e85d21 100%);--text-main:#fff;--text-muted:#8f93a3;--text-hover:#fff;--border-light:#ffffff14;--border-orange:#ff6b2b66;--border-run:#fff3;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-xl:32px}:root[data-theme=light]{--bg-dark:#f5f5f7;--bg-card:#ffffffb3;--bg-card-solid:#fff;--bg-input:#e8e8ed;--bg-run-card:#f0f0f5f2;--bg-chart:#0000000d;--bg-grid-line:#0000000a;--accent-orange:#e8581c;--accent-orange-hover:#d04a14;--accent-orange-glow:#e8581c33;--brand-orange:linear-gradient(135deg, #e8581c 0%, #c2410c 100%);--text-main:#1a1a2e;--text-muted:#6b6e7b;--text-hover:#1a1a2e;--border-light:#0000001a;--border-orange:#e8581c4d;--border-run:#0000001a}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-dark);color:var(--text-main);background-image:linear-gradient(var(--bg-grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--bg-grid-line) 1px, transparent 1px);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior:none;background-position:top;background-size:40px 40px;min-height:100dvh;margin:0;font-family:Inter,system-ui,sans-serif;display:flex}#root{width:100%;height:100dvh;min-height:0;display:flex}h1{letter-spacing:-.02em;font-size:1.5rem;font-weight:700}h2{font-size:1.25rem;font-weight:600}h3{color:var(--text-muted);font-size:1rem;font-weight:600}.glass-panel{background:var(--bg-card);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:1.5rem}.panel-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}button{cursor:pointer;border:none;font-family:inherit;font-weight:600;transition:all .2s}.btn-primary{background:var(--accent-orange);color:#fff;border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;display:flex}.btn-primary:hover{background:var(--accent-orange-hover);box-shadow:0 0 15px var(--accent-orange-glow)}.btn-ghost{color:var(--text-muted);border-radius:var(--radius-sm);background:0 0;padding:.5rem}.btn-ghost:hover{color:var(--text-hover);background:var(--bg-input)}.btn-outline{color:var(--accent-orange);border:1px solid var(--border-orange);border-radius:var(--radius-sm);background:0 0;padding:.5rem 1rem}.btn-outline:hover{background:#ff6b2b1a}.app-layout{width:100%;height:100dvh;min-height:0;display:flex;overflow:hidden}.main-content{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;min-height:0;padding:2rem;overflow:hidden auto}.three-col-layout{grid-template-columns:repeat(3,1fr);gap:1.5rem;height:calc(100vh - 4rem);display:grid}.three-col-layout>*{min-width:0;max-width:100%;overflow:hidden visible}@media (width<=1200px){.three-col-layout{grid-template-columns:1fr 1fr}}@media (width<=768px){.three-col-layout{grid-template-columns:1fr;height:auto}}input,select{background:var(--bg-input);border:1px solid var(--border-light);color:var(--text-main);border-radius:var(--radius-sm);outline:none;padding:.75rem 1rem;font-family:inherit;transition:border-color .2s}input:focus,select:focus{border-color:var(--accent-orange)}label{color:var(--text-muted);margin-bottom:.5rem;font-size:.85rem;font-weight:500;display:block}.card-dark{background:var(--bg-card-solid);border:1px solid var(--border-orange);border-radius:var(--radius-md);padding:1.25rem}.badge{background:var(--bg-input);color:var(--text-muted);border:1px solid var(--border-light);border-radius:99px;padding:.25rem .75rem;font-size:.8rem;font-weight:600}.orange-text{color:var(--accent-orange)}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.05)}}@keyframes pageIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.main-content{animation:.35s ease-out pageIn}.recovery-modal-overlay{z-index:2000;-webkit-backdrop-filter:blur(10px);background:#000000b8;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.recovery-modal{width:min(520px,100%);max-height:calc(100dvh - 2rem);padding:1.25rem;overflow-y:auto}.recovery-modal-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.recovery-modal-header p{color:var(--text-muted);margin-top:.25rem;font-size:.85rem}.recovery-step-pill{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg-input);min-width:46px;color:var(--text-muted);text-align:center;padding:.4rem .65rem;font-size:.8rem;font-weight:700}.recovery-step{flex-direction:column;gap:1rem;display:flex}.recovery-step-title{color:var(--accent-orange);align-items:center;gap:.6rem;display:flex}.recovery-step-title h3{color:var(--text-main)}.recovery-energy-grid,.recovery-choice-grid{gap:.65rem;display:grid}.recovery-energy-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.recovery-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recovery-energy-grid button,.recovery-choice-grid button{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg-input);min-height:46px;color:var(--text-main);font-size:1rem}.recovery-energy-grid button.selected,.recovery-choice-grid button.selected{border-color:var(--accent-orange);color:var(--accent-orange);background:#ff6b2b29}.recovery-body-map{flex-direction:column;gap:.85rem;display:flex}.recovery-body-map-toolbar{background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-sm);grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;padding:.25rem;display:grid}.recovery-body-map-toolbar button{border-radius:var(--radius-sm);min-height:42px;color:var(--text-muted);background:0 0}.recovery-body-map-toolbar button.selected{background:var(--accent-orange);color:#fff}.recovery-body-figure{aspect-ratio:220/520;border:1px solid var(--border-light);border-radius:var(--radius-md);background:#ffffff08;align-self:center;width:min(100%,360px);min-height:430px;position:relative;overflow:hidden}.recovery-body-figure svg{width:100%;height:100%;position:absolute;inset:0}.recovery-body-figure .body-silhouette{fill:#ffffff14;stroke:#ffffff38;stroke-width:2px}.recovery-body-figure.female .body-silhouette{fill:#ffffff1a}.recovery-body-figure .body-linework{fill:none;stroke:#fff3;stroke-width:2px;stroke-linecap:round}.recovery-body-region{min-width:54px;min-height:42px;color:var(--text-main);text-align:center;background:#1c1e2bc7;border:1px solid #ffffff29;border-radius:999px;justify-content:center;align-items:center;padding:.2rem;font-size:.72rem;line-height:1.1;display:flex;position:absolute;box-shadow:0 8px 20px #00000038}.recovery-body-region:hover{border-color:var(--border-orange);background:#ff6b2b1f}.recovery-body-region.selected{border-color:var(--accent-orange);color:#fff;background:#ff6b2bbd;box-shadow:0 0 0 3px #ff6b2b2e,0 10px 24px #00000047}.recovery-body-region span{overflow-wrap:anywhere;max-width:100%}.recovery-body-selection{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg-input);min-height:38px;color:var(--text-muted);padding:.65rem .8rem;font-size:.84rem;line-height:1.35}.recovery-actions{justify-content:space-between;gap:.75rem;display:flex}.recovery-actions .btn-primary,.recovery-actions .btn-outline,.recovery-full-button{min-height:44px}.recovery-actions .btn-primary,.recovery-actions .btn-outline{flex:1;justify-content:center}.recovery-full-button{width:100%}.recovery-modal button:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}@keyframes cardIn{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.card-dark{animation:.3s ease-out both cardIn}.card-dark:first-child{animation-delay:0s}.card-dark:nth-child(2){animation-delay:50ms}.card-dark:nth-child(3){animation-delay:.1s}.card-dark:nth-child(4){animation-delay:.15s}.card-dark:nth-child(5){animation-delay:.2s}.card-dark:nth-child(6){animation-delay:.25s}.card-dark{transition:transform .2s,box-shadow .2s}.card-dark:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000026}.glass-panel{animation:.4s ease-out .1s both cardIn}.editor-sticky-footer{z-index:5;background:linear-gradient(180deg, #16162200 0%, var(--bg-card-solid) 32%);gap:.75rem;margin-top:.5rem;padding-top:.85rem;display:flex;position:sticky;bottom:0}.glass-panel .editor-sticky-footer{background:linear-gradient(180deg, #1a1a2e00 0%, var(--bg-card-solid) 32%);border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg);margin-bottom:-1.5rem;margin-left:-1.5rem;margin-right:-1.5rem;padding:.85rem 1.5rem 1.5rem}.training-review-photo-preview{max-height:260px}.training-review-save-bar{display:flex}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton{background:linear-gradient(90deg, var(--bg-input) 0%, var(--bg-card-solid) 40%, var(--bg-input) 100%);border-radius:var(--radius-sm);background-size:200px 100%;animation:1.5s infinite shimmer}.btn-primary:active,.btn-outline:active,.btn-ghost:active{transform:scale(.97)}.sidebar-container{background:var(--bg-card);border-right:1px solid var(--border-light);flex-direction:column;width:240px;padding:2rem 1rem;transition:all .2s;display:flex}.sidebar-nav{flex-direction:column;gap:.5rem;width:100%;display:flex}.nav-section-spacer{background:var(--border-light);height:1px;margin:.35rem 0}.nav-item{color:var(--text-muted);border-radius:var(--radius-sm);background-color:#0000;align-items:center;gap:.75rem;padding:.75rem 1rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.nav-item:hover{color:#fff}.nav-item.active{color:#fff;background-color:var(--bg-input)}.nav-item.admin-link.active{color:#10b981;background-color:#10b9811a}@media (width<=768px){.app-layout{flex-direction:column}.sidebar-container{width:100%;height:auto;min-height:70px;padding:0;padding-bottom:env(safe-area-inset-bottom);border-right:none;border-top:1px solid var(--border-light);z-index:1000;-webkit-backdrop-filter:blur(15px);background:#0f1014fa;flex-direction:row;transition:transform .3s;position:fixed;bottom:0;left:0;right:0}.mobile-only-bottom-bar{display:flex!important}.sidebar-container.drawer-open{width:280px;height:100dvh;padding:2rem 1rem;padding-top:calc(2rem + env(safe-area-inset-top));border-right:1px solid var(--accent-orange);z-index:1001;background:#11111b;flex-direction:column;position:fixed;top:0;bottom:0;left:0;transform:translate(0);box-shadow:20px 0 50px #00000080;display:flex!important}.sidebar-container.drawer-closed{display:none!important}.mobile-header{height:calc(60px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 1.25rem 0 1.25rem;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-light);z-index:999;background:#0f1014e6;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.mobile-drawer-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);background:#000c;animation:.2s fadeIn;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sidebar-container h1{display:none!important}.sidebar-container.drawer-open h1{display:block!important}.mobile-only-bottom-bar .sidebar-nav{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-direction:row;justify-content:flex-start;align-items:stretch;gap:0;overflow-x:auto}.mobile-only-bottom-bar .nav-section-spacer{display:none}.mobile-only-bottom-bar .sidebar-nav::-webkit-scrollbar{display:none}.sidebar-container.drawer-open .sidebar-nav{flex-direction:column;justify-content:flex-start;align-items:stretch;gap:.5rem;overflow:hidden auto}.sidebar-container.drawer-open .nav-item{text-align:left;flex-direction:row;justify-content:flex-start;gap:1rem;min-width:0;padding:1rem;font-size:1rem}.nav-item{text-align:center;border-radius:0;flex-direction:column;flex-shrink:0;justify-content:center;gap:.25rem;min-width:80px;padding:.75rem 1rem;font-size:.65rem}.nav-item.active{color:var(--accent-orange);background-color:#0000}.nav-item.admin-link.active{color:#10b981;background-color:#0000}.main-content{width:100%;min-height:0;padding:1rem;padding-top:calc(70px + env(safe-area-inset-top));padding-bottom:calc(80px + env(safe-area-inset-bottom))}.glass-panel{border-radius:var(--radius-md);padding:1rem}.recovery-modal-overlay{padding:.75rem;padding-bottom:calc(.75rem + env(safe-area-inset-bottom));align-items:flex-end}.recovery-modal{width:100%;max-height:calc(100dvh - 1.5rem - env(safe-area-inset-bottom))}.recovery-energy-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.recovery-body-figure{width:min(100%,330px);min-height:420px}.recovery-body-region{min-width:64px;min-height:46px;font-size:.68rem}.recovery-body-selection{font-size:.8rem}input,select,button{font-size:16px}.glass-panel .editor-sticky-footer{padding:.85rem 1rem calc(1rem + env(safe-area-inset-bottom));border-bottom-left-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md);margin-bottom:-1rem;margin-left:-1rem;margin-right:-1rem}.training-review-main{padding-bottom:calc(150px + env(safe-area-inset-bottom));align-items:flex-start}.training-review-card{gap:.85rem!important;padding-bottom:0!important}.training-review-photo-preview{max-height:170px}.training-review-save-bar{bottom:calc(80px + env(safe-area-inset-bottom));z-index:20;padding:.75rem 1.25rem calc(.85rem + env(safe-area-inset-bottom));background:linear-gradient(180deg, #16162200 0%, var(--bg-card-solid) 32%);border-bottom-left-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md);margin:0 -1.25rem;position:sticky}}@media (width>=769px){.mobile-header,.mobile-drawer-overlay,.mobile-only-bottom-bar{display:none!important}.sidebar-container.drawer-closed{border-top:none;border-right:1px solid var(--border-light);background:var(--bg-card);width:240px;height:100vh;position:relative;transform:none;display:flex!important}}@media (width<=1200px){.span-2{grid-column:span 1!important}}@media (width<=768px){.span-2{grid-column:span 1!important}}
