@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";
:root{--bg-page:#f0f4f8;--bg-card:#fff;--bg-input:#f5f7fa;--text-primary:#1e293b;--text-secondary:#64748b;--text-muted:#94a3b8;--border:#e8ecf1;--border-light:#f1f5f9;--teal:#14b8a6;--teal-light:#ccfbf1;--teal-bg:#14b8a614;--blue:#3b82f6;--blue-light:#dbeafe;--blue-bg:#3b82f614;--violet:#7c5cfc;--violet-bg:#7c5cfc14;--orange:#f97316;--rose:#f43f5e;--radius:16px;--radius-sm:10px;--radius-xs:6px;--radius-full:9999px;--shadow:0 1px 3px #0000000a, 0 1px 2px #00000005;--shadow-md:0 4px 12px #0000000d, 0 1px 3px #00000008;--shadow-lg:0 10px 40px #0000000f;--ease:cubic-bezier(.16, 1, .3, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{background:var(--bg-page);color:var(--text-primary);min-height:100vh;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,sans-serif}.dashboard{max-width:1400px;margin:0 auto;padding:20px}@media (min-width:768px){.dashboard{padding:32px 40px}}.header{animation:fadeDown .5s var(--ease) both;flex-direction:column;gap:16px;margin-bottom:24px;display:flex}@keyframes fadeDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@media (min-width:768px){.header{flex-direction:row;justify-content:space-between;align-items:center}}.header-left{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.header-logo{border-radius:var(--radius-sm);object-fit:cover;width:44px;height:44px;animation:logoPop .6s var(--ease) both;flex-shrink:0;box-shadow:0 2px 8px #14b8a640}@keyframes logoPop{0%{opacity:0;transform:scale(.5)rotate(-10deg)}60%{transform:scale(1.1)rotate(2deg)}to{opacity:1;transform:scale(1)rotate(0)}}.header-title{color:var(--text-primary);letter-spacing:-.02em;font-size:1.25rem;font-weight:800}.header-subtitle{color:var(--text-muted);font-size:.72rem;font-weight:400}.header-right{align-items:center;gap:10px;display:flex}.last-updated-badge{color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-full);align-items:center;gap:6px;padding:4px 12px;font-size:.68rem;font-weight:500;display:flex}.last-updated-dot{background:#22c55e;border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:2s ease-in-out infinite blink;position:relative}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.creator-filter{position:relative}.creator-filter select{appearance:none;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-primary);cursor:pointer;transition:all .2s var(--ease);min-width:160px;box-shadow:var(--shadow);padding:8px 32px 8px 14px;font-family:inherit;font-size:.8rem;font-weight:600}.creator-filter select:hover{border-color:var(--teal)}.creator-filter select:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-bg);outline:none}.creator-filter:after{content:"▾";color:var(--text-muted);pointer-events:none;font-size:.65rem;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.creator-filter select option{color:var(--text-primary);background:#fff}.stat-groups{grid-template-columns:1fr;gap:16px;margin-bottom:24px;display:grid}@media (min-width:1200px){.stat-groups{grid-template-columns:repeat(3,1fr)}}@media (min-width:768px) and (max-width:1199px){.stat-groups{grid-template-columns:repeat(2,1fr)}.stat-card:nth-child(3){grid-column:span 2}}.stat-card{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);animation:cardReveal .6s var(--ease) both;transition:transform .3s var(--ease), box-shadow .3s var(--ease);padding:20px 24px;position:relative;overflow:hidden}.stat-card:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 40%,#ffffff4d 45%,#ffffff80 50%,#ffffff4d 55%,#0000 60%);width:200%;height:200%;transition:none;position:absolute;top:-50%;left:-50%;transform:translate(-100%)}.stat-card:hover:after{transition:transform .7s;transform:translate(100%)}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.stat-card:first-child{animation-delay:0s}.stat-card:nth-child(2){animation-delay:.1s}.stat-card:nth-child(3){animation-delay:.2s}@keyframes cardReveal{0%{opacity:0;transform:translateY(24px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes badgePop{0%{opacity:0;transform:scale(.5)}60%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.stat-card-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);border-bottom:1px solid var(--border-light);margin-bottom:16px;padding-bottom:10px;font-size:.7rem;font-weight:700}.stat-row{gap:0;display:flex}.stat-item{flex:1;padding-right:12px}.stat-item:last-child{border-left:1px solid var(--border-light);padding-left:12px;padding-right:0}.stat-label{color:var(--text-muted);letter-spacing:.02em;margin-bottom:4px;font-size:.7rem;font-weight:600}.stat-value{color:var(--text-primary);letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;margin-bottom:6px;font-size:clamp(.75rem,1.5vw + .2rem,1.25rem);font-weight:800;line-height:1.2}@media (min-width:1200px){.stat-value{font-size:clamp(.95rem,1.2vw,1.35rem)}.stat-item{padding-right:16px}.stat-item:last-child{padding-left:16px}}.stat-projected{align-items:center;gap:4px;font-size:.68rem;font-weight:600;display:flex}.stat-projected.teal{color:var(--teal)}.stat-projected.blue{color:var(--blue)}.projected-arrow{font-size:.72rem}.projected-value{font-weight:700}.projected-label{color:var(--text-muted);font-weight:500}.chart-section{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);animation:cardReveal .6s var(--ease) .35s both;padding:24px}@media (min-width:768px){.chart-section{padding:28px 32px}}.chart-header{flex-direction:column;gap:12px;margin-bottom:20px;display:flex}@media (min-width:640px){.chart-header{flex-direction:row;justify-content:space-between;align-items:center}}.chart-title-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.chart-title{color:var(--text-primary);letter-spacing:-.01em;font-size:1rem;font-weight:700}.date-picker{appearance:none;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-xs);color:var(--text-primary);cursor:pointer;transition:all .2s var(--ease);padding:5px 10px;font-family:inherit;font-size:.78rem;font-weight:500}.date-picker:hover{border-color:var(--teal)}.date-picker:focus{border-color:var(--teal);box-shadow:0 0 0 2px var(--teal-bg);outline:none}.tab-nav{background:var(--bg-input);border-radius:var(--radius-full);flex-wrap:wrap;gap:2px;padding:3px;display:flex}.tab-btn{border-radius:var(--radius-full);color:var(--text-muted);cursor:pointer;transition:all .2s var(--ease);white-space:nowrap;background:0 0;border:none;flex:1;padding:6px 14px;font-family:inherit;font-size:.75rem;font-weight:600}.tab-btn:hover{color:var(--text-secondary)}.tab-btn.active{background:var(--bg-card);color:var(--text-primary);box-shadow:0 1px 3px #00000014}.chart-container{width:100%;height:280px;margin-top:12px}@media (min-width:768px){.chart-container{height:360px}}@media (min-width:1024px){.chart-container{height:400px}}.chart-legend{justify-content:center;gap:24px;margin-top:12px;display:flex}.legend-item{color:var(--text-secondary);align-items:center;gap:6px;font-size:.72rem;font-weight:500;display:flex}.legend-dot{border-radius:var(--radius-full);width:8px;height:8px}.legend-dot.commission{background:var(--teal)}.legend-dot.revenue{background:var(--blue)}.custom-tooltip{background:var(--bg-card)!important;border:1px solid var(--border)!important;border-radius:var(--radius-sm)!important;box-shadow:var(--shadow-lg)!important;padding:12px 16px!important}.tooltip-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:.68rem;font-weight:600}.tooltip-row{color:var(--text-secondary);align-items:center;gap:8px;padding:2px 0;font-size:.78rem;display:flex}.tooltip-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.tooltip-value{color:var(--text-primary);font-variant-numeric:tabular-nums;margin-left:auto;padding-left:20px;font-weight:700}.loading-container{flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:100vh;display:flex}.loading-spinner{border:3px solid var(--border);border-top:3px solid var(--teal);border-radius:50%;width:40px;height:40px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:var(--text-secondary);font-size:.82rem;font-weight:500;animation:1.5s ease-in-out infinite fadeInOut}@keyframes fadeInOut{0%,to{opacity:1}50%{opacity:.3}}.error-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:50vh;padding:32px;display:flex}.error-icon{opacity:.4;font-size:2.5rem}.error-message{color:var(--text-secondary);max-width:360px;font-size:.82rem;line-height:1.6}.retry-btn{background:var(--teal);color:#fff;border-radius:var(--radius-full);cursor:pointer;transition:all .2s var(--ease);border:none;margin-top:8px;padding:8px 20px;font-family:inherit;font-size:.8rem;font-weight:600}.retry-btn:hover{opacity:.9;transform:translateY(-1px)}.no-data{height:280px;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:.82rem;display:flex}.no-data-icon{opacity:.3;font-size:2rem}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#0000001a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#0000002e}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.stat-value-row{align-items:baseline;gap:4px;margin-bottom:6px;display:flex}.growth-badge{border-radius:var(--radius-full);white-space:nowrap;animation:badgePop .5s var(--ease) 1.2s both;padding:2px 6px;font-size:.6rem;font-weight:700}.growth-badge.up{color:#059669;background:#ecfdf5}.growth-badge.down{color:#dc2626;background:#fef2f2}.theme-toggle{border-radius:var(--radius-full);border:1px solid var(--border);background:var(--bg-card);cursor:pointer;width:36px;height:36px;transition:all .2s var(--ease);box-shadow:var(--shadow);justify-content:center;align-items:center;font-size:1rem;display:flex}.theme-toggle:hover{border-color:var(--teal);transform:scale(1.1)rotate(15deg)}.leaderboard-section{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);animation:slideUp .45s var(--ease) .24s both;margin-top:16px;padding:24px}@media (min-width:768px){.leaderboard-section{padding:28px 32px}}.lb-header{margin-bottom:16px}.lb-title{color:var(--text-primary);font-size:1rem;font-weight:700}.lb-table{width:100%;overflow-x:auto}.lb-thead{border-bottom:1px solid var(--border-light);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;min-width:500px;padding:8px 0;font-size:.68rem;font-weight:700;display:flex}.lb-row{border-bottom:1px solid var(--border-light);animation:rowSlideIn .4s var(--ease) both;align-items:center;min-width:500px;padding:10px 0;font-size:.82rem;transition:background .15s,transform .15s;display:flex}.lb-row:first-child{animation-delay:.3s}.lb-row:nth-child(2){animation-delay:.38s}.lb-row:nth-child(3){animation-delay:.46s}.lb-row:nth-child(4){animation-delay:.54s}.lb-row:nth-child(5){animation-delay:.62s}.lb-row:nth-child(6){animation-delay:.7s}.lb-row:nth-child(7){animation-delay:.78s}.lb-row:nth-child(8){animation-delay:.86s}@keyframes rowSlideIn{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}.lb-row:last-child{border-bottom:none}.lb-row:hover{background:var(--bg-input);border-radius:var(--radius-xs)}.lb-row.top3{font-weight:600}.lb-col{align-items:center;display:flex}.lb-col.rank{flex-shrink:0;justify-content:center;width:40px}.lb-col.name{min-width:100px;color:var(--text-primary);flex:1;font-weight:600}.lb-col.num{font-variant-numeric:tabular-nums;width:100px;color:var(--text-secondary);justify-content:flex-end}.lb-col.growth{justify-content:center;width:100px}@media (max-width:640px){.hide-mobile{display:none!important}.lb-col.num,.lb-col.growth{width:80px}}.lb-growth{border-radius:var(--radius-full);padding:2px 6px;font-size:.7rem;font-weight:700}.lb-growth.up{color:#059669;background:#ecfdf5}.lb-growth.down{color:#dc2626;background:#fef2f2}[data-theme=dark]{--bg-page:#0a0a1a;--bg-card:#ffffff0a;--bg-input:#ffffff0f;--text-primary:#f0f0f8;--text-secondary:#f0f0f88c;--text-muted:#f0f0f84d;--border:#ffffff14;--border-light:#ffffff0d}[data-theme=dark] body{background:#0a0a1a}[data-theme=dark] body:before{background:linear-gradient(#14b8a614 0%,#0000 50%)}[data-theme=dark] .growth-badge.up{color:#34d399;background:#10b98126}[data-theme=dark] .growth-badge.down{color:#fb7185;background:#f43f5e26}[data-theme=dark] .lb-growth.up{color:#34d399;background:#10b98126}[data-theme=dark] .lb-growth.down{color:#fb7185;background:#f43f5e26}[data-theme=dark] .tab-btn.active{background:var(--teal);color:#fff}[data-theme=dark] .creator-filter select option{background:#1a1a3e}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#ffffff14}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#ffffff26}.bottom-grid{grid-template-columns:1fr;gap:16px;margin-top:16px;display:grid}@media (min-width:1024px){.bottom-grid{grid-template-columns:1.2fr 1fr}}.forecast-card{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);animation:cardReveal .6s var(--ease) .25s both;border:1px solid var(--border);margin-bottom:16px;padding:20px 24px;position:relative;overflow:hidden}.forecast-card:before{content:"";background:linear-gradient(90deg, var(--violet), var(--teal), var(--blue));border-radius:var(--radius) var(--radius) 0 0;height:3px;position:absolute;top:0;left:0;right:0}.forecast-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;display:flex}.forecast-title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.forecast-icon{font-size:1.2rem}.forecast-title{color:var(--text-primary);font-size:1rem;font-weight:700}.forecast-confidence{border-radius:var(--radius-full);background:var(--bg-input);padding:3px 10px;font-size:.68rem;font-weight:600}.forecast-confidence.teal{color:var(--teal)}.forecast-confidence.orange{color:var(--orange)}.forecast-confidence.rose{color:var(--rose)}.forecast-trend{color:var(--text-secondary);font-size:.75rem;font-weight:500}.forecast-body{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.forecast-values{flex-direction:column;flex:1;gap:12px;min-width:200px;display:flex}.forecast-stat-label{color:var(--text-muted);margin-bottom:2px;font-size:.7rem;font-weight:600}.forecast-stat-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.35rem;font-weight:800}.forecast-stat-value.teal{color:var(--teal)}.forecast-stat-value.blue{color:var(--blue)}.forecast-chart{flex:1;align-items:flex-end;gap:6px;min-width:160px;height:80px;display:flex}.forecast-bar-group{flex-direction:column;flex:1;align-items:center;gap:4px;height:100%;display:flex}.forecast-bar-wrapper{flex:1;align-items:flex-end;width:100%;display:flex}.forecast-bar{width:100%;min-height:4px;transition:height .8s var(--ease);border-radius:4px 4px 0 0}.forecast-bar.past{background:var(--teal);opacity:.4}.forecast-bar.current{background:var(--teal);opacity:.7}.forecast-bar.forecast{background:linear-gradient(180deg, var(--violet), var(--teal));border:2px dashed var(--violet);background-clip:padding-box}.forecast-bar-label{color:var(--text-muted);font-size:.6rem;font-weight:600}.insights-card{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);animation:slideUp .45s var(--ease) .3s both;padding:24px}@media (min-width:768px){.insights-card{padding:28px 32px}}.insights-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.insights-title{color:var(--text-primary);font-size:1rem;font-weight:700}.insights-disclaimer{color:var(--orange);border-radius:var(--radius-full);background:#f9731614;padding:2px 8px;font-size:.65rem;font-weight:600}.insights-badges{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.insight-badge{border-radius:var(--radius-full);background:var(--teal-bg);color:var(--teal);animation:badgePop .5s var(--ease) .8s both;align-items:center;gap:6px;padding:6px 12px;font-size:.72rem;font-weight:600;display:flex}.insight-badge-icon{font-size:.85rem}.insights-section{margin-bottom:16px}.insights-section:last-child{margin-bottom:0}.insights-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;font-size:.68rem;font-weight:700}.hour-bars{align-items:flex-end;gap:2px;height:64px;display:flex}.hour-bar-col{cursor:pointer;flex-direction:column;flex:1;align-items:center;height:100%;display:flex;position:relative}.hour-bar-col:hover .hour-bar{opacity:1}.hour-bar{background:var(--teal);opacity:.35;width:100%;transition:all .2s var(--ease);border-radius:2px 2px 0 0;min-height:2px;margin-top:auto}.hour-bar.top{opacity:.9;box-shadow:0 0 6px #14b8a64d}.hour-bar-label{color:var(--text-muted);font-size:.5rem;font-weight:600;position:absolute;bottom:-14px}.day-heatmap{gap:4px;margin-top:6px;display:flex}.day-cell{aspect-ratio:1;border-radius:var(--radius-xs);cursor:pointer;transition:transform .2s var(--ease), box-shadow .2s;flex:1;justify-content:center;align-items:center;max-width:48px;display:flex}.day-cell:hover{box-shadow:var(--shadow-md);transform:scale(1.1)}.day-cell-label{color:var(--text-primary);mix-blend-mode:difference;font-size:.62rem;font-weight:700}.goal-section{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);animation:slideUp .45s var(--ease) .35s both;margin-top:16px;padding:24px}.goal-empty{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:20px 24px;display:flex}.goal-empty-icon{font-size:1.3rem}.goal-set-btn{background:var(--teal);color:#fff;border-radius:var(--radius-full);cursor:pointer;transition:all .2s var(--ease);border:none;padding:6px 16px;font-family:inherit;font-size:.78rem;font-weight:600}.goal-set-btn:hover{opacity:.9;transform:translateY(-1px)}.goal-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.goal-title{color:var(--text-primary);font-size:1rem;font-weight:700}.goal-edit-btn{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;transition:all .2s var(--ease);padding:4px 12px;font-family:inherit;font-size:.72rem;font-weight:600}.goal-edit-btn:hover{border-color:var(--teal);color:var(--teal)}.goal-rings{flex-wrap:wrap;justify-content:center;gap:40px;display:flex}.goal-ring-container{flex-direction:column;align-items:center;gap:6px;display:flex}.goal-ring{transform:rotate(-90deg)}.goal-ring-bg{fill:none;stroke:var(--border)}.goal-ring-progress{fill:none;stroke-linecap:round;transition:stroke-dashoffset 1.5s var(--ease)}.goal-ring-text{text-align:center;margin-top:-58px;margin-bottom:34px}.goal-ring-pct{color:var(--text-primary);font-size:1rem;font-weight:800}.goal-ring-label{color:var(--text-secondary);margin-top:2px;font-size:.75rem;font-weight:600}.goal-ring-detail{color:var(--text-muted);font-variant-numeric:tabular-nums;margin-top:3px;font-size:.68rem;font-weight:500}.goal-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.goal-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);width:90%;max-width:400px;box-shadow:var(--shadow-lg);animation:modalSlideUp .3s var(--ease);padding:28px 32px}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.goal-modal-title{color:var(--text-primary);margin-bottom:20px;font-size:1.05rem;font-weight:700}.goal-modal-field{margin-bottom:16px}.goal-modal-field label{color:var(--text-secondary);margin-bottom:6px;font-size:.75rem;font-weight:600;display:block}.goal-modal-field input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);padding:10px 14px;font-family:inherit;font-size:.88rem;transition:border-color .2s}.goal-modal-field input:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-bg);outline:none}.goal-modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.goal-modal-cancel{border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;background:0 0;padding:8px 18px;font-family:inherit;font-size:.8rem;font-weight:600;transition:all .2s}.goal-modal-cancel:hover{border-color:var(--text-muted)}.goal-modal-save{background:var(--teal);color:#fff;border-radius:var(--radius-full);cursor:pointer;transition:all .2s var(--ease);border:none;padding:8px 22px;font-family:inherit;font-size:.8rem;font-weight:600}.goal-modal-save:hover{opacity:.9;transform:translateY(-1px)}.compare-period-toggle{background:var(--bg-input);border-radius:var(--radius-full);gap:2px;padding:2px;display:flex}.compare-period-btn{border-radius:var(--radius-full);color:var(--text-muted);cursor:pointer;transition:all .2s var(--ease);background:0 0;border:none;padding:4px 12px;font-family:inherit;font-size:.72rem;font-weight:600}.compare-period-btn.active{background:var(--bg-card);color:var(--text-primary);box-shadow:0 1px 3px #00000014}.compare-diff-row{flex-wrap:wrap;gap:10px;margin-bottom:12px;display:flex}.compare-diff-badge{border-radius:var(--radius-full);padding:4px 12px;font-size:.72rem;font-weight:700}.compare-diff-badge.up{color:#059669;background:#ecfdf5}.compare-diff-badge.down{color:#dc2626;background:#fef2f2}.milestone-container{z-index:9999;flex-direction:column;gap:10px;width:calc(100% - 40px);max-width:360px;display:flex;position:fixed;top:20px;right:20px}.milestone-toast{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);animation:toastSlideIn .4s var(--ease);align-items:center;gap:10px;padding:14px 18px;display:flex;position:relative;overflow:hidden}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100px)scale(.9)}60%{transform:translate(-5px)scale(1.02)}to{opacity:1;transform:translate(0)scale(1)}}.milestone-confetti{pointer-events:none;background:linear-gradient(135deg,#14b8a614 0%,#7c5cfc0f 50%,#3b82f614 100%);position:absolute;inset:0}.milestone-icon{animation:bounceIn .6s var(--ease);flex-shrink:0;font-size:1.3rem}@keyframes bounceIn{0%{transform:scale(0)}60%{transform:scale(1.3)}to{transform:scale(1)}}.milestone-message{color:var(--text-primary);flex:1;font-size:.78rem;font-weight:600;line-height:1.4}.milestone-dismiss{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:4px;font-size:.8rem;transition:color .15s}.milestone-dismiss:hover{color:var(--text-primary)}[data-theme=dark] .forecast-bar.forecast{border-color:#7c5cfc99}[data-theme=dark] .compare-diff-badge.up{color:#34d399;background:#10b98126}[data-theme=dark] .compare-diff-badge.down{color:#fb7185;background:#f43f5e26}[data-theme=dark] .compare-period-btn.active{background:var(--teal);color:#fff}[data-theme=dark] .insight-badge{background:#14b8a61f}[data-theme=dark] .day-cell-label{mix-blend-mode:normal;color:#ffffffd9}[data-theme=dark] .goal-modal{background:#1a1a3e}[data-theme=dark] .insights-disclaimer{background:#f973161f}[data-theme=dark] .milestone-toast{background:#1a1a3e;border-color:#ffffff1a}.pull-refresh-indicator{transition:height .3s var(--ease);justify-content:center;align-items:center;gap:8px;display:flex;overflow:hidden}.pull-refresh-icon{transition:transform .3s var(--ease);font-size:1.2rem}.pull-refresh-icon.ready{transform:rotate(180deg)}.pull-refresh-icon.spinning{animation:1s linear infinite spinRefresh}@keyframes spinRefresh{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pull-refresh-text{color:var(--text-secondary);font-size:.75rem;font-weight:600}.sparkline{opacity:.8;margin-top:6px;transition:opacity .2s;display:block}.stat-item:hover .sparkline{opacity:1}.last-updated-dot.pulse-active{animation:1.5s ease-in-out infinite livePulse}.last-updated-dot.pulse-active:after{content:"";background:#22c55e4d;border-radius:50%;animation:1.5s ease-in-out infinite pulseRing;position:absolute;inset:-4px}@keyframes livePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.3)}}@keyframes pulseRing{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(2.5)}}.last-updated-badge.pulse-flash{animation:badgeFlash .6s var(--ease)}@keyframes badgeFlash{0%{background:var(--bg-input)}30%{background:#22c55e26}to{background:var(--bg-input)}}.goal-section-v2{border:1px solid var(--border);position:relative;overflow:hidden}.goal-bg-pattern{pointer-events:none;background:radial-gradient(circle at 10% 20%,#14b8a60a 0%,#0000 50%),radial-gradient(circle at 90% 80%,#3b82f60a 0%,#0000 50%);position:absolute;inset:0}.goal-header-left{flex-direction:column;gap:4px;display:flex}.goal-motivation{align-items:center;gap:6px;display:flex}.goal-motivation-emoji{animation:bounceIn .6s var(--ease) .5s both;font-size:1.1rem}.goal-motivation-text{color:var(--teal);font-size:.75rem;font-weight:600}.goal-progress-bar-section{margin-bottom:20px}.goal-progress-bar-track{background:var(--bg-input);border-radius:var(--radius-full);height:8px;overflow:hidden}.goal-progress-bar-fill{border-radius:var(--radius-full);height:100%;transition:width 1.5s var(--ease);justify-content:flex-end;align-items:center;min-width:0;display:flex}.goal-progress-bar-text{color:#fff;white-space:nowrap;padding-right:6px;font-size:.55rem;font-weight:800}.goal-rings-v2{z-index:1;flex-wrap:wrap;justify-content:center;gap:48px;display:flex;position:relative}.goal-ring-container-v2{flex-direction:column;align-items:center;gap:4px;display:flex;position:relative}.goal-ring-glow{pointer-events:none;border-radius:50%;width:160px;height:160px;animation:3s ease-in-out infinite glowPulse;position:absolute;top:-20px}@keyframes glowPulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.goal-ring-text-v2{text-align:center;flex-direction:column;align-items:center;margin-top:-78px;margin-bottom:40px;display:flex}.goal-ring-pct-v2{color:var(--text-primary);letter-spacing:-.02em;font-size:1.4rem;font-weight:800}.goal-ring-label-v2{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.65rem;font-weight:600}.goal-ring-amounts{font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-size:.72rem;display:flex}.goal-ring-current{color:var(--text-primary);font-weight:700}.goal-ring-separator{color:var(--text-muted)}.goal-ring-target{color:var(--text-muted);font-weight:600}.goal-ring-forecast{border-radius:var(--radius-full);margin-top:4px;padding:2px 8px;font-size:.62rem;font-weight:600}.goal-ring-forecast.will-reach{color:var(--teal);background:var(--teal-bg)}.goal-ring-forecast.wont-reach{color:var(--orange);background:#f9731614}.goal-ring-projected{fill:none;stroke-linecap:round}.goal-remaining{border-top:1px solid var(--border-light);z-index:1;flex-wrap:wrap;justify-content:center;gap:20px;margin-top:16px;padding-top:14px;display:flex;position:relative}.goal-remaining-item{color:var(--text-secondary);font-size:.72rem;font-weight:500}.goal-remaining-item strong{color:var(--text-primary);font-weight:700}.goal-empty-card{border:1px dashed var(--border);flex-wrap:wrap;align-items:center;gap:16px;padding:24px 28px;display:flex;position:relative;overflow:hidden}.goal-empty-glow{pointer-events:none;background:radial-gradient(circle at 30%,#14b8a60f 0%,#0000 60%);position:absolute;inset:0}.goal-empty-content{flex-direction:column;flex:1;gap:2px;min-width:150px;display:flex}.goal-empty-title{color:var(--text-primary);font-size:.88rem;font-weight:700}.goal-empty-text{color:var(--text-secondary);font-size:.72rem;font-weight:500}.goal-empty-icon{animation:bounceIn .6s var(--ease) .3s both;font-size:1.8rem}[data-theme=dark] .goal-section-v2{border-color:#ffffff0f}[data-theme=dark] .goal-empty-card{border-color:#ffffff1a}[data-theme=dark] .goal-ring-forecast.wont-reach{background:#f973161f}
