/* Cora UI v2 — Social hub (team SOCIAL). Mobile first; desktop at 1024px. */
.v2-soc__body { display: flex; flex-direction: column; gap: var(--v2-block-gap, 12px); min-width: 0; }
.v2-soc__body > * { min-width: 0; }
.v2-soc__empty { margin: 0; padding: 10px 2px; color: var(--v2-muted); font-size: 13px; }
.v2-soc__src { display: flex; align-items: center; gap: 4px; margin-top: 4px; color: var(--v2-muted); font-size: 11px; line-height: 1.35; overflow-wrap: anywhere; }
.v2-soc__small { color: var(--v2-muted); font-size: 11px; }
.v2-soc__note { margin: 0; }
.v2-soc__pad { padding: 12px 12px 0; }
.v2-soc__rss { display: inline-flex; align-items: center; justify-content: center; color: #ee802f; }

/* filter bar */
.v2-soc__bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.v2-soc__seg { flex: none; }
.v2-soc__acct { flex: 1 1 160px; max-width: 280px; min-width: 0; }
.v2-soc__period { color: var(--v2-muted); font-size: 12px; margin-left: auto; }

/* charts */
.v2-soc__charts { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--v2-block-gap, 12px); }
.v2-soc__ccard .v2-card__head { flex-wrap: wrap; }
.v2-soc__tog { margin-left: auto; }
.v2-soc__chart { position: relative; min-height: 120px; }
.v2-soc__svg { display: block; width: 100%; height: auto; overflow: visible; }
.v2-soc__gl { stroke: var(--v2-border); stroke-width: 1; }
.v2-soc__base { stroke: var(--v2-border-2, #d6dbd0); stroke-width: 1; }
.v2-soc__tick { fill: var(--v2-muted); font-size: 10.5px; font-variant-numeric: tabular-nums; }
.v2-soc__guide { stroke: var(--v2-muted-2, #8a948c); stroke-width: 1; stroke-dasharray: 3 3; }
.v2-soc__hit { outline: none; cursor: default; }
.v2-soc__hit:focus-visible { outline: 2px solid var(--v2-forest); outline-offset: -2px; }
.v2-soc__tip { position: absolute; top: 0; z-index: 2; display: flex; flex-direction: column; gap: 3px; max-width: 240px; padding: 8px 10px; border-radius: 10px; background: var(--v2-surface, #fff); border: 1px solid var(--v2-border); box-shadow: var(--v2-shadow-pop, 0 6px 20px rgba(12, 31, 20, .10)); font-size: 12px; color: var(--v2-text-2); pointer-events: none; }
.v2-soc__tip[hidden] { display: none; }
.v2-soc__tip b { color: var(--v2-text); font-variant-numeric: tabular-nums; }
.v2-soc__tip span { display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.v2-soc__tip span b { margin-left: auto; padding-left: 10px; }
.v2-soc__tip i { flex: none; display: inline-block; width: 10px; height: 10px; border-radius: 3px; }
.v2-soc__tip small { color: var(--v2-muted); font-size: 11px; white-space: normal; }
.v2-soc__tblwrap { max-height: 260px; overflow: auto; max-width: 100%; }
.v2-soc__tbl { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.v2-soc__tbl th, .v2-soc__tbl td { text-align: left; padding: 7px 8px; border-bottom: 1px solid var(--v2-border); vertical-align: top; }
.v2-soc__tbl thead th { position: sticky; top: 0; background: var(--v2-surface, #fff); color: var(--v2-muted); font-weight: 600; font-size: 11.5px; }
.v2-soc__tbl td:last-child { font-variant-numeric: tabular-nums; }
.v2-soc__srctbl td:last-child { font-variant-numeric: normal; }
.v2-soc__srctbl td, .v2-soc__srctbl th { font-size: 12px; line-height: 1.4; }

/* account cards */
.v2-soc__cards { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--v2-block-gap, 12px); }
.v2-soc__acard { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.v2-soc__ahead { display: flex; align-items: center; gap: 10px; min-width: 0; }
.v2-soc__av { position: relative; flex: none; width: 38px; height: 38px; border-radius: 50%; background: var(--v2-soft, #eef0ea); display: inline-flex; align-items: center; justify-content: center; }
.v2-soc__av img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.v2-soc__avmark { position: absolute; right: -3px; bottom: -3px; display: inline-flex; padding: 2px; border-radius: 50%; background: var(--v2-surface, #fff); box-shadow: 0 0 0 1px var(--v2-border); }
.v2-soc__av:not(:has(img)) .v2-soc__avmark { position: static; box-shadow: none; background: none; }
.v2-soc__aname { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.v2-soc__aname b { font-size: 14px; }
.v2-soc__aname a { color: var(--v2-muted); font-size: 12px; text-decoration: none; }
.v2-soc__astats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.v2-soc__stat { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.v2-soc__stat > span { color: var(--v2-muted); font-size: 11px; }
.v2-soc__stat b { font-size: 17px; font-variant-numeric: tabular-nums; }
.v2-soc__stat b small { font-size: 11px; font-weight: 600; }
.v2-soc__stat > small { color: var(--v2-muted); font-size: 10.5px; line-height: 1.3; overflow-wrap: anywhere; }

/* post rows */
.v2-soc__prow { text-decoration: none; color: inherit; width: 100%; text-align: left; background: none; border: 0; font: inherit; }
.v2-soc__thumb { position: relative; flex: none; width: 44px; height: 44px; border-radius: 10px; overflow: hidden; background: var(--v2-soft, #eef0ea); display: inline-flex; align-items: center; justify-content: center; }
.v2-soc__thumb img { width: 100%; height: 100%; object-fit: cover; }
.v2-soc__tmark { position: absolute; left: 3px; bottom: 3px; display: inline-flex; padding: 2px; border-radius: 6px; background: var(--v2-surface, #fff); }
.v2-soc__thumb:not(:has(img)) .v2-soc__tmark { position: static; background: none; }
.v2-soc__tags { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 3px; }
.v2-soc__prow .v2-row__title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; white-space: normal; }

/* hero / connect grid */
.v2-soc__hero h2 { margin: 0 0 6px; font-size: 18px; }
.v2-soc__hero > p { margin: 0 0 14px; color: var(--v2-text-2); font-size: 13.5px; line-height: 1.5; max-width: 70ch; }
.v2-soc__pgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.v2-soc__ptile { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 12px; min-height: 84px; border: 1px solid var(--v2-border); border-radius: var(--v2-r-m, 12px); background: var(--v2-surface, #fff); color: inherit; text-decoration: none; font: inherit; text-align: left; cursor: pointer; }
.v2-soc__ptile:hover { background: var(--v2-hover, #f7f8f4); }
.v2-soc__ptile:focus-visible { outline: 2px solid var(--v2-forest); outline-offset: 2px; }
.v2-soc__ptile b { font-size: 13.5px; }
.v2-soc__ptile small { color: var(--v2-muted); font-size: 11.5px; }
.v2-soc__how summary { display: flex; align-items: center; gap: 6px; cursor: pointer; font-weight: 600; font-size: 13px; }
.v2-soc__how ul { margin: 10px 0 0; padding-left: 18px; color: var(--v2-text-2); font-size: 12.5px; line-height: 1.5; }
.v2-soc__how2 dl { display: grid; grid-template-columns: 74px minmax(0, 1fr); gap: 6px 10px; margin: 0; padding: 10px 12px; border-radius: var(--v2-r-s, 10px); background: var(--v2-soft, #eef0ea); font-size: 12.5px; line-height: 1.4; }
.v2-soc__how2 dt { color: var(--v2-muted); font-weight: 600; }
.v2-soc__how2 dd { margin: 0; }
.v2-soc__pchips { flex-wrap: wrap; overflow: visible; }
.v2-soc__pchips .v2-chip, .v2-soc__ptag, .v2-soc__pl { display: inline-flex; align-items: center; gap: 6px; }
.v2-soc__pl { align-items: flex-start; }
.v2-soc__pl > svg, .v2-soc__pl > .v2-soc__rss { flex: none; margin-top: 2px; }

/* import */
.v2-soc__frow { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.v2-soc__frow input[type=file] { flex: 1 1 200px; min-width: 0; padding-top: 9px; }
.v2-soc__prevbox { display: flex; flex-direction: column; gap: 4px; padding: 10px 12px; border-radius: var(--v2-r-s, 10px); background: var(--v2-lime-soft, #f1fadf); font-size: 13px; }
.v2-soc__prevbox small { color: var(--v2-muted); }

/* accounts */
.v2-soc__arow { align-items: flex-start; }
.v2-soc__arow .v2-row__meta { white-space: normal; overflow-wrap: anywhere; }
.v2-soc__tile { background: var(--v2-soft, #eef0ea); }
.v2-soc__rowacts { display: inline-flex; gap: 2px; }
.v2-soc__keys { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }

/* content library */
.v2-soc__filters { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.v2-soc__filters .v2-search { flex: 1 1 100%; min-width: 0; }
.v2-soc__filters .v2-select { flex: 1 1 140px; min-width: 0; }
.v2-soc__cgrid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--v2-block-gap, 12px); }
.v2-soc__more { display: flex; justify-content: center; padding: 4px 0; }
.v2-soc__utmrow { display: flex; align-items: center; gap: 8px; margin-top: 6px; }
.v2-soc__utm { flex: 1; min-width: 0; padding: 8px 10px; border-radius: var(--v2-r-s, 10px); background: var(--v2-soft, #eef0ea); font-size: 12px; overflow-wrap: anywhere; }
.v2-soc__mgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 6px; }
.v2-soc__big { width: 100%; max-height: 260px; object-fit: cover; border-radius: var(--v2-r-m, 12px); }

/* competitors */
.v2-soc__ctbl td { vertical-align: middle; }

/* calendar */
.v2-soc__note.v2-card { display: flex; gap: 8px; align-items: flex-start; font-size: 13px; line-height: 1.45; background: var(--v2-lime-soft, #f1fadf); border-color: transparent; }
.v2-soc__note.v2-card > svg { flex: none; margin-top: 2px; }
.v2-soc__calbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.v2-soc__calbar .v2-chips { flex: 1 1 auto; min-width: 0; }
.v2-soc__plan { display: flex; gap: 12px; align-items: flex-start; }
.v2-soc__pimg { flex: none; width: 64px; height: 64px; border-radius: 10px; object-fit: cover; background: var(--v2-soft, #eef0ea); display: inline-flex; align-items: center; justify-content: center; color: var(--v2-muted); }
.v2-soc__pmain { flex: 1; min-width: 0; }
.v2-soc__pmain p { margin: 6px 0; font-size: 13.5px; line-height: 1.45; overflow-wrap: anywhere; white-space: pre-line; }
.v2-soc__ptop { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font-size: 12px; }
.v2-soc__ptop small { color: var(--v2-muted); }
.v2-soc__ptag { padding: 2px 8px; border-radius: 999px; background: var(--v2-soft, #eef0ea); font-size: 11.5px; }
.v2-soc__pacts { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.v2-soc__mrow { display: flex; flex-wrap: wrap; gap: 8px; }
.v2-soc__mthumb { position: relative; width: 64px; height: 64px; }
.v2-soc__mthumb img { width: 100%; height: 100%; object-fit: cover; border-radius: 10px; }
.v2-soc__mthumb button { position: absolute; top: -6px; right: -6px; width: 22px; height: 22px; border-radius: 50%; border: 0; background: var(--v2-forest); color: #fff; cursor: pointer; line-height: 1; }
.v2-soc__madd { width: 64px; height: 64px; border: 1px dashed var(--v2-border-2, #d6dbd0); border-radius: 10px; background: none; font-size: 22px; color: var(--v2-muted); cursor: pointer; }

/* alerts */
.v2-soc__rule { display: flex; align-items: flex-start; gap: 10px; font-size: 13.5px; line-height: 1.5; }
.v2-soc__rule > span { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.v2-soc__rctl { color: var(--v2-text-2); }
.v2-soc__n { display: inline-block; width: 76px; height: 34px; padding: 4px 8px; margin: 0 2px; }
.v2-soc__switch { flex: none; width: 18px; height: 18px; margin-top: 2px; accent-color: var(--v2-forest); }
.v2-row.is-seen { opacity: .72; }

@media (min-width: 640px) {
  .v2-soc__pgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .v2-soc__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v2-soc__filters .v2-search { flex: 2 1 220px; }
  .v2-soc__mgrid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .v2-soc__charts { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
  .v2-soc__cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .v2-soc__pgrid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .v2-soc__cgrid { grid-template-columns: minmax(0, 1fr) 300px; align-items: start; }
  .v2-soc__n { height: 32px; }
}
@media (max-width: 1023.98px) {
  .v2-soc__period { margin-left: 0; width: 100%; }
  .v2-soc__n { font-size: 16px; }
}

/* wrap instead of clipping long titles / sources */
.v2-soc__body .v2-card__head { flex-wrap: wrap; row-gap: 4px; }
.v2-soc__body .v2-card__title { white-space: nowrap; flex: 0 0 auto; }
.v2-soc__body .v2-soc__rowacts { flex-direction: row; align-items: center; }
.v2-soc__body [data-alert] { align-items: flex-start; }
.v2-soc__body [data-alert] .v2-row__title, .v2-soc__body [data-alert] .v2-row__meta, .v2-soc__prow .v2-row__meta { white-space: normal; overflow-wrap: anywhere; }
.v2-soc__body .v2-card__head .v2-card__meta { flex: 1 1 140px; min-width: 0; white-space: normal; overflow: visible; text-overflow: clip; }
@media (max-width: 1023.98px) {
  .v2-soc__tbl [data-cell="hide-m"] { display: none; }
}
.v2-soc__body .v2-card__head { margin-bottom: 8px; }
