/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.fixed{position:fixed}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--ink:#1d1d1f;--secondary:#6e6e73;--tertiary:#86868b;--blue:#0071e3;--blue-hover:#0077ed;--blue-soft:#e8f2ff;--green:#248a3d;--orange:#c93400;--canvas:#f5f5f7;--surface:#fff;--line:#d2d2d7;--line-soft:#e8e8ed;--shadow:0 22px 60px #00000012}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--canvas)}body{background:var(--canvas);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,PingFang SC,Hiragino Sans GB,sans-serif}button,input,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #0071e352}.loading-shell{place-content:center;justify-items:center;gap:16px;min-height:100vh;display:grid}.loading-logo{letter-spacing:-.08em;font-size:42px;font-weight:700}.loading-shell p{color:var(--secondary);margin:0;font-size:14px}.topbar{justify-content:space-between;align-items:center;gap:20px;width:min(1080px,100% - 44px);min-height:66px;margin:0 auto;display:flex}.brand{color:var(--ink);letter-spacing:-.08em;font-size:24px;font-weight:700;text-decoration:none}.top-actions{align-items:center;gap:10px;display:flex}.cloud-state{color:var(--secondary);white-space:nowrap;align-items:center;gap:7px;margin-right:8px;font-size:12px;display:inline-flex}.cloud-state:before{content:"";background:var(--green);border-radius:50%;width:6px;height:6px}.cloud-state.loading:before,.cloud-state.saving:before{background:var(--blue);animation:1s ease-in-out infinite pulse}.cloud-state.error:before{background:var(--orange)}.quiet-button,.edit-button,.inline-action{cursor:pointer;border:0}.quiet-button{color:var(--blue);background:0 0;border-radius:999px;padding:9px 13px;font-size:13px}.quiet-button:hover,.quiet-button.active{background:var(--blue-soft)}.edit-button{background:var(--blue);color:#fff;border-radius:999px;padding:9px 17px;font-size:13px;font-weight:500}.edit-button:hover{background:var(--blue-hover)}.hero{text-align:center;background:radial-gradient(circle at 50% 22%, #fffffff5 0 28%, #f5f5f700 68%), var(--canvas);flex-direction:column;justify-content:center;align-items:center;min-height:min(790px,100vh - 66px);padding:clamp(92px,12vh,150px) 24px 110px;display:flex}.hero h1{letter-spacing:-.075em;max-width:900px;margin:0;font-size:clamp(58px,9.4vw,118px);font-weight:700;line-height:.96}.hero-stats{grid-template-columns:1fr 1fr;width:min(950px,100%);margin-top:clamp(76px,10vh,112px);display:grid}.hero-stats article{min-width:0;padding:0 clamp(26px,6vw,78px)}.hero-stats article+article{border-left:1px solid var(--line)}.hero-stats span,.hero-stats strong{display:block}.hero-stats span{color:var(--secondary);font-size:16px;font-weight:500}.hero-stats strong{letter-spacing:-.06em;white-space:nowrap;margin-top:17px;font-size:clamp(48px,6.5vw,82px);font-weight:650;line-height:1}.hero-stats article:first-child strong{color:var(--blue)}.hero-progress{background:#dedee3;border-radius:999px;height:7px;margin-top:28px;overflow:hidden}.hero-progress i{background:var(--blue);border-radius:inherit;height:100%;transition:width .45s cubic-bezier(.22,1,.36,1);display:block}.content-section{background:var(--surface);border-radius:30px;width:min(1080px,100% - 44px);margin:0 auto 26px;padding:clamp(36px,5vw,58px);transition:opacity .76s cubic-bezier(.16,1,.3,1),transform .76s cubic-bezier(.16,1,.3,1),filter .76s cubic-bezier(.16,1,.3,1),box-shadow .42s;box-shadow:0 1px #00000005}[data-reveal]{opacity:0;filter:blur(8px);transform-origin:bottom;transition:opacity .76s cubic-bezier(.16,1,.3,1),transform .76s cubic-bezier(.16,1,.3,1),filter .76s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--reveal-order,0) * 55ms);will-change:opacity, transform, filter;transform:translateY(54px)scale(.975)}[data-reveal].is-visible{opacity:1;filter:blur();transform:translate(0)scale(1)}.content-section.is-visible:hover{transform:translateY(-5px)scale(1.004);box-shadow:0 24px 70px #00000014}.section-label{color:var(--blue);margin-bottom:13px;font-size:13px;font-weight:600;display:block}.section-heading h2{letter-spacing:-.045em;margin:0;font-weight:650}.simple-track{background:var(--line-soft);border-radius:999px;height:8px;margin-top:15px;overflow:hidden}.simple-track i{background:var(--blue);border-radius:inherit;height:100%;transition:width .4s;display:block}.simple-track.large{height:10px;margin-top:35px}.progress-section,.finance-section,.ledger-section{padding-top:clamp(48px,7vw,76px);padding-bottom:clamp(48px,7vw,76px)}.section-heading{justify-content:space-between;align-items:flex-end;gap:28px;display:flex}.section-heading h2{font-size:clamp(38px,5vw,58px)}.section-heading>strong{color:var(--blue);letter-spacing:-.05em;font-size:clamp(38px,5vw,58px);font-weight:600}.stage-list{border-top:1px solid var(--line-soft);border-left:1px solid var(--line-soft);grid-template-columns:repeat(4,1fr);margin-top:55px;display:grid}.stage-item{border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);min-height:156px;padding:25px 22px}.stage-top{grid-template-columns:9px 1fr auto;align-items:start;gap:13px;min-height:70px;display:grid}.stage-dot{background:var(--line);border-radius:50%;width:8px;height:8px;margin-top:5px}.stage-item.done .stage-dot{background:var(--green)}.stage-item.active .stage-dot{background:var(--blue);box-shadow:0 0 0 5px #0071e31a}.stage-item h3{margin:0;font-size:15px;font-weight:600}.stage-item p{color:var(--tertiary);margin:7px 0 0;font-size:11px}.stage-item strong{color:var(--secondary);font-size:13px}.stage-item.active strong{color:var(--blue)}.stage-item input[type=range]{width:100%;accent-color:var(--blue);margin-top:22px}.finance-grid{grid-template-columns:.78fr 1.22fr;gap:20px;margin-top:55px;display:grid}.payment-card,.category-card{background:var(--canvas);border-radius:22px;padding:34px}.payment-card>span{color:var(--secondary);font-size:13px}.payment-card>strong{letter-spacing:-.055em;margin-top:18px;font-size:clamp(32px,4vw,47px);display:block}.payment-card>p{color:var(--secondary);margin:10px 0 0;font-size:13px}.category-card{gap:19px;display:grid}.category-row{grid-template-columns:92px 1fr 74px;align-items:center;gap:15px;font-size:12px;display:grid}.category-row>span{color:var(--secondary)}.category-row>div{background:#dedee3;border-radius:999px;height:7px;overflow:hidden}.category-row i{background:var(--blue);border-radius:inherit;height:100%;display:block}.category-row strong{text-align:right;font-size:12px}.ledger-heading{align-items:center}.ledger-toolbar{margin-top:44px}.ledger-toolbar>input{border:1px solid var(--line);background:var(--canvas);width:100%;height:48px;color:var(--ink);border-radius:12px;padding:0 17px}.ledger-toolbar>input::placeholder{color:var(--tertiary)}.category-filters{gap:8px;margin-top:14px;padding-bottom:5px;display:flex;overflow-x:auto}.category-filters button{color:var(--secondary);cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;padding:7px 12px;font-size:12px}.category-filters button:hover,.category-filters button.selected{background:var(--blue-soft);color:var(--blue)}.table-wrap{margin-top:20px;overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%}th{color:var(--tertiary);border-bottom:1px solid var(--line);white-space:nowrap;padding:13px 14px;font-size:11px;font-weight:500}td{border-bottom:1px solid var(--line-soft);color:var(--secondary);vertical-align:middle;white-space:nowrap;padding:20px 14px;font-size:13px}td:first-child{white-space:normal;min-width:190px}td strong,td small,.category-name{display:block}td strong{color:var(--ink);margin-top:4px;font-size:14px}td small{max-width:230px;color:var(--tertiary);margin-top:5px;font-size:10px}.category-name{color:var(--blue);font-size:10px}.status-pill{background:var(--canvas);color:var(--secondary);border-radius:999px;padding:6px 9px;font-size:11px}.row-actions{gap:8px;display:flex}.row-actions button{color:var(--blue);cursor:pointer;background:0 0;border:0;font-size:12px}.row-actions button:last-child{color:var(--orange)}footer{width:min(1080px,100% - 44px);min-height:150px;color:var(--tertiary);justify-content:space-between;align-items:center;margin:0 auto;font-size:12px;display:flex}footer button{color:var(--blue);cursor:pointer;background:0 0;border:0;font-size:12px}.dialog-backdrop{z-index:50;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0000003d;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.dialog{background:#fffffff5;border:1px solid #ffffffb8;border-radius:28px;width:min(680px,100%);max-height:calc(100vh - 44px);padding:42px;position:relative;overflow-y:auto;box-shadow:0 30px 100px #0003}.small-dialog{width:min(470px,100%)}.dialog-close{background:var(--canvas);width:31px;height:31px;color:var(--secondary);cursor:pointer;border:0;border-radius:50%;font-size:20px;line-height:1;position:absolute;top:18px;right:18px}.dialog h2{letter-spacing:-.04em;margin:0;font-size:34px}.dialog>p{color:var(--secondary);margin:14px 0 24px;font-size:14px;line-height:1.6}.small-dialog form{gap:13px;display:grid}.dialog input,.dialog select,.dialog textarea{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);border-radius:11px}.dialog input,.dialog select{height:45px;padding:0 13px}.dialog select{cursor:pointer}.dialog textarea{resize:vertical;padding:12px 13px}.item-form{grid-template-columns:1fr 1fr;gap:18px;margin-top:30px;display:grid}.item-form label>span{color:var(--secondary);margin-bottom:8px;font-size:12px;display:block}.full-field{grid-column:1/-1}.dialog-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.toast{z-index:70;color:#fff;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#1d1d1feb;border-radius:999px;padding:12px 18px;font-size:13px;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}@keyframes pulse{50%{opacity:.5}}@keyframes hero-rise{0%{opacity:0;filter:blur(10px);transform:translateY(28px)scale(.98)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}.hero h1{animation:.9s cubic-bezier(.16,1,.3,1) 80ms both hero-rise}.hero-stats article{animation:.9s cubic-bezier(.16,1,.3,1) .22s both hero-rise}.hero-stats article+article{animation-delay:.32s}@media (width<=860px){.cloud-state{display:none}.hero{min-height:690px}.hero-stats{grid-template-columns:1fr;gap:48px}.hero-stats article+article{border-top:1px solid var(--line);border-left:0;padding-top:48px}.finance-grid{grid-template-columns:1fr;gap:42px}.stage-list{grid-template-columns:repeat(2,1fr)}}@media (width<=700px){.ledger-section{padding-left:16px;padding-right:16px}.table-wrap{overflow:visible}table,tbody,tr,td{width:100%;display:block}thead{display:none}tbody{gap:12px;display:grid}tbody tr{background:var(--canvas);border:1px solid var(--line-soft);border-radius:18px;padding:17px 18px}td,td:first-child{text-align:right;white-space:normal;border:0;grid-template-columns:86px minmax(0,1fr);gap:14px;min-width:0;padding:7px 0;display:grid}td:before{content:attr(data-label);color:var(--tertiary);text-align:left;font-size:11px}td:first-child{border-bottom:1px solid var(--line-soft);text-align:left;margin-bottom:8px;padding-bottom:15px;display:block}td:first-child:before{display:none}td small{max-width:none}.row-actions{justify-content:flex-end}.status-pill{justify-self:end}}@media (width<=560px){.topbar,.content-section,footer{width:min(100% - 24px,1080px)}.topbar{min-height:58px}.top-actions{gap:2px}.quiet-button,.edit-button{min-height:40px;padding:8px 11px;font-size:12px}.hero{min-height:620px;padding:78px 18px}.hero h1{font-size:clamp(50px,18vw,74px)}.hero-stats{margin-top:70px}.hero-stats strong{font-size:clamp(41px,12vw,58px)}.content-section{border-radius:24px;padding:34px 24px}.section-heading{flex-direction:column;align-items:flex-start;gap:18px}.section-heading>strong{font-size:40px}.stage-list,.item-form{grid-template-columns:1fr}.full-field{grid-column:auto}.dialog{border-radius:22px;max-height:calc(100dvh - 16px);padding:36px 23px 25px}.dialog-backdrop{place-items:end center;padding:8px}.dialog input,.dialog select,.dialog textarea,.ledger-toolbar>input{font-size:16px}.category-row{grid-template-columns:70px minmax(40px,1fr) 62px;gap:9px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
