.ubl-invoice{--ubl-card:#fff;--ubl-ink:#0f172a;--ubl-muted:#475569;--ubl-line:#dbe3ef;--ubl-brand:#0b5fff;box-sizing:border-box;background:var(--ubl-card);border:1px solid var(--ubl-line);max-width:1000px;color:var(--ubl-ink);text-align:left;border-radius:16px;margin:0 auto;padding:28px;font-family:Segoe UI,Inter,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.4;box-shadow:0 12px 30px #0f172a14}.ubl-invoice *,.ubl-invoice :before,.ubl-invoice :after{box-sizing:border-box}.ubl-invoice .ubl-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:20px;display:flex}.ubl-invoice h1{letter-spacing:-.02em;color:var(--ubl-ink);margin:0 0 8px;font-size:30px;font-weight:700;line-height:1.1}.ubl-invoice .ubl-badge{color:#1d4ed8;letter-spacing:.02em;text-transform:uppercase;background:#edf3ff;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700;display:inline-block}.ubl-invoice .ubl-meta{color:var(--ubl-muted);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;font-size:14px;display:grid}.ubl-invoice .ubl-meta strong{color:var(--ubl-ink);font-weight:600}.ubl-invoice .ubl-meta .ubl-full{grid-column:1/-1}.ubl-invoice .ubl-parties{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0;display:grid}.ubl-invoice .ubl-box{border:1px solid var(--ubl-line);background:#fbfdff;border-radius:12px;padding:14px}.ubl-invoice .ubl-box h2{text-transform:uppercase;letter-spacing:.06em;color:var(--ubl-muted);margin:0 0 8px;font-size:13px;font-weight:600}.ubl-invoice .ubl-party-name{margin-bottom:8px;font-size:15px;font-weight:600}.ubl-invoice .ubl-party-address{color:var(--ubl-ink);margin-bottom:10px;font-size:13px;line-height:1.45}.ubl-invoice .ubl-party-empty{color:var(--ubl-muted)}.ubl-invoice .ubl-party-fields{margin:0}.ubl-invoice .ubl-party-row{grid-template-columns:108px 1fr;gap:8px;padding:2px 0;font-size:12px;display:grid}.ubl-invoice .ubl-party-row dt{color:var(--ubl-muted)}.ubl-invoice .ubl-party-row dd{color:var(--ubl-ink);overflow-wrap:anywhere;margin:0}.ubl-invoice .ubl-reference{border-left:4px solid var(--ubl-brand);background:#f0f5ff;border-radius:6px;margin:0 0 16px;padding:12px 14px;font-size:14px}.ubl-invoice table{border-collapse:collapse;width:100%;margin-top:12px}.ubl-invoice th,.ubl-invoice td{border-bottom:1px solid var(--ubl-line);text-align:left;vertical-align:top;padding:10px 8px;font-size:13px}.ubl-invoice th{color:var(--ubl-muted);text-transform:uppercase;letter-spacing:.03em;font-size:11px;font-weight:600}.ubl-invoice .ubl-num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.ubl-invoice .ubl-totals{border:1px solid var(--ubl-line);background:#fcfdff;border-radius:12px;width:min(400px,100%);margin-top:16px;margin-left:auto;padding:10px 14px}.ubl-invoice .ubl-totals-row{justify-content:space-between;align-items:baseline;gap:12px;padding:6px 0;font-size:14px;display:flex}.ubl-invoice .ubl-totals-row strong{font-size:17px;font-weight:700}.ubl-invoice .ubl-totals-divider{border:none;border-top:1px solid var(--ubl-line);margin:4px 0}.ubl-invoice .ubl-tax-label{flex:1}.ubl-invoice .ubl-muted{color:var(--ubl-muted);font-size:11px}.ubl-invoice .ubl-exemption-note{color:var(--ubl-muted);font-size:11px;font-style:italic;display:block}.ubl-invoice .ubl-section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--ubl-muted);margin:0 0 10px;font-size:13px;font-weight:600}.ubl-invoice .ubl-payment{border:1px solid var(--ubl-line);background:#fbfdff;border-radius:12px;margin-top:20px;padding:16px}.ubl-invoice .ubl-pm-grid{flex-wrap:wrap;gap:12px;display:flex}.ubl-invoice .ubl-pm-entry{flex:1;min-width:200px;font-size:13px}.ubl-invoice .ubl-pm-name{margin-bottom:6px;font-weight:600}.ubl-invoice .ubl-pm-row{align-items:baseline;gap:8px;padding:2px 0;display:flex}.ubl-invoice .ubl-pm-row span{color:var(--ubl-muted);text-transform:uppercase;letter-spacing:.04em;min-width:64px;padding-top:1px;font-size:11px}.ubl-invoice .ubl-pm-row code{letter-spacing:.03em;overflow-wrap:anywhere;background:#f1f5f9;border-radius:4px;padding:1px 5px;font-family:Consolas,Menlo,monospace;font-size:12px}.ubl-invoice .ubl-note{color:var(--ubl-ink);white-space:pre-wrap;margin-top:18px;font-size:14px}@media (max-width:720px){.ubl-invoice{border-radius:12px;padding:16px}.ubl-invoice .ubl-header,.ubl-invoice .ubl-parties{grid-template-columns:1fr;display:grid}}@media print{.ubl-invoice{box-shadow:none;border:none;max-width:none;padding:0}}