:root{color-scheme:light;--purple:#7229db;--purple-dark:#541bb2;--purple-soft:#f3edfc;--ink:#222126;--muted:#74727c;--line:#e8e6ed;--surface:#fff;--bg:#faf9fc;--danger:#ad2847;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.5}button,input,select,textarea{font:inherit}[hidden]{display:none!important}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #ba8df1;outline-offset:3px}.skip-link{position:fixed;top:-100px;left:10px;padding:12px;background:white;z-index:50}.skip-link:focus{top:10px}.topbar{height:88px;max-width:1360px;margin:auto;padding:0 48px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-weight:750;font-size:25px;letter-spacing:-1.1px}.brand-dot{color:var(--purple)}.top-actions{display:flex;align-items:center;gap:12px}.connection-badge{font-size:11px;color:var(--muted);margin-right:6px;display:inline-flex;gap:7px;align-items:center}.connection-badge::before{content:"";width:6px;height:6px;border-radius:100%;background:#98959e}.connection-badge[data-ready="true"]::before{background:#3d946d}.eyebrow{font-size:10px;letter-spacing:.13em;font-weight:700;color:var(--muted)}.workspace{max-width:1180px;display:grid;grid-template-columns:270px minmax(0,1fr);gap:90px;margin:54px auto 0;padding:0 38px 36px;align-items:start}.journey{position:sticky;top:40px}.journey h1{font-size:30px;font-weight:650;letter-spacing:-1px;line-height:1.25;margin:13px 0}.journey-description{font-size:13px;color:var(--muted);max-width:230px;margin:0 0 32px}.step-nav{list-style:none;padding:0;margin:0;display:grid;gap:7px}.step-nav button{width:100%;display:flex;align-items:center;gap:13px;padding:12px;border:0;background:transparent;border-radius:12px;color:#7e7a87;text-align:left;font-size:13px;font-weight:600}.step-nav button small{display:block;font-size:10px;font-weight:400;margin-top:4px;color:#8b8792}.step-number{display:grid;place-items:center;width:31px;height:31px;border:1px solid #dcd8e5;border-radius:50%;font-size:12px;flex-shrink:0;background:var(--bg)}.step-nav [aria-current="step"]{color:var(--purple);background:var(--purple-soft)}.step-nav [aria-current="step"] .step-number{background:var(--purple);color:white;border-color:var(--purple)}.step-nav .completed .step-number{border-color:#b69ad9;color:var(--purple)}.step-nav button:hover{background:#f1eef6}.local-note{display:flex;gap:12px;margin:30px 10px 0;color:#55515e;font-size:11px}.local-note-icon{color:var(--purple);font-size:22px;line-height:1}.local-note p{font-size:10px;color:var(--muted);max-width:200px;margin:4px 0 0;line-height:1.7}.journey-total{border-top:1px solid var(--line);margin:25px 12px 0;padding-top:19px;display:grid;gap:4px}.journey-total>span{font-size:11px;color:var(--muted)}.journey-total strong{font-size:26px;font-weight:600;letter-spacing:-.7px}.journey-total small{font-size:10px;color:var(--muted);margin-top:8px}.flow{min-width:0;max-width:700px}.flow-heading{margin-bottom:30px}.flow-heading h2{font-size:34px;line-height:1.2;letter-spacing:-1.3px;font-weight:620;margin:13px 0 12px}.flow-heading p{font-size:13px;color:var(--muted);margin:0;max-width:510px}.flow-heading h2:focus{outline:none}.step-panel{display:grid;gap:23px;animation:step-in .18s ease-out}@keyframes step-in{from{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:none}}label{font-size:12px;font-weight:600;color:#514b59;display:flex;flex-wrap:wrap;align-content:start;gap:9px;min-width:0}.optional,.required-hint{margin-left:auto;font-size:10px;font-weight:400;color:#928b9a}.required-hint{color:#7d6c8e}input,select,textarea{width:100%;min-width:0;background:var(--surface);border:1px solid #ddd8e5;color:var(--ink);border-radius:10px;padding:14px;font-size:15px;line-height:1.5;font-weight:400;min-height:52px}input::placeholder,textarea::placeholder{color:#a09aa7;opacity:1}textarea{resize:vertical;min-height:88px}input:focus,select:focus,textarea:focus{border-color:#9462d8}input[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:var(--danger);background:#fff7f9}.grid-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:17px}.helper,.field-help{font-size:11px;color:var(--muted);font-weight:400;line-height:1.7;margin:0}.primary,.secondary,.text-button,.icon-button,.back-button,.add-button{border:0;font-weight:600;line-height:1.4;transition:background .15s}.primary{background:var(--purple);color:white;border-radius:999px;min-height:52px;padding:15px 25px;display:inline-flex;align-items:center;justify-content:center;gap:28px;font-size:14px}.primary:hover{background:var(--purple-dark)}.secondary{background:#fff;border:1px solid #ddd5e8;border-radius:999px;min-height:46px;padding:12px 19px;color:#4c3d60;font-size:12px}.secondary:hover{background:var(--purple-soft)}.text-button{color:var(--purple);background:transparent;padding:12px 6px;font-size:12px}.text-button:hover{background:#eee6f8;border-radius:8px}.small{min-height:37px;padding:9px 15px;font-size:11px}.icon-button{display:grid;place-items:center;background:transparent;border-radius:50%;width:38px;height:38px;color:#514559;font-size:25px}.icon-button:hover{background:#eee8f5}.icon-button svg{width:22px;height:22px}.full-width{width:100%}.compact{min-height:43px;padding:12px 24px;font-size:12px}.danger{color:var(--danger)}.flow-footer{display:flex;align-items:center;gap:16px;border-top:1px solid var(--line);margin-top:36px;padding:24px 0 20px;background:var(--bg)}.back-button{display:flex;gap:10px;align-items:center;background:transparent;color:#6c6177;padding:12px 8px 12px 0;font-size:13px}.back-button:hover{color:var(--purple)}.flow-footer>.primary{margin-left:auto}.footer-total{display:none}.quiet-details{border-top:1px solid var(--line);padding-top:19px}.quiet-details summary{cursor:pointer;font-size:12px;color:#5f4778;display:flex;align-items:center;gap:8px}.quiet-details summary::before{content:"＋";font-size:17px;color:var(--purple)}.quiet-details[open] summary::before{content:"−"}.quiet-details summary span{font-size:10px;color:var(--muted);margin-left:auto}.logo-control,.details-fields{display:grid;gap:16px;margin-top:17px}.logo-control input{font-size:12px}.logo-control img{max-width:160px;max-height:100px;object-fit:contain;justify-self:start}.section-tip{background:#f1ecf8;border-radius:10px;padding:13px 16px;color:#725989;font-size:11px;display:flex;gap:12px;align-items:center}.section-tip>span{font-size:19px}.items-list{display:grid;gap:14px}.item-card{padding:18px;background:#fff;border:1px solid var(--line);border-radius:14px;display:grid;gap:14px}.item-card-heading{display:flex;align-items:center;justify-content:space-between}.item-number{font-size:10px;letter-spacing:.07em;font-weight:650;color:#84758f}.remove-item{min-width:32px;min-height:32px;border:0;background:#f5f2f8;border-radius:50%;color:#8b729c;font-size:20px}.remove-item:hover{background:#fff0f3;color:var(--danger)}.item-card input{min-height:46px;padding:11px 13px;font-size:14px}.item-card .item-note{font-size:12px;min-height:40px;padding:10px 12px;background:#fdfcfe;border-style:dashed}.add-button{width:100%;min-height:50px;border:1px dashed #c9b4e2;border-radius:12px;background:#f7f3fd;color:var(--purple);font-size:13px}.add-button span{margin-right:8px;font-size:18px}.add-button:hover{background:#eee4fc}.subtotal-line{border-top:1px solid var(--line);padding-top:19px;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted)}.subtotal-line strong{font-size:20px;font-weight:600;color:var(--ink)}.adjustment-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:21px;display:grid;gap:18px}.adjustment-heading{display:flex;gap:12px;align-items:center}.adjustment-icon{display:grid;place-items:center;border-radius:50%;background:var(--purple-soft);color:var(--purple);height:35px;width:35px;font-size:21px}.adjustment-heading h3{margin:0;font-size:14px;font-weight:600}.adjustment-heading p{margin:3px 0 0;font-size:10px;color:var(--muted)}.input-prefix,.input-suffix{width:100%;display:flex;align-items:center;background:#fff;border:1px solid #ddd8e5;border-radius:10px;overflow:hidden}.input-prefix:focus-within,.input-suffix:focus-within{outline:3px solid #ba8df1;outline-offset:3px}.input-prefix>span,.input-suffix>span{color:#8f839d;font-size:13px;font-weight:500;padding:0 0 0 14px}.input-suffix>span{padding:0 14px 0 0}.input-prefix input,.input-suffix input{border:0;background:transparent;outline:none!important;border-radius:0}.breakdown{display:grid;gap:12px;padding:7px 4px}.breakdown>div{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.breakdown .breakdown-total{border-top:1px solid var(--line);padding-top:16px;color:var(--ink);font-size:15px}.breakdown-total strong{font-size:22px;font-weight:600}.payment-options{border:0;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.payment-options legend{margin-bottom:13px;font-size:12px;font-weight:600;color:#514b59}.payment-options label{position:relative;display:block;cursor:pointer}.payment-options input{position:absolute;opacity:0;min-height:0;width:1px;height:1px}.payment-options label>span{padding:18px 9px;display:grid;justify-items:center;gap:9px;border:1px solid #e2dce9;background:#fff;border-radius:12px;font-size:11px;font-weight:500;color:#72687d}.payment-options b{display:grid;place-items:center;width:29px;height:29px;font-size:24px;font-weight:400;line-height:1}.payment-options input:checked+span{border-color:var(--purple);box-shadow:0 0 0 1px var(--purple);color:var(--purple);background:#f5efff}.payment-options input:focus-visible+span{outline:3px solid #ba8df1;outline-offset:3px}.change-card{display:flex;justify-content:space-between;align-items:center;padding:15px 18px;border-radius:10px;background:#edf6ef;color:#426a4e;font-size:12px}.change-card strong{font-size:19px;font-weight:600}.review-total{display:grid;gap:4px;padding:0 0 22px;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px}.review-total strong{font-size:43px;font-weight:620;letter-spacing:-1.7px;color:var(--ink)}.review-total>span:last-child{color:var(--purple);font-weight:550}.review-grid{display:grid;grid-template-columns:minmax(0,1.13fr) minmax(0,1fr);gap:23px;align-items:start}.receipt-stage{background:#eeebf2;border-radius:13px;padding:18px 10px 10px;min-width:0}.receipt-slot{height:6px;border-radius:5px;background:#c8bed4;margin:0 7px}.receipt-paper{background:#fffefb;margin:-1px 10px 0;padding:22px 10px 26px;border-bottom:2px dashed #e3dce9;box-shadow:0 4px 12px #4d365610;text-align:center;overflow-x:auto}.receipt-paper pre{text-align:left;white-space:pre;font:9.1px/1.6 "DejaVu Sans Mono",Menlo,Consolas,monospace;color:#514b52;margin:0;min-width:max-content}.receipt-paper img{max-width:90%;max-height:90px;object-fit:contain;margin-bottom:15px}.preview-caption{text-align:center;font-size:9px;color:#8a7d96;margin:10px 0 1px}.qr-placeholder{padding-top:14px;font-size:37px;line-height:1}.qr-placeholder small{display:block;font-size:8px;line-height:1.5;color:var(--muted);margin-top:5px}.print-setup{display:grid;gap:13px}.print-setup h3{font-size:14px;font-weight:600;margin:0}.device-status{display:flex;gap:7px;align-items:center;color:#8c8098;font-size:10px;word-break:break-word}.status-dot{width:6px;height:6px;border-radius:50%;background:#b2a7bd;flex-shrink:0}.status-dot.connected{background:#3c9b64}.print-note{font-size:9px;line-height:1.7;color:var(--muted);margin:0}.print-setup .text-button{font-size:10px;padding:5px}.print-feedback{padding:12px;border:1px solid #d9c6ef;border-radius:9px;background:#f6efff;color:#633b8b;font-size:11px}.print-feedback p{font-size:10px;line-height:1.7;margin:5px 0 0}.print-feedback[data-kind="error"]{background:#fff3f5;border-color:#e8c2cb;color:#992e48}.print-feedback[data-kind="ok"]{background:#f0f8f2;border-color:#c4ddcd;color:#416c50}progress{width:100%;height:5px;accent-color:var(--purple);margin-top:10px;display:block}.print-feedback progress[hidden]{display:none}.success-actions{display:flex;align-items:center;gap:18px;justify-content:space-between;padding:17px;background:#eef7f0;border-radius:10px;color:#4b7154;font-size:12px}.mobile-progress{display:none}.notice{max-width:1100px;margin:18px auto 0;padding:14px 18px;border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px}.notice p{margin:5px 0 0;font-size:11px}.warning,.inline-warning{background:#fff7e8;border:1px solid #ead3a7;color:#82632e}.update-notice{background:var(--purple-soft);color:var(--purple)}.inline-warning{font-size:10px;padding:11px;border-radius:8px;line-height:1.7}.inline-error{color:#a0324b;background:#fff0f3;border:1px solid #e9bdc8;padding:13px 15px;font-size:12px;border-radius:9px;margin-bottom:21px}.modal{width:min(530px,calc(100vw - 28px));max-height:88dvh;border:1px solid var(--line);border-radius:20px;padding:28px;background:var(--bg);color:var(--ink);box-shadow:0 20px 100px #26103933}.modal::backdrop{background:#20122f70;backdrop-filter:blur(3px)}.modal-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:14px}.modal h2{font-size:25px;font-weight:600;letter-spacing:-.7px;margin:6px 0 0}.modal h3{font-size:13px;font-weight:600;margin:0 0 7px}.modal>label,.modal>.grid-2{margin-top:20px}.modal>.full-width{margin-top:22px}.modal-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.backup-tools{border-top:1px solid var(--line);padding-top:23px;margin-top:25px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,10px);padding:13px 18px;border:1px solid #ddccef;background:#fff;color:#5f457a;border-radius:12px;box-shadow:0 5px 25px #42245e18;width:max-content;max-width:calc(100vw - 32px);font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:100}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.error{background:#fff3f6;border-color:#e5bbc7;color:#9e2d4b}
@media(min-width:1400px){.workspace{max-width:1250px;grid-template-columns:290px minmax(0,1fr);gap:115px}.flow{max-width:740px}.receipt-paper pre{font-size:10px}}
@media(max-width:1100px){.workspace{gap:45px;grid-template-columns:230px minmax(0,1fr);padding:0 28px 30px}.journey h1{font-size:26px}.flow-heading h2{font-size:30px}.review-grid{grid-template-columns:1fr}.receipt-stage{max-width:360px;width:100%;margin:auto}.receipt-paper pre{font-size:12px}.print-setup{padding:5px 4px}.print-setup .text-button{font-size:12px}.print-note{font-size:10px}.inline-warning{font-size:11px}}
@media(max-width:800px){.topbar{height:75px;padding:0 22px}.brand{font-size:23px}.brand img{width:31px;height:31px}.workspace{display:block;max-width:650px;margin:25px auto 0;padding:0 24px 0}.journey{display:none}.flow{max-width:none}.mobile-progress{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:30px;font-size:10px;color:var(--muted)}.progress-track{display:flex;gap:6px;width:100%}.progress-track i{height:3px;flex:1;background:#e6dfed;border-radius:3px}.progress-track i.active{background:var(--purple)}.flow-heading{margin-bottom:27px}.flow-heading h2{font-size:32px;margin:10px 0;letter-spacing:-1.1px}.flow-heading p{font-size:13px;line-height:1.7}.flow-heading>.eyebrow{font-size:9px}.step-panel{gap:22px}.flow-footer{position:sticky;bottom:0;margin-top:30px;padding:16px 0 calc(16px + env(safe-area-inset-bottom));border-top:1px solid #e7e0ef;background:#faf9fcf5;backdrop-filter:blur(12px);z-index:3}.footer-total{display:grid;gap:2px;font-size:9px;color:var(--muted);margin-left:auto}.footer-total strong{font-size:14px;font-weight:600;color:var(--ink)}.flow-footer>.primary{margin-left:0;gap:22px;font-size:13px;padding:15px 23px}.back-button{font-size:12px;gap:6px}.top-actions{gap:7px}.connection-badge{font-size:9px;margin-right:2px}.text-button{font-size:11px}.top-actions .secondary{font-size:10px;padding:9px 12px;min-height:34px}.top-actions .icon-button{width:30px;height:32px}.notice{margin:14px 20px 0;flex-wrap:wrap;gap:12px}.receipt-paper pre{font-size:12px}.modal{padding:22px;border-radius:18px}.toast{bottom:calc(90px + env(safe-area-inset-bottom))}}
@media(max-width:420px){.topbar{padding:0 17px;height:70px}.brand{font-size:22px;gap:7px}.connection-badge{max-width:66px;font-size:8px;line-height:1.4}.top-actions{gap:4px}.top-actions .text-button{font-size:10px;padding:6px 4px}.workspace{padding:0 20px}.flow-heading h2{font-size:29px}.grid-2{gap:13px}.grid-2 label{font-size:11px}.optional,.required-hint{font-size:9px}.flow-footer>.primary{padding:15px 18px;gap:16px}.footer-total strong{font-size:13px}.back-button{font-size:11px}.adjustment-card{padding:17px}.adjustment-card .grid-2{grid-template-columns:1fr}.receipt-paper pre{font-size:10.8px}.success-actions{flex-wrap:wrap}.item-card{padding:16px}.print-feedback{font-size:12px}.print-feedback p{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media(max-width:800px){input,select,textarea,.item-card input{font-size:16px}.review-total strong{overflow-wrap:anywhere}}

/* Large controls and readable text throughout the application. */
:root{--muted:#595260}body{font-size:20px;color:#211a29}.topbar{height:auto;min-height:100px;flex-wrap:wrap;padding:20px 28px}.top-actions{flex-wrap:wrap}.app-page{max-width:1000px;margin:36px auto;padding:24px}.app-page h1{font-size:36px;line-height:1.25}.home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:32px 0}.home-tile{min-height:190px;padding:28px;border:2px solid #70409e;border-radius:24px;background:#fff;color:#48216c;font-size:26px;font-weight:700;display:grid;place-items:center;gap:12px}.home-tile:hover{background:#eee4ff}.home-tile>span{font-size:46px}.app-page form{display:grid;gap:24px;margin:28px 0}.app-page h2{font-size:26px}.app-page p{overflow-wrap:anywhere}.workspace{max-width:1400px;gap:40px;grid-template-columns:300px minmax(0,1fr)}.flow{max-width:850px}.flow-heading{margin-top:28px}label,.payment-options legend{font-size:20px;color:#352a40}input,select,textarea,.item-card input,.item-card .item-note{font-size:22px;min-height:64px;padding:16px}.primary,.secondary,.text-button,.back-button,.add-button,.small,.compact,.print-setup .text-button{font-size:20px;min-height:60px;padding:16px 22px}.icon-button,.remove-item{width:60px;height:60px;min-width:60px;min-height:60px;font-size:32px}.helper,.field-help,.journey-description,.flow-heading p,.print-feedback p,.print-note,.notice p,.local-note p,.adjustment-heading p{font-size:18px;color:#595260}.eyebrow,.optional,.required-hint,.item-number,.connection-badge,.device-status,.preview-caption,.quiet-details summary span,.journey-total small,.step-nav button small{font-size:16px;color:#595260}.step-nav button,.quiet-details summary,.subtotal-line,.breakdown>div,.change-card,.review-total,.success-actions,.notice,.inline-warning,.inline-error,.print-feedback,.toast,.local-note,.journey-total>span{font-size:19px}.step-nav button{min-height:80px}.step-number{width:44px;height:44px;font-size:20px}.payment-options label>span{font-size:20px;min-height:120px}.adjustment-heading h3,.print-setup h3,.modal h3{font-size:23px}.modal{width:min(760px,calc(100vw - 28px))}.receipt-paper pre{font-size:14px;color:#211a29}.receipt-stage{overflow:auto}.review-grid{grid-template-columns:minmax(0,1fr)}.logo-control input{font-size:20px}.input-prefix>span,.input-suffix>span{font-size:22px}.toast{bottom:30px;max-height:40vh;overflow:auto}.optional,.required-hint{color:#595260}input::placeholder,textarea::placeholder{color:#655b70}.journey-total small{color:#595260}
@media(max-width:900px){.workspace{display:block;padding:20px}.journey{position:static}.journey h1,.journey-description,.local-note,.journey-total{display:none}.step-nav{display:flex;overflow-x:auto;margin-bottom:20px}.step-nav li{flex:0 0 210px}.flow{max-width:none}.topbar{padding:16px}.top-actions{gap:8px}.app-page{margin:12px auto;padding:20px}.home-grid{gap:16px}.home-tile{font-size:23px;padding:20px;min-height:170px}.grid-2{grid-template-columns:1fr}.flow-footer{flex-wrap:wrap}.flow-heading h2{font-size:32px}.payment-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.home-grid{grid-template-columns:1fr}.home-tile{min-height:130px;display:flex;justify-content:flex-start;text-align:left;gap:24px}.app-page h1{font-size:30px}.top-actions .connection-badge{width:100%}.modal{padding:20px}.flow-footer>.primary{width:100%}.receipt-paper pre{font-size:12px}}
.history-preview{white-space:pre;overflow-x:auto;font:18px/1.6 monospace;max-width:100%;padding:16px;background:#fff}.item-card details summary{cursor:pointer;min-height:60px;padding:16px 0;font-size:20px}.item-card h4{font-size:22px;margin:0}.item-card p{margin:0}#settingsDialog>label{margin-top:24px}
