:root{--bg-gradient:radial-gradient(circle at top right, #111827, #070a13);--panel-bg:#111827a6;--panel-border:#ffffff14;--panel-hover:#ffffff1f;--card-padding:2.5rem;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--accent-cyan:#0ea5e9;--accent-teal:#14b8a6;--accent-amber:#f59e0b;--accent-orange:#f97316;--accent-indigo:#6366f1;--accent-purple:#a855f7;--accent-rose:#f43f5e;--accent-green:#10b981;--font-display:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--transition-smooth:all .3s cubic-bezier(.4, 0, .2, 1);--shadow-neon-teal:0 0 15px #14b8a640;--shadow-neon-amber:0 0 15px #f59e0b40;--shadow-neon-purple:0 0 15px #a855f740}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background:#070a13;background-image:var(--bg-gradient);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.5;overflow-x:hidden}button,input,select,textarea{color:inherit;font-family:inherit}.app-container{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--panel-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:10;background:#0a0f1ecc;flex-direction:column;width:280px;height:100vh;padding:2.5rem 1.5rem;display:flex;position:fixed}.logo-container{align-items:center;gap:.75rem;margin-bottom:3rem;display:flex}.logo-icon{color:var(--accent-teal);filter:drop-shadow(0 0 8px #14b8a699)}.logo-text{font-family:var(--font-display);letter-spacing:-.025em;background:linear-gradient(135deg, var(--text-primary), var(--accent-cyan));-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.35rem;font-weight:800}.logo-sub{text-transform:uppercase;letter-spacing:.1em;color:var(--accent-amber);font-size:.75rem;font-weight:600}.nav-links{flex-direction:column;gap:.5rem;list-style:none;display:flex}.nav-item{width:100%}.nav-button{cursor:pointer;width:100%;color:var(--text-secondary);text-align:left;transition:var(--transition-smooth);background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:1rem;padding:.85rem 1.25rem;font-weight:500;display:flex}.nav-button:hover{background:var(--panel-border);color:var(--text-primary)}.nav-button.active{color:var(--accent-cyan);background:#0ea5e926;border:1px solid #0ea5e94d;box-shadow:0 0 20px #0ea5e90d}.nav-button.active .nav-icon{color:var(--accent-cyan);filter:drop-shadow(0 0 4px #0ea5e980)}.nav-icon{transition:var(--transition-smooth)}.sidebar-footer{border-top:1px solid var(--panel-border);color:var(--text-muted);text-align:center;margin-top:auto;padding-top:1.5rem;font-size:.75rem}.main-content{flex:1;max-width:1400px;min-height:100vh;margin-left:280px;padding:2.5rem 3rem}.content-header{justify-content:space-between;align-items:center;margin-bottom:2.5rem;display:flex}.header-title-area h1{font-family:var(--font-display);letter-spacing:-.03em;margin-bottom:.25rem;font-size:2.25rem;font-weight:800}.header-subtitle{color:var(--text-secondary);font-size:.95rem}.date-badge{background:var(--panel-bg);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:30px;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-size:.85rem;font-weight:600;display:flex}.date-badge-icon{color:var(--accent-teal)}.dashboard-grid{grid-template-columns:2fr 1fr;gap:2rem;display:grid}.glass-card{background:var(--panel-bg);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:var(--transition-smooth);border-radius:20px;padding:1.75rem}.glass-card:hover{border-color:#ffffff1f}.coach-card{background:linear-gradient(135deg,#0ea5e926,#a855f726);border:1px solid #0ea5e933;grid-column:1/-1;align-items:flex-start;gap:1.5rem;display:flex;position:relative;overflow:hidden}.coach-card:before{content:"";filter:blur(30px);pointer-events:none;background:radial-gradient(circle,#0ea5e940 0%,#0000 70%);width:300px;height:300px;position:absolute;top:-50%;right:-20%}.coach-avatar{color:var(--accent-cyan);background:#ffffff1a;border:1px solid #ffffff26;border-radius:16px;flex-shrink:0;padding:.75rem;animation:4s ease-in-out infinite float}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.coach-name{font-family:var(--font-display);color:var(--text-primary);align-items:center;gap:.5rem;margin-bottom:.25rem;font-size:1.1rem;font-weight:700;display:flex}.coach-tag{color:var(--accent-amber);text-transform:uppercase;background:#f59e0b33;border:1px solid #f59e0b4d;border-radius:4px;padding:.15rem .4rem;font-size:.65rem;font-weight:700}.coach-message{color:#e2e8f0;font-size:.95rem;line-height:1.6}.workout-card{flex-direction:column;gap:1.25rem;display:flex}.card-title-row{border-bottom:1px solid var(--panel-border);justify-content:space-between;align-items:center;margin-bottom:.5rem;padding-bottom:1rem;display:flex}.card-title-row h2{font-family:var(--font-display);align-items:center;gap:.6rem;font-size:1.35rem;font-weight:700;display:flex}.card-badge{text-transform:uppercase;border-radius:30px;padding:.3rem .75rem;font-size:.75rem;font-weight:600}.badge-gym{color:var(--accent-cyan);background:#0ea5e926;border:1px solid #0ea5e940}.badge-run{color:var(--accent-teal);background:#14b8a626;border:1px solid #14b8a640}.badge-bike{color:var(--accent-purple);background:#a855f726;border:1px solid #a855f740}.badge-volleyball{color:var(--accent-orange);background:#f9731626;border:1px solid #f9731640}.badge-rest{color:var(--text-secondary);background:#64748b26;border:1px solid #64748b40}.workout-item-detail{background:#ffffff05;border:1px solid #ffffff0a;border-radius:12px;flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.workout-time-meta{color:var(--text-secondary);gap:1.5rem;font-size:.85rem;font-weight:500;display:flex}.workout-time-meta span{align-items:center;gap:.35rem;display:flex}.workout-desc{color:#cbd5e1;font-size:.95rem}.workout-check-btn{background:linear-gradient(135deg, var(--accent-cyan), var(--accent-teal));cursor:pointer;width:100%;transition:var(--transition-smooth);border:none;border-radius:12px;justify-content:center;align-items:center;gap:.75rem;padding:.85rem;font-weight:600;display:flex}.workout-check-btn:hover{box-shadow:var(--shadow-neon-teal);transform:translateY(-2px)}.workout-check-btn.completed{color:var(--accent-green);cursor:default;background:#10b98126;border:1px solid #10b9814d}.workout-check-btn.completed:hover{box-shadow:none;transform:none}.checklist-section{flex-direction:column;gap:1.5rem;display:flex}.checklist-group{flex-direction:column;gap:.75rem;display:flex}.checklist-group-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);border-left:3px solid var(--accent-cyan);margin-top:.5rem;padding-left:.25rem;font-size:.95rem;font-weight:700}.checklist-group-title.morning{border-color:var(--accent-cyan)}.checklist-group-title.lunch{border-color:var(--accent-amber)}.checklist-group-title.evening{border-color:var(--accent-indigo)}.checklist-group-title.recovery{border-color:var(--accent-teal)}.check-item{border:1px solid var(--panel-border);cursor:pointer;-webkit-user-select:none;user-select:none;transition:var(--transition-smooth);background:#ffffff05;border-radius:14px;align-items:flex-start;gap:1rem;padding:1rem;display:flex}.check-item:hover{background:#ffffff0a;border-color:#ffffff26}.check-item.checked{background:#10b9810a;border-color:#10b98126}.checkbox-custom{border:2px solid var(--text-muted);color:#0000;width:22px;height:22px;transition:var(--transition-smooth);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin-top:.15rem;display:flex}.check-item:hover .checkbox-custom{border-color:var(--text-secondary)}.check-item.checked .checkbox-custom{border-color:var(--accent-green);background:var(--accent-green);color:#fff}.check-item-content{flex:1}.check-item-title{color:var(--text-primary);transition:var(--transition-smooth);margin-bottom:.15rem;font-size:.95rem;font-weight:600}.check-item.checked .check-item-title{color:var(--text-muted);text-decoration:line-through}.check-item-desc{color:var(--text-secondary);font-size:.8rem;line-height:1.4}.progress-card{flex-direction:column;align-self:start;gap:1.5rem;display:flex}.progress-header{border-bottom:1px solid var(--panel-border);padding-bottom:.75rem}.progress-header h2{font-family:var(--font-display);font-size:1.25rem;font-weight:700}.progress-stats-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.stat-box{border:1px solid var(--panel-border);text-align:center;background:#ffffff05;border-radius:12px;padding:1rem}.stat-value{font-family:var(--font-display);color:var(--accent-teal);margin-bottom:.15rem;font-size:1.75rem;font-weight:800}.stat-label{color:var(--text-secondary);font-size:.75rem;font-weight:500}.progress-ring-container{flex-direction:column;align-items:center;gap:1rem;padding:1rem 0;display:flex}.progress-bar-linear{background:#ffffff14;border-radius:10px;width:100%;height:8px;position:relative;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg, var(--accent-cyan), var(--accent-teal));border-radius:10px;height:100%;transition:width .5s cubic-bezier(.4,0,.2,1)}.progress-percent-label{font-family:var(--font-display);background:linear-gradient(135deg, var(--accent-cyan), var(--accent-teal));-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:2.25rem;font-weight:800}.reset-button{border:1px solid var(--panel-border);width:100%;color:var(--text-secondary);cursor:pointer;transition:var(--transition-smooth);background:0 0;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem;font-weight:600;display:flex}.reset-button:hover{color:var(--accent-rose);background:#f43f5e1a;border-color:#f43f5e4d}.periodization-container{flex-direction:column;gap:2.5rem;display:flex}.periodization-header{flex-direction:column;gap:.75rem;display:flex}.periodization-subtitle{color:var(--text-secondary);max-width:800px;font-size:.95rem}.cycle-selector{border:1px solid var(--panel-border);background:#ffffff05;border-radius:16px;gap:.75rem;padding:.5rem;display:flex;overflow-x:auto}.cycle-tab{cursor:pointer;text-align:center;min-width:120px;color:var(--text-secondary);transition:var(--transition-smooth);background:0 0;border:none;border-radius:12px;flex:1;padding:.85rem 1rem;font-weight:600}.cycle-tab:hover{background:var(--panel-border);color:var(--text-primary)}.cycle-tab.active{background:linear-gradient(135deg, var(--accent-cyan), var(--accent-teal));color:#fff;box-shadow:var(--shadow-neon-teal)}.cycle-tab.paused{border:1px dashed var(--accent-rose)}.month-view-card{grid-template-columns:1fr 1.5fr;gap:2.5rem;display:grid}.month-summary-panel{flex-direction:column;gap:1.25rem;display:flex}.month-tag-badge{text-transform:uppercase;letter-spacing:.05em;color:var(--accent-purple);background:#a855f726;border:1px solid #a855f74d;border-radius:30px;align-self:flex-start;padding:.35rem .85rem;font-size:.75rem;font-weight:700;display:inline-flex}.month-summary-panel h2{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.75rem;font-weight:800}.month-summary-panel p{color:var(--text-secondary);font-size:.95rem;line-height:1.6}.month-goals-list{flex-direction:column;gap:.75rem;margin-top:1rem;list-style:none;display:flex}.month-goal-item{color:#cbd5e1;align-items:center;gap:.75rem;font-size:.9rem;display:flex}.month-goal-icon{color:var(--accent-teal);flex-shrink:0}.month-timeline-grid{flex-direction:column;gap:1rem;display:flex}.supplement-status-row{border:1px solid var(--panel-border);transition:var(--transition-smooth);background:#ffffff05;border-radius:16px;justify-content:space-between;align-items:center;padding:1.2rem;display:flex}.supplement-status-row:hover{background:#ffffff0a}.supp-row-meta{align-items:center;gap:1rem;display:flex}.supp-row-icon{border-radius:10px;padding:.6rem}.supp-row-icon.amber{color:var(--accent-amber);background:#f59e0b26}.supp-row-icon.indigo{color:var(--accent-indigo);background:#6366f126}.supp-row-icon.cyan{color:var(--accent-cyan);background:#0ea5e926}.supp-row-info{flex-direction:column;display:flex}.supp-row-name{font-size:1rem;font-weight:700}.supp-row-dosage{color:var(--text-secondary);font-size:.8rem}.supp-status-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:6px;padding:.25rem .65rem;font-size:.7rem;font-weight:700}.status-active{color:var(--accent-green);background:#10b98126;border:1px solid #10b9814d}.status-pause{color:var(--accent-rose);background:#f43f5e26;border:1px solid #f43f5e4d}.pantry-grid{grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:1.5rem;display:grid}.pantry-card{flex-direction:column;gap:1rem;display:flex}.pantry-card-header{justify-content:space-between;align-items:flex-start;display:flex}.pantry-card-title{font-family:var(--font-display);margin-bottom:.15rem;font-size:1.2rem;font-weight:700}.pantry-card-sub{color:var(--text-secondary);font-size:.8rem;font-weight:500}.pantry-timing-badge{border-radius:8px;align-items:center;gap:.35rem;padding:.3rem .6rem;font-size:.75rem;font-weight:600;display:flex}.timing-morning{color:var(--accent-cyan);background:#0ea5e926}.timing-lunch{color:var(--accent-amber);background:#f59e0b26}.timing-evening{color:var(--accent-indigo);background:#6366f126}.pantry-details-list{color:#cbd5e1;background:#ffffff03;border:1px solid #ffffff08;border-radius:10px;flex-direction:column;gap:.5rem;padding:.75rem;font-size:.85rem;display:flex}.pantry-detail-row{justify-content:space-between;display:flex}.pantry-detail-label{color:var(--text-secondary)}.pantry-detail-val{font-weight:600}.pantry-desc{color:var(--text-secondary);font-size:.85rem;line-height:1.5}.pantry-shop-link{border:1px solid var(--panel-border);color:var(--text-primary);transition:var(--transition-smooth);background:#ffffff08;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;margin-top:auto;padding:.75rem;font-size:.85rem;font-weight:600;text-decoration:none;display:flex}.pantry-shop-link:hover{color:var(--accent-amber);background:#f59e0b1f;border-color:#f59e0b66}.pantry-shop-icon{flex-shrink:0}.sync-layout{grid-template-columns:1.2fr 1fr;gap:2.5rem;display:grid}.sync-info-section{flex-direction:column;gap:2rem;display:flex}.sync-intro{color:var(--text-secondary);font-size:1rem;line-height:1.6}.sync-methods{flex-direction:column;gap:1.5rem;display:flex}.sync-method-card{border:1px solid var(--panel-border);background:#ffffff05;border-radius:18px;align-items:flex-start;gap:1.25rem;padding:1.5rem;display:flex}.sync-method-icon{color:var(--accent-cyan);background:#0ea5e926;border-radius:12px;flex-shrink:0;padding:.65rem}.sync-method-card.live .sync-method-icon{color:var(--accent-teal);background:#14b8a626}.sync-method-info{flex-direction:column;flex:1;gap:.75rem;display:flex}.sync-method-title{font-family:var(--font-display);font-size:1.15rem;font-weight:700}.sync-method-desc{color:var(--text-secondary);font-size:.85rem;line-height:1.5}.sync-link-copy-container{gap:.5rem;width:100%;display:flex}.sync-url-input{border:1px solid var(--panel-border);color:var(--text-secondary);read-only:true;background:#00000040;border-radius:10px;flex:1;padding:.6rem .85rem;font-family:monospace;font-size:.8rem}.btn-primary{background:linear-gradient(135deg, var(--accent-cyan), var(--accent-teal));cursor:pointer;transition:var(--transition-smooth);border:none;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.85rem;font-weight:600;display:flex}.btn-primary:hover{box-shadow:var(--shadow-neon-teal);transform:translateY(-1px)}.btn-outline{border:1px solid var(--panel-border);color:var(--text-secondary);cursor:pointer;transition:var(--transition-smooth);background:0 0;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.85rem;font-weight:600;display:flex}.btn-outline:hover{background:var(--panel-border);color:var(--text-primary);border-color:var(--text-secondary)}.instructions-card{flex-direction:column;align-self:start;gap:1.5rem;display:flex}.instructions-card h2{font-family:var(--font-display);border-bottom:1px solid var(--panel-border);padding-bottom:.75rem;font-size:1.25rem;font-weight:700}.instruction-steps{flex-direction:column;gap:1.25rem;display:flex}.instruction-step{gap:.75rem;display:flex}.step-num{border:1px solid var(--panel-border);width:24px;height:24px;color:var(--accent-cyan);font-family:var(--font-display);background:#ffffff14;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:flex}.step-text{color:var(--text-secondary);font-size:.85rem;line-height:1.5}.step-text strong{color:var(--text-primary)}.settings-layout{grid-template-columns:1fr 1fr;gap:2.5rem;display:grid}.settings-section{flex-direction:column;gap:1.5rem;display:flex}.settings-section-title{font-family:var(--font-display);border-bottom:1px solid var(--panel-border);padding-bottom:.5rem;font-size:1.25rem;font-weight:700}.settings-form-group{flex-direction:column;gap:.5rem;display:flex}.settings-form-group label{color:var(--text-secondary);font-size:.85rem;font-weight:600}.settings-input-row{align-items:center;gap:.75rem;display:flex}.settings-input{border:1px solid var(--panel-border);width:100%;transition:var(--transition-smooth);background:#0003;border-radius:10px;padding:.75rem;font-size:1rem}.settings-input:focus{border-color:var(--accent-cyan);outline:none;box-shadow:0 0 10px #0ea5e926}.settings-input-unit{color:var(--text-muted);font-size:.85rem;font-weight:500}.settings-toggle-row{border:1px solid var(--panel-border);cursor:pointer;-webkit-user-select:none;user-select:none;transition:var(--transition-smooth);background:#ffffff03;border-radius:12px;justify-content:space-between;align-items:center;padding:1rem;display:flex}.settings-toggle-row:hover{background:#ffffff08}.toggle-info{flex-direction:column;gap:.15rem;display:flex}.toggle-title{font-size:.95rem;font-weight:600}.toggle-desc{color:var(--text-secondary);font-size:.75rem}.switch-control{border:1px solid var(--panel-border);width:44px;height:24px;transition:var(--transition-smooth);background:#ffffff14;border-radius:12px;position:relative}.settings-toggle-row.checked .switch-control{background:var(--accent-teal);border-color:var(--accent-teal)}.switch-thumb{width:18px;height:18px;transition:var(--transition-smooth);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px}.settings-toggle-row.checked .switch-thumb{transform:translate(20px)}.settings-save-bar{border-top:1px solid var(--panel-border);grid-column:1/-1;justify-content:flex-end;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;display:flex}.toast-message{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;background:#10b981f2;border-radius:12px;align-items:center;gap:.75rem;padding:1rem 1.75rem;font-weight:600;animation:.3s cubic-bezier(.4,0,.2,1) slideUp;display:flex;position:fixed;bottom:2rem;right:2rem;box-shadow:0 10px 25px #10b9814d}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.strava-comparison-box{background:#fc4c020a;border:1px dashed #fc4c0240;border-radius:12px;flex-direction:column;gap:.5rem;margin-top:.75rem;padding:1rem;display:flex}.comparison-header{color:#fc4c02;text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.5rem;font-size:.78rem;font-weight:700;display:flex}.comparison-details{color:var(--text-secondary);flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}.comparison-stats{color:var(--text-primary);gap:1rem;margin-top:.4rem;font-weight:600;display:flex}.icon-orange{color:#fc4c02}.strava-container{flex-direction:column;gap:1.5rem;display:flex}.strava-connect-prompt{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;padding:4rem 2rem;display:flex}.strava-connect-icon{color:#fc4c02;background:#fc4c021f;border-radius:20px;margin-bottom:.5rem;padding:1.25rem}.strava-connect-prompt h2{font-family:var(--font-display);font-size:1.6rem;font-weight:800}.strava-connect-prompt p{color:var(--text-secondary);max-width:420px;line-height:1.6}.strava-connect-btn{color:#fff;cursor:pointer;transition:var(--transition-smooth);letter-spacing:.01em;background:linear-gradient(135deg,#fc4c02,#e04500);border:none;border-radius:12px;justify-content:center;align-items:center;gap:.65rem;padding:.85rem 2rem;font-size:.95rem;font-weight:700;display:flex}.strava-connect-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #fc4c0259}.strava-attribution{text-align:center;color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;padding:1rem 0;font-size:.7rem;font-weight:500}.strava-weekly-summary{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.strava-summary-card{border:1px solid var(--panel-border);text-align:center;transition:var(--transition-smooth);background:#ffffff08;border-radius:16px;flex-direction:column;align-items:center;gap:.5rem;padding:1.25rem;display:flex}.strava-summary-card:hover{background:#ffffff0d;transform:translateY(-2px)}.strava-summary-icon{color:var(--accent-cyan)}.strava-summary-value{font-family:var(--font-display);font-size:1.35rem;font-weight:800}.strava-summary-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;font-weight:600}.strava-controls{border:1px solid var(--panel-border);background:#ffffff05;border-radius:12px;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.strava-controls-label{color:var(--text-secondary);font-size:.85rem;font-weight:500}.strava-error{color:var(--accent-rose);background:#f43f5e1a;border:1px solid #f43f5e40;border-radius:10px;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.85rem;font-weight:500;display:flex}.strava-activity-list{flex-direction:column;gap:1rem;display:flex}.strava-activity-card{transition:var(--transition-smooth);border-left:3px solid #fc4c0266}.strava-activity-card:hover{border-left-color:#fc4c02;transform:translate(3px)}.strava-activity-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.strava-activity-title-row{align-items:center;gap:.75rem;display:flex}.strava-activity-emoji{font-size:1.6rem}.strava-activity-name{font-family:var(--font-display);font-size:1.05rem;font-weight:700;line-height:1.3}.strava-activity-date{color:var(--text-secondary);font-size:.78rem;font-weight:500}.strava-stats-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.75rem;display:grid}.strava-stat{text-align:center;color:var(--accent-cyan);background:#ffffff05;border:1px solid #ffffff0a;border-radius:10px;flex-direction:column;align-items:center;gap:.3rem;padding:.65rem;display:flex}.strava-stat-value{font-family:var(--font-display);color:var(--text-primary);font-size:.95rem;font-weight:700}.strava-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.65rem;font-weight:600}.strava-settings-connected{border:1px solid var(--panel-border);background:#ffffff05;border-radius:14px;justify-content:space-between;align-items:center;padding:1.25rem;display:flex}.strava-settings-profile{align-items:center;gap:.85rem;display:flex}.strava-avatar{object-fit:cover;border:2px solid #fc4c02;border-radius:50%;width:44px;height:44px}.strava-settings-name{font-size:.95rem;font-weight:700;display:block}.strava-settings-status{color:var(--accent-green);margin-top:.15rem;font-size:.78rem;font-weight:500;display:block}.strava-disconnect-btn{color:var(--accent-rose)!important;border-color:#f43f5e4d!important;padding:.5rem 1rem!important;font-size:.8rem!important}.strava-disconnect-btn:hover{border-color:var(--accent-rose)!important;background:#f43f5e1a!important}.strava-settings-disconnected{padding:.5rem 0}.nav-strava-dot{background:#fc4c02;border-radius:50%;width:7px;height:7px;margin-left:auto;display:inline-block;box-shadow:0 0 6px #fc4c0299}@keyframes spin{to{transform:rotate(360deg)}}.spinning{animation:1s linear infinite spin}.mobile-nav-bar{display:none}@media (width<=1024px){.dashboard-grid{grid-template-columns:1fr}.month-view-card{grid-template-columns:1fr;gap:1.5rem}.settings-layout,.sync-layout{grid-template-columns:1fr}.strava-weekly-summary{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.app-container{flex-direction:column}.sidebar{display:none}.main-content{margin-left:0;padding:1.5rem 1.5rem 6rem}.content-header{flex-direction:column;align-items:flex-start;gap:1rem}.mobile-nav-bar{border-top:1px solid var(--panel-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:100;background:#0a0f1ef2;justify-content:space-around;align-items:center;height:70px;padding:.5rem;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-nav-btn{color:var(--text-secondary);cursor:pointer;transition:var(--transition-smooth);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.25rem;font-size:.65rem;font-weight:500;display:flex}.mobile-nav-btn.active{color:var(--accent-cyan)}.mobile-nav-btn.active .nav-icon{filter:drop-shadow(0 0 5px #0ea5e966);transform:translateY(-2px)}}.login-screen-container{background:radial-gradient(circle at 10% 20%,#030712 0%,#111827 90%);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex;position:relative;overflow:hidden}.login-screen-container:before{content:"";filter:blur(50px);pointer-events:none;background:radial-gradient(circle,#14b8a614 0%,#0000 70%);width:300px;height:300px;position:absolute;top:10%;left:20%}.login-screen-container:after{content:"";filter:blur(60px);pointer-events:none;background:radial-gradient(circle,#0ea5e914 0%,#0000 70%);width:400px;height:400px;position:absolute;bottom:10%;right:15%}.login-card{z-index:10;border-radius:24px;flex-direction:column;gap:2rem;width:100%;max-width:420px;padding:2.5rem;display:flex;box-shadow:0 20px 50px #0006}.login-header{text-align:center;flex-direction:column;align-items:center;gap:.75rem;display:flex}.login-logo-circle{width:60px;height:60px;color:var(--accent-teal);background:linear-gradient(135deg,#0ea5e91a,#14b8a626);border:1px solid #14b8a64d;border-radius:50%;justify-content:center;align-items:center;margin-bottom:.5rem;display:flex;box-shadow:0 0 20px #14b8a633}.login-logo-icon{animation:3s ease-in-out infinite pulse-slow}.login-header h2{font-family:var(--font-display);letter-spacing:-.03em;background:linear-gradient(135deg,#fff,#cbd5e1);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.75rem;font-weight:800}.login-header p{color:var(--text-secondary);font-size:.85rem}.login-form{flex-direction:column;gap:1.5rem;display:flex}.login-form .form-group{flex-direction:column;gap:.5rem;display:flex}.login-form label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:600}.login-form input{border:1px solid var(--panel-border);color:var(--text-primary);transition:var(--transition-smooth);background:#00000059;border-radius:12px;padding:.85rem 1rem;font-size:1rem}.login-form input:focus{border-color:var(--accent-cyan);background:#00000073;outline:none;box-shadow:0 0 15px #0ea5e940}.login-error-message{color:var(--accent-amber);background:#f59e0b14;border:1px solid #f59e0b33;border-radius:10px;align-items:center;gap:.5rem;padding:.75rem;font-size:.8rem;font-weight:500;display:flex}.login-submit-btn{background:linear-gradient(135deg, var(--accent-cyan), var(--accent-teal));color:#fff;cursor:pointer;width:100%;transition:var(--transition-smooth);border:none;border-radius:12px;padding:.9rem;font-size:.95rem;font-weight:700;box-shadow:0 4px 15px #14b8a626}.login-submit-btn:hover:not(:disabled){box-shadow:var(--shadow-neon-teal);transform:translateY(-2px)}.login-submit-btn:active:not(:disabled){transform:translateY(0)}.login-submit-btn:disabled{opacity:.65;cursor:not-allowed}.login-footer{text-align:center;color:var(--text-muted);font-size:.75rem}@keyframes pulse-slow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.05)}}.spinner-loader{animation:1s linear infinite spin}.landing-split-container{z-index:10;width:100%;max-width:1200px;margin:0 auto;padding:1.5rem}.landing-split-layout{grid-template-columns:1.1fr .9fr;align-items:start;gap:3.5rem;display:grid}.landing-left-col{flex-direction:column;gap:2.5rem;padding:1rem 0;display:flex}.landing-right-col{justify-content:center;align-items:center;padding:1rem 0;display:flex;position:sticky;top:2rem}.landing-hero-badge{color:var(--accent-teal);text-transform:uppercase;letter-spacing:.05em;background:#14b8a614;border:1px solid #14b8a640;border-radius:9999px;align-self:flex-start;align-items:center;gap:.5rem;padding:.4rem .8rem;font-size:.75rem;font-weight:600;display:flex;box-shadow:0 0 15px #14b8a60d}.landing-title{font-family:var(--font-display);letter-spacing:-.03em;color:var(--text-primary);margin-top:.5rem;font-size:2.75rem;font-weight:800;line-height:1.15}.landing-title span{background:linear-gradient(135deg, var(--accent-teal), var(--accent-cyan));-webkit-text-fill-color:transparent;-webkit-background-clip:text}.landing-subtitle{color:var(--text-secondary);max-width:540px;font-size:1.05rem;line-height:1.6}.landing-features-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem;display:grid}.landing-feature-card{border:1px solid var(--panel-border);transition:var(--transition-smooth);background:#ffffff04;border-radius:16px;flex-direction:column;gap:.85rem;padding:1.5rem;display:flex}.landing-feature-card:hover{background:#ffffff08;border-color:#14b8a640;transform:translateY(-3px);box-shadow:0 10px 30px #0003}.landing-feature-icon-box{width:42px;height:42px;color:var(--accent-teal);transition:var(--transition-smooth);background:#14b8a61a;border-radius:10px;justify-content:center;align-items:center;display:flex}.landing-feature-card:hover .landing-feature-icon-box{background:var(--accent-teal);color:#030712;box-shadow:0 0 12px #14b8a666}.landing-feature-title{font-family:var(--font-display);color:var(--text-primary);font-size:1.1rem;font-weight:700}.landing-feature-desc{color:var(--text-secondary);font-size:.85rem;line-height:1.5}.landing-section-header{flex-direction:column;gap:.35rem;display:flex}.landing-section-title{font-family:var(--font-display);color:var(--text-primary);font-size:1.5rem;font-weight:800}.landing-section-desc{color:var(--text-secondary);font-size:.85rem}.landing-showcase-container{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.landing-showcase-card{border:1px solid var(--panel-border);background:#ffffff03;border-radius:12px;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.landing-showcase-timing{color:var(--accent-cyan);text-transform:uppercase;letter-spacing:.05em;font-size:.65rem;font-weight:700}.landing-showcase-name{color:var(--text-primary);font-size:.85rem;font-weight:700}.landing-showcase-reason{color:var(--text-secondary);font-size:.72rem;line-height:1.4}@media (width<=1024px){.landing-split-layout{grid-template-columns:1fr;gap:2rem}.landing-right-col{width:100%;position:static}.landing-card{max-width:100%}}@media (width<=640px){.landing-title{font-size:2.2rem}.landing-features-grid,.landing-showcase-container{grid-template-columns:1fr}}@media (width<=520px){.landing-header-nav{text-align:center;flex-direction:column;align-items:center;gap:.85rem;padding:1rem .75rem}.landing-nav-actions{justify-content:center;width:100%}.landing-hero-buttons{flex-direction:column;gap:.75rem;width:100%;max-width:300px;margin:1.5rem auto 0}.landing-hero-btn-primary,.landing-hero-btn-secondary{text-align:center;width:100%;padding:.85rem 1.5rem}}@media (width<=480px){:root{--card-padding:1.5rem}.strava-weekly-summary{grid-template-columns:1fr}}.landing-header-nav{z-index:50;border-bottom:1px solid #ffffff08;justify-content:space-between;align-items:center;width:100%;max-width:1200px;margin:0 auto;padding:1.25rem 2rem;display:flex;position:relative}.landing-nav-logo{font-family:var(--font-display);color:var(--text-primary);align-items:center;gap:.75rem;font-size:1.25rem;font-weight:800;display:flex}.landing-nav-logo svg{color:var(--accent-teal)}.landing-nav-actions{align-items:center;gap:1rem;display:flex}.landing-nav-btn-link{color:var(--text-secondary);cursor:pointer;transition:var(--transition-smooth);background:0 0;border:none;border-radius:8px;padding:.5rem 1rem;font-size:.9rem;font-weight:600}.landing-nav-btn-link:hover{color:var(--text-primary);background:#ffffff08}.landing-nav-btn-primary{background:linear-gradient(135deg, var(--accent-teal), var(--accent-cyan));color:#030712;cursor:pointer;transition:var(--transition-smooth);border:none;border-radius:10px;padding:.6rem 1.25rem;font-size:.88rem;font-weight:700;box-shadow:0 4px 12px #14b8a626}.landing-nav-btn-primary:hover{box-shadow:var(--shadow-neon-teal);transform:translateY(-1px)}.landing-hero-section{text-align:center;flex-direction:column;align-items:center;gap:1.5rem;max-width:800px;margin:0 auto;padding:5rem 1rem 3rem;display:flex}.landing-hero-buttons{justify-content:center;gap:1.25rem;margin-top:1.5rem;display:flex}.landing-hero-btn-primary{background:linear-gradient(135deg, var(--accent-teal), var(--accent-cyan));color:#030712;cursor:pointer;transition:var(--transition-smooth);border:none;border-radius:12px;padding:.9rem 2.25rem;font-size:1rem;font-weight:800;box-shadow:0 4px 15px #14b8a633}.landing-hero-btn-primary:hover{box-shadow:var(--shadow-neon-teal);transform:translateY(-2px)}.landing-hero-btn-secondary{border:1px solid var(--panel-border);color:var(--text-primary);cursor:pointer;transition:var(--transition-smooth);background:#ffffff05;border-radius:12px;padding:.9rem 2.25rem;font-size:1rem;font-weight:700}.landing-hero-btn-secondary:hover{background:#ffffff0d;border-color:#fff3}.auth-screen-wrapper{z-index:10;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:100vh;padding:2rem 1rem;display:flex;position:relative}.auth-back-link{color:var(--text-secondary);border:1px solid var(--panel-border);cursor:pointer;transition:var(--transition-smooth);background:#ffffff05;border-radius:10px;align-items:center;gap:.5rem;margin-bottom:2rem;padding:.5rem 1rem;font-size:.88rem;font-weight:600;text-decoration:none;display:inline-flex}.auth-back-link:hover{color:var(--text-primary);background:#ffffff0d;border-color:#fff3}.landing-standalone-content{flex-direction:column;gap:6rem;width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem 6rem;display:flex}.settings-input::-webkit-calendar-picker-indicator{-webkit-appearance:none;display:none!important}.settings-input::-webkit-inner-spin-button{-webkit-appearance:none;display:none!important}.settings-input::-webkit-clear-button{-webkit-appearance:none;display:none!important}.water-tracker-card{flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex;position:relative;overflow:hidden}.water-tracker-title{font-family:var(--font-display);color:var(--text-primary);align-items:center;gap:.5rem;font-size:1.1rem;font-weight:700;display:flex}.water-tracker-content{align-items:center;gap:1.5rem;display:flex}.water-glass-wrapper{justify-content:center;align-items:center;width:90px;height:130px;display:flex;position:relative}.water-glass{background:#ffffff05;border:3px solid #ffffff26;border-top:none;border-radius:0 0 16px 16px;align-items:flex-end;width:76px;height:110px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 10px #ffffff0d,0 8px 16px #0003}.water-glass:before{content:"";z-index:5;background:#ffffff0d;border:3px solid #ffffff26;border-radius:50%;height:6px;position:absolute;top:0;left:0;right:0;transform:translateY(-3px)}.water-fill-container{width:100%;height:var(--water-height,0%);background:linear-gradient(#0ea5e966,#14b8a699);transition:height .6s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.water-fill-container:before,.water-fill-container:after{content:"";background:#111827f2;border-radius:38% 42% 43% 40%;width:200%;height:200%;position:absolute;top:-190%;left:-50%;transform:rotate(0)}.water-fill-container:before{opacity:.15;background:#fff3;border-radius:38% 44% 40% 42%;animation:8s linear infinite wave-rotate}.water-fill-container:after{opacity:.3;background:#ffffff1a;animation:4s linear infinite wave-rotate}@keyframes wave-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.water-stats{flex-direction:column;flex-grow:1;gap:.4rem;display:flex}.water-amount{font-family:var(--font-display);color:var(--text-primary);font-size:1.8rem;font-weight:800;line-height:1}.water-amount span{color:var(--text-secondary);font-size:.9rem;font-weight:500}.water-progress-bar{background:#ffffff0d;border-radius:3px;width:100%;height:6px;margin:.25rem 0;overflow:hidden}.water-progress-fill{background:linear-gradient(90deg, var(--accent-cyan), var(--accent-teal));height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.water-buttons{flex-wrap:wrap;gap:.5rem;display:flex}.water-btn{cursor:pointer;border-radius:8px;align-items:center;gap:.25rem;padding:.5rem .75rem;font-size:.78rem;font-weight:700;transition:all .2s;display:flex}.water-btn-add{color:#38bdf8;background:#0ea5e926;border:1px solid #0ea5e94d}.water-btn-add:hover{background:#0ea5e940;border-color:#0ea5e9;transform:translateY(-1px)}.water-btn-sub{color:var(--accent-rose);background:#f43f5e0d;border:1px solid #f43f5e26}.water-btn-sub:hover{border-color:var(--accent-rose);background:#f43f5e26}
