:root{--ink:#032230;--ink-2:#4f5f5b;--ink-3:#9aa19e;--rule:#0000001f;--rule-strong:#00000026;--accent:#14a08a;--paper:#faf8f2;--desk:#e6e3da;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"DM Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-display:"Instrument Serif", Georgia, serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--desk);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--accent)}a:hover{color:var(--ink)}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:16px;padding:16px 32px;display:flex}.topbar__left{align-items:baseline;gap:20px;display:flex}.mono{font-family:var(--font-mono);letter-spacing:.2em;color:var(--ink-2);font-size:11px}.mono--brand{color:var(--ink);font-weight:500}.dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:7px;height:7px}.topbar__right{align-items:center;gap:8px;display:flex}.stage{align-items:flex-start;gap:32px;width:100%;max-width:1320px;margin:0 auto;padding:24px 32px 48px;display:flex}.guide,.footer{width:100%}.sheet{background:var(--paper);flex:1;min-width:0;padding:36px 44px 40px 64px;position:relative;box-shadow:0 18px 44px #03223033}.sheet__punches{background-image:radial-gradient(circle at 20px 30px, var(--desk) 6px, transparent 7px);pointer-events:none;background-position:0 18px;background-size:40px 72px;width:40px;position:absolute;top:0;bottom:0;left:0}.sheet__margin{pointer-events:none;background:#14a08a80;width:1px;position:absolute;top:0;bottom:0;left:48px}.sheet__head{border-bottom:2px solid var(--ink);justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:12px;display:flex}.sheet__title{font-family:var(--font-display);white-space:nowrap;font-size:32px;font-weight:400}.sheet__meta{font-family:var(--font-mono);letter-spacing:.1em;color:var(--ink-2);flex-wrap:wrap;justify-content:flex-end;align-items:baseline;gap:4px 20px;font-size:11px;display:flex}.sheet__meta>label{align-items:baseline;gap:6px;display:flex}.ink{font-family:inherit;font-size:inherit;color:var(--ink);resize:none;background:0 0;border:none;border-bottom:1.5px solid #0000;outline:none;width:100%;padding:0 0 1px}textarea.ink{overflow:hidden}.ink:hover{border-bottom-color:#00000040}.ink:focus{border-bottom-color:var(--accent)}.ink::placeholder{color:var(--ink-3)}.ink--mono{font-family:var(--font-mono);letter-spacing:.1em;font-size:11px;font-weight:500}.ink--num{width:78px}.ink--date{width:64px}.ink--right{text-align:right}.ink--name{font-size:13px;font-weight:600}.ink--sub{color:var(--ink-2);font-size:12px;line-height:1.5}.label{font-family:var(--font-mono);letter-spacing:.2em;color:var(--ink-2);font-size:9px}.parties{border-bottom:1px solid var(--rule-strong);grid-template-columns:1fr 1fr;display:grid}.party{flex-direction:column;gap:4px;padding:14px 0;display:flex}.party--from{border-right:1px solid var(--rule-strong);padding-right:16px}.party--to{padding-left:16px}.items{margin-top:18px}.items__row{grid-template-columns:var(--cols);align-items:baseline;gap:10px;display:grid}.items__head{border-bottom:1.5px solid var(--ink);font-family:var(--font-mono);letter-spacing:.15em;color:var(--ink-2);padding:6px 0;font-size:9px}.items__line{border-bottom:1px solid #0322302e;padding:8px 0;font-size:12.5px}.items__no{font-family:var(--font-mono);color:var(--ink-2);font-size:10px}.items__net{text-align:right;font-family:var(--font-mono);font-size:12px}.items__vat{text-align:right;color:var(--ink-2);font:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;padding:0;font-size:12.5px}.items__vat:hover{color:var(--accent)}.items__del{text-align:center;color:#03223033;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;line-height:1}.items__del:hover{color:var(--ink)}.items__del:disabled{opacity:.35;cursor:default}.items__add{text-align:left;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #0322302e;grid-template-columns:26px 1fr;gap:10px;width:100%;padding:8px 0;display:grid}.items__add span:first-child{font-family:var(--font-mono);color:var(--ink-3);font-size:10px}.items__add span:last-child{font-family:var(--font-mono);letter-spacing:.12em;color:var(--accent);font-size:10px;transition:letter-spacing .15s}.items__add:hover span:last-child{letter-spacing:.16em}.items__blank{border-bottom:1px solid #0322302e;height:30px}.foot{justify-content:space-between;align-items:flex-end;gap:24px;margin-top:22px;display:flex;position:relative}.payment{min-width:180px;max-width:320px;color:var(--ink-2);flex-direction:column;flex:320px;gap:4px;font-size:11.5px;line-height:1.6;display:flex}.totals{flex-direction:column;flex-shrink:0;gap:6px;width:250px;font-size:13px;display:flex}.totals__row{justify-content:space-between;display:flex}.totals__row span:first-child{color:var(--ink-2)}.totals__row span:last-child{font-family:var(--font-mono);font-size:12px}.totals__due{border-top:2px solid var(--ink);border-bottom:3px double var(--ink);justify-content:space-between;padding:7px 0;font-size:15px;font-weight:600;display:flex}.totals__due span:last-child{font-family:var(--font-mono)}.stamp{border:3px solid var(--accent);color:var(--accent);font-family:var(--font-mono);letter-spacing:.22em;pointer-events:none;opacity:0;border-radius:5px;padding:9px 16px;font-size:12px;font-weight:500;transition:transform .28s cubic-bezier(.18,1.6,.4,1),opacity .18s;position:absolute;bottom:70px;right:14px;transform:rotate(-8deg)scale(1.6)}.stamp--on{opacity:.9;transform:rotate(-8deg)scale(1)}.rail{width:230px;font-family:var(--font-mono);flex-direction:column;flex-shrink:0;display:flex;position:sticky;top:32px}.rail__title{letter-spacing:.2em;color:var(--ink-2);border-bottom:1px solid var(--rule-strong);padding-bottom:12px;font-size:10px}.rail__row{border:none;border-bottom:1px solid var(--rule);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:14px 0;font-family:inherit;display:flex}button.rail__row{cursor:pointer;-webkit-user-select:none;user-select:none}button.rail__row:hover{background:#14a08a0d}.rail__key{letter-spacing:.15em;color:var(--ink-2);font-size:10px}.rail__val{font-size:11px}.rail__val--on{color:var(--accent);font-weight:500}.rail__val--action{color:var(--accent)}.seg{border:1px solid var(--rule-strong);border-radius:4px;font-size:11px;display:flex;overflow:hidden}.seg button{color:var(--ink-2);font-family:inherit;font-size:inherit;cursor:pointer;background:0 0;border:none;padding:3px 9px}.seg button[aria-pressed=true]{background:var(--ink);color:var(--desk)}.seg--text button{letter-spacing:.12em;padding:3px 7px;font-size:9px}.rail__download{background:var(--ink);width:100%;color:var(--desk);letter-spacing:.2em;cursor:pointer;border:none;justify-content:space-between;align-items:center;gap:12px;margin-top:24px;padding:14px 16px;font-family:inherit;font-size:11px;font-weight:500;display:flex}.rail__download:hover{background:#063547}.rail__download:active{transform:translateY(1px)}.rail__download:disabled{opacity:.6;cursor:default;transform:none}.rail__toast{letter-spacing:.1em;height:14px;color:var(--accent);opacity:0;margin-top:10px;font-size:9px;line-height:1.8;transition:opacity .3s}.rail__toast--on{opacity:1}.rail__note{letter-spacing:.1em;color:var(--ink-2);margin-top:8px;font-size:9px;line-height:1.8}.rail__error{letter-spacing:.1em;color:#a8443a;margin-top:10px;font-size:9px;line-height:1.6}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.m-stage{flex-direction:column;gap:16px;padding:20px 20px 32px;display:flex}.m-head{border-bottom:2px solid var(--ink);justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:10px;display:flex}.m-head__title{font-family:var(--font-display);font-size:26px;font-weight:400}.m-note{font-family:var(--font-mono);letter-spacing:.12em;color:var(--ink-2);font-size:9px;line-height:1.7}.m-card{background:var(--paper);flex-direction:column;gap:10px;padding:16px 18px;display:flex;box-shadow:0 10px 26px #03223024}.m-card--rows{gap:0;padding:4px 18px}.m-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.m-field{flex-direction:column;gap:3px;display:flex}.m-field__label{font-family:var(--font-mono);letter-spacing:.18em;color:var(--ink-3);font-size:8px}.m-field .ink{border-bottom-color:#0003;padding-bottom:3px;font-size:14px}.m-field .ink:focus{border-bottom-color:var(--accent)}.m-item{border-bottom:1px solid #03223026;flex-direction:column;gap:6px;padding:12px 0;display:flex}.m-item__top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.m-item__no{font-family:var(--font-mono);color:var(--ink-3);margin-right:6px;font-size:9px}.m-item__net{font-family:var(--font-mono);white-space:nowrap;font-size:12px}.m-item__detail{font-family:var(--font-mono);letter-spacing:.1em;color:var(--ink-2);align-items:baseline;gap:8px;padding-left:20px;font-size:9px;display:flex}.m-item__detail .ink{width:56px;font-size:11px}.m-shell{flex-direction:column;display:flex}.m-bar{background:linear-gradient(to top, var(--desk) 72%, #e6e3da00);padding:14px 20px 22px;position:sticky;bottom:0}.m-bar .rail__download{margin-top:0;padding:16px 18px;font-size:12px;box-shadow:0 10px 26px #03223059}@media (prefers-reduced-motion:reduce){.stamp,.items__add span:last-child,.rail__toast{transition:none}}.pay{grid-template-columns:auto 1fr;align-items:baseline;gap:5px 12px;width:100%;display:grid}.pay__row{grid-column:1/-1;grid-template-columns:subgrid;align-items:baseline;display:grid}.pay__label{font-family:var(--font-mono);letter-spacing:.16em;color:var(--ink-3);white-space:nowrap;cursor:pointer;font-size:9px}.pay .ink{color:var(--ink);font-size:11.5px}.pay__auto{color:var(--ink-2);flex-direction:column;gap:2px;margin:10px 0 0;font-size:11px;line-height:1.5;display:flex}.pay__auto-label{font-family:var(--font-mono);letter-spacing:.2em;color:var(--accent);font-size:8px}.datefield{display:inline-flex;position:relative}.cal{z-index:30;background:var(--paper);border:1px solid var(--rule-strong);width:236px;font-family:var(--font-mono);cursor:default;text-align:left;padding:12px;position:absolute;top:calc(100% + 10px);left:0;box-shadow:0 16px 40px #0322303d}.cal__head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.cal__month{letter-spacing:.18em;text-transform:uppercase;color:var(--ink);font-size:10px}.cal__nav{color:var(--ink-2);cursor:pointer;background:0 0;border:none;padding:2px 7px;font-size:16px;line-height:1}.cal__nav:hover{color:var(--accent)}.cal__grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.cal__weekday{letter-spacing:.08em;color:var(--ink-3);text-align:center;padding-bottom:5px;font-size:8px}.cal__day{color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:5px 0;font-family:inherit;font-size:11px}.cal__day:hover{background:#14a08a29}.cal__day--today{box-shadow:inset 0 0 0 1px #14a08a8c}.cal__day--on{background:var(--ink);color:var(--desk)}.cal__day:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cal__foot{border-top:1px solid var(--rule);justify-content:space-between;margin-top:10px;padding-top:9px;display:flex}.cal__action{letter-spacing:.16em;color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:9px}.cal__action:hover{color:var(--ink)}.brandlink{color:inherit;border-bottom:1px solid #0000;text-decoration:none;transition:color .18s,border-color .18s}.brandlink:hover,.brandlink:focus-visible{color:var(--accent);border-bottom-color:var(--accent);outline:none}.footer{background:var(--ink);color:var(--desk);border-top:2px solid var(--accent);margin-top:auto;position:relative;overflow:hidden}.footer:before{content:"";pointer-events:none;background:radial-gradient(circle,#14a08a4d,#0000 64%);width:62%;height:190%;position:absolute;top:-55%;left:-12%}.footer__inner{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:40px 48px;max-width:1320px;margin:0 auto;padding:76px 32px 52px;display:flex;position:relative}.footer__eyebrow{font-family:var(--font-mono);letter-spacing:.2em;color:#e6e3da8c;margin:0 0 20px;font-size:11px}.footer__headline{max-width:15ch;font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 18px;font-size:clamp(2.25rem,5.2vw,3.75rem);font-weight:400;line-height:1.02}.footer__body{color:#e6e3dab8;max-width:46ch;margin:0 0 22px;font-size:.9375rem;line-height:1.65}.footer__cta{min-width:330px;color:var(--desk);border:1px solid #e6e3da47;grid-template-columns:1fr auto;align-items:center;gap:6px 28px;padding:24px 26px;text-decoration:none;transition:background .24s,border-color .24s,color .24s;display:grid}.footer__cta:hover,.footer__cta:focus-visible{background:var(--accent);border-color:var(--accent);color:#04121a;outline:none}.footer__cta-label{font-family:var(--font-mono);letter-spacing:.2em;grid-column:1;font-size:11px}.footer__cta-site{font-family:var(--font-display);grid-column:1;font-size:clamp(1.5rem,3vw,2rem);line-height:1}.footer__cta-arrow{grid-area:1/2/3;font-size:1.75rem;line-height:1;transition:transform .24s}.footer__cta:hover .footer__cta-arrow,.footer__cta:focus-visible .footer__cta-arrow{transform:translate(7px)}.footer__base{max-width:1320px;font-family:var(--font-mono);letter-spacing:.2em;color:#e6e3da80;border-top:1px solid #e6e3da24;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;margin:0 auto;padding:20px 32px 30px;font-size:10px;display:flex;position:relative}.footer__base a{color:var(--accent);text-decoration:none}.footer__base a:hover,.footer__base a:focus-visible{color:var(--desk);outline:none}@media (width<=899px){.footer__inner{gap:28px;padding:52px 20px 36px}.footer__cta{width:100%;min-width:0}.footer__promise{display:none}.footer__base{padding:18px 20px 30px}}@media (prefers-reduced-motion:reduce){.footer__cta,.footer__cta-arrow,.brandlink{transition:none}}.intro{width:100%;max-width:1320px;margin:0 auto;padding:34px 32px 0}.intro__eyebrow{font-family:var(--font-mono);letter-spacing:.2em;color:var(--accent);margin:0 0 10px;font-size:10px}.intro__title{font-family:var(--font-display);margin:0 0 10px;font-size:clamp(1.75rem,3.2vw,2.5rem);font-weight:400;line-height:1.05}.intro__lede{max-width:62ch;color:var(--ink-2);margin:0;font-size:.9375rem;line-height:1.6}.guide{border-top:1px solid var(--rule);background:#ffffff47}.guide__inner{max-width:1320px;margin:0 auto;padding:56px 32px 64px}.guide__title{font-family:var(--font-display);margin:0 0 28px;font-size:clamp(1.6rem,3vw,2.25rem);font-weight:400;line-height:1.1}.guide__title--second{margin-top:56px}.guide__cols{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:32px 48px;display:grid}.guide__sub{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2);margin:0 0 12px;font-size:10px;font-weight:500}.guide__list{margin:0;padding:0;font-size:.9375rem;line-height:1.5;list-style:none}.guide__list li{border-bottom:1px solid var(--rule);padding:9px 0 9px 22px;position:relative}.guide__list li:before{content:"—";color:var(--ink-3);position:absolute;left:0}.guide__list--accent li:before{color:var(--accent)}.guide__note{max-width:78ch;color:var(--ink-2);margin:28px 0 0;font-size:.875rem;line-height:1.65}.faq{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:0 48px;margin:0;display:grid}.faq__item{border-top:1px solid var(--rule);padding:18px 0}.faq__q{margin:0 0 8px;font-size:1rem;font-weight:600;line-height:1.35}.faq__a{color:var(--ink-2);margin:0;font-size:.9375rem;line-height:1.6}.footer__disciplines{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.footer__disciplines li{font-family:var(--font-mono);letter-spacing:.2em;color:#e6e3dac7;border:1px solid #e6e3da3d;border-radius:2px;padding:6px 11px;font-size:9px}.footer__nav{max-width:1320px;font-family:var(--font-mono);letter-spacing:.2em;flex-wrap:wrap;gap:12px 32px;margin:0 auto;padding:0 32px 28px;font-size:10px;display:flex;position:relative}.footer__nav a{color:#e6e3dab8;border-bottom:1px solid #0000;text-decoration:none}.footer__nav a:hover,.footer__nav a:focus-visible{color:var(--accent);border-bottom-color:var(--accent);outline:none}@media (width<=899px){.intro{padding:26px 20px 0}.guide__inner{padding:40px 20px 48px}.guide__title--second{margin-top:44px}.footer__nav{padding:0 20px 24px}}
