:root {
  --navy:#0a1628; --navy2:#112240; --gold:#c9a84c; --gold2:#e8c97a;
  --cream:#f7f3ee; --white:#fff; --gray:#8892a4; --light:#e8edf5;
  --green:#00874c; --green2:#005f35;
}
*{box-sizing:border-box}

/* ── NAV BUTTONS (theme override) ── */
nav .nav-links li a[style] { transition: opacity .2s !important; }

/* ── WRAP ── */
.rp-wrap { min-height:70vh; display:flex; align-items:center; justify-content:center; padding:60px 20px; background:var(--cream); }

/* ── AUTH CARD ── */
.rp-auth-card { background:var(--white); border-radius:20px; padding:3rem; max-width:500px; width:100%; box-shadow:0 12px 60px rgba(10,22,40,.13); border:1px solid var(--light); }
.rp-auth-logo { font-family:'Playfair Display',Georgia,serif; font-size:1.7rem; font-weight:900; color:var(--navy); margin-bottom:1.5rem; text-align:center; }
.rp-auth-logo span { color:var(--gold); }
.rp-auth-card h2 { font-family:'Playfair Display',Georgia,serif; font-size:1.7rem; font-weight:900; color:var(--navy); margin-bottom:.4rem; text-align:center; }
.rp-auth-sub { color:var(--gray); font-size:.9rem; text-align:center; margin-bottom:2rem; font-weight:300; }
.rp-auth-foot { text-align:center; color:var(--gray); font-size:.85rem; margin-top:1.25rem; }
.rp-auth-foot a { color:var(--gold); font-weight:600; text-decoration:none; }

/* ── FORM CARD ── */
.rp-form-card { background:var(--white); border-radius:20px; padding:3rem; max-width:680px; width:100%; box-shadow:0 12px 60px rgba(10,22,40,.13); border:1px solid var(--light); }
.rp-form-header { margin-bottom:2rem; text-align:center; }
.rp-badge-pill { display:inline-block; background:rgba(201,168,76,.12); border:1px solid rgba(201,168,76,.35); color:var(--gold); padding:.35rem 1rem; border-radius:100px; font-size:.75rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; margin-bottom:1rem; }
.rp-form-card h2 { font-family:'Playfair Display',Georgia,serif; font-size:2rem; font-weight:900; color:var(--navy); margin-bottom:.5rem; }
.rp-form-card p { color:var(--gray); font-size:.9rem; font-weight:300; }
.rp-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.rp-field { margin-bottom:1rem; }
.rp-field label { display:block; font-size:.75rem; font-weight:700; color:var(--navy); margin-bottom:.4rem; text-transform:uppercase; letter-spacing:.5px; }
.rp-field input,.rp-field select,.rp-field textarea { width:100%; padding:.85rem 1rem; border:1.5px solid var(--light); border-radius:8px; font-family:'DM Sans',sans-serif; font-size:.9rem; color:var(--navy); background:var(--cream); outline:none; transition:border-color .2s; -webkit-appearance:none; }
.rp-field input:focus,.rp-field select:focus,.rp-field textarea:focus { border-color:var(--gold); background:var(--white); }
.rp-field textarea { resize:vertical; min-height:120px; }
.rp-btn-submit { width:100%; padding:1rem; background:var(--navy); color:var(--white); border:none; border-radius:8px; font-family:'DM Sans',sans-serif; font-size:1rem; font-weight:700; cursor:pointer; transition:all .2s; margin-top:.5rem; }
.rp-btn-submit:hover { background:var(--gold); color:var(--navy); transform:translateY(-2px); }
.rp-btn-submit:disabled { opacity:.6; cursor:not-allowed; transform:none; }
.rp-alert { padding:1rem 1.25rem; border-radius:8px; margin-top:1rem; font-weight:600; font-size:.9rem; text-align:center; }
.rp-ok  { background:#d4edda; border:1px solid #b8dfc4; color:#155724; }
.rp-err { background:#fdecea; border:1px solid #f8c4c1; color:#721c24; }

/* ══════════════════════════════════════
   DASHBOARD
══════════════════════════════════════ */
.rp-dash { min-height:100vh; background:#eef0f5; font-family:'DM Sans',sans-serif; }

/* ── TOP BAR ── */
.rp-dash-bar { background:var(--navy); padding:0 5%; display:flex; align-items:center; justify-content:space-between; height:70px; border-bottom:1px solid rgba(201,168,76,.2); position:sticky; top:0; z-index:99; gap:1rem; }
.rp-dash-logo { font-family:'Playfair Display',Georgia,serif; font-size:1.4rem; font-weight:900; color:var(--white); text-decoration:none; flex-shrink:0; }
.rp-dash-logo span { color:var(--gold); }
.rp-dash-user { display:flex; align-items:center; gap:12px; }
.rp-dash-av { width:42px; height:42px; background:linear-gradient(135deg,var(--gold),var(--gold2)); border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:'Playfair Display',serif; font-size:1.1rem; font-weight:900; color:var(--navy); flex-shrink:0; }
.rp-dash-name { color:var(--white); font-weight:600; font-size:.92rem; }
.rp-dash-email { color:rgba(255,255,255,.4); font-size:.75rem; margin-top:1px; }
.rp-dash-out { color:rgba(255,255,255,.5); font-size:.8rem; text-decoration:none; border:1px solid rgba(255,255,255,.15); padding:.38rem .9rem; border-radius:5px; transition:all .2s; white-space:nowrap; }
.rp-dash-out:hover { color:var(--gold); border-color:rgba(201,168,76,.5); }

.rp-dash-body { max-width:1000px; margin:0 auto; padding:36px 5% 60px; }

/* ── NOTE BANNER ── */
.rp-note-banner { background:linear-gradient(135deg,rgba(201,168,76,.14),rgba(201,168,76,.05)); border:1.5px solid rgba(201,168,76,.35); border-radius:14px; padding:1.25rem 1.5rem; display:flex; align-items:flex-start; gap:1rem; margin-bottom:2rem; }
.rp-note-icon { font-size:1.4rem; flex-shrink:0; }
.rp-note-label { font-size:.72rem; font-weight:700; color:var(--gold); text-transform:uppercase; letter-spacing:1px; margin-bottom:.3rem; }
.rp-note-text { color:var(--navy); font-size:.92rem; line-height:1.65; }

/* ══════════════════════════════════════
   STATS - bigger icons, proper colors
══════════════════════════════════════ */
.rp-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-bottom:1.75rem; }

.rp-stat { background:var(--white); border-radius:16px; padding:1.4rem 1.25rem 1.25rem; text-align:center; border:1px solid var(--light); box-shadow:0 2px 12px rgba(10,22,40,.06); transition:transform .2s; }
.rp-stat:hover { transform:translateY(-2px); }

/* Resolved stat - dark navy bg */
.rp-stat-resolved { background:var(--navy) !important; border-color:transparent !important; }
.rp-stat-n-white { color:#fff !important; }
.rp-stat-l-white { color:rgba(255,255,255,.55) !important; }

/* Icon wrapper circle */
.rp-stat-ico-wrap { width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto .85rem; }
.rp-ico-blue   { background:rgba(34,113,177,.12); }
.rp-ico-orange { background:rgba(234,88,12,.1); }
.rp-ico-green  { background:rgba(0,135,76,.12); }
.rp-ico-gold   { background:rgba(201,168,76,.15); }

.rp-stat-ico { font-size:1.6rem; line-height:1; display:block; }
.rp-stat-n { font-family:'Playfair Display',Georgia,serif; font-size:2rem; font-weight:900; color:var(--navy); line-height:1; }
.rp-stat-l { color:var(--gray); font-size:.72rem; font-weight:600; margin-top:.35rem; text-transform:uppercase; letter-spacing:.5px; }

/* ══════════════════════════════════════
   CREDIT CARD STYLE MONEY CARDS
══════════════════════════════════════ */
.rp-money-row { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; margin-bottom:2rem; }

.rp-credit-card { border-radius:20px; padding:1.75rem 2rem; position:relative; overflow:hidden; min-height:180px; display:flex; flex-direction:column; justify-content:space-between; box-shadow:0 8px 32px rgba(10,22,40,.18); }
.rp-credit-card::before { content:''; position:absolute; top:-60px; right:-60px; width:200px; height:200px; border-radius:50%; opacity:.08; background:#fff; }
.rp-credit-card::after  { content:''; position:absolute; bottom:-80px; left:-40px; width:220px; height:220px; border-radius:50%; opacity:.05; background:#fff; }

.rp-card-green { background:linear-gradient(135deg, #005f35 0%, #00a85a 100%); }
.rp-card-navy  { background:linear-gradient(135deg, #0a1628 0%, #1a3050 100%); }

.rp-cc-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:.75rem; }
.rp-cc-chip { width:38px; height:28px; background:linear-gradient(135deg,#e8c97a,#c9a84c); border-radius:5px; position:relative; overflow:hidden; }
.rp-cc-chip-inner { position:absolute; inset:6px; border-radius:3px; border:1.5px solid rgba(255,255,255,.3); background:linear-gradient(135deg,rgba(255,255,255,.15),transparent); }
.rp-cc-logo { font-size:1.4rem; opacity:.85; }

.rp-cc-amount { font-family:'Playfair Display',Georgia,serif; font-size:2rem; font-weight:900; color:#fff; letter-spacing:.5px; line-height:1; margin-bottom:.5rem; position:relative; z-index:1; }

.rp-cc-bottom { display:flex; align-items:flex-end; justify-content:space-between; position:relative; z-index:1; }
.rp-cc-label { font-size:.65rem; font-weight:700; color:rgba(255,255,255,.55); text-transform:uppercase; letter-spacing:1.5px; margin-bottom:.2rem; }
.rp-cc-sub { font-size:.78rem; color:rgba(255,255,255,.75); font-weight:400; }
.rp-cc-dots { font-size:.5rem; color:rgba(255,255,255,.3); letter-spacing:4px; }

/* ── SECTION TITLE ── */
.rp-sec-title { font-family:'Playfair Display',Georgia,serif; font-size:1.3rem; font-weight:700; color:var(--navy); margin-bottom:1.25rem; display:flex; align-items:center; gap:.75rem; }
.rp-sec-title::after { content:''; flex:1; height:1px; background:var(--light); }

/* ── EMPTY STATE ── */
.rp-empty { background:var(--white); border-radius:16px; padding:4rem 2rem; text-align:center; border:1px solid var(--light); }
.rp-empty h3 { font-family:'Playfair Display',serif; font-size:1.4rem; color:var(--navy); margin:.75rem 0 .5rem; }
.rp-empty p { color:var(--gray); margin-bottom:1.5rem; font-weight:300; }

/* ── CASE CARDS ── */
.rp-cases { display:flex; flex-direction:column; gap:1.5rem; }
.rp-case-card { background:var(--white); border-radius:18px; border:1px solid var(--light); box-shadow:0 2px 16px rgba(10,22,40,.06); overflow:hidden; }

.rp-case-head { background:linear-gradient(135deg,var(--navy),var(--navy2)); padding:1.5rem 2rem; display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:1rem; }
.rp-case-id { font-size:.68rem; font-weight:700; color:var(--gold); text-transform:uppercase; letter-spacing:1.5px; margin-bottom:.35rem; }
.rp-case-type { font-family:'Playfair Display',Georgia,serif; font-size:1.2rem; font-weight:700; color:var(--white); margin-bottom:.2rem; }
.rp-case-date { font-size:.77rem; color:rgba(255,255,255,.4); font-weight:300; }
.rp-case-badges { display:flex; flex-direction:column; align-items:flex-end; gap:.45rem; }

.rp-case-body { padding:1.5rem 2rem; }
.rp-case-amount { display:inline-flex; align-items:center; gap:.5rem; background:rgba(201,168,76,.08); border:1px solid rgba(201,168,76,.2); border-radius:8px; padding:.5rem 1rem; font-size:.88rem; color:var(--navy); margin-bottom:1rem; font-weight:500; }
.rp-case-msg { color:var(--gray); font-size:.9rem; line-height:1.7; font-weight:300; margin-bottom:1.25rem; padding-bottom:1.25rem; border-bottom:1px solid var(--light); }

/* ── BADGES ── */
.rp-badge { display:inline-block; padding:.3rem .9rem; border-radius:20px; font-size:.72rem; font-weight:700; letter-spacing:.3px; }
.rp-b-new  { background:rgba(201,168,76,.18); color:#a07820; border:1px solid rgba(201,168,76,.3); }
.rp-b-prog { background:rgba(34,113,177,.15); color:#1a5d9b; border:1px solid rgba(34,113,177,.25); }
.rp-b-res  { background:rgba(0,135,76,.15); color:#005f35; border:1px solid rgba(0,135,76,.25); }
.rp-b-cls  { background:rgba(100,100,100,.1); color:#555; border:1px solid rgba(100,100,100,.2); }
.rp-p-pend { background:rgba(201,168,76,.12); color:#a07820; border:1px solid rgba(201,168,76,.25); }
.rp-p-recv { background:rgba(0,135,76,.12); color:#005f35; border:1px solid rgba(0,135,76,.2); }
.rp-p-part { background:rgba(34,113,177,.12); color:#1a5d9b; border:1px solid rgba(34,113,177,.2); }

/* ── TIMELINE ── */
.rp-tl { border-left:2px solid var(--light); padding-left:1.5rem; margin-bottom:1.25rem; }
.rp-tl-title { font-size:.7rem; font-weight:700; color:var(--gold); text-transform:uppercase; letter-spacing:1px; margin-bottom:.85rem; }
.rp-tl-item { position:relative; margin-bottom:1.1rem; }
.rp-tl-dot { width:11px; height:11px; background:var(--gold); border-radius:50%; position:absolute; left:-1.93rem; top:3px; border:2px solid var(--white); box-shadow:0 0 0 2px var(--gold); }
.rp-tl-text { color:var(--navy); font-size:.87rem; line-height:1.6; }
.rp-tl-date { color:var(--gray); font-size:.74rem; margin-top:.15rem; font-weight:300; }

/* ── CLIENT NOTE ── */
.rp-cnote { background:linear-gradient(135deg,rgba(201,168,76,.07),rgba(201,168,76,.02)); border-left:3px solid var(--gold); border-radius:0 10px 10px 0; padding:1rem 1.25rem; margin-bottom:1rem; }
.rp-cnote strong { display:block; color:var(--gold); font-size:.7rem; text-transform:uppercase; letter-spacing:.8px; margin-bottom:.4rem; font-weight:700; }
.rp-cnote-body { color:var(--navy); font-size:.88rem; line-height:1.65; }

/* ── RECOVERED BANNER ── */
.rp-recovered-banner { background:linear-gradient(135deg,#005f35,#00a85a); border-radius:16px; padding:1.75rem 2rem; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1.25rem; margin-top:1rem; box-shadow:0 6px 24px rgba(0,95,53,.25); position:relative; overflow:hidden; }
.rp-recovered-banner::before { content:''; position:absolute; top:-50px; right:-50px; width:180px; height:180px; border-radius:50%; background:rgba(255,255,255,.06); }
.rp-rec-left { position:relative; z-index:1; }
.rp-rec-badge { display:inline-flex; align-items:center; gap:.4rem; background:rgba(255,255,255,.15); border-radius:20px; padding:.25rem .8rem; font-size:.68rem; font-weight:700; color:#fff; text-transform:uppercase; letter-spacing:.8px; margin-bottom:.6rem; }
.rp-rec-title { font-family:'Playfair Display',Georgia,serif; font-size:1.1rem; font-weight:700; color:#fff; margin-bottom:.3rem; }
.rp-rec-desc { font-size:.82rem; color:rgba(255,255,255,.7); font-weight:300; max-width:360px; line-height:1.55; }
.rp-rec-amount { text-align:right; position:relative; z-index:1; }
.rp-rec-label { font-size:.68rem; color:rgba(255,255,255,.55); text-transform:uppercase; letter-spacing:.8px; margin-bottom:.3rem; font-weight:600; }
.rp-rec-value { font-family:'Playfair Display',Georgia,serif; font-size:2.4rem; font-weight:900; color:#fff; line-height:1; }
.rp-rec-sub { font-size:.74rem; color:rgba(255,255,255,.5); margin-top:.25rem; }

/* ── FOOTER ── */
.rp-dash-foot { text-align:center; color:var(--gray); font-size:.85rem; margin-top:2.5rem; padding-top:1.5rem; border-top:1px solid var(--light); }
.rp-dash-foot a { color:var(--gold); font-weight:600; text-decoration:none; }

/* ══════════════════════════════════════
   ADMIN
══════════════════════════════════════ */
.rp-wrap-admin h1 { font-size:1.6rem; margin-bottom:20px; color:#0a1628; }
.rp-a-stats { display:flex; gap:14px; margin-bottom:24px; flex-wrap:wrap; }
.rp-a-stat { background:#0a1628; color:#fff; padding:14px 24px; border-radius:10px; text-align:center; min-width:100px; }
.rp-a-stat.rp-gold { background:#c9a84c; color:#0a1628; }
.rp-a-stat.rp-blue { background:#2271b1; }
.rp-a-stat.rp-green { background:#00a32a; }
.rp-a-n { display:block; font-size:1.9rem; font-weight:700; }
.rp-a-table { border-radius:8px; overflow:hidden; }
.rp-a-table th { background:#0a1628; color:#fff; padding:11px 13px; font-size:.82rem; }
.rp-a-table td { padding:11px 13px; vertical-align:middle; }
.rp-b { display:inline-block; padding:3px 11px; border-radius:20px; font-size:.75rem; font-weight:700; }
.rp-s-new  { background:#fff3cd; color:#856404; }
.rp-s-prog { background:#cce5ff; color:#004085; }
.rp-s-res  { background:#d4edda; color:#155724; }
.rp-s-cls  { background:#e2e3e5; color:#383d41; }
.rp-p-pend { background:#fff3cd; color:#856404; }
.rp-p-recv { background:#d4edda; color:#155724; }
.rp-p-part { background:#cce5ff; color:#004085; }
.rp-a-case-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:22px; align-items:start; }
.rp-a-box { background:#fff; border-radius:12px; padding:22px; border:1px solid #e8edf5; margin-bottom:18px; }
.rp-a-box h3 { font-size:1rem; font-weight:700; color:#0a1628; margin-bottom:14px; padding-bottom:10px; border-bottom:2px solid #e8edf5; }
.rp-info-tbl { width:100%; border-collapse:collapse; }
.rp-info-tbl th { width:35%; font-size:.8rem; font-weight:700; color:#8892a4; text-transform:uppercase; letter-spacing:.5px; padding:7px 0; vertical-align:top; }
.rp-info-tbl td { color:#0a1628; font-size:.88rem; padding:7px 0; }
.rp-a-field { margin-bottom:14px; }
.rp-a-field label { display:block; font-size:.78rem; font-weight:700; color:#0a1628; margin-bottom:5px; text-transform:uppercase; letter-spacing:.4px; }
.rp-a-field label small { font-size:.73rem; color:#8892a4; text-transform:none; letter-spacing:0; font-weight:400; }
.rp-a-field select,.rp-a-field textarea,.rp-a-field input { width:100%; padding:9px 11px; border:1.5px solid #e8edf5; border-radius:8px; font-size:.88rem; font-family:inherit; outline:none; transition:border-color .2s; }
.rp-a-field select:focus,.rp-a-field textarea:focus,.rp-a-field input:focus { border-color:#c9a84c; }
.rp-a-field textarea { resize:vertical; min-height:85px; }
.rp-a-tl { border-left:2px solid #e8edf5; padding-left:16px; }
.rp-a-tl-item { position:relative; margin-bottom:14px; }
.rp-a-tl-dot { width:10px; height:10px; background:#c9a84c; border-radius:50%; position:absolute; left:-21px; top:4px; }
.rp-a-tl-item p { margin:0 0 3px; color:#0a1628; font-size:.86rem; line-height:1.5; }
.rp-a-tl-item small { color:#8892a4; font-size:.76rem; }

/* ══════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════ */
@media(max-width:768px) {
  .rp-stats { grid-template-columns:1fr 1fr; }
  .rp-money-row { grid-template-columns:1fr; }
  .rp-row { grid-template-columns:1fr; }
  .rp-auth-card,.rp-form-card { padding:1.75rem; }
  .rp-case-head { flex-direction:column; }
  .rp-case-badges { align-items:flex-start; }
  .rp-recovered-banner { flex-direction:column; }
  .rp-rec-amount { text-align:left; }
  .rp-a-case-grid { grid-template-columns:1fr; }
  .rp-dash-bar { height:auto; padding:12px 4%; flex-wrap:wrap; gap:8px; }
  .rp-credit-card { min-height:160px; }
  .rp-cc-amount { font-size:1.7rem; }
}
@media(max-width:480px) {
  .rp-stats { grid-template-columns:1fr 1fr; }
}
