:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111420;--panel:#111420;--panel-soft:#171b2b;--text:#eff2ff;--muted:#9ea7c2;--accent:#5c83ff;--accent-soft:#2b3d85;--success:#39d499;--danger:#ff6f8f;--radius:18px;--card-1:#1a2036;--card-2:#151b2f;--card-border:#2b3964}*{box-sizing:border-box}html{background:var(--bg);overscroll-behavior-x:none;min-height:100%;overflow-x:hidden}body{background:var(--bg);min-height:100dvh;color:var(--text);overscroll-behavior-x:none;width:100%;margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;position:relative;overflow-x:hidden}.app-shell{isolation:isolate;max-width:1080px;padding:calc(1.8rem + env(safe-area-inset-top)) 1.8rem calc(6.2rem + env(safe-area-inset-bottom));width:100%;margin:0 auto;position:relative;overflow-x:clip}.app-shell:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(760px 470px at 50% 200px,#374e94c7 0%,#2c3e7a6b 30%,#11142000 72%);height:620px;position:fixed;top:0;left:0;right:0;-webkit-mask-image:linear-gradient(#000 0% 55%,#0000 100%);mask-image:linear-gradient(#000 0% 55%,#0000 100%)}.app-shell>*{z-index:1;position:relative}.orientation-lock{background:var(--bg);color:var(--text);text-align:center;z-index:999;justify-content:center;align-items:center;padding:2rem;display:none;position:fixed;inset:0}.orientation-lock div{border:1px solid var(--card-border);background:linear-gradient(150deg,#1b2440 0%,#18203a 55%,#141a31 100%);border-radius:22px;gap:.65rem;max-width:360px;padding:1.4rem;display:grid;box-shadow:0 24px 70px #0000006b}.orientation-lock strong{font-size:1.05rem}.orientation-lock span{color:var(--muted);font-size:.9rem}@media (orientation:landscape) and (max-height:520px){.orientation-lock{display:flex}body{overflow:hidden}}.pull-refresh-indicator{color:#dce5ff;pointer-events:none;left:50%;top:calc(.65rem + env(safe-area-inset-top));z-index:50;background:#151c33db;border:1px solid #5b71bb6b;border-radius:999px;padding:.42rem .75rem;font-size:.78rem;font-weight:700;transition:opacity .14s,transform .14s,border-color .14s;position:fixed;transform:translate(-50%);box-shadow:0 12px 32px #0000003d}.pull-refresh-indicator.ready{color:#f1f5ff;border-color:#8eaaffc7}.app-header{justify-content:space-between;align-items:center;display:flex}.app-header h1{margin:.25rem 0 0;font-size:clamp(1.35rem,2vw,2rem)}.header-nav{gap:.45rem;margin-top:.55rem;display:flex}.header-nav-link{color:#bfcaea;border:1px solid #2b3558;border-radius:999px;padding:.28rem .62rem;font-size:.78rem;font-weight:700;text-decoration:none}.header-nav-link.active{color:#eef2ff;background:#243764;border-color:#5071ce}.header-nav-link:hover{color:#f2f5ff;border-color:#4f67b5}.desktop-only-nav,.desktop-only-settings{display:none}.header-icon-link{color:#d5defe;border:1px solid #2b3558;border-radius:999px;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;text-decoration:none;display:inline-flex}.header-icon-link:hover{color:#f2f5ff;border-color:#4f67b5}.header-refresh-btn{color:#d5defe;cursor:pointer;background:0 0;border:1px solid #2b3558;border-radius:999px;justify-content:center;align-self:flex-start;align-items:center;width:36px;height:36px;transition:border-color .15s,color .15s;display:inline-flex}.header-refresh-btn:hover:not(:disabled){color:#f2f5ff;border-color:#4f67b5}.header-refresh-btn:disabled{cursor:default;opacity:.7}.header-refresh-icon{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:18px;height:18px}.header-refresh-btn[data-syncing=true] .header-refresh-icon{transform-origin:50%;animation:.8s linear infinite header-refresh-spin}@keyframes header-refresh-spin{to{transform:rotate(360deg)}}.mobile-liquid-nav{-webkit-backdrop-filter:blur(28px)saturate(220%);backdrop-filter:blur(28px)saturate(220%);bottom:max(.35rem, env(safe-area-inset-bottom));z-index:90;background:linear-gradient(175deg,#4a68bf59 0%,#1d2a549e 46%,#0e152ac2 100%);border:1px solid #98b2ff5c;border-radius:26px;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:.25rem;width:calc(100vw - 1.2rem);max-width:min(430px,100vw - 1.2rem);padding:.4rem .4rem .35rem;display:grid;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 18px 48px #0000006b,inset 0 1px #e1eaff47,inset 0 -10px 28px #94b3ff17}.mobile-liquid-nav:before,.mobile-liquid-nav:after{content:"";pointer-events:none;position:absolute}.mobile-liquid-nav:before{border-radius:inherit;background:linear-gradient(#eff5ff6b 0%,#eff5ff12 56%,#0000 100%);padding:1px;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.mobile-liquid-nav:after{filter:blur(10px);background:radial-gradient(45% 70% at 50% 100%,#648fff57 0%,#648fff00 100%);height:36px;bottom:-22px;left:16%;right:16%}.mobile-liquid-link{color:#cfd8fb;border:1px solid #0000;border-radius:18px;place-items:center;gap:.12rem;min-height:56px;padding:.26rem .14rem .18rem;text-decoration:none;transition:background .16s,border-color .16s,color .16s,transform .16s,box-shadow .18s;display:grid;position:relative}.mobile-liquid-link:before{border-radius:inherit;content:"";opacity:0;background:linear-gradient(168deg,#9eb7ff47 0%,#5d7eeb38 100%);border:1px solid #bacfff73;transition:opacity .18s,transform .22s;position:absolute;inset:0;transform:scale(.92);box-shadow:0 8px 18px #1e347e52,inset 0 1px #f5faff29}.mobile-liquid-label{letter-spacing:0;opacity:.92;z-index:1;font-size:.72rem;font-weight:650;position:relative}.mobile-liquid-link:active{transform:translateY(1px)scale(.985)}.mobile-liquid-icon{z-index:1;justify-content:center;align-items:center;width:23px;height:23px;display:inline-flex;position:relative}.mobile-liquid-orb{box-shadow:none;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;width:32px;height:32px;transition:background .17s,border-color .17s,box-shadow .18s;display:inline-flex;position:relative}.mobile-liquid-icon svg{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.85px;width:21px;height:21px}.mobile-liquid-link.active:before{opacity:1;transform:scale(1)}.mobile-liquid-link.active .mobile-liquid-orb{box-shadow:none;background:0 0}.mobile-liquid-link.active{box-shadow:none;color:#f2f6ff;border-color:#0000}.mobile-liquid-link:not(.active):hover{color:#e6edff;background:#5f7ad614;border-color:#7890e642}.sync-button,.secondary-button{color:var(--text);cursor:pointer;background:#1b2442;border:1px solid #2a3765;border-radius:999px;padding:.55rem .9rem;font-weight:600}.dashboard-body{margin-top:1.35rem}.dashboard-section,.panel-with-skeleton{position:relative}.dashboard-section.overlay-open,.dashboard-body.overlay-open{z-index:140}.dashboard-skeleton-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none;z-index:12;background:#0a0d18b8;border:1px solid #5266aa47;border-radius:22px;position:absolute;overflow:hidden;box-shadow:0 18px 50px #00000047}.dashboard-skeleton-overlay:after{content:"";background:linear-gradient(90deg,#0000 0%,#ffffff1f 50%,#0000 100%);animation:1.25s ease-in-out infinite skeleton-shimmer;position:absolute;inset:0;transform:translate(-100%)}.revenue-skeleton{flex-direction:column;min-height:520px;padding:2.4rem 1.2rem 1.2rem;display:flex;inset:3.15rem 0 0}.list-skeleton{gap:.85rem;min-height:280px;padding:.9rem .4rem;display:grid;inset:3.4rem 0 0}.skeleton-pill,.skeleton-number,.skeleton-row span,.skeleton-chart span,.skeleton-list-row span{background:linear-gradient(120deg,#37467ab8,#5b6eb285);border-radius:999px}.skeleton-pill{width:150px;height:18px;margin:0 auto 1.4rem}.skeleton-number{width:min(76%,360px);height:clamp(62px,14vw,86px);margin:0 auto}.skeleton-row{justify-content:center;gap:1rem;margin:1.2rem 0 2.2rem;display:flex}.skeleton-row span{width:116px;height:18px}.skeleton-chart{flex:1;align-items:end;gap:.85rem;min-height:150px;display:flex}.skeleton-chart span{border-radius:12px 12px 4px 4px;flex:1;min-height:42px}.skeleton-list-row{background:#19223eb3;border:1px solid #4d609e47;border-radius:14px;justify-content:space-between;align-items:center;min-height:70px;padding:.9rem 1rem;display:flex}.skeleton-list-row span:first-child{width:48%;height:16px}.skeleton-list-row span:last-child{width:26%;height:18px}@keyframes skeleton-shimmer{to{transform:translate(100%)}}.row-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.35rem;display:flex}.filters-inline{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.active-tag-badge{color:#e7eeff;cursor:pointer;background:#1d2d59;border:1px solid #3f5fb8;border-radius:999px;align-items:center;gap:.45rem;padding:.45rem .7rem;font-size:.8rem;font-weight:700;line-height:1;display:inline-flex}.demo-banner{border-radius:var(--radius);background:linear-gradient(145deg,#5c83ff29 0%,#2b3d853d 100%);border:1px solid #5c83ff8c;flex-wrap:wrap;align-items:center;gap:.75rem .9rem;padding:.95rem 1.05rem;display:flex;box-shadow:0 0 0 1px #5c83ff14,0 10px 30px -18px #5c83ffb3}.demo-banner-badge{background:var(--accent);color:#0b1024;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;align-self:flex-start;padding:.28rem .6rem;font-size:.7rem;font-weight:800}.demo-banner-text{flex:220px;min-width:0}.demo-banner-title{color:var(--text);margin:0;font-size:.98rem;font-weight:700}.demo-banner-sub{color:var(--muted);margin:.2rem 0 0;font-size:.84rem;line-height:1.35}.demo-banner-cta{background:var(--accent);color:#0b1024;cursor:pointer;white-space:nowrap;border:none;border-radius:999px;flex:none;padding:.6rem 1.05rem;font-size:.86rem;font-weight:700;transition:filter .15s,transform .15s}.demo-banner-cta:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.demo-banner-cta:disabled{cursor:default;opacity:.7}@media (max-width:560px){.demo-banner-cta{flex:100%}}.cashflow-alert-banner{color:#ffe7ee;cursor:pointer;text-align:left;background:linear-gradient(145deg,#722539e6 0%,#4c1826e6 100%);border:1px solid #ff97ad8f;border-radius:14px;align-items:center;gap:.55rem;width:100%;margin-top:.75rem;padding:.62rem .74rem;display:flex}.cashflow-alert-icon{color:#ffd3de;background:#ff6f8f42;border:1px solid #ffabbe9e;border-radius:999px;flex:0 0 22px;justify-content:center;align-items:center;width:22px;height:22px;font-size:.84rem;font-weight:800;line-height:1;display:inline-flex}.cashflow-alert-banner+.panel{margin-top:.75rem}.badge-close{opacity:.9;align-items:center;font-size:.95rem;line-height:1;display:inline-flex;transform:translateY(-.5px)}.granularity-toggle{background:#141a2d;border:1px solid #29355e;border-radius:999px;padding:.2rem;display:flex}.toggle{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.4rem .7rem;font-size:.83rem;font-weight:600}.toggle.active{color:var(--text);background:#253764}.kpi-stage{touch-action:pan-y;margin-top:.55rem;padding:.55rem 0 .45rem;overflow:hidden}.kpi-carousel{will-change:transform;width:100%;transition:transform .28s;display:flex}.kpi-card{text-align:center;flex-direction:column;flex:0 0 100%;justify-content:center;min-height:190px;padding:.25rem .8rem;display:flex}.kpi-title{color:#ccd4ff;opacity:.95;margin:0;font-size:1.1rem}.kpi-current{letter-spacing:-.02em;margin:.65rem 0;font-size:clamp(2.55rem,9.2vw,3.95rem);font-weight:700}.kpi-row{color:#c8cff8;justify-content:center;gap:1.1rem;margin-top:.15rem;font-size:1.02rem;display:flex}.kpi-row span:first-child{opacity:.85}.kpi-row .delta{font-weight:700}.kpi-row .delta.up{color:#8ff2cb}.kpi-row .delta.down{color:#ff9bb2}.kpi-dots{justify-content:center;gap:.4rem;margin-top:.2rem;display:flex}.kpi-dot{cursor:pointer;background:#59649a;border:0;border-radius:999px;width:7px;height:7px;transition:all .16s}.kpi-dot.active{background:#eef2ff;width:18px}.delta.up{color:var(--success);font-weight:700}.delta.down{color:var(--danger);font-weight:700}.panel{background:0 0;border:0;border-radius:0;margin-top:1.45rem;padding:.5rem 0}.panel-head{justify-content:space-between;align-items:center;gap:.9rem;margin-bottom:.45rem;display:flex}.panel-collapsed .panel-head{margin-bottom:0}.panel-collapse-toggle{color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-items:flex-start;gap:.45rem;min-width:0;padding:0;display:flex}.panel-collapse-toggle h3{margin:0}.panel-collapse-chevron{color:#9eb0d8;flex-shrink:0;margin-top:.12rem;font-size:.85rem;line-height:1.35;transition:transform .16s;display:inline-block}.panel-collapse-chevron.collapsed{transform:rotate(-90deg)}.panel-head h3{color:#f0f3ff;letter-spacing:.01em;margin:0;font-size:1.02rem;position:relative}.panel-head h3:after{content:"";opacity:.85;background:linear-gradient(90deg,#6a8eff 0%,#8f74ff 100%);border-radius:99px;width:46px;height:2px;margin-top:.4rem;display:block}.bar-chart{-ms-overflow-style:none;scrollbar-width:none;flex-wrap:nowrap;align-items:flex-end;gap:.95rem;margin-top:.85rem;padding:2.25rem .35rem 0;display:flex;position:relative;overflow:auto visible}.bar-chart::-webkit-scrollbar{display:none}.chart-tooltip{background:#12182b;border:1px solid #27345d;border-radius:10px;margin-top:.8rem;padding:.45rem .55rem}.tooltip-label{margin:0;font-size:.74rem;font-weight:700}.tooltip-values{color:var(--muted);flex-wrap:wrap;gap:.35rem .55rem;margin-top:.2rem;font-size:.72rem;display:flex}.tooltip-detail-button{color:#edf2ff;cursor:pointer;background:#5b7cec2e;border:1px solid #7e9aff85;border-radius:999px;width:100%;margin-top:.45rem;padding:.32rem .5rem;font-size:.7rem;font-weight:700}.bar-item{color:inherit;cursor:pointer;min-width:32px;animation:.52s cubic-bezier(.2,.8,.2,1) both revenue-bar-in;animation-delay:calc(var(--bar-index,0) * 55ms);background:0 0;border:0;flex-direction:column;flex:1 1 0;align-items:center;gap:.4rem;padding:0;display:flex;position:relative}.bar-item p{color:var(--muted);margin:0;font-size:.78rem}.bar-item.active p{color:#eff2ff}.bar-stack{align-items:flex-end;gap:.2rem;height:clamp(170px,33vw,220px);display:flex}.bar-item.active .bar.current{box-shadow:0 0 0 2px #7a96ff55}.chart-tooltip-inline{white-space:normal;z-index:20;min-width:146px;max-width:min(190px,100vw - 48px);position:absolute;top:-42px;left:50%;transform:translate(-50%)}.chart-tooltip-inline.edge-start{left:0;transform:translate(0)}.chart-tooltip-inline.edge-end{left:auto;right:0;transform:translate(0)}.bar{border-radius:8px;width:13px}.bar.current{background:linear-gradient(#9cb4ff 0%,#7b99ff 38%,#5d78e6 100%);box-shadow:0 5px 12px #5c7df261}.bar-item.bar-yoy-up .bar.current{background:linear-gradient(#5eead4 0%,#2dd4bf 40%,#0d9488 100%);box-shadow:0 5px 18px #0d94886b}.bar-item.bar-yoy-down .bar.current{background:linear-gradient(#f6ccd4 0%,#d6738a 46%,#943d50 100%);box-shadow:0 5px 16px #782d4157}.bar-item.active.bar-yoy-up .bar.current{box-shadow:0 0 0 2px #2dd4bf8c,0 5px 18px #0d94886b}.bar-item.active.bar-yoy-down .bar.current{box-shadow:0 0 0 2px #dc738c7a,0 5px 16px #782d4157}.bar.previous{opacity:.58;background:linear-gradient(#4d5679 0%,#3f4767 100%)}.bar-item.active .bar.previous{opacity:.72}.cashflow-chart{padding-top:2.6rem}.cashflow-tooltip{opacity:0;transition:opacity .14s}.cashflow-chart .bar-item:hover .cashflow-tooltip,.cashflow-chart .bar-item:focus-within .cashflow-tooltip{opacity:1}.cashflow-balance{background:linear-gradient(#86f0be 0%,#4cc890 42%,#31a673 100%);box-shadow:0 5px 12px #31a67357}.cashflow-balance-previous{opacity:.55;background:linear-gradient(#59627f 0%,#4a5270 100%)}.cashflow-flow-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:.95rem;display:grid}.cashflow-flow-card{border:1px solid var(--card-border);background:linear-gradient(150deg,#1b2440 0%,#18203a 55%,#141a31 100%);border-radius:14px;padding:.9rem}.cashflow-flow-card p{color:var(--muted);margin:0;font-size:.83rem}.cashflow-flow-card strong{margin-top:.35rem;font-size:1.2rem;display:block}.cashflow-flow-card span{margin-top:.3rem;display:inline-block}.cashflow-flow-summary{margin-top:.3rem}.cashflow-flow-summary-row{scrollbar-width:none;flex-wrap:nowrap;align-items:baseline;gap:.35rem;margin:0;padding-bottom:.12rem;display:flex;overflow-x:auto}.cashflow-flow-summary-row::-webkit-scrollbar{display:none}.cashflow-flow-summary-period-inline{color:var(--muted);flex-shrink:0;font-size:.82rem;font-weight:600}.cashflow-flow-summary-sep{color:var(--muted);-webkit-user-select:none;user-select:none;flex-shrink:0;font-size:.85rem}.cashflow-flow-summary-seg{white-space:nowrap;flex-shrink:0;align-items:baseline;gap:.2rem;display:inline-flex}.cashflow-flow-summary-seg-label{color:var(--muted);letter-spacing:.02em;text-transform:uppercase;font-size:.72rem}.cashflow-flow-summary-seg-value{font-size:.95rem;font-weight:600}.cashflow-time-chart{scrollbar-width:none;align-items:end;gap:.65rem;margin-top:.85rem;padding-bottom:.2rem;display:flex;overflow-x:auto}.cashflow-time-chart.stretch{overflow-x:visible}.cashflow-time-chart::-webkit-scrollbar{display:none}.cashflow-time-item{flex-direction:column;flex:0 0 60px;align-items:center;gap:.28rem;display:flex;position:relative}.cashflow-time-chart.stretch .cashflow-time-item{flex:1 1 0;min-width:0}.cashflow-time-bars{align-items:end;gap:.18rem;height:138px;display:flex}.cashflow-time-bar-wrap{background:#2a386352;border-radius:999px;align-items:end;width:12px;height:100%;display:flex;overflow:hidden}.cashflow-time-bar{border-radius:999px;width:100%;transition:height .26s}.cashflow-time-bar.inflow{background:linear-gradient(#93f4cb 0%,#3ec790 100%)}.cashflow-time-bar.outflow{background:linear-gradient(#ffb1c2 0%,#ff6f8f 100%)}.cashflow-time-label{color:#cfd8f9;margin:0;font-size:.72rem}.cashflow-donut-wrap{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:center;gap:1rem;margin-top:.9rem;display:grid}.cashflow-donut-card{place-items:center;width:100%;max-width:400px;margin:0 auto;display:grid;position:relative}.cashflow-donut-skeleton{aspect-ratio:1;place-items:center;width:100%;max-width:360px;display:grid;position:relative}.cashflow-donut-skeleton-ring{border:20px solid #4a5d977a;border-radius:999px;width:78%;height:78%}.cashflow-donut-skeleton-center{justify-content:center;place-items:center;gap:.45rem;display:grid;position:absolute;inset:0}.cashflow-donut-skeleton-center span{background:linear-gradient(120deg,#37467ab8,#5b6eb285);border-radius:999px;height:12px;display:block}.cashflow-donut-skeleton-center span:first-child{width:110px}.cashflow-donut-skeleton-center span:last-child{width:72px}.cashflow-donut-svg{width:100%;max-width:360px;display:block}.cashflow-donut-slice{cursor:pointer;opacity:0;transform-box:fill-box;transform-origin:160px 160px;transition:transform .26s cubic-bezier(.2,.8,.2,1),opacity .22s,filter .22s;transform:scale(.45)}.cashflow-donut-slice.is-animated{animation:.62s cubic-bezier(.2,.8,.2,1) forwards cashflow-slice-in;animation-delay:calc(var(--slice-index,0) * 70ms)}.cashflow-donut-slice:hover{filter:brightness(1.07);opacity:1}.cashflow-donut-slice.is-active{filter:brightness(1.17)saturate(1.1)drop-shadow(0 8px 14px #060a1680);transform:scale(1)!important}.cashflow-donut-slice.is-dimmed{opacity:.5;filter:saturate(.85)brightness(.85)}.cashflow-donut-hole{fill:#0d1326eb;opacity:0;stroke:#7692e93d;stroke-width:1.4px;transform-box:fill-box;transform-origin:160px 160px;transform:scale(.2)}.cashflow-donut-hole.is-animated{animation:.68s cubic-bezier(.2,.8,.2,1) .22s forwards cashflow-hole-in}.cashflow-donut-center{pointer-events:none;text-align:center;place-items:center;gap:.25rem;width:72%;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cashflow-donut-title{color:#d0dbff;text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin:0;font-size:.8rem;overflow:hidden}.cashflow-donut-center strong{color:#f2f6ff;letter-spacing:-.01em;font-size:clamp(1.3rem,2.7vw,2rem)}.cashflow-donut-center span{color:#9ea7c2;font-size:.75rem}.cashflow-donut-legend{cursor:grab;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:.62rem;margin:0;padding:.12rem 0 .32rem;list-style:none;display:flex;overflow-x:auto}.cashflow-donut-legend.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.cashflow-donut-legend::-webkit-scrollbar{display:none}.cashflow-donut-legend li{scroll-snap-align:start;flex:0 0 136px;min-width:136px;display:flex}.cashflow-legend-item{color:#dee6ff;cursor:pointer;text-align:left;background:linear-gradient(150deg,#1e2847 0%,#1a2340 50%,#151d34 100%);border:1px solid #637dce73;border-radius:16px;grid-template:"label"minmax(52px,auto)"value"minmax(30px,auto)"trend"minmax(24px,auto)/1fr;align-items:start;gap:.38rem;width:100%;min-height:180px;padding:.88rem .76rem .88rem 1.04rem;transition:transform .18s,border-color .18s,box-shadow .18s;display:grid;position:relative;overflow:hidden}.cashflow-legend-item:before{background:var(--legend-accent,#86f0be);content:"";opacity:.78;border-radius:99px;width:4px;height:56px;position:absolute;top:.62rem;left:.48rem}.cashflow-legend-item.skeleton{background:linear-gradient(120deg,#37467ab8,#5b6eb285);border-color:#4d609e47}.cashflow-legend-item.active{box-shadow:0 6px 16px #101a3647, 0 0 0 1px #c3d6ff57 inset, inset 0 0 0 999px color-mix(in srgb, var(--legend-accent,#86f0be) 9%, transparent);border-color:#a2bbffd1;transform:none}.cashflow-legend-label{text-overflow:ellipsis;white-space:normal;word-break:break-word;grid-area:label;align-self:start;max-height:3.6em;padding-right:.15rem;font-size:.9rem;font-weight:700;line-height:1.2;overflow:hidden}.cashflow-legend-value{grid-area:value;align-self:end;font-size:1.14rem;font-weight:700;line-height:1.1}.cashflow-legend-trend{border-radius:999px;grid-area:trend;place-self:start;padding:.18rem .48rem;font-size:.72rem;font-weight:700}.cashflow-legend-trend.up{color:#8df3ca;background:#39d4992e;border:1px solid #55e7ac59}.cashflow-legend-trend.down{color:#ffadc2;background:#ff6f8f29;border:1px solid #ff93ab5c}.cashflow-empty-state{border:1px solid var(--card-border);background:linear-gradient(150deg,#1b2440 0%,#18203a 55%,#141a31 100%);border-radius:14px;justify-content:space-between;align-items:center;gap:.8rem;margin-top:.55rem;padding:.85rem .95rem;display:flex}.cashflow-empty-state p{color:#d8e1ff;margin:0;font-size:.84rem}.invoice-detail-sheet{max-height:calc(88dvh - env(safe-area-inset-bottom));min-width:0;max-width:100%;padding-bottom:calc(1rem + env(safe-area-inset-bottom));flex-direction:column;display:flex;overflow:hidden}.invoice-detail-tabs{gap:.55rem;margin-top:.9rem;display:flex}.invoice-detail-summary{color:#dbe4ff;background:#1a2340b8;border:1px solid #4d609e59;border-radius:14px;justify-content:space-between;align-items:center;margin-top:.9rem;padding:.75rem .85rem;display:flex}.invoice-detail-summary strong{color:#f2f6ff}.invoice-list{flex:1;gap:.75rem;width:100%;min-width:0;min-height:0;margin:.9rem 0 0;padding:0 0 .6rem;list-style:none;display:grid;overflow:hidden auto}.recent-invoices-list{flex:unset;max-height:none;margin-top:.85rem;padding-bottom:0;overflow:hidden visible}.invoice-list li{border:1px solid var(--card-border);background:linear-gradient(150deg,#1b2440 0%,#18203a 55%,#141a31 100%);border-radius:14px;flex-direction:column;align-items:stretch;gap:.45rem;width:100%;min-width:0;max-width:100%;padding:.85rem;display:flex}.invoice-item-head{justify-content:space-between;align-items:flex-start;gap:.8rem;width:100%;min-width:0;display:flex}.invoice-item-text{flex:1;min-width:0;max-width:100%;overflow-x:hidden}.invoice-item-head strong{color:#eef2ff;white-space:nowrap;flex:none}.invoice-list .invoice-title-line,.invoice-list .invoice-item-text .tag-sub{overflow-wrap:anywhere;word-break:break-word;max-width:100%}.invoice-title-line{display:block}.invoice-list .invoice-tags{box-sizing:border-box;overscroll-behavior-x:contain;scrollbar-width:thin;-webkit-overflow-scrolling:touch;flex-flow:row;align-items:center;gap:.28rem;width:100%;min-width:0;max-width:none;height:1.75rem;margin-top:0;display:flex;overflow:auto hidden}.invoice-tags::-webkit-scrollbar{height:4px}.invoice-tags::-webkit-scrollbar-thumb{background:#647ed273;border-radius:999px}.invoice-tags span{color:#c9d4f5;letter-spacing:.01em;white-space:nowrap;background:#475ca03d;border:1px solid #647ed261;border-radius:999px;flex-shrink:0;padding:.12rem .34rem;font-size:.58rem;font-weight:600;line-height:1.2}.tag-list{grid-template-columns:minmax(0,1fr);gap:.9rem;min-width:0;margin:1.1rem 0 0;padding:0;list-style:none;display:grid}.tag-list li{border:1px solid var(--card-border);background:linear-gradient(150deg,#1b2440 0%,#18203a 55%,#141a31 100%);border-radius:14px;justify-content:space-between;align-items:center;min-width:0;max-width:100%;padding:.9rem 1rem;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex;position:relative;box-shadow:0 8px 22px #080b1647}.tag-list li.movement-row{flex-direction:column;justify-content:flex-start;align-items:stretch;gap:.55rem;width:100%;min-width:0;max-width:100%}.movement-row-head{width:100%;min-width:0;max-width:100%}.movement-row-head .tag-name.with-today-indicator{min-width:0;max-width:100%}.movement-row-head .with-today-indicator{flex-wrap:nowrap;align-items:center;gap:.45rem;width:100%;min-width:0;max-width:100%;min-height:1.35rem;display:flex;overflow:hidden}.movement-row-head .with-today-indicator .today-movement-indicator{flex-shrink:0}.movement-row-head .movement-row-partner{text-overflow:ellipsis;white-space:nowrap;flex:1 1 0;min-width:0;max-width:100%;display:block;overflow:hidden}.movement-row-body{grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:.85rem;width:100%;min-width:0;max-width:100%;display:grid}.movement-row-meta{flex-direction:column;gap:.28rem;min-width:0;display:flex}.movement-row-meta .tag-sub{overflow-wrap:anywhere;margin:0}.movement-row-body .movement-row-amount.tag-values{text-align:right;flex-shrink:0;justify-self:end;min-width:0}.movement-row.attention{border-color:#ff93ab85;box-shadow:0 10px 26px #22081057,inset 0 0 0 1px #ff93ab33}.tag-list li:hover{border-color:#5675c8;transform:translateY(-1px);box-shadow:0 10px 26px #090e1c57,inset 0 0 0 1px #6788e155}.tag-list li.active{background:linear-gradient(150deg,#23315b 0%,#1b2648 52%,#17203a 100%);border-color:#88a2ff;box-shadow:0 10px 28px #0a0f2066,inset 0 0 0 1px #7292f6}.tag-name{color:#f3f6ff;min-width:0;margin:0;font-weight:600}.tag-cell{flex:auto;min-width:0}.tag-cell .tag-name,.tag-cell .tag-sub{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tag-share-track{background:#5c83ff29;border-radius:99px;max-width:240px;height:5px;margin-top:.45rem;overflow:hidden}.tag-share-fill{border-radius:inherit;background:linear-gradient(90deg,#5c83ff 0%,#7aa0ff 100%);height:100%;transition:width .42s}.with-today-indicator{align-items:center;gap:.45rem;display:inline-flex}.today-movement-indicator{color:#cfdcff;letter-spacing:.03em;text-transform:uppercase;background:#5480e82e;border:1px solid #7a9dee61;border-radius:99px;justify-content:center;align-items:center;min-width:34px;height:16px;padding:0 .34rem;font-size:.58rem;font-weight:800;line-height:1;display:inline-flex}.today-movement-indicator--new-invoice{color:#fde68a;letter-spacing:.055em;text-shadow:0 1px 1px #00000059;white-space:nowrap;background:linear-gradient(168deg,#fef3c747 0%,#fbbf242e 48%,#b4530924 100%);border:1px solid #fde047d1;min-width:auto;box-shadow:inset 0 1px #fffbeb2e,0 2px 12px #37230847}.today-movement-indicator--unmatched-warn{color:#ffb4c8;letter-spacing:.05em;text-shadow:0 1px 1px #00000052;white-space:nowrap;background:#ff6f8f33;border:1px solid #ff93ab8f;min-width:auto;box-shadow:0 2px 10px #a0325547}.today-movement-indicator--unpaid{color:#ffd89a;letter-spacing:.05em;text-shadow:0 1px 1px #00000052;white-space:nowrap;background:#ffc46b29;border:1px solid #ffd18a80;min-width:auto;box-shadow:0 2px 10px #8c60183d}.vendor-cell{flex:1 1 0;min-width:0}.vendor-cell .tag-name,.vendor-cell .tag-sub{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vendor-share-track{background:#7a9dee29;border-radius:99px;max-width:240px;height:5px;margin-top:.45rem;overflow:hidden}.vendor-share-fill{border-radius:inherit;background:linear-gradient(90deg,#ff9f6e 0%,#f68fc9 100%);height:100%;transition:width .42s}.tag-sub{color:var(--muted);margin:.2rem 0 0;font-size:.8rem}.tag-values{text-align:right;flex-direction:column;align-items:flex-end;gap:.45rem;min-width:108px;display:flex}.tag-values p{margin:0}.movement-amount-text{font-weight:700}.tag-values p.movement-amount-text.up{color:#8df3ca}.tag-values p.movement-amount-text.down{color:#ffadc2}.connection-item{padding-right:3.4rem!important}.connection-list .tag-values{padding-top:.15rem}.icon-button{color:#9fb3ef;cursor:pointer;z-index:2;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;padding:0;font-size:1.08rem;font-weight:700;line-height:0;transition:color .16s,transform .16s,opacity .16s;display:inline-flex;position:absolute;top:50%;right:.95rem;transform:translateY(-50%)}.icon-button:hover{color:#e9efff;transform:translateY(-50%)scale(1.08)}.icon-button:active{color:#ffb8c4;transform:translateY(-50%)scale(.96)}.icon-button span{display:inline-block;transform:translateY(-.5px)}.confirm-sheet{background:#121729;border:1px solid #2d3a68;border-radius:20px;width:100%;max-width:min(430px,100vw - 2.5rem);padding:1.1rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 24px 70px #00000073}.confirm-sheet h4{margin:0 0 .55rem;font-size:1.08rem}.confirm-sheet strong{color:#eef3ff}.danger-button{color:#fff1f4;cursor:pointer;background:linear-gradient(#7d2638 0%,#5f1c2a 100%);border:1px solid #b34b63;border-radius:999px;padding:.5rem .85rem;font-size:.84rem;font-weight:700}.danger-button:hover{color:#fff;border-color:#e06b83}.log-message{overflow-wrap:anywhere;white-space:normal;max-width:min(48vw,360px)}.log-detail-pre{color:#d8e0ff;white-space:pre-wrap;word-break:break-word;background:#0f1526;border:1px solid #2b3864;border-radius:10px;max-height:52vh;margin:.75rem 0 0;padding:.8rem;font-size:.76rem;line-height:1.45;overflow:auto}.secondary-button{background:linear-gradient(#212d4f 0%,#1a2340 100%);border-color:#3b4d85}.secondary-button:hover{color:#f2f5ff;border-color:#5a76cb}.tag-row-hitbox{cursor:pointer;background:0 0;border:0;position:absolute;inset:0}.tag-filter-overlay{z-index:130;background:#06080e94;position:fixed;inset:0;overflow-x:hidden}.tag-filter-sheet{background:#121729;border-top:1px solid #2d3a68;border-radius:20px 20px 0 0;width:100%;min-width:0;max-width:min(760px,100%);margin:0 auto;padding:1rem 1rem 1.2rem;position:absolute;bottom:0;left:0;right:0}.unsettled-payments-sheet{max-height:calc(90dvh - env(safe-area-inset-bottom));padding-bottom:calc(1rem + env(safe-area-inset-bottom));overflow:hidden}.unsettled-sheet-list{max-height:calc(90dvh - 170px - env(safe-area-inset-bottom));margin-top:.9rem;padding-top:.2rem;padding-right:.15rem;overflow-y:auto}.tag-filter-head{justify-content:space-between;align-items:center;gap:.75rem;min-width:0;display:flex}.invoice-detail-sheet .tag-filter-head>div:first-child{min-width:0}.invoice-detail-sheet .tag-filter-head h4{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tag-filter-head h4{margin:0;font-size:1.02rem}.filter-close{color:var(--muted);cursor:pointer;background:0 0;border:0;font-weight:600}.tag-filter-help{color:var(--muted);margin:.7rem 0 0;font-size:.84rem}.recent-invoices-empty{margin-top:.35rem}.tag-filter-options{flex-wrap:wrap;gap:.55rem;margin-top:.95rem;display:flex}.filter-chip{color:#d6ddfb;cursor:pointer;background:#18203b;border:1px solid #2d3c6c;border-radius:999px;padding:.45rem .8rem;font-size:.84rem;font-weight:600}.filter-chip.active{color:#eef2ff;background:#3452ad;border-color:#5e82f4}.tag-filter-actions{justify-content:flex-end;gap:.7rem;margin-top:1.15rem;display:flex}@media (max-width:760px){.app-shell{padding:calc(1.35rem + env(safe-area-inset-top)) 1.25rem calc(6.9rem + env(safe-area-inset-bottom))}.app-shell:before{background:radial-gradient(700px 620px at 50% 260px,#374e94d1 0%,#2c3e7a75 36%,#11142000 82%);height:760px;-webkit-mask-image:linear-gradient(#0000 0% 8%,#000 32% 60%,#0000 100%);mask-image:linear-gradient(#0000 0% 8%,#000 32% 60%,#0000 100%)}.desktop-only-nav,.desktop-only-settings,.header-refresh-btn{display:none}.mobile-liquid-nav{-webkit-backdrop-filter:blur(28px)saturate(220%);backdrop-filter:blur(28px)saturate(220%);bottom:max(.35rem, env(safe-area-inset-bottom));z-index:90;background:linear-gradient(175deg,#4a68bf59 0%,#1d2a549e 46%,#0e152ac2 100%);border:1px solid #98b2ff5c;border-radius:26px;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:.25rem;width:calc(100vw - 1.2rem);max-width:min(430px,100vw - 1.2rem);padding:.4rem .4rem .35rem;display:grid;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 18px 48px #0000006b,inset 0 1px #e1eaff47,inset 0 -10px 28px #94b3ff17}.mobile-liquid-nav:before,.mobile-liquid-nav:after{content:"";pointer-events:none;position:absolute}.mobile-liquid-nav:before{border-radius:inherit;background:linear-gradient(#eff5ff6b 0%,#eff5ff12 56%,#0000 100%);padding:1px;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.mobile-liquid-nav:after{filter:blur(10px);background:radial-gradient(45% 70% at 50% 100%,#648fff57 0%,#648fff00 100%);height:36px;bottom:-22px;left:16%;right:16%}.mobile-liquid-link{color:#cfd8fb;border:1px solid #0000;border-radius:18px;place-items:center;gap:.12rem;min-height:56px;padding:.26rem .14rem .18rem;text-decoration:none;transition:background .16s,border-color .16s,color .16s,transform .16s,box-shadow .18s;display:grid;position:relative}.mobile-liquid-link:before{border-radius:inherit;content:"";opacity:0;background:linear-gradient(168deg,#9eb7ff47 0%,#5d7eeb38 100%);border:1px solid #bacfff73;transition:opacity .18s,transform .22s;position:absolute;inset:0;transform:scale(.92);box-shadow:0 8px 18px #1e347e52,inset 0 1px #f5faff29}.mobile-liquid-label{letter-spacing:0;opacity:.92;z-index:1;font-size:.72rem;font-weight:650;position:relative}.mobile-liquid-link:active{transform:translateY(1px)scale(.985)}.mobile-liquid-icon{z-index:1;justify-content:center;align-items:center;width:23px;height:23px;display:inline-flex;position:relative}.mobile-liquid-orb{box-shadow:none;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;width:32px;height:32px;transition:background .17s,border-color .17s,box-shadow .18s;display:inline-flex;position:relative}.mobile-liquid-icon svg{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.85px;width:21px;height:21px}.mobile-liquid-link.active:before{opacity:1;transform:scale(1)}.mobile-liquid-link.active .mobile-liquid-orb{box-shadow:none;background:0 0}.mobile-liquid-link.active{box-shadow:none;color:#f2f6ff;border-color:#0000}.mobile-liquid-link:not(.active):hover{color:#e6edff;background:#5f7ad614;border-color:#7890e642}.kpi-stage{margin-top:.35rem;padding:.35rem 0 .3rem}.cashflow-flow-grid{grid-template-columns:1fr}.cashflow-time-item{flex-basis:54px}.cashflow-donut-wrap{grid-template-columns:1fr}.cashflow-donut-card{max-width:330px}.cashflow-donut-legend{margin-top:.2rem}.cashflow-donut-legend li{flex-basis:128px;min-width:128px}.cashflow-legend-item{min-width:0;min-height:168px}.kpi-card{min-height:165px}.kpi-title{font-size:1rem}.kpi-current{margin:.45rem 0}.tag-filter-sheet{padding:1rem .9rem 1.15rem}}@keyframes cashflow-slice-in{0%{opacity:0;transform:scale(.45)}to{opacity:.96;transform:scale(1)}}@keyframes cashflow-hole-in{0%{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}@keyframes revenue-bar-in{0%{opacity:0;transform:translateY(12px)scaleY(.65)}to{opacity:1;transform:translateY(0)scaleY(1)}}
