/* BANQUEEN Partner Dashboard Theme v2.0 */
:root{
  --bq-primary:#00B67A;
  --bq-primary-dark:#009b66;
  --bq-primary-light:#e6f9f1;
  --bq-secondary:#0F172A;
  --bq-bg:#F8FAFC;
  --bq-card:#fff;
  --bq-border:rgba(15,23,42,.06);
  --bq-shadow:0 10px 30px rgba(15,23,42,.06);
  --bq-shadow-lg:0 20px 50px rgba(15,23,42,.1);
  --bq-radius:16px;
  --bq-transition:all .25s cubic-bezier(.25,.8,.25,1);
  --bq-text:#1e293b;
  --bq-muted:#64748b;
  --bq-success:#22c55e;
  --bq-warning:#f59e0b;
  --bq-danger:#ef4444;
  --bq-info:#3b82f6;
}

body.app-body{
  background:var(--bq-bg);
  color:var(--bq-text);
  font-family:'Inter',sans-serif;
}

h1,h2,h3,h4,h5,h6{font-family:'Poppins',sans-serif;letter-spacing:-.02em;}

a{color:var(--bq-primary-dark);transition:var(--bq-transition);}
a:hover{color:var(--bq-primary);}

/* Sticky topbar */
.app-topbar{
  height:70px;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--bq-border);
  box-shadow:0 4px 20px rgba(15,23,42,.03);
  padding:0 1.5rem;
  position:sticky;
  top:0;
  z-index:1030;
}

.app-topbar-title{font-family:'Poppins',sans-serif;font-weight:600;font-size:clamp(.95rem,4vw,1.1rem);color:var(--bq-secondary);min-width:0;flex:1;margin-right:.75rem;overflow-wrap:anywhere;}

.welcome-msg{font-size:.9rem;color:var(--bq-muted);line-height:1.3;}
.welcome-msg strong{display:block;font-size:1.05rem;color:var(--bq-secondary);font-weight:600;}

.topbar-action{
  width:42px;height:42px;border-radius:50%;background:#fff;
  border:1px solid var(--bq-border);color:var(--bq-secondary);
  display:inline-flex;align-items:center;justify-content:center;
  margin-left:.6rem;transition:var(--bq-transition);position:relative;
}
.topbar-action:hover{background:var(--bq-primary-light);color:var(--bq-primary);border-color:var(--bq-primary-light);transform:translateY(-2px);}

/* Sidebar */
.sidebar{
  width:270px;background:var(--bq-card);
  border-right:1px solid var(--bq-border);
  box-shadow:var(--bq-shadow);
  z-index:1040;
}
.sidebar-brand{padding:1.1rem 1.25rem;border-bottom:1px solid var(--bq-border);}
.sidebar-brand a{color:var(--bq-secondary);font-size:1.15rem;}
.sidebar-brand a small{color:var(--bq-primary);font-size:.6em;display:block;margin-top:-3px;}
.sidebar-user{padding:1rem 1.25rem;background:linear-gradient(135deg,#f0fdf7,#fff);border-bottom:1px solid var(--bq-border);}
.sidebar-user-avatar{width:46px;height:46px;border-radius:50%;background:#e2e8f0;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#64748b;font-size:1.25rem;}
.sidebar-user-avatar img{width:100%;height:100%;object-fit:cover;}
.sidebar-user-info h6{font-size:.95rem;color:var(--bq-secondary);margin-bottom:.1rem;}
.sidebar-user-info small{color:var(--bq-primary);font-size:.75rem;font-weight:500;}
.sidebar-nav{padding:1rem .75rem;flex:1;}
.sidebar-link{display:flex;align-items:center;gap:.8rem;padding:.8rem 1rem;color:#475569;font-weight:500;border-radius:12px;margin-bottom:.25rem;transition:var(--bq-transition);}
.sidebar-link i{font-size:1.15rem;width:22px;text-align:center;}
.sidebar-link:hover,.sidebar-link.active{background:var(--bq-primary-light);color:var(--bq-primary-dark);}
.sidebar-link.active{box-shadow:inset 3px 0 0 var(--bq-primary);}
.sidebar-link .badge{margin-left:auto;}
.sidebar-footer{padding:.75rem;border-top:1px solid var(--bq-border);}

/* Cards */
.retailer-card,.summary-card,.quick-action-card,.offer-card{
  background:var(--bq-card);border:1px solid var(--bq-border);border-radius:var(--bq-radius);
  box-shadow:var(--bq-shadow);transition:var(--bq-transition);height:100%;
}
.retailer-card:hover,.summary-card:hover,.offer-card:hover{transform:translateY(-4px);box-shadow:var(--bq-shadow-lg);}

.summary-card{padding:1.5rem;display:flex;align-items:center;gap:1.1rem;}
.summary-icon{
  width:54px;height:54px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  font-size:1.45rem;flex-shrink:0;
}
.summary-icon.wallet{background:var(--bq-primary-light);color:var(--bq-primary);}
.summary-icon.leads{background:#eff6ff;color:var(--bq-info);}
.summary-icon.pending{background:#fff7ed;color:var(--bq-warning);}
.summary-icon.earnings{background:#f0fdf4;color:var(--bq-success);}
.summary-number{font-size:clamp(1.05rem,4vw,1.7rem);font-weight:700;color:var(--bq-secondary);line-height:1.1;word-break:normal;overflow-wrap:anywhere;}
.summary-label{font-size:clamp(.7rem,2.2vw,.8rem);color:var(--bq-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:500;overflow-wrap:anywhere;}

/* Quick actions */
.quick-actions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(.75rem,3vw,1rem);}
@media(min-width:768px){.quick-actions-grid{grid-template-columns:repeat(4,1fr);}}
.quick-action-card{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;
  padding:clamp(1rem,4vw,1.5rem) clamp(.75rem,3vw,1rem);text-align:center;color:var(--bq-secondary);text-decoration:none;
  border-radius:clamp(14px,4vw,20px);
}
.quick-action-card i{font-size:clamp(1.45rem,6vw,1.8rem);color:var(--bq-primary);transition:var(--bq-transition);}
.quick-action-card span{font-weight:600;font-size:clamp(.82rem,3.2vw,.95rem);}
.quick-action-card:hover{color:var(--bq-primary);transform:translateY(-5px) scale(1.02);box-shadow:var(--bq-shadow-lg);}
.quick-action-card:hover i{transform:scale(1.1);}

/* Tables */
.recent-leads-table{width:100%;border-collapse:separate;border-spacing:0;}
.recent-leads-table th{background:#f8fafc;color:var(--bq-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;font-weight:600;padding:1rem;border-bottom:1px solid var(--bq-border);}
.recent-leads-table td{padding:1rem;border-bottom:1px solid var(--bq-border);vertical-align:middle;font-size:.9rem;overflow-wrap:anywhere;}
.recent-leads-table tbody tr:last-child td{border-bottom:none;}
.recent-leads-table tbody tr:hover{background:#f8fafc;}
.recent-leads-table .status-badge{display:inline-block;padding:.35em .75em;border-radius:50rem;font-size:.75rem;font-weight:600;white-space:normal;overflow-wrap:anywhere;}
.status-approved,.status-disbursed,.status-policy_issued,.status-account_opened{background:#dcfce7;color:#15803d;}
.status-pending,.status-new,.status-assigned,.status-contacted,.status-documents_pending,.status-under_verification,.status-bank_processing{background:#ffedd5;color:#9a3412;}
.status-rejected,.status-closed{background:#fee2e2;color:#b91c1c;}

/* Offer card */
.offer-card{padding:1.25rem;display:flex;align-items:center;gap:1rem;background:linear-gradient(135deg,#fff 0%,#f0fdf7 100%);}
.offer-icon{width:56px;height:56px;border-radius:14px;background:var(--bq-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0;}
.offer-title{font-size:clamp(1rem,4.5vw,1.1rem);font-weight:700;color:var(--bq-secondary);margin-bottom:.2rem;}
.offer-commission{font-size:clamp(.85rem,3.5vw,.95rem);color:var(--bq-muted);margin-bottom:.6rem;}
.offer-commission strong{color:var(--bq-primary);font-size:clamp(1rem,4.5vw,1.1rem);}

/* Notifications */
.notification-list .notification-item{display:flex;align-items:flex-start;gap:.9rem;padding:1rem;border-bottom:1px solid var(--bq-border);transition:var(--bq-transition);}
.notification-list .notification-item:last-child{border-bottom:none;}
.notification-list .notification-item:hover{background:#f8fafc;}
.notification-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;background:#f1f5f9;color:#475569;}
.notification-icon.success{background:#dcfce7;color:#15803d;}
.notification-icon.info{background:#dbeafe;color:#1d4ed8;}
.notification-title{font-size:clamp(.85rem,3.5vw,.9rem);font-weight:600;color:var(--bq-secondary);margin-bottom:.15rem;}
.notification-text{font-size:clamp(.75rem,3vw,.8rem);color:var(--bq-muted);margin-bottom:.15rem;line-height:1.3;}
.notification-time{font-size:clamp(.7rem,2.8vw,.75rem);color:#94a3b8;}

/* Section headers */
.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;}
.section-title{font-size:clamp(1rem,4vw,1.15rem);font-weight:700;color:var(--bq-secondary);margin-bottom:0;}
.section-link{font-size:.85rem;font-weight:600;color:var(--bq-primary);}

/* Buttons */
.btn-retailer-primary,.btn-retailer-outline,.btn-retailer-light{transition:var(--bq-transition);}
.btn-retailer-primary{background:var(--bq-primary);border-color:var(--bq-primary);color:#fff;border-radius:50rem;padding:.65rem 1.5rem;font-weight:600;}
.btn-retailer-primary:hover{background:var(--bq-primary-dark);border-color:var(--bq-primary-dark);color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,182,122,.25);}
.btn-retailer-outline{border:2px solid var(--bq-primary);color:var(--bq-primary);border-radius:50rem;padding:.6rem 1.4rem;font-weight:600;background:transparent;}
.btn-retailer-outline:hover{background:var(--bq-primary);color:#fff;}
.btn-retailer-light{background:var(--bq-primary-light);color:var(--bq-primary-dark);border:none;border-radius:50rem;padding:.6rem 1.4rem;font-weight:600;}
.btn-retailer-light:hover{background:#d1fae5;}

/* KYC alert */
.kyc-alert{background:linear-gradient(90deg,#fffbeb,#fff);border:1px solid #fde68a;border-radius:var(--bq-radius);}

/* Skeleton loader */
.skeleton{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%);background-size:200% 100%;animation:skeleton 1.2s infinite;border-radius:8px;}
.skeleton-card{height:100px;border-radius:var(--bq-radius);margin-bottom:1rem;}
.skeleton-text{height:14px;margin-bottom:8px;border-radius:4px;}
.skeleton-title{height:18px;width:60%;margin-bottom:12px;}
@keyframes skeleton{0%{background-position:200% 0;}100%{background-position:-200% 0;}}

/* Lazy load images */
img[loading="lazy"]{opacity:0;transition:opacity .3s ease;}
img[loading="lazy"].loaded{opacity:1;}

/* Animations */
@keyframes fadeInUp{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);}}
.animate-fade{animation:fadeInUp .5s ease both;}
.delay-1{animation-delay:.05s;}
.delay-2{animation-delay:.1s;}
.delay-3{animation-delay:.15s;}
.delay-4{animation-delay:.2s;}

/* Profile page */
.profile-avatar{
  width:100px;height:100px;border-radius:50%;background:#e2e8f0;display:flex;align-items:center;justify-content:center;
  overflow:hidden;color:#64748b;font-size:2.5rem;position:relative;margin:0 auto 1rem;
}
.profile-avatar img{width:100%;height:100%;object-fit:cover;}
.profile-card{padding:1.5rem;}

/* Responsive */
@media (max-width:991.98px){
  .sidebar{transform:translateX(-100%);box-shadow:2px 0 30px rgba(15,23,42,.12);}
  .sidebar.show{transform:translateX(0);}
  .app-main,.app-footer{margin-left:0;}
  .welcome-msg{display:none;}
}

@media (min-width:992px){
  .sidebar{transform:none!important;}
}

@media (max-width:767.98px){
  .app-topbar{padding:.5rem 1rem;height:auto;min-height:64px;}
  .app-content{padding:1rem;}
  .section-header{flex-wrap:wrap;gap:.5rem;}
  .recent-leads-table thead{display:none;}
  .recent-leads-table td{display:block;width:100%;border-bottom:none;padding:.6rem 1rem;}
  .recent-leads-table td:before{content:attr(data-label);display:block;font-size:.7rem;text-transform:uppercase;color:var(--bq-muted);margin-bottom:.15rem;}
  .recent-leads-table tr{display:block;border-bottom:1px solid var(--bq-border);padding:.5rem 0;}
}

@media (max-width:575.98px){
  .summary-card{flex-direction:column;align-items:center;text-align:center;padding:1rem .75rem;gap:.75rem;}
  .summary-icon{width:clamp(40px,12vw,54px);height:clamp(40px,12vw,54px);font-size:clamp(1.15rem,4vw,1.45rem);}
  .quick-actions-grid{grid-template-columns:repeat(2,1fr);}
  .offer-card{flex-direction:column;align-items:center;text-align:center;gap:.75rem;padding:1rem;}
  .offer-icon{width:clamp(48px,14vw,56px);height:clamp(48px,14vw,56px);font-size:clamp(1.35rem,5vw,1.5rem);}
  .notification-icon{width:clamp(34px,10vw,40px);height:clamp(34px,10vw,40px);font-size:clamp(1rem,3.5vw,1.1rem);}
  .notification-list .notification-item{padding:.75rem;gap:.75rem;}
}
