/* Light touch: let Amadeus UI drive, but provide consistent card/grid for portal */
.ap-portal{max-width:1100px;margin:24px auto;padding:0 16px;}
.ap-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.ap-title{font-size:20px;font-weight:700;margin:0 0 6px 0;}
.ap-title-sm{font-size:16px;font-weight:700;margin:0 0 10px 0;}
.ap-sub{font-size:13px;opacity:.8;}
.ap-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;}
@media(max-width:720px){.ap-grid{grid-template-columns:1fr;}}
.ap-kv .ap-k{font-size:12px;opacity:.7;margin-bottom:6px;}
.ap-form label,.ap-label{font-size:12px;opacity:.75;display:block;margin:10px 0 6px;}
.ap-muted{font-size:12px;opacity:.75;margin-top:8px;}
.ap-alert{padding:10px 12px;border-radius:10px;background:rgba(255,193,7,.15);border:1px solid rgba(255,193,7,.35);margin:10px 0;}
.ap-alert--error{background:rgba(220,53,69,.12);border-color:rgba(220,53,69,.35);}
.ap-balances{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
@media(max-width:900px){.ap-balances{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.ap-balances{grid-template-columns:1fr;}}
.ap-balance .ap-k{font-size:12px;opacity:.75;margin-bottom:6px;}
.ap-balance .ap-v{font-size:14px;}
.ap-withdraw{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.ap-withdraw .am2-input{max-width:200px;}
.ap-table-wrap{overflow:auto;}
.ap-table{width:100%;border-collapse:separate;border-spacing:0;min-width:720px;}
.ap-table th,.ap-table td{padding:10px 10px;border-bottom:1px solid rgba(15,23,42,.10);text-align:left;font-size:13px;}
.ap-table thead th{font-size:12px;color:var(--am2-muted, rgba(15,23,42,.75));font-weight:800;}
.ap-booking-shell{max-width:1100px;margin:24px auto;padding:0 16px;}
