/* GhostStat — Social Media Analytics. Scoped to .gs-so; uses app tokens with fallbacks. */
.gs-so{--a:var(--gs-accent,#1FA463);--a2:#178A52;--line:var(--gs-line,#EAEEF3);--sh:var(--gs-shadow,0 1px 2px rgba(16,24,40,.04));font-family:'Open Sans',system-ui,sans-serif;color:#1b2434}
.gs-so .head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}
.gs-so .crumb{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#8C95A1;display:flex;align-items:center;gap:6px}
.gs-so h1{font-size:22px;font-weight:800;margin:2px 0 0;letter-spacing:-.02em}
.gs-so .head-actions{display:flex;align-items:center;gap:8px}
.gs-so .mb-pill{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:7px 13px;font-size:13px;font-weight:600;cursor:pointer}
.gs-so .btn.text{background:none;border:0;color:#5b6472;font-size:13px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.gs-so .btn.primary{background:var(--a);color:#fff;border:0;border-radius:8px;padding:9px 16px;font-weight:700;font-size:13px;cursor:pointer}
.gs-so .btn.primary:hover{background:var(--a2)}
.gs-so .rangepick{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 30px rgba(16,24,40,.12);padding:8px;min-width:180px}
.gs-so .rp-presets{display:flex;flex-direction:column}
.gs-so .rm{background:none;border:0;text-align:left;padding:8px 10px;border-radius:7px;font-size:13px;cursor:pointer;color:#243247}
.gs-so .rm:hover{background:#F4F7FA}.gs-so .rm.on{background:#EAF7F0;color:var(--a2);font-weight:700}
.gs-so .mb-3{margin-bottom:14px}
.gs-so .gs-muted{color:#8C95A1}.gs-so .small{font-size:12px}
.gs-so .gsi{margin-right:2px;vertical-align:-.15em}

.gs-so .so-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px}
.gs-so .kpi{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--sh);padding:14px 16px}
.gs-so .kpi .l{font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:700;color:#8C95A1}
.gs-so .kpi .v{font-size:24px;font-weight:800;margin-top:4px;letter-spacing:-.02em}

.gs-so .chartcard{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--sh);overflow:hidden}
.gs-so .cc-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line)}
.gs-so .cc-head h5{margin:0;font-size:13px}
.gs-so .empty{padding:20px 16px;text-align:center;color:#9AA3AE;font-size:13px}

.gs-so .so-dist{padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.gs-so .so-drow{display:grid;grid-template-columns:minmax(120px,1.1fr) 2fr minmax(104px,auto);align-items:center;gap:12px}
.gs-so .so-dl{font-size:13px;font-weight:600;display:flex;align-items:center;gap:5px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gs-so .so-dt{height:10px;border-radius:6px;background:#EEF2F7;overflow:hidden}
.gs-so .so-dt>i{display:block;height:100%;border-radius:6px}
.gs-so .so-dv{font-size:12px;color:#5b6472;text-align:right;white-space:nowrap}
.gs-so .so-dv b{color:#111}

.gs-so .so-tblwrap{overflow-x:auto}
.gs-so .so-tbl{width:100%;border-collapse:collapse;font-size:13px}
.gs-so .so-tbl th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#8C95A1;font-weight:700;padding:10px 14px;border-bottom:1px solid var(--line);white-space:nowrap}
.gs-so .so-tbl th.r,.gs-so .so-tbl td.r{text-align:right}
.gs-so .so-tbl td{padding:11px 14px;border-bottom:1px solid #F2F5F8;white-space:nowrap}
.gs-so .so-tbl tbody tr{cursor:pointer}
.gs-so .so-tbl tbody tr:hover{background:#F8FAFC}
.gs-so .so-tbl .pn{font-weight:600;display:flex;align-items:center;gap:6px}
.gs-so .so-tbl .pdot{width:9px;height:9px;border-radius:3px;flex:none}
.gs-so .so-tbl .conv{color:var(--a2);font-weight:700}
.gs-so .so-tbl .num{font-variant-numeric:tabular-nums}

.gs-so .so-drill{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--sh);margin-bottom:14px;overflow:hidden}
.gs-so .so-drill-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line)}
.gs-so .so-drill-name{font-weight:800;display:flex;align-items:center;gap:6px}
.gs-so .so-drill-x{background:none;border:0;color:#8C95A1;cursor:pointer;font-size:15px}
.gs-so .so-drill-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}
.gs-so .so-drill-grid>div{padding:14px 16px}
.gs-so .so-drill-grid>div:first-child{border-right:1px solid var(--line)}
.gs-so .so-sub-h{font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:700;color:#8C95A1;margin-bottom:8px}
.gs-so .so-ref,.gs-so .so-type{display:flex;justify-content:space-between;font-size:13px;padding:5px 0}
.gs-so .so-ref .rh{font-family:ui-monospace,Menlo,monospace;font-size:12px;color:#3a4658;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:70%}
.gs-so .so-ref .rv,.gs-so .so-type .tv{font-weight:700}

.gs-so-widget .sw-top{margin-bottom:8px}
.gs-so-widget .sw-share{font-size:22px;font-weight:800}
.gs-so-widget .sw-lbl{font-size:12px;color:#8C95A1;margin-left:6px}
.gs-so-widget .sw-row{display:flex;align-items:center;gap:8px;font-size:13px;padding:3px 0}
.gs-so-widget .sw-dot{width:9px;height:9px;border-radius:3px;flex:none}
.gs-so-widget .sw-name{flex:1}.gs-so-widget .sw-val{font-weight:700}
.gs-so-widget .sw-empty{color:#9AA3AE;font-size:12px}

.gs-so-settings{max-width:520px}
.gs-so-settings .so-set-row{margin-bottom:14px}
.gs-so-settings label{font-size:13px;font-weight:600;display:block;margin-bottom:5px}
.gs-so-settings input[type=number]{width:120px;padding:8px 10px;border:1px solid var(--line);border-radius:8px}

@media(max-width:860px){.gs-so .so-kpis{grid-template-columns:1fr 1fr}.gs-so .so-drill-grid{grid-template-columns:1fr}.gs-so .so-drill-grid>div:first-child{border-right:0;border-bottom:1px solid var(--line)}}
@media(max-width:560px){.gs-so .so-drow{grid-template-columns:minmax(90px,1fr) 1.4fr auto;gap:8px}}


/* Range picker, ported from ai.css and re-scoped — the markup is identical, only part of
   the styling was ever written here. */
.gs-so .rangepick .rm{display:block;width:100%;text-align:left;padding:8px 10px;border-radius:6px;font-weight:600;font-size:13px;color:#3C4350;border:0;background:none;cursor:pointer}
.gs-so .rangepick .rm:hover{background:#F5F7FA}
.gs-so .rangepick .rm.on{background:var(--a-soft);color:var(--a2)}
.gs-so .rp-custom{border-top:1px solid #EEF1F6;margin-top:6px;padding:10px 10px 8px}
.gs-so .rp-lbl{font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:700;color:#8C95A1;margin-bottom:8px}
.gs-so .rp-dates{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.gs-so .rp-dates input[type=date]{flex:1;min-width:0;height:32px;border:1px solid #D0D4DA;border-radius:6px;padding:0 8px;font-size:12.5px;color:#3C4350;background:#fff}
.gs-so .rp-dates input[type=date]:focus{outline:none;border-color:var(--a);box-shadow:0 0 0 3px rgba(31,164,99,.14)}
.gs-so .rp-arrow{color:#AAB2BD;font-weight:700}
.gs-so .rp-apply{width:100%;height:34px;border:0;border-radius:6px;background:var(--a);color:#fff;font-weight:700;font-size:13px;cursor:pointer}
.gs-so .rp-apply:hover{background:var(--a2)}

/* ── Social Influence Intelligence ──────────────────────────────────────────
   Appended to social.css (the stylesheet pages.php links); si- prefix checked
   against this file's existing class names. */
.si{margin-top:34px;padding-top:26px;border-top:1px solid var(--gs-line,#E6E9EF)}
.si-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.si-eyebrow{font-size:11.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#1FA463}
.si-h{font-size:20px;font-weight:800;letter-spacing:-.01em;margin:2px 0 0}
.si-h3{font-size:15px;font-weight:800;margin:0 0 4px}
.si-tot{font-size:12.5px;color:#8C95A1;font-variant-numeric:tabular-nums}
.si-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(252px,1fr));gap:13px}
.si-card{border:1px solid var(--gs-line,#E6E9EF);border-radius:11px;padding:14px;min-width:0;
  transition:border-color .18s,transform .18s}
.si-card:hover{border-color:rgba(31,164,99,.45);transform:translateY(-2px)}
.si-card-h{display:flex;align-items:center;gap:8px;font-size:14.5px}
.si-card-h b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.si-share{font-weight:700;font-variant-numeric:tabular-nums}
.si-stats{display:flex;flex-wrap:wrap;gap:10px;margin:9px 0 11px;font-size:12px;color:#8C95A1}
.si-tri{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:12px;color:#5C6E88}
.si-tri span{width:60px;flex:none}
.si-tri i{flex:1;height:6px;border-radius:4px;background:#EEF1F6;overflow:hidden;min-width:0}
.si-tri i b{display:block;height:100%;border-radius:4px;transition:width .8s cubic-bezier(.2,.7,.2,1)}
.si-tri em{font-style:normal;font-weight:700;color:#1A1D24;width:26px;text-align:right;font-variant-numeric:tabular-nums}
.si-persona{margin-top:9px;font-size:12.5px;color:#5C6E88}
.si-lands{display:flex;flex-direction:column;gap:4px;margin-top:10px;padding-top:10px;border-top:1px solid var(--gs-line,#E6E9EF)}
.si-land{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#5C6E88;text-decoration:none;min-width:0}
.si-land span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.si-land:hover{color:#1FA463}
.si-land b{font-variant-numeric:tabular-nums;color:#8C95A1;flex:none}
.si-jrow{margin-bottom:13px}
.si-jh{display:flex;align-items:center;gap:7px;font-size:13px;margin-bottom:5px}
.si-jh b{flex:1;min-width:0}
.si-jbar{display:flex;height:9px;border-radius:5px;overflow:hidden;background:#EEF1F6}
.si-jbar i{display:block;height:100%}
.si-jkey{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px;font-size:11.5px;color:#8C95A1;text-transform:capitalize}
.si-jkey i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:5px;vertical-align:-1px}
@media(prefers-reduced-motion:reduce){.si-card,.si-tri i b{transition:none}}
