@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap";:root{--bg-main:#f4f7f6;--bg-card:#fff;--bg-card-hover:#fafcfc;--border-color:#70809026;--border-focus:teal;--primary:teal;--primary-glow:#00808026;--secondary:#32cd32;--secondary-glow:#32cd3226;--accent:#32cd32;--text-main:#2f4f4f;--text-muted:#708090;--text-dark:#2f4f4f;--success:#00bfff;--warning:#ff8c00;--error:#ff4500;--grad-primary:linear-gradient(135deg, teal 0%, #00bfff 100%);--grad-dark:linear-gradient(180deg, #fafcfc 0%, #f4f7f6 100%);--grad-glow:linear-gradient(135deg, #0080800d 0%, #32cd320d 100%);--font-family:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--transition-fast:.2s cubic-bezier(.4, 0, .2, 1);--transition-normal:.3s cubic-bezier(.4, 0, .2, 1);--shadow-soft:0 4px 20px #2f4f4f0d;--shadow-strong:0 10px 30px #2f4f4f14;--shadow-glow:0 4px 15px #00808026;--shadow-glow-hover:0 8px 25px #00808040;--blur-amount:none}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-main);color:var(--text-main);font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(at 0 0,#0080800a 0,#0000 50%),radial-gradient(at 100% 0,#32cd320a 0,#0000 50%),radial-gradient(at 50% 100%,#00bfff08 0,#0000 50%);background-attachment:fixed;min-height:100vh;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-main)}::-webkit-scrollbar-thumb{background:#70809033;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--primary)}h1,h2,h3,h4,h5,h6{letter-spacing:-.025em;font-weight:700;line-height:1.25}p{color:var(--text-muted);line-height:1.6}.glass-card{background:var(--bg-card);border:1px solid var(--border-color);box-shadow:var(--shadow-soft);transition:all var(--transition-normal);border-radius:20px;padding:24px}.glass-card:hover{background:var(--bg-card-hover);box-shadow:var(--shadow-strong);border-color:#00808040}.glow-text{background:var(--grad-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-weight:800}.glow-border{border:2px solid var(--primary);box-shadow:var(--shadow-glow)}.form-group{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.form-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:600}.form-input{border:1px solid var(--border-color);color:var(--text-main);font-family:var(--font-family);transition:all var(--transition-fast);background:#fff;border-radius:10px;outline:none;width:100%;padding:12px 16px;font-size:1rem}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.form-select{border:1px solid var(--border-color);color:var(--text-main);font-family:var(--font-family);transition:all var(--transition-fast);appearance:none;background:#fff url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23708090' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e") right 16px center/16px no-repeat;border-radius:10px;outline:none;width:100%;padding:12px 16px;font-size:1rem}.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.btn{cursor:pointer;font-family:var(--font-family);transition:all var(--transition-fast);border:none;border-radius:30px;justify-content:center;align-items:center;gap:8px;padding:12px 28px;font-size:.95rem;font-weight:700;text-decoration:none;display:inline-flex}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:#066;transform:translateY(-2px);box-shadow:0 6px 20px #00808033}.btn-primary:active{transform:translateY(0)}.btn-secondary{border:1px solid var(--border-color);color:var(--primary);background:#70809014}.btn-secondary:hover{background:#70809026;border-color:#7080904d;transform:translateY(-2px)}.btn-secondary:active{transform:translateY(0)}.btn-danger{color:var(--error);background:#ff450014;border:1px solid #ff450033}.btn-danger:hover{background:var(--error);color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px #ff450033}.btn-danger:active{transform:translateY(0)}.btn-icon{border-radius:50%;padding:8px}.tabs{border-bottom:1px solid var(--border-color);gap:16px;margin-bottom:24px;display:flex}.tab-btn{color:var(--text-muted);cursor:pointer;font-family:var(--font-family);transition:all var(--transition-fast);background:0 0;border:none;padding:12px 8px;font-size:1rem;font-weight:500;position:relative}.tab-btn:hover{color:var(--primary)}.tab-btn.active{color:var(--primary);font-weight:600}.tab-btn.active:after{content:"";background:var(--primary);width:100%;height:2px;box-shadow:var(--shadow-glow);position:absolute;bottom:-1px;left:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.animate-fade-in{animation:fadeIn var(--transition-normal) forwards}.modal-backdrop{-webkit-backdrop-filter:blur(8px)!important;z-index:2000!important;background:#2f4f4f66!important;justify-content:center!important;align-items:center!important;width:100vw!important;height:100dvh!important;display:flex!important;position:fixed!important;top:0!important;left:0!important}.mobile-back-btn{display:none!important}.grid-2-cols{grid-template-columns:1fr 1fr;gap:16px;display:grid}.grid-3-cols{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.grid-1-2-cols{grid-template-columns:1fr 1.2fr;gap:24px;display:grid}.grid-1-2-1-cols{grid-template-columns:1.2fr 1fr;gap:24px;display:grid}.grid-1-3-1-cols{grid-template-columns:1.3fr 1fr;gap:24px;display:grid}.grid-300px-1-cols{grid-template-columns:300px 1fr;gap:24px;display:grid}.grid-1fr-320px{grid-template-columns:1fr 320px;gap:24px;display:grid}@media (width<=1024px){.grid-1-2-cols,.grid-1-2-1-cols,.grid-1-3-1-cols,.grid-300px-1-cols,.grid-1fr-320px{gap:16px;grid-template-columns:1fr!important}}@media (width<=768px){.glass-card{padding:16px}.main-layout{width:100%;position:relative;display:block!important}.content-panel{width:100%!important;padding:16px!important}.mobile-back-btn{align-self:flex-start;margin-bottom:16px!important;display:inline-flex!important}.grid-3-cols{gap:12px;grid-template-columns:1fr!important}}@media (width<=576px){.grid-2-cols{gap:12px;grid-template-columns:1fr!important}header{flex-direction:column;gap:8px;align-items:flex-start!important;padding:12px 16px!important}header span{margin-left:0!important}.tabs{white-space:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:4px;overflow-x:auto;gap:0!important}.tabs::-webkit-scrollbar{display:none}.tab-btn{flex-shrink:0;padding:10px 12px!important;font-size:.82rem!important}}.profile-header-card{justify-content:space-between;align-items:center;gap:20px;display:flex}.profile-details{flex-direction:column;gap:8px;display:flex}.profile-name{font-size:2rem;line-height:1.2}.profile-info-row{color:var(--text-muted);flex-wrap:wrap;gap:16px;font-size:.9rem;display:flex}.profile-actions{flex-shrink:0;gap:12px;display:flex}@media (width<=768px){.profile-header-card{flex-direction:column;align-items:stretch;gap:16px}.profile-actions{flex-wrap:wrap;width:100%}.profile-actions button,.profile-actions a{flex:calc(50% - 8px)}.profile-actions button:first-child{flex:100%!important}}@media (width<=576px){.profile-name{font-size:1.5rem}}.history-toggle-btn{transition:all .25s cubic-bezier(.4,0,.2,1)!important}.history-toggle-btn:hover{transform:translateY(-2px);box-shadow:0 0 15px #00f2fe1f;background:#00f2fe0d!important;border-color:#00f2fe99!important}.history-toggle-btn:active{transform:translateY(0)}.content-panel{width:100%;max-width:1400px;min-height:calc(100vh - 80px);margin:0 auto;padding:32px}.drawer-backdrop{-webkit-backdrop-filter:blur(4px);z-index:1000;background:#2f4f4f40;width:100vw;height:100vh;animation:.25s ease-out forwards fadeInBackdrop;position:fixed;top:0;left:0}@keyframes fadeInBackdrop{0%{opacity:0}to{opacity:1}}.sidebar-drawer{border-right:1px solid var(--border-color);z-index:1001;background:#fff;flex-direction:column;width:340px;height:100vh;transition:transform .3s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:10px 0 40px #2f4f4f0f}.sidebar-drawer.open{transform:translate(0)}@media (width<=480px){.sidebar-drawer{width:290px}}.sidebar-toggle-btn{transition:all var(--transition-fast)!important;border:1px solid #0000!important}.sidebar-toggle-btn:hover{transform:translateY(-1px);background:#00f2fe14!important;border-color:#00f2fe4d!important;box-shadow:0 0 15px #00f2fe26!important}.sidebar-toggle-btn:active{transform:scale(.95)}.calorie-dashboard-grid{grid-template-columns:1.2fr 1fr;gap:24px;display:grid}.calorie-summary-left{align-items:center;gap:20px;display:flex}.posture-header-card{justify-content:space-between;align-items:center;gap:16px;display:flex}.posture-header-actions{flex-shrink:0;gap:12px;display:flex}.athlete-tabs{white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;border-bottom:1px solid var(--border-color);gap:0;padding-bottom:0;display:flex;overflow-x:auto}.athlete-tabs::-webkit-scrollbar{display:none}.athlete-tab-btn{color:var(--text-muted);cursor:pointer;font-family:var(--font-family);transition:all var(--transition-fast);white-space:nowrap;background:0 0;border:none;flex-shrink:0;padding:12px 16px;font-size:.95rem;font-weight:500;position:relative}.athlete-tab-btn.active{color:var(--primary);font-weight:700}.athlete-tab-btn.active:after{content:"";background:var(--primary);border-radius:2px 2px 0 0;width:100%;height:3px;position:absolute;bottom:-1px;left:0}@media (width<=640px){.calorie-dashboard-grid{gap:16px;grid-template-columns:1fr!important}.calorie-summary-left{text-align:center;flex-direction:column;align-items:center;gap:12px}.calorie-macro-row span:first-child{font-size:.78rem!important}.posture-header-card{flex-direction:column;align-items:flex-start;gap:16px}.posture-header-actions{width:100%}.posture-header-actions button{flex:1}.calorie-analyzer-grid{gap:16px;grid-template-columns:1fr!important}.glass-card{border-radius:16px!important;padding:14px!important}.content-panel{padding:12px!important}}@media (width<=400px){.calorie-summary-left{gap:8px}.athlete-tab-btn{padding:10px;font-size:.82rem}}.subtabs-nav{white-space:nowrap!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch!important;border:1px solid var(--border-color)!important;background:#ffffff05!important;gap:8px!important;display:flex!important;overflow-x:auto!important}.subtabs-nav::-webkit-scrollbar{display:none!important}.subtabs-nav .tab-btn{white-space:nowrap!important;transition:all var(--transition-fast)!important;flex:none!important;padding:10px 16px!important;font-size:.85rem!important}.scroll-mask-container{width:100%;position:relative}.scroll-mask-container:after{content:"";background:linear-gradient(90deg, transparent, var(--bg-main));pointer-events:none;z-index:5;opacity:.85;width:35px;height:100%;position:absolute;top:0;right:0}.exchange-modal-card{border:1px solid var(--border-color)!important;transition:all var(--transition-normal)!important;box-sizing:border-box!important;background:#fff!important;margin:auto!important;box-shadow:0 20px 50px #2f4f4f26!important}.exchange-search-box{align-items:center;width:100%;display:flex;position:relative}.exchange-search-box input{border:1px solid var(--border-color)!important;background:var(--bg-main)!important;transition:all var(--transition-fast)!important;border-radius:12px!important;padding-left:40px!important;font-size:.95rem!important}.exchange-search-box input:focus{border-color:var(--primary)!important;background:#fff!important}.exchange-search-icon{color:var(--text-muted);pointer-events:none;font-size:1.1rem;position:absolute;left:14px}.exchange-pills-nav{white-space:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.exchange-pills-nav::-webkit-scrollbar{display:none}.exchange-pill{border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);background:#7080900f;border-radius:20px;flex-shrink:0;padding:8px 14px;font-size:.8rem;font-weight:600}.exchange-pill:hover{border-color:var(--primary);color:var(--primary);background:#00808005}.exchange-pill.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:var(--shadow-glow)}.exchange-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:10px;display:grid}.exchange-card{border:1px solid var(--border-color);transition:all var(--transition-fast);background:#fff9;border-radius:12px;flex-direction:column;gap:6px;padding:12px 14px;display:flex;position:relative;overflow:hidden}.exchange-card:hover{box-shadow:var(--shadow-soft);background:#fff;border-color:#00808033;transform:translateY(-2px)}.exchange-card-portion{letter-spacing:.02em;border-radius:20px;align-self:flex-start;padding:2px 8px;font-size:.72rem;font-weight:700}.product-card-image-container{border:1px solid var(--border-color);background:linear-gradient(135deg,#00808008 0%,#32cd3208 100%);border-radius:10px;justify-content:center;align-items:center;width:100%;height:160px;display:flex;position:relative;overflow:hidden}.product-card-image{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-normal)}.product-card-hover:hover .product-card-image{transform:scale(1.04)}.product-placeholder-gradient{background:linear-gradient(135deg, var(--primary-glow) 0%, #32cd320d 100%);flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;height:100%;display:flex}.product-placeholder-icon{filter:drop-shadow(0 4px 6px #0000000d);font-size:2.8rem}.product-upload-box{border:2px dashed var(--border-color);text-align:center;cursor:pointer;transition:all var(--transition-fast);background:#70809005;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-height:110px;padding:16px;display:flex;position:relative}.product-upload-box:hover{border-color:var(--primary);background:#00808003}.product-upload-preview{object-fit:cover;border:1px solid var(--border-color);border-radius:8px;width:100%;height:100%;max-height:150px}
