.cps-box{border:1px solid #e5e7eb;border-radius:12px;padding:16px;background:#f8fafc;min-width:0;width:100%}.cps-box--compact{padding:12px}.cps-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;align-items:start;margin-bottom:6px}.cps-row span:last-child,.cps-row strong:last-child{text-align:right;white-space:nowrap}.cps-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}.cps-total{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;align-items:start;margin-top:8px;padding-top:10px;border-top:1px solid #e2e8f0}.cps-total__amount{text-align:right}@media (max-width:575.98px){.cps-box{padding:14px}.cps-row span:last-child,.cps-row strong:last-child,.cps-total__amount{overflow-wrap:anywhere;white-space:normal}.cps-total__amount strong{font-size:18px!important}}.booking-voucher-printable{width:100%;max-width:640px;margin:0 auto}.booking-voucher{border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 12px 40px rgba(15,23,42,.08);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#0f172a;width:100%}.booking-voucher__header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:20px 24px;background:linear-gradient(135deg,#0f172a,#1e293b);color:#fff}.booking-voucher__header>div:first-child{flex:1;min-width:0}.booking-voucher__brand{margin:0 0 4px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#f7921e}.booking-voucher__title{margin:0;font-size:20px;font-weight:800;line-height:1.2}.booking-voucher__subtitle{margin:6px 0 0;font-size:12px;color:rgba(255,255,255,.65)}.booking-voucher__ref-block{text-align:right;flex-shrink:0;min-width:0;max-width:48%}.booking-voucher__ref-label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.5);margin-bottom:2px}.booking-voucher__ref{display:block;font-size:14px;font-weight:800;color:#fbbf24;font-family:ui-monospace,monospace;margin:0 0 8px;line-height:1.3;word-break:break-all}.booking-voucher__status{display:inline-block;font-size:9px;font-weight:700;padding:5px 10px;border-radius:999px;background:rgba(99,171,69,.25);color:#bbf7d0;text-transform:uppercase;letter-spacing:.04em;line-height:1.2;max-width:100%;text-align:center}.booking-voucher__status--pending,.booking-voucher__status--pending_payment{background:rgba(251,191,36,.2);color:#fde68a}.booking-voucher__status--cancelled,.booking-voucher__status--refund_requested,.booking-voucher__status--refunded{background:rgba(239,68,68,.22);color:#fecaca}.booking-voucher__status--completed,.booking-voucher__status--confirmed{background:rgba(99,171,69,.25);color:#bbf7d0}.booking-voucher__product{padding:20px 24px 12px;border-bottom:1px dashed #e2e8f0}.booking-voucher__section-label{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;margin-bottom:6px}.booking-voucher__product-name{margin:0;font-size:18px;font-weight:800;color:#0f172a;line-height:1.35;word-break:break-word}.booking-voucher__product-sub{margin:4px 0 0;font-size:13px;color:#64748b}.booking-voucher__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;padding:16px 24px;border-bottom:1px solid #f1f5f9}.booking-voucher__cell{min-width:0}.booking-voucher__cell-label{display:block;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;margin-bottom:2px}.booking-voucher__cell-value{display:block;font-size:13px;font-weight:700;color:#1e293b;line-height:1.4;word-break:break-word}.booking-voucher__section{padding:14px 24px;border-bottom:1px solid #f1f5f9}.booking-voucher__travelers{display:flex;flex-direction:column;gap:10px}.booking-voucher__traveler strong{display:flex;align-items:center;gap:8px;font-size:13px}.booking-voucher__lead{font-size:9px;font-weight:800;text-transform:uppercase;background:#fff7ed;color:#c2410c;padding:2px 6px;border-radius:4px}.booking-voucher__traveler-meta{display:block;font-size:11px;color:#64748b;margin-top:2px}.booking-voucher__addons{margin:0;font-size:13px;color:#334155}.booking-voucher__notes{background:#fffbeb;border-left:3px solid #f7921e}.booking-voucher__notes p{margin:0;font-size:12px;color:#57534e;white-space:pre-wrap}.booking-voucher__footer{display:flex;gap:24px;padding:20px 24px;align-items:flex-start;background:#f8fafc}.booking-voucher__qr-wrap{flex-shrink:0;text-align:center;width:130px}.booking-voucher__qr{display:block;width:120px;height:120px;margin:0 auto;border:4px solid #fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.08)}.booking-voucher__qr-hint{margin:8px 0 0;font-size:10px;color:#64748b;max-width:130px;line-height:1.35}.booking-voucher__payment{flex:1;min-width:0}.booking-voucher__stripe{margin:8px 0 0;font-size:10px;color:#94a3b8}.booking-voucher__stripe code{font-size:9px;word-break:break-all}.booking-voucher__legal{padding:12px 24px 16px;font-size:10px;color:#94a3b8;text-align:center;background:#fff;border-top:1px solid #f1f5f9}@media print{@page{size:A4 portrait;margin:12mm}body,html{background:#fff!important;margin:0!important;padding:0!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}body *{visibility:hidden}.booking-voucher-printable,.booking-voucher-printable *{visibility:visible}.booking-voucher-printable{position:static;left:auto;top:auto;width:100%;max-width:180mm;margin:0 auto;padding:0;z-index:auto}.booking-voucher{box-shadow:none;border:1px solid #cbd5e1;border-radius:8px;page-break-inside:avoid;width:100%;max-width:180mm;margin:0 auto}.no-print{display:none!important}}@media (max-width:576px){.booking-voucher__header{flex-direction:column;gap:14px;padding:16px}.booking-voucher__ref-block{text-align:left;width:100%;max-width:none}.booking-voucher__grid{grid-template-columns:1fr;padding:14px 16px}.booking-voucher__product,.booking-voucher__section{padding-left:16px;padding-right:16px}.booking-voucher__cell-value{overflow-wrap:anywhere}.booking-voucher__footer{flex-direction:column;align-items:stretch;padding:16px;gap:16px}.booking-voucher__payment,.booking-voucher__qr-wrap{width:100%}.booking-voucher__legal{padding:12px 16px 16px}}