@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/atkinson-hyperlegible-next-latin-ext-wght-normal-2N3YVG5Z.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/atkinson-hyperlegible-next-latin-wght-normal-VX3WN42K.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Funnel Display Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url("./media/funnel-display-latin-ext-wght-normal-FGFI2U4F.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Funnel Display Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url("./media/funnel-display-latin-wght-normal-T7BONH74.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--desk: #f5f5f7;--paper: #ffffff;--paper-hover: #fafafb;--text: #1d1d1f;--muted: #66666c;--rule: #dddde2;--rule-strong: #86868b;--ink: #0b0b0c;--ink-strong: #2a2a2e;--accent: #64704f;--accent-strong: #495338;--accent-wash: #f1f4ec;--accent-rule: #c4cdb2;--brand: #2e8f59;--on-fill: #ffffff;--danger: #b42318;--danger-strong: #8f1c13;--danger-text: #7a1810;--danger-wash: #fdeceb;--danger-rule: #f2b8b2;--success-text: #145233;--success-wash: #eaf6ef;--success-rule: #a6d8bb;--shadow-rgb: 11 11 12;--backdrop-rgb: 11 11 12;--tone-neutral: var(--muted);--tone-info: var(--accent);--tone-warning: #8a5300;--tone-success: #1d7348;--tone-danger: var(--danger);--radius-sm: 4px;--radius: 12px;--radius-lg: 20px;--space-1: .25rem;--space-2: .5rem;--space-3: 1rem;--space-4: 1.5rem;--space-5: 2rem;--font: "Atkinson Hyperlegible Next Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--font-heading: "Funnel Display Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--spring-press: .35s linear(0, .3049, .6506, .8453, .936, .9746, .9902, .9963, .9986, .9995, 1, 1);--spring-pop: .55s linear( 0, .1157, .3366, .5536, .7259, .8465, .9234, .9681, .9916, 1.0023, 1.0059, 1.0061, 1.005, 1.0035, 1.0023, 1.0014, 1.0007, 1 );--spring-stamp: .55s linear( 0, .0942, .2989, .5275, .73, .8839, .9858, 1.0425, 1.0655, 1.0666, 1.0558, 1.0405, 1.0255, 1.0131, 1.0043, .9989, .9962, 1 );--ease-out: cubic-bezier(.2, 0, 0, 1);color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{scrollbar-gutter:stable}body{margin:0;background:var(--desk);color:var(--text);font:1rem/1.5 var(--font)}::selection{background:var(--accent-rule)}h1,h2,h3{margin:0 0 var(--space-3);line-height:1.2}h1,h2,legend{font-family:var(--font-heading);font-weight:600;letter-spacing:-.02em}h1{font-size:2rem;letter-spacing:-.03em}@media(width<48rem){h1{font-size:1.625rem}}h2{font-size:1.25rem}h3{font-size:1rem;font-weight:700}p{margin:0 0 var(--space-3)}a{color:var(--ink);text-underline-offset:.2em}a:hover{color:var(--ink-strong)}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.muted{color:var(--muted)}app-icon{display:inline-flex;flex:none}app-icon svg{width:1.125rem;height:1.125rem}.container{width:100%;max-width:72rem;margin:0 auto;padding:var(--space-4) max(var(--space-3),env(safe-area-inset-right)) var(--space-4) max(var(--space-3),env(safe-area-inset-left))}@media(min-width:48rem){.container{padding-inline:max(var(--space-4),env(safe-area-inset-left)) max(var(--space-4),env(safe-area-inset-right))}}.app-header{background:var(--paper);border-bottom:1px solid var(--rule);view-transition-name:app-header}.app-header-inner{display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--space-4);padding-block:0}.brand{display:flex;align-items:center;gap:.75rem;padding-block:var(--space-3);font-family:var(--font-heading);font-size:1.125rem;font-weight:600;letter-spacing:-.02em;color:var(--text);text-decoration:none}.brand img{width:auto;height:2.25rem}.brand span{padding-left:.75rem;border-left:1px solid var(--rule)}.app-header-inner>.btn{margin-left:auto}.nav-list{display:flex;margin:0;padding:0;list-style:none}.nav-list li{flex:1}.nav-list a{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-1);font-size:.8125rem;font-weight:600;color:var(--muted);text-decoration:none;transition:color .12s var(--ease-out)}.nav-list a:hover{color:var(--text)}.nav-list a.active{color:var(--ink);font-weight:700}.nav-list a.active:after{content:"";position:absolute;right:var(--space-3);bottom:-1px;left:var(--space-3);height:3px;border-radius:3px 3px 0 0;background:var(--brand);view-transition-name:nav-indicator}@media(width<48rem){.app-header{position:relative;z-index:1}.app-header-inner{gap:0 var(--space-3)}.brand img{height:1.75rem}.app-header nav{position:fixed;inset:auto 0 0;padding-bottom:env(safe-area-inset-bottom);background:var(--paper);border-top:1px solid var(--rule);view-transition-name:tab-bar}.nav-list a.active:after{top:-1px;bottom:auto;border-radius:0 0 3px 3px}app-shell>.container{padding-bottom:calc(var(--space-4) + 4rem + env(safe-area-inset-bottom))}}@media(min-width:48rem){.app-header nav{flex:auto}.app-header-inner>.btn{margin-left:0}.nav-list li{flex:none}.nav-list a{flex-direction:row;gap:var(--space-2);padding:1.25rem var(--space-3);font-size:1rem}}.page-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.page-header h1{margin:0}.title-group{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3)}.back-link{display:inline-flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);font-weight:600;text-decoration:none}.back-link:hover{text-decoration:underline}.toolbar{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-3)}.toolbar .field{min-width:min(100%,15rem)}.card{margin-bottom:var(--space-4);padding:var(--space-4);background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius-lg);box-shadow:0 1px 2px rgb(var(--shadow-rgb) / .05),0 12px 32px -16px rgb(var(--shadow-rgb) / .16)}@media(min-width:48rem){.card{padding:var(--space-5)}}.stack>*+*{margin-top:var(--space-4)}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}@media(width<48rem){.actions>.btn{flex:1 1 auto}}@media(min-width:48rem){.actions>:not(.btn-danger)+.btn-danger{margin-left:var(--space-3)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:2.75rem;padding:var(--space-2) var(--space-3);border:1px solid transparent;border-radius:var(--radius);font:inherit;font-weight:700;line-height:1.2;text-decoration:none;cursor:pointer;touch-action:manipulation;transition:background-color .12s var(--ease-out),border-color .12s var(--ease-out),color .12s var(--ease-out),box-shadow .12s var(--ease-out),transform var(--spring-press)}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{color:var(--on-fill);background:var(--ink);box-shadow:inset 0 1px #ffffff1f,0 1px 2px rgb(var(--shadow-rgb) / .08)}.btn-primary:hover:not(:disabled){color:var(--on-fill);background:var(--ink-strong);box-shadow:inset 0 1px #ffffff1f,0 8px 20px -10px rgb(var(--shadow-rgb) / .3)}.btn-secondary{color:var(--text);background:var(--paper);border-color:var(--rule-strong)}.btn-secondary:hover:not(:disabled){color:var(--text);background:var(--paper-hover);border-color:var(--text)}.btn-danger{color:var(--danger);background:var(--paper);border-color:var(--rule-strong)}.btn-danger:hover:not(:disabled){color:var(--danger-strong);background:var(--danger-wash);border-color:var(--danger)}.dialog .btn-danger{color:var(--on-fill);background:var(--danger);border-color:transparent}.dialog .btn-danger:hover:not(:disabled){color:var(--on-fill);background:var(--danger-strong)}.btn-small{min-height:2.25rem;padding:var(--space-1) var(--space-3);font-size:.875rem}@media(pointer:coarse){.btn-small{min-height:2.75rem}}.btn-block{width:100%}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:0 var(--space-4)}.field{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-3)}.field-wide{grid-column:1 / -1}label{font-size:.9375rem;font-weight:600}input,select,textarea{width:100%;min-height:2.75rem;padding:var(--space-2) .75rem;border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--paper);color:var(--text);font:inherit;transition:border-color .12s var(--ease-out)}input:hover,select:hover,textarea:hover{border-color:var(--text)}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--ink);outline-offset:0}input[type=file]{padding:.4rem}textarea{resize:vertical}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger)}.uppercase{text-transform:uppercase}.logo-preview{display:block;max-width:100%;max-height:4rem;margin-bottom:var(--space-3)}.hint{margin:0;font-size:.875rem;color:var(--muted)}.field-error{margin:0;font-size:.875rem;font-weight:600;color:var(--danger)}.field-error:empty{display:none}fieldset{min-width:0;margin:0 0 var(--space-4);padding:0;border:0}fieldset+fieldset{padding-top:var(--space-4);border-top:1px solid var(--rule)}legend{float:left;width:100%;margin-bottom:var(--space-3);padding:0;font-size:1.125rem;font-weight:700}legend+*{clear:both}.line{margin-bottom:var(--space-3);padding:var(--space-3);background:var(--paper-hover);border:1px solid var(--rule);border-radius:var(--radius)}.line legend{margin-bottom:var(--space-2);font-size:.875rem;color:var(--muted)}.line-grid{display:grid;grid-template-columns:1fr;gap:0 var(--space-3)}@media(min-width:48rem){.line-grid{grid-template-columns:3fr 1fr 1.3fr 1fr}}.table-wrap{overflow-x:auto;margin-bottom:var(--space-3);background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius-lg)}.card .table-wrap{border-radius:var(--radius)}table{width:100%;border-collapse:collapse}th,td{padding:.75rem var(--space-3);text-align:left;vertical-align:middle;border-bottom:1px solid var(--rule);font-variant-numeric:tabular-nums}thead th{font-size:.8125rem;font-weight:700;color:var(--muted);white-space:nowrap}tbody tr:last-child td{border-bottom:0}.num{text-align:right;white-space:nowrap}tbody tr:has(.row-link){position:relative;transition:background-color .12s var(--ease-out)}tbody tr:has(.row-link):hover,tbody tr:has(.row-link:focus-visible){background:var(--paper-hover)}.row-link{font-weight:700;white-space:nowrap;text-decoration:none}.row-link:after{content:"";position:absolute;inset:0}.row-actions{display:flex;justify-content:flex-end;gap:var(--space-2);white-space:nowrap}@media(width<48rem){.table-wrap thead{display:none}.table-wrap table,.table-wrap tbody{display:block}.table-wrap tr{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2) var(--space-3);padding:var(--space-3);border-bottom:1px solid var(--rule)}.table-wrap tr:last-child{border-bottom:0}.table-wrap td{min-width:0;padding:0;border:0;text-align:left;overflow-wrap:anywhere}.table-wrap td:first-child,.table-wrap .row-actions{grid-column:1 / -1}.table-wrap td:first-child:not(:only-child){font-weight:700}.table-wrap td[data-label]:before{content:attr(data-label);display:block;font-size:.8125rem;color:var(--muted)}.row-actions>.btn{flex:1 1 auto}}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-3)}.details{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:var(--space-3) var(--space-4);margin:0 0 var(--space-4)}.details dt,.totals dt{font-size:.875rem;color:var(--muted)}.details dd,.totals dd{margin:0;font-weight:700}.sheet-head{display:grid;gap:var(--space-3);margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--rule)}.sheet-head .details{margin:0}@media(min-width:48rem){.sheet-head{grid-template-columns:1fr auto;align-items:start}.sheet-head .stamp{grid-column:2;grid-row:1}}.totals{max-width:22rem;margin:0 0 0 auto}.totals div{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-1) 0}.totals dd{font-variant-numeric:tabular-nums}.totals .grand-total{margin-top:var(--space-1);padding-top:var(--space-2);border-top:1px solid var(--rule);font-size:1.125rem}.totals .grand-total dt{color:var(--text);font-size:inherit;font-weight:700}.totals .grand-total:last-child{border-top:2px solid var(--text);font-size:1.375rem}.notes{white-space:pre-line}.alert{margin-bottom:var(--space-3);padding:.75rem var(--space-3);border:1px solid;border-radius:var(--radius);transition:opacity .2s var(--ease-out),transform var(--spring-pop)}@starting-style{.alert{opacity:0;transform:translateY(-4px)}}.alert p:last-child,.alert ul{margin-bottom:0}.alert-error{color:var(--danger-text);background:var(--danger-wash);border-color:var(--danger-rule)}.alert-success{color:var(--success-text);background:var(--success-wash);border-color:var(--success-rule)}.alert-info{color:var(--accent-strong);background:var(--accent-wash);border-color:var(--accent-rule)}.badge{display:inline-flex;align-items:center;gap:.4rem;font-size:.875rem;font-weight:700;white-space:nowrap;color:var(--tone)}.badge:before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:currentColor}.badge-neutral{--tone: var(--tone-neutral)}.badge-info{--tone: var(--tone-info)}.badge-warning{--tone: var(--tone-warning)}.badge-success{--tone: var(--tone-success)}.badge-danger{--tone: var(--tone-danger)}.stamp .badge{padding:.3rem .8rem;border:3px double currentColor;border-radius:var(--radius-sm);font-size:1.125rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;transform:rotate(-6deg);transition:opacity .12s linear,transform var(--spring-stamp)}.stamp .badge:before{content:none}@starting-style{.stamp .badge{opacity:0;transform:rotate(-6deg) scale(1.6)}}.empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-3);text-align:center;color:var(--muted);background:var(--paper);border:1px dashed var(--rule-strong);border-radius:var(--radius-lg)}.empty p{margin:0}.dialog{width:min(100% - 2rem,28rem);padding:var(--space-4);border:0;border-radius:var(--radius-lg);background:var(--paper);color:var(--text);box-shadow:0 0 0 1px rgb(var(--shadow-rgb) / .08),0 24px 48px -16px rgb(var(--shadow-rgb) / .35);opacity:0;transform:scale(.96);transition:opacity .15s var(--ease-out),transform var(--spring-pop),overlay .15s allow-discrete,display .15s allow-discrete}.dialog[open]{opacity:1;transform:none}@starting-style{.dialog[open]{opacity:0;transform:scale(.96)}}.dialog::backdrop{background:rgb(var(--backdrop-rgb) / 0);transition:background-color .2s var(--ease-out),overlay .2s allow-discrete,display .2s allow-discrete}.dialog[open]::backdrop{background:rgb(var(--backdrop-rgb) / .45)}@starting-style{.dialog[open]::backdrop{background:rgb(var(--backdrop-rgb) / 0)}}.enter{animation:enter var(--spring-pop) both}.leave{animation:leave .15s var(--ease-out) both}@keyframes enter{0%{opacity:0;transform:translateY(-6px)}}@keyframes leave{to{opacity:0;transform:scale(.98)}}app-payment-form{display:block}app-shell>main{view-transition-name:page}::view-transition-old(root),::view-transition-old(page){animation:90ms var(--ease-out) both fade-out}::view-transition-new(root){animation:.18s var(--ease-out) both fade-in}::view-transition-new(page){animation:.2s var(--ease-out) 40ms both fade-in,var(--spring-pop) both rise}@keyframes rise{0%{transform:translateY(8px)}}.card,.table-wrap,.empty{transition:opacity .2s var(--ease-out)}@starting-style{.card,.table-wrap,.empty{opacity:0}}.table-wrap[aria-busy=true]{opacity:.6}p.muted[role=status]{animation:.15s var(--ease-out) .4s both fade-in}::view-transition-group(nav-indicator){animation-timing-function:linear(0,.1157,.3366,.5536,.7259,.8465,.9234,.9681,.9916,1.0023,1.0059,1.0061,1.005,1.0035,1.0023,1.0014,1.0007,1);animation-duration:.55s}@keyframes fade-out{to{opacity:0}}@keyframes fade-in{0%{opacity:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after,::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation-duration:.01ms!important;transition-duration:.01ms!important}}.login{display:grid;place-items:center;min-height:100dvh;padding:var(--space-3)}.login-card{width:min(100%,24rem);box-shadow:6px 6px 0 -1px var(--paper),6px 6px 0 0 var(--rule),12px 12px 0 -1px var(--paper),12px 12px 0 0 var(--rule)}.login-card .brand{padding:0;margin-bottom:var(--space-4)}.login-card .brand img{width:14rem;height:auto}
