/*!
 * AFSocial UI v2 — modern SaaS refinement layer.
 * AFSocial is a property of Afrifounders.
 *
 * Loaded AFTER afsocial-theme.css so it refines (not replaces) the first pass.
 * Restyles the shared AdminLTE/Bootstrap 3 markup — sidebar, topbar, cards,
 * tables, forms, buttons, chips — and adds a few reusable components
 * (provider groups, supports chips, empty state, readiness strip, banners).
 * No external assets; system font stack; no CDN dependency. UI only.
 */

:root {
  --afs-navy-1:#141a33;
  --afs-navy-2:#1c2444;
  --afs-primary:#4f46e5;
  --afs-primary-700:#4338ca;
  --afs-primary-800:#3730a3;
  --afs-primary-050:#eef2ff;
  --afs-primary-100:#e0e7ff;
  --afs-bg:#f5f7fb;
  --afs-surface:#ffffff;
  --afs-border:#e6e8f0;
  --afs-border-2:#eef0f6;
  --afs-text:#1f2733;
  --afs-muted:#667085;
  --afs-success:#16a34a; --afs-success-bg:#dcfce7; --afs-success-fg:#166534;
  --afs-warning:#b45309; --afs-warning-bg:#fef3c7; --afs-warning-fg:#92400e;
  --afs-danger:#dc2626;  --afs-danger-bg:#fee2e2;  --afs-danger-fg:#991b1b;
  --afs-info-bg:#e0e7ff; --afs-info-fg:#3730a3;
  --afs-r:12px; --afs-r-sm:8px;
  --afs-sh:0 1px 3px rgba(16,24,40,.06),0 1px 2px rgba(16,24,40,.04);
  --afs-sh-md:0 8px 24px rgba(16,24,40,.10);
}

/* ---------- Base type ---------- */
body, body.skin-blue {
  font-family:"Segoe UI",Roboto,"Helvetica Neue",Arial,"Source Sans Pro",sans-serif;
  background:var(--afs-bg) !important; color:var(--afs-text);
  -webkit-font-smoothing:antialiased;
}
.content-wrapper { background:var(--afs-bg) !important; }

/* ---------- Sidebar (deeper navy, stronger active) ---------- */
.skin-blue .main-sidebar,.main-sidebar,.left-side {
  background:linear-gradient(180deg,var(--afs-navy-1),var(--afs-navy-2)) !important;
}
.skin-blue .sidebar-menu > li.header,.sidebar-menu > li.header {
  color:#7f83a8 !important; font-size:10.5px; letter-spacing:.14em; padding:18px 18px 6px;
}
.skin-blue .sidebar-menu > li > a,.sidebar-menu > li > a {
  color:#c9cce6 !important; padding:11px 16px; font-weight:600; margin:1px 8px; border-radius:9px;
  border-left:0 !important;
}
.sidebar-menu > li > a > .fa,.sidebar-menu > li > a > i { color:#8a8fb8; width:22px; font-size:15px; }
.skin-blue .sidebar-menu > li:hover > a,.sidebar-menu > li:hover > a { background:rgba(255,255,255,.06) !important; color:#fff !important; }
.skin-blue .sidebar-menu > li.active > a,.sidebar-menu > li.active > a {
  background:linear-gradient(90deg,rgba(99,102,241,.30),rgba(99,102,241,.12)) !important;
  color:#fff !important; box-shadow:inset 3px 0 0 var(--afs-primary);
}
.sidebar-menu > li.active > a > i,.sidebar-menu > li:hover > a > i { color:#a5b4fc; }

/* ---------- Topbar ---------- */
.main-header .navbar,.skin-blue .main-header .navbar { background:var(--afs-surface) !important; box-shadow:var(--afs-sh); }
.main-header { border-bottom:1px solid var(--afs-border); }
.afs-wordmark .afs-badge { border-radius:9px; }
.user-menu > a { font-weight:600; }

/* ---------- Page header + content spacing ---------- */
.content-header { padding:24px 24px 4px; }
.content-header > h1 { font-size:23px; font-weight:800; letter-spacing:-.01em; }
.content-header > h1 > small { color:var(--afs-muted); font-weight:500; }
.content { padding:14px 24px 30px; }

/* ---------- Cards ---------- */
.box {
  background:var(--afs-surface); border:1px solid var(--afs-border); border-radius:var(--afs-r) !important;
  box-shadow:var(--afs-sh); margin-bottom:20px; border-top-width:1px !important;
}
.box.box-primary,.box.box-info,.box.box-success,.box.box-warning,.box.box-danger,.box.box-default {
  border-top-color:var(--afs-border) !important;
}
.box.box-primary { border-top:2px solid var(--afs-primary) !important; }
.box > .box-header { padding:16px 18px 8px; }
.box > .box-header .box-title { font-size:15px; font-weight:700; }
.box > .box-header.with-border { border-bottom:1px solid var(--afs-border-2); }
.box-body { padding:16px 18px; }
.afs-card { background:var(--afs-surface); border:1px solid var(--afs-border); border-radius:var(--afs-r); box-shadow:var(--afs-sh); }

/* ---------- Stat tiles ---------- */
.afs-stat .afs-stat-value { font-size:26px; font-weight:800; }
.afs-stat .afs-stat-ico { border-radius:11px; background:var(--afs-primary-050); color:var(--afs-primary-700); }

/* ---------- Buttons (clear hierarchy) ---------- */
.btn { border-radius:var(--afs-r-sm); font-weight:600; box-shadow:none; }
.btn-primary { background:var(--afs-primary); border-color:var(--afs-primary); }
.btn-primary:hover,.btn-primary:focus,.btn-primary:active { background:var(--afs-primary-700); border-color:var(--afs-primary-700); }
.btn-default { background:#fff; border-color:var(--afs-border); color:var(--afs-text); }
.btn-default:hover { background:var(--afs-primary-050); border-color:#c7d2fe; color:var(--afs-primary-800); }
.btn-warning { background:var(--afs-warning); border-color:var(--afs-warning); color:#fff; }
.btn-danger { background:var(--afs-danger); border-color:var(--afs-danger); color:#fff; }
.btn-success { background:var(--afs-success); border-color:var(--afs-success); color:#fff; }
.btn-ghost { background:transparent; border-color:transparent; color:var(--afs-primary-700); }
.btn-ghost:hover { background:var(--afs-primary-050); color:var(--afs-primary-800); }

/* ---------- Chips / pills (single meaning per colour) ---------- */
.afs-pill,.afs-chip { display:inline-block; font-size:11px; font-weight:700; padding:.28em .65em; border-radius:999px; line-height:1.4; letter-spacing:.01em; }
.afs-pill.ok,.afs-chip.ok       { background:var(--afs-success-bg); color:var(--afs-success-fg); }
.afs-pill.warn,.afs-chip.warn   { background:var(--afs-warning-bg); color:var(--afs-warning-fg); }
.afs-pill.off,.afs-chip.off     { background:#eef0f5; color:#475467; }
.afs-pill.info,.afs-chip.info   { background:var(--afs-info-bg); color:var(--afs-info-fg); }
.afs-pill.danger,.afs-chip.danger { background:var(--afs-danger-bg); color:var(--afs-danger-fg); }
.afs-chip .fa { font-size:10px; margin-right:3px; }
.label { border-radius:999px; font-weight:700; padding:.3em .65em; }

/* supports chips (text/image/video/link) */
.afs-supports { display:flex; flex-wrap:wrap; gap:6px; }
.afs-supports .afs-sup { font-size:11px; font-weight:600; color:var(--afs-muted); background:#f3f4f8;
  border:1px solid var(--afs-border-2); border-radius:7px; padding:2px 8px; display:inline-flex; align-items:center; gap:5px; }
.afs-supports .afs-sup .fa { color:var(--afs-primary); font-size:11px; }

/* ---------- Provider groups + cards ---------- */
.afs-group { margin-bottom:26px; }
.afs-group-head { display:flex; align-items:baseline; gap:10px; margin:4px 2px 12px; flex-wrap:wrap; }
.afs-group-head .afs-group-title { font-size:14px; font-weight:800; letter-spacing:.02em; text-transform:uppercase; color:var(--afs-text); }
.afs-group-head .afs-group-desc { color:var(--afs-muted); font-size:13px; }
.afs-provider-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:16px; }
.afs-provider-card { background:var(--afs-surface); border:1px solid var(--afs-border); border-radius:var(--afs-r);
  box-shadow:var(--afs-sh); padding:18px; display:flex; flex-direction:column; gap:12px; transition:box-shadow .15s,border-color .15s,transform .15s; }
.afs-provider-card:hover { box-shadow:var(--afs-sh-md); border-color:#c7d2fe; transform:translateY(-1px); }
.afs-provider-card .afs-pc-head { display:flex; align-items:center; gap:12px; }
.afs-provider-card .afs-pc-ico { width:44px; height:44px; border-radius:11px; display:grid; place-items:center; font-size:20px; color:#fff; flex:0 0 auto; box-shadow:var(--afs-sh); }
.afs-provider-card .afs-pc-name { font-weight:800; font-size:15px; }
.afs-provider-card .afs-pc-mode { color:var(--afs-muted); font-size:12px; }
.afs-provider-card .afs-pc-body { color:var(--afs-muted); font-size:13px; flex:1 1 auto; line-height:1.5; }
.afs-provider-card .afs-pc-meta { display:flex; align-items:center; justify-content:space-between; gap:8px; flex-wrap:wrap; }
.afs-provider-card .afs-pc-foot { display:flex; align-items:center; justify-content:space-between; gap:8px; border-top:1px solid var(--afs-border-2); padding-top:12px; }
.afs-provider-card .afs-pc-foot .afs-guide { font-size:12.5px; }

/* provider brand icon colours */
.pc-facebook{background:#1877f2}.pc-instagram{background:linear-gradient(45deg,#f58529,#dd2a7b,#8134af)}
.pc-threads{background:#000}.pc-linkedin{background:#0a66c2}.pc-youtube{background:#ff0000}
.pc-tiktok{background:#010101}.pc-x_twitter{background:#000}.pc-pinterest{background:#e60023}
.pc-google_business{background:#4285f4}.pc-wordpress{background:#21759b}.pc-blogger{background:#ff5722}
.pc-tumblr{background:#36465d}.pc-reddit{background:#ff4500}

/* ---------- Readiness strip (dashboard) ---------- */
.afs-ready { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; }
.afs-ready .afs-ready-item { background:var(--afs-surface); border:1px solid var(--afs-border); border-radius:var(--afs-r);
  padding:14px 16px; display:flex; flex-direction:column; gap:2px; box-shadow:var(--afs-sh); }
.afs-ready .afs-ready-num { font-size:22px; font-weight:800; line-height:1.1; }
.afs-ready .afs-ready-lab { font-size:12.5px; color:var(--afs-muted); font-weight:600; }
.afs-ready .afs-ready-item.tone-ok .afs-ready-num { color:var(--afs-success); }
.afs-ready .afs-ready-item.tone-warn .afs-ready-num { color:var(--afs-warning); }
.afs-ready .afs-ready-item.tone-info .afs-ready-num { color:var(--afs-primary-700); }

/* ---------- Empty state ---------- */
.afs-empty { text-align:center; padding:34px 18px; color:var(--afs-muted); }
.afs-empty .afs-empty-ico { width:56px; height:56px; border-radius:16px; display:inline-grid; place-items:center;
  background:var(--afs-primary-050); color:var(--afs-primary-700); font-size:24px; margin-bottom:12px; }
.afs-empty h4 { color:var(--afs-text); font-weight:800; margin:0 0 6px; }
.afs-empty p { margin:0 auto 14px; max-width:440px; }

/* ---------- Onboarding banner ---------- */
.afs-banner { display:flex; gap:14px; align-items:flex-start; border:1px solid var(--afs-border); border-left-width:4px;
  border-radius:var(--afs-r); padding:16px 18px; background:var(--afs-surface); box-shadow:var(--afs-sh); margin-bottom:18px; }
.afs-banner .afs-banner-ico { font-size:20px; margin-top:2px; }
.afs-banner h4 { margin:0 0 4px; font-weight:800; font-size:15px; }
.afs-banner p { margin:0; color:var(--afs-muted); }
.afs-banner.tone-info { border-left-color:var(--afs-primary); background:var(--afs-primary-050); }
.afs-banner.tone-info .afs-banner-ico { color:var(--afs-primary-700); }
.afs-banner.tone-ok { border-left-color:var(--afs-success); background:#f0fdf4; }
.afs-banner.tone-ok .afs-banner-ico { color:var(--afs-success); }
.afs-banner.tone-warn { border-left-color:var(--afs-warning); background:#fffbeb; }
.afs-banner.tone-warn .afs-banner-ico { color:var(--afs-warning); }

/* ---------- Tables ---------- */
.table > thead > tr > th { border-bottom:1px solid var(--afs-border); color:var(--afs-muted);
  font-size:11.5px; text-transform:uppercase; letter-spacing:.04em; font-weight:700; }
.table > tbody > tr > td { border-top:1px solid var(--afs-border-2); vertical-align:middle; }
.table-hover > tbody > tr:hover { background:var(--afs-primary-050); }
.afs-table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; border-radius:var(--afs-r); }

/* ---------- Forms ---------- */
.form-control { border-radius:var(--afs-r-sm); border:1px solid var(--afs-border); height:40px; box-shadow:none; }
.form-control:focus { border-color:var(--afs-primary); box-shadow:0 0 0 3px rgba(79,70,229,.15); }
label { font-weight:600; }
.help-block { color:var(--afs-muted); }

/* ---------- Alerts / callouts ---------- */
.callout,.alert { border-radius:var(--afs-r); }
.callout { border:1px solid var(--afs-border); border-left-width:4px; box-shadow:var(--afs-sh); }
.callout.callout-info { border-left-color:var(--afs-primary); background:var(--afs-primary-050); }
.callout.callout-warning { border-left-color:var(--afs-warning); background:#fffbeb; }
.callout.callout-success { border-left-color:var(--afs-success); background:#f0fdf4; }
.callout.callout-danger { border-left-color:var(--afs-danger); background:#fef2f2; }

/* ---------- Login page (apply theme here too) ---------- */
.login-page,.hold-transition.login-page { background:var(--afs-bg) !important; font-family:"Segoe UI",Roboto,Arial,sans-serif; }
.login-page .bg-plum-plate,.login-logo-inner { background:linear-gradient(160deg,var(--afs-navy-1),var(--afs-primary-700)) !important; }
.login-brand-text { color:#fff !important; }
.login-box { border-radius:var(--afs-r); }
.login-text { font-weight:800; }
.login-box-body .form-control { height:44px; }
.login-box-body .btn-primary,.sign-in-btn .btn-primary { width:100%; height:46px; font-size:15px; border-radius:var(--afs-r-sm); background:var(--afs-primary); border-color:var(--afs-primary); }
.login-box-body .btn-primary:hover { background:var(--afs-primary-700); }

/* ---------- Footer ---------- */
.main-footer { background:#fff; border-top:1px solid var(--afs-border); color:var(--afs-muted); }

/* ---------- Misc ---------- */
code { background:var(--afs-primary-050); color:var(--afs-primary-800); border-radius:6px; padding:2px 6px; }
.text-green{color:var(--afs-success) !important;} .text-red{color:var(--afs-danger) !important;}

/* ---------- Responsive ---------- */
@media (max-width:991px){
  .content,.content-header{ padding-left:16px; padding-right:16px; }
}
@media (max-width:767px){
  .content,.content-header{ padding-left:13px; padding-right:13px; }
  .content-header > h1 { font-size:20px; }
  .afs-provider-grid{ grid-template-columns:1fr; }
  .afs-ready{ grid-template-columns:1fr 1fr; }
  .afs-group-head{ flex-direction:column; gap:2px; }
  /* Stack action buttons full-width on the smallest screens */
  .box-body .btn:not(.btn-xs):not(.btn-sm){ display:block; width:100%; margin:6px 0 0; }
  .box-body .btn:first-child{ margin-top:0; }
  .afs-provider-card .afs-pc-foot{ flex-direction:column; align-items:stretch; gap:8px; }
  .afs-provider-card .afs-pc-foot .btn{ width:100%; }
  .table > thead > tr > th,.table > tbody > tr > td{ white-space:nowrap; }
}
