:root{--font-sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", sans-serif;--text-heading:#1d1d1f;--text-body:#424245;--text-muted:#6e6e73;--text-subtle:#86868b;--surface:#f5f5f7;--surface-elevated:#fff;--panel:#fff;--fill-tertiary:#e8e8ed;--fill-quaternary:#f5f5f7;--border:#d2d2d7;--border-subtle:#e8e8ed;--hairline:#0000000f;--accent:#0071e3;--accent-hover:#0077ed;--accent-pressed:#006edb;--accent-soft:#0071e31a;--accent-ring:#0071e359;--cta-fg:#fff;--link:#06c;--danger:#c41e3a;--danger-bg:#fff0f1;--success:#1b7a3d;--success-bg:#ecf9ef;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-pill:980px;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 2px 8px #0000000f, 0 1px 2px #0000000a;--shadow-float:0 8px 24px #00000014, 0 2px 6px #0000000a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font-sans);letter-spacing:-.022em;color:var(--text-body);background:var(--surface);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:17px;line-height:1.47059}*,:before,:after{box-sizing:border-box}body{margin:0}#root{min-height:100svh}code{background:var(--fill-tertiary);border-radius:6px;padding:.15em .4em;font-family:ui-monospace,SF Mono,Menlo,Monaco,Consolas,monospace;font-size:.9em}.portal-page{background:var(--surface);min-height:100svh;color:var(--text-body);flex-direction:column;display:flex}.portal-header{border-bottom:1px solid var(--hairline);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);background:#ffffffd1;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem clamp(1rem,3vw,1.5rem);display:flex}.portal-header a{color:var(--accent);letter-spacing:-.015em;font-size:.9375rem;font-weight:600;text-decoration:none}.portal-header a:hover{color:var(--accent-hover);text-underline-offset:3px;text-decoration:underline}.portal-main{flex:1;width:100%;max-width:920px;margin:0 auto;padding:clamp(1.25rem,4vw,2rem)}.panel{background:var(--panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:1rem;padding:1.35rem 1.5rem}.panel h2{font-size:1.25rem;font-weight:600;font-family:var(--font-display);letter-spacing:-.028em;color:var(--text-heading);margin:0 0 .75rem}.panel h3{letter-spacing:-.02em;color:var(--text-heading);margin:0 0 .5rem;font-size:1rem;font-weight:600}.panel-notice{border-radius:var(--radius-md);background:var(--fill-quaternary);border:1px solid var(--border-subtle);margin-top:1rem;padding:1rem 1.15rem}.panel-notice pre{word-break:break-all;white-space:pre-wrap;color:var(--text-body);margin:.5rem 0 0;font-size:.75rem}.row{flex-wrap:wrap;align-items:flex-end;gap:.75rem 1rem;margin-bottom:.75rem;display:flex}label.field{color:var(--text-muted);letter-spacing:-.01em;flex-direction:column;gap:.35rem;font-size:.8125rem;font-weight:500;display:flex}input,select,textarea{font:inherit;letter-spacing:-.01em;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-elevated);color:var(--text-heading);padding:.55rem .75rem;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}input:hover,select:hover,textarea:hover{border-color:#b9b9c3}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}button.btn,a.btn{font:inherit;letter-spacing:-.015em;border-radius:var(--radius-pill);cursor:pointer;background:var(--accent);color:var(--cta-fg);text-align:center;box-shadow:var(--shadow-sm);border:none;padding:.55rem 1.15rem;font-size:.9375rem;font-weight:600;text-decoration:none;transition:background .2s,transform .12s,box-shadow .2s;display:inline-block}button.btn:hover,a.btn:hover{background:var(--accent-hover);box-shadow:var(--shadow-md)}button.btn:active,a.btn:active{background:var(--accent-pressed);transform:scale(.98)}button.btn:focus-visible,a.btn:focus-visible{box-shadow:0 0 0 4px var(--accent-ring);outline:none}button.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}button.btn-ghost,a.btn-ghost{background:var(--surface-elevated);color:var(--accent);border:1px solid var(--border);box-shadow:none}button.btn-ghost:hover,a.btn-ghost:hover{background:var(--fill-quaternary);box-shadow:var(--shadow-sm);border-color:#b9b9c3}table.data{border-collapse:separate;border-spacing:0;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--surface-elevated);width:100%;font-size:.875rem;overflow:hidden}table.data th,table.data td{text-align:left;border-bottom:1px solid var(--border-subtle);padding:.65rem .85rem}table.data thead th{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);background:var(--fill-quaternary);font-size:.6875rem;font-weight:600}table.data tbody tr:last-child td{border-bottom:none}table.data tbody tr:hover td{background:#0071e308}.tabs{border-radius:var(--radius-pill);background:var(--fill-tertiary);border:1px solid var(--border-subtle);flex-wrap:wrap;gap:.2rem;margin-bottom:1.25rem;padding:.25rem;display:inline-flex}.tabs button{font:inherit;letter-spacing:-.015em;border-radius:var(--radius-pill);cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:.45rem 1rem;font-size:.875rem;font-weight:500;transition:background .2s,color .2s,box-shadow .2s}.tabs button:hover{color:var(--text-heading);background:#ffffff8c}.tabs button.active{background:var(--surface-elevated);color:var(--text-heading);box-shadow:var(--shadow-sm)}.error{color:var(--danger);border-radius:var(--radius-sm);background:var(--danger-bg);border:1px solid #c41e3a26;margin:.25rem 0;padding:.65rem .85rem;font-size:.875rem}.success{color:var(--success);font-size:.875rem}.link-inline{color:var(--accent);font-size:.875rem;font-weight:600;text-decoration:none}.link-inline:hover{text-underline-offset:3px;text-decoration:underline}.qr-wrap{flex-wrap:wrap;align-items:flex-start;gap:1.5rem;display:flex}.qr-wrap pre{word-break:break-all;white-space:pre-wrap;max-width:100%;color:var(--text-body);background:var(--fill-quaternary);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);margin:0;padding:.75rem 1rem;font-size:.75rem}.invoice-mode-toggle{border-radius:var(--radius-pill);background:var(--fill-tertiary);border:1px solid var(--border-subtle);gap:.35rem;width:fit-content;margin-bottom:1rem;padding:.25rem;display:flex}.invoice-mode-toggle button{font:inherit;border-radius:var(--radius-pill);color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:.45rem 1rem;font-size:.875rem;font-weight:500;transition:background .2s,color .2s}.invoice-mode-toggle button:hover{color:var(--text-heading)}.invoice-mode-toggle button.active{background:var(--surface-elevated);color:var(--text-heading);box-shadow:var(--shadow-sm)}.custom-lines-block{margin-top:.75rem}.custom-lines-hint{color:var(--text-muted);margin:0 0 .65rem;font-size:.8125rem;line-height:1.45}.custom-lines-table input{width:100%;min-width:0}.custom-lines-table td{vertical-align:middle}.custom-lines-footer{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-top:.85rem;display:flex}.custom-lines-total{color:var(--text-heading);letter-spacing:-.02em;font-size:.9375rem;font-weight:600}button.btn-icon{min-width:2rem;padding:.35rem .55rem;font-size:1.1rem;line-height:1}.page{background:var(--surface);flex-direction:column;min-height:100svh;display:flex}.header{border-bottom:1px solid var(--hairline);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);background:#ffffffc7;padding:.875rem clamp(1.25rem,4vw,2.5rem)}.header-with-actions{justify-content:space-between;align-items:center;gap:1rem;display:flex}.portal-entry{font-family:var(--font-sans);letter-spacing:-.01em;color:var(--accent);border-radius:var(--radius-pill);background:var(--surface-elevated);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);white-space:nowrap;padding:.5rem 1rem;font-size:.8125rem;font-weight:600;text-decoration:none;transition:background .2s,border-color .2s,box-shadow .2s,transform .15s}.portal-entry:hover{background:var(--accent-soft);box-shadow:var(--shadow-md);border-color:#0071e338}.portal-entry:focus-visible{box-shadow:0 0 0 4px var(--accent-ring);outline:none}a.wordmark{color:var(--text-heading)}.wordmark{font-family:var(--font-display);letter-spacing:-.03em;align-items:baseline;gap:.3rem;font-size:1.125rem;font-weight:600;text-decoration:none;display:inline-flex}.wordmark-primary{color:var(--text-heading)}.wordmark-secondary{color:var(--accent);font-weight:600}.main{flex:1;justify-content:center;align-items:center;padding:clamp(2.5rem,10vw,5rem) clamp(1.25rem,4vw,2.5rem);display:flex}.hero{text-align:center;max-width:34rem}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0 0 .75rem;font-size:.75rem;font-weight:600}.hero h1{font-family:var(--font-display);letter-spacing:-.035em;color:var(--text-heading);margin:0 0 1rem;font-size:clamp(2rem,5.5vw,2.75rem);font-weight:600;line-height:1.07}.lead{letter-spacing:-.015em;color:var(--text-muted);margin:0 0 2rem;font-size:1.0625rem;line-height:1.5}.cta{letter-spacing:-.015em;color:var(--cta-fg);background:var(--accent);border-radius:var(--radius-pill);cursor:pointer;box-shadow:var(--shadow-sm);border:none;justify-content:center;align-items:center;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;text-decoration:none;transition:background .2s,transform .15s,box-shadow .2s;display:inline-flex}.cta:hover{background:var(--accent-hover);box-shadow:var(--shadow-float);transform:translateY(-1px)}.cta:active{background:var(--accent-pressed);transform:translateY(0)}.cta:focus-visible{box-shadow:0 0 0 4px var(--accent-ring);outline:none}.footer{border-top:1px solid var(--hairline);text-align:center;background:#ffffff80;padding:1.25rem clamp(1.25rem,4vw,2.5rem)}.footer p{color:var(--text-subtle);margin:0;font-size:.8125rem}
