.amb-portal {--amb-ink:#10343b;--amb-muted:#5c7077;--amb-line:#d9e6e8;--amb-soft:#eff9f8;box-sizing:border-box;max-width:1180px;margin:40px auto 70px;padding:0 20px;color:var(--amb-ink);font-family:inherit;}
.amb-portal * {box-sizing:border-box;}
.amb-portal [hidden] {display:none!important;}
.amb-portal-heading {max-width:720px;margin-bottom:28px;}
.amb-portal-heading>span,.amb-eyebrow {font-size:12px;font-weight:700;letter-spacing:.12em;color:#147d7d;}
.amb-portal h1 {font-size:clamp(28px,4vw,40px)!important;line-height:1.25!important;letter-spacing:-.02em!important;color:var(--amb-ink);margin:12px 0 16px;text-transform:none;}
.amb-portal h2 {font-size:23px!important;line-height:1.35!important;letter-spacing:normal!important;color:var(--amb-ink);margin:0 0 15px;text-transform:none;}
.amb-portal h3,.amb-request-details h3 {font-size:19px!important;line-height:1.4!important;letter-spacing:normal!important;color:var(--amb-ink,#10343b);margin:0 0 15px;text-transform:none;}
.amb-portal h4,.amb-request-details h4 {font-size:15px!important;line-height:1.5!important;letter-spacing:normal!important;color:var(--amb-ink,#10343b);margin:12px 0;text-transform:none;}
.amb-portal p {font-size:14px;line-height:1.7;color:var(--amb-muted);}
.amb-portal-card {min-width:0;padding:26px;border:1px solid var(--amb-line);border-radius:14px;background:#fff;box-shadow:0 8px 30px #10343b06;}
.amb-access-card {max-width:530px;}
.amb-portal label {display:block;font-size:13px;font-weight:650;line-height:1.5;margin:18px 0 16px;}
.amb-portal label>input {display:block;width:100%;min-width:0;margin-top:7px;padding:12px;border:1px solid #cbd9df;border-radius:8px;background:#fff;color:var(--amb-ink);font:inherit;font-weight:400;}
.amb-portal input:focus {outline:2px solid #24b1b1;outline-offset:2px;}
.amb-button {display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 18px;min-height:44px;border:1px solid transparent;border-radius:9px;background:var(--rb-color-primary,#24b1b1);color:#10343b;font:inherit;font-size:13px;font-weight:700;line-height:1.4;text-decoration:none;cursor:pointer;}
.amb-button:disabled {opacity:.5;cursor:wait;}
.amb-button:hover {filter:brightness(.96);color:#10343b;}
.amb-link {padding:0;background:none;border:0;color:#11777a;font:inherit;font-size:13px;text-decoration:underline;cursor:pointer;margin:12px 0;}
.amb-portal .amb-small {font-size:12px;line-height:1.7;}
.amb-access-status:empty {display:none;}
.amb-access-status {padding:12px;background:var(--amb-soft);border-radius:8px;}
.amb-access-status[data-error=true] {background:#fff1ef;color:#923f32;}
.amb-access-actions {display:flex;gap:20px;flex-wrap:wrap;}
.amb-link:disabled {opacity:.55;cursor:default;}
.amb-portal-toolbar {display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:0 0 18px;}
.amb-bookings-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;}
.amb-card-top {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;}
.amb-service,.amb-status {display:inline-block;padding:4px 9px;border-radius:5px;background:var(--amb-soft);font-size:12px;color:#176c6b;font-weight:650;}
.amb-status {background:#f2f5f6;color:#526c74;}
.amb-reference {font-size:12px!important;overflow-wrap:anywhere;}
.amb-card-totals {display:flex;justify-content:space-between;gap:16px;border-top:1px dashed var(--amb-line);padding:15px 0;font-size:14px;font-weight:650;}
.amb-pagination {display:flex;justify-content:center;gap:12px;margin-top:28px;}
.amb-pagination .page-numbers {padding:8px 12px;border:1px solid var(--amb-line);border-radius:5px;}
.amb-invoice-actions {display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px;}
.amb-invoice-actions>a {color:#18777a;text-decoration:none;font-size:13px;}
.amb-invoice {background:#fff;border:1px solid var(--amb-line);border-radius:16px;padding:34px;}
.amb-invoice-header {display:grid;grid-template-columns:1fr 1fr;gap:25px;padding-bottom:24px;border-bottom:1px solid var(--amb-line);}
.amb-invoice-header>div:last-child {text-align:right;}
.amb-invoice-header h1 {font-size:29px!important;margin:0 0 10px;}
.amb-invoice-header p {margin:8px 0;font-size:12px;}
.amb-invoice-summary {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;padding:24px 0;}
.amb-invoice-summary span {display:block;color:var(--amb-muted);font-size:12px;margin-bottom:5px;}
.amb-invoice-summary strong {font-size:14px;line-height:1.6;overflow-wrap:anywhere;}
.amb-notice {background:#fff8e8;border:1px solid #eddfbc;border-radius:8px;padding:13px 16px;}
.amb-request-details {--amb-ink:#10343b;--amb-muted:#5c7077;--amb-line:#d9e6e8;line-height:1.65;}
.amb-itinerary-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0;}
.amb-itinerary-grid.is-oneway {grid-template-columns:minmax(0,1fr);}
.amb-itinerary-leg {padding:22px;border:1px solid var(--amb-line);border-radius:10px;background:#f4faf9;min-width:0;}
.amb-request-details dl {margin:15px 0 0;}
.amb-detail-row {margin:12px 0;font-size:13px;overflow-wrap:anywhere;}
.amb-detail-row dt {font-weight:700;color:var(--amb-ink);}
.amb-detail-row dd {margin:3px 0 0;color:var(--amb-muted);}
.amb-line-items {margin-top:18px;}
.amb-line-items>p {display:flex;align-items:flex-start;justify-content:space-between;gap:16px;font-size:12px;margin:12px 0;line-height:1.7;}
.amb-line-items strong {white-space:nowrap;color:var(--amb-ink);}
.amb-leg-total {border-top:1px dashed var(--amb-line);padding-top:12px;font-weight:700;}
.amb-detail-section {margin:24px 0;padding:24px 0;border-top:1px solid var(--amb-line);}
.amb-detail-section>dl {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;}
.amb-detail-section ol {margin:0;padding-left:22px;font-size:13px;line-height:1.8;}
.amb-invoice-totals {max-width:440px;margin:15px 0 20px auto;border-top:1px solid var(--amb-line);}
.amb-invoice-totals>p {display:flex;justify-content:space-between;gap:25px;font-size:14px;}
.amb-invoice-totals .amb-balance {font-size:18px;border-top:1px solid var(--amb-line);padding-top:14px;color:var(--amb-ink);}
.amb-invoice-note {border-top:1px solid var(--amb-line);padding-top:22px;margin:22px 0;}
.amb-invoice-footer {border-top:1px solid var(--amb-line);padding-top:20px;}
.amb-invoice-admin {margin:28px 0;padding:22px;border:1px solid #d9e6e8;border-radius:10px;background:#f4faf9;}
@media(max-width:700px) { .amb-bookings-grid,.amb-itinerary-grid,.amb-invoice-header,.amb-invoice-summary,.amb-detail-section>dl {grid-template-columns:minmax(0,1fr);} .amb-portal {padding:0 15px;margin-top:25px;} .amb-invoice,.amb-portal-card {padding:21px;} .amb-itinerary-leg {padding:18px;} .amb-invoice-header>div:last-child {text-align:left;} .amb-line-items>p {flex-wrap:wrap;gap:4px;} .amb-card-totals {flex-wrap:wrap;gap:8px;} }
@media print { body.amb-invoice-view {background:#fff!important;} body.amb-invoice-view header:not(.amb-invoice-header),body.amb-invoice-view footer,body.amb-invoice-view #wpadminbar,body.amb-invoice-view .tripgo-mobile-header,body.amb-invoice-view .tripgo-mobile-drawer,.amb-no-print {display:none!important;} .amb-portal {max-width:none;margin:0;padding:0;} .amb-invoice {border:0;border-radius:0;padding:0;box-shadow:none;} .amb-itinerary-leg,.amb-invoice-totals,.amb-invoice-summary {break-inside:avoid;} .amb-itinerary-grid {grid-template-columns:repeat(2,minmax(0,1fr));} .amb-invoice-header {grid-template-columns:1fr 1fr;} .amb-invoice-header>div:last-child {text-align:right;} }
