:root{--bg-color: #030307;--panel-bg: rgba(10, 10, 24, .45);--panel-border: rgba(255, 255, 255, .05);--panel-border-hover: rgba(255, 255, 255, .12);--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #475569;--primary-glow: linear-gradient(135deg, #6366f1, #a855f7, #ec4899);--primary-indigo: #6366f1;--primary-purple: #a855f7;--primary-pink: #ec4899;--font-display: "Outfit", sans-serif;--font-sans: "Plus Jakarta Sans", sans-serif;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--transition-smooth: all .3s cubic-bezier(.16, 1, .3, 1)}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;background-color:var(--bg-color);color:var(--text-primary);font-family:var(--font-sans);overflow:hidden;line-height:1.5}#bg-canvas{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1;pointer-events:none}.glow-orb{position:fixed;border-radius:50%;filter:blur(140px);z-index:2;opacity:.12;pointer-events:none}.orb-1{top:-10%;right:10%;width:50vw;height:50vw;background:radial-gradient(circle,var(--primary-indigo),transparent)}.orb-2{bottom:-10%;left:10%;width:45vw;height:45vw;background:radial-gradient(circle,var(--primary-pink),transparent)}.app-layout{position:relative;z-index:5;display:grid;grid-template-columns:260px 1fr;width:100vw;height:100vh;overflow:hidden}.glass-panel{background:var(--panel-bg);border:1px solid var(--panel-border);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:18px;box-shadow:0 4px 30px #0006;transition:var(--transition-smooth)}.glass-panel:hover{border-color:var(--panel-border-hover)}.app-sidebar{border-radius:0;border-left:none;border-top:none;border-bottom:none;display:flex;flex-direction:column;padding:32px 20px;z-index:10}.sidebar-logo{display:flex;align-items:center;gap:12px;margin-bottom:40px;padding-left:8px}.logo-text{font-family:var(--font-display);font-weight:800;font-size:1.3rem;letter-spacing:-.02em;background:var(--primary-glow);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.sidebar-nav{display:flex;flex-direction:column;gap:8px;flex:1}.nav-item{display:flex;align-items:center;gap:14px;background:transparent;border:none;color:var(--text-secondary);font-family:var(--font-sans);font-weight:500;font-size:.95rem;padding:14px 16px;border-radius:12px;cursor:pointer;text-align:left;transition:var(--transition-smooth);width:100%}.nav-item i{font-size:1.1rem;width:20px;text-align:center}.nav-item:hover{background:#ffffff08;color:var(--text-primary)}.nav-item.active{background:#6366f11f;border:1px solid rgba(99,102,241,.2);color:#fff;font-weight:600;box-shadow:0 0 15px #6366f11a}.sidebar-footer{display:flex;align-items:center;gap:10px;padding-left:8px}.pulse-dot{width:8px;height:8px;background:#10b981;border-radius:50%;box-shadow:0 0 8px #10b981}.status-txt{font-size:.75rem;color:var(--text-secondary);font-weight:500}.app-main-content{padding:32px 40px;overflow-y:auto;height:100%}.tab-section{display:none;animation:fadeIn .4s var(--ease-out-expo)}.tab-section.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.view-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.header-titles h1{font-size:2.2rem;font-weight:800;letter-spacing:-.03em;margin-bottom:4px}.header-titles p{color:var(--text-secondary);font-size:.95rem}.date-picker-wrapper{display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:12px}.date-picker-wrapper i{color:var(--primary-indigo)}.date-picker-wrapper input{background:transparent;border:none;outline:none;color:var(--text-primary);font-family:var(--font-sans);font-size:.95rem;font-weight:600;cursor:pointer}.date-picker-wrapper input::-webkit-calendar-picker-indicator{filter:invert(1);cursor:pointer}.dashboard-top-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:32px}.score-card{padding:24px 32px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.score-card:after{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--primary-glow)}.widget-subtitle{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--text-secondary);margin-bottom:8px}.score-display{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}#score-value{font-family:var(--font-display);font-size:3.5rem;font-weight:800;line-height:1;background:var(--primary-glow);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.score-pts-lbl{font-size:1.2rem;font-weight:700;color:var(--primary-pink)}.score-reinforcement{font-size:.95rem;color:#fff;font-weight:600}.quick-stats-card{padding:24px 32px;display:grid;grid-template-columns:repeat(3,1fr);align-items:center;text-align:center}.quick-stat-item{border-right:1px solid rgba(255,255,255,.05)}.quick-stat-item:last-child{border-right:none}.stat-lbl{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:8px}.stat-val{font-family:var(--font-display);font-size:1.8rem;font-weight:700;color:#fff}.logging-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.log-column-panel{padding:32px;min-height:480px}.column-title{font-size:1.3rem;margin-bottom:6px;display:flex;align-items:center;gap:10px}.column-title i{color:var(--primary-purple)}.column-subtitle{font-size:.85rem;color:var(--text-secondary);margin-bottom:24px}.workouts-log-list{display:flex;flex-direction:column;gap:14px}.workout-log-item{display:flex;justify-content:space-between;align-items:center;background:#ffffff05;border:1px solid rgba(255,255,255,.04);padding:12px 20px;border-radius:12px;transition:var(--transition-smooth)}.workout-log-item.planned{border-color:#6366f14d;background:#6366f105}.workout-log-item.completed{border-color:#10b9814d;background:#10b98108}.workout-info{display:flex;align-items:center;gap:12px}.workout-name{font-weight:600;font-size:.95rem}.planned-tag{font-size:.7rem;background:#6366f126;border:1px solid rgba(99,102,241,.3);color:#818cf8;padding:2px 6px;border-radius:4px;text-transform:uppercase;font-weight:700}.planned-indicator-demo{color:var(--primary-indigo);font-weight:700}.workout-log-item.completed .workout-name{text-decoration:line-through;color:var(--text-secondary)}.workout-log-item.completed .planned-tag{background:#10b98126;border-color:#10b9814d;color:#34d399}.number-counter{display:flex;align-items:center;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:4px}.counter-btn{background:transparent;border:none;color:var(--text-secondary);width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:6px;transition:var(--transition-smooth)}.counter-btn:hover{background:#ffffff14;color:#fff}.number-counter input{width:44px;text-align:center;background:transparent;border:none;outline:none;color:#fff;font-family:var(--font-sans);font-weight:700;font-size:.95rem}.number-counter input::-webkit-outer-spin-button,.number-counter input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.log-column-panel.right{display:flex;flex-direction:column;gap:16px}.metric-log-card{background:#ffffff05;border:1px solid rgba(255,255,255,.04);border-radius:14px;padding:16px 24px;transition:var(--transition-smooth)}.metric-log-card:hover{border-color:#ffffff14}.metric-header{display:flex;justify-content:space-between;align-items:center}.metric-info h3{font-size:.95rem;font-weight:700;margin-bottom:2px}.metric-info p{font-size:.8rem;color:var(--text-secondary)}.switch{position:relative;display:inline-block;width:46px;height:24px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ffffff1a;transition:.3s}.slider:before{position:absolute;content:"";height:16px;width:16px;left:4px;bottom:4px;background-color:#fff;transition:.3s}input:checked+.slider{background:var(--primary-glow)}input:checked+.slider:before{transform:translate(22px)}.slider.round{border-radius:34px}.slider.round:before{border-radius:50%}.toggle-wrapper{display:flex;align-items:center;gap:12px}.planned-badge{font-size:.7rem;background:#6366f126;border:1px solid rgba(99,102,241,.3);color:#818cf8;padding:2px 6px;border-radius:4px;text-transform:uppercase;font-weight:700}.happiness-card{padding:20px 24px}.happiness-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.happiness-header h3{font-size:.95rem;font-weight:700}.happiness-indicator{font-weight:800;font-family:var(--font-display);font-size:1.1rem;color:var(--primary-pink)}.happiness-feedback{font-size:.8rem;color:var(--text-secondary);margin-bottom:16px}.slider-container{display:flex;align-items:center;gap:12px}.slider-emoji{font-size:1.2rem}.happiness-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;background:#ffffff1a;outline:none;transition:var(--transition-smooth)}.happiness-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#fff;cursor:pointer;box-shadow:0 0 10px #a855f780;transition:var(--transition-smooth)}.happiness-slider::-webkit-slider-thumb:hover{transform:scale(1.2);background:var(--primary-pink)}.btn-save{width:100%;justify-content:center;padding:16px;margin-top:10px}.save-indicator{text-align:center;font-size:.85rem;color:#10b981;font-weight:600;animation:pulseText 2s infinite}@keyframes pulseText{0%,to{opacity:.7}50%{opacity:1}}.planner-grid-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.planner-day-card{padding:24px;display:flex;flex-direction:column;gap:20px}.day-header h3{font-size:1.3rem;font-weight:800;letter-spacing:-.01em}.day-subtitle{font-size:.75rem;color:var(--text-secondary)}.planner-options-list{display:flex;flex-direction:column;gap:10px}.planner-opt-btn{background:#ffffff05;border:1px solid rgba(255,255,255,.04);color:var(--text-secondary);font-family:var(--font-sans);font-size:.9rem;font-weight:500;padding:10px 16px;border-radius:10px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:var(--transition-smooth)}.planner-opt-btn:hover{background:#ffffff0d;color:#fff}.planner-opt-btn.active{background:#6366f11a;border-color:#6366f166;color:#818cf8;font-weight:600}.planner-opt-btn.active .opt-indicator{color:var(--primary-pink);font-weight:800}.planner-opt-btn.active.cardio{background:#ec489914;border-color:#ec489966;color:#f472b6}.opt-indicator{font-weight:700;font-size:.95rem}.challenge-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:start}.challenge-card-large{padding:32px}.challenge-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.challenge-header h2{font-size:1.4rem;font-weight:800}.challenge-header p{font-size:.85rem;color:var(--text-secondary)}.challenge-targets-toggle{display:flex;background:#ffffff08;border:1px solid rgba(255,255,255,.06);padding:4px;border-radius:10px}.target-btn{background:transparent;border:none;color:var(--text-secondary);font-family:var(--font-sans);font-weight:600;font-size:.85rem;padding:8px 16px;border-radius:7px;cursor:pointer;transition:var(--transition-smooth)}.target-btn:hover{color:#fff}.target-btn.active{background:#a855f726;color:var(--primary-purple);box-shadow:0 0 10px #a855f70d}.challenge-progress-section{background:#ffffff03;border:1px solid rgba(255,255,255,.03);border-radius:14px;padding:24px;margin-bottom:32px}.progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-weight:600;font-size:.95rem}.progress-val-label{font-family:var(--font-display);font-size:1.2rem;font-weight:800;color:var(--primary-pink)}.kb-progress-bar{width:100%;height:8px;background:#ffffff0d;border-radius:4px;overflow:hidden;margin-bottom:12px}.progress-details{display:flex;justify-content:space-between;font-size:.85rem;color:var(--text-secondary)}.progress-details strong{color:#fff}.challenge-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.challenge-stats-grid .stat-box{background:#ffffff05;border:1px solid rgba(255,255,255,.04);border-radius:12px;padding:16px 20px}.stat-box-lbl{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:4px}.stat-box-val{font-family:var(--font-display);font-size:1.6rem;font-weight:700;color:#fff}.daily-target-display{padding:40px 32px;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:310px}.target-card-lbl{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--text-secondary);margin-bottom:12px}.target-num-display{display:flex;flex-direction:column;align-items:center;margin-bottom:24px}#kb-daily-target{font-family:var(--font-display);font-size:5rem;font-weight:800;line-height:1;background:var(--primary-glow);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 15px rgba(168,85,247,.2))}.target-unit{font-size:1.1rem;font-weight:700;color:var(--text-secondary);margin-top:4px}.target-footer-info{font-size:.85rem;color:var(--text-secondary);max-width:260px}.target-footer-info strong{color:#fff}.positive-alert{color:#10b981;font-weight:600}.analytics-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px}.analytics-card{padding:32px}.analytics-card h2{font-size:1.25rem;font-weight:800;margin-bottom:2px}.chart-subtitle{font-size:.8rem;color:var(--text-secondary);margin-bottom:20px}.chart-container{width:100%;display:flex;justify-content:center;align-items:center;min-height:180px}.heatmap-container{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;max-width:320px;margin:0 auto 20px}.heatmap-cell{aspect-ratio:1;background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:4px;cursor:pointer;position:relative;transition:var(--transition-smooth)}.heatmap-cell:hover{transform:scale(1.15);z-index:5;border-color:#fff3}.heatmap-cell.intensity-1{background:#6366f140;border-color:#6366f166}.heatmap-cell.intensity-2{background:#a855f78c;border-color:#a855f7b3}.heatmap-cell.intensity-3{background:#ec4899d9;border-color:transparent;box-shadow:0 0 10px #ec489966}.heatmap-legend{display:flex;align-items:center;justify-content:center;gap:6px;font-size:.75rem;color:var(--text-secondary)}.legend-box{width:12px;height:12px;border-radius:2px;border:1px solid rgba(255,255,255,.04)}.legend-box.intensity-0{background:#ffffff08}.legend-box.intensity-1{background:#6366f140}.legend-box.intensity-2{background:#a855f78c}.legend-box.intensity-3{background:#ec4899d9}.history-card{grid-column:span 2}.table-scroll-wrapper{overflow-x:auto;max-height:320px}.history-table{width:100%;border-collapse:collapse;text-align:left}.history-table th,.history-table td{padding:14px 20px;font-size:.9rem;border-bottom:1px solid rgba(255,255,255,.04)}.history-table th{color:var(--text-secondary);font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;background:#ffffff03}.history-table tbody tr:hover{background:#ffffff03}.history-score{font-weight:700;color:var(--primary-pink)}.happiness-badge{font-size:.8rem;font-weight:700;padding:2px 8px;border-radius:6px}.happiness-badge.happiness-0{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3)}.happiness-badge.happiness-1{background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.happiness-badge.happiness-2{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.3)}.happiness-badge.happiness-3{background:#6366f126;color:#a5b4fc;border:1px solid rgba(99,102,241,.3)}.table-empty{text-align:center;color:var(--text-secondary);padding:40px!important}@media (max-width: 1100px){.app-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr;height:100vh}.app-sidebar{flex-direction:row;justify-content:space-between;align-items:center;padding:16px 24px;height:auto;border-bottom:1px solid rgba(255,255,255,.05);border-right:none}.sidebar-logo{margin-bottom:0}.sidebar-nav{flex-direction:row;gap:8px;flex:0}.nav-item{padding:10px 14px;font-size:.85rem}.sidebar-footer{display:none}}@media (max-width: 820px){.dashboard-top-row,.logging-grid,.challenge-layout,.analytics-layout{grid-template-columns:1fr}.history-card{grid-column:span 1}.app-sidebar{flex-direction:column;gap:16px}.sidebar-nav{width:100%;justify-content:space-around}.app-main-content{padding:24px 16px}}
