/* ZX Partner Portal — shared styles for partner-register.php, partner-login.php,
   partner-logout.php and everything under partner/*.php. Self-contained so this
   area never depends on the marketing site's header/nav bundle. Bilingual
   (ar/en) via [data-en][data-ar] + body[dir] exactly like the main site. */
:root{
  --pp-navy:#03153B;--pp-navy-2:#071F55;--pp-cyan:#009EDF;--pp-cyan-2:#23C8FF;
  --pp-yellow:#FFD91A;--pp-ink:#0B1736;--pp-steel:#52627B;--pp-muted:#718096;
  --pp-paper:#F6F8FC;--pp-line:#DCE5EE;--pp-success:#118763;--pp-danger:#C93457;
  --pp-shadow:0 20px 50px rgba(3,21,59,.14);--pp-shadow-soft:0 8px 24px rgba(3,21,59,.08);
  --pp-font-en:Inter,"Segoe UI",Arial,sans-serif;--pp-font-ar:"IBM Plex Sans Arabic","Segoe UI",Tahoma,Arial,sans-serif;
}
*{box-sizing:border-box}
body.pp-body{margin:0;background:var(--pp-paper);color:var(--pp-ink);font-family:var(--pp-font-en);line-height:1.6;-webkit-font-smoothing:antialiased}
body.pp-body[dir="rtl"]{font-family:var(--pp-font-ar)}
a{color:inherit}
button,input,select,textarea{font:inherit}

/* ---- top bar (used on every partner-portal page) ---- */
.pp-topbar{background:var(--pp-navy);color:#fff}
.pp-topbar-inner{max-width:1180px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.pp-brand{font-size:14px;font-weight:800;letter-spacing:.01em;display:flex;align-items:center;gap:8px}
.pp-brand small{display:block;font-weight:600;font-size:10.5px;color:#BFD9FF;letter-spacing:.03em;text-transform:uppercase}
.pp-topbar-right{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.pp-nav{display:flex;gap:4px;flex-wrap:wrap}
.pp-nav a{padding:8px 12px;border-radius:8px;font-size:12.5px;font-weight:700;color:rgba(255,255,255,.78);text-decoration:none}
.pp-nav a.active,.pp-nav a:hover{background:rgba(255,255,255,.12);color:#fff}
.pp-who{font-size:12px;color:#BFD9FF;display:flex;align-items:center;gap:10px}
.pp-who a{color:#BFD9FF;text-decoration:underline}

/* ---- language switch (mirrors the main site's .lang-switch) ---- */
.lang-switch{display:flex;background:rgba(255,255,255,.1);border-radius:999px;padding:3px;gap:2px}
.lang-switch button{border:0;background:none;color:rgba(255,255,255,.65);font-size:11px;font-weight:800;padding:5px 10px;border-radius:999px;cursor:pointer;letter-spacing:.03em}
.lang-switch button.active{background:#fff;color:var(--pp-navy)}

/* ---- shell / hero for the pre-login pages (register, login) ---- */
.pp-shell{min-height:calc(100vh - 64px);display:flex;align-items:center;justify-content:center;padding:40px 20px}
.pp-auth-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:0;max-width:980px;width:100%;background:#fff;border-radius:22px;overflow:hidden;box-shadow:var(--pp-shadow)}
.pp-auth-side{background:linear-gradient(160deg,var(--pp-navy),var(--pp-navy-2) 70%);color:#fff;padding:44px 38px;display:flex;flex-direction:column;justify-content:center;gap:18px}
.pp-auth-side .eyebrow{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--pp-cyan-2)}
.pp-auth-side h1{font-size:26px;line-height:1.3;margin:0;color:#fff}
.pp-auth-side p{font-size:13.5px;color:#C9D8EE;margin:0;line-height:1.7}
.pp-auth-points{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.pp-auth-points li{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;color:#DCE8FA}
.pp-auth-points svg{flex:none;width:18px;height:18px;color:var(--pp-cyan-2);margin-top:1px}
.pp-auth-form{padding:40px 38px}
.pp-auth-form h2{font-size:19px;margin:0 0 6px}
.pp-auth-form .sub{font-size:12.5px;color:var(--pp-steel);margin:0 0 22px}

/* ---- form primitives ---- */
.pp-field{margin-bottom:14px}
.pp-field label{display:block;font-size:12px;font-weight:700;color:#2b3a55;margin-bottom:6px}
.pp-field input,.pp-field select,.pp-field textarea{width:100%;padding:10px 12px;border:1px solid var(--pp-line);border-radius:9px;font-size:13.5px;background:#fff}
.pp-field input:focus,.pp-field select:focus,.pp-field textarea:focus{outline:2px solid rgba(0,158,223,.35);border-color:var(--pp-cyan)}
.pp-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pp-hint{font-size:11px;color:var(--pp-muted);margin-top:6px}
.pp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 16px;border:0;border-radius:10px;background:var(--pp-navy);color:#fff;font-weight:800;font-size:14px;cursor:pointer}
.pp-btn:hover{background:var(--pp-navy-2)}
.pp-btn:disabled{opacity:.6;cursor:default}
.pp-btn-outline{background:#fff;color:var(--pp-navy);border:1px solid var(--pp-line)}
.pp-btn-outline:hover{background:var(--pp-paper)}
.pp-btn-danger{background:#fff;border:1px solid #F0C6CE;color:#9A1B37}
.pp-btn-danger:hover{background:#FDECEC}
.pp-btn-sm{width:auto;padding:8px 14px;font-size:12.5px}
.pp-foot-link{text-align:center;font-size:12.5px;color:var(--pp-steel);margin-top:18px}
.pp-foot-link a{color:var(--pp-cyan);font-weight:700;text-decoration:none}

/* ---- alerts ---- */
.pp-alert{padding:11px 14px;border-radius:9px;font-size:13px;margin-bottom:16px}
.pp-alert-error{background:#FDECEC;color:#9A1B1B}
.pp-alert-success{background:#E9F8EF;color:#1B6B3A}
.pp-alert-warn{background:#FFF6E1;color:#8A5A00}

/* ---- dashboard shell ---- */
.pp-main{max-width:1180px;margin:0 auto;padding:28px 24px 60px}
.pp-page-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:12px;margin-bottom:20px}
.pp-page-head h1{font-size:21px;margin:0 0 4px}
.pp-page-head p{margin:0;font-size:13px;color:var(--pp-steel)}
.pp-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}
.pp-stat{background:#fff;border-radius:14px;padding:16px 18px;box-shadow:var(--pp-shadow-soft)}
.pp-stat .label{font-size:11px;font-weight:700;color:var(--pp-muted);text-transform:uppercase;letter-spacing:.03em}
.pp-stat .value{font-size:22px;font-weight:800;color:var(--pp-navy);margin-top:6px}
.pp-stat .value small{font-size:12px;font-weight:700;color:var(--pp-muted)}
.pp-card{background:#fff;border-radius:16px;padding:22px 24px;box-shadow:var(--pp-shadow-soft);margin-bottom:20px}
.pp-card h3{font-size:15px;margin:0 0 14px}
.pp-card h3 span{font-weight:600;color:var(--pp-muted);font-size:12.5px}

/* ---- badges ---- */
.pp-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}
.pp-badge-pending{background:#FAEEDA;color:#854F0B}
.pp-badge-active{background:#EAF3DE;color:#3B6D11}
.pp-badge-approved{background:#EAF3DE;color:#3B6D11}
.pp-badge-suspended{background:#FCEBEB;color:#791F1F}
.pp-badge-rejected{background:#FCEBEB;color:#791F1F}
.pp-badge-paid{background:#E1F5EE;color:#085041}
.pp-badge-unpaid{background:#E6F1FB;color:#0C447C}

/* ---- tables ---- */
.pp-table-wrap{overflow-x:auto;border-radius:12px;box-shadow:var(--pp-shadow-soft)}
.pp-table{width:100%;border-collapse:collapse;background:#fff;font-size:12.8px}
.pp-table th,.pp-table td{padding:11px 13px;text-align:start;border-bottom:1px solid var(--pp-line);vertical-align:top}
.pp-table th{background:var(--pp-paper);color:var(--pp-steel);font-weight:800;text-transform:uppercase;font-size:10.5px;letter-spacing:.04em}
.pp-table tr:last-child td{border-bottom:0}
.pp-empty{padding:34px;text-align:center;color:var(--pp-muted);font-size:13px}

@media(max-width:840px){
  .pp-auth-grid{grid-template-columns:1fr}
  .pp-auth-side{display:none}
  .pp-stat-grid{grid-template-columns:1fr 1fr}
  .pp-field-row{grid-template-columns:1fr}
}
@media(max-width:520px){
  .pp-stat-grid{grid-template-columns:1fr}
  .pp-main{padding:20px 16px 40px}
  .pp-card{padding:18px}
}
