/* ============================================================
   PARTNER PORTAL — reuses tokens from ../styles.css
   ============================================================ */

.pp-body {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--paper-2);
  padding: 24px;
}

.pp-card {
  width: min(420px, 92vw);
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  padding: clamp(28px, 5vw, 40px);
  box-shadow: 0 24px 60px rgba(16,22,42,0.10);
}

.pp-brand {
  display: flex; align-items: center; gap: 10px;
  text-decoration: none; color: var(--ink); margin-bottom: 20px;
}
.pp-brand .logo-badge { width: 32px; height: 32px; border-radius: 50%; overflow: hidden; flex-shrink: 0; }
.pp-brand .logo-badge img { width: 100%; height: 100%; object-fit: cover; }
.pp-brand .word { font-family: var(--font-mono); font-weight: 700; }

.pp-card .eyebrow { display: block; margin-bottom: 6px; }
.pp-card h1 { margin-bottom: 20px; }

.pp-field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; font-size: 0.86rem; color: var(--ink-2); }
.pp-field span { font-weight: 600; }
.pp-field input {
  font-family: var(--font-sans); font-size: 0.95rem; color: var(--ink);
  border: 1px solid var(--line); border-radius: var(--r-sm);
  padding: 10px 12px; background: var(--paper); outline: none;
}
.pp-field input:focus { border-color: var(--accent); }

.pp-note { min-height: 1.2em; font-size: 0.85rem; margin: 0 0 12px; color: var(--ink-3); }
.pp-note.err { color: #c0392b; }
.pp-note.ok { color: #1e8a4c; }

.pp-badge { display: inline-block; padding: 3px 12px; border-radius: 99px; font-size: 0.8rem; font-weight: 600; }
.pp-badge.pending { background: #fdf1d6; color: #92650c; }
.pp-badge.approved { background: #dff3e6; color: #1e8a4c; }
.pp-badge.rejected { background: #fbe2e0; color: #c0392b; }

.pp-status-card { width: min(520px, 92vw); }
.pp-status-row { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--line-soft); font-size: 0.92rem; }
.pp-status-row:last-of-type { border-bottom: none; }
.pp-status-row .k { color: var(--ink-3); }
.pp-status-row .v { font-weight: 600; text-align: right; }

.pp-status-message { margin-top: 20px; padding: 16px; border-radius: var(--r-md); background: var(--paper-2); font-size: 0.9rem; color: var(--ink-2); }
.pp-logout { all: unset; cursor: pointer; color: var(--ink-3); font-size: 0.85rem; margin-top: 22px; display: inline-block; }
.pp-logout:hover { color: var(--ink); }
