@import"https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&display=swap";:root{--portal-primary: #ff6600;--portal-primary-strong: #e65c00;--portal-secondary: #003366;--portal-secondary-soft: rgba(0, 51, 102, .08);--portal-bg: #f8fafc;--portal-surface: rgba(255, 255, 255, .88);--portal-panel: #ffffff;--portal-panel-soft: #f8fafc;--portal-text: #1e293b;--portal-text-secondary: #334155;--portal-muted: #64748b;--portal-border: rgba(0, 0, 0, .06);--portal-border-strong: rgba(0, 51, 102, .14);--portal-success: #059669;--portal-success-bg: #ecfdf5;--portal-warning: #b45309;--portal-warning-bg: #fffbeb;--portal-danger: #dc2626;--portal-danger-bg: #fef2f2;--portal-info: #2563eb;--portal-info-bg: #eff6ff;--portal-shadow-soft: 0 18px 44px rgba(15, 23, 42, .08);--portal-shadow-card: 0 10px 28px rgba(15, 23, 42, .06);--portal-shadow-button: 0 14px 30px rgba(255, 102, 0, .2);--portal-radius-xl: 28px;--portal-radius-lg: 22px;--portal-radius-md: 18px;--portal-radius-sm: 14px;--portal-radius-pill: 999px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--portal-text);background:var(--portal-bg)}body{min-height:100vh;color:var(--portal-text);background:radial-gradient(circle at top left,rgba(255,102,0,.12),transparent 30%),radial-gradient(circle at top right,rgba(0,51,102,.1),transparent 34%),linear-gradient(180deg,#fbfdff 0%,var(--portal-bg) 100%)}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.24),transparent 38%),radial-gradient(circle at center,rgba(255,255,255,.34),transparent 55%);opacity:.8}img{display:block;max-width:100%}button,input{font:inherit}a{color:var(--portal-secondary);text-decoration:none}a:hover{text-decoration:underline}::selection{background:#ff660029}.portal-page{position:relative;z-index:1;width:min(1180px,calc(100vw - 32px));margin:0 auto;padding:20px 0 40px}.document-wrapper{width:100%}.document-shell{display:flex;flex-direction:column;gap:18px}.surface-card{border:1px solid var(--portal-border);border-radius:var(--portal-radius-lg);background:var(--portal-surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--portal-shadow-card)}.fade-in{animation:portalFadeIn .4s ease-out}@keyframes portalFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.state-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center}.state-container h2{font-size:1.25rem;font-weight:700;color:var(--portal-text)}.state-container p{margin-top:.6rem;max-width:380px;font-size:.95rem;color:var(--portal-muted)}.state-error .icon-error{width:58px;height:58px;margin-bottom:1rem;color:var(--portal-danger)}.spinner{width:42px;height:42px;margin-bottom:1rem;border:3px solid rgba(0,51,102,.1);border-top-color:var(--portal-primary);border-radius:50%;animation:portalSpin .75s linear infinite}@keyframes portalSpin{to{transform:rotate(360deg)}}.company-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem}.company-brand{display:flex;align-items:center;gap:.9rem;min-width:0}.company-logo{width:52px;height:52px;padding:.45rem;object-fit:contain;border-radius:16px;background:#ffffffeb;border:1px solid var(--portal-border)}.company-brand-copy{display:flex;flex-direction:column;gap:.15rem;min-width:0}.company-name{font-size:1.05rem;font-weight:700;color:var(--portal-secondary)}.company-caption{font-size:.84rem;color:var(--portal-muted)}.banner{display:flex;align-items:center;gap:.75rem;padding:.95rem 1rem}.banner-icon{width:20px;height:20px;flex-shrink:0}.banner--success{color:var(--portal-success);background:var(--portal-success-bg)}.banner--warning{color:var(--portal-warning);background:var(--portal-warning-bg)}.portal-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.78fr);gap:20px;align-items:start}.portal-layout--single{grid-template-columns:minmax(0,1fr)}.document-column,.portal-sidebar{min-width:0}.portal-sidebar{display:flex;flex-direction:column;gap:18px;position:sticky;top:20px}.doc-card,.payment-section,.accept-section{padding:1.35rem}.doc-card{display:flex;flex-direction:column;gap:1.1rem}.doc-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.doc-hero-main{display:flex;flex-direction:column;gap:.35rem}.doc-hero-side{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.65rem}.doc-type-number{font-size:1rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--portal-secondary)}.doc-amount{font-size:clamp(2.3rem,5vw,3.6rem);font-weight:800;line-height:1;color:var(--portal-primary)}.status-badge,.summary-pill{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:34px;padding:.45rem .8rem;border-radius:var(--portal-radius-pill);font-size:.82rem;font-weight:600;white-space:nowrap}.status-badge{border:1px solid transparent}.badge--success{color:var(--portal-success);background:var(--portal-success-bg)}.badge--warning{color:var(--portal-warning);background:var(--portal-warning-bg)}.badge--info{color:var(--portal-info);background:var(--portal-info-bg)}.badge--neutral{color:var(--portal-secondary);background:#00336614}.badge--danger{color:var(--portal-danger);background:var(--portal-danger-bg)}.hero-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1rem;border:1px solid var(--portal-border);border-radius:var(--portal-radius-md);background:linear-gradient(135deg,#ffffffb8,#f8fafcf0)}.hero-pills{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.summary-pill{color:var(--portal-secondary);background:#00336614}.summary-pill--soft{color:var(--portal-muted);background:#64748b1a}.summary-pill--pending{color:var(--portal-primary-strong);background:#ff66001f}.pdf-link{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:44px;padding:.8rem 1rem;border:1px solid transparent;border-radius:var(--portal-radius-pill);background:var(--portal-secondary);color:#fff;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease,background .18s ease}.pdf-link:hover:not(:disabled){text-decoration:none;transform:translateY(-1px);box-shadow:0 10px 22px #0033662e}.pdf-link:disabled{opacity:.6;cursor:not-allowed}.pdf-icon{width:18px;height:18px}.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.info-row{display:flex;flex-direction:column;gap:.3rem;padding:.95rem 1rem;border-radius:var(--portal-radius-sm);border:1px solid var(--portal-border);background:var(--portal-panel)}.info-row--wide{grid-column:1 / -1}.info-label{font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--portal-muted)}.info-value{font-size:.98rem;font-weight:600;color:var(--portal-text)}.details-panel{display:grid;gap:1rem;max-height:0;overflow:hidden;opacity:0;transition:max-height .35s ease,opacity .25s ease,margin-top .25s ease}.details-open{max-height:2600px;opacity:1;margin-top:.25rem}.items-list,.totals,.notes-section,.payments-history{padding:1rem;border:1px solid var(--portal-border);border-radius:var(--portal-radius-md);background:var(--portal-panel)}.item-entry{padding:.9rem 0;border-bottom:1px solid var(--portal-border)}.item-entry:first-child{padding-top:0}.item-entry:last-child{padding-bottom:0;border-bottom:none}.item-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.item-desc{font-size:.98rem;font-weight:600;color:var(--portal-text)}.item-total{font-size:.98rem;font-weight:700;color:var(--portal-text);white-space:nowrap}.item-detail{margin-top:.22rem;font-size:.84rem;color:var(--portal-muted)}.totals{display:grid;gap:.2rem}.totals-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.33rem 0;font-size:.96rem;color:var(--portal-text-secondary)}.totals-row--accent{margin-top:.3rem;padding-top:.8rem;border-top:1px dashed rgba(255,102,0,.24);color:var(--portal-primary-strong);font-weight:600}.totals-row--subtle{font-size:.85rem;color:var(--portal-muted)}.totals-grand{margin-top:.35rem;padding-top:.8rem;border-top:1px solid rgba(0,51,102,.18);font-weight:700;color:var(--portal-secondary)}.total-to-pay{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border-radius:var(--portal-radius-md);background:linear-gradient(135deg,#003366f5,#104b85eb);color:#fff}.notes-section{display:grid;gap:.45rem}.notes-section h4,.payments-history h4{font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--portal-secondary)}.notes-section p{font-size:.92rem;color:var(--portal-text-secondary);white-space:pre-wrap}.payments-history{display:grid;gap:.5rem}.payment-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;padding:.7rem 0;font-size:.88rem;color:var(--portal-text-secondary);border-bottom:1px solid var(--portal-border)}.payment-row:last-child{padding-bottom:0;border-bottom:none}.payment-amount{justify-self:end;font-weight:700;color:var(--portal-success)}.show-more-toggle{display:inline-flex;align-items:center;gap:.55rem;align-self:flex-start;padding:.8rem 1rem;border:1px solid var(--portal-border);border-radius:var(--portal-radius-pill);background:#ffffffd1;color:var(--portal-secondary);cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.show-more-toggle:hover{transform:translateY(-1px);border-color:var(--portal-border-strong);background:#fff}.toggle-icon,.chevron-icon,.section-icon,.btn-icon{width:18px;height:18px}.chevron-icon{transition:transform .2s ease}.chevron-open{transform:rotate(180deg)}.payment-section,.accept-section{display:flex;flex-direction:column;gap:1rem}.payment-section h3{display:flex;align-items:center;gap:.55rem;font-size:1.08rem;font-weight:700;color:var(--portal-secondary)}.section-icon{color:var(--portal-primary)}.payment-overview{display:grid;gap:.25rem;padding:1rem;border-radius:var(--portal-radius-md);border:1px solid var(--portal-border);background:linear-gradient(180deg,#f8fafcfa,#f1f5f9eb)}.payment-overview-row{display:flex;align-items:center;justify-content:space-between;gap:.85rem;padding:.36rem 0;font-size:.92rem;color:var(--portal-text-secondary)}.payment-overview-row strong{color:var(--portal-text)}.payment-overview-row--due{margin-top:.3rem;padding-top:.8rem;border-top:1px dashed rgba(255,102,0,.22);font-weight:700}.payment-field{display:grid;gap:.6rem}.payment-field label{font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--portal-muted)}.amount-input-wrapper{display:flex;align-items:center;overflow:hidden;border:1px solid var(--portal-border);border-radius:var(--portal-radius-pill);background:var(--portal-panel);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.amount-input-wrapper:focus-within{border-color:#ff66005c;box-shadow:0 0 0 4px #ff66001f;transform:translateY(-1px)}.amount-currency{display:inline-flex;align-items:center;justify-content:center;min-width:56px;padding:.95rem 1rem;color:var(--portal-muted);background:var(--portal-panel-soft);border-right:1px solid var(--portal-border)}.amount-input{width:100%;padding:.95rem 1rem;border:none;outline:none;color:var(--portal-text);background:transparent}.amount-input::-webkit-inner-spin-button,.amount-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.payment-helper{font-size:.82rem;color:var(--portal-muted)}.payment-methods{display:grid;gap:.7rem}.method-option{display:flex;align-items:center;gap:.75rem;padding:1rem;border:1px solid var(--portal-border);border-radius:var(--portal-radius-md);background:var(--portal-panel);cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}.method-option:hover{transform:translateY(-1px);border-color:var(--portal-border-strong)}.method-option.selected{border-color:#0033662e;background:linear-gradient(180deg,#0033660d,#fffffffa);box-shadow:inset 0 0 0 1px #0033660a}.method-option input[type=radio]{width:18px;height:18px;accent-color:var(--portal-primary)}.method-label{font-weight:600;color:var(--portal-text)}.bank-details{display:grid;gap:.55rem;padding:1rem;border:1px solid var(--portal-border);border-radius:var(--portal-radius-md);background:linear-gradient(180deg,#f8fafcf5,#fffffffa)}.bank-details--inline{margin-top:.2rem}.bank-name{font-size:.96rem;font-weight:700;color:var(--portal-secondary)}.bank-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.86rem;color:var(--portal-text-secondary)}.bank-copy-group{display:inline-flex;align-items:center;justify-content:flex-end;gap:.55rem;flex-wrap:wrap}.bank-label{color:var(--portal-muted)}.bank-value{font-weight:600;color:var(--portal-text);text-align:right}.bank-account-number,.bank-iban{font-family:SF Mono,Fira Code,monospace;letter-spacing:.04em}.bank-iban{font-size:.8rem}.bank-copy-button{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:.38rem .72rem;border:1px solid var(--portal-border-strong);border-radius:var(--portal-radius-pill);background:#ffffffdb;color:var(--portal-secondary);font-size:.75rem;font-weight:700;cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease}.bank-copy-button:hover{transform:translateY(-1px);background:#fff}.bank-hint{font-size:.82rem;color:var(--portal-muted)}.btn-transfer-intent,.btn-pay,.btn-accept{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;width:100%;min-height:50px;padding:.95rem 1.1rem;border-radius:var(--portal-radius-pill);font-weight:700;cursor:pointer;transition:transform .18s ease,opacity .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}.btn-transfer-intent{border:1px solid var(--portal-border-strong);background:#fff;color:var(--portal-secondary)}.btn-transfer-intent:hover:not(:disabled){transform:translateY(-1px);background:#fffffff5;box-shadow:0 12px 24px #00336614}.btn-pay{border:none;background:linear-gradient(135deg,var(--portal-primary),var(--portal-primary-strong));color:#fff;box-shadow:var(--portal-shadow-button)}.btn-pay:hover:not(:disabled){transform:translateY(-1px)}.btn-accept{border:none;background:linear-gradient(135deg,var(--portal-secondary),#0d4a89);color:#fff;box-shadow:0 14px 30px #00336638}.btn-accept:hover:not(:disabled){transform:translateY(-1px)}.btn-transfer-intent:disabled,.btn-pay:disabled,.btn-accept:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.transfer-status{padding:.9rem 1rem;border:1px solid rgba(5,150,105,.18);border-radius:var(--portal-radius-md);background:var(--portal-success-bg);color:var(--portal-success);font-size:.86rem}.copy-toast{position:fixed;left:50%;bottom:24px;z-index:60;min-width:220px;max-width:calc(100vw - 32px);padding:.9rem 1rem;border:1px solid rgba(5,150,105,.18);border-radius:var(--portal-radius-pill);background:#ecfdf5f5;box-shadow:0 16px 34px #0f172a24;color:var(--portal-success);font-size:.88rem;font-weight:700;text-align:center;transform:translate(-50%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.toast-fade-enter-active,.toast-fade-leave-active{transition:opacity .2s ease,transform .2s ease}.toast-fade-enter-from,.toast-fade-leave-to{opacity:0;transform:translate(-50%) translateY(8px)}.portal-footer{text-align:center;padding:.4rem 0 .2rem;font-size:.8rem;color:var(--portal-muted)}.portal-footer a{font-weight:600;color:var(--portal-secondary)}@media(max-width:980px){.portal-layout{grid-template-columns:minmax(0,1fr)}.portal-sidebar{position:static}}@media(max-width:720px){.portal-page{width:calc(100vw - 20px);max-width:100%;padding:12px 0 28px}.company-header,.doc-card,.payment-section,.accept-section{padding:1.05rem}.company-header{align-items:stretch;flex-direction:column}.pdf-link--header,.pdf-link--inline,.show-more-toggle{width:100%}.doc-hero,.hero-actions{flex-direction:column;align-items:stretch}.doc-hero-side{justify-content:flex-start;align-items:flex-start}.payment-row{display:flex}.payment-row,.bank-row,.payment-overview-row{flex-direction:column;align-items:flex-start}.bank-copy-group{justify-content:flex-start}.payment-amount{justify-self:start}.bank-value{text-align:left}}@media(prefers-color-scheme:dark){:root{--portal-bg: #08111f;--portal-surface: rgba(10, 19, 33, .82);--portal-panel: #0f1b2d;--portal-panel-soft: #0c1727;--portal-text: #f8fafc;--portal-text-secondary: #d2d9e3;--portal-muted: #94a3b8;--portal-border: rgba(148, 163, 184, .14);--portal-border-strong: rgba(148, 163, 184, .24);--portal-success-bg: rgba(5, 150, 105, .12);--portal-warning-bg: rgba(180, 83, 9, .18);--portal-danger-bg: rgba(220, 38, 38, .18);--portal-info-bg: rgba(37, 99, 235, .18);--portal-shadow-card: 0 20px 40px rgba(0, 0, 0, .28)}body{background:radial-gradient(circle at top left,rgba(255,102,0,.14),transparent 28%),radial-gradient(circle at top right,rgba(59,130,246,.14),transparent 30%),linear-gradient(180deg,#08111f,#0b1628)}.show-more-toggle,.btn-transfer-intent{background:#0f1b2deb}.hero-actions,.payment-overview,.bank-details{background:linear-gradient(180deg,#0f1b2deb,#0a1321eb)}.summary-pill{background:#3b82f61f;color:#bfdbfe}.summary-pill--pending{background:#ff660029;color:#fdba74}.summary-pill--soft{background:#94a3b829;color:#cbd5e1}.badge--neutral{color:#bfdbfe;background:#3b82f624}.amount-input-wrapper,.info-row,.items-list,.totals,.notes-section,.payments-history,.payment-overview,.method-option,.bank-details,.transfer-status{box-shadow:none}.amount-currency{background:#0a1321f0}.bank-copy-button{background:#0f1b2deb;color:#e2e8f0}.copy-toast{background:#0596692e;color:#bbf7d0;box-shadow:0 16px 34px #00000042}}@media print{body,html{background:#fff}body:before{display:none}.portal-page{width:100%;padding:0}.surface-card,.info-row,.items-list,.totals,.notes-section,.payments-history,.payment-overview,.bank-details{background:#fff;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.portal-layout{display:block}.portal-sidebar,.portal-footer,.banner,.pdf-link,.show-more-toggle{display:none}.details-panel{max-height:none!important;opacity:1!important;overflow:visible}}
