:root{color:#111827;background:#f7f8f5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;letter-spacing:0;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;padding:24px}.topbar{align-items:center;display:flex;gap:16px;justify-content:space-between;margin:0 auto 24px;max-width:1180px}.brand,.wallet-button,.primary-action,.secondary-action,.icon-button,.back-link,.tx-link{align-items:center;display:inline-flex;gap:8px}.brand{font-size:1.05rem;font-weight:800}.brand-mark{align-items:center;background:#111827;border-radius:10px;color:#34d399;display:inline-flex;height:42px;justify-content:center;width:42px}.wallet-button,.primary-action,.secondary-action,.icon-button{border:1px solid #d9ded6;cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease}.wallet-button:hover,.primary-action:hover,.secondary-action:hover,.icon-button:hover{transform:translateY(-1px)}.wallet-button{background:#fff;border-radius:8px;color:#111827;font-weight:700;min-height:42px;padding:0 14px}.workspace{display:grid;gap:18px;grid-template-columns:minmax(0,1.2fr) minmax(310px,.8fr);grid-template-areas:"create qr" "invoices invoices";margin:0 auto;max-width:1180px}.tool-panel,.checkout-panel{background:#fff;border:1px solid #dfe4dc;border-radius:8px;box-shadow:0 18px 48px #11182712;padding:22px}.create-panel{grid-area:create}.qr-panel{grid-area:qr}.invoice-panel{grid-area:invoices}.panel-heading{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:22px}.section-label{color:#6b7280;display:block;font-size:.78rem;font-weight:800;letter-spacing:0;margin-bottom:6px;text-transform:uppercase}h1,h2,p{margin:0}h1{font-size:2rem;line-height:1.05}h2{font-size:1.25rem;line-height:1.2}.status-pill,.status-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:.78rem;font-weight:800;min-height:28px;padding:0 10px;white-space:nowrap}.status-pill{background:#ecfdf5;color:#047857}.status-pill.warning{background:#fffbeb;color:#92400e}.form-grid{display:grid;gap:14px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}label{display:grid;gap:8px}label span{color:#4b5563;font-size:.88rem;font-weight:800}.full-span{grid-column:1 / -1}input{background:#fbfcfa;border:1px solid #d9ded6;border-radius:8px;color:#111827;min-height:48px;outline:none;padding:0 13px;width:100%}input:focus{border-color:#10b981;box-shadow:0 0 0 4px #10b9811f}.amount-input{align-items:center;background:#fbfcfa;border:1px solid #d9ded6;border-radius:8px;display:flex;min-height:48px;padding-right:13px}.amount-input input{background:transparent;border:0;box-shadow:none;min-height:46px}.amount-input strong{color:#047857;font-size:.88rem}.primary-action,.secondary-action{border-radius:8px;font-weight:900;justify-content:center;min-height:48px;width:100%}.primary-action{background:#111827;border-color:#111827;color:#fff;margin-top:18px}.primary-action:disabled,.secondary-action:disabled,.icon-button:disabled{cursor:not-allowed;opacity:.55;transform:none}.secondary-action{background:#fbbf24;border-color:#f59e0b;color:#111827;margin-top:14px}.qr-frame{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;justify-content:center;margin:0 auto 16px;min-height:260px;width:100%}.link-box{align-items:center;background:#f3f4f2;border:1px solid #dfe4dc;border-radius:8px;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) 42px;margin-top:14px;padding:10px}.link-box span{color:#374151;font-size:.84rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-button{background:#fff;border-radius:8px;color:#111827;height:42px;justify-content:center;min-width:42px;padding:0}.icon-button.danger{color:#b91c1c}.empty-qr,.empty-list,.loading-block{align-items:center;background:#f3f4f2;border:1px dashed #cfd6cc;border-radius:8px;color:#6b7280;display:flex;flex-direction:column;font-weight:800;gap:10px;justify-content:center;min-height:220px;text-align:center}.invoice-list{display:grid;gap:10px}.invoice-item{align-items:center;background:#fbfcfa;border:1px solid #dfe4dc;border-radius:8px;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;min-height:78px;padding:12px}.invoice-title{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}.invoice-item strong{font-size:.98rem}.invoice-item span{color:#6b7280;font-size:.88rem}.invoice-actions{display:flex;gap:8px}.status-0{background:#fffbeb;color:#92400e}.status-1{background:#ecfdf5;color:#047857}.status-2{background:#fef2f2;color:#b91c1c}.checkout-shell{margin:0 auto;max-width:640px}.back-link{color:#4b5563;font-size:.9rem;font-weight:800;margin-bottom:14px}.checkout-panel{padding:26px}.amount-due{background:#111827;border-radius:8px;color:#fff;margin-bottom:18px;padding:20px}.amount-due span{color:#d1d5db;display:block;font-size:.9rem;font-weight:800;margin-bottom:8px}.amount-due strong{color:#34d399;display:block;font-size:2rem;line-height:1}.invoice-meta{border:1px solid #dfe4dc;border-radius:8px;overflow:hidden}.meta-row{align-items:center;display:grid;gap:10px;grid-template-columns:110px minmax(0,1fr);min-height:48px;padding:11px 13px}.meta-row+.meta-row{border-top:1px solid #dfe4dc}.meta-row span{color:#6b7280;font-size:.86rem;font-weight:800}.meta-row strong{color:#111827;font-size:.92rem;min-width:0;overflow-wrap:anywhere}.setup-notice,.notice-banner,.error-line,.tx-link{border-radius:8px;margin-top:14px}.setup-notice{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;display:grid;gap:4px;padding:12px}.setup-notice strong{font-size:.94rem}.setup-notice span{font-size:.88rem}.error-line{align-items:flex-start;background:#fef2f2;border:1px solid #fecaca;color:#991b1b;display:flex;font-size:.88rem;font-weight:700;gap:8px;padding:11px 12px}.notice-banner{align-items:flex-start;display:flex;gap:10px;padding:12px}.notice-banner div{display:grid;gap:3px}.notice-banner strong{font-size:.94rem}.notice-banner span{font-size:.88rem;font-weight:700}.notice-banner.success{background:#ecfdf5;border:1px solid #a7f3d0;color:#047857}.notice-banner.error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.tx-link{background:#eef2ff;border:1px solid #c7d2fe;color:#3730a3;font-size:.88rem;font-weight:800;padding:11px 12px}.dialog-backdrop{align-items:center;background:#11182794;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:18px;position:fixed;z-index:50}.dialog-panel{background:#fff;border:1px solid #dfe4dc;border-radius:8px;box-shadow:0 24px 70px #11182742;display:grid;gap:14px;max-width:420px;padding:22px;text-align:center;width:100%}.dialog-icon{align-items:center;border-radius:999px;display:inline-flex;height:54px;justify-content:center;justify-self:center;width:54px}.dialog-panel.success .dialog-icon{background:#ecfdf5;color:#047857}.dialog-panel.error .dialog-icon{background:#fef2f2;color:#b91c1c}.dialog-panel h2{font-size:1.35rem;margin-bottom:8px}.dialog-panel p{color:#4b5563;font-size:.95rem;font-weight:700}.dialog-action{margin-top:2px}.footer{align-items:center;color:#6b7280;display:flex;font-size:.86rem;font-weight:800;gap:14px;justify-content:center;margin:26px auto 0;max-width:1180px}.footer a{align-items:center;color:#047857;display:inline-flex;gap:4px}.spin{animation:spin .9s linear infinite}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 860px){.app-shell{padding:16px}.topbar{margin-bottom:18px}.workspace{grid-template-areas:"create" "qr" "invoices";grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.full-span{grid-column:auto}.invoice-item{grid-template-columns:1fr}.invoice-actions{justify-content:flex-start}}@media (max-width: 520px){.brand span:last-child{display:none}h1{font-size:1.6rem}.tool-panel,.checkout-panel{padding:16px}.panel-heading{align-items:flex-start;flex-direction:column}.status-pill{max-width:100%}.meta-row{grid-template-columns:1fr}.footer{flex-direction:column}}
