:root{--color-text:#475569;--color-heading:#172033;--color-background:#edf3f8;--color-surface:#fff;--color-surface-muted:#f6f9fc;--color-border:#d5e0ea;--color-border-strong:#9eb2c6;--color-primary:#1e2f66;--color-primary-hover:#15224e;--color-primary-soft:#edf4fa;--color-primary-border:#b7cde0;--color-accent:#37658a;--color-success:#047857;--color-success-bg:#ecfdf5;--color-success-border:#86efac;--color-warning:#92400e;--color-warning-bg:#fffbeb;--color-warning-border:#fcd34d;--color-error:#b42318;--color-error-bg:#fff1f0;--color-error-border:#fda29b;--color-focus:#2563eb;--shadow-card:0 18px 40px -24px #0f172a57, 0 4px 12px #0f172a0f;--shadow-panel:0 8px 20px -18px #0f172a42;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--sans:Arial, Helvetica, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;font:16px/1.5 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--color-text);background:var(--color-background);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{background:var(--color-background);min-width:320px}body{background:radial-gradient(circle at 8% 0,#c2daed94,#0000 31%),radial-gradient(circle at 100% 100%,#dae7f3b8,#0000 36%),linear-gradient(135deg,#f8fbfd 0%,#e8f0f7 100%);min-width:320px;min-height:100dvh;margin:0;overflow-x:hidden}button,input,select{font:inherit}button,[role=button]{touch-action:manipulation}a{color:var(--color-primary);text-underline-offset:2px}a:hover{color:var(--color-primary-hover)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}#root{width:min(100% - 48px,1240px);margin-inline:auto;padding-block:28px}.card,.passcode-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:100%;box-shadow:var(--shadow-card);padding:32px}.payment-card{max-width:500px;margin-inline:auto}.payment-checkout-card{max-width:1120px;padding:0;position:relative;overflow:hidden}.payment-checkout-card:before,.staff-card:before,.passcode-card:before{content:"";background:linear-gradient(90deg, var(--color-primary), var(--color-accent), #9bc1dc);height:4px;position:absolute;inset:0 0 auto}.payment-page-header{border-bottom:1px solid var(--color-border);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;padding:30px 34px 26px;display:grid}.payment-brand-logo{object-fit:contain;width:auto;max-width:220px;height:46px}.payment-page-header h1{margin-bottom:4px}.payment-eyebrow,.staff-eyebrow{color:var(--color-accent);letter-spacing:.045em;margin:0 0 5px;font-size:.75rem;font-weight:700}.payment-header-copy{min-width:0}.payment-header-badge{min-height:40px;color:var(--color-primary);background:var(--color-primary-soft);border:1px solid var(--color-primary-border);white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:8px 12px;font-size:.8125rem;font-weight:650;display:inline-flex}.payment-page-header .subtitle{margin:0}.payment-workspace{grid-template-columns:minmax(0,1fr);gap:24px;margin-top:0;padding:24px 34px 34px;display:grid}.payment-context-panel,.payment-entry-panel{min-width:0}.payment-section-heading{margin-bottom:18px}.section-kicker{color:var(--color-accent);letter-spacing:.045em;margin:0 0 5px;font-size:.75rem;font-weight:700}.payment-section-heading h2{margin-bottom:4px;font-size:1.15rem}.payment-section-heading p{color:#52647c;margin:0;font-size:.8125rem;line-height:1.45}.payment-context-panel .receipt{margin-bottom:16px}.payment-context-panel .trust-panel{margin-bottom:14px}.payment-context-panel .accepted-cards{margin:0}.payment-form .btn-primary:disabled{color:#fff;opacity:1;background:#59678f;border-color:#59678f}.staff-card{max-width:1180px;padding:0;position:relative;overflow:hidden}.state-card{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:260px;display:flex}.state-card p{margin:0}.brand-logo-container{border-bottom:1px solid var(--color-border);justify-content:center;margin-bottom:24px;padding-bottom:20px;display:flex}.brand-logo{object-fit:contain;width:auto;max-width:100%;height:56px}h1,h2,h3,p{overflow-wrap:anywhere}h1,h2,h3{color:var(--color-heading);line-height:1.2}h1{letter-spacing:-.025em;margin:0 0 8px;font-size:1.625rem;font-weight:700}h2{margin:0;font-size:1rem}.subtitle{color:var(--color-text);margin:0 0 24px;font-size:.9375rem;line-height:1.55}.form-instructions,.field-help,.support-note,.payment-support,.invoice-status,.copy-status{font-size:.8125rem;line-height:1.45}.form-instructions{color:var(--color-text);margin:0 0 18px}.form-group{flex-direction:column;min-width:0;margin-bottom:20px;display:flex}label,.form-label{color:var(--color-heading);letter-spacing:0;margin-bottom:7px;font-size:.875rem;font-weight:650;display:block}.required-text,.optional-text{color:var(--color-text);letter-spacing:0;text-transform:none;margin-left:4px;font-size:.75rem;font-weight:500}input,select{width:100%;min-width:0;min-height:46px;color:var(--color-heading);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);outline:none;padding:10px 13px;font-size:1rem;transition:border-color .16s,box-shadow .16s,background-color .16s}input::placeholder{color:#64748b}input:hover:not(:disabled){border-color:#64748b}input:focus{border-color:var(--color-focus);box-shadow:0 0 0 3px #2563eb2e}input[aria-invalid=true]{border-color:var(--color-error)}input[aria-invalid=true]:focus{box-shadow:0 0 0 3px #b4231829}input:disabled{cursor:not-allowed;color:#64748b;opacity:.75;background:#f1f5f9}.field-help,.field-error{min-height:1.2em;margin:6px 0 0}.field-help{color:#52647c}.field-error{color:var(--color-error);font-size:.8125rem;font-weight:550}.payment-field-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;display:grid}.btn{cursor:pointer;text-align:center;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:11px 18px;font-size:.9375rem;font-weight:650;line-height:1.3;text-decoration:none;transition:color .16s,background-color .16s,border-color .16s,box-shadow .16s;display:inline-flex}.btn-primary{color:#fff;background:var(--color-primary);border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){color:#fff;background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-primary:active:not(:disabled),.btn-secondary:active:not(:disabled){box-shadow:inset 0 2px 4px #0f172a33}.btn-secondary{color:var(--color-primary);background:var(--color-primary-soft);border-color:var(--color-primary-border)}.btn-secondary:hover:not(:disabled){color:var(--color-primary-hover);background:#e2e8f0;border-color:#94a3b8}.btn:disabled{cursor:not-allowed;opacity:.55}.btn-full{width:100%}.icon{flex:none;display:block}.icon-button{width:44px;height:44px;color:var(--color-text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-button:hover{background:#e2e8f0}.remove-invoice{color:var(--color-error)}.alert{border:1px solid;border-radius:8px;align-items:flex-start;gap:11px;margin-bottom:20px;padding:14px 16px;font-size:.875rem;line-height:1.5;display:flex}.alert strong{margin-bottom:2px;font-size:.9375rem;display:block}.alert h1{color:currentColor;margin:0 0 4px;font-size:1.125rem}.alert p{margin:0}.alert-error{color:var(--color-error);background:var(--color-error-bg);border-color:var(--color-error-border)}.alert-success{color:var(--color-success);background:var(--color-success-bg);border-color:var(--color-success-border)}.alert-warning{color:var(--color-warning);background:var(--color-warning-bg);border-color:var(--color-warning-border)}.alert-stacked{flex-direction:column;align-items:stretch}.alert-heading{align-items:center;gap:8px;display:flex}.receipt{background:var(--color-primary-soft);border:1px solid var(--color-primary-border);border-radius:9px;margin-bottom:24px;padding:16px}.receipt-row{grid-template-columns:minmax(110px,.8fr) minmax(0,1.2fr);align-items:start;gap:12px;padding:5px 0;font-size:.9rem;display:grid}.receipt-label{color:var(--color-text)}.receipt-value{min-width:0;color:var(--color-heading);text-align:right;overflow-wrap:anywhere;font-weight:650}.receipt-total{border-top:1px solid var(--color-primary-border);margin-top:6px;padding-top:12px;font-size:1rem}.receipt-reference{font-family:var(--mono);font-size:.8125rem}.amount-value{font-variant-numeric:tabular-nums}.amount-due{border:1px solid var(--color-primary-border);background:linear-gradient(135deg,#e8f2fa 0%,#f4f8fc 100%);border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin:-2px 0 16px;padding:17px 18px;display:flex}.amount-label,.amount-caption{display:block}.amount-label{color:var(--color-heading);font-size:.9375rem;font-weight:700}.amount-caption{color:var(--color-text);margin-top:2px;font-size:.75rem}.amount-due .amount-value{color:var(--color-primary);letter-spacing:-.035em;overflow-wrap:anywhere;text-align:right;font-size:1.65rem;font-weight:750}.amount-due .amount-value small{letter-spacing:0;font-size:.7em;font-weight:650}.trust-panel,.accepted-cards{color:var(--color-primary);align-items:flex-start;gap:10px;display:flex}.trust-panel{background:var(--color-surface);border:1px solid var(--color-primary-border);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);margin-bottom:16px;padding:12px 14px}.trust-panel strong,.trust-panel span{display:block}.trust-panel strong{font-size:.875rem}.trust-panel span,.accepted-cards{font-size:.8125rem;line-height:1.45}.accepted-cards{color:var(--color-text);margin:-8px 0 20px}.iframe-container{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);align-items:center;min-height:46px;padding:0 12px;transition:border-color .16s,box-shadow .16s;display:flex;overflow:hidden}.iframe-container.is-loading{background:linear-gradient(90deg,#f8fafc,#eef2f7,#f8fafc) 0 0/200% 100%;animation:1.4s ease-in-out infinite loading-surface}.iframe-container:focus-within{border-color:var(--color-focus);box-shadow:0 0 0 3px #2563eb2e}iframe[name=tokenFrame]{border:0;width:100%;height:40px}.payment-support,.support-note{color:#52647c;text-align:center;margin:14px 0 0}.success-state{text-align:center}.status-icon{border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:4px auto 22px;display:flex}.status-icon-success{color:var(--color-success);background:var(--color-success-bg)}.recovery-actions{grid-template-columns:1fr 1fr;gap:12px;display:grid}.spinner{border:2px solid #ffffff59;border-top-color:currentColor;border-radius:50%;flex:none;width:18px;height:18px;animation:.8s linear infinite spin}.spinner-accent{color:var(--color-primary);border-color:currentColor #1e2f662e #1e2f662e}.spinner-large{border-width:4px;width:34px;height:34px;margin-bottom:18px}.spinner-small{width:18px;height:18px}.passcode-container{justify-content:center;align-items:center;min-height:calc(100dvh - 48px);display:flex}.passcode-card{text-align:center;max-width:420px;position:relative;overflow:hidden}.passcode-logo-container{justify-content:center;margin-bottom:20px;display:flex}.passcode-logo{object-fit:contain;width:auto;max-width:100%;height:44px}.passcode-title{font-size:1.375rem}.passcode-subtitle{margin:0 0 24px;font-size:.9375rem}.align-left{text-align:left}.password-control{position:relative}.password-control input{padding-right:72px}.text-button{min-width:56px;min-height:44px;color:var(--color-primary);cursor:pointer;background:0 0;border:0;border-radius:5px;padding:0 10px;font-size:.8125rem;font-weight:650;position:absolute;top:1px;right:3px}.staff-page-header{border-bottom:1px solid var(--color-border);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;padding:30px 32px 24px;display:grid}.staff-brand-logo{object-fit:contain;width:auto;max-width:220px;height:46px}.staff-heading{min-width:0}.staff-heading h1{margin-bottom:4px}.staff-heading .subtitle{max-width:630px;margin:0}.btn-logout{min-height:44px;color:var(--color-text);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:8px 10px;font-size:.8125rem;font-weight:650;display:inline-flex}.btn-logout:hover{color:var(--color-primary);background:var(--color-primary-soft)}.staff-workspace{grid-template-columns:minmax(0,1fr);gap:24px;margin-top:0;padding:24px 32px 32px;display:grid}.staff-panel{min-width:0}.staff-intake-panel{border:1px solid var(--color-primary-border);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);background:linear-gradient(145deg,#f2f7fb 0%,#f8fbfd 100%);flex-direction:column;padding:22px;display:flex}.staff-details-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);flex-direction:column;padding:22px;display:flex}.staff-panel-heading{align-items:flex-start;gap:11px;margin-bottom:18px;display:flex}.staff-panel-heading h2{margin:1px 0 3px;font-size:1.0625rem}.staff-panel-heading p{color:#52647c;margin:0;font-size:.8125rem;line-height:1.45}.staff-step{color:#fff;background:var(--color-primary);border-radius:50%;flex:none;justify-content:center;align-items:center;width:30px;height:30px;font-size:.8125rem;font-weight:700;display:inline-flex}.staff-details-form .form-instructions{margin-bottom:14px}.staff-details-form{flex-direction:column;flex:1;min-height:0;display:flex}.staff-form-grid{grid-template-columns:minmax(0,1fr);gap:16px 18px;display:grid}.staff-form-grid .form-group{margin:0}.dropzone{text-align:center;background:var(--color-primary-soft);cursor:pointer;border:2px dashed #86a7c3;border-radius:10px;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:156px;margin-bottom:0;padding:26px 20px;transition:border-color .18s,background-color .18s,box-shadow .18s;display:flex;position:relative}.dropzone:hover,.dropzone.dragging-over{border-color:var(--color-primary);background:#e3f0fa}.dropzone.dragging-over{box-shadow:0 0 0 4px #1e2f6624}.dropzone-icon{color:var(--color-primary);margin-bottom:10px}.dropzone-title{color:var(--color-heading);margin:0 0 5px;font-size:.9375rem;font-weight:650}.dropzone-sub{color:#52647c;max-width:430px;margin:0;font-size:.8125rem}.uploaded-invoices-list{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#ffffffb8;flex-direction:column;gap:8px;margin:16px 0 0;padding:14px;display:flex}.uploaded-invoices-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.uploaded-invoices-heading h2{color:var(--color-heading);letter-spacing:.03em;text-transform:uppercase;margin:0;font-size:.8125rem;font-weight:700}.invoice-count{min-width:24px;min-height:24px;color:var(--color-primary);background:var(--color-primary-soft);border:1px solid var(--color-primary-border);border-radius:999px;justify-content:center;align-items:center;padding:2px 7px;font-size:.75rem;font-weight:700;display:inline-flex}.invoice-item-row{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:8px 8px 8px 13px;display:flex}.invoice-item-row.error{background:var(--color-error-bg);border-color:var(--color-error-border)}.invoice-item-content{align-items:center;gap:10px;min-width:0;display:flex}.invoice-item-text{flex-direction:column;min-width:0;display:flex}.invoice-filename{color:var(--color-heading);overflow-wrap:anywhere;font-size:.875rem;font-weight:650}.invoice-status{color:#52647c}.status-success{color:var(--color-success)}.status-error{color:var(--color-error)}.input-autofilled{animation:2s forwards highlight-field}.copy-block{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:10px;display:grid}.copy-input{background:var(--color-surface);font-size:.875rem}.copy-status{min-height:1.25rem;margin:4px 0 0}.copy-status.is-error{color:var(--color-error)}.staff-submit-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-top:auto;padding-top:20px;display:grid}.staff-submit-actions .btn-primary{box-shadow:0 8px 18px -12px #1e2f66cc}@media (width>=1024px){.staff-workspace{grid-template-columns:minmax(340px,.85fr) minmax(0,1.25fr);align-items:stretch;gap:30px}.staff-details-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:20px}.staff-intake-panel .dropzone{min-height:220px}.staff-form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.staff-field-wide{grid-column:1/-1}}@media (width>=900px){.payment-workspace{grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);align-items:stretch;gap:28px}.payment-context-panel,.payment-entry-panel{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:20px}.payment-context-panel{background:var(--color-surface-muted)}.payment-entry-panel{background:var(--color-surface)}}@media (width<=899px){.payment-checkout-card{max-width:500px;padding:0}.payment-page-header{text-align:left;grid-template-columns:auto minmax(0,1fr);gap:16px;padding:24px;display:grid}.payment-brand-logo{max-width:100%;height:56px;margin:0;display:block}.payment-header-badge{grid-column:1/-1;justify-self:start}.payment-workspace{padding:20px 24px 24px}}@media (width<=1023px){.staff-card{max-width:840px}}.breakable{overflow-wrap:anywhere}.fade-in{animation:.26s cubic-bezier(.16,1,.3,1) both fade-in}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes loading-surface{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes highlight-field{0%,65%{border-color:var(--color-primary);background:var(--color-primary-soft);box-shadow:0 0 0 3px #1e2f662e}to{border-color:var(--color-border-strong);box-shadow:none;background:var(--color-surface)}}@media (width<=600px){#root{width:min(100% - 24px,620px);padding-block:12px}.card,.passcode-card{border-radius:10px;padding:22px}.brand-logo{height:48px}.payment-checkout-card{padding:0}.payment-page-header{padding:24px 22px 20px;display:block}.payment-brand-logo{height:48px;margin:0 auto 16px}.payment-header-badge{margin-top:14px}.payment-workspace{padding:18px 22px 24px}.staff-page-header{grid-template-columns:minmax(0,1fr) auto;gap:14px 10px;padding:24px 22px 20px}.staff-brand-logo{max-width:170px;height:40px}.staff-heading{grid-column:1/-1}.staff-workspace{gap:22px;margin-top:0;padding:20px 22px 24px}.staff-intake-panel,.staff-details-panel{padding:16px}h1{font-size:1.45rem}.recovery-actions,.copy-block{grid-template-columns:1fr}.copy-block .btn{width:100%}.staff-submit-actions{grid-template-columns:1fr}}@media (width<=390px){.receipt-row{grid-template-columns:1fr;gap:2px}.receipt-value{text-align:left}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.review-check{align-items:flex-start;gap:10px;margin-top:10px;font-size:.8125rem;font-weight:500;line-height:1.45;display:flex}.review-check input{width:20px;height:20px;min-height:20px;accent-color:var(--color-primary);flex:0 0 20px;margin:1px 0 0}.billing-review{background:var(--color-primary-soft);border-radius:var(--radius-sm);margin-block:18px 0;padding:12px}.dropzone[aria-disabled=true]{opacity:.65;cursor:not-allowed}.receipt-print{margin-top:18px}@media (width<=899px){.payment-page-header{padding:18px 22px}.payment-workspace{gap:16px;padding:16px 22px 22px}.payment-context-panel .trust-panel,.payment-context-panel .payment-section-heading p,.payment-header-badge,.amount-caption{display:none}.payment-section-heading{margin-bottom:12px}.payment-entry-panel .form-group{margin-bottom:10px}.field-error:empty{min-height:0;margin:0}.payment-brand-logo{height:36px;margin-bottom:10px}.payment-context-panel .receipt{margin-bottom:12px;padding:12px}.amount-due{flex-wrap:wrap;margin-bottom:12px;padding:12px}.amount-due .amount-value{font-size:1.45rem}}@media print{body{background:#fff;min-height:0}#root{width:100%;padding:0}.card{box-shadow:none;border:0}.receipt-print,.support-note{display:none}}@media (width<=430px){.payment-field-grid{grid-template-columns:minmax(0,1fr);gap:0}}.payment-field-grid>.form-group,.payment-form input{min-width:0;max-width:100%}.payment-form .field-error:empty{display:none}.payment-entry-panel .form-group{margin-bottom:10px}@media (width>=900px){.payment-page-header{padding-block:22px}.payment-workspace{padding-top:20px;padding-bottom:26px}.payment-section-heading{margin-bottom:14px}}.review-check{align-items:center;min-height:44px}
