@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Sora:wght@600;700;800&display=swap";:root{--font:"Inter", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-display:"Sora", "Manrope", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--bg-body:#1b1b1f;--bg-surface:#232328;--bg-raised:#2a2a30;--bg-input:#2a2a30;--bg-hover:#313138;--text:#fff;--text-secondary:#a1a1aa;--text-muted:#71717a;--border:#3f3f46;--border-hover:#52525b;--accent:#7c5cfc;--accent-hover:#6d4ee0;--accent-subtle:#7c5cfc1f;--accent-soft:#7c5cfc47;--rank-ghost:#3b82f642;--green:#22c55e;--green-subtle:#22c55e1f;--red:#ef4444;--red-subtle:#ef44441f;--amber:#f59e0b;--blue:#3b82f6;--teal:#14b8a6;--rose:#f43f5e;--shadow:0 1px 3px #0000004d;--radius:10px;--radius-sm:6px;--transition:.18s ease}[data-theme=light]{--bg-body:#f9fafb;--bg-surface:#fff;--bg-raised:#f3f4f6;--bg-input:#fff;--bg-hover:#f3f4f6;--text:#111827;--text-secondary:#6b7280;--text-muted:#9ca3af;--border:#e5e7eb;--border-hover:#d1d5db;--accent:#6d4ee0;--accent-hover:#5b3ec7;--accent-subtle:#6d4ee014;--accent-soft:#6d4ee033;--rank-ghost:#2563eb33;--green:#16a34a;--green-subtle:#16a34a14;--red:#dc2626;--red-subtle:#dc262614;--shadow:0 1px 3px #00000014, 0 1px 2px #0000000a}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font);background:var(--bg-body);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;transition:background var(--transition), color var(--transition);line-height:1.6}h1,h2,h3,h4{color:var(--text);font-weight:600;line-height:1.25}h1{letter-spacing:-.02em;font-size:2.75rem}h2{font-size:1.5rem}h3{font-size:1.125rem}p{color:var(--text-secondary);line-height:1.65}.home-landing .hero h1,.home-landing .features h2,.home-landing .steps-section h2,.home-landing .cta-box h2{font-family:var(--font-display)}.app-shell{flex-direction:column;min-height:100vh;display:flex}.navbar{z-index:50;background:color-mix(in srgb, var(--bg-body) 80%, transparent 20%);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);height:64px;transition:background var(--transition), border-color var(--transition);justify-content:space-between;align-items:center;gap:12px;padding:0 28px;display:flex;position:sticky;top:0}.navbar-brand{cursor:pointer;align-items:center;gap:10px;text-decoration:none;display:flex}.logo-mark{flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.logo-mark-img{object-fit:contain;width:100%;height:100%}.logo-text{color:var(--text);font-size:18px;font-weight:700}.download-csv-btn{margin-left:12px}@media (width<=600px){.navbar{gap:8px;padding:0 12px}.logo-text{display:none}.download-csv-btn{gap:4px;margin-left:6px;padding:6px 10px;font-size:12px}.download-csv-btn svg{width:13px;height:13px}.navbar-actions{gap:6px}.theme-toggle{border-radius:8px;width:34px;height:34px}}.navbar-actions{align-items:center;gap:8px;display:flex}.theme-toggle{background:var(--bg-surface);border:1px solid var(--border);width:38px;height:38px;color:var(--text-secondary);cursor:pointer;box-shadow:var(--shadow);border-radius:10px;justify-content:center;align-items:center;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.theme-toggle:hover{background:var(--bg-hover);color:var(--text);border-color:var(--border-hover);transform:translateY(-1px)}.theme-toggle:active{transform:translateY(0)}.theme-toggle-inner{width:18px;height:18px;position:relative}.sun-icon,.moon-icon{transition:all .4s cubic-bezier(.4,0,.2,1);position:absolute;top:0;left:0}.moon-icon{opacity:0;transform:rotate(-90deg)scale(.5)}.sun-icon,[data-theme=light] .moon-icon{opacity:1;transform:rotate(0)scale(1)}[data-theme=light] .sun-icon{opacity:0;transform:rotate(90deg)scale(.5)}.btn{font-family:var(--font);cursor:pointer;transition:all var(--transition);white-space:nowrap;border:none;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:9px 18px;font-size:14px;font-weight:500;display:inline-flex}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--bg-raised);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--border-hover)}.btn-ghost{color:var(--text-secondary);background:0 0;padding:9px 14px}.btn-ghost:hover{background:var(--bg-hover);color:var(--text)}.btn-sm{padding:7px 14px;font-size:13px}.btn-lg{padding:12px 24px;font-size:15px}.btn-danger{color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);background:0 0;padding:6px 10px;font-size:13px}.btn-danger:hover{background:var(--red-subtle);border-color:var(--red);color:var(--red)}.home-landing .hero{text-align:center;isolation:isolate;padding:108px 28px 86px;position:relative;overflow:hidden}.home-landing{position:relative;overflow:hidden}.home-landing:before,.home-landing:after{content:"";pointer-events:none;z-index:-2;position:absolute;inset:auto}.home-landing:before{background:radial-gradient(circle,#7c5cfc1f 0%,#0000 68%);border-radius:50%;width:620px;height:620px;top:-260px;right:-260px}.home-landing:after{background:radial-gradient(circle,#14b8a614 0%,#0000 70%);border-radius:50%;width:520px;height:520px;bottom:-260px;left:-220px}.home-landing .hero:before,.home-landing .hero:after{content:"";pointer-events:none;z-index:-1;filter:blur(10px);border-radius:999px;position:absolute}.home-landing .hero:before{background:radial-gradient(circle, var(--accent-soft) 0%, transparent 72%);width:290px;height:290px;animation:8s ease-in-out infinite heroFloatA;top:-110px;left:-90px}.home-landing .hero:after{background:radial-gradient(circle,#3b82f62e 0%,#0000 72%);width:230px;height:230px;animation:9s ease-in-out infinite heroFloatB;top:18%;right:6%}.home-landing .hero-tag{border:1px solid color-mix(in srgb, var(--accent) 40%, transparent 60%);background:color-mix(in srgb, var(--accent-subtle) 70%, var(--bg-surface) 30%);color:var(--accent);letter-spacing:.03em;text-transform:uppercase;border-radius:999px;margin-bottom:22px;padding:7px 14px;font-size:12px;font-weight:700;animation:.52s both introRise;display:inline-block}.home-landing .hero h1{letter-spacing:-.03em;text-wrap:balance;margin-bottom:16px;font-size:clamp(2rem,1.3rem + 3vw,3.35rem);animation:.52s 60ms both introRise}.home-landing .hero h1 span{color:var(--accent)}.home-landing .hero-desc{max-width:600px;color:var(--text-secondary);text-wrap:pretty;margin:0 auto 32px;font-size:clamp(1rem,.95rem + .45vw,1.13rem);animation:.52s .12s both introRise}.home-landing .hero-buttons{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.home-landing .hero-buttons .btn-lg{min-width:170px;animation:.52s .18s both introRise;box-shadow:0 8px 22px #00000024}.home-landing .hero-buttons .btn-primary{background:linear-gradient(135deg, var(--accent) 0%, #6f4df4 100%);position:relative;overflow:hidden}.home-landing .hero-buttons .btn-primary:after{content:"";background:linear-gradient(110deg,#0000 20%,#ffffff38 50%,#0000 80%);transition:transform .62s;position:absolute;inset:-1px;transform:translate(-130%)}.home-landing .hero-buttons .btn-primary:hover:after{transform:translate(130%)}.home-landing .features{max-width:1080px;margin:0 auto;padding:66px 28px;position:relative}.home-landing .features-label{text-align:center;color:var(--accent);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;font-size:12px;font-weight:700}.home-landing .features h2{text-align:center;margin-bottom:40px}.home-landing .features-grid{perspective:1000px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.home-landing .feat-card{background:color-mix(in srgb, var(--bg-surface) 90%, var(--bg-body) 10%);border:1px solid var(--border);transition:transform var(--transition), border-color var(--transition), box-shadow var(--transition);border-radius:14px;padding:24px;animation:.62s cubic-bezier(.22,1,.36,1) both cardLiftIn;position:relative;box-shadow:0 10px 30px #00000014}.home-landing .feat-card:hover{border-color:var(--accent-soft);transform:translateY(-3px);box-shadow:0 14px 34px #00000024}.home-landing .feat-card:before{content:"";background:linear-gradient(90deg, var(--accent) 0%, var(--blue) 48%, var(--teal) 100%);opacity:.8;border-radius:999px;height:2px;position:absolute;top:0;left:14px;right:14px}.home-landing .feat-card:first-child{animation-delay:60ms}.home-landing .feat-card:nth-child(2){animation-delay:.12s}.home-landing .feat-card:nth-child(3){animation-delay:.18s}.home-landing .feat-card:nth-child(4){animation-delay:.24s}.home-landing .feat-card:nth-child(5){animation-delay:.3s}.home-landing .feat-card:nth-child(6){animation-delay:.36s}.home-landing .feat-icon{color:#fff;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:14px;font-size:18px;font-weight:700;display:flex}.home-landing .feat-icon.purple{background:linear-gradient(145deg, var(--accent) 0%, #6946fb 100%)}.home-landing .feat-icon.green{background:linear-gradient(145deg, var(--green) 0%, var(--teal) 100%)}.home-landing .feat-icon.red{background:linear-gradient(145deg, var(--red) 0%, var(--rose) 100%)}.home-landing .feat-icon.amber{background:linear-gradient(145deg, var(--amber) 0%, #fb923c 100%)}.home-landing .feat-icon.blue{background:linear-gradient(145deg, var(--blue) 0%, #2563eb 100%)}.home-landing .feat-card h3{margin-bottom:6px}.home-landing .feat-card p{font-size:14px}.home-landing .steps-section{max-width:760px;margin:0 auto;padding:66px 28px;position:relative}.home-landing .steps-section h2{text-align:center;letter-spacing:-.02em;margin-bottom:34px}.home-landing .step-list{flex-direction:column;gap:16px;list-style:none;display:flex;position:relative}.home-landing .step-list:before{content:"";background:linear-gradient(#7c5cfc6b 0%,#3b82f638 100%);border-radius:999px;width:2px;position:absolute;top:37px;bottom:37px;left:40px}.home-landing .step{background:linear-gradient(160deg, color-mix(in srgb, var(--bg-surface) 93%, var(--bg-body) 7%) 0%, color-mix(in srgb, var(--bg-surface) 87%, var(--accent-subtle) 13%) 100%);border:1px solid var(--border);transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);border-radius:12px;align-items:flex-start;gap:16px;padding:20px;display:flex;position:relative;box-shadow:0 10px 26px #00000014}.home-landing .step:hover{border-color:color-mix(in srgb, var(--accent) 24%, var(--border) 76%);transform:translateY(-2px);box-shadow:0 14px 28px #00000024}.home-landing .step-num{background:linear-gradient(145deg, var(--accent) 0%, #6846f2 100%);color:#fff;outline:4px solid color-mix(in srgb, var(--bg-surface) 78%, transparent 22%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;font-weight:700;display:flex;box-shadow:0 8px 16px #7c5cfc47}.home-landing .step h4{margin-bottom:2px}.home-landing .step p{font-size:14px}.home-landing .cta-banner{text-align:center;padding:64px 28px}.home-landing .cta-box{background:linear-gradient(160deg, color-mix(in srgb, var(--bg-surface) 94%, var(--accent-subtle) 6%) 0%, color-mix(in srgb, var(--bg-surface) 88%, #3b82f61a 12%) 100%);border:1px solid color-mix(in srgb, var(--accent) 28%, var(--border) 72%);border-radius:14px;max-width:560px;margin:0 auto;padding:40px;position:relative;overflow:hidden;box-shadow:0 14px 36px #00000029}.home-landing .cta-box:after{content:"";pointer-events:none;background:radial-gradient(circle,#7c5cfc2e 0%,#0000 70%);border-radius:50%;width:320px;height:320px;position:absolute;inset:auto -40% -68% auto}.home-landing .cta-box h2{margin-bottom:8px}.home-landing .cta-box p{margin-bottom:20px}@keyframes landingFadeIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes introRise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes cardLiftIn{0%{opacity:0;transform:translateY(18px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes heroFloatA{0%,to{transform:translate(0,0)}50%{transform:translate(14px,10px)}}@keyframes heroFloatB{0%,to{transform:translate(0,0)}50%{transform:translate(-12px,-10px)}}.home-landing .hero,.home-landing .features,.home-landing .steps-section,.home-landing .cta-banner{animation:.45s both landingFadeIn}.home-landing .features{animation-delay:60ms}.home-landing .steps-section{animation-delay:.12s}.home-landing .cta-banner{animation-delay:.18s}@media (prefers-reduced-motion:reduce){.home-landing .hero,.home-landing .features,.home-landing .steps-section,.home-landing .cta-banner{animation:none}.home-landing .feat-card:hover{transform:none}.home-landing .hero:before,.home-landing .hero:after,.home-landing .hero-tag,.home-landing .hero h1,.home-landing .hero-desc,.home-landing .hero-buttons .btn-lg,.home-landing .feat-card{animation:none}}.app-footer{border-top:1px solid var(--border);text-align:center;color:var(--text-muted);padding:16px 28px;font-size:13px}.dashboard{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:24px 28px 48px}.tab-bar{border-radius:var(--radius);background:var(--bg-surface);border:1px solid var(--border);gap:2px;margin-bottom:24px;padding:3px;display:inline-flex}.tab-btn{font-family:var(--font);color:var(--text-secondary);cursor:pointer;transition:all var(--transition);background:0 0;border:none;border-radius:7px;padding:9px 20px;font-size:14px;font-weight:500}.tab-btn:hover{color:var(--text);background:var(--bg-hover)}.tab-btn.active{background:var(--accent);color:#fff}.card{border-radius:var(--radius);background:var(--bg-surface);border:1px solid var(--border);transition:border-color var(--transition);padding:22px}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.card-title{font-size:15px;font-weight:600}.card-sub{color:var(--text-muted);margin-top:2px;font-size:13px}.stats-row{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px;display:grid}.stat{border-radius:var(--radius);background:var(--bg-surface);border:1px solid var(--border);padding:18px}.stat-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:4px;font-size:12px;font-weight:600}.stat-val{color:var(--text);font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:700}.stat-val.purple{color:var(--accent)}.stat-val.green{color:var(--green)}.stat-val.amber{color:var(--amber)}.filter-pills{background:var(--bg-raised);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;padding:2px;display:inline-flex}.pill{font-family:var(--font);color:var(--text-muted);cursor:pointer;transition:all var(--transition);background:0 0;border:none;border-radius:6px;padding:5px 12px;font-size:12px;font-weight:600}.pill:hover{color:var(--text)}.pill.active{background:var(--accent);color:#fff}.time-card-head{flex-direction:column;align-items:stretch;gap:10px}.time-controls{flex-direction:column;gap:8px;width:100%;display:flex}.time-first-row{grid-template-columns:1fr 1fr;gap:8px;width:100%;display:grid}.time-pills-row{width:100%}.time-pills-row .filter-pills{width:100%;display:flex}.time-pills-row .pill{text-align:center;flex:1;padding:7px 8px}@media (width<=640px){.time-first-row{grid-template-columns:1fr}}.charts-row{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px;display:grid}.charts-top-row{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;display:grid}.charts-bottom-row{margin-bottom:20px}.charts-pie-card,.charts-bar-card{min-height:0}.chart-area{height:270px;margin-top:10px}.pie-filter-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.pie-filter-row .filter-pills{flex-shrink:0}.month-dropdown{flex:1;min-width:140px;position:relative}.month-dropdown-trigger{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);font-family:var(--font);cursor:pointer;transition:all var(--transition);align-items:center;gap:8px;padding:6px 12px;font-size:13px;font-weight:500;display:flex}.month-dropdown-trigger:hover{border-color:var(--border-hover,#4f4f5a)}.month-dropdown-trigger.has-value{border-color:var(--accent);color:var(--accent)}.month-dropdown-icon{opacity:.7;font-size:14px}.month-dropdown-trigger.has-value .month-dropdown-icon{opacity:1}.month-dropdown-text{text-align:left;white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.month-dropdown-arrow{color:var(--text-muted);margin-left:auto;font-size:10px;transition:transform .2s}.month-dropdown-menu{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);z-index:20;flex-direction:column;gap:2px;width:100%;min-width:160px;max-height:220px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto;box-shadow:0 8px 24px #0000004d}.month-dropdown-option{text-align:left;width:100%;color:var(--text-secondary);font-family:var(--font);cursor:pointer;transition:all var(--transition);background:0 0;border:none;border-radius:6px;padding:8px 12px;font-size:13px}.month-dropdown-option:hover{background:var(--bg-hover);color:var(--text)}.month-dropdown-option.active{background:var(--accent-subtle);color:var(--accent);font-weight:600}.add-expense-card{flex-direction:column;display:flex}.add-expense-header{align-items:center;gap:10px;margin-bottom:16px;display:flex}.add-expense-icon{background:linear-gradient(135deg, var(--accent), #a78bfa);color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:20px;font-weight:700;display:flex}.add-expense-form{flex-direction:column;flex:1;gap:14px;display:flex}.add-expense-btn{width:100%;margin-top:auto;padding:12px 16px;font-size:14px;font-weight:600}.charts-pie-card{flex-direction:column;min-height:0;display:flex}.pie-chart-area{flex:1;justify-content:center;align-items:center;height:auto;min-height:280px;margin-top:4px;display:flex}.form-row{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.field{flex-direction:column;flex:1;gap:5px;min-width:130px;display:flex}.field-label{color:var(--text-secondary);font-size:13px;font-weight:500}.field-input,.field-select{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);color:var(--text);font-family:var(--font);transition:border-color var(--transition);outline:none;padding:9px 12px;font-size:16px}.field-input::placeholder{color:var(--text-muted)}.field-input:focus,.field-select:focus{border-color:var(--accent)}.field-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2371717A' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:28px}.currency-picker{min-width:280px;max-width:340px;position:relative}.currency-trigger{border:1px solid var(--border);background:var(--bg-input);width:100%;color:var(--text);border-radius:var(--radius-sm);font-family:var(--font);cursor:pointer;transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;font-size:14px;font-weight:600;display:flex}.currency-trigger:hover{border-color:var(--border-hover);background:var(--bg-hover)}.currency-trigger.open{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.currency-trigger-main{color:var(--text);letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.currency-trigger-arrow{color:var(--text-muted);font-size:12px;transform:translateY(1px)}.currency-menu{background:var(--bg-surface);border:1px solid var(--border);z-index:30;border-radius:10px;width:100%;max-height:280px;padding:6px;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 14px 32px #00000047}.currency-menu-search-wrap{z-index:2;background:var(--bg-surface);padding:4px 2px 8px;position:sticky;top:0}.currency-menu-search{border:1px solid var(--border);background:var(--bg-input);width:100%;color:var(--text);font-family:var(--font);border-radius:8px;outline:none;padding:8px 10px;font-size:13px}.currency-menu-search:focus{border-color:var(--accent)}.currency-menu-search::placeholder{color:var(--text-muted)}.currency-menu-section{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);padding:8px 10px 6px;font-size:11px;font-weight:700}.currency-option{width:100%;color:var(--text-secondary);cursor:pointer;font-family:var(--font);text-align:left;transition:background var(--transition), color var(--transition);background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:14px;font-weight:600;display:flex}.currency-option>span:first-child{min-width:112px;color:var(--text)}.currency-option:hover{background:var(--bg-hover);color:var(--text)}.currency-option.active{background:var(--accent-subtle);color:var(--accent)}.currency-option-label{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;overflow:hidden}.currency-menu-empty{color:var(--text-muted);text-align:center;padding:12px 8px;font-size:13px}@media (width<=640px){.currency-picker{width:100%;min-width:0;max-width:none}.currency-menu{width:100%;left:0;right:0}.currency-option{gap:8px;font-size:13px}.currency-option-label{font-size:11px}}.splitwise-currency-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.table-wrap{border-radius:var(--radius-sm);border:1px solid var(--border);margin-top:18px;overflow:hidden}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:var(--bg-raised);border-bottom:1px solid var(--border);padding:10px 14px;font-size:12px;font-weight:600}.table td{border-bottom:1px solid var(--border);color:var(--text-secondary);padding:10px 14px}.table tbody tr{transition:background var(--transition)}.table tbody tr:hover{background:var(--bg-hover)}.table tbody tr:last-child td{border-bottom:none}.td-empty{text-align:center;color:var(--text-muted)!important;padding:28px 14px!important}.td-amount{font-variant-numeric:tabular-nums;font-weight:600;color:var(--text)!important}.td-date{white-space:nowrap;font-size:13px;color:var(--text-muted)!important}.cat-tag{background:var(--accent-subtle);color:var(--accent);border-radius:20px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.top-expenses-list{flex-direction:column;gap:8px;list-style:none;display:flex}.top-expense-ranked-row{align-items:center;min-height:82px;display:flex;position:relative}.top-expense-bg-rank{color:var(--rank-ghost);letter-spacing:-.04em;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:110px;font-weight:800;line-height:1;position:absolute;top:50%;left:6px;transform:translateY(-50%)}.top-expense-item{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-raised);justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.top-expense-item-ranked{z-index:1;background:var(--bg-raised);width:calc(100% - 58px);margin-left:58px;position:relative}.top-expense-left{align-items:flex-start;gap:10px;min-width:0;display:flex}.top-expense-rank{width:auto;height:auto;color:var(--accent);background:0 0;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.top-expense-name{color:var(--text);font-size:14px;font-weight:600}.top-expense-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;font-size:12px;display:flex}.top-expense-amount{letter-spacing:-.02em;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;text-shadow:0 1px #0000000f;font-size:clamp(1.25rem,1rem + .9vw,1.9rem);font-weight:800;line-height:1}.top-expense-empty{text-align:center;color:var(--text-muted);padding:16px;font-size:14px}.expense-progress-track{background:color-mix(in srgb, var(--bg-raised) 65%, var(--text-muted) 35%);border-radius:999px;width:150px;height:8px;overflow:hidden}.expense-progress-fill{border-radius:inherit;background:linear-gradient(90deg,#2563eb 0%,#1d4ed8 100%);height:100%}.table tbody tr:nth-child(6n+1) .expense-progress-fill{background:linear-gradient(90deg,#2563eb 0%,#1d4ed8 100%)}.table tbody tr:nth-child(6n+2) .expense-progress-fill{background:linear-gradient(90deg,#0ea5e9 0%,#0284c7 100%)}.table tbody tr:nth-child(6n+3) .expense-progress-fill{background:linear-gradient(90deg,#10b981 0%,#059669 100%)}.table tbody tr:nth-child(6n+4) .expense-progress-fill{background:linear-gradient(90deg,#f59e0b 0%,#d97706 100%)}.table tbody tr:nth-child(6n+5) .expense-progress-fill{background:linear-gradient(90deg,#ef4444 0%,#dc2626 100%)}.table tbody tr:nth-child(6n) .expense-progress-fill{background:linear-gradient(90deg,#8b5cf6 0%,#7c3aed 100%)}.expenses-overview-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.modal-backdrop{z-index:120;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);width:min(960px,100%);max-height:85vh;padding:16px;overflow:hidden;box-shadow:0 20px 45px #0000004d}.modal-table-wrap{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--text-muted) 42%, transparent 58%) transparent;max-height:calc(85vh - 110px);overflow:auto}.modal-table-wrap::-webkit-scrollbar{width:10px;height:10px}.modal-table-wrap::-webkit-scrollbar-track{background:0 0}.modal-table-wrap::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text-muted) 40%, transparent 60%);background-clip:content-box;border:2px solid #0000;border-radius:999px}.modal-table-wrap::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--text-secondary) 58%, transparent 42%)}.group-pills{flex-wrap:wrap;gap:8px;margin:14px 0 18px;display:flex}.group-pills-toolbar{border:1px solid var(--border);background:var(--bg-surface);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:6px;margin-bottom:10px;padding:10px 12px;display:flex}.group-pills-note{color:var(--text-secondary);font-size:12px;font-weight:500}.group-pill-wrap{align-items:center;display:inline-flex;position:relative}.group-pill-inline-check{appearance:none;border:2px solid var(--text-muted);background:var(--bg-body);cursor:pointer;z-index:2;width:16px;height:16px;transition:border-color var(--transition), background var(--transition), transform var(--transition);border-radius:4px;place-content:center;margin:0;display:grid;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.group-pill-inline-check:before{content:"";clip-path:polygon(14% 44%,0 60%,40% 100%,100% 20%,84% 6%,40% 68%);transform-origin:50%;background:#fff;width:8px;height:8px;transition:transform .14s ease-in-out;transform:scale(0)}.group-pill-inline-check:checked{border-color:var(--accent);background:var(--accent)}.group-pill-inline-check:checked:before{transform:scale(1)}.group-pill-inline-check:focus-visible{box-shadow:0 0 0 2px var(--accent-subtle);outline:none}.group-pill{border:1px solid var(--border);background:var(--bg-surface);font-family:var(--font);color:var(--text-secondary);cursor:pointer;transition:all var(--transition);border-radius:8px;align-items:center;gap:8px;padding:8px 14px 8px 36px;font-size:14px;font-weight:500;display:inline-flex}.group-pill:hover{border-color:var(--border-hover);color:var(--text)}.group-pill.active{border-color:var(--accent);background:var(--accent-subtle);color:var(--accent)}.group-pill.selected-for-delete{box-shadow:0 0 0 1px var(--accent-subtle)}.invite-code-bar{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;padding:12px 16px;display:flex}.invite-code-main{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.invite-code-inline{flex-wrap:wrap;align-items:center;gap:10px;display:inline-flex}.invite-code-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;font-size:12px;font-weight:600}.invite-code-value{letter-spacing:2.5px;color:var(--accent);background:var(--bg-raised);-webkit-user-select:all;user-select:all;cursor:text;border-radius:8px;padding:6px 12px;font-family:JetBrains Mono,Consolas,Courier New,monospace;font-size:15px;font-weight:700}.invite-code-empty{color:var(--text-muted);font-size:13px;font-style:italic}.btn-copy{border:1px solid var(--border);background:var(--bg-surface);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:600;transition:background .15s,color .15s}.btn-copy:hover{background:var(--bg-raised)}.invite-code-actions{flex:none;align-items:center;gap:10px;display:inline-flex}.btn-refresh{border:1px solid var(--border);background:var(--bg-surface);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:5px;padding:6px 12px;font-size:12px;font-weight:600;transition:background .15s;display:inline-flex}.btn-refresh:hover:not(:disabled){background:var(--bg-raised)}.btn-refresh:disabled{opacity:.6;cursor:not-allowed}.refresh-icon{font-size:14px;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.refresh-icon.spinning{animation:.7s linear infinite spin}.admin-badge{color:var(--accent);background:var(--accent-subtle);letter-spacing:.5px;text-transform:uppercase;border-radius:20px;padding:3px 10px;font-size:11px;font-weight:700}.group-cards-container{margin-bottom:24px}.group-cards-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.group-cards-title{color:var(--text);font-size:16px;font-weight:600}.group-cards-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;display:grid}.group-card-item{cursor:pointer;border:2px solid #0000;border-radius:12px;flex-direction:column;justify-content:flex-end;height:120px;padding:16px;transition:transform .2s,box-shadow .2s,filter .2s;display:flex;position:relative;overflow:hidden}.group-card-item:hover{filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 8px 16px #0000004d}.group-card-item.active{border-color:#fff;transform:translateY(-4px);box-shadow:0 12px 24px #0006}.group-card-content{z-index:2;position:relative}.group-card-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 2px 4px #00000080;margin:0 0 4px;font-size:16px;font-weight:700;overflow:hidden}.group-card-members{color:#ffffffe6;text-shadow:0 1px 2px #00000080;font-size:13px;font-weight:500}.group-delete-btn{color:#fff;cursor:pointer;opacity:0;z-index:3;background:#0000004d;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;transition:opacity .2s,background .2s,transform .2s;display:flex;position:absolute;top:8px;right:8px}.group-card-item:hover .group-delete-btn{opacity:1}.group-delete-btn:hover{background:var(--red);transform:scale(1.1)}.group-bg-0{background:linear-gradient(135deg,#ff6b6b,#c0392b)}.group-bg-1{background:linear-gradient(135deg,#4facfe,#00f2fe)}.group-bg-2{background:linear-gradient(135deg,#43e97b,#38f9d7)}.group-bg-3{background:linear-gradient(135deg,#fa709a,#fee140)}.group-bg-4{background:linear-gradient(135deg,#667eea,#764ba2)}.group-bg-5{background:linear-gradient(135deg,#f77062,#fe5196)}.group-bg-6{background:linear-gradient(135deg,#16a085,#f4d03f)}.group-bg-7{background:linear-gradient(135deg,#b224ef,#7579ff)}.group-top-row{gap:16px;margin-bottom:18px;display:flex}.group-top-row>.card{flex:1 1 0;min-width:0;margin-bottom:0}@media (width<=640px){.group-top-row{flex-direction:column}}.pill-count{background:var(--bg-raised);border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:flex}.group-pill.active .pill-count{background:#7c5cfc33}@media (width<=640px){.group-pills-toolbar{align-items:stretch}.group-pills-toolbar .btn{width:100%}}.split-cols{grid-template-columns:1fr 1fr;gap:14px;margin-top:14px;display:grid}.member-list{flex-direction:column;gap:2px;margin-top:10px;list-style:none;display:flex}.member-item{border-radius:var(--radius-sm);transition:background var(--transition);align-items:center;gap:10px;padding:9px 10px;display:flex}.member-item:hover{background:var(--bg-hover)}.avatar{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:flex;overflow:hidden}.avatar-img{object-fit:cover;width:100%;height:100%;display:block}.member-info{flex:1;min-width:0}.member-name{color:var(--text);font-size:14px;font-weight:500}.member-email{color:var(--text-muted);font-size:12px}.you-tag{background:var(--green-subtle);color:var(--green);border-radius:20px;margin-left:5px;padding:1px 7px;font-size:11px;font-weight:600;display:inline-block}.balance-text{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px;font-weight:600}.balance-text.gets{color:var(--green)}.balance-text.owes{color:var(--red)}.balance-text.even{color:var(--text-muted)}.smart-debts{border-top:1px dashed var(--border);margin-top:24px;padding-top:18px}.smart-debts-header{text-align:center;margin-bottom:14px}.smart-debts-title{color:var(--text);font-size:14px;font-weight:600}.smart-debts-sub{color:var(--text-muted);font-size:12px}.debt-list{flex-direction:column;gap:8px;display:flex}.debt-card{border-radius:var(--radius-sm);background:var(--bg-raised);border:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.debt-person{flex-direction:column;align-items:center;gap:6px;width:60px;display:flex}.debt-avatar{background:var(--bg-surface);border:1px solid var(--border);width:32px;height:32px;color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex;overflow:hidden}.debt-avatar-img{object-fit:cover;width:100%;height:100%;display:block}.debt-person.debtor .debt-avatar{border-color:var(--red);color:var(--red);background:var(--red-subtle)}.debt-person.creditor .debt-avatar{border-color:var(--green);color:var(--green);background:var(--green-subtle)}.debt-name{color:var(--text);text-align:center;white-space:nowrap;text-overflow:ellipsis;width:100%;font-size:11px;font-weight:500;overflow:hidden}.debt-arrow{flex-direction:column;flex:1;justify-content:center;align-items:center;min-width:80px;padding:0 10px;display:flex;position:relative}.debt-line{background:linear-gradient(90deg, var(--red) 0%, var(--green) 100%);border-radius:2px;width:100%;height:2px}.debt-arrow-icon{color:var(--green);position:absolute;top:50%;right:5px;transform:translateY(-50%)}.debt-amount{color:var(--text);font-variant-numeric:tabular-nums;background:var(--bg-raised);border-radius:12px;margin-top:6px;padding:0 8px;font-size:13px;font-weight:700}.exp-list{flex-direction:column;gap:6px;margin-top:10px;list-style:none;display:flex}.exp-item{border-radius:var(--radius-sm);background:var(--bg-raised);border:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px;display:flex}.exp-desc{color:var(--text);font-size:14px;font-weight:500}.exp-meta{color:var(--text-muted);margin-top:2px;font-size:12px}.exp-amount{color:var(--text);font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}.exp-item-detailed{align-items:stretch;gap:10px;padding:14px}.exp-item-main{flex:1;min-width:0}.txn-head-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.txn-pill-row{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.txn-type-pill,.txn-date-pill{border-radius:999px;align-items:center;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.txn-type-pill.expense{color:var(--blue);background:#3b82f61f}.txn-type-pill.settlement{color:var(--green);background:#22c55e24}.txn-date-pill{color:var(--text-muted);background:color-mix(in srgb, var(--bg-hover) 72%, var(--bg-surface) 28%)}.txn-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.txn-actions .exp-amount{letter-spacing:-.02em;font-size:clamp(1.45rem,1.1rem + .7vw,2rem);font-weight:800;line-height:1}.txn-meta-grid{grid-template-columns:repeat(3,minmax(150px,1fr));gap:8px 10px;margin-top:10px;display:grid}.txn-meta-item{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-surface) 55%, var(--bg-raised) 45%);border-radius:8px;min-width:0;padding:8px 10px}.txn-meta-item-wide{grid-column:1/-1}.txn-label{letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700;display:block}.txn-value{color:var(--text);word-break:break-word;margin-top:3px;font-size:13px;line-height:1.35;display:block}.exp-more-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;display:flex}.exp-more-hint{color:var(--text-muted);font-size:12px;font-weight:500}.split-tag{border-radius:20px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.split-tag.equal{color:var(--blue);background:#3b82f61f}.split-tag.custom{color:var(--amber);background:#f59e0b1f}.split-checks{flex-direction:column;gap:4px;max-height:180px;margin-top:8px;display:flex;overflow-y:auto}.split-check{border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition);align-items:center;gap:8px;padding:7px 10px;display:flex}.split-check:hover{background:var(--bg-hover)}.split-check input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px}.split-check-label{color:var(--text);font-size:14px}.custom-row{border-radius:var(--radius-sm);background:var(--bg-raised);align-items:center;gap:8px;padding:7px 10px;display:flex}.custom-row .split-check-label{flex:1}.custom-row input[type=number]{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);width:90px;color:var(--text);font-family:var(--font);padding:5px 8px;font-size:16px}@media (width<=900px){.charts-row,.charts-top-row,.split-cols,.expenses-overview-grid{grid-template-columns:1fr}.stats-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}@media (width<=640px){.navbar{padding:0 16px}.home-landing .hero{padding:64px 16px 44px}h1{font-size:2rem}.home-landing .hero-buttons{flex-direction:column;width:100%}.home-landing .hero-buttons .btn{width:100%}.home-landing .features,.home-landing .steps-section,.home-landing .cta-banner{padding-left:16px;padding-right:16px}.home-landing .cta-box{padding:24px 16px}.dashboard{padding:12px}.tab-bar{white-space:nowrap;display:flex;overflow-x:auto}.tab-btn{text-align:center;flex:1;padding:8px 12px}.stats-row{grid-template-columns:1fr 1fr}.card{padding:16px}.card-head{flex-direction:column;align-items:flex-start;gap:10px}.form-row{flex-direction:column;align-items:stretch;gap:12px}.field{min-width:100%;margin-bottom:0}.field .btn{width:100%;margin-top:4px;padding:10px}.field-input,.field-select{padding:11px 12px;font-size:16px}.invite-code-bar{flex-direction:column;align-items:stretch;gap:12px;padding:12px}.invite-code-main{width:100%}.invite-code-inline{align-items:center;width:100%;display:flex}.invite-code-value{text-align:center;flex:1;min-width:0}.invite-code-actions{justify-content:space-between;width:100%}.btn-refresh{flex:1;justify-content:center}.hidden-mobile{display:none!important}.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.table th,.table td{white-space:nowrap;padding:10px}.top-expense-bg-rank{font-size:82px;left:2px}.top-expense-item-ranked{width:calc(100% - 42px);margin-left:42px}.expense-progress-track{width:110px}.exp-item{flex-direction:column;align-items:flex-start;gap:12px}.exp-item>div:last-child{justify-content:space-between;width:100%}.txn-head-row{flex-direction:column;gap:10px;width:100%}.txn-actions{justify-content:space-between;width:100%}.txn-meta-grid{grid-template-columns:1fr;gap:8px}.custom-row{flex-wrap:wrap}.custom-row input[type=number]{flex:1;min-width:100px;padding:9px 12px;font-size:16px}.top-expense-item{flex-direction:column;align-items:flex-start}.top-expense-amount{text-align:right;width:100%}.modal-backdrop{padding:10px}.modal-card{max-height:90vh;padding:12px}}@media (width<=480px){.stats-row{grid-template-columns:1fr}.navbar-brand .logo-text{display:none}}::-webkit-scrollbar{width:7px}::-webkit-scrollbar-track{background:var(--bg-body)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.recharts-default-tooltip{background:var(--bg-raised)!important;border:1px solid var(--border)!important;border-radius:8px!important}.recharts-tooltip-label{color:var(--text-secondary)!important;font-weight:600!important}.recharts-legend-item-text{color:var(--text-secondary)!important;font-size:13px!important}.notif-wrapper{position:relative}.notif-bell-btn{border:1px solid var(--border);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition);background:0 0;border-radius:8px;justify-content:center;align-items:center;display:flex;position:relative}.notif-bell-btn:hover{background:var(--bg-hover);color:var(--text);border-color:var(--border-hover)}.notif-badge{background:var(--red);color:#fff;text-align:center;border-radius:20px;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:700;line-height:18px;animation:.3s cubic-bezier(.34,1.56,.64,1) notifBadgePop;position:absolute;top:-5px;right:-5px;box-shadow:0 2px 8px #ef444466}@keyframes notifBadgePop{0%{transform:scale(0)}70%{transform:scale(1.15)}to{transform:scale(1)}}.notif-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:90;background:#0006;animation:.15s ease-out fadeIn;position:fixed;inset:0}.notif-panel{background:var(--bg-surface);border:1px solid var(--border);z-index:100;border-radius:14px;flex-direction:column;width:420px;max-height:520px;animation:.2s ease-out notifSlideDown;display:flex;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden;box-shadow:0 20px 50px #00000059,0 0 0 1px #ffffff0a}@keyframes notifSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.notif-panel-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 18px 12px;display:flex}.notif-panel-title{color:var(--text);font-size:15px;font-weight:700}.notif-clear-btn{color:var(--accent);font-family:var(--font);cursor:pointer;transition:background var(--transition);background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:600}.notif-clear-btn:hover{background:var(--accent-subtle)}.notif-panel-body{flex:1;padding:10px 12px 14px;overflow-y:auto}.notif-empty{color:var(--text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:32px 16px;font-size:14px;display:flex}.notif-section-label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:4px;padding:6px 6px 4px;font-size:11px;font-weight:700}.notif-card{border:1px solid var(--border);background:var(--bg-raised);transition:background var(--transition), border-color var(--transition);border-radius:10px;align-items:flex-start;gap:12px;margin-bottom:6px;padding:14px;display:flex}.notif-card.pay{border-left:3px solid var(--red)}.notif-card.receive{border-left:3px solid var(--green)}.notif-card.settled{opacity:.55;border-left:3px solid var(--border)}.notif-card:hover{background:var(--bg-hover)}.notif-card-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.notif-card-icon.pay{background:var(--red-subtle);color:var(--red)}.notif-card-icon.receive{background:var(--green-subtle);color:var(--green)}.notif-card-content{flex:1;min-width:0}.notif-card-title{color:var(--text);margin-bottom:4px;font-size:13px;font-weight:700}.notif-settled-label{color:var(--text-muted);font-style:italic}.notif-card-desc{color:var(--text-secondary);word-break:break-word;font-size:13px;line-height:1.5}.notif-card-desc strong{color:var(--text);font-weight:600}.notif-amount{font-variant-numeric:tabular-nums;color:var(--accent)!important}.notif-card-time{color:var(--text-muted);margin-top:6px;font-size:11px}.notif-dismiss-btn{border:1px solid var(--border);width:28px;height:28px;color:var(--green);cursor:pointer;transition:all var(--transition);background:0 0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.notif-dismiss-btn:hover{background:var(--green-subtle);border-color:var(--green)}.notif-member-chips{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.notif-chip{border-radius:20px;align-items:center;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.notif-chip.pending{background:var(--red-subtle);color:var(--red)}.notif-chip.done{background:var(--green-subtle);color:var(--green)}.notif-chip-btn{border:1px solid var(--green);color:var(--green);font-family:var(--font);cursor:pointer;transition:all var(--transition);white-space:nowrap;background:0 0;border-radius:12px;margin-left:6px;padding:1px 8px;font-size:10px;font-weight:700}.notif-chip-btn:hover{background:var(--green);color:#fff}@media (width<=640px){.notif-panel{border-radius:12px;width:auto;max-height:calc(100vh - 80px);position:fixed;top:60px;left:8px;right:8px}}@media (width<=480px){.notif-panel{left:4px;right:4px}.notif-card{gap:8px;padding:10px}.notif-card-desc{font-size:12px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.3s ease-out fadeIn}.member-upi{color:var(--accent);opacity:.85;align-items:center;gap:4px;margin-top:2px;font-size:11px;display:flex}.upi-edit-btn{color:var(--accent);font-size:11px;font-family:var(--font);cursor:pointer;opacity:.7;transition:opacity var(--transition);text-underline-offset:2px;background:0 0;border:none;margin-top:2px;padding:2px 0;text-decoration:underline}.upi-edit-btn:hover{opacity:1}.upi-edit-inline{align-items:center;gap:6px;margin-top:4px;display:flex}.upi-join-step{animation:.25s ease-out fadeIn}.btn-pay{font-family:var(--font);cursor:pointer;color:#fff;background:linear-gradient(135deg,#7c5cfc 0%,#6366f1 50%,#4f46e5 100%);border:none;border-radius:8px;justify-content:center;align-items:center;gap:5px;padding:7px 14px;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex;box-shadow:0 2px 8px #7c5cfc4d}.btn-pay:hover{transform:translateY(-1px);box-shadow:0 4px 14px #7c5cfc73}.btn-pay:active{transform:translateY(0);box-shadow:0 2px 6px #7c5cfc40}.upi-modal{width:92vw;max-width:440px;animation:.25s ease-out fadeIn}.upi-modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.upi-modal-title{color:var(--text);font-size:18px;font-weight:700}.upi-modal-body{flex-direction:column;gap:20px;display:flex}.upi-payment-flow{background:var(--bg-raised);border:1px solid var(--border);border-radius:12px;justify-content:center;align-items:center;gap:12px;padding:20px 16px;display:flex}.upi-flow-person{flex-direction:column;flex:none;align-items:center;gap:6px;display:flex}.upi-flow-avatar{background:var(--accent-subtle);width:44px;height:44px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex;overflow:hidden}.upi-flow-avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.upi-flow-name{color:var(--text);text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:80px;font-size:12px;font-weight:600;overflow:hidden}.upi-flow-arrow{flex-direction:column;flex:auto;align-items:center;gap:4px;display:flex}.upi-flow-amount{color:var(--accent);font-variant-numeric:tabular-nums;font-size:18px;font-weight:800}.upi-actions{flex-direction:column;gap:12px;display:flex}.upi-id-display{background:var(--bg-raised);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;display:flex}.upi-id-label{color:var(--text-muted);flex:0 0 100%;margin-bottom:2px;font-size:12px;font-weight:500}.upi-id-value{color:var(--accent);background:var(--accent-subtle);word-break:break-all;border-radius:6px;flex:auto;padding:4px 10px;font-size:15px;font-weight:600}.btn-upi-launch{width:100%;font-family:var(--font);cursor:pointer;color:#fff;background:linear-gradient(135deg,#7c5cfc 0%,#6366f1 40%,#4f46e5 100%);border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:14px 20px;font-size:15px;font-weight:700;transition:all .2s;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 4px 16px #7c5cfc59}.btn-upi-launch:after{content:"";background:linear-gradient(110deg,#0000 20%,#ffffff2e 50%,#0000 80%);transition:transform .62s;position:absolute;inset:-1px;transform:translate(-130%)}.btn-upi-launch:hover:after{transform:translate(130%)}.btn-upi-launch:hover{transform:translateY(-1px);box-shadow:0 6px 22px #7c5cfc80}.btn-upi-launch:active{transform:translateY(0);box-shadow:0 3px 12px #7c5cfc4d}.upi-hint{color:var(--text-muted);text-align:center;font-size:12px;line-height:1.4}.upi-divider{align-items:center;gap:12px;margin:4px 0;display:flex}.upi-divider:before,.upi-divider:after{content:"";background:var(--border);flex:1;height:1px}.upi-divider span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;font-size:11px;font-weight:500}.upi-no-id{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:16px;display:flex}.upi-no-id-icon{opacity:.6}.upi-no-id-text{color:var(--text-muted);font-size:13px;line-height:1.5}.upi-no-id-text strong{color:var(--text)}@media (width<=480px){.upi-modal{width:96vw;padding:16px}.upi-payment-flow{gap:8px;padding:14px 10px}.upi-flow-avatar{width:36px;height:36px;font-size:12px}.upi-flow-amount{font-size:16px}.upi-flow-name{max-width:60px;font-size:11px}.btn-upi-launch{padding:12px 16px;font-size:14px}}.btn-qr{background:var(--bg-raised);border:1px solid var(--border);color:var(--text-secondary);font-family:var(--font);cursor:pointer;transition:all var(--transition);border-radius:6px;align-items:center;gap:5px;padding:5px 12px;font-size:12px;font-weight:600;display:inline-flex}.btn-qr:hover{background:var(--bg-hover);color:var(--text);border-color:var(--border-hover)}.btn-qr.active{background:var(--accent-subtle);border-color:var(--accent);color:var(--accent)}.qr-panel{margin-bottom:8px;animation:.3s ease-out qrSlideIn}@keyframes qrSlideIn{0%{opacity:0;max-height:0;transform:translateY(-8px)}to{opacity:1;max-height:300px;transform:translateY(0)}}.qr-card{border-radius:var(--radius);background:var(--bg-surface);border:1px solid var(--border);border-left:3px solid var(--accent);align-items:center;gap:24px;padding:20px 24px;display:flex}.qr-code-wrap{border-radius:12px;flex-shrink:0;line-height:0;overflow:hidden;box-shadow:0 4px 16px #00000026}.qr-info{flex-direction:column;gap:6px;display:flex}.qr-info-title{color:var(--text);font-size:15px;font-weight:600}.qr-info-title strong{color:var(--accent)}.qr-info-sub{color:var(--text-muted);font-size:13px;line-height:1.4}.qr-code-text{align-items:center;gap:8px;margin-top:4px;display:flex}.qr-code-label{color:var(--text-muted);font-size:12px;font-weight:500}.qr-code-text .qr-code-value{color:var(--accent);background:var(--accent-subtle);letter-spacing:.03em;border-radius:6px;padding:3px 10px;font-family:monospace;font-size:14px;font-weight:700}@media (width<=640px){.qr-card{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:18px}.qr-info{align-items:center}.qr-code-text{justify-content:center}}@media (width<=480px){.qr-code-wrap svg{width:140px;height:140px}.invite-code-inline{flex-wrap:wrap;gap:6px}}.qr-share-actions{gap:8px;margin-top:10px;display:flex}.btn-qr-share,.btn-qr-download{font-family:var(--font);cursor:pointer;transition:all var(--transition);border-radius:8px;align-items:center;gap:5px;padding:7px 14px;font-size:12px;font-weight:600;display:inline-flex}.btn-qr-share{background:var(--accent);color:#fff;border:none;box-shadow:0 2px 8px #7c5cfc4d}.btn-qr-share:hover{transform:translateY(-1px);box-shadow:0 4px 14px #7c5cfc73}.btn-qr-download{background:var(--bg-raised);color:var(--text);border:1px solid var(--border)}.btn-qr-download:hover{background:var(--bg-hover);border-color:var(--border-hover)}@media (width<=640px){.qr-share-actions{justify-content:center}}.btn-scan{font-family:var(--font);cursor:pointer;border:1px solid var(--accent);background:var(--accent-subtle);color:var(--accent);transition:all var(--transition);border-radius:8px;justify-content:center;align-items:center;gap:5px;padding:9px 14px;font-size:13px;font-weight:600;display:inline-flex}.btn-scan:hover{background:var(--accent);color:#fff;box-shadow:0 2px 10px #7c5cfc4d}.scanner-modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;justify-content:center;align-items:center;padding:20px;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.scanner-modal{background:var(--bg-surface);border:1px solid var(--border);border-radius:16px;width:100%;max-width:420px;animation:.25s ease-out fadeIn;overflow:hidden;box-shadow:0 20px 60px #0006}.scanner-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.scanner-title{color:var(--text);font-size:16px;font-weight:700}.scanner-body{flex-direction:column;align-items:center;gap:14px;padding:20px;display:flex}.scanner-viewport{aspect-ratio:1;background:#000;border-radius:12px;width:100%;max-width:320px;position:relative;overflow:hidden}.scanner-viewport>div:first-child{width:100%!important;height:100%!important}.scanner-viewport video{border-radius:12px;object-fit:cover!important;width:100%!important;height:100%!important}.scanner-frame{pointer-events:none;z-index:10;position:absolute;inset:0}.scanner-corner{border-color:var(--accent);border-style:solid;border-width:0;width:28px;height:28px;position:absolute}.scanner-corner.tl{border-top-width:3px;border-left-width:3px;border-top-left-radius:8px;top:20%;left:20%}.scanner-corner.tr{border-top-width:3px;border-right-width:3px;border-top-right-radius:8px;top:20%;right:20%}.scanner-corner.bl{border-bottom-width:3px;border-left-width:3px;border-bottom-left-radius:8px;bottom:20%;left:20%}.scanner-corner.br{border-bottom-width:3px;border-right-width:3px;border-bottom-right-radius:8px;bottom:20%;right:20%}.scanner-frame:after{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);height:2px;box-shadow:0 0 8px var(--accent);border-radius:2px;animation:2s ease-in-out infinite scanLine;position:absolute;left:22%;right:22%}@keyframes scanLine{0%,to{top:22%}50%{top:75%}}.scanner-error{background:var(--red-subtle);border:1px solid var(--red);color:var(--red);border-radius:8px;align-items:center;gap:8px;width:100%;max-width:320px;padding:10px 14px;font-size:13px;line-height:1.4;display:flex}.scanner-hint{color:var(--text-muted);text-align:center;font-size:13px}@media (width<=480px){.scanner-modal-backdrop{padding:10px}.scanner-modal{border-radius:12px}.scanner-body{padding:14px}.scanner-viewport{max-width:280px}}.custom-form-dropdown{width:100%;position:relative}.form-dropdown-trigger{background:var(--bg-surface);border:1px solid var(--border);width:100%;font-family:var(--font);color:var(--text);cursor:pointer;transition:border-color var(--transition), box-shadow var(--transition);border-radius:8px;justify-content:space-between;align-items:center;padding:10px 14px;font-size:14px;display:flex}.form-dropdown-trigger:hover{border-color:var(--border-hover)}.form-dropdown-trigger.open{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-subtle)}.form-dropdown-text{text-align:left;white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.form-dropdown-arrow{color:var(--text-muted);flex-shrink:0;margin-left:8px;font-size:12px}.form-dropdown-menu{background:var(--bg-raised);border:1px solid var(--border);z-index:50;border-radius:8px;max-height:240px;padding:6px;animation:.15s ease-out slideDown;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 10px 25px #00000080}.form-dropdown-option{text-align:left;width:100%;font-family:var(--font);color:var(--text);cursor:pointer;transition:all var(--transition);background:0 0;border:none;border-radius:6px;padding:8px 12px;font-size:14px}.form-dropdown-option:hover{background:var(--bg-hover)}.form-dropdown-option.active{background:var(--accent);color:#fff;font-weight:500}.split-check{border:1px solid var(--border);background:var(--bg-surface);cursor:pointer;transition:border-color var(--transition), background var(--transition);border-radius:8px;align-items:flex-start;gap:12px;margin-bottom:8px;padding:12px 14px;display:flex}.split-check:hover{border-color:var(--border-hover);background:var(--bg-hover)}.checkbox-wrapper{flex-shrink:0;width:20px;height:20px;margin-top:2px;position:relative}.custom-checkbox{opacity:0;cursor:pointer;width:0;height:0;position:absolute}.checkbox-box{background-color:var(--bg-body);border:2px solid var(--border-hover);border-radius:4px;justify-content:center;align-items:center;width:20px;height:20px;transition:all .2s;display:flex;position:absolute;top:0;left:0}.custom-checkbox:checked~.checkbox-box{background-color:var(--accent);border-color:var(--accent)}.custom-checkbox:focus-visible~.checkbox-box{outline:2px solid var(--accent-subtle);outline-offset:2px}.checkbox-box svg{color:#fff;opacity:0;width:14px;height:14px;transition:all .2s;transform:scale(.5)}.custom-checkbox:checked~.checkbox-box svg{opacity:1;transform:scale(1)}.split-check-label{color:var(--text);margin-bottom:2px;font-size:14px;font-weight:500}.split-check-email{color:var(--text-muted);font-size:12px}.form-dropdown-menu,.split-checks{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--text-muted) 42%, transparent 58%) transparent}.form-dropdown-menu::-webkit-scrollbar{width:10px;height:10px}.split-checks::-webkit-scrollbar{width:10px;height:10px}.form-dropdown-menu::-webkit-scrollbar-track{background:0 0}.split-checks::-webkit-scrollbar-track{background:0 0}.form-dropdown-menu::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text-muted) 40%, transparent 60%);background-clip:content-box;border:2px solid #0000;border-radius:999px}.split-checks::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text-muted) 40%, transparent 60%);background-clip:content-box;border:2px solid #0000;border-radius:999px}.form-dropdown-menu::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--text-secondary) 58%, transparent 42%)}.split-checks::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--text-secondary) 58%, transparent 42%)}.form-dropdown-menu::-webkit-scrollbar-button{display:none}.split-checks::-webkit-scrollbar-button{display:none}.analytics-dashboard{animation:.42s both introRise}.ana-mode-switch{border:1px solid var(--border);background:var(--bg-surface);border-radius:10px;gap:6px;margin-bottom:14px;padding:4px;display:inline-flex}.ana-mode-btn{color:var(--text-muted);font-family:var(--font);cursor:pointer;transition:all var(--transition);background:0 0;border:none;border-radius:8px;padding:8px 12px;font-size:13px;font-weight:600}.ana-mode-btn:hover{color:var(--text);background:var(--bg-hover)}.ana-mode-btn.active{background:var(--accent);color:#fff}.ana-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.ana-rate-info{color:var(--text-muted);word-wrap:break-word;overflow-wrap:break-word;flex:1;min-width:0;font-size:12px}.ana-rate-info.error{color:var(--red)}.analytics-empty{text-align:center;min-height:300px;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;display:flex}.ana-section-header{align-items:center;gap:12px;margin-top:8px;margin-bottom:16px;display:flex}.ana-section-icon{background:var(--accent-subtle);width:36px;height:36px;color:var(--accent);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.ana-section-title{color:var(--text);letter-spacing:-.01em;font-size:16px;font-weight:700}.ana-section-sub{color:var(--text-muted);font-size:13px;font-weight:400}.ana-kpi-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px;display:grid}.ana-kpi{border-radius:var(--radius);background:var(--bg-surface);border:1px solid var(--border);transition:border-color var(--transition), box-shadow var(--transition), transform var(--transition);align-items:flex-start;gap:14px;padding:18px 16px;animation:.48s cubic-bezier(.22,1,.36,1) both cardLiftIn;display:flex;position:relative;overflow:hidden}.ana-kpi:after{content:"";background:linear-gradient(90deg,#7c5cfcb3,#3b82f673);height:2px;position:absolute;top:0;left:0;right:0}.ana-kpi:first-child{animation-delay:30ms}.ana-kpi:nth-child(2){animation-delay:80ms}.ana-kpi:nth-child(3){animation-delay:.13s}.ana-kpi:nth-child(4){animation-delay:.18s}.ana-kpi:hover{border-color:var(--accent-soft);transform:translateY(-2px);box-shadow:0 6px 20px #0000001a}.ana-kpi-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.ana-kpi-body{min-width:0}.ana-kpi-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:3px;font-size:11px;font-weight:600}.ana-kpi-value{font-variant-numeric:tabular-nums;margin-bottom:4px;font-size:1.3rem;font-weight:700;line-height:1.2}.ana-kpi-badge{border-radius:20px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.ana-kpi-badge.negative{color:var(--red);background:var(--red-subtle)}.ana-kpi-badge.positive{color:var(--green);background:var(--green-subtle)}.ana-kpi-hint{color:var(--text-muted);font-size:12px;font-weight:500}.ana-metrics-bar{border-radius:var(--radius);background:var(--bg-surface);border:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0;margin-bottom:24px;padding:14px 24px;animation:.48s cubic-bezier(.22,1,.36,1) .22s both cardLiftIn;display:flex;box-shadow:inset 0 1px #ffffff05}.ana-metric{flex:1;align-items:center;gap:10px;min-width:0;padding:6px 8px;display:flex}.ana-metric-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.ana-metric-icon.purple{background:var(--accent-subtle);color:var(--accent)}.ana-metric-icon.amber{color:var(--amber);background:#f59e0b1f}.ana-metric-icon.blue{color:var(--blue);background:#3b82f61f}.ana-metric-icon.green{background:var(--green-subtle);color:var(--green)}.ana-metric-icon.red{background:var(--red-subtle);color:var(--red)}.ana-metric-val{color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:-.01em;font-size:1.1rem;font-weight:700;line-height:1}.ana-metric-label{color:var(--text-muted);white-space:nowrap;font-size:11px;font-weight:500}.ana-metric--annual{min-width:170px}.ana-metric-val--annual{letter-spacing:-.02em;font-size:1.25rem}.ana-metrics-divider{background:var(--border);flex-shrink:0;width:1px;height:28px;margin:0 4px}.ana-row{margin-bottom:14px}.ana-two-col{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;display:grid}.ana-chart-card{flex-direction:column;display:flex}.ana-gauge-center{text-align:center;pointer-events:none;margin-top:-85px;position:relative}.ana-gauge-pct{color:var(--accent);font-size:22px;font-weight:800;line-height:1}.ana-gauge-label{color:var(--text-muted);margin-top:2px;font-size:11px;font-weight:500}.ana-proj-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:7px 0;display:flex}.ana-proj-row:last-child{border-bottom:none}.ana-proj-label{color:var(--text-secondary);font-size:13px;font-weight:500}.ana-proj-val{color:var(--text);font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.ana-top-list{flex-direction:column;gap:6px;display:flex}.ana-top-item{border-radius:var(--radius-sm);background:var(--bg-raised);transition:border-color var(--transition), background var(--transition);border:1px solid #0000;align-items:center;gap:12px;padding:10px 12px;display:flex}.ana-top-item:hover{border-color:var(--border);background:var(--bg-hover)}.ana-top-rank{background:var(--accent-subtle);width:24px;height:24px;color:var(--accent);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.ana-top-info{flex:1;min-width:0}.ana-top-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.ana-top-cat{color:var(--text-muted);font-size:12px}.ana-top-amount{color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14px;font-weight:700}.ana-cat-card{margin-bottom:24px;animation:.48s cubic-bezier(.22,1,.36,1) .3s both cardLiftIn}.ana-cat-list{flex-direction:column;gap:10px;display:flex}.ana-cat-row{border-radius:var(--radius-sm);background:var(--bg-raised);transition:border-color var(--transition), background var(--transition);border:1px solid #0000;grid-template-columns:1fr auto;align-items:center;gap:10px 18px;padding:12px 14px;display:grid}.ana-cat-row:hover{border-color:var(--border);background:var(--bg-hover)}.ana-cat-left{align-items:center;gap:12px;min-width:0;display:flex}.ana-cat-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.ana-cat-name{color:var(--text);font-size:14px;font-weight:600}.ana-cat-meta{color:var(--text-muted);font-size:12px}.ana-cat-right{text-align:right}.ana-cat-amount{color:var(--text);font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}.ana-cat-pct{color:var(--text-muted);font-size:12px;font-weight:600}.ana-cat-bar-track{background:color-mix(in srgb, var(--bg-raised) 60%, var(--text-muted) 15%);border-radius:999px;grid-column:1/-1;height:4px;overflow:hidden}.ana-cat-bar-fill{border-radius:inherit;height:100%;transition:width .7s cubic-bezier(.22,1,.36,1)}.ana-gauge-container{align-items:center;gap:16px;padding:12px 0;display:flex}.ana-gauge-dial{flex-shrink:0;width:130px;height:130px}.ana-gauge-stats{flex:1;min-width:0}.ana-donut-area{justify-content:center;align-items:center;height:280px;display:flex}.ana-donut-legend .recharts-legend-item{margin-bottom:4px}.ana-chart-wrapper{width:100%;height:100%;position:relative}.ana-pace-progress-row{margin-bottom:14px}.ana-pace-card,.ana-progress-card{flex-direction:column;display:flex}.chart-area--pace,.chart-area--progress{height:200px;position:relative}.chart-inner--pace,.chart-inner--progress{width:100%;min-width:100%;height:100%}.ana-pace-summary{border-top:1px solid var(--border);flex-wrap:wrap;gap:12px 24px;margin-top:12px;padding:12px 0 0;display:flex}.ana-pace-stat{align-items:center;gap:8px;font-size:13px;display:flex}.ana-pace-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.ana-pace-label{color:var(--text-muted);font-weight:500}.ana-pace-val{color:var(--text);font-variant-numeric:tabular-nums;font-weight:700}.ana-progress-center{text-align:center;pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ana-progress-pct{color:var(--accent);font-size:28px;font-weight:800;line-height:1}.ana-progress-label{color:var(--text-muted);margin-top:4px;font-size:11px;font-weight:500}.ana-progress-details{border-top:1px solid var(--border);flex-direction:column;gap:8px;margin-top:12px;padding:12px 0 0;display:flex}.ana-progress-row{justify-content:space-between;align-items:center;display:flex}.ana-progress-detail-label{color:var(--text-muted);font-size:13px;font-weight:500}.ana-progress-detail-val{color:var(--text);font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}@media (width<=1024px){.ana-two-col{grid-template-columns:1fr}}@media (width<=768px){.dashboard{padding:16px 16px 32px}.ana-two-col{grid-template-columns:1fr;gap:14px}.ana-metrics-bar{flex-wrap:wrap;gap:12px}.ana-metric{flex:0 0 calc(50% - 6px)}.ana-metric--annual{flex-basis:100%}.ana-gauge-container{flex-wrap:wrap;justify-content:center}.ana-section-title{font-size:15px}.ana-proj-label{font-size:12px}.ana-proj-val{font-size:13px}.ana-pace-progress-row{grid-template-columns:1fr!important;gap:14px!important;display:grid!important}.ana-pace-summary{flex-wrap:wrap}.ana-progress-pct{font-size:24px}}@media (width<=640px){.dashboard{padding:10px 10px 24px}.ana-mode-switch{grid-template-columns:1fr 1fr;width:100%;display:grid}.ana-mode-btn{text-align:center;width:100%;padding:8px 6px;font-size:12px}.ana-kpi-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:10px}.ana-kpi{flex-direction:row;align-items:center;gap:9px;min-height:92px;padding:11px 10px}.ana-kpi:after{height:1px}.ana-kpi-icon{border-radius:8px;width:32px;height:32px}.ana-kpi-icon svg{width:16px;height:16px}.ana-kpi-label{margin-bottom:2px;font-size:9px;line-height:1.15}.ana-kpi-value{margin-bottom:2px;font-size:1rem;line-height:1.15}.ana-kpi-hint{font-size:10px;line-height:1.25}.ana-kpi-badge{padding:2px 6px;font-size:10px}.ana-two-col{grid-template-columns:1fr;gap:10px}.ana-metrics-bar{border-radius:12px;grid-template-columns:1fr 1fr;gap:8px;padding:10px;display:grid}.ana-metrics-divider{display:none}.ana-metric{background:linear-gradient(180deg, color-mix(in srgb, var(--bg-raised) 88%, var(--bg-surface) 12%), var(--bg-raised));border-radius:var(--radius-sm);border:1px solid color-mix(in srgb, var(--border) 82%, transparent 18%);flex:none;min-height:54px;padding:10px 8px}.ana-metric-val{font-size:.95rem}.ana-metric-label{font-size:10px;line-height:1.2}.ana-metric-icon{border-radius:6px;width:28px;height:28px}.ana-metric--annual{text-align:center;grid-column:1/-1;justify-content:center;gap:10px}.ana-metric--annual .ana-metric-label{white-space:normal}.ana-metric-val--annual{font-size:1.12rem}.ana-gauge-container{flex-direction:column;align-items:center;gap:16px;padding:8px 0}.ana-gauge-dial{width:120px;height:120px}.ana-gauge-stats{width:100%}.ana-donut-area{height:300px}.ana-proj-label{font-size:12px}.ana-proj-val{font-size:13px}.ana-section-header{gap:8px;margin-bottom:10px}.ana-section-title{font-size:14px}.ana-section-sub{font-size:11px}.ana-cat-name,.ana-cat-amount{font-size:13px}.ana-cat-row{padding:10px}.ana-top-name,.ana-top-amount{font-size:13px}.ana-pace-progress-row{grid-template-columns:1fr!important;gap:10px!important;display:grid!important}.ana-pace-card,.ana-progress-card{width:100%}.ana-pace-summary{flex-direction:column;gap:8px;margin-top:10px;padding:10px 0 0}.ana-pace-stat{flex-wrap:wrap;gap:6px;font-size:12px}.ana-pace-label{font-size:11px}.ana-pace-val{font-size:12px}.ana-pace-dot{width:8px;height:8px}.ana-progress-center{top:50%;left:50%}.ana-progress-pct{font-size:20px}.ana-progress-label{font-size:9px}.ana-progress-details{gap:6px;margin-top:10px;padding:10px 0 0}.ana-progress-detail-label{font-size:11px}.ana-progress-detail-val{font-size:12px}.card{padding:14px}.card-head{margin-bottom:12px}.card-title{font-size:14px}.card-sub{font-size:11px}.ana-row,.ana-cat-card{margin-bottom:10px}}@media (width<=480px){.nav-actions .btn .hidden-sm{display:none}.tab-bar{width:100%;display:flex}.tab-btn{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;min-width:0;padding:7px 2px;font-size:10px;display:flex}.tab-btn svg{width:14px;height:14px;margin-right:0!important}.nav{height:52px;padding:0 12px}.nav-logo{font-size:15px}.ana-kpi-grid{grid-template-columns:repeat(2,1fr);gap:6px}.ana-kpi{gap:7px;min-height:88px;padding:10px 8px}.ana-kpi-icon{width:30px;height:30px}.ana-kpi-value{font-size:.95rem}.ana-metrics-bar{grid-template-columns:1fr 1fr;gap:6px;padding:8px}.ana-metric{gap:8px;min-height:50px;padding:8px 7px}.ana-metric-icon{width:24px;height:24px}.ana-metric-val{font-size:.9rem}.ana-metric-label{font-size:9px}.ana-metric-val--annual{font-size:1.02rem}.ana-pace-progress-row{grid-template-columns:1fr!important;gap:8px!important;display:grid!important}.ana-pace-summary{gap:6px;margin-top:8px;padding:8px 0 0}.ana-pace-stat{font-size:11px}.ana-pace-label{font-size:10px}.ana-pace-val{font-size:11px}.ana-progress-pct{font-size:18px}.ana-progress-label{font-size:8px}.ana-progress-details{gap:5px;margin-top:8px;padding:8px 0 0}.ana-progress-detail-label{font-size:10px}.ana-progress-detail-val{font-size:11px}}@media (width<=390px){.dashboard{padding:8px 8px 20px}.ana-kpi-grid{gap:5px}.ana-kpi{gap:6px;padding:8px}.ana-kpi-icon{border-radius:7px;width:28px;height:28px}.ana-kpi-icon svg{width:14px;height:14px}.ana-kpi-value{font-size:.9rem}.ana-kpi-label{font-size:9px}.card{padding:10px}.card-title{font-size:13px}.ana-pace-stat,.ana-pace-label,.ana-pace-val{font-size:10px}.ana-progress-pct{font-size:16px}.ana-progress-detail-label,.ana-progress-detail-val{font-size:10px}}.chart-area--sm{height:240px}.chart-area--bar{height:300px}.chart-area--area{height:280px}.chart-area--lg{height:320px}.chart-area--donut{height:280px}.chart-area--pace{height:200px}.chart-area--progress{height:200px;position:relative}.chart-scroll-wrapper{width:100%;height:100%;overflow:hidden}.chart-inner-container{width:100%;height:100%}@media (width<=640px){.chart-scroll-wrapper{-webkit-overflow-scrolling:touch;scrollbar-width:auto;scrollbar-color:var(--accent) var(--bg-raised);padding-bottom:12px;overflow-x:scroll!important}.chart-scroll-wrapper::-webkit-scrollbar{height:10px!important;display:block!important}.chart-scroll-wrapper::-webkit-scrollbar-track{background:var(--bg-raised);border-radius:10px}.chart-scroll-wrapper::-webkit-scrollbar-thumb{background:var(--accent);border-radius:10px;min-width:60px}.chart-scroll-wrapper::-webkit-scrollbar-thumb:hover{background:var(--accent-hover,#9f7afa)}.chart-inner-container{flex-shrink:0;width:550px!important;min-width:550px!important}.chart-inner--bar{width:480px!important;min-width:480px!important}.chart-inner--area{width:550px!important;min-width:550px!important}.chart-inner--week,.chart-inner--donut,.chart-inner--pace,.chart-inner--progress{width:100%!important;min-width:100%!important}.chart-area--sm{height:200px}.chart-area--bar{height:240px}.chart-area--area{height:220px}.chart-area--lg{height:260px}.chart-area--donut{height:290px}.chart-area--pace{height:220px}.chart-area--progress{height:200px}}@media (width<=480px){.chart-area--sm{height:180px}.chart-area--bar{height:210px}.chart-area--area{height:200px}.chart-area--lg{height:230px}.chart-area--donut{height:270px}.chart-area--pace{height:200px}.chart-area--progress{height:190px}.chart-inner--pace,.chart-inner--progress,.chart-inner--donut{width:100%!important;min-width:100%!important}}.analytics-dashboard{max-width:100%;overflow-x:hidden}@media (width<=640px){.card-head{flex-direction:column;align-items:flex-start;gap:8px}.card-head>div:first-child{width:100%;min-width:0}.card-title{word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.card-sub{word-wrap:break-word;overflow-wrap:break-word}.filter-pills{justify-content:center;width:100%}.pill{text-align:center;flex:1;min-width:0;padding:6px 8px;font-size:11px}.ana-section-header{flex-wrap:wrap;min-width:0}.ana-section-header>div:last-child{flex:1;min-width:0}.ana-section-title,.ana-section-sub{word-wrap:break-word;overflow-wrap:break-word}.ana-header-row{flex-direction:column;align-items:stretch;gap:8px}.ana-rate-info{font-size:11px;line-height:1.4}.ana-gauge-container{padding:0}.ana-gauge-dial{margin:0 auto}.ana-gauge-center{transform:translate(-50%,-50%)scale(.9)}.ana-gauge-pct{font-size:1.4rem}.ana-gauge-label{font-size:11px}.ana-proj-row{padding:8px 0}.ana-top-item{gap:8px;padding:10px 8px}.ana-top-rank{flex-shrink:0;width:22px;height:22px;font-size:10px}.ana-top-info{flex:1;min-width:0}.ana-top-name,.ana-top-cat{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ana-top-amount{flex-shrink:0;font-size:12px}.ana-cat-row{flex-wrap:wrap;gap:8px}.ana-cat-left{flex:100%}.ana-cat-right{flex:100%;justify-content:space-between}.ana-cat-bar-track{flex:100%;margin-top:4px}.ana-cat-name{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}}@media (width<=480px){.pill{padding:5px 6px;font-size:10px}.ana-section-icon{border-radius:8px;width:30px;height:30px}.ana-section-icon svg{width:14px;height:14px}.ana-donut-area .recharts-legend-wrapper{font-size:10px!important}.ana-donut-legend .recharts-legend-item{margin-right:8px!important}.ana-gauge-dial{width:100px;height:100px}.ana-gauge-pct{font-size:1.2rem}.ana-gauge-label{font-size:10px}.ana-cat-row{padding:8px}.ana-cat-name{max-width:150px;font-size:12px}.ana-cat-amount{font-size:12px}.ana-cat-pct{font-size:11px}.ana-cat-meta{font-size:10px}.ana-top-name{font-size:12px}.ana-top-cat{font-size:10px}}@media (width<=390px){.ana-gauge-dial{width:90px;height:90px}.ana-gauge-pct{font-size:1rem}.ana-cat-name{max-width:120px}.ana-proj-label{font-size:11px}.ana-proj-val{font-size:12px}}
