/* ============================================================
   JATAIR — Personal Assistant Portal Stylesheet
   Dark luxury theme matching main site
   ============================================================ */

:root {
  --gold:     #c9a96e;
  --gold-lt:  #e2c895;
  --black:    #070707;
  --s0:       #0a0a0a;
  --s1:       #0f0f0f;
  --s2:       #141414;
  --s3:       #1a1a1a;
  --s4:       #222;
  --border:   rgba(201,169,110,.14);
  --border-m: rgba(201,169,110,.28);
  --txt:      #f0ece3;
  --txt2:     #a09580;
  --txt3:     #5a5040;
  --serif:    'Cormorant Garamond', Georgia, serif;
  --sans:     'Montserrat', sans-serif;
  --r:        3px;
}

* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }

/* ── Login body ─────────────────────────────────────────── */
.pa-login-body {
  background:var(--black);
  font-family:var(--sans);
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:2rem;
  background-image:
    radial-gradient(ellipse at 20% 50%, rgba(201,169,110,.03) 0%, transparent 60%),
    radial-gradient(ellipse at 80% 20%, rgba(201,169,110,.02) 0%, transparent 50%);
}
.pa-login-wrap {
  width:100%;
  max-width:440px;
  display:flex;
  flex-direction:column;
  gap:1.5rem;
}
.pa-login-brand { text-align:center; }
.pa-logo-link {
  font-family:var(--serif);
  font-size:26px;
  font-weight:400;
  letter-spacing:.35em;
  text-transform:uppercase;
  color:#fff;
  text-decoration:none;
}
.pa-logo-link span { color:var(--gold); }
.pa-login-sub {
  font-size:8px;
  letter-spacing:.3em;
  color:var(--txt3);
  margin-top:6px;
  text-transform:uppercase;
}
.pa-login-card {
  background:var(--s2);
  border:1px solid var(--border);
  border-radius:var(--r);
  padding:2.25rem;
}
.pa-login-title {
  font-family:var(--serif);
  font-size:1.75rem;
  font-weight:300;
  color:var(--txt);
  margin-bottom:.5rem;
}
.pa-login-desc {
  font-size:.78rem;
  color:var(--txt3);
  line-height:1.65;
  margin-bottom:1.75rem;
}
.pa-login-form { display:flex; flex-direction:column; gap:1.1rem; }
.pa-login-links {
  display:flex;
  gap:.75rem;
  justify-content:center;
  flex-wrap:wrap;
  margin-top:1.25rem;
  font-size:.75rem;
}
.pa-login-links a { color:var(--gold); text-decoration:none; }
.pa-link-divider { color:var(--txt3); }
.pa-login-security-note {
  display:flex;
  align-items:center;
  gap:.5rem;
  font-size:.7rem;
  color:var(--txt3);
  text-align:center;
  justify-content:center;
  flex-wrap:wrap;
}
.pa-login-security-note a { color:var(--txt3); text-decoration:underline; }
.pa-mfa-icon {
  display:flex;
  justify-content:center;
  margin-bottom:1rem;
}

/* ── Portal body layout ─────────────────────────────────── */
.pa-body {
  background:var(--black);
  font-family:var(--sans);
  min-height:100vh;
  color:var(--txt);
  -webkit-font-smoothing:antialiased;
}
.pa-layout {
  display:grid;
  grid-template-columns:260px 1fr;
  min-height:100vh;
}

/* ── Sidebar ────────────────────────────────────────────── */
.pa-sidebar {
  background:var(--s1);
  border-right:1px solid var(--border);
  display:flex;
  flex-direction:column;
  position:sticky;
  top:0;
  height:100vh;
  overflow-y:auto;
  overflow-x:hidden;
  scrollbar-width:none;
}
.pa-sidebar::-webkit-scrollbar { display:none; }
.pa-sidebar-brand {
  padding:1.5rem 1.25rem 1.25rem;
  border-bottom:1px solid var(--border);
  flex-shrink:0;
}
.pa-logo {
  font-family:var(--serif);
  font-size:19px;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:#fff;
  text-decoration:none;
  display:block;
}
.pa-logo span { color:var(--gold); }
.pa-logo-sub {
  font-size:7px;
  letter-spacing:.25em;
  color:var(--txt3);
  margin-top:4px;
}

/* Principal switcher */
.pa-principal-switcher {
  padding:.75rem .75rem .5rem;
  border-bottom:1px solid var(--border);
}
.pa-switcher-label {
  font-size:7px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--txt3);
  padding:.25rem .5rem .6rem;
}
.pa-principal-item {
  display:flex;
  align-items:center;
  gap:.65rem;
  padding:.55rem .65rem;
  border-radius:var(--r);
  text-decoration:none;
  transition:background .15s;
  margin-bottom:2px;
}
.pa-principal-item:hover { background:rgba(255,255,255,.04); }
.pa-principal-item.active { background:rgba(201,169,110,.08); }
.pa-principal-avatar {
  width:28px;
  height:28px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:.6rem;
  font-weight:700;
  flex-shrink:0;
}
.pa-principal-name {
  font-size:.75rem;
  font-weight:500;
  color:var(--txt);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:150px;
}
.pa-principal-meta {
  font-size:.65rem;
  color:var(--txt3);
  margin-top:1px;
}
.pa-add-principal {
  display:flex;
  align-items:center;
  gap:.5rem;
  padding:.5rem .65rem;
  font-size:.7rem;
  color:var(--txt3);
  text-decoration:none;
  border:1px dashed rgba(201,169,110,.2);
  border-radius:var(--r);
  margin:.5rem 0 .25rem;
  transition:all .2s;
}
.pa-add-principal:hover { border-color:var(--gold); color:var(--gold); }

/* Nav */
.pa-nav { padding:.75rem .75rem; flex:1; }
.pa-nav-link {
  display:flex;
  align-items:center;
  gap:.65rem;
  padding:.65rem .75rem;
  font-size:.78rem;
  color:var(--txt2);
  text-decoration:none;
  border-radius:var(--r);
  margin-bottom:2px;
  transition:all .15s;
  position:relative;
  border-left:2px solid transparent;
}
.pa-nav-link svg { width:15px; height:15px; flex-shrink:0; opacity:.6; }
.pa-nav-link:hover { background:rgba(255,255,255,.04); color:var(--txt); }
.pa-nav-link.active {
  background:rgba(201,169,110,.08);
  color:var(--gold);
  border-left-color:var(--gold);
}
.pa-nav-link.active svg { opacity:1; }
.pa-nav-badge {
  margin-left:auto;
  background:var(--gold);
  color:#000;
  font-size:.6rem;
  font-weight:700;
  padding:2px 6px;
  border-radius:10px;
  min-width:18px;
  text-align:center;
}

/* Sidebar footer */
.pa-sidebar-footer {
  padding:.75rem;
  border-top:1px solid var(--border);
  flex-shrink:0;
}
.pa-user-card {
  display:flex;
  align-items:center;
  gap:.65rem;
  padding:.6rem;
  border-radius:var(--r);
  background:var(--s2);
}
.pa-user-avatar {
  width:30px;
  height:30px;
  border-radius:50%;
  background:rgba(201,169,110,.15);
  color:var(--gold);
  font-size:.65rem;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.pa-user-name { font-size:.75rem; font-weight:500; color:var(--txt); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:120px; }
.pa-user-org  { font-size:.65rem; color:var(--txt3); }
.pa-logout-btn { margin-left:auto; color:var(--txt3); text-decoration:none; flex-shrink:0; transition:color .15s; }
.pa-logout-btn:hover { color:var(--gold); }

/* ── Main area ──────────────────────────────────────────── */
.pa-main {
  background:var(--black);
  min-height:100vh;
  overflow-y:auto;
  padding:2rem 2.5rem 4rem;
}

/* Page header */
.pa-page-header {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  margin-bottom:2rem;
  gap:1rem;
}
.pa-page-label {
  font-size:.68rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:.4rem;
}
.pa-page-title {
  font-family:var(--serif);
  font-size:clamp(1.6rem,3vw,2.4rem);
  font-weight:300;
  color:var(--txt);
  line-height:1.1;
}
.pa-principal-badge {
  display:inline-flex;
  align-items:center;
  padding:.25rem .75rem;
  border-radius:2px;
  font-size:.7rem;
  letter-spacing:.08em;
  margin-top:.5rem;
}

/* Stats grid */
.pa-stats-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:var(--border);
  margin-bottom:2.5rem;
  border:1px solid var(--border);
  border-radius:var(--r);
  overflow:hidden;
}
.pa-stat {
  background:var(--s2);
  padding:1.4rem 1.25rem;
  position:relative;
}
.pa-stat-num {
  font-family:var(--serif);
  font-size:2.2rem;
  font-weight:300;
  color:var(--gold);
  line-height:1;
  display:block;
}
.pa-stat-label {
  font-size:.68rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--txt3);
  margin-top:.5rem;
  display:block;
}
.pa-stat-attention .pa-stat-num { color:#fbbf24; }
.pa-stat-action {
  display:block;
  font-size:.68rem;
  color:var(--gold);
  text-decoration:none;
  margin-top:.4rem;
}

/* Sections */
.pa-section { margin-bottom:2.5rem; }
.pa-section-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:1rem;
  padding-bottom:.75rem;
  border-bottom:1px solid var(--border);
}
.pa-section-title {
  font-family:var(--serif);
  font-size:1.2rem;
  font-weight:400;
  color:var(--txt);
}
.pa-section-link {
  font-size:.72rem;
  color:var(--gold);
  text-decoration:none;
  letter-spacing:.06em;
}

/* Principal cards grid */
.pa-principal-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:1px;
  background:var(--border);
  border:1px solid var(--border);
  border-radius:var(--r);
  overflow:hidden;
}
.pa-principal-card {
  background:var(--s2);
  padding:1.25rem;
  text-decoration:none;
  display:flex;
  align-items:center;
  gap:.85rem;
  transition:background .15s;
}
.pa-principal-card:hover { background:var(--s3); }
.pa-principal-card-avatar {
  width:44px;
  height:44px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:.75rem;
  font-weight:700;
  color:#000;
  flex-shrink:0;
}
.pa-principal-card-name { font-size:.85rem; font-weight:600; color:var(--txt); margin-bottom:.2rem; }
.pa-principal-card-type { font-size:.7rem; color:var(--txt3); }
.pa-principal-card-stats { font-size:.68rem; color:var(--txt2); margin-top:.35rem; display:flex; gap:.5rem; flex-wrap:wrap; }
.pa-stat-dot-gold { color:var(--gold); }
.pa-principal-card-access { margin-left:auto; font-size:.65rem; color:var(--txt3); flex-shrink:0; }
.pa-principal-card-add {
  background:var(--s1);
  flex-direction:column;
  justify-content:center;
  align-items:center;
  color:var(--txt3);
  gap:.5rem;
  min-height:90px;
  border:1px dashed rgba(201,169,110,.15) !important;
}
.pa-principal-card-add:hover { color:var(--gold); background:rgba(201,169,110,.04); }
.pa-principal-card-add span { font-size:.72rem; }

/* Booking list */
.pa-booking-list { display:flex; flex-direction:column; gap:1px; background:var(--border); border:1px solid var(--border); border-radius:var(--r); overflow:hidden; }
.pa-booking-row {
  background:var(--s2);
  display:grid;
  grid-template-columns:36px 1fr 120px 120px 120px;
  gap:1rem;
  align-items:center;
  padding:.9rem 1rem;
  transition:background .15s;
}
.pa-booking-row:hover { background:var(--s3); }
.pa-booking-airports { display:flex; align-items:center; gap:.5rem; }
.pa-airport { font-family:var(--serif); font-size:1.1rem; color:var(--gold); font-weight:300; }
.pa-booking-meta { font-size:.7rem; color:var(--txt3); margin-top:.2rem; display:flex; gap:.4rem; flex-wrap:wrap; }
.pa-booking-ref { font-size:.72rem; color:var(--txt3); font-family:monospace; }
.pa-booking-actions { display:flex; gap:.4rem; }

/* Status badges */
.pa-status {
  display:inline-flex;
  align-items:center;
  padding:.2rem .6rem;
  border-radius:2px;
  font-size:.65rem;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.pa-status-new,.pa-status-reviewing { background:rgba(251,191,36,.1); color:#fbbf24; border:1px solid rgba(251,191,36,.2); }
.pa-status-quoted  { background:rgba(201,169,110,.12); color:var(--gold); border:1px solid rgba(201,169,110,.25); }
.pa-status-confirmed { background:rgba(74,222,128,.1); color:#4ade80; border:1px solid rgba(74,222,128,.2); }
.pa-status-completed { background:rgba(90,80,64,.3); color:var(--txt3); border:1px solid rgba(90,80,64,.3); }
.pa-status-cancelled { background:rgba(248,113,113,.1); color:#f87171; border:1px solid rgba(248,113,113,.2); }
.pa-quote-amount { font-size:.72rem; color:var(--gold); margin-top:.15rem; }

/* Quick action cards */
.pa-quick-actions { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:.75rem; }
.pa-quick-card {
  background:var(--s2);
  border:1px solid var(--border);
  border-radius:var(--r);
  padding:1.25rem 1rem;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.6rem;
  text-decoration:none;
  color:var(--txt2);
  font-size:.75rem;
  text-align:center;
  transition:all .2s;
}
.pa-quick-card svg { color:var(--txt3); width:20px; height:20px; transition:color .2s; }
.pa-quick-card:hover { border-color:var(--gold); background:rgba(201,169,110,.06); color:var(--gold); }
.pa-quick-card:hover svg { color:var(--gold); }
.pa-quick-card-alert { border-color:rgba(251,191,36,.3); }
.pa-quick-card-alert svg,.pa-quick-card-alert span { color:#fbbf24; }

/* Empty state */
.pa-empty { text-align:center; padding:4rem 2rem; display:flex; flex-direction:column; align-items:center; gap:1rem; }
.pa-empty p { color:var(--txt3); font-size:.85rem; }

/* Alerts */
.pa-alert { border-radius:var(--r); padding:.9rem 1.1rem; font-size:.8rem; line-height:1.6; }
.pa-alert p { margin:0; }
.pa-alert p + p { margin-top:.25rem; }
.pa-alert-error   { background:rgba(248,113,113,.08); border:1px solid rgba(248,113,113,.2); color:#f87171; }
.pa-alert-warning { background:rgba(251,191,36,.08); border:1px solid rgba(251,191,36,.2); color:#fbbf24; }
.pa-alert-success { background:rgba(74,222,128,.08); border:1px solid rgba(74,222,128,.2); color:#4ade80; }
.pa-alert-info    { background:rgba(201,169,110,.07); border:1px solid var(--border); color:var(--gold); }

/* Success banner */
.pa-success-banner {
  display:flex;
  align-items:flex-start;
  gap:1.25rem;
  background:rgba(74,222,128,.06);
  border:1px solid rgba(74,222,128,.2);
  border-radius:var(--r);
  padding:1.5rem;
  margin-bottom:2rem;
  color:#4ade80;
}
.pa-success-title { font-weight:600; font-size:.95rem; margin-bottom:.25rem; }
.pa-success-ref { font-size:.8rem; margin-bottom:.25rem; }
.pa-success-ref strong { color:var(--gold); }
.pa-success-msg { font-size:.78rem; color:var(--txt2); }
.pa-success-actions { margin-left:auto; display:flex; gap:.5rem; flex-shrink:0; flex-direction:column; }

/* Notice box */
.pa-notice {
  display:flex;
  align-items:flex-start;
  gap:.75rem;
  background:rgba(201,169,110,.05);
  border:1px solid rgba(201,169,110,.18);
  border-radius:var(--r);
  padding:.85rem 1rem;
  font-size:.78rem;
  color:var(--txt2);
  line-height:1.6;
}
.pa-notice svg { color:var(--gold); flex-shrink:0; margin-top:.1rem; }

/* ── Form elements ──────────────────────────────────────── */
.pa-form { display:flex; flex-direction:column; }
.pa-form-card {
  background:var(--s2);
  border:1px solid var(--border);
  border-radius:var(--r);
  overflow:hidden;
}
.pa-form-card-title {
  display:flex;
  align-items:center;
  gap:.6rem;
  padding:.9rem 1.25rem;
  font-size:.78rem;
  font-weight:600;
  color:var(--txt);
  letter-spacing:.04em;
  border-bottom:1px solid var(--border);
  background:rgba(255,255,255,.015);
}
.pa-form-card-title svg { color:var(--gold); width:15px; height:15px; flex-shrink:0; }
.pa-form-card > .pa-form-grid,
.pa-form-card > form > .pa-form-grid,
.pa-form-card > div:not(.pa-form-card-title) { padding:1.25rem; }
.pa-form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
}
.pa-fg { display:flex; flex-direction:column; gap:.4rem; }
.pa-fg-full { grid-column:span 2; }
.pa-form-label {
  font-size:.68rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--txt3);
}
.pa-form-input,
.pa-form-select,
.pa-form-textarea {
  background:var(--s3);
  border:1px solid var(--border);
  color:var(--txt);
  padding:.65rem .9rem;
  font-family:var(--sans);
  font-size:.82rem;
  border-radius:2px;
  width:100%;
  line-height:1.5;
  transition:border-color .2s;
}
.pa-form-input:focus,
.pa-form-select:focus,
.pa-form-textarea:focus {
  outline:none;
  border-color:rgba(201,169,110,.5);
}
.pa-form-select option { background:var(--s3); }
.pa-form-textarea { resize:vertical; }
.pa-form-hint { font-size:.68rem; color:var(--txt3); line-height:1.5; margin-top:.1rem; }
.pa-form-group { display:flex; flex-direction:column; gap:.4rem; }
.pa-password-wrap { position:relative; display:flex; }
.pa-password-wrap .pa-form-input { border-radius:2px 0 0 2px; flex:1; }
.pa-pw-toggle {
  background:var(--s3);
  border:1px solid var(--border);
  border-left:none;
  border-radius:0 2px 2px 0;
  padding:0 .75rem;
  cursor:pointer;
  color:var(--txt3);
  display:flex;
  align-items:center;
}
.pa-pw-toggle:hover { color:var(--gold); }
.pa-mfa-input { text-align:center; letter-spacing:.4em; font-size:1.4rem; }

/* Toggle labels */
.pa-toggle-label {
  display:flex;
  align-items:center;
  gap:.65rem;
  cursor:pointer;
  font-size:.8rem;
  color:var(--txt2);
  padding:.65rem;
  border:1px solid var(--border);
  border-radius:var(--r);
  transition:all .15s;
}
.pa-toggle-label input[type="checkbox"] { accent-color:var(--gold); width:14px; height:14px; flex-shrink:0; }
.pa-toggle-label:hover { border-color:rgba(201,169,110,.3); }
.pa-form-toggle { margin-top:.75rem; }

/* Principal selector (radio cards) */
.pa-principal-selector {
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  padding:1.25rem;
}
.pa-principal-select-card { cursor:pointer; }
.pa-principal-select-card input[type="radio"] { position:absolute; opacity:0; width:0; height:0; }
.pa-psc-inner {
  display:flex;
  align-items:center;
  gap:.65rem;
  padding:.75rem 1rem;
  background:var(--s3);
  border:1px solid var(--border);
  border-radius:var(--r);
  transition:all .2s;
  min-width:160px;
}
.pa-principal-select-card.selected .pa-psc-inner,
.pa-principal-select-card input:checked ~ .pa-psc-inner {
  border-color:var(--gold);
  background:rgba(201,169,110,.08);
}
.pa-psc-avatar {
  width:32px;
  height:32px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:.65rem;
  font-weight:700;
  flex-shrink:0;
}
.pa-psc-name { font-size:.82rem; font-weight:600; color:var(--txt); }
.pa-psc-type { font-size:.68rem; color:var(--txt3); margin-top:.1rem; }

/* Submit button */
.pa-submit-btn {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.65rem;
  background:var(--gold);
  color:#000;
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  padding:.9rem 1.5rem;
  border:none;
  border-radius:var(--r);
  cursor:pointer;
  transition:background .2s;
  width:100%;
  margin-top:.5rem;
  font-family:var(--sans);
}
.pa-submit-btn:hover { background:var(--gold-lt); }

/* Shared buttons */
.pa-btn-primary {
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  background:var(--gold);
  color:#000;
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  padding:.65rem 1.4rem;
  border:none;
  border-radius:var(--r);
  cursor:pointer;
  text-decoration:none;
  transition:background .2s;
  flex-shrink:0;
  font-family:var(--sans);
}
.pa-btn-primary:hover { background:var(--gold-lt); }
.pa-btn-outline {
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  background:transparent;
  color:var(--txt2);
  font-size:.72rem;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  padding:.65rem 1.4rem;
  border:1px solid var(--border);
  border-radius:var(--r);
  cursor:pointer;
  text-decoration:none;
  transition:all .2s;
  flex-shrink:0;
  font-family:var(--sans);
}
.pa-btn-outline:hover { border-color:var(--gold); color:var(--gold); }
.pa-btn-sm {
  font-size:.68rem;
  padding:.3rem .7rem;
  background:var(--s3);
  border:1px solid var(--border);
  border-radius:2px;
  color:var(--txt2);
  text-decoration:none;
  cursor:pointer;
  font-family:var(--sans);
  transition:all .15s;
  white-space:nowrap;
}
.pa-btn-sm:hover { border-color:var(--gold); color:var(--gold); }
.pa-btn-sm-gold { background:rgba(201,169,110,.1); color:var(--gold); border-color:rgba(201,169,110,.3); }
.pa-btn-sm-outline { border-color:var(--border-m); }
.pa-btn-danger { background:rgba(248,113,113,.1); border-color:rgba(248,113,113,.2); color:#f87171; }
.pa-btn-danger:hover { background:rgba(248,113,113,.2); }

/* ── Principals list (principals.php) ───────────────────── */
.pa-principals-list { display:flex; flex-direction:column; gap:.75rem; }
.pa-principal-detail-card {
  background:var(--s2);
  border:1px solid var(--border);
  border-radius:var(--r);
  overflow:hidden;
}
.pa-pdc-header {
  display:flex;
  align-items:center;
  gap:1rem;
  padding:1.1rem 1.25rem;
  border-bottom:1px solid var(--border);
}
.pa-pdc-avatar {
  width:48px;
  height:48px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:.85rem;
  font-weight:700;
  flex-shrink:0;
  color:#000;
}
.pa-pdc-name { font-size:.95rem; font-weight:600; color:var(--txt); }
.pa-pdc-meta { font-size:.75rem; color:var(--txt3); margin-top:.2rem; }
.pa-pdc-access-badge { margin-left:auto; }
.pa-access-level {
  font-size:.65rem;
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
  padding:.2rem .6rem;
  border-radius:2px;
  background:rgba(201,169,110,.1);
  color:var(--gold);
  border:1px solid rgba(201,169,110,.2);
}
.pa-pdc-stats { display:flex; border-bottom:1px solid var(--border); }
.pa-pdc-stat { flex:1; padding:.85rem 1.25rem; text-align:center; border-right:1px solid var(--border); }
.pa-pdc-stat:last-child { border-right:none; }
.pa-pdc-stat-num { font-family:var(--serif); font-size:1.5rem; font-weight:300; color:var(--gold); display:block; }
.pa-pdc-stat-lbl { font-size:.65rem; letter-spacing:.08em; text-transform:uppercase; color:var(--txt3); display:block; margin-top:.2rem; }
.pa-pdc-stat-alert .pa-pdc-stat-num { color:#fbbf24; }
.pa-pdc-prefs { display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; padding:.85rem 1.25rem; border-bottom:1px solid var(--border); }
.pa-pdc-pref { font-size:.75rem; color:var(--txt2); display:flex; gap:.4rem; }
.pa-pdc-pref-label { color:var(--txt3); }
.pa-pdc-actions { display:flex; gap:.5rem; padding:.85rem 1.25rem; flex-wrap:wrap; }

/* ── Booking detail page ────────────────────────────────── */
.pa-booking-detail { display:grid; grid-template-columns:1fr 300px; gap:1.5rem; align-items:start; }
.pa-detail-section { margin-bottom:1.5rem; }
.pa-detail-card {
  background:var(--s2);
  border:1px solid var(--border);
  border-radius:var(--r);
  overflow:hidden;
}
.pa-detail-card-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:.85rem 1.1rem;
  border-bottom:1px solid var(--border);
  background:rgba(255,255,255,.015);
}
.pa-detail-card-title { font-size:.82rem; font-weight:600; color:var(--txt); }
.pa-detail-body { padding:1.1rem; }
.pa-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:.75rem 1.25rem; }
.pa-detail-field-label { font-size:.65rem; letter-spacing:.1em; text-transform:uppercase; color:var(--txt3); margin-bottom:.2rem; }
.pa-detail-field-val { font-size:.85rem; color:var(--txt); }
.pa-route-display {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1.5rem;
  padding:1.5rem;
  background:rgba(201,169,110,.04);
  border-bottom:1px solid var(--border);
}
.pa-route-iata { font-family:var(--serif); font-size:2.5rem; color:var(--gold); font-weight:300; text-align:center; }
.pa-route-city { font-size:.7rem; color:var(--txt3); text-align:center; margin-top:.25rem; }
.pa-route-arrow { color:var(--gold); flex-shrink:0; }
.pa-timeline { display:flex; flex-direction:column; gap:0; }
.pa-timeline-item {
  display:flex;
  gap:.85rem;
  padding:.6rem 0;
  border-bottom:1px solid rgba(255,255,255,.04);
  font-size:.78rem;
}
.pa-timeline-item:last-child { border-bottom:none; }
.pa-timeline-dot { width:8px; height:8px; border-radius:50%; background:var(--gold); flex-shrink:0; margin-top:.3rem; }
.pa-timeline-content { flex:1; }
.pa-timeline-action { color:var(--txt2); }
.pa-timeline-time { color:var(--txt3); font-size:.68rem; margin-top:.1rem; }

/* Modify form inline */
.pa-modify-form { padding:1.1rem; }
.pa-modify-actions { display:flex; gap:.5rem; flex-wrap:wrap; padding:.85rem 1.1rem; border-top:1px solid var(--border); }

/* ── Enquiries list ─────────────────────────────────────── */
.pa-enquiries-filter {
  display:flex;
  gap:.5rem;
  flex-wrap:wrap;
  margin-bottom:1.25rem;
}
.pa-filter-btn {
  padding:.4rem .9rem;
  font-size:.7rem;
  border:1px solid var(--border);
  border-radius:2px;
  color:var(--txt2);
  background:transparent;
  cursor:pointer;
  font-family:var(--sans);
  text-decoration:none;
  transition:all .15s;
}
.pa-filter-btn:hover,.pa-filter-btn.active { border-color:var(--gold); color:var(--gold); background:rgba(201,169,110,.06); }
.pa-filter-principal {
  padding:.4rem .9rem;
  font-size:.7rem;
  background:var(--s3);
  border:1px solid var(--border);
  border-radius:2px;
  color:var(--txt);
  font-family:var(--sans);
}
.pa-enquiries-table {
  background:var(--s2);
  border:1px solid var(--border);
  border-radius:var(--r);
  overflow:hidden;
}
.pa-table { width:100%; border-collapse:collapse; }
.pa-table th {
  text-align:left;
  padding:.65rem 1rem;
  font-size:.65rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--txt3);
  background:rgba(255,255,255,.02);
  border-bottom:1px solid var(--border);
  font-weight:500;
}
.pa-table td { padding:.8rem 1rem; border-bottom:1px solid rgba(255,255,255,.03); font-size:.8rem; color:var(--txt2); vertical-align:middle; }
.pa-table tr:last-child td { border-bottom:none; }
.pa-table tr:hover td { background:rgba(255,255,255,.02); }

/* ── Profile & security settings ───────────────────────── */
.pa-profile-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; align-items:start; }
.pa-session-list { display:flex; flex-direction:column; gap:.65rem; }
.pa-session-item {
  background:var(--s3);
  border:1px solid var(--border);
  border-radius:var(--r);
  padding:.85rem 1rem;
  display:flex;
  align-items:center;
  gap:.85rem;
  font-size:.78rem;
}
.pa-session-device { font-weight:500; color:var(--txt); }
.pa-session-meta { color:var(--txt3); font-size:.7rem; margin-top:.15rem; }
.pa-session-current { border-color:rgba(74,222,128,.25); }
.pa-session-badge {
  font-size:.6rem;
  padding:.15rem .5rem;
  background:rgba(74,222,128,.1);
  color:#4ade80;
  border-radius:2px;
  margin-left:auto;
  flex-shrink:0;
}
.pa-mfa-status {
  display:flex;
  align-items:center;
  gap:.65rem;
  padding:.85rem 1rem;
  border-radius:var(--r);
  font-size:.82rem;
  margin-bottom:1rem;
}
.pa-mfa-enabled { background:rgba(74,222,128,.08); border:1px solid rgba(74,222,128,.2); color:#4ade80; }
.pa-mfa-disabled { background:rgba(251,191,36,.08); border:1px solid rgba(251,191,36,.2); color:#fbbf24; }

/* ── Register page ──────────────────────────────────────── */
.pa-register-steps { display:flex; gap:0; margin-bottom:2rem; }
.pa-step { flex:1; text-align:center; padding:.6rem; font-size:.68rem; color:var(--txt3); border-bottom:2px solid var(--border); }
.pa-step.active { color:var(--gold); border-bottom-color:var(--gold); }
.pa-step.done { color:#4ade80; border-bottom-color:rgba(74,222,128,.3); }

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width:900px) {
  .pa-layout { grid-template-columns:1fr; }
  .pa-sidebar { position:fixed; left:-260px; z-index:200; height:100%; transition:left .3s; }
  .pa-sidebar.open { left:0; }
  .pa-main { padding:1.25rem 1rem 3rem; }
  .pa-booking-row { grid-template-columns:1fr; gap:.35rem; padding:.85rem; }
  .pa-stats-grid { grid-template-columns:1fr 1fr; }
  .pa-booking-detail { grid-template-columns:1fr; }
  .pa-form-grid { grid-template-columns:1fr; }
  .pa-profile-grid { grid-template-columns:1fr; }
  .pa-detail-grid { grid-template-columns:1fr; }
  .pa-principal-selector { flex-direction:column; }
}
