:root{--bg-wood:#efe3d8;--card-wood:#e6d2bf;--accent-green:#2f7a46;--muted-green:#67a66a;--text:#2b2b2b}.dark-theme{--bg-wood: #0f1720;--card-wood: #0b1220;--accent-green: #2fd57a;--muted-green: #79d59a;--text: #e6f6ef;--muted-text: #a7bdb5;--card-elevation: rgba(0,0,0,.6);--glass: rgba(255,255,255,.02)}html,body,#root{height:100%;overflow:hidden;width:100%;position:fixed;margin:0;padding:0;overflow-x:hidden;max-width:100vw}body{font-family:Quicksand,Arial,Helvetica,sans-serif;margin:0;padding:0;min-height:100%;background:radial-gradient(circle at 10% 10%,rgba(47,122,70,.06),transparent 20%),linear-gradient(180deg,#f7f3ee,#efe3d8);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-user-scalable:no;user-scalable:no;overflow:hidden;overflow-x:hidden;width:100vw;max-width:100vw;position:fixed;overscroll-behavior:none}.dark-theme body,html.dark-theme,html.dark-theme body{background:radial-gradient(circle at 10% 10%,rgba(47,122,70,.02),transparent 20%),linear-gradient(180deg,#071218,#071218);color:var(--text)}.app-shell{display:flex;flex-direction:column;align-items:center;padding:0;height:100%;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;width:100vw;max-width:100vw;position:fixed;left:0;top:0;margin:0;padding-top:max(0px,env(safe-area-inset-top));padding-bottom:max(80px,env(safe-area-inset-bottom));padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);box-sizing:border-box;overscroll-behavior:none}.hamburger{background:#fffffff2;border:none;font-size:28px;padding:8px;color:var(--accent-green);cursor:pointer;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;position:absolute;right:8px;top:8px;z-index:101;border-radius:12px;box-shadow:0 2px 12px #00000014;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hamburger:hover{opacity:.9}.dark-theme .hamburger{background:#0f1720f2;box-shadow:0 2px 12px #0000004d}.settings-btn{background:#fffffff2;border:none;font-size:20px;padding:8px;color:var(--accent-green);cursor:pointer;min-width:40px;min-height:40px;display:flex;align-items:center;justify-content:center;border-radius:10px;box-shadow:0 2px 8px #0000000f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .2s ease;position:absolute;right:12px;top:8px}.settings-btn:hover{opacity:.9;transform:scale(1.05)}.dark-theme .settings-btn{background:#0f1720f2;box-shadow:0 2px 8px #0000004d}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:70px;background:linear-gradient(180deg,#fffffffa,#fffffff2);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid rgba(0,0,0,.06);display:flex;justify-content:space-around;align-items:center;z-index:100;padding-bottom:max(8px,env(safe-area-inset-bottom));box-shadow:0 -4px 20px #00000014;transition:transform .3s ease}.bottom-nav.hidden{transform:translateY(100%)}.bottom-nav.visible{transform:translateY(0)}.bottom-nav button{background:transparent;border:none;color:var(--text);padding:8px 12px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:70px;border-radius:12px;transition:all .2s ease;position:relative}.bottom-nav button .nav-icon{font-size:24px;transition:transform .2s ease}.bottom-nav button .nav-label{font-size:11px;font-weight:500;opacity:.7}.bottom-nav button.active{color:var(--accent-green)}.bottom-nav button.active .nav-icon{transform:scale(1.15)}.bottom-nav button.active .nav-label{opacity:1;font-weight:600}.bottom-nav button:hover{background:#2f7a460d}.bottom-nav button .badge{position:absolute;top:4px;right:12px;background:var(--accent-green);color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center}.dark-theme .bottom-nav{background:linear-gradient(180deg,#0f1720fa,#0b1220f2);border-top:1px solid rgba(255,255,255,.08);box-shadow:0 -4px 20px #0006}.dark-theme .bottom-nav button:hover{background:#2fd57a14}.menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:99}.sidebar-menu{position:fixed;left:0;top:0;width:240px;height:100%;background:linear-gradient(180deg,var(--card-wood),var(--bg-wood));border-right:1px solid rgba(0,0,0,.1);z-index:100;transition:transform .3s ease;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;padding:0}.dark-theme .sidebar-menu{background:linear-gradient(180deg,#0b1220,#0f1720);border-right:1px solid rgba(255,255,255,.05)}.menu-close{background:transparent;border:none;font-size:24px;padding:12px;color:var(--text);cursor:pointer;align-self:flex-end;min-height:44px}.sidebar-nav{display:flex;flex-direction:column;gap:0;padding:12px 0;flex:1}.sidebar-nav button{background:transparent;border:none;color:var(--text);text-align:left;padding:16px 20px;font-size:16px;cursor:pointer;border-left:4px solid transparent;transition:all .2s ease;min-height:44px;display:flex;align-items:center}.sidebar-nav button:hover{background:#ffffff0d}.sidebar-nav button.active{border-left-color:var(--accent-green);background:#2f7a4614}.theme-toggle-menu,.logout-menu{margin-top:auto;border-top:1px solid rgba(0,0,0,.05)!important}.dark-theme .theme-toggle-menu,.dark-theme .logout-menu{border-top:1px solid rgba(255,255,255,.05)!important}.header{display:flex;justify-content:center;align-items:center;padding:0 12px;gap:0;position:relative}.header h2{font-family:Merriweather,serif;margin:8px 0;color:var(--accent-green);font-size:1.2rem;flex:1;text-align:center}.card{width:100%;max-width:980px;background:linear-gradient(180deg,#fff9,#ffffff59);border-radius:0;box-shadow:none;padding:16px 12px 140px;border:none;margin:0;box-sizing:border-box;overflow-x:hidden;position:relative}.dark-theme .card{background:linear-gradient(180deg,#ffffff05,#ffffff03);border:none;box-shadow:none}.controls{display:flex;gap:8px;align-items:center}input,select{padding:10px 12px;border-radius:10px;border:1px solid rgba(0,0,0,.08);background:#ffffffe6;transition:all .18s ease}input::placeholder{color:#9aa49a}.dark-theme input,.dark-theme select{background:#ffffff05;border:1px solid rgba(255,255,255,.04);color:var(--text)}button{background:var(--accent-green);color:#fff;border:none;padding:10px 14px;border-radius:12px;cursor:pointer;transition:transform .12s cubic-bezier(.2,.8,.2,1),box-shadow .12s ease,filter .12s ease}button:hover{transform:translateY(-2px);box-shadow:0 8px 26px #2e754a2e;filter:brightness(1.03)}button:active{transform:translateY(0);box-shadow:0 4px 12px #0000001f}button.secondary{background:transparent;color:var(--accent-green);border:1px solid rgba(47,122,70,.12)}.dark-theme button{box-shadow:0 6px 20px #0006}.dark-theme button:hover{box-shadow:0 10px 36px #2ed57a1f,0 2px 8px #0009}.glow{position:relative}.glow:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;opacity:0;transition:opacity .12s ease,transform .12s ease}.glow:hover:after{opacity:1;transform:scale(1.02);box-shadow:0 10px 40px #2ed57a1f}.theme-toggle{padding:8px 10px;border-radius:10px;background:transparent;border:1px solid rgba(255,255,255,.04);color:var(--muted-green)}.dark-theme .theme-toggle{color:var(--muted-text);border:1px solid rgba(255,255,255,.06)}.section{margin-top:18px}.flex-row{display:flex;gap:12px;align-items:center}.invite-note{font-size:.9rem;color:#556b55;margin-top:8px}.chart-wrap{margin-top:14px;padding:12px;border-radius:10px;background:linear-gradient(180deg,#6fa06e0f,#ffffff05);height:280px;position:relative}.dark-theme .chart-wrap{background:linear-gradient(180deg,#ffffff03,#ffffff05);border:1px solid rgba(255,255,255,.02)}.graph-container{display:flex;gap:12px;align-items:flex-start;flex-direction:column}.graph-container .chart-wrap{width:100%;height:220px}.goal-panel{width:100%;display:grid;gap:8px}.goal-panel h4{margin:0 0 8px}.profile-card{background:linear-gradient(135deg,#fffc,#ffffff80);padding:20px;border-radius:16px;box-shadow:0 4px 16px #0000000f;border:1px solid rgba(0,0,0,.04)}.profile-card h4{margin:0 0 4px;color:var(--accent-green);font-size:1.1rem}.dark-theme .profile-card{background:linear-gradient(135deg,#ffffff0d,#ffffff05);border:1px solid rgba(255,255,255,.08);box-shadow:0 4px 16px #0000004d}.auth-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:20px}.auth-card{max-width:440px;width:100%;background:linear-gradient(135deg,#ffffffd9,#ffffffa6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:24px;padding:40px 32px;box-shadow:0 20px 60px #2f7a4626,0 0 0 1px #2f7a460d;animation:fadeSlideIn .5s ease-out;position:relative;overflow:hidden}.auth-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(47,122,70,.03) 0%,transparent 70%);animation:rotate 20s linear infinite;pointer-events:none}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-card h2{font-family:Merriweather,serif;color:var(--accent-green);margin:0 0 8px;font-size:1.8rem;font-weight:700;text-align:center}.auth-card .subtitle{color:#556b55;font-size:.95rem;text-align:center;margin:0 0 32px;line-height:1.5}.auth-card .logo-emoji{font-size:3.5rem;text-align:center;display:block;margin-bottom:16px;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.auth-form{display:grid;gap:16px}.auth-form input{font-size:15px;padding:14px 16px;border-radius:12px;border:2px solid rgba(47,122,70,.1);background:#ffffffe6;transition:all .2s ease;box-shadow:0 2px 8px #00000005}.auth-form input:focus{outline:none;border-color:var(--accent-green);box-shadow:0 4px 16px #2f7a4626;transform:translateY(-1px)}.auth-form .button-group{display:grid;gap:12px;margin-top:8px}.auth-form button[type=submit]{background:linear-gradient(135deg,var(--accent-green),var(--muted-green));font-size:1rem;font-weight:600;padding:14px;border-radius:12px;box-shadow:0 6px 20px #2f7a4640;position:relative;overflow:hidden}.auth-form button[type=submit]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent,rgba(255,255,255,.2));opacity:0;transition:opacity .3s ease}.auth-form button[type=submit]:hover:before{opacity:1}.auth-form button[type=submit]:hover{transform:translateY(-2px);box-shadow:0 8px 30px #2f7a4659}.auth-form .toggle-btn{background:transparent;color:var(--accent-green);border:2px solid rgba(47,122,70,.15);font-weight:500;padding:12px;border-radius:12px;width:100%}.auth-form .toggle-btn:hover{background:#2f7a460d;border-color:var(--accent-green);transform:translateY(-1px);box-shadow:0 4px 12px #2f7a461a}.dark-theme .auth-card{background:linear-gradient(135deg,#0f1720f2,#0b1220d9);box-shadow:0 20px 60px #00000080,0 0 0 1px #2fd57a1a}.dark-theme .auth-card h2{color:var(--accent-green)}.dark-theme .auth-card .subtitle{color:var(--muted-text)}.dark-theme .auth-form input{background:#ffffff0d;border-color:#2fd57a33;color:var(--text)}.dark-theme .auth-form input:focus{border-color:var(--accent-green);box-shadow:0 4px 16px #2fd57a33}.dark-theme .auth-form .toggle-btn{border-color:#2fd57a33;color:var(--accent-green)}.dark-theme .auth-form .toggle-btn:hover{background:#2fd57a14;border-color:var(--accent-green)}@media (max-width:600px){.app-shell{padding-top:max(12px,env(safe-area-inset-top));padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right));padding-bottom:max(8px,env(safe-area-inset-bottom))}.card{padding:10px;box-sizing:border-box}input,select{font-size:16px;padding:10px;width:100%;border-radius:6px;min-height:44px;box-sizing:border-box}button{padding:10px 12px;font-size:.9rem;width:100%;min-height:44px;border-radius:6px;box-sizing:border-box}button.secondary{width:auto}button.hamburger{position:relative;z-index:1}.header{padding:6px 8px;gap:8px;box-sizing:border-box}.header h2{font-size:1rem;margin:4px 0}.section{margin-top:8px}.chart-wrap{padding:6px;margin-top:8px;height:180px;border-radius:6px}.graph-container .chart-wrap{height:180px}h3{font-size:1rem;margin:6px 0 4px}h4{font-size:.9rem;margin:4px 0}form>div[style*="display:flex"]{flex-direction:column!important}div[style*=borderBottom]{padding:6px 0;font-size:13px}body{overflow-x:hidden;width:100vw;max-width:100vw;overscroll-behavior:none}.sidebar-menu{width:max(220px,65vw)}*{max-width:100vw;box-sizing:border-box}}@media (max-width:400px){.app-shell{padding-top:max(8px,env(safe-area-inset-top));padding-left:max(6px,env(safe-area-inset-left));padding-right:max(6px,env(safe-area-inset-right))}.card{padding:6px;box-sizing:border-box}.header{padding:4px 6px;box-sizing:border-box}.header h2{font-size:.9rem;margin:2px 0}input,select,button{font-size:13px;padding:8px;box-sizing:border-box}.chart-wrap{height:160px;padding:4px}.graph-container .chart-wrap{height:160px}.sidebar-nav button{padding:12px 14px;font-size:14px}h3{font-size:.9rem;margin:4px 0 2px}h4{font-size:.85rem;margin:2px 0 4px}}
