:root{--bg-outer:#f2e8d6;--paper:#fffbf3;--ink:#2b2420;--ink-soft:#8a7860;--line:#e8dcc0;--accent-stamp:#e85c3f;--accent-stamp-dark:#c7422a;--accent-sage:#4f9169;--accent-amber:#e0a526;--shadow:#2b242024;--font-display:"Fraunces", Georgia, serif;--font-mono:"Space Mono", "Courier New", monospace;--font-body:"Inter", -apple-system, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg-outer);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;background-image:radial-gradient(circle at 1px 1px,#2b26200d 1px,#0000 0);background-size:18px 18px;margin:0}button,input,select{font-family:inherit}a{color:var(--accent-stamp)}:focus-visible{outline:2px solid var(--accent-stamp);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.page{justify-content:center;align-items:flex-start;min-height:100%;padding:48px 16px 80px;display:flex}.receipt{background:var(--paper);width:100%;max-width:420px;box-shadow:0 18px 40px var(--shadow), 0 2px 6px var(--shadow);padding:40px 32px 32px;position:relative}.receipt:before,.receipt:after{content:"";background:linear-gradient(135deg, var(--bg-outer) 50%, transparent 50%), linear-gradient(45deg, var(--bg-outer) 50%, transparent 50%);background-repeat:repeat-x;background-size:16px 16px;background-color:var(--paper);height:12px;position:absolute;left:0;right:0}.receipt:before{background-position:0 0;top:-11px}.receipt:after{background-position:0 0;bottom:-11px;transform:scaleY(-1)}.receipt-header{text-align:center;margin-bottom:28px}.receipt-garnish{opacity:.85;justify-content:center;gap:10px;margin-bottom:6px;display:flex}.receipt-garnish svg{width:20px;height:20px}.receipt-logo{font-family:var(--font-display);letter-spacing:.01em;margin:0;font-size:2.1rem;font-weight:600}.receipt-tagline{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin:6px 0 0;font-size:.7rem}.receipt-divider{border:none;border-top:1.5px dashed var(--line);margin:24px 0}.field{margin-bottom:20px}.field label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin-bottom:6px;font-size:.72rem;display:block}.field input,.field select{border:none;border-bottom:1.5px solid var(--line);width:100%;color:var(--ink);background:0 0;padding:8px 2px;font-size:1rem}.field input:focus,.field select:focus{border-bottom-color:var(--accent-stamp)}.password-row{border-bottom:1.5px solid var(--line);align-items:center;gap:10px;display:flex}.password-row:focus-within{border-bottom-color:var(--accent-stamp)}.password-row input{border-bottom:none;flex:1}.password-toggle{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0;font-size:.68rem}.password-toggle:hover{color:var(--accent-stamp)}.label-row{align-items:center;gap:6px;margin-bottom:6px;display:flex}.label-row label{margin-bottom:0}.infotip{display:inline-flex;position:relative}.infotip-btn{border:1.3px solid var(--ink-soft);width:16px;height:16px;color:var(--ink-soft);font-family:var(--font-mono);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.62rem;line-height:1;display:flex}.infotip-btn:hover,.infotip-btn[aria-expanded=true]{border-color:var(--accent-stamp);color:var(--accent-stamp)}.infotip-bubble{z-index:10;background:var(--paper);border:1.3px dashed var(--line);width:220px;box-shadow:0 6px 16px var(--shadow);font-family:var(--font-body);color:var(--ink);text-transform:none;letter-spacing:normal;padding:10px 12px;font-size:.78rem;line-height:1.4;position:absolute;top:22px;left:0}.field-checkbox{color:var(--ink-soft);align-items:flex-start;gap:10px;font-size:.85rem;line-height:1.4;display:flex}.field-checkbox input{margin-top:3px}.btn-stamp{background:var(--accent-stamp);width:100%;color:var(--paper);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:none;padding:13px 20px;font-size:.85rem;font-weight:700;transition:background-color .15s,transform 50ms}.btn-stamp:hover{background:var(--accent-stamp-dark)}.btn-stamp:active{transform:scale(.99)}.btn-stamp:disabled{background:var(--line);color:var(--ink-soft);cursor:not-allowed}.btn-ghost{width:100%;color:var(--ink-soft);border:1.5px dashed var(--line);font-family:var(--font-mono);letter-spacing:.04em;cursor:pointer;background:0 0;padding:11px 20px;font-size:.8rem}.btn-ghost:hover{border-color:var(--accent-stamp);color:var(--accent-stamp)}.link-row{text-align:center;color:var(--ink-soft);margin-top:20px;font-size:.85rem}.link-row a,.link-row button.link{font:inherit;color:var(--accent-stamp);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.alert{font-family:var(--font-mono);border-left:3px solid var(--accent-stamp);color:var(--accent-stamp-dark);background:#b23a2e0f;margin-bottom:20px;padding:12px 14px;font-size:.8rem;line-height:1.5}.alert-safety{border-left-color:var(--accent-amber);color:#7a5a1e;background:#b9812e14}.alert-success{border-left-color:var(--accent-sage);color:#3f5236;background:#6e886214}.tally-row{font-family:var(--font-mono);align-items:baseline;gap:6px;padding:7px 0;font-size:.88rem;display:flex}.tally-label{color:var(--ink-soft);white-space:nowrap}.tally-dots{border-bottom:1.5px dotted var(--line);flex:1;transform:translateY(-4px)}.tally-value{white-space:nowrap;font-weight:700}.section-title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);margin:0 0 14px;font-size:.72rem}.top-actions{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.pseudo-badge{font-family:var(--font-mono);color:var(--ink-soft);font-size:.78rem}.logout-btn{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:0;font-size:.72rem;text-decoration:underline}
