:root{color-scheme:light;--ink:#233d32;--paper:#f4f1e8;--muted:#718076}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}main{max-width:680px;margin:auto;padding:32px 24px}header{display:flex;justify-content:space-between;align-items:center;padding-bottom:38px}.brand{font-weight:900;font-size:36px;color:inherit;text-decoration:none;display:flex;align-items:center;gap:5px}.brand>span{font-size:22px}.brand small{font-family:monospace;letter-spacing:1px;font-size:11px;width:70px;margin-left:8px;line-height:1.5}.badge{font-family:monospace;font-size:10px;letter-spacing:1px;border:1px solid #b7c1b7;border-radius:20px;padding:8px 10px}.eyebrow{font-family:monospace;letter-spacing:1.6px;font-size:11px}h1{font-size:44px;line-height:1.05;letter-spacing:-2px}#welcome>p{line-height:1.6}.notice{padding:24px;background:#e7e8dd;border-radius:16px;margin-top:32px;line-height:1.7}.notice code{font-size:13px}.account-line{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}#username{font-size:14px;font-weight:700;overflow-wrap:anywhere}.balance-card{background:var(--ink);color:var(--paper);border-radius:24px;padding:30px;position:relative;overflow:hidden}.balance-card>span{font-family:monospace;letter-spacing:2px;font-size:11px;color:#ced6bd}.balance-card h1{font-size:clamp(32px,8vw,64px);font-weight:500;color:#edff8a;margin:27px 0 34px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.card-bottom{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#d1dbc9}.card-mark{font-size:36px;color:#edff8a}.status-line{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:11px;margin:17px 0 42px;color:var(--muted)}i{display:inline-block;width:6px;height:6px;border-radius:100%;background:#788c5e;margin-right:5px}button{background:transparent;color:var(--ink);border:1px solid #bec6b7;border-radius:20px;padding:11px 14px;font-size:12px;cursor:pointer;min-height:44px;white-space:nowrap}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #7b8d45;outline-offset:3px}.history-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}h2{font-size:23px;letter-spacing:-.6px;margin:0}.history-heading>span{font-family:monospace;font-size:11px;color:var(--muted)}.ticket{position:relative;background:#fffdf6;padding:22px 20px;border-bottom:1px dashed #cdd1bf;margin-bottom:12px;border-radius:4px;box-shadow:0 2px 4px #233d3206}.ticket-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.ticket h3{font-size:16px;line-height:1.4;margin:0;overflow-wrap:anywhere}.amount{font-family:monospace;font-weight:bold;white-space:nowrap;font-size:15px}.ticket-meta{display:flex;justify-content:space-between;gap:12px;margin-top:12px;font-family:monospace;font-size:10px;color:var(--muted)}.empty{text-align:center;padding:32px 15px;background:#eaece1;border-radius:12px;line-height:1.8;color:var(--muted)}.fine{text-align:center;font-size:11px;line-height:1.8;color:var(--muted);margin:32px 0}#message{font-size:14px;line-height:1.5;padding:16px;background:#e7e8dd;border-radius:12px;overflow-wrap:anywhere}#message:empty{display:none}footer{display:flex;justify-content:center;align-items:center;gap:14px;border-top:1px solid #cdd1bf;margin-top:36px;padding:24px 0;font-family:monospace;font-size:9px;letter-spacing:1px;color:var(--muted)}[hidden]{display:none!important}@media(max-width:420px){main{padding:24px 18px}.balance-card{padding:24px}.status-line{align-items:flex-start}.status-line>span{max-width:165px;line-height:1.6}.ticket{padding:18px 16px}footer{font-size:8px;gap:8px}}

dialog{border:1px solid #cdd1bf;border-radius:20px;background:var(--paper);color:var(--ink);width:min(480px,calc(100% - 32px));padding:24px;max-height:90vh;overflow:auto}dialog::backdrop{background:#15291fcc}.dialog-heading,.dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog-heading h2{font-size:22px}dialog>p{font-size:14px;line-height:1.6}.login-link{display:block;overflow-wrap:anywhere;color:var(--ink);font-size:14px;line-height:1.6;padding:12px;border:1px solid #bec6b7;border-radius:10px}#login-qr{display:block;width:232px;max-width:100%;height:auto;margin:24px auto;background:white;image-rendering:pixelated}#dialog-message:empty{display:none}#sign-out{border-color:#9e695d;color:#7d3c2d}#username{text-decoration:underline;text-underline-offset:4px}footer{font-family:Arial,Helvetica,sans-serif;font-size:12px;letter-spacing:0}

#install-banner{border:1px solid #bec6b7;background:#e7e8dd;border-radius:16px;padding:20px;margin-bottom:28px}#install-banner h2{font-size:19px;letter-spacing:-.3px}#install-banner p{font-size:13px;line-height:1.6;margin:12px 0}.install-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}#install-action{background:var(--ink);color:var(--paper);border-color:var(--ink)}#install-help{color:#455b4e}#install-status:empty{display:none}footer{flex-wrap:wrap}#install-open{font-family:Arial,Helvetica,sans-serif;letter-spacing:0;font-size:11px}

#login-form{margin-top:24px}#login-form label{display:block;font-size:13px;margin-bottom:10px}.login-fields{display:flex;gap:10px;flex-wrap:wrap}.login-fields input{flex:1;min-width:160px;width:100%;font:16px Arial,sans-serif;border:1px solid #bec6b7;border-radius:10px;background:#fffdf6;color:var(--ink);padding:12px}.login-fields button{background:var(--ink);color:var(--paper)}

body{padding-bottom:100px}#bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;background:#fffdf6;border-top:1px solid #cdd1bf;padding:8px 12px calc(8px + env(safe-area-inset-bottom));z-index:10}#bottom-nav button{display:flex;flex:1;max-width:220px;flex-direction:column;align-items:center;gap:6px;border:0;border-radius:12px;font-size:12px;padding:10px;min-height:62px}#bottom-nav img{width:24px;height:24px;opacity:.65}#bottom-nav [aria-current="page"]{background:#e7e8dd;font-weight:bold}#invoice-form{background:#fffdf6;border-radius:16px;padding:24px;margin:24px 0}#invoice-form label{display:block;font-size:13px;margin:0 0 8px}#invoice-form input{display:block;width:100%;padding:12px;font:16px Arial,sans-serif;color:var(--ink);background:white;border:1px solid #bec6b7;border-radius:8px;margin:0 0 20px}#send-invoice,.download-button{background:var(--ink);color:var(--paper)}#billing h2{margin-top:30px;margin-bottom:16px}.profile-card{padding:24px;border-radius:16px;background:#fffdf6;margin-bottom:24px}.profile-card strong{overflow-wrap:anywhere}#receipt-dialog{width:min(470px,calc(100% - 24px))}#receipt-canvas{display:block;width:100%;height:auto;margin:20px auto}.download-button{display:block;text-align:center;padding:14px;border-radius:12px;text-decoration:none;font-size:14px}.ticket-button{display:block;width:100%;text-align:left;white-space:normal;color:var(--ink);border:0;border-bottom:1px dashed #cdd1bf;border-radius:4px}.invoice-meta{font-size:12px;line-height:1.6;margin:12px 0;color:var(--muted)}

.invoice-item-row{border-bottom:1px solid #cdd1bf;padding-bottom:18px;margin-bottom:20px}.invoice-item-row button{font-size:11px}.invoice-rules{font-size:12px;line-height:1.6;color:var(--muted)}#invoice-total{font-weight:bold}.notification-card{padding:24px;background:#fffdf6;border-radius:16px;margin-bottom:24px}.notification-card h2{font-size:20px}.notification-card p{font-size:13px;line-height:1.6}

.credit-amount{color:#47733d}.counterparty-section{margin:32px 0}.counterparty-section h2{font-size:22px}.counterparty-note{font-size:12px;color:var(--muted);line-height:1.7;margin:14px 0 20px}.counterparty-card{background:#fffdf6;border:1px solid #cdd1bf;border-radius:14px;padding:20px;margin-bottom:12px}.counterparty-header{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}.counterparty-header h3{margin:0;font-size:16px;overflow-wrap:anywhere}.counterparty-header strong{font-size:13px}.counterparty-card p{font-size:12px;line-height:1.7;margin:14px 0 0;color:var(--muted)}

#pending-section{margin:30px 0}#pending-section h2{margin-bottom:18px;font-size:22px}#payment-dialog>button{margin-bottom:16px}.payment-option{background:#fffdf6;border:1px solid #cdd1bf;border-radius:14px;padding:20px;margin:16px 0 24px}.payment-option h3{margin:0 0 12px}.payment-option p{font-size:13px;line-height:1.7}.payment-option ol,.installment-list{font-size:12px;line-height:1.9;padding-left:20px}#pay-instant,#pay-four{background:var(--ink);color:var(--paper)}#decline-payment{color:#7d3c2d;border-color:#9e695d}#payment-dialog{max-height:90vh}#payment-message:empty{display:none}
