/* =====================================================================
   Affirm Consult — admin panel
   Same tokens as the client dashboard (dashboard.css), staff-only chrome.
   ===================================================================== */
body.admin{background:var(--paper)}

.adm-shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}
.adm-side{position:fixed;top:0;left:0;bottom:0;width:230px;background:var(--ink);color:var(--paper);display:flex;flex-direction:column;padding:22px 0;z-index:40}
.adm-side .brand-mini{padding:6px 22px 22px;border-bottom:1px solid rgba(243,239,230,.12);margin-bottom:14px}
.adm-side .brand-mini .wordmark .wm-1{color:var(--paper)}
.adm-side .brand-mini .wordmark .wm-2{color:rgba(243,239,230,.6)}
.adm-tag{display:inline-block;margin-top:10px;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-2);background:rgba(156,123,62,.18);padding:3px 9px;border-radius:20px}
.adm-nav{display:flex;flex-direction:column;gap:2px;padding:0 12px;flex:1}
.adm-nav .an{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:7px;font-size:.87rem;font-weight:500;color:rgba(243,239,230,.65);cursor:pointer;transition:.2s}
.adm-nav .an svg{width:17px;height:17px;flex-shrink:0}
.adm-nav .an:hover{background:rgba(243,239,230,.06);color:var(--paper)}
.adm-nav .an.active{background:rgba(243,239,230,.1);color:var(--paper)}
.adm-nav .an .cnt{margin-left:auto;font-size:.68rem;font-weight:700;background:var(--down);color:#fff;padding:1px 7px;border-radius:20px}
.adm-foot{padding:16px 20px 4px;border-top:1px solid rgba(243,239,230,.12);margin-top:10px}
.adm-who{font-size:.78rem;color:rgba(243,239,230,.55);margin-bottom:10px}
.adm-who b{color:var(--paper);display:block;font-size:.86rem;margin-bottom:2px}
.adm-out{display:flex;align-items:center;gap:8px;font-size:.78rem;color:rgba(243,239,230,.55);cursor:pointer;padding:6px 0}
.adm-out:hover{color:#fff}

.adm-main{grid-column:2;min-width:0;margin-left:230px}
.adm-top{position:sticky;top:0;z-index:20;background:rgba(243,239,230,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);height:64px;display:flex;align-items:center;gap:16px;padding:0 30px}
.adm-top h1{font-family:'Cormorant Garamond',serif;font-size:1.4rem}
.adm-view{padding:28px 30px 60px;max-width:1400px}

/* Auth gate */
.adm-gate{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}
.adm-gate-card{max-width:380px;width:100%;background:var(--card,#fbf9f4);border:1px solid var(--line);border-radius:16px;padding:38px 34px;box-shadow:0 20px 50px rgba(23,20,15,.1)}
.adm-gate-card .brand{margin-bottom:26px}
.adm-gate-card h1{font-size:1.7rem;margin-bottom:8px}
.adm-gate-card p{color:var(--soft);font-size:.9rem;margin-bottom:24px}
.adm-gate-err{display:none;background:rgba(166,64,47,.1);border:1px solid rgba(166,64,47,.3);color:#7d2c20;border-radius:8px;padding:12px 14px;font-size:.85rem;margin-bottom:18px}
.adm-gate-err.show{display:block}

/* Stat cards */
.adm-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:26px}
.adm-stat{background:var(--card,#fbf9f4);border:1px solid var(--line);border-radius:12px;padding:20px}
.adm-stat.warn{border-color:rgba(156,123,62,.4);background:rgba(156,123,62,.05)}
.adm-stat.danger{border-color:rgba(166,64,47,.35);background:rgba(166,64,47,.05)}
.adm-stat .l{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.adm-stat .v{font-family:'Cormorant Garamond',serif;font-size:2rem;color:var(--ink);line-height:1;font-variant-numeric:tabular-nums}

/* Search */
.adm-search{position:relative;max-width:320px;margin-bottom:18px}
.adm-search input{width:100%;padding:10px 14px 10px 36px;border:1px solid var(--line);border-radius:9px;background:var(--card,#fbf9f4);font-size:.88rem;outline:none;transition:border-color .2s}
.adm-search input:focus{border-color:var(--forest)}
.adm-search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--muted)}

/* Client row / detail */
.adm-tier{font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:20px;background:var(--card-2,#f6f2e8);color:var(--soft)}
.adm-tier.pw,.adm-tier.fo{background:rgba(156,123,62,.16);color:var(--gold)}
.kyc-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px}
.kyc-dot.ok{background:var(--up)}.kyc-dot.pend{background:var(--gold)}.kyc-dot.no{background:var(--down)}

.adm-detail{display:grid;grid-template-columns:1fr 1.3fr;gap:20px;align-items:start}
.adm-kyc-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.adm-kyc-c{border:1px solid var(--line);border-radius:10px;padding:14px}
.adm-kyc-c .n{font-weight:600;font-size:.86rem;margin-bottom:8px}
.adm-kyc-c select{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:7px;font-size:.82rem;margin-bottom:8px}
.adm-limit-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line-2,#eee)}
.adm-limit-row span:first-child{flex:1;font-size:.85rem}
.adm-limit-row input{width:130px;padding:7px 10px;border:1px solid var(--line);border-radius:7px;font-size:.85rem}

@media(max-width:980px){
  .adm-side{transform:translateX(-100%);transition:transform .3s}
  .adm-side.open{transform:none}
  .adm-main{margin-left:0}
  .adm-stats{grid-template-columns:1fr 1fr}
  .adm-detail{grid-template-columns:1fr}
  .adm-view{padding:20px 16px 50px}
}
