/* PahadiRoutes Partner Hub — Agent Login + Dashboard (Phase 1).
   Native CSS, loaded ONLY on /agent-login/ and /agent-portal/ (see
   inc/enqueue.php) — zero weight added to any other page. Colors reuse
   the site's real design tokens (primary teal / tertiary gold / on-surface
   navy), no new palette introduced. */

.pr-agent-auth-wrap{ min-height:70vh; display:flex; align-items:center; justify-content:center; padding:120px 16px 60px; background:#f1f3ff; }
.pr-agent-auth-card{ width:100%; max-width:400px; background:#fff; border:1px solid #dce2f7; border-radius:16px; padding:32px 28px; box-shadow:0 12px 32px rgba(20,27,43,.08); }
.pr-agent-auth-title{ font-family:'Manrope',sans-serif; font-weight:800; font-size:24px; color:#141b2b; margin:0 0 4px; }
.pr-agent-auth-sub{ color:#3e4947; font-size:14px; margin:0 0 20px; }
.pr-agent-auth-error{ background:#ffdad6; color:#93000a; padding:10px 14px; border-radius:10px; font-size:13px; margin-bottom:16px; }
.pr-agent-auth-form{ display:flex; flex-direction:column; gap:4px; }
/* The [hidden] attribute toggles the OTP panel, but an author rule with
   `display:flex` on the same element beats the browser's UA-stylesheet
   `[hidden]{display:none}` regardless of specificity — same bug class
   documented in mega-nav.css's .pr-panel[hidden] fix. Without this, the
   Password and Login Code panels render stacked/both-visible at once. */
.pr-agent-auth-form[hidden]{ display:none !important; }
.pr-agent-auth-note{ margin-top:18px; font-size:12.5px; color:#6e7977; text-align:center; }

.pr-agent-link-btn{ display:block; margin:10px auto 0; background:none; border:none; color:#005c55; font-size:13px; font-weight:700; cursor:pointer; text-align:center; width:100%; }
.pr-agent-link-btn:hover{ text-decoration:underline; }
.pr-agent-forgot-box{ margin-top:12px; padding-top:14px; border-top:1px solid #dce2f7; }

.pr-agent-field-label{ font-size:12px; font-weight:700; letter-spacing:.03em; color:#3e4947; margin:12px 0 4px; }
.pr-agent-auth-form input, .pr-agent-field input, .pr-agent-field select, .pr-agent-field textarea{
  width:100%; padding:11px 14px; border-radius:10px; border:1px solid #bdc9c6; font-size:14px; font-family:inherit; color:#141b2b; background:#fff;
}
.pr-agent-auth-form input:focus, .pr-agent-field input:focus, .pr-agent-field select:focus, .pr-agent-field textarea:focus{
  outline:none; border-color:#005c55; box-shadow:0 0 0 3px rgba(0,92,85,.12);
}

.pr-agent-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  margin-top:18px; padding:12px 22px; border:none; border-radius:10px;
  background:#005c55; color:#fff; font-weight:700; font-size:14px; cursor:pointer;
  transition:opacity .15s ease;
}
.pr-agent-btn:hover{ opacity:.9; }
.pr-agent-btn-outline{ background:transparent; border:1px solid #bdc9c6; color:#141b2b; margin-top:0; }
.pr-agent-btn-outline:hover{ border-color:#005c55; color:#005c55; opacity:1; }
.pr-agent-btn:disabled{ opacity:.6; cursor:not-allowed; }

.pr-agent-dash-wrap{ max-width:1100px; margin:0 auto; padding:120px 20px 80px; }
.pr-agent-dash-header{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:28px; flex-wrap:wrap; }
.pr-agent-dash-title{ font-family:'Manrope',sans-serif; font-weight:800; font-size:26px; color:#141b2b; margin:0 0 4px; }
.pr-agent-dash-code{ color:#3e4947; font-size:14px; margin:0; }
.pr-agent-dash-code strong{ color:#005c55; letter-spacing:.04em; }

.pr-agent-dash-grid{ display:grid; grid-template-columns:1.2fr 1fr; gap:24px; }
@media (max-width:900px){ .pr-agent-dash-grid{ grid-template-columns:1fr; } }

.pr-agent-card{ background:#fff; border:1px solid #dce2f7; border-radius:16px; padding:24px; }
.pr-agent-card-title{ font-family:'Manrope',sans-serif; font-weight:800; font-size:16px; color:#141b2b; margin:0 0 16px; }

.pr-agent-row{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.pr-agent-field-full{ grid-column:1/-1; }
@media (max-width:520px){ .pr-agent-row{ grid-template-columns:1fr; } }

.pr-agent-error, .pr-agent-success{ display:none; font-size:13px; padding:10px 14px; border-radius:10px; margin-bottom:12px; }
.pr-agent-error.is-visible{ display:block; background:#ffdad6; color:#93000a; }
.pr-agent-success.is-visible{ display:block; background:#dcfce7; color:#166534; }

.pr-agent-table{ width:100%; border-collapse:collapse; font-size:13.5px; }
.pr-agent-table th{ text-align:left; padding:8px 10px; border-bottom:2px solid #dce2f7; color:#6e7977; font-weight:700; font-size:11px; text-transform:uppercase; letter-spacing:.05em; }
.pr-agent-table td{ padding:10px; border-bottom:1px solid #f1f3ff; color:#141b2b; }
.pr-agent-empty{ color:#6e7977; font-size:13.5px; }
.pr-agent-hint{ font-size:12.5px; color:#6e7977; margin:6px 0 0; line-height:1.5; }

/* Login page tabs (Password / Login Code) */
.pr-agent-tabs{ display:flex; gap:4px; background:#f1f3ff; border-radius:10px; padding:4px; margin-bottom:16px; }
.pr-agent-tab{ flex:1; padding:8px 12px; border:none; background:transparent; border-radius:8px; font-weight:700; font-size:13px; color:#3e4947; cursor:pointer; }
.pr-agent-tab.is-active{ background:#fff; color:#005c55; box-shadow:0 1px 3px rgba(20,27,43,.1); }

/* Tier badge */
.pr-agent-tier-badge{ display:inline-block; padding:3px 10px; border-radius:999px; font-weight:700; font-size:12px; }

/* Referral / coupon / QR tools card */
.pr-agent-tools-card{ margin-bottom:24px; }
.pr-agent-tools-grid{ display:grid; grid-template-columns:1fr auto; gap:24px; align-items:start; }
@media (max-width:640px){ .pr-agent-tools-grid{ grid-template-columns:1fr; } }
.pr-agent-copy-row{ display:flex; gap:8px; }
.pr-agent-copy-row input{ flex:1; padding:10px 12px; border-radius:8px; border:1px solid #bdc9c6; font-size:13px; background:#f9f9ff; color:#141b2b; }
.pr-agent-btn-sm{ margin-top:0; padding:9px 16px; font-size:13px; white-space:nowrap; }
.pr-agent-qr-box{ text-align:center; }
.pr-agent-qr-box img{ border-radius:10px; border:1px solid #dce2f7; }
.pr-agent-mobile-otp-row{ grid-column:1/-1; border-top:1px solid #dce2f7; padding-top:16px; margin-top:6px; }
.pr-agent-mobile-otp-row input{ max-width:220px; }

/* WhatsApp log button */
.pr-agent-submit-row{ display:flex; gap:10px; flex-wrap:wrap; }
.pr-agent-btn-whatsapp{ background:#22C55E; }
.pr-agent-btn-whatsapp .material-symbols-outlined{ font-size:16px; }

/* Approval status pills (dashboard's own booking list) */
.pr-agent-status{ display:inline-block; padding:2px 9px; border-radius:999px; font-size:11px; font-weight:700; }
.pr-agent-status-approved{ background:#dcfce7; color:#166534; }
.pr-agent-status-rejected{ background:#ffdad6; color:#93000a; }
.pr-agent-status-pending{ background:#fff7ec; color:#734700; }
