/* Document Analytics — page styles.
   Namespaced .gs-doc / .dd-* so nothing leaks into core or other plugins. Palette is the GhostStat
   one: green #1FA463, blue #2A6FE8, amber #D97706, red #DC2626, muted #8C95A1. */

.gs-doc { --dd-r: 10px; --dd-gap: 12px; --dd-mut: #8C95A1;
  --dd-line: rgba(140,149,161,.22);
  --dd-shadow: 0 1px 2px rgba(16,24,40,.06), 0 1px 3px rgba(16,24,40,.05);
  max-width: 100%; min-width: 0; }

.gs-doc .dd-head { display:flex; align-items:flex-start; justify-content:space-between;
  gap:var(--dd-gap); flex-wrap:wrap; margin-bottom:16px; }
.gs-doc .dd-crumb { font-size:12px; color:var(--dd-mut); margin-bottom:2px; }
.gs-doc h1 { font-size:22px; font-weight:700; margin:0; }
.gs-doc .dd-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
/* Same pill as the other plugin pages (it is defined per plugin, not in core). */
.gs-doc .mb-pill { position:relative; display:inline-flex; align-items:center; gap:7px; height:32px; padding:0 12px;
  border:1px solid var(--line-2,#D0D4DA); border-radius:6px; background:#fff; font:inherit; font-size:12.5px; font-weight:600;
  color:var(--ink-2,#3C4350); cursor:pointer; white-space:nowrap; text-decoration:none; }
.gs-doc .mb-pill .car { font-size:11px; color:var(--muted-2,#AAB2BD); }
.gs-doc .dd-actions .btn { height:32px; display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:600; }

.gs-doc .dd-btn { display:inline-flex; align-items:center; gap:6px; padding:6px 12px;
  border-radius:var(--dd-r); border:1px solid var(--dd-line); background:var(--gs-card-bg,#fff);
  font-size:13px; cursor:pointer; color:inherit; }
.gs-doc .dd-btn.sm { padding:3px 8px; font-size:12px; border-radius:7px; }
.gs-doc .dd-btn.ghost { border-color:transparent; background:transparent; color:var(--dd-mut); }
.gs-doc .dd-btn:hover { background:rgba(42,111,232,.06); }
.gs-doc .dd-btn[data-armed="1"] { color:#DC2626; border-color:#DC2626; }

.gs-doc .dd-kpis { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:var(--dd-gap); margin-bottom:16px; }
.gs-doc .dd-kpis.sm { margin-bottom:12px; }
.gs-doc .dd-kpi { padding:12px 14px; border:1px solid var(--dd-line); border-radius:var(--dd-r);
  background:var(--gs-card-bg,#fff); box-shadow:var(--dd-shadow); min-width:0; }
.gs-doc .dd-kpi .l { font-size:12px; color:var(--dd-mut); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.gs-doc .dd-kpi .v { font-size:22px; font-weight:700; line-height:1.25; }
.gs-doc .dd-kpis.sm .dd-kpi .v { font-size:18px; }

.gs-doc .dd-card { border:1px solid var(--dd-line); border-radius:var(--dd-r); background:var(--gs-card-bg,#fff);
  box-shadow:var(--dd-shadow); padding:14px; margin-bottom:16px; min-width:0; }
.gs-doc .dd-card-head { display:flex; align-items:center; justify-content:space-between; gap:8px;
  margin-bottom:10px; flex-wrap:wrap; }
.gs-doc .dd-card-head h5 { font-size:14px; font-weight:600; margin:0; word-break:break-word; }
.gs-doc .dd-dh { min-width:0; flex:1; }
.gs-doc .dd-sub { color:var(--dd-mut); font-size:11px; margin-top:2px; word-break:break-all; }
.gs-doc .dd-flt { font-size:12px; color:var(--dd-mut); display:inline-flex; align-items:center; gap:6px; margin:0; }
.gs-doc .dd-flt select { border:1px solid var(--dd-line); border-radius:6px; padding:3px 6px; font-size:12px; background:var(--gs-card-bg,#fff); color:inherit; }

.gs-doc .dd-addurl .dd-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr) auto; gap:8px; }
.gs-doc .dd-lgform { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto; gap:8px; align-items:center; }
.gs-doc .dd-lgform.up { grid-template-columns:minmax(0,1fr) auto auto; }
.gs-doc .dd-lgkey { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }
.gs-doc .dd-progress { display:flex; align-items:center; gap:10px; margin-bottom:12px; font-size:12px; color:var(--dd-mut); }
.gs-doc .dd-progress-bar { flex:1; height:6px; border-radius:3px; background:rgba(140,149,161,.18); overflow:hidden; }
.gs-doc .dd-progress-bar i { display:block; height:100%; background:#2A6FE8; transition:width .15s ease; }

/* Tables scroll inside their own container, never the page. */
.gs-doc .dd-table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; max-width:100%; }
.gs-doc .dd-table { width:100%; min-width:560px; border-collapse:collapse; font-size:13px; }
.gs-doc .dd-table th { text-align:left; font-weight:600; color:var(--dd-mut); font-size:12px;
  padding:8px 10px; border-bottom:1px solid var(--dd-line); white-space:nowrap; }
.gs-doc .dd-table td { padding:10px; border-bottom:1px solid var(--dd-line); vertical-align:top; }
.gs-doc .dd-table tbody tr[data-id] { cursor:pointer; transition:background .12s ease; }
.gs-doc .dd-table tbody tr[data-id]:hover { background:rgba(42,111,232,.05); }
.gs-doc .dd-table .num { text-align:right; white-space:nowrap; }
.gs-doc .dd-table tr.dd-off td { opacity:.55; }
.gs-doc .dd-table .dd-u { word-break:break-all; font-size:12px; }
.gs-doc .dd-name { display:flex; align-items:center; gap:7px; font-weight:600; min-width:0; }
.gs-doc .dd-name span { overflow:hidden; text-overflow:ellipsis; }
.gs-doc .dd-empty { text-align:center; color:var(--dd-mut); padding:18px 10px; font-size:13px; }
.gs-doc .dd-bar { display:inline-block; width:48px; height:6px; border-radius:3px; background:rgba(140,149,161,.18);
  margin-right:7px; vertical-align:middle; overflow:hidden; }
.gs-doc .dd-bar i { display:block; height:100%; border-radius:3px; }

.gs-doc .dd-badge { display:inline-block; padding:1px 7px; border-radius:20px; font-size:11px; font-weight:600;
  background:rgba(42,111,232,.10); color:#2A6FE8; white-space:nowrap; }
.gs-doc .dd-badge.warn { background:rgba(217,119,6,.12); color:#D97706; }

.gs-doc .dd-tabs { display:flex; gap:4px; border-bottom:1px solid var(--dd-line); margin:0 0 14px; overflow-x:auto; }
.gs-doc .dd-tabs button { border:0; background:transparent; padding:8px 12px; font-size:13px; color:var(--dd-mut);
  border-bottom:2px solid transparent; margin-bottom:-1px; white-space:nowrap; cursor:pointer; }
.gs-doc .dd-tabs button.on { color:#2A6FE8; border-bottom-color:#2A6FE8; font-weight:600; }

.gs-doc .dd-legend { display:flex; gap:14px; flex-wrap:wrap; font-size:12px; color:var(--dd-mut); margin-bottom:6px; }
.gs-doc .dd-legend i { display:inline-block; width:10px; height:10px; border-radius:2px; margin-right:5px; vertical-align:-1px; }
.gs-doc .dd-chart { position:relative; width:100%; min-width:0; }
.gs-doc .dd-chart canvas { display:block; max-width:100%; }
.gs-doc .dd-tip { position:absolute; z-index:5; min-width:150px; max-width:190px; padding:7px 9px; font-size:12px; line-height:1.45;
  border:1px solid var(--dd-line); border-radius:8px; background:var(--gs-card-bg,#fff); box-shadow:var(--dd-shadow); pointer-events:none; }
.gs-doc .dd-axis { display:flex; justify-content:space-between; font-size:11px; color:var(--dd-mut); margin:4px 0 12px; }

.gs-doc .dd-findings { display:grid; gap:8px; margin-bottom:14px; }
.gs-doc .dd-find { display:flex; gap:10px; padding:10px 12px; border-radius:8px; border:1px solid var(--dd-line); font-size:13px; }
.gs-doc .dd-find > i { font-size:16px; line-height:1.2; color:#2A6FE8; }
.gs-doc .dd-find.bad > i { color:#DC2626; }
.gs-doc .dd-find.warn > i { color:#D97706; }
.gs-doc .dd-find.good > i { color:#1FA463; }
.gs-doc .dd-find .t { font-weight:600; }
.gs-doc .dd-find .d { color:var(--dd-mut); font-size:12px; margin-top:2px; }

.gs-doc .dd-grid2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-bottom:14px; }
.gs-doc .dd-h6 { font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--dd-mut); margin-bottom:6px; }
.gs-doc .dd-lb { display:flex; justify-content:space-between; gap:10px; padding:6px 0; border-bottom:1px solid var(--dd-line); font-size:13px; }
.gs-doc .dd-lb .n { min-width:0; word-break:break-word; }
.gs-doc .dd-lb .c { color:var(--dd-mut); white-space:nowrap; }

.gs-doc .dd-bd { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 18px; }
.gs-doc .dd-bd-title { grid-column:1 / -1; font-weight:600; font-size:13px; }
.gs-doc .dd-bd-c { min-width:0; }
.gs-doc .dd-mini { width:100%; border-collapse:collapse; font-size:12px; table-layout:fixed; }
.gs-doc .dd-mini td { padding:4px 0; border-bottom:1px solid var(--dd-line); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.gs-doc .dd-mini td:first-child { width:46%; }
.gs-doc .dd-mini .num { text-align:right; }

.gs-doc .dd-shareform { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; align-items:center; }
.gs-doc .dd-shareform label { margin:0; display:flex; align-items:center; gap:6px; }
.gs-doc .dd-urls { display:grid; gap:12px; }
.gs-doc .dd-code { display:flex; align-items:center; gap:8px; padding:6px 8px; border:1px solid var(--dd-line); border-radius:8px;
  background:rgba(140,149,161,.06); min-width:0; }
.gs-doc .dd-code code { flex:1; min-width:0; font-size:12px; word-break:break-all; white-space:pre-wrap; color:inherit; }
.gs-doc .dd-switches { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 20px; }
.gs-doc .dd-note { font-size:12px; color:var(--dd-mut); }

@media (max-width: 1199.98px) {
  .gs-doc .dd-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .gs-doc .dd-shareform { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 767.98px) {
  .gs-doc h1 { font-size:19px; }
  .gs-doc .dd-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .gs-doc .dd-kpi { padding:10px 12px; }
  .gs-doc .dd-kpi .v { font-size:18px; }
  .gs-doc .dd-card { padding:12px; }
  .gs-doc .dd-grid2, .gs-doc .dd-bd, .gs-doc .dd-switches, .gs-doc .dd-shareform,
  .gs-doc .dd-addurl .dd-row { grid-template-columns:minmax(0,1fr); }
  .gs-doc .dd-lgform, .gs-doc .dd-lgform.up { grid-template-columns:minmax(0,1fr); }
}

/* Range picker — same design as the other plugin pages (Audience Segmentation / AI Crawlers),
   re-scoped to .gs-doc because each plugin ships its own copy. */
.gs-doc .rangepick { background:#fff; border:1px solid var(--gs-line,#EAEEF3); border-radius:12px;
  box-shadow:0 8px 30px rgba(16,24,40,.12); padding:8px; min-width:240px; cursor:default; font-weight:400; }
.gs-doc .rangepick .rp-presets { display:flex; flex-direction:column; }
.gs-doc .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-doc .rangepick .rm:hover { background:#F5F7FA; }
.gs-doc .rangepick .rm.on { background:rgba(31,164,99,.10); color:#178A52; }
.gs-doc .rp-custom { border-top:1px solid #EEF1F6; margin-top:6px; padding:10px 10px 8px; }
.gs-doc .rp-lbl { font-size:11px; text-transform:uppercase; letter-spacing:.05em; font-weight:700; color:#8C95A1; margin-bottom:8px; }
.gs-doc .rp-dates { display:flex; align-items:center; gap:8px; margin-bottom:10px; }
.gs-doc .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-doc .rp-dates input[type=date]:focus { outline:none; border-color:var(--gs-accent,#1FA463); box-shadow:0 0 0 3px rgba(31,164,99,.14); }
.gs-doc .rp-arrow { color:#AAB2BD; font-weight:700; }
.gs-doc .rp-apply { width:100%; height:34px; border:0; border-radius:6px; background:var(--gs-accent,#1FA463); color:#fff;
  font-weight:700; font-size:13px; cursor:pointer; }
.gs-doc .rp-apply:hover { background:#178A52; }
.gs-doc .rangepick { max-width:calc(100vw - 32px); }
