@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;--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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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:where(:not(iframe)){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{.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.table{display:table}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--background:#f6f1e7;--surface:#fff9f0;--surface-secondary:#f1e8d8;--primary:#14543a;--primary-dark:#0f3e2b;--primary-light:#dbe9dd;--accent-yellow:#d9a928;--accent-orange:#d96a2b;--accent-red:#b8412e;--accent-blue:#2e6e96;--text-primary:#173126;--text-secondary:#6b685f;--border:#d8cdb9;--border-strong:#bcae96;--focus:#e3a61b;--success-surface:#e2efe3;--warning-surface:#fff0c9;--danger-surface:#f8e1d9;--info-surface:#e2edf3;--shadow-soft:0 12px 30px #422f1b14;--shadow-card:0 5px 0 #684f2d14, 0 16px 36px #422f1b12;--shadow-raised:0 8px 0 #0f3e2b1f, 0 22px 48px #2f231424;--radius-small:10px;--radius-card:18px;--radius-large:26px;--font-display:"Trebuchet MS", "Avenir Next", Avenir, ui-sans-serif, system-ui, sans-serif;--green-900:var(--primary-dark);--green-800:var(--primary);--green-700:#176445;--green-600:#247c54;--green-100:var(--primary-light);--green-50:#edf4ea;--cream:var(--surface);--warm:var(--background);--ink:var(--text-primary);--muted:var(--text-secondary);--white:var(--surface)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{color:var(--ink);background-color:var(--background);-webkit-font-smoothing:antialiased;background-image:linear-gradient(#14543a06 1px,#0000 1px),linear-gradient(90deg,#14543a06 1px,#0000 1px);background-size:28px 28px;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}.container{width:min(1120px,100% - 2.5rem);margin-inline:auto}h1,h2,h3{color:var(--text-primary);font-family:var(--font-display);text-wrap:balance}.site-header{z-index:20;background:var(--cream);position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.site-header{background:color-mix(in srgb, var(--cream) 90%, transparent)}}.site-header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid #17352a14}.header__inner{justify-content:space-between;align-items:center;gap:2rem;min-height:76px;display:flex}.brand{letter-spacing:-.03em;align-items:center;gap:.65rem;font-size:1.2rem;font-weight:780;display:inline-flex}.brand__mark{color:#fff;background:var(--green-700);border-radius:9px 9px 9px 3px;place-items:center;width:2rem;height:2rem;font-size:1rem;display:grid}nav{color:#40584e;gap:2rem;font-size:.91rem;font-weight:560;display:flex}nav a,.social-link{transition:color .2s}nav a:hover{color:var(--green-700)}.button{border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:.65rem;min-height:50px;padding:.8rem 1.25rem;font-weight:680;transition:transform .2s,background .2s,box-shadow .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #f2b963}.button--primary{color:var(--white);background:var(--green-700);box-shadow:0 8px 24px #18794e2e}.button--primary:hover{background:var(--green-800)}.button--secondary{background:#fff9;border-color:#cad8cf}.button--secondary:hover{background:#fff}.button--small{min-height:42px;padding:.6rem 1rem;font-size:.9rem}.hero{background:radial-gradient(circle at 83% 28%,#dceddc 0,#0000 28%),linear-gradient(#fbfaf5 0%,#f7f8f1 100%);padding:5.6rem 0 7rem;position:relative;overflow:hidden}.hero:after{content:"";border:1px solid #1d8f5926;border-radius:50%;width:23rem;height:23rem;position:absolute;bottom:-11rem;right:-5rem;box-shadow:0 0 0 44px #1d8f5909,0 0 0 88px #1d8f5906}.hero__grid{z-index:1;grid-template-columns:1.02fr .98fr;align-items:center;gap:5rem;display:grid;position:relative}.eyebrow{color:var(--green-700);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.5rem;font-size:.78rem;font-weight:760;display:inline-flex}.eyebrow span{font-size:.6rem}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.066em;max-width:650px;margin:1.25rem 0 1.4rem;font-size:clamp(3.2rem,6.5vw,5.25rem);line-height:.98}.hero__lead{max-width:600px;color:var(--muted);font-size:1.12rem;line-height:1.7}.hero__actions{flex-wrap:wrap;gap:.75rem;margin-top:2.1rem;display:flex}.hero__note{color:#66786e;flex-wrap:wrap;gap:.65rem;margin:1.4rem 0 0;font-size:.82rem;display:flex}.hero__note span:first-child{color:var(--green-700);font-weight:800}.bill-stage{padding:2rem 1rem;position:relative}.bill-card{z-index:2;background:#fffffff5;border:1px solid #18794e1f;border-radius:24px;position:relative;overflow:hidden;transform:rotate(1deg);box-shadow:0 30px 70px #22453229}.bill-card__top{border-bottom:1px solid #edf1ee;justify-content:space-between;align-items:flex-start;padding:1.4rem 1.5rem;display:flex}.bill-card__top div{flex-direction:column;gap:.25rem;display:flex}.bill-card__label{color:#7a8982;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.bill-card__total{color:var(--green-700);font-weight:780}.bill-card__progress{background:var(--green-50);padding:1.1rem 1.5rem}.bill-card__progress div{justify-content:space-between;margin-bottom:.55rem;font-size:.78rem;display:flex}.bill-card__progress strong{color:var(--green-700)}.progress-track{background:#dce9df;border-radius:99px;height:7px;display:block;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--green-600);width:100%;height:100%;display:block}.bill-items{padding:.45rem 1.5rem}.bill-item{border-bottom:1px solid #edf1ee;justify-content:space-between;align-items:center;padding:.9rem 0;display:flex}.bill-item>div:first-child{gap:.2rem;display:grid}.bill-item strong{font-size:.84rem}.bill-item span{color:#7a8982;font-size:.75rem}.avatar-stack{flex-direction:row-reverse;justify-content:flex-end;display:flex}.avatar-stack span{width:25px;height:25px;color:var(--green-800);background:#e0efe3;border:2px solid #fff;border-radius:50%;place-items:center;margin-left:-6px;font-size:.62rem;font-weight:750;display:grid}.people-grid{grid-template-columns:1fr 1fr;gap:.7rem;padding:1.15rem 1.5rem 1.5rem;display:grid}.person-total{background:#f8faf8;border-radius:10px;align-items:center;gap:.55rem;padding:.65rem;display:flex}.person-total>span:last-child{display:grid}.person-total small{color:#728078;font-size:.66rem}.person-total strong{font-size:.76rem}.avatar{border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:.68rem;font-weight:780;display:grid}.avatar--green{color:#17673f;background:#d8efdf}.avatar--orange{color:#995118;background:#fde7cf}.avatar--pink{color:#99455d;background:#f8dce4}.avatar--blue{color:#315f92;background:#dce9f8}.floating-chip{z-index:3;background:#fff;border:1px solid #18794e1f;border-radius:10px;align-items:center;gap:.5rem;padding:.6rem .8rem;font-size:.72rem;font-weight:650;display:flex;position:absolute;box-shadow:0 10px 30px #2245321f}.floating-chip>span{color:#fff;background:var(--green-600);border-radius:50%;place-items:center;width:22px;height:22px;font-size:.65rem;display:grid}.floating-chip--top{top:.1rem;right:-1rem}.floating-chip--bottom{bottom:.2rem;left:-1rem}.section{background:var(--cream);padding:7rem 0}.section--warm{background:var(--warm)}.section-heading{text-align:center;max-width:640px;margin:0 auto 3rem}.section-heading--left{text-align:left;margin-left:0}.section-heading h2,.future h2,.closing h2{letter-spacing:-.05em;margin:.9rem 0 1rem;font-size:clamp(2.2rem,4vw,3.4rem);line-height:1.08}.section-heading p,.future p,.closing p{color:var(--muted);font-size:1.02rem;line-height:1.7}.steps-grid{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.step-card{background:#ffffffb3;border:1px solid #1e463017;border-radius:17px;min-height:250px;padding:1.6rem;transition:transform .2s,box-shadow .2s;position:relative}.step-card:hover{transform:translateY(-4px);box-shadow:0 16px 35px #25453314}.step-card__number{color:#b0bdb5;font-size:.72rem;font-weight:700;position:absolute;top:1.35rem;right:1.35rem}.step-card__icon,.benefit-card__icon{width:44px;height:44px;color:var(--green-700);background:var(--green-100);border-radius:12px;place-items:center;font-weight:800;display:grid}.step-card h3{margin:2.2rem 0 .7rem;font-size:1.04rem}.step-card p,.benefit-card p{color:var(--muted);margin:0;font-size:.88rem;line-height:1.6}.benefits-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.benefit-card{border:1px solid var(--border);background:#fff;border-radius:16px;gap:1rem;padding:1.5rem;display:flex}.benefit-card__icon{flex:none;width:40px;height:40px;font-size:.75rem}.benefit-card h3{margin:.1rem 0 .45rem;font-size:1rem}.future{color:#fff;background:var(--green-900)}.future__grid{grid-template-columns:1fr 1fr;align-items:center;gap:7rem;display:grid}.eyebrow--light{color:#8ed6a9}.future p{color:#b7cbbf}.development-label{color:#c8dbd0;border:1px solid #ffffff26;border-radius:9px;margin-top:1rem;padding:.55rem .75rem;font-size:.75rem;display:inline-flex}.future ul{gap:.7rem;margin:0;padding:0;list-style:none;display:grid}.future li{color:#e4eee8;background:#ffffff09;border:1px solid #ffffff17;border-radius:11px;align-items:center;gap:.8rem;padding:.9rem 1rem;font-size:.9rem;display:flex}.future li span{color:#9bdcb3;background:#75cf971f;border-radius:50%;place-items:center;width:24px;height:24px;font-size:.7rem;display:grid}.closing{background:var(--warm);padding:7rem 0}.closing__card{text-align:center;background:radial-gradient(circle at 80% 10%,#d5ecd9,#0000 32%),#f9fcf7;border:1px solid #18794e1f;border-radius:24px;padding:5rem 2rem}.closing__card h2{max-width:700px;margin-inline:auto}.closing__card p{max-width:690px;margin:0 auto}.status-badge{color:var(--green-800);background:var(--green-100);border-radius:999px;align-items:center;gap:.55rem;padding:.55rem .8rem;font-size:.75rem;font-weight:700;display:inline-flex}.status-badge span{font-size:.58rem}.footer__top,.footer__bottom{justify-content:space-between;align-items:center;gap:2rem;display:flex}.footer__top{padding-block:3rem}.footer .brand{color:#fff}.footer__top p{color:#9db5a6;margin:.7rem 0 0;font-size:.88rem}.socials{gap:.65rem;display:flex}.social-link{color:#9db5a6;border:1px solid #ffffff1f;border-radius:8px;padding:.6rem .8rem;font-size:.78rem}.social-link:hover{color:#fff;border-color:#ffffff4d}.footer__bottom{color:#789687;border-top:1px solid #ffffff17;padding-block:1.2rem;font-size:.7rem}@media (max-width:900px){nav{display:none}.hero{padding-top:4rem}.hero__grid,.future__grid{grid-template-columns:1fr;gap:3rem}.hero__content{max-width:680px}.bill-stage{width:min(100%,570px);margin-inline:auto}.steps-grid,.benefits-grid{grid-template-columns:1fr 1fr}.future__grid{gap:3.5rem}}@media (max-width:600px){.container{width:min(100% - 1.5rem,1120px)}.header__inner{min-height:68px}.header__inner>.button{display:none}h1{font-size:clamp(3rem,15vw,4rem)}.hero{padding:3.6rem 0 5rem}.hero__actions{flex-direction:column}.hero__actions .button{width:100%}.bill-stage{padding-inline:0}.bill-card{transform:none}.floating-chip{display:none}.people-grid{gap:.4rem;padding-inline:1rem}.bill-card__top,.bill-card__progress,.bill-items{padding-inline:1rem}.section,.closing{padding:5rem 0}.steps-grid,.benefits-grid{grid-template-columns:1fr}.step-card{min-height:auto}.future__grid{gap:2.5rem}.closing__card{padding:4rem 1.25rem}.footer__top,.footer__bottom{flex-direction:column;align-items:flex-start}.socials{flex-wrap:wrap}.footer__bottom{gap:.6rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #f2b963}.demo-page{background:#f5f7f2;min-height:100vh}.demo-header{background:#fbfaf5f0;border-bottom:1px solid #17352a17}.demo-header__inner{justify-content:space-between;align-items:center;gap:1rem;min-height:72px;display:flex}.back-link{min-height:44px;color:var(--green-800);align-items:center;gap:.45rem;font-size:.85rem;font-weight:680;display:inline-flex}.demo-main{padding-block:3.5rem 7rem}.demo-intro{justify-content:space-between;align-items:flex-end;gap:3rem;margin-bottom:2.3rem;display:flex}.demo-intro>div:first-child{max-width:720px}.local-badge{color:var(--green-800);background:var(--green-100);border-radius:999px;align-items:center;gap:.5rem;padding:.48rem .72rem;font-size:.74rem;font-weight:750;display:inline-flex}.local-badge span{font-size:.55rem}.demo-intro h1{margin:1rem 0 .85rem;font-size:clamp(2.5rem,5vw,4.5rem);line-height:1}.demo-intro p{max-width:720px;color:var(--muted);margin:0;line-height:1.65}.storage-status{border:1px solid var(--border);color:#52695d;background:#fff;border-radius:11px;align-items:flex-start;gap:.6rem;max-width:270px;padding:.8rem .9rem;font-size:.72rem;line-height:1.45;display:flex}.storage-status span{color:var(--green-700);font-weight:800}.active-person-banner{background:#eef8f0;border:1px solid #c9dfcf;border-radius:14px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.85rem 1rem;display:flex}.active-person-banner>div{align-items:center;gap:.75rem;display:flex}.active-person-banner>div>span{color:var(--muted);font-size:.72rem;display:grid}.active-person-banner>div strong{color:var(--ink);font-size:.95rem}.active-person-banner>strong{color:var(--green-700);font-size:1.15rem}.demo-layout{grid-template-columns:minmax(205px,.72fr) minmax(390px,1.65fr) minmax(240px,.85fr);align-items:start;gap:1rem;display:grid}.demo-panel,.items-column{border:1px solid var(--border);background:#fff;border-radius:18px}.demo-panel{padding:1.2rem}.items-column{padding:1.35rem}.demo-panel__heading{justify-content:space-between;align-items:flex-start;gap:.8rem;display:flex}.demo-panel__heading h2,.reconciliation h2,.demo-section-title h2{letter-spacing:-.025em;margin:.25rem 0 0;font-size:1.25rem}.demo-kicker{color:var(--green-700);letter-spacing:.08em;text-transform:uppercase;font-size:.65rem;font-weight:780}.demo-count{color:#687c70;background:#f0f4f0;border-radius:7px;flex:none;padding:.3rem .48rem;font-size:.68rem;font-weight:680}.demo-helper{color:var(--muted);margin:.75rem 0 1rem;font-size:.73rem;line-height:1.45}.participant-list{gap:.45rem;display:grid}.participant-row{border:1px solid #0000;border-radius:12px;align-items:center;gap:.25rem;padding:.25rem;display:flex}.participant-row--active{background:var(--green-50);border-color:#bad9c2}.participant-select{cursor:pointer;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:.65rem;min-width:0;min-height:48px;padding:.35rem;display:flex}.participant-select>span:last-child{min-width:0;display:grid}.participant-select strong{text-overflow:ellipsis;font-size:.82rem;overflow:hidden}.participant-select small{color:#819087;font-size:.64rem}.demo-avatar{border-radius:50%;flex:none;place-items:center;font-weight:780;display:grid}.demo-avatar--medium{width:36px;height:36px;font-size:.72rem}.demo-avatar--small{width:26px;height:26px;font-size:.58rem}.demo-avatar--green{color:#17673f;background:#d8efdf}.demo-avatar--orange{color:#995118;background:#fde7cf}.demo-avatar--pink{color:#99455d;background:#f8dce4}.demo-avatar--blue{color:#315f92;background:#dce9f8}.demo-avatar--purple{color:#694c99;background:#e9dff7}.demo-avatar--yellow{color:#7d6411;background:#f8efc7}.demo-avatar--teal{color:#18706b;background:#d7efed}.demo-avatar--red{color:#99463f;background:#f7dfdc}.icon-button{cursor:pointer;border:0;border-radius:10px;flex:none;place-items:center;width:44px;height:44px;display:grid}.icon-button:disabled{cursor:not-allowed;opacity:.35}.icon-button--quiet{color:#8a9991;background:0 0;width:38px;height:38px;font-size:1.2rem}.icon-button--quiet:not(:disabled):hover{color:#9a3d38;background:#faece9}.icon-button--add{color:#fff;background:var(--green-700);font-size:1.25rem}.participant-form{border-top:1px solid #e9efea;margin-top:1.2rem;padding-top:1rem}.participant-form label{margin-bottom:.45rem;font-size:.7rem;font-weight:700;display:block}.participant-form>div{gap:.4rem;display:flex}.participant-form input{width:100%;min-width:0;min-height:44px;color:var(--ink);background:#fbfcfa;border:1px solid #ccd8d0;border-radius:10px;padding:.65rem .7rem;font-size:.78rem}.participant-form input[aria-invalid=true]{border-color:#b9544c}.form-error,.form-limit{margin:.5rem 0 0;font-size:.67rem;line-height:1.4}.form-error{color:#a33e37}.form-limit{color:var(--muted)}.demo-items{gap:.8rem;margin-top:1rem;display:grid}.demo-item{background:#fcfdfb;border:1px solid #e0e7e1;border-radius:14px;padding:1rem;overflow:hidden;box-shadow:inset 3px 0 #c5d1c9}.demo-item__top{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.demo-item__top h3{margin:.2rem 0 .25rem;font-size:1rem}.demo-item__top p{color:var(--muted);margin:0;font-size:.72rem}.demo-item__top>strong{color:var(--green-800);white-space:nowrap;font-size:.86rem}.item-mode{color:#7a8b81;letter-spacing:.08em;text-transform:uppercase;font-size:.58rem;font-weight:760}.unit-status{gap:.5rem;margin-top:.8rem;display:flex}.unit-status span{color:#6d7e74;background:#f0f4f0;border-radius:7px;padding:.35rem .5rem;font-size:.65rem}.unit-owners{flex-wrap:wrap;gap:.35rem;margin-top:.65rem;display:flex}.owner-chip{color:#53685c;background:#fff;border:1px solid #e0e8e2;border-radius:999px;align-items:center;gap:.3rem;padding:.25rem .45rem .25rem .25rem;font-size:.64rem;display:inline-flex}.empty-allocation{color:#89978f;font-size:.68rem}.quantity-control{border-top:1px solid #e7ede8;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.8rem;padding-top:.75rem;display:flex}.quantity-control>span{color:var(--muted);font-size:.68rem}.quantity-control>div{align-items:center;gap:.35rem;display:flex}.quantity-control button{cursor:pointer;background:#fff;border:1px solid #c9d7ce;border-radius:10px;place-items:center;width:44px;height:44px;font-size:1.1rem;font-weight:650;display:grid}.quantity-control button:last-child{color:#fff;border-color:var(--green-700);background:var(--green-700)}.quantity-control button:disabled{cursor:not-allowed;opacity:.3}.quantity-control output{text-align:center;min-width:26px;font-size:.85rem;font-weight:750}.shared-options{border:0;border-top:1px solid #e7ede8;margin:.8rem 0 0;padding:.75rem 0 0}.shared-options legend{color:var(--muted);padding:0;font-size:.68rem;font-weight:680}.shared-options>div{grid-template-columns:1fr 1fr;gap:.4rem;margin-top:.55rem;display:grid}.shared-person{cursor:pointer;background:#fff;border:1px solid #dfe7e1;border-radius:10px;align-items:center;gap:.4rem;min-width:0;min-height:46px;padding:.35rem .5rem;font-size:.68rem;display:flex}.shared-person--selected{background:var(--green-50);border-color:#aaceb3}.shared-person input{width:16px;height:16px;accent-color:var(--green-700);margin:0}.shared-person>span:not(.demo-avatar){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shared-person strong{color:var(--green-700);margin-left:auto;font-size:.62rem}.shared-note{color:#728279;margin:.65rem 0 0;font-size:.64rem;line-height:1.4}.reconciliation{position:sticky;top:1rem}.reconciliation__total{color:#fff;background:var(--green-900);border-radius:12px;gap:.25rem;margin-top:1.15rem;padding:1rem;display:grid}.reconciliation__total span{color:#b4cabd;font-size:.68rem}.reconciliation__total strong{letter-spacing:-.03em;font-size:1.5rem}.reconciliation__numbers{gap:.5rem;margin:.8rem 0;display:grid}.reconciliation__numbers div{justify-content:space-between;gap:.5rem;font-size:.72rem;display:flex}.reconciliation__numbers dt{color:var(--muted)}.reconciliation__numbers dd{margin:0;font-weight:720}.reconciliation__progress{border-top:1px solid #e7ede8;padding:.7rem 0}.reconciliation__progress>div:first-child{justify-content:space-between;margin-bottom:.45rem;font-size:.67rem;display:flex}.demo-progress{background:#e0e8e2;border-radius:99px;height:8px;overflow:hidden}.demo-progress span{border-radius:inherit;background:var(--green-600);height:100%;transition:width .25s;display:block}.reconciliation__status{background:#f6f7f5;border-radius:10px;gap:.55rem;margin-top:.35rem;padding:.75rem;display:flex}.reconciliation--complete .reconciliation__status{color:#17673f;background:#e6f5e9}.reconciliation__status>span{color:#fff;background:var(--green-600);border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:.65rem;display:grid}.reconciliation__status strong{font-size:.72rem}.reconciliation__status p{color:#668174;margin:.2rem 0 0;font-size:.62rem;line-height:1.4}.reconciliation__status ul{color:#6a7c72;margin:.45rem 0 0;padding-left:1.05rem;font-size:.65rem;line-height:1.6}.reset-button{color:#92453f;cursor:pointer;background:#fff9f8;border:1px solid #d8bebb;border-radius:10px;width:100%;min-height:44px;margin-top:.8rem;font-size:.7rem;font-weight:680}.reset-button:hover{background:#faecea}.participant-summaries{margin-top:4rem}.demo-section-title{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.2rem;display:flex}.demo-section-title p{color:var(--muted);margin:0;font-size:.76rem}.summary-grid{grid-template-columns:repeat(2,1fr);gap:.8rem;display:grid}.person-summary{border:1px solid var(--border);background:#fff;border-radius:15px;padding:1.2rem}.person-summary--active{border-color:#9fc9aa;box-shadow:0 10px 25px #18794e14}.person-summary__heading{align-items:center;gap:.65rem;display:flex}.person-summary__heading h3{margin:0;font-size:.95rem}.person-summary__heading span{color:var(--green-700);font-size:.62rem}.person-summary__lines{gap:.6rem;min-height:58px;margin:1rem 0;display:grid}.person-summary__lines>div{align-items:end;gap:.45rem;font-size:.7rem;display:flex}.person-summary__lines>div>span:first-child{display:grid}.person-summary__lines small{color:#7e8d84;font-size:.61rem}.summary-dots{border-bottom:1px dotted #bdc9c1;flex:1;min-width:15px;transform:translateY(-3px)}.person-summary__lines p{color:#87958c;font-size:.7rem}.person-summary__total{border-top:1px solid #e4ebe6;justify-content:space-between;align-items:center;padding-top:.8rem;font-size:.75rem;display:flex}.person-summary__total strong{color:var(--green-700);font-size:1.05rem}.mobile-active-total{display:none}@media (max-width:1050px){.demo-layout{grid-template-columns:230px minmax(0,1fr)}.reconciliation{grid-column:1/-1;position:static}.reconciliation__numbers{grid-template-columns:1fr 1fr}}@media (max-width:760px){.demo-main{padding-top:2.4rem;padding-bottom:8rem}.demo-intro{flex-direction:column;align-items:flex-start;gap:1rem}.storage-status{max-width:none}.demo-layout{grid-template-columns:1fr}.reconciliation{grid-column:auto}.participants-panel{order:1}.items-column{order:2}.reconciliation{order:3}.summary-grid{grid-template-columns:1fr}.demo-section-title{flex-direction:column;align-items:flex-start;gap:.4rem}}@media (max-width:520px){.demo-header__inner{min-height:64px}.demo-header .brand{font-size:1.05rem}.back-link{font-size:.75rem}.demo-intro h1{font-size:2.65rem}.active-person-banner{z-index:10;position:sticky;top:.5rem}.demo-panel,.items-column{border-radius:14px}.shared-options>div{grid-template-columns:1fr}.unit-status{flex-wrap:wrap}.quantity-control{flex-direction:column;align-items:flex-start}.quantity-control>div{justify-content:flex-end;align-self:stretch}.quantity-control button{width:48px;height:48px}.mobile-active-total{z-index:30;color:#fff;background:var(--green-900);border:1px solid #ffffff29;border-radius:14px;justify-content:space-between;align-items:center;min-height:58px;padding:.75rem 1rem;display:flex;position:fixed;bottom:.75rem;left:.75rem;right:.75rem;box-shadow:0 12px 35px #123d2b47}.mobile-active-total span{color:#b9cfc2;font-size:.72rem}.mobile-active-total strong{font-size:1.05rem}}.room-page,.room-shell{background:#f5f7f2;min-height:100vh}.room-shell{place-items:center;padding:2rem 1rem;display:grid}.room-shell--centered{min-height:calc(100vh - 72px)}.room-main,.live-room{padding-block:3.5rem 7rem}.room-page-heading{max-width:720px;margin-bottom:2rem}.room-page-heading h1,.live-room-heading h1,.config-card h1,.join-card h1{letter-spacing:-.055em;margin:.9rem 0 .7rem;font-size:clamp(2.4rem,5vw,4.25rem);line-height:1}.room-page-heading p,.live-room-heading p,.config-card p,.join-card>p{color:var(--muted);line-height:1.65}.config-card,.join-card{border:1px solid var(--border);background:#fff;border-radius:22px;width:min(100%,580px);padding:clamp(1.5rem,5vw,3rem);box-shadow:0 24px 60px #1f412d1a}.config-card code{color:var(--green-800);background:var(--green-50);border-radius:8px;margin-top:1.5rem;padding:.55rem .7rem;display:inline-block}.room-actions{flex-wrap:wrap;gap:.7rem;margin-top:1.5rem;display:flex}.room-form{gap:1rem;display:grid}.room-form-card,.create-total-card{border:1px solid var(--border);background:#fff;border-radius:18px;padding:clamp(1.2rem,3vw,2rem)}.room-form-card h2{margin:.35rem 0 1.3rem;font-size:1.35rem}.form-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.field{align-content:start;gap:.4rem;min-width:0;display:grid}.field--wide{grid-column:span 2}.field label{font-size:.75rem;font-weight:700}.field label span{color:var(--muted);font-weight:450}.field input,.field select{width:100%;min-width:0;min-height:46px;color:var(--ink);background:#fbfcfa;border:1px solid #cad7cf;border-radius:10px;padding:.7rem .8rem}.field input[aria-invalid=true],.field select[aria-invalid=true]{border-color:#b9544c}.field-error{color:#a33e37;font-size:.68rem;line-height:1.4}.editor-heading,.live-section-heading,.live-room-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.room-form-help{color:var(--muted);margin:-1rem 0 1.5rem;font-size:.8rem;line-height:1.5}.bill-editor{gap:.8rem;display:grid}.bill-editor-item{background:#fafcf9;border:1px solid #e0e8e2;border-radius:13px;grid-template-columns:1.5fr .8fr .65fr .9fr;gap:.8rem;padding:1.2rem;display:grid;position:relative}.bill-editor-item legend{color:var(--green-700);padding:0 .35rem;font-size:.7rem;font-weight:780}.item-order-controls{gap:.25rem;display:flex;position:absolute;top:-.75rem;right:.7rem}.item-order-controls button{cursor:pointer;background:#fff;border:1px solid #d4dfd7;border-radius:9px;width:38px;height:38px}.item-order-controls button:disabled{opacity:.35;cursor:not-allowed}.item-calculated-total{text-align:right;align-content:end;gap:.2rem;display:grid}.item-calculated-total span{color:var(--muted);font-size:.65rem}.item-calculated-total strong{color:var(--green-700)}.add-line-button{min-height:46px;color:var(--green-800);background:var(--green-50);cursor:pointer;border:1px dashed #9fc3a8;border-radius:11px;margin-top:1rem;padding:.7rem 1rem;font-weight:700}.create-total-card{justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.create-total-card>div{display:grid}.create-total-card span{color:var(--muted);font-size:.72rem}.create-total-card strong{color:var(--green-700);font-size:1.8rem}.room-submit-error,.room-error-banner{color:#913d37;background:#fff5f3;border:1px solid #ebc4bf;border-radius:10px;margin:0;padding:.8rem 1rem;font-size:.78rem}.join-card{gap:1rem;display:grid}.join-card h1{font-size:clamp(2.3rem,7vw,3.5rem)}.join-card .button{width:100%;margin-top:.4rem}.join-card small{color:var(--muted);line-height:1.5}.code-input{letter-spacing:.12em;text-transform:uppercase;font-size:1.2rem;font-weight:750}.live-room-heading{align-items:flex-end;margin-bottom:1.2rem}.live-room-heading h1{font-size:clamp(2.2rem,5vw,3.7rem)}.live-room-heading p{margin:0}.connection-pill,.room-status{border-radius:999px;align-items:center;gap:.45rem;padding:.45rem .65rem;font-size:.68rem;font-weight:720;display:inline-flex}.connection-pill--connected{color:#17673f;background:#dff3e6}.connection-pill--degraded,.connection-pill--reconnecting{color:#875c13;background:#fbefcf}.connection-pill--error{color:#913d37;background:#fae1de}.connection-pill span{font-size:.5rem}.room-status--open{color:#17673f;background:#dff3e6}.room-status--locked{color:#875c13;background:#fbefcf}.room-status--closed{color:#59645e;background:#e4e8e5}.room-state-banner,.room-error-banner{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.room-state-banner{color:#6d541b;background:#fbefcf;border-radius:11px;padding:.8rem 1rem}.room-state-banner span{font-size:.75rem}.room-error-banner button{min-height:44px;color:inherit;cursor:pointer;background:0 0;border:0;text-decoration:underline}.live-room-grid{grid-template-columns:minmax(220px,.75fr) minmax(400px,1.6fr) minmax(245px,.82fr);align-items:start;gap:1rem;display:grid}.live-card,.live-items{border:1px solid var(--border);background:#fff;border-radius:17px;padding:1.2rem}.live-card h2,.live-section-heading h2{margin:.3rem 0 1rem;font-size:1.25rem}.live-participant-list{gap:.4rem;display:grid}.live-person{border-radius:10px;align-items:center;gap:.55rem;min-height:48px;padding:.35rem;display:flex}.live-person>span:nth-child(2){flex:1;min-width:0;display:grid}.live-person strong{text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.live-person small{color:var(--muted);font-size:.62rem}.live-person>button{color:#9b413c;cursor:pointer;background:#fff2f0;border:0;border-radius:8px;width:36px;height:36px}.live-person--removed{opacity:.52}.share-panel{text-align:center;border-top:1px solid #e5ebe7;justify-items:center;gap:.55rem;margin-top:1rem;padding-top:1rem;display:grid}.share-panel svg{background:#fff;border:1px solid #dfe7e1;border-radius:10px;width:min(100%,176px);height:auto;padding:.5rem}.share-panel>strong{letter-spacing:.1em;font-size:1.2rem}.share-panel p{color:var(--muted);margin:0;font-size:.66rem;line-height:1.4}.share-panel>div{grid-template-columns:1fr 1fr;gap:.4rem;width:100%;display:grid}.share-panel button,.shared-action,.host-controls button{min-height:44px;color:var(--green-800);cursor:pointer;background:#fff;border:1px solid #cbd8cf;border-radius:9px;padding:.55rem .65rem;font-size:.68rem;font-weight:700}.share-panel>span{min-height:1rem;color:var(--green-700);font-size:.62rem}.live-section-heading{align-items:flex-start}.live-section-heading>strong{color:var(--green-700)}.live-item-card{background:#fcfdfb;border:1px solid #dfe7e1;border-radius:13px;margin-top:.8rem;padding:1rem}.shared-live-list{flex-wrap:wrap;gap:.4rem;margin:.8rem 0;display:flex}.shared-live-list span{color:#52685b;background:var(--green-50);border-radius:999px;padding:.35rem .5rem;font-size:.65rem}.shared-action{color:#fff;border-color:var(--green-700);background:var(--green-700);width:100%}.shared-action--remove{color:#8d403a;background:#fff6f4;border-color:#e1bdb9}.shared-action:disabled,.host-controls button:disabled{cursor:not-allowed;opacity:.4}.live-reconciliation{position:sticky;top:1rem}.live-total{color:#fff;background:var(--green-900);border-radius:11px;gap:.25rem;padding:1rem;display:grid}.live-total span{color:#b5cbbd;font-size:.68rem}.live-total strong{font-size:1.5rem}.live-reconciliation dl{gap:.45rem;margin:.8rem 0;display:grid}.live-reconciliation dl div{justify-content:space-between;font-size:.72rem;display:flex}.live-reconciliation dt{color:var(--muted)}.live-reconciliation dd{margin:0;font-weight:720}.complete-message{color:#17673f;background:#e5f5e9;border-radius:9px;padding:.7rem;font-size:.72rem;font-weight:720}.pending-list{margin-top:.8rem;font-size:.68rem}.pending-list ul{color:var(--muted);margin:.4rem 0 0;padding-left:1rem;line-height:1.5}.host-controls{border-top:1px solid #e3eae5;gap:.45rem;margin-top:1rem;padding-top:.9rem;display:grid}.host-controls>span{color:var(--muted);font-size:.65rem;font-weight:700}.host-controls button{color:#fff;border-color:var(--green-700);background:var(--green-700);width:100%}.host-controls .danger-button{color:#8d403a;background:#fff6f4;border-color:#e1bdb9}@media (max-width:1060px){.live-room-grid{grid-template-columns:230px minmax(0,1fr)}.live-reconciliation{grid-column:1/-1;position:static}.bill-editor-item{grid-template-columns:1fr 1fr}}@media (max-width:760px){.room-main,.live-room{padding-block:2.4rem 6rem}.form-grid,.live-room-grid{grid-template-columns:1fr}.live-reconciliation{grid-column:auto}.live-room-heading,.create-total-card,.room-state-banner,.room-error-banner{flex-direction:column;align-items:flex-start}.create-total-card .button{width:100%}.bill-editor-item{grid-template-columns:1fr;padding-top:2rem}.field--wide{grid-column:auto}.item-calculated-total{text-align:left}.live-participants{order:1}.live-items{order:2}.live-reconciliation{order:3}.share-panel svg{width:180px}}@media (max-width:520px){.room-shell{padding-inline:.75rem}.room-form-card,.create-total-card,.live-card,.live-items{border-radius:14px}.room-actions,.room-actions .button{width:100%}.share-panel>div{grid-template-columns:1fr}}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.entry-method-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin-top:1rem;display:grid}.entry-method-options button{border:1px solid var(--border);background:var(--white);min-height:96px;color:var(--ink);text-align:left;cursor:pointer;border-radius:18px;padding:1rem}.entry-method-options button strong,.entry-method-options button span{display:block}.entry-method-options button span{color:var(--muted);margin-top:.35rem;line-height:1.5}.entry-method-options .entry-method--active{border-color:var(--green-700);background:var(--green-50);box-shadow:0 0 0 3px #1f7a4c1f}.ocr-flow,.ocr-unavailable{border:1px solid var(--border);background:var(--white);border-radius:24px;min-width:0;padding:clamp(1.1rem,3vw,1.6rem);overflow:hidden;box-shadow:0 14px 36px #22453214}.ocr-unavailable{background:#fffaf0;border-style:dashed}.ocr-unavailable p{color:var(--muted);margin:.45rem 0 0}.ocr-capture-tips{color:var(--muted);gap:.35rem;margin:1rem 0;padding-left:1.25rem;display:grid}.ocr-capture-actions,.ocr-inline-actions{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.ocr-capture-actions label{cursor:pointer}.ocr-preview-card{border:1px solid var(--border);background:var(--cream);border-radius:18px;min-width:0;margin-top:1rem;padding:.85rem}.ocr-preview-card summary{cursor:pointer;min-height:44px;font-weight:700}.ocr-preview{object-fit:contain;background:#fff;border-radius:14px;width:100%;max-width:100%;height:auto;max-height:540px;margin-top:.75rem;display:block}.ocr-preview-card>p{color:var(--muted);font-size:.9rem}.ocr-consent{background:#f4faf6;border-radius:18px;flex-direction:column;gap:1rem;margin:1rem 0;padding:1rem;display:flex}.ocr-consent-transparency{overflow-wrap:anywhere;margin:0;font-weight:650;line-height:1.55}.ocr-consent-row{align-items:flex-start;gap:.75rem;min-height:44px;display:flex}.ocr-consent-checkbox{width:20px;height:20px;accent-color:var(--green-700);flex-shrink:0;margin:.25rem 0 0}.ocr-consent-label{cursor:pointer;overflow-wrap:anywhere;min-width:0;line-height:1.5}.ocr-consent-helper{color:var(--muted);overflow-wrap:anywhere;font-size:.875rem;line-height:1.5;display:block}.ocr-divergence label{align-items:flex-start;gap:.65rem;line-height:1.45;display:flex}.ocr-divergence input{width:20px;height:20px;accent-color:var(--green-700);flex:none;margin-top:.1rem}.ocr-session-recovery{margin-top:.75rem}.ocr-session-notice{color:var(--green-800);background:var(--green-50);border-radius:14px;margin:.75rem 0 0;padding:.8rem 1rem}.ocr-processing{background:var(--green-50);border-radius:18px;align-items:center;gap:.9rem;margin:1rem 0;padding:1rem;display:flex}.ocr-processing p{color:var(--muted);margin:.2rem 0 0}.ocr-processing button{min-height:44px;margin-left:auto}.ocr-spinner{border:3px solid #1f7a4c33;border-top-color:var(--green-700);border-radius:50%;flex:none;width:24px;height:24px;animation:.9s linear infinite ocr-spin}@keyframes ocr-spin{to{transform:rotate(360deg)}}.ocr-reading-summary,.ocr-comparison{border:1px solid var(--border);border-radius:18px;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1rem;padding:1rem;display:flex}.ocr-reading-summary button{margin-left:auto}.ocr-comparison h3{width:100%;margin:0}.ocr-comparison>div{flex:240px}.ocr-reconciliation{background:var(--cream);border-radius:18px;margin:1rem 0 1.25rem;padding:1rem}.ocr-reconciliation dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:0;display:grid}.ocr-reconciliation dl>div{background:#fff;border-radius:14px;padding:.75rem}.ocr-reconciliation dt{color:var(--muted);font-size:.82rem}.ocr-reconciliation dd{margin:.25rem 0 0;font-weight:750}.ocr-detected-reference{color:var(--muted);margin-top:.3rem;font-size:.75rem;font-weight:500;line-height:1.35;display:block}.ocr-reconciled{color:var(--green-800);font-weight:750}.ocr-divergence{background:#fff8e8;border:1px solid #e8b75b;border-radius:14px;margin-top:1rem;padding:1rem}.ocr-warnings,.ocr-review-reasons{color:#785113}.bill-editor-item--review:focus{outline-offset:4px;outline:3px solid #1f7a4c59}.review-badge{color:#714b08;background:#fff1cb;border-radius:999px;margin-left:.55rem;padding:.18rem .5rem;font-size:.72rem;font-weight:800;display:inline-flex}.ocr-review-reasons{grid-column:1/-1;margin:0;padding-left:1.25rem;font-size:.85rem}.ocr-item-review-actions{background:#fff8e8;border-radius:14px;flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:.7rem;padding:.85rem;display:flex}.ocr-item-review-actions p{color:#68460b;width:100%;margin:0;font-weight:750}.ocr-quality-summary{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1rem;font-size:.9rem;display:flex}.ocr-quality-summary>p{margin:0}.ocr-quality-summary .field-error{width:100%}.ocr-review-complete{color:var(--green-800);font-weight:750}.ocr-review-complete:focus{outline-offset:4px;outline:3px solid #1f7a4c40}@media (max-width:760px){.entry-method-options,.ocr-reconciliation dl{grid-template-columns:1fr}.ocr-capture-actions .button,.ocr-inline-actions .button{width:100%}.ocr-processing{flex-wrap:wrap;align-items:flex-start}.ocr-processing button,.ocr-reading-summary button{width:100%;margin-left:0}.ocr-preview{max-height:65vh}.ocr-item-review-actions .button,.ocr-quality-summary .button{width:100%}}@media (prefers-reduced-motion:reduce){.ocr-spinner{animation-duration:2s}}::selection{color:var(--surface);background:var(--primary)}button,input,select,textarea{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:3px}input::placeholder,textarea::placeholder{color:#898378;opacity:1}.site-header,.demo-header{border-bottom:1px solid var(--border);background:linear-gradient(90deg, #d9a92814, transparent 28%), var(--surface)}@supports (color:color-mix(in lab, red, red)){.site-header,.demo-header{background:linear-gradient(90deg, #d9a92814, transparent 28%), color-mix(in srgb, var(--surface) 94%, transparent)}}.site-header,.demo-header{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 4px 18px #3e2d180b}.brand{color:var(--primary-dark);font-family:var(--font-display);letter-spacing:-.035em;font-weight:850}.brand__mark{background:linear-gradient(90deg, transparent 17%, #ffffff26 18% 22%, transparent 23% 77%, #ffffff1f 78% 82%, transparent 83%), linear-gradient(180deg, #1b694a, var(--primary));font-family:var(--font-display);border:1px solid #fff9f03d;border-radius:8px 8px 8px 3px;font-weight:900;position:relative;overflow:hidden;box-shadow:inset 0 -4px #0f3e2b57,0 3px #0f3e2b26}nav{color:#4e594f}nav a{position:relative}nav a:after{background:var(--accent-yellow);content:"";opacity:0;border-radius:999px;height:3px;transition:opacity .2s,transform .2s;position:absolute;bottom:-.45rem;left:0;right:0;transform:scaleX(.45)}nav a:hover:after,nav a:focus-visible:after{opacity:1;transform:scaleX(1)}.button{cursor:pointer;font-family:var(--font-display);letter-spacing:-.01em;border-radius:11px;font-weight:800;transition:transform .18s,background .18s,border-color .18s,box-shadow .18s}.button--primary{border-color:var(--primary-dark);color:#fffdf7;background:linear-gradient(180deg, #1a6748, var(--primary));box-shadow:0 4px 0 var(--primary-dark), 0 11px 24px #14543a29}.button--primary:hover{background:linear-gradient(180deg, #195e43, var(--primary-dark));transform:translateY(1px);box-shadow:0 3px #0a2f20,0 9px 20px #14543a30}.button--secondary{border-color:var(--border-strong);color:var(--primary-dark);background:var(--surface);box-shadow:0 3px #684f2d1a}.button--secondary:hover{border-color:var(--accent-yellow);background:#fff6df;transform:translateY(-1px);box-shadow:0 3px #d9a9282e}.button:disabled,button:disabled{cursor:not-allowed}.hero{isolation:isolate;background:radial-gradient(circle at 82% 24%, #d9a92833, transparent 24%), radial-gradient(circle at 12% 88%, #d96a2b17, transparent 24%), linear-gradient(135deg, #fff9ef 0%, var(--background) 58%, #eee3cf 100%);padding:6.2rem 0 7.4rem}.hero:before{z-index:-1;content:"";background-image:linear-gradient(30deg,#14543a09 12%,#0000 12.5% 87%,#14543a09 87.5%),linear-gradient(150deg,#d96a2b07 12%,#0000 12.5% 87%,#d96a2b07 87.5%);background-position:0 0,24px 24px;background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 35%,#000);mask-image:linear-gradient(90deg,#0000,#000 35%,#000)}.hero:after{width:24rem;height:18rem;box-shadow:none;opacity:.55;background:linear-gradient(90deg,#0000 14%,#ffffff29 15% 18%,#0000 19% 81%,#ffffff21 82% 85%,#0000 86%),repeating-linear-gradient(0deg,#0f3e2b2e 0 4px,#0000 4px 39px),linear-gradient(135deg,#14543a2e,#d9a92838);border:0;border-radius:36px;bottom:-7rem;right:-4rem;transform:rotate(-7deg)}.eyebrow,.demo-kicker{color:var(--primary);font-family:var(--font-display);font-weight:850}.eyebrow{border:1px solid var(--accent-yellow);padding:.38rem .62rem}@supports (color:color-mix(in lab, red, red)){.eyebrow{border:1px solid color-mix(in srgb, var(--accent-yellow) 55%, var(--border))}}.eyebrow{letter-spacing:.07em;background:#fff4d2;border-radius:7px 7px 7px 2px}h1{letter-spacing:-.052em}.hero h1{text-shadow:0 2px #ffffffb3;max-width:680px}.hero__lead{color:#5d625b}.hero__note{color:var(--text-secondary)}.hero__note span:first-child{color:var(--accent-orange)}.bill-stage:before,.bill-stage:after{z-index:0;content:"";border-radius:14px;position:absolute}.bill-stage:before{background:repeating-linear-gradient(90deg, transparent 0 20px, #ffffff2e 20px 25px), var(--accent-orange);border:3px solid #fff9f0cc;width:34%;height:24%;top:8%;right:-3%;transform:rotate(7deg);box-shadow:0 10px 22px #6a35171f}.bill-stage:after{background:repeating-linear-gradient(90deg, transparent 0 18px, #ffffff29 18px 23px), var(--accent-yellow);border:3px solid #fff9f0cc;width:31%;height:21%;bottom:7%;left:-2%;transform:rotate(-8deg);box-shadow:0 10px 22px #5a43131f}.bill-card{border:1px solid var(--border-strong);box-shadow:var(--shadow-raised);background:linear-gradient(#fff9f0f5,#fff9f0f5),repeating-linear-gradient(0deg,#0000 0 27px,#2e6e960f 27px 28px);border-radius:18px 18px 24px 15px}.bill-card__top,.bill-item{border-color:#e4d9c5}.bill-card__progress{background:#edf2df}.progress-track,.demo-progress{background:#dcd2bf}.progress-track span,.demo-progress span{background:linear-gradient(90deg, var(--accent-yellow), var(--primary))}.person-total{background:#fff5e7;border:1px solid #eadfcd}.floating-chip{border-color:var(--border-strong);background:var(--surface);box-shadow:var(--shadow-soft);border-radius:8px 8px 8px 2px}.floating-chip--top{border-left:4px solid var(--accent-orange)}.floating-chip--bottom{border-left:4px solid var(--accent-yellow)}.section{background:var(--surface);position:relative}.section--warm,.closing{background-color:var(--background);background-image:radial-gradient(#14543a0f 1px,#0000 1px);background-size:18px 18px}.section-heading h2,.future h2,.closing h2{letter-spacing:-.04em}.step-card,.benefit-card{border-color:var(--border);background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.step-card,.benefit-card{background:color-mix(in srgb, var(--surface) 94%, transparent)}}.step-card,.benefit-card{box-shadow:var(--shadow-card)}.step-card{overflow:hidden}.step-card:after{background:var(--accent-yellow);content:"";border-radius:.45rem 0 0;width:4.5rem;height:.45rem;position:absolute;bottom:0;right:0}.step-card:nth-child(2):after{background:var(--accent-orange)}.step-card:nth-child(3):after{background:var(--accent-blue)}.step-card:nth-child(4):after{background:var(--primary)}.step-card__number{color:#8b806f;font-family:var(--font-display);font-weight:850}.step-card__icon,.benefit-card__icon{color:var(--primary);background:#e6eee0;border:1px solid #c7d5c3;border-radius:9px 9px 9px 3px;box-shadow:inset 0 -3px #14543a14}.benefit-card:nth-child(3n+2) .benefit-card__icon{color:#76590e;background:#fff0c5;border-color:#ead49b}.benefit-card:nth-child(3n) .benefit-card__icon{color:#8e411f;background:#f9e2d4;border-color:#e6c2ad}.future{color:#fffaf1;background:linear-gradient(120deg, #d9a92817, transparent 38%), var(--primary-dark);overflow:hidden}.future:after{content:"";border:30px solid #d9a92812;border-radius:50%;width:25rem;height:25rem;position:absolute;bottom:-8rem;right:-5rem}.future h2{color:#fffaf1}.eyebrow--light{color:#ffe49a;background:#ffffff0f;border-color:#ffeba93d}.development-label{color:#ffe6a3;background:#ffffff0d;border-color:#ffe49a42}.future li{background:#fff9f00e;border-color:#fff9f021;border-radius:9px 9px 9px 3px}.future li:nth-child(3n+2) span{color:#ffd363;background:#d9a92821}.closing__card{border-color:var(--border-strong);border-radius:var(--radius-large);background:linear-gradient(120deg, #fff9f0f7, #f4ecdbf5), var(--surface);box-shadow:var(--shadow-card);position:relative;overflow:hidden}.closing__card:before,.closing__card:after{content:"";border:16px solid #d9a92821;border-radius:18px;width:7rem;height:7rem;position:absolute;transform:rotate(24deg)}.closing__card:before{top:-4rem;left:-3rem}.closing__card:after{border-color:#d96a2b1a;bottom:-4rem;right:-3rem}.status-badge,.local-badge,.demo-count,.connection-pill,.room-status,.item-mode,.owner-chip{font-family:var(--font-display);font-weight:800}.status-badge,.local-badge{color:var(--primary-dark);background:#e5efdf;border:1px solid #b9ceb7;border-radius:8px 8px 8px 2px}.footer{color:#f1eadf;background:linear-gradient(90deg,#d9a92812,#0000 30%),#0b3022}.footer__top{position:relative}.footer__top:after{content:"";background:repeating-linear-gradient(90deg,#ffffff26 0 16px,#0000 16px 24px);height:1px;position:absolute;bottom:0;left:0;right:0}.social-link{color:#d3cbbb;background:#ffffff09;border-color:#fff9f02e;border-radius:8px 8px 8px 2px}.social-link:hover{border-color:var(--accent-yellow);color:#fff4d2;background:#d9a92814}.demo-page,.room-page,.room-shell{background-color:var(--background);background-image:linear-gradient(135deg,#d9a92809 25%,#0000 25%),linear-gradient(315deg,#14543a06 25%,#0000 25%);background-position:0 0,18px 18px;background-size:36px 36px}.demo-panel,.items-column,.person-summary,.config-card,.join-card,.room-form-card,.create-total-card,.live-card,.live-items,.ocr-flow,.ocr-unavailable{border-color:var(--border);background:var(--surface);box-shadow:var(--shadow-card)}.demo-panel,.items-column,.person-summary,.room-form-card,.create-total-card,.live-card,.live-items{border-radius:var(--radius-card)}.demo-intro h1,.room-page-heading h1,.live-room-heading h1,.config-card h1,.join-card h1{letter-spacing:-.045em}.storage-status{color:#595b52;background:#fff5df;border-color:#cbbd9f;border-radius:10px 10px 10px 3px;box-shadow:0 4px #d9a9281f}.active-person-banner{border-color:#aac0a9;border-left:5px solid var(--accent-yellow);background:linear-gradient(90deg,#e6efdf,#f5f0df);border-radius:12px;box-shadow:0 4px #14543a14}.demo-kicker{color:var(--accent-orange)}.demo-count{color:#625e52;background:#f8edd4;border:1px solid #d9caa9;border-radius:7px}.participant-row{border-radius:10px 10px 10px 3px}.participant-row--active{box-shadow:inset 4px 0 0 var(--primary);background:#e8f0df;border-color:#93b395}.demo-avatar{border:1px solid #1731261f;box-shadow:inset 0 -2px #17312614}.icon-button,.participant-form input,.quantity-control button,.shared-person,.reset-button{border-radius:var(--radius-small)}.icon-button--quiet,.item-order-controls button,.live-person>button{width:44px;height:44px}.icon-button--add,.quantity-control button:last-child{border-color:var(--primary-dark);background:var(--primary);box-shadow:0 3px 0 var(--primary-dark)}.participant-form{border-color:#e1d6c3}.participant-form input,.field input,.field select{border-color:var(--border-strong);color:var(--text-primary);background:#fffdf8;transition:border-color .18s,box-shadow .18s,background .18s;box-shadow:inset 0 1px 2px #4c351a0a}.participant-form input:hover,.field input:hover,.field select:hover{border-color:#a99b83}.participant-form input:focus,.field input:focus,.field select:focus{border-color:var(--primary);background:#fffefb;box-shadow:0 0 0 4px #14543a17}.field input[aria-invalid=true],.field select[aria-invalid=true],.participant-form input[aria-invalid=true]{border-color:var(--accent-red);background:#fff9f6}.form-error,.field-error{color:#9b3323;font-weight:650}.demo-item,.live-item-card,.bill-editor-item{background:linear-gradient(90deg,#d9a92809,#0000 26%),#fffdf8;border-color:#dfd3bf;border-radius:13px 13px 13px 4px}.demo-item{box-shadow:inset 4px 0 #a9a18f}.demo-item--partial{box-shadow:inset 4px 0 0 var(--accent-yellow)}.demo-item--complete{box-shadow:inset 4px 0 0 var(--primary)}.item-mode{color:#796c58}.unit-status span{color:#5f6259;background:#f7eddb;border:1px solid #e1d5c1}.owner-chip{color:#4e5c50;background:#fff7e9;border-color:#d8c9af}.quantity-control,.shared-options,.person-summary__total,.reconciliation__progress,.host-controls,.share-panel{border-color:#e2d6c3}.shared-person{background:#fffaf1;border-color:#ddd0ba}.shared-person--selected{box-shadow:inset 3px 0 0 var(--primary);background:#e6f0df;border-color:#8faf91}.reconciliation__total,.live-total,.mobile-active-total{color:#fffaf1;background:linear-gradient(135deg, #d9a9281a, transparent 42%), var(--primary-dark);border:1px solid #fff9f024;border-radius:11px 11px 11px 3px;box-shadow:inset 0 -4px #041f1433}.reconciliation__status{background:#f6eee1;border:1px solid #ded3c0}.reconciliation--complete .reconciliation__status,.complete-message,.ocr-session-notice{color:var(--primary-dark);background:var(--success-surface);border:1px solid #b9cfb8}.reset-button,.shared-action--remove,.host-controls .danger-button{color:#923824;background:#fff3ed;border-color:#ddb6a9}.person-summary--active{box-shadow:inset 0 5px 0 var(--primary), var(--shadow-card);border-color:#86a98c}.person-summary__total strong,.create-total-card strong,.live-section-heading>strong{color:var(--primary)}.create-total-card{border-left:6px solid var(--accent-yellow);background:linear-gradient(90deg, #d9a92814, transparent 28%), var(--surface)}.room-form-card{position:relative}.room-form-card:before{background:var(--accent-orange);content:"";border-radius:0 0 5px 5px;width:3.25rem;height:4px;position:absolute;top:0;left:1.2rem}.entry-method-options button{border-color:var(--border);background:#fffdf8;border-radius:13px 13px 13px 4px;box-shadow:0 3px #684f2d0f}.entry-method-options button:hover{border-color:var(--accent-yellow);background:#fff8e7}.entry-method-options .entry-method--active{border-color:var(--primary);box-shadow:inset 5px 0 0 var(--primary), 0 0 0 3px #14543a14;background:#e9f0e3}.item-order-controls button{border-color:var(--border);color:var(--primary-dark);background:var(--surface);box-shadow:0 2px #684f2d14}.item-order-controls .remove-item{color:#993725}.add-line-button{color:var(--primary-dark);background:#eaf1e3;border-color:#8eaa8f;border-radius:11px 11px 11px 3px}.add-line-button:hover{border-color:var(--primary);background:#e1ecda}.room-submit-error,.room-error-banner{color:#8e321f;background:var(--danger-surface);border-color:#dda99a}.connection-pill,.room-status{border:1px solid #0000;border-radius:7px}.connection-pill{color:#595d55;background:#e8e0d2}.connection-pill--connected,.room-status--open{color:var(--primary-dark);background:var(--success-surface);border-color:#b6ceb6}.connection-pill--degraded,.connection-pill--reconnecting,.room-status--locked,.room-state-banner{color:#6c4d08;background:var(--warning-surface);border-color:#e3c876}.connection-pill--error{color:#8e321f;background:var(--danger-surface);border-color:#dfaa9b}.room-status--closed{color:#565a53;background:#e8e0d3;border-color:#cfc5b5}.live-person{border:1px solid #0000;border-radius:9px 9px 9px 3px}.live-person:has(strong){background:#ffffff2e}.share-panel svg{background:#fff;border-color:#cbbd9f;border-radius:10px 10px 10px 3px;box-shadow:0 4px #684f2d17}.share-panel button,.shared-action,.host-controls button{border-radius:9px 9px 9px 3px}.share-panel button{border-color:var(--border-strong);background:#fffaf1}.shared-action,.host-controls button{border-color:var(--primary-dark);color:#fffdf7;background:var(--primary);box-shadow:0 3px 0 var(--primary-dark)}.shared-live-list span{color:#445a49;background:#e8f0df;border:1px solid #c9d8c3}.ocr-flow{border-radius:var(--radius-card)}.ocr-unavailable{background:#fff5dc;border-color:#d8bc75}.ocr-preview-card,.ocr-reading-summary,.ocr-comparison{border-color:var(--border);background:#fffaf1}.ocr-preview-card{border-radius:13px 13px 13px 4px}.ocr-preview{background:#fff;border:1px solid #ded3c0;border-radius:10px}.ocr-consent{border:1px solid #c7d4bc;border-left:5px solid var(--primary);background:#eef3e8;border-radius:12px}.ocr-consent-checkbox,.ocr-divergence input{accent-color:var(--primary)}.ocr-processing{background:#e8f0e2;border:1px solid #c3d5bf;border-radius:12px}.ocr-spinner{border-color:#14543a2e;border-top-color:var(--accent-orange)}.ocr-reconciliation{background:repeating-linear-gradient(0deg,#0000 0 31px,#2e6e9609 31px 32px),#f5ecdc;border:1px solid #dfd2bd;border-radius:14px}.ocr-reconciliation dl>div{background:#fffdf8;border:1px solid #e2d6c2;border-radius:10px 10px 10px 3px}.ocr-divergence,.ocr-item-review-actions{border:1px solid #dfbd5b;border-left:5px solid var(--accent-yellow);background:#fff3cf;border-radius:11px}.ocr-warnings,.ocr-review-reasons,.ocr-item-review-actions p{color:#674a0a}.bill-editor-item--review{border-color:var(--accent-yellow);box-shadow:inset 5px 0 0 var(--accent-yellow), 0 0 0 3px #d9a9281a}.review-badge{color:#674704;background:#ffedb6;border:1px solid #dfbd5b;border-radius:6px 6px 6px 2px}.ocr-review-complete,.ocr-reconciled{color:var(--primary-dark)}@media (max-width:900px){.hero{padding-top:4.5rem}.hero:before{-webkit-mask-image:linear-gradient(#0000,#000 38%,#000);mask-image:linear-gradient(#0000,#000 38%,#000)}.bill-stage:before{right:0}.bill-stage:after{left:0}}@media (max-width:600px){body{background-size:22px 22px}.hero{padding:3.8rem 0 5.2rem}.hero h1{font-size:clamp(2.8rem,14vw,3.85rem)}.hero:after{opacity:.34;bottom:-10rem;right:-11rem}.bill-stage:before,.bill-stage:after{display:none}.demo-panel,.items-column,.person-summary,.room-form-card,.create-total-card,.live-card,.live-items,.ocr-flow,.ocr-unavailable{box-shadow:0 4px #684f2d12}.active-person-banner{border-left-width:4px;top:.65rem;box-shadow:0 5px 18px #422f1b1a}.create-total-card,.mobile-active-total{padding-bottom:max(.9rem, env(safe-area-inset-bottom))}.ocr-reconciliation{padding:.75rem}}@media (prefers-reduced-motion:reduce){.button,nav a:after,.participant-form input,.field input,.field select{transition:none}}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
