:root{--color-ink-navy: #1b2a41;--color-paper: #fafaf7;--color-ledger-green: #2e6e4e;--color-muted-brick: #a63d2f;--color-stamp-blue: #2456a6;--color-hairline: #d8d6cf;--font-display: "Fraunces", "Source Serif 4", Georgia, serif;--font-body: "Public Sans", "Inter", system-ui, sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--space-16: 64px;--radius: 6px;--radius-lg: 12px;--prose-max-width: 68ch;--container-max-width: 1180px}.money,[data-money]{font-variant-numeric:tabular-nums lining-nums}*{box-sizing:border-box}body{margin:0;background:var(--color-paper);color:var(--color-ink-navy);font-family:var(--font-body);line-height:1.5}h1,h2,h3{font-family:var(--font-display);line-height:1.2}h1{font-size:2rem;margin:var(--space-2) 0 var(--space-6)}h2{font-size:1.375rem;margin:var(--space-8) 0 var(--space-3)}.app-header{background:var(--color-ink-navy);color:#fff}.app-header-inner{max-width:960px;margin:0 auto;padding:var(--space-3) var(--space-4);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3)}.app-header-brand{font-family:var(--font-display);font-weight:700;font-size:1.25rem;color:#fff;text-decoration:none}.app-header-nav{display:flex;align-items:center;gap:var(--space-6)}.app-header-nav a,.app-header-nav button{color:#fff;font-size:1rem;font-family:var(--font-body)}.app-header-nav a{text-decoration:none}.app-header-nav a:hover{text-decoration:underline}.app-header-nav button{display:inline;min-height:0;background:none;border:none;padding:0;margin:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.app-header-nav button:hover{opacity:.85}.app-main{padding:var(--space-8) var(--space-4) var(--space-16)}.page-narrow{max-width:var(--prose-max-width);margin:0 auto}.back-link{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-stamp-blue);font-size:.9375rem;text-decoration:none;margin-bottom:var(--space-4)}.back-link:hover{text-decoration:underline}.back-link:before{content:"←"}form{display:flex;flex-direction:column;gap:var(--space-2);max-width:420px;margin:var(--space-4) 0}label{font-weight:600}input,select,textarea{box-sizing:border-box;min-height:48px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-hairline);border-radius:var(--radius);font-size:1rem;font-family:var(--font-body);background:#fff;color:var(--color-ink-navy)}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-stamp-blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-stamp-blue) 25%,transparent)}button:focus-visible,a:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-stamp-blue) 30%,transparent)}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);box-sizing:border-box;padding:12px var(--space-6);min-height:48px;background:var(--color-stamp-blue);color:#fff;border:2px solid var(--color-stamp-blue);border-radius:var(--radius);font-family:var(--font-body);font-size:1rem;font-weight:600;line-height:1.2;cursor:pointer;text-decoration:none;white-space:nowrap;width:fit-content;margin:var(--space-2) 0 var(--space-4)}button:hover,.button:hover{background:color-mix(in srgb,var(--color-stamp-blue) 85%,black);border-color:color-mix(in srgb,var(--color-stamp-blue) 85%,black)}button:disabled{opacity:.5;cursor:not-allowed}.button-secondary{background:#fff;color:var(--color-stamp-blue)}.button-secondary:hover{background:color-mix(in srgb,var(--color-stamp-blue) 8%,white)}.button-danger{min-height:36px;padding:var(--space-2) var(--space-4);background:#fff;color:var(--color-muted-brick);border-color:var(--color-muted-brick);font-size:.875rem;margin:0}.button-danger:hover{background:color-mix(in srgb,var(--color-muted-brick) 8%,white)}.hint{font-size:.875rem;color:var(--color-ink-navy);opacity:.75}.error{color:var(--color-muted-brick)}.banner{border-radius:var(--radius);border-left:5px solid;padding:var(--space-4);margin:var(--space-4) 0;font-weight:600}.banner-success{background:color-mix(in srgb,var(--color-ledger-green) 12%,var(--color-paper));border-color:var(--color-ledger-green);color:var(--color-ledger-green)}.banner-error{background:color-mix(in srgb,var(--color-muted-brick) 12%,var(--color-paper));border-color:var(--color-muted-brick);color:var(--color-muted-brick)}.business-list{list-style:none;padding:0;margin:var(--space-4) 0;display:flex;flex-direction:column;gap:var(--space-2)}.business-list li{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-hairline);border-radius:var(--radius);background:#fff}.business-list li>span:first-child,.business-list li>a:first-child{flex:1;font-weight:600}.business-list li button,.business-list li .button{min-height:36px;padding:var(--space-2) var(--space-4);font-size:.9375rem;margin:0;flex-shrink:0}.badge{font-size:.75rem;font-weight:700;padding:3px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.02em}.badge-open{background:color-mix(in srgb,var(--color-stamp-blue) 15%,var(--color-paper));color:var(--color-stamp-blue)}.badge-fulfilled{background:color-mix(in srgb,var(--color-ledger-green) 15%,var(--color-paper));color:var(--color-ledger-green)}.badge-type{background:color-mix(in srgb,var(--color-ink-navy) 10%,var(--color-paper));color:var(--color-ink-navy)}.summary-card{border:1px solid var(--color-hairline);border-radius:var(--radius);padding:var(--space-6);margin:var(--space-4) 0;background:#fff}.summary-card h2{margin-top:0}.summary-row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--color-hairline)}.summary-row:last-child{border-bottom:none;padding-bottom:0}.summary-row dt{color:var(--color-ink-navy);opacity:.75}.summary-row dd{margin:0;font-weight:600;text-align:right}.table-scroll{overflow-x:auto;margin:var(--space-4) 0}.record-table{width:100%;min-width:480px;border-collapse:collapse;background:#fff;border:1px solid var(--color-hairline);border-radius:var(--radius);overflow:hidden}.record-table th,.record-table td{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-hairline);font-size:.9375rem}.record-table th{background:color-mix(in srgb,var(--color-ink-navy) 5%,var(--color-paper));font-weight:700}.record-table tr:last-child td{border-bottom:none}.record-table td[data-money]{text-align:right;white-space:nowrap}.record-table .empty-row td{color:var(--color-ink-navy);opacity:.6;font-style:italic}@media(max-width:640px){.record-table th,.record-table td{padding:var(--space-2) var(--space-3);font-size:.875rem}}.stamp-note{font-style:italic}.receipt{border:1px solid var(--color-hairline);border-radius:var(--radius);padding:var(--space-6);margin:var(--space-4) 0;background:#fff}
