:root{color-scheme:light;--ink: #1f302a;--muted: #687870;--line: #e3eae5;--surface: #fff;--canvas: #f4f7f4;--green: #237b57;--green-dark: #17573d;--green-soft: #e7f3ec;--gold: #c38b43;--danger: #a83b3b;--shadow: 0 14px 40px rgba(33, 63, 48, .08);font-family:Segoe UI,Nirmala UI,sans-serif;color:var(--ink);background:var(--canvas);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body{min-width:320px;min-height:100%;margin:0}body{min-height:100vh}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid rgba(35,123,87,.32);outline-offset:2px}::selection{color:#123a29;background:#cce8d8}.eyebrow{margin:0 0 .65rem;color:var(--green);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.muted{color:var(--muted)}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:46px;padding:.72rem 1.15rem;border:0;border-radius:10px;background:var(--green);color:#fff;font-weight:700;text-decoration:none;cursor:pointer;transition:background .18s ease,transform .18s ease}.primary-button:hover:not(:disabled){background:var(--green-dark);transform:translateY(-1px)}.primary-button:disabled{opacity:.58;cursor:wait}.quiet-button{border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);padding:.55rem .75rem;cursor:pointer}.form-field{display:grid;gap:.45rem;color:#304239;font-size:.88rem;font-weight:600}.form-field input{width:100%;min-height:46px;padding:.7rem .85rem;border:1px solid #d7e1da;border-radius:9px;background:#fff;color:var(--ink)}.form-field input::placeholder{color:#9aa69f}.form-field.check-field{display:flex;align-items:center;gap:.6rem}.form-field.check-field input[type=checkbox]{width:18px;min-height:0;height:18px;padding:0;flex:none}.form-error{color:var(--danger);font-size:.83rem}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.module-page{display:grid;gap:18px}.page-bar{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px}.page-bar h1{margin:0;font:800 clamp(1.5rem,3.4vw,2rem)/1.2 "Manrope",sans-serif;letter-spacing:-.045em}.panel{padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.panel h2,.panel h3{margin:0 0 14px;font:700 1.02rem Manrope,sans-serif;letter-spacing:-.02em}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.form-grid .wide{grid-column:1/-1}.form-field select,.form-field textarea{width:100%;min-height:46px;padding:.7rem .85rem;border:1px solid #d7e1da;border-radius:9px;background:#fff;color:var(--ink);font:inherit}.form-field input[type=color]{padding:.2rem}.field-error{color:var(--danger);font-size:.78rem;font-weight:500}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.banner{padding:11px 14px;border-radius:10px;font-size:.85rem}.banner.ok{background:var(--green-soft);color:var(--green-dark)}.banner.error{background:#fbeaea;color:var(--danger)}.receipt-details{display:grid;grid-template-columns:minmax(130px,.7fr) 1.3fr;gap:10px 20px;max-width:640px;margin:20px 0}.receipt-details dt{color:var(--muted);font-size:.82rem}.receipt-details dd{margin:0;font-weight:650}.payment-history-filter{max-width:420px}@media print{body.printing-receipt app-root *{visibility:hidden!important}body.printing-receipt app-root .receipt-print,body.printing-receipt app-root .receipt-print *{visibility:visible!important}body.printing-receipt app-root .receipt-print{position:absolute;inset:0 auto auto 0;width:100%;border:0;box-shadow:none}body.printing-receipt app-root .no-print{display:none!important}}.toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:12px}.toolbar .form-field{min-width:160px;flex:1 1 160px}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--surface)}table.data{width:100%;border-collapse:collapse;font-size:.86rem}table.data th{padding:11px 14px;border-bottom:1px solid var(--line);color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-align:start;text-transform:uppercase;white-space:nowrap}table.data td{padding:12px 14px;border-bottom:1px solid #eef3ef;vertical-align:middle}table.data tr:last-child td{border-bottom:0}table.data tr.selected td{background:var(--green-soft)}.empty-row{padding:28px;color:var(--muted);text-align:center;font-size:.86rem}.badge{display:inline-block;padding:3px 9px;border-radius:999px;background:#eef3ef;color:#3a4d43;font-size:.72rem;font-weight:700;white-space:nowrap}.badge.green{background:var(--green-soft);color:var(--green-dark)}.badge.gold{background:#f8efdf;color:#8a5e1d}.badge.red{background:#fbeaea;color:var(--danger)}.link-button{padding:0;border:0;background:none;color:var(--green-dark);font-weight:700;text-decoration:underline;cursor:pointer}.split{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:18px;align-items:start}.stack{display:grid;gap:14px}.kv{display:grid;grid-template-columns:max-content 1fr;gap:6px 14px;margin:0;font-size:.85rem}.kv dt{color:var(--muted)}.kv dd{margin:0;overflow-wrap:anywhere}.list-plain{margin:0;padding:0;list-style:none;display:grid;gap:8px;font-size:.84rem}@media(max-width:900px){.split{grid-template-columns:1fr}}
