@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";.auth-page{min-height:100vh;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:20px;position:relative}.dark-toggle{position:absolute;top:20px;right:20px;width:50px;height:50px;border-radius:50%;border:none;background:var(--card);font-size:24px;cursor:pointer;box-shadow:0 4px 12px #0000001a;transition:transform .2s ease}.dark-toggle:hover{transform:scale(1.1)}.dark-toggle:active{transform:scale(.95)}.auth-card{background:var(--card);width:100%;max-width:380px;padding:32px 24px;border-radius:18px;text-align:center;box-shadow:0 20px 40px #00000014}.auth-card img{width:140px;margin-bottom:12px}.auth-card h2{font-size:22px;margin-bottom:4px;color:var(--text-main)}.auth-card p{color:var(--text-muted);margin-bottom:20px;font-size:16px}.auth-card input{width:100%;height:50px;margin-bottom:14px;padding:0 14px;font-size:16px;border-radius:12px;border:1px solid #d1d5db;font-family:inherit;background:var(--card);color:var(--text-main)}.auth-card input:focus{outline:none;border-color:#7c6cf2;box-shadow:0 0 0 3px #7c6cf21a}.auth-card input:disabled{opacity:.6;cursor:not-allowed}.primary-btn{width:100%;height:52px;background:#7c6cf2;color:#fff;border:none;border-radius:14px;font-size:18px;font-weight:600;margin-top:10px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.primary-btn:hover:not(:disabled){box-shadow:0 10px 20px #7c6cf233}.primary-btn:active:not(:disabled){transform:scale(.97)}.primary-btn:disabled{opacity:.8;cursor:not-allowed}.spinner{width:22px;height:22px;border:3px solid rgba(255,255,255,.4);border-top:3px solid white;border-radius:50%;animation:spin .8s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.error{color:#dc2626;font-size:14px;margin-bottom:10px;animation:pop .3s ease}.success{color:#16a34a;font-size:14px;margin-top:10px;animation:pop .3s ease}@keyframes pop{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.shake{animation:shake .35s}@keyframes shake{0%{transform:translate(0)}25%{transform:translate(-6px)}50%{transform:translate(6px)}75%{transform:translate(-6px)}to{transform:translate(0)}}.switch{display:block;margin-top:16px;color:var(--text-muted);font-size:14px}.switch b{color:#7c6cf2;cursor:pointer;font-weight:600}.switch b:hover{text-decoration:underline}.fade-in{animation:fadeSlide .45s ease}@keyframes fadeSlide{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}:root{--primary-purple: #6200ea;--primary-purple-light: #a855f7;--bg: #f8fafc;--card: #ffffff;--text-main: #1e293b;--text-muted: #64748b;--success: #10b981}body.dark{--bg: #0f172a;--card: #1e293b;--text-main: #f8fafc;--text-muted: #94a3b8}body{margin:0;font-family:Inter,sans-serif;background:var(--bg);color:var(--text-main);-webkit-font-smoothing:antialiased}.dash{max-width:420px;margin:0 auto;padding:80px 20px 20px;min-height:100vh}.dash-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding:10px 5px}.welcome{font-size:.9rem;color:var(--text-muted);margin:0;font-weight:500}.header-text{margin-left:50px;margin-right:50px}.dash-header h2{font-size:1.5rem;margin:0;color:var(--text-main);font-weight:700}.logout-subtle{background:transparent;border:none;opacity:.5;cursor:pointer;transition:opacity .2s;padding:8px}.logout-subtle:hover{opacity:1}.membership-card.expired{background:linear-gradient(135deg,#ef4444,#b91c1c);box-shadow:0 20px 40px -10px #ef444466}.card-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.tier-badge{background:#fff3;padding:6px 14px;border-radius:20px;font-size:.8rem;font-weight:600;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.days-display h1{font-size:3rem;margin:0;font-weight:800;line-height:1}.days-display .label{font-size:1rem;font-weight:500;opacity:.9}.days-display .expired-text{font-size:1.8rem}.progress-bar-container{height:6px;background:#0003;border-radius:10px;margin-top:25px;width:100%}.progress-fill{height:100%;border-radius:10px;transition:width 1s ease-out}.renew-hint{margin-top:10px;font-size:.9rem;opacity:.9;text-align:center;font-weight:600}.log-btn-container{margin:10px 0 35px;display:flex;justify-content:center}.big-log-btn{background:var(--text-main);color:var(--bg);width:100%;padding:15px;border-radius:20px;border:none;cursor:pointer;box-shadow:0 10px 25px #0000001a;display:flex;align-items:center;justify-content:center;gap:15px;transition:transform .2s}.big-log-btn.urgent{background:#1e293b;color:#fff;border:2px solid rgba(255,255,255,.1);box-shadow:0 0 0 4px #6366f11a}.big-log-btn:active{transform:scale(.98)}.btn-content{display:flex;flex-direction:column;align-items:flex-start}.btn-title{font-size:1.1rem;font-weight:700;display:flex;align-items:center;gap:8px}.btn-subtitle{font-size:.75rem;opacity:.7;margin-left:36px;font-weight:500}.dash-grid{display:grid;grid-template-columns:1fr;gap:20px;margin-bottom:30px;align-items:start}@media(min-width:480px){.dash-grid{grid-template-columns:1fr 1fr}}.streak-calendar,.graph-container{background:var(--card);padding:24px;border-radius:24px;box-shadow:0 8px 30px #0000000a;height:auto;display:flex;flex-direction:column}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:10px}.cal-head{text-align:center;font-weight:600;font-size:.85rem;color:var(--text-muted);margin-bottom:10px}.cal-day{height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;font-size:.9rem;color:var(--text-main);transition:all .2s}.cal-day.active{background:var(--primary-purple);color:#fff;box-shadow:0 4px 12px #6366f14d}.cal-day.empty{background:transparent}.streak-calendar h3,.graph-container h3{font-size:1rem;margin-top:0;margin-bottom:20px;font-weight:700}.membership-card{position:relative;padding:30px;border-radius:30px;background:linear-gradient(135deg,#6366f1,#a855f7);color:#fff;margin-bottom:35px;box-shadow:0 20px 40px -10px #6366f166;overflow:hidden;transition:transform .3s;display:flex;flex-direction:column}.membership-card.gold{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 20px 40px -10px #f59e0b66}.membership-card.platinum{background:linear-gradient(135deg,#334155,#0f172a);box-shadow:0 20px 40px -10px #0f172a66;border:1px solid rgba(255,255,255,.1)}.membership-card.expired{background:linear-gradient(135deg,#fb923c,#dc2626);box-shadow:none;opacity:.95}.expired-text{font-size:1.5rem!important;margin-bottom:5px}.calendar-legend{display:flex;gap:15px;margin-top:15px;justify-content:center}.legend-item{font-size:.75rem;color:var(--text-muted);display:flex;align-items:center;gap:5px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dot.filled{background:var(--primary-purple)}.dot.empty{border:1px solid #ddd}.modal-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0009;position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:9999}.modal-content{background:var(--card);width:90%;max-width:350px;padding:30px;border-radius:30px;box-shadow:0 25px 50px -12px #00000040;animation:slideUp .3s cubic-bezier(.16,1,.3,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-title{margin:0;font-size:1.5rem;color:var(--text-main);font-weight:700}.modal-desc{color:var(--text-muted);font-size:1rem;margin:10px 0 25px;line-height:1.5}.form-group{margin-bottom:15px;text-align:left}.form-group label{display:block;font-size:.9rem;color:var(--text-muted);margin-bottom:5px;font-weight:500}.styled-input{width:100%;padding:12px;border:1px solid #e2e8f0;border-radius:12px;font-size:1rem;font-family:Inter,sans-serif;outline:none;box-sizing:border-box}.styled-input:focus{border-color:var(--primary-purple)}.spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid var(--primary-purple);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ai-btn{width:100%;padding:20px;border-radius:20px;background:var(--card);color:var(--text-main);border:1px solid rgba(0,0,0,.05);cursor:pointer;display:flex;align-items:center;justify-content:space-between;box-shadow:0 4px 15px #00000008;transition:transform .2s,box-shadow .2s}.ai-btn:hover{transform:translateY(-2px);box-shadow:0 10px 25px #0000000f}.secondary-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:10px;font-weight:600}.weight-display input{font-size:3rem;font-weight:800;border:none;text-align:center;width:120px;outline:none;color:var(--text-main);background:transparent;font-family:Inter,sans-serif}.stepper-btn{width:50px;height:50px;border-radius:50%;border:2px solid #e2e8f0;background:var(--card);font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:all .2s}.profile-card{background:var(--card);border-radius:30px;padding:30px;box-shadow:0 10px 40px -10px #0000001a;border:1px solid rgba(255,255,255,.05)}.modern-input{width:100%;padding:16px;background:var(--bg);border:1px solid transparent;border-radius:16px;color:var(--text-main);font-size:1rem;font-family:Inter,sans-serif;outline:none;transition:all .2s;box-sizing:border-box}.modern-input:focus{background:var(--card);border-color:var(--primary-purple);box-shadow:0 0 0 4px #6366f11a}.modern-label{display:block;font-size:.85rem;font-weight:600;color:var(--text-muted);margin-bottom:8px;margin-left:5px}.cal-badge{background:#6200ea1a;color:var(--primary-purple);font-size:.75rem;padding:2px 6px;border-radius:6px;font-weight:600}.option-btn{padding:10px;border-radius:12px;border:1px solid #e2e8f0;background:var(--bg);color:var(--text-main);cursor:pointer;font-weight:500;font-size:.9rem;transition:all .2s}.option-btn:hover{border-color:var(--primary-purple);background:#fff}.badge-tier{padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.badge-tier.silver{background:#e2e8f0;color:#475569}.badge-tier.gold{background:#fef3c7;color:#d97706}.badge-tier.platinum{background:#e2e8f0;color:#1e293b;background:linear-gradient(135deg,#cbd5e1,#94a3b8);color:#fff}@media(max-width:768px){.dash-header h2{font-size:1.25rem}.desktop-only{display:none}.admin-table,.admin-table tbody,.admin-table tr,.admin-table td{display:block;width:100%}.member-row{background:var(--bg);margin-bottom:15px;border-radius:16px;padding:15px;border:1px solid #f1f5f9}.admin-table td{padding:5px 0;text-align:left;display:flex;justify-content:space-between;align-items:center}.col-member{border-bottom:1px solid #eee;padding-bottom:10px!important;margin-bottom:5px;display:block!important}.col-actions{margin-top:10px;justify-content:flex-end!important}.mobile-label{font-size:.8rem;color:var(--text-muted);font-weight:600;display:inline-block}.controls-row{flex-direction:column;width:100%}.controls-row>div{width:100%}.styled-input{width:100%!important;min-width:0!important}}@media(min-width:769px){.mobile-label{display:none}}.weight-screen{background:var(--bg);min-height:100vh;padding:20px}.weight-header{display:flex;align-items:center;gap:12px}.weight-header h2{font-size:22px}.back{background:none;border:none;font-size:22px}.weight-card{margin-top:30px;background:var(--primary-purple);color:#fff;padding:24px;border-radius:var(--radius-lg);text-align:center}.label{font-size:16px;opacity:.9}.weight-card input{width:100%;height:64px;font-size:28px;text-align:center;border-radius:14px;border:none;margin:16px 0}.save-btn{width:100%;height:56px;font-size:20px;background:#fff;color:var(--primary-purple);border:none;border-radius:999px}.burger-btn{position:fixed;top:20px;left:20px;background:var(--card);border:1px solid rgba(0,0,0,.1);color:var(--text-main);border-radius:12px;width:45px;height:45px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;cursor:pointer;z-index:9999;box-shadow:0 4px 12px #0000000d;transition:transform .2s}.burger-btn:active{transform:scale(.95)}.menu-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2001;opacity:0;pointer-events:none;transition:opacity .3s ease}.menu-overlay.open{opacity:1;pointer-events:auto}.menu-drawer{position:fixed;top:0;left:0;bottom:0;width:280px;background:var(--card);padding:30px;box-shadow:5px 0 25px #0000001a;transform:translate(-100%);transition:transform .3s cubic-bezier(.16,1,.3,1);z-index:2002;display:flex;flex-direction:column}.menu-overlay.open .menu-drawer{transform:translate(0)}.menu-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px}.menu-title{font-size:1.25rem;font-weight:700;color:var(--text-main);margin:0}.close-btn{background:transparent;border:none;font-size:1.5rem;color:var(--text-muted);cursor:pointer}.menu-links{display:flex;flex-direction:column;gap:15px;flex-grow:1}.menu-link{text-decoration:none;color:var(--text-muted);font-size:1.1rem;padding:12px 15px;border-radius:12px;font-weight:500;transition:all .2s;display:flex;align-items:center;gap:12px}.menu-link:hover,.menu-link.active{background:var(--bg);color:var(--primary-purple);font-weight:600}.menu-footer{margin-top:auto;padding-top:20px;border-top:1px solid rgba(0,0,0,.05)}.logout-btn{width:100%;padding:15px;background:#fee2e2;color:#dc2626;border:none;border-radius:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:background .2s}.logout-btn:hover{background:#fecaca}:global(.dark) .logout-btn{background:#450a0a;color:#fca5a5}:global(.dark) .logout-btn:hover{background:#7f1d1d}:root{--primary-purple: #7c6cf2;--primary-purple-light: #9a8cff;--accent-green: #a6e86c;--bg: #f5f6fb;--card: #ffffff;--text-main: #1f2937;--text-muted: #6b7280;--radius-lg: 20px;--radius-md: 16px}.dark{--bg: #0f172a;--card: #1e293b;--text-main: #f8fafc;--text-muted: #cbd5e1}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text-main);transition:background-color .3s ease,color .3s ease;-webkit-user-select:none;user-select:none;cursor:default}input,textarea,[contenteditable]{-webkit-user-select:text;user-select:text;cursor:text}
