/* AICitare — admin SPA styles. Design tokens from the approved handoff. */

/* Reset WP admin chrome around our app. */
#wpcontent { padding-left: 0 !important; }
.geo-root * { box-sizing: border-box; }
.geo-root {
  font-family:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  -webkit-font-smoothing:antialiased;
  margin-left:-20px; /* counter wp .wrap */
}

/* ---- Theme tokens. Default = DARK. Add .light for light mode. ---- */
.geo-app {
  --canvas:#14161c; --card:#1d2027; --card2:#22262e; --border:#2c3138; --hair:#262b33; --hair2:#23282f; --field:#23282f; --hover:#242a33; --badge-bg:#2a2f38;
  --t-strong:#e9ebef; --t-mid:#c5cad3; --t-mid2:#aeb4be; --t-muted:#8b9099; --t-faint:#6f7580; --t-faint2:#575d67; --t-faint3:#474d58;
  --brand:#7b71f1; --brand-hover:#8c83f5; --brand-soft:#2a2748; --brand-soft2:#242140; --brand-soft3:#221f3b; --brand-idle:#6a60c8; --brand-border:#39346a;
  --ok:#34d27f; --ok-bg:#15301f; --ok-strip:#16291d; --ok-border:#1f5436; --warn:#e3953a; --warn-bg:#33260f; --danger:#f0666b; --danger-bg:#371b1d; --scan:#fbbf24;
  --shadow:rgba(0,0,0,0.45);
  color-scheme: dark; /* native selects/options render dark */
}
.geo-app.light {
  --canvas:#f5f6f8; --card:#ffffff; --card2:#f7f7fc; --border:#e7e9ee; --hair:#eef0f4; --hair2:#f1f2f6; --field:#f6f7f9; --hover:#fafaff; --badge-bg:#f0f1f4;
  --t-strong:#14161c; --t-mid:#4b5160; --t-mid2:#6b7280; --t-muted:#8a8f99; --t-faint:#a6abb5; --t-faint2:#c2c6cf; --t-faint3:#cfd3db;
  --brand:#5b50e6; --brand-hover:#4a3fd1; --brand-soft:#ecebfd; --brand-soft2:#f3f2fd; --brand-soft3:#faf9ff; --brand-idle:#9b91f5; --brand-border:#d9d6f7;
  --ok:#16a34a; --ok-bg:#e7f6ec; --ok-strip:#f1faf4; --ok-border:#cdeed8; --warn:#d97706; --warn-bg:#fdf0e0; --danger:#dc2626; --danger-bg:#fcebea; --scan:#fbbf24;
  --shadow:rgba(0,0,0,0.12);
  color-scheme: light;
}

/* Consistent themed dropdowns (model picker, schedule, docker filter) */
.geo-select {
  appearance:none; -webkit-appearance:none; -moz-appearance:none;
  background:var(--card); color:var(--t-strong);
  border:1px solid var(--border); border-radius:8px;
  padding:6px 30px 6px 10px; font-size:12px; font-family:'JetBrains Mono',monospace;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M3 4.5L6 7.5L9 4.5' stroke='%238a8f99' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat:no-repeat; background-position:right 9px center; cursor:pointer;
}
.geo-app.rtl .geo-select { padding:6px 10px 6px 30px; background-position:left 9px center; }
.geo-select:focus { outline:none; border-color:var(--brand); }
.geo-mono { font-family:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace; }
.geo-boot { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:20px; min-height:75vh; padding:60px 20px; background:#14161c; color:#8b9099; font-size:13px; font-weight:600; text-align:center; }
.geo-boot-mark { position:relative; width:80px; height:80px; display:flex; align-items:center; justify-content:center; }
.geo-boot-ring { position:absolute; inset:0; border-radius:50%; border:3px solid rgba(123,113,241,0.16); border-top-color:#7b71f1; animation:geoBootSpin .9s linear infinite; }
.geo-boot-logo { width:48px; height:48px; border-radius:14px; background:#7b71f1; display:flex; align-items:center; justify-content:center; box-shadow:0 6px 22px rgba(123,113,241,0.35); }
.geo-boot-logo i { width:30px; height:30px; display:block; background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%3E%3Crect%20x%3D%222.3%22%20y%3D%223.2%22%20width%3D%2214.8%22%20height%3D%2211.8%22%20rx%3D%223.2%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222.2%22%2F%3E%3Cpath%20d%3D%22M6.7%2014.2%20L6.7%2019.8%20L11.5%2015.1%20Z%22%20fill%3D%22%23fff%22%2F%3E%3Cpath%20d%3D%22M20.3%201.5%20L21.2%203.9%20L23.6%204.8%20L21.2%205.7%20L20.3%208.1%20L19.4%205.7%20L17%204.8%20L19.4%203.9%20Z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
.geo-boot-word { font-size:22px; font-weight:800; letter-spacing:-0.02em; color:#e9ebef; }
.geo-boot-word b { color:#8c83f5; font-weight:800; }
.geo-boot-sub { letter-spacing:.04em; animation:geoBootPulse 1.4s ease-in-out infinite; }
@keyframes geoBootSpin { to { transform:rotate(360deg); } }
@keyframes geoBootPulse { 0%,100% { opacity:.45; } 50% { opacity:1; } }

/* App shell */
.geo-app { display:flex; height:calc(100vh - 32px); min-height:680px; background:var(--canvas); color:var(--t-strong); }
.geo-app.rtl { direction:rtl; }

/* Sidebar */
.geo-side { width:248px; flex:0 0 248px; background:var(--card); border-right:1px solid var(--border); padding:18px 14px; display:flex; flex-direction:column; }
.geo-app.rtl .geo-side { border-right:none; border-left:1px solid var(--border); }
.geo-brand { display:flex; align-items:center; gap:10px; padding:4px 6px 16px; }
.geo-logo { width:34px; height:34px; border-radius:9px; background:var(--brand); display:flex; align-items:center; justify-content:center; flex:0 0 34px; }
.geo-logo i { width:22px; height:22px; display:block; background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%3E%3Crect%20x%3D%222.3%22%20y%3D%223.2%22%20width%3D%2214.8%22%20height%3D%2211.8%22%20rx%3D%223.2%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222.2%22%2F%3E%3Cpath%20d%3D%22M6.7%2014.2%20L6.7%2019.8%20L11.5%2015.1%20Z%22%20fill%3D%22%23fff%22%2F%3E%3Cpath%20d%3D%22M20.3%201.5%20L21.2%203.9%20L23.6%204.8%20L21.2%205.7%20L20.3%208.1%20L19.4%205.7%20L17%204.8%20L19.4%203.9%20Z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
.geo-brand b { font-size:16px; font-weight:800; letter-spacing:-0.02em; line-height:1; display:block; }
.geo-brand span { font-size:11px; color:var(--t-muted); font-weight:600; }
.geo-nav { display:flex; flex-direction:column; gap:3px; }
.geo-navitem { display:flex; align-items:center; gap:9px; padding:10px 12px; border-radius:9px; font-size:13.5px; font-weight:600; color:var(--t-mid); background:transparent; border:0; cursor:pointer; width:100%; text-align:inherit; transition:background .12s; }
.geo-navitem:hover { background:var(--hover); }
.geo-navitem.active { color:var(--brand); background:var(--brand-soft2); }
.geo-navitem .dot { width:7px; height:7px; border-radius:50%; background:var(--t-faint3); flex:0 0 7px; }
.geo-navitem.active .dot { background:var(--brand); }
.geo-navitem .label { flex:1; }
.geo-badge { font-family:'JetBrains Mono',monospace; font-size:10.5px; padding:1px 7px; border-radius:20px; color:var(--t-muted); background:var(--badge-bg); }
.geo-navitem.active .geo-badge { color:var(--brand); background:var(--brand-soft); }
.geo-divider { height:1px; background:var(--hair); margin:14px 6px; }
.geo-seclabel { font-size:10px; font-weight:700; letter-spacing:0.08em; color:var(--t-faint); padding:0 8px 6px; }
.geo-sitecard { margin-top:auto; background:var(--card2); border:1px solid var(--border); border-radius:11px; padding:13px; }
.geo-sitecard .nm { font-size:11px; font-weight:700; color:var(--brand); letter-spacing:0.03em; }
.geo-sitecard .host { font-size:11.5px; color:var(--t-muted); margin:2px 0 8px; }
.geo-sitecard .stat { display:flex; align-items:center; gap:6px; font-size:11.5px; color:var(--t-mid); }
.geo-sitecard .stat i { width:7px; height:7px; border-radius:50%; background:var(--ok); }

/* Main column */
.geo-main { flex:1; min-width:0; display:flex; flex-direction:column; }
.geo-topbar { height:64px; background:var(--card); border-bottom:1px solid var(--border); padding:0 26px; display:flex; align-items:center; gap:18px; }
.geo-topbar .tt { flex:1; }
.geo-topbar .tt b { font-size:16.5px; font-weight:700; letter-spacing:-0.01em; display:block; line-height:1.2; }
.geo-topbar .tt span { font-size:12px; color:var(--t-muted); }
.geo-lastscan { text-align:right; }
.geo-app.rtl .geo-lastscan { text-align:left; }
.geo-lastscan small { font-size:10px; font-weight:700; letter-spacing:0.05em; color:var(--t-faint); display:block; }
.geo-lastscan b { font-size:12.5px; font-weight:700; color:var(--t-mid); }
.geo-scanbtn { display:flex; align-items:center; gap:8px; background:var(--brand); color:#fff; font-size:13px; font-weight:700; padding:10px 17px; border:0; border-radius:9px; cursor:pointer; box-shadow:0 3px 10px rgba(91,80,230,0.3); transition:background .15s; }
.geo-scanbtn:hover { background:var(--brand-hover); }
.geo-scanbtn i { width:7px; height:7px; border-radius:50%; background:var(--brand-idle); }
.geo-scanbtn.scanning i { background:var(--scan); }
.geo-content { flex:1; overflow-y:auto; padding:26px; }
.geo-wrap { margin:0 auto; }

/* Cards */
.geo-card { background:var(--card); border:1px solid var(--border); border-radius:16px; padding:24px; }
.geo-card.sm { border-radius:14px; padding:18px; }
.geo-label { font-size:11px; font-weight:700; letter-spacing:0.05em; color:var(--t-faint); text-transform:uppercase; }
.geo-row { display:flex; flex-wrap:wrap; gap:18px; }
.geo-stack { display:flex; flex-direction:column; gap:18px; }
.geo-green { color:var(--ok); } .geo-amber { color:var(--warn); } .geo-red { color:var(--danger); } .geo-brandc { color:var(--brand); }

/* Gauge */
.geo-gauge-wrap { text-align:center; }
.geo-gauge { position:relative; width:188px; height:188px; margin:8px auto 0; }
.geo-gauge .ov { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.geo-gauge .num { font-family:'JetBrains Mono',monospace; font-size:46px; font-weight:600; line-height:1; }
.geo-gauge .den { font-size:13px; color:var(--t-faint); }
.geo-delta { font-size:12.5px; font-weight:700; }
.geo-verdict { font-size:13px; color:var(--t-mid); margin-top:8px; line-height:1.5; max-width:240px; margin-left:auto; margin-right:auto; }

/* Breakdown bars */
.geo-bar-row { margin-bottom:14px; }
.geo-bar-row:last-child { margin-bottom:0; }
.geo-bar-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:6px; }
.geo-bar-head .lab { font-size:13.5px; font-weight:600; }
.geo-bar-head .w { font-size:11px; color:var(--t-faint); margin-left:6px; }
.geo-bar-head .val { font-family:'JetBrains Mono',monospace; font-size:13px; font-weight:600; }
.geo-track { height:8px; background:var(--hair); border-radius:6px; overflow:hidden; }
.geo-track.tall { height:24px; border-radius:7px; }
.geo-fill { height:100%; border-radius:6px; transition:width .6s cubic-bezier(.2,.8,.2,1); }

/* Quick stats */
.geo-stats { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.geo-stat .n { font-family:'JetBrains Mono',monospace; font-size:25px; font-weight:600; line-height:1; }
.geo-stat .l { font-size:12px; color:var(--t-muted); margin-top:6px; }

/* Priority actions */
.geo-action { display:flex; align-items:center; gap:12px; padding:13px 0; border-bottom:1px solid var(--hair2); }
.geo-action:last-child { border-bottom:0; }
.geo-action .sev { width:9px; height:9px; border-radius:50%; flex:0 0 9px; }
.geo-action .meta { flex:1; min-width:0; }
.geo-action .meta b { font-size:13.5px; font-weight:600; display:block; }
.geo-action .meta span { font-size:12px; color:var(--t-muted); }
.geo-action .gain { font-family:'JetBrains Mono',monospace; font-size:12.5px; font-weight:600; color:var(--ok); }
.geo-fixbtn { background:var(--brand-soft); color:var(--brand); border:0; border-radius:8px; padding:7px 13px; font-size:12.5px; font-weight:700; cursor:pointer; white-space:nowrap; }
.geo-fixbtn:hover { background:#e0ddfb; }
.geo-fixbtn.primary { background:var(--brand); color:#fff; box-shadow:0 2px 8px rgba(91,80,230,0.25); }
.geo-fixbtn.primary:hover { background:var(--brand-hover); }
.geo-link { color:var(--brand); font-size:12.5px; font-weight:700; cursor:pointer; background:0; border:0; text-decoration:none; }

/* Trend chart */
.geo-months { display:flex; justify-content:space-between; margin-top:8px; font-size:11px; color:var(--t-faint); }

/* Filter chips */
.geo-chips { display:flex; gap:8px; }
.geo-chip { font-size:12.5px; font-weight:600; padding:7px 14px; border-radius:20px; border:1px solid var(--border); background:var(--card); color:var(--t-mid); cursor:pointer; }
.geo-chip.active { background:var(--brand); border-color:var(--brand); color:#fff; }

/* Pages table */
.geo-tbl { border:1px solid var(--border); border-radius:16px; overflow:hidden; background:var(--card); }
.geo-thead, .geo-trow { display:grid; gap:16px; padding:16px 22px; align-items:center; }
.geo-thead { font-size:10.5px; font-weight:700; letter-spacing:0.05em; color:var(--t-faint); text-transform:uppercase; border-bottom:1px solid var(--border); }
.geo-trow { border-bottom:1px solid var(--hair2); cursor:pointer; transition:background .1s; }
.geo-trow:last-child { border-bottom:0; }
.geo-trow:hover { background:var(--hover); }
.geo-pg-title { font-size:13.5px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.geo-pg-url { font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--t-faint); }
.geo-pg-link { text-decoration:none; color:var(--t-faint); transition:color .12s; }
.geo-pg-link:hover { color:var(--brand); }
.geo-pill { font-family:'JetBrains Mono',monospace; font-size:13px; font-weight:600; padding:3px 10px; border-radius:7px; display:inline-block; }

/* Page detail */
.geo-back { color:var(--t-muted); font-size:12.5px; font-weight:700; cursor:pointer; background:0; border:0; margin-bottom:14px; display:inline-block; }
.geo-back:hover { color:var(--brand); }
.geo-mini-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:14px; margin-top:18px; }
.geo-mini .lab { font-size:11px; color:var(--t-muted); margin-bottom:5px; }
.geo-mini .val { font-family:'JetBrains Mono',monospace; font-size:13px; font-weight:600; margin-top:5px; }
.geo-issue { border:1px solid var(--border); border-radius:14px; padding:18px; display:flex; gap:13px; align-items:flex-start; margin-bottom:12px; }
.geo-issue.fixed { border-color:var(--ok-border); }
.geo-issue .sev { width:9px; height:9px; border-radius:50%; flex:0 0 9px; margin-top:5px; }
.geo-issue .body { flex:1; min-width:0; }
.geo-tag { font-size:10px; font-weight:700; letter-spacing:0.04em; text-transform:uppercase; padding:3px 8px; border-radius:6px; display:inline-block; margin-bottom:7px; }
.geo-issue .ti { font-size:14px; font-weight:600; }
.geo-issue .gain { font-family:'JetBrains Mono',monospace; font-size:12.5px; font-weight:600; color:var(--ok); margin-left:8px; }
.geo-issue .desc { font-size:12.5px; color:var(--t-mid2); margin-top:6px; line-height:1.5; }
.geo-after { font-family:'JetBrains Mono',monospace; font-size:11.5px; color:var(--ok); background:var(--ok-strip); border:1px solid var(--ok-border); border-radius:8px; padding:8px 11px; margin-top:10px; }
.geo-fixed-chip { color:var(--ok); background:var(--ok-bg); font-size:12.5px; font-weight:700; padding:7px 13px; border-radius:8px; white-space:nowrap; }

/* Segmented tabs */
.geo-seg { display:inline-flex; background:var(--hair); padding:4px; border-radius:11px; gap:2px; margin-bottom:18px; }
.geo-seg button { border:0; background:transparent; padding:8px 16px; border-radius:8px; font-size:12.5px; font-weight:600; color:var(--t-mid); cursor:pointer; }
.geo-seg button.active { background:var(--card); color:var(--t-strong); box-shadow:0 1px 3px rgba(0,0,0,0.08); }

/* KPI cards */
.geo-kpis { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:18px; }
.geo-kpi .n { font-family:'JetBrains Mono',monospace; font-size:26px; font-weight:600; }
.geo-kpi .l { font-size:12px; color:var(--t-muted); margin-top:6px; }

/* Citations table */
.geo-cite-row { display:grid; grid-template-columns:1.5fr repeat(4,1fr); gap:12px; padding:14px 22px; align-items:center; border-bottom:1px solid var(--hair2); }
.geo-cite-row:last-child { border-bottom:0; }
.geo-cite-row.head { font-size:10.5px; font-weight:700; letter-spacing:0.05em; color:var(--t-faint); text-transform:uppercase; }
.geo-cite-q { font-size:13px; font-weight:600; }
.geo-cite-cell { font-family:'JetBrains Mono',monospace; font-size:12px; font-weight:600; padding:3px 9px; border-radius:6px; display:inline-block; text-align:center; min-width:38px; }
.geo-cite-na { color:var(--t-faint2); }

/* Competitor bars */
.geo-comp-row { display:flex; align-items:center; gap:14px; margin-bottom:12px; }
.geo-comp-name { width:140px; flex:0 0 140px; font-size:13px; }
.geo-comp-name.me { font-weight:800; color:var(--brand); }
.geo-comp-pct { font-family:'JetBrains Mono',monospace; font-size:12.5px; font-weight:600; width:42px; }

/* Bot activity table */
.geo-bot-row { display:grid; grid-template-columns:1fr 1.4fr 1fr 110px; gap:12px; padding:13px 22px; align-items:center; border-bottom:1px solid var(--hair2); }
.geo-bot-row:last-child { border-bottom:0; }
.geo-bot-row.head { font-size:10.5px; font-weight:700; letter-spacing:0.05em; color:var(--t-faint); text-transform:uppercase; }
.geo-status { font-size:11.5px; font-weight:700; padding:3px 10px; border-radius:6px; display:inline-block; }
.geo-status.ok { color:var(--ok); background:var(--ok-bg); }
.geo-status.no { color:var(--danger); background:var(--danger-bg); }

/* Settings */
.geo-check-row { display:flex; align-items:center; gap:12px; padding:11px 0; border-bottom:1px solid var(--hair2); }
.geo-check-row:last-child { border-bottom:0; }
.geo-check-mark { width:20px; height:20px; border-radius:50%; flex:0 0 20px; display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:700; color:#fff; }
.geo-radio-cards { display:flex; flex-wrap:wrap; gap:14px; }
.geo-radio { flex:1; min-width:220px; border:2px solid var(--border); border-radius:12px; padding:16px; cursor:pointer; }
.geo-radio.sel { border-color:var(--brand); background:var(--brand-soft3); }
.geo-radio .dot { width:16px; height:16px; border-radius:50%; border:2px solid var(--t-faint3); display:inline-block; vertical-align:middle; margin-right:8px; position:relative; }
.geo-radio.sel .dot { border-color:var(--brand); }
.geo-radio.sel .dot::after { content:''; position:absolute; inset:3px; border-radius:50%; background:var(--brand); }
.geo-radio .rt { font-size:13.5px; font-weight:700; }
.geo-radio .rd { font-size:12px; color:var(--t-muted); margin-top:6px; line-height:1.5; }
.geo-bots-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.geo-bot-toggle-row { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 0; }
.geo-bot-toggle-row .bid { font-family:'JetBrains Mono',monospace; font-size:13px; font-weight:600; }
.geo-bot-toggle-row .bo { font-size:11px; color:var(--t-muted); }
.geo-switch { width:40px; height:23px; border-radius:20px; background:var(--t-faint3); position:relative; cursor:pointer; flex:0 0 40px; transition:background .18s; border:0; }
.geo-switch.on { background:var(--brand); }
.geo-switch i { position:absolute; top:2.5px; left:2.5px; width:18px; height:18px; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,0.2); transition:left .18s; }
.geo-switch.on i { left:19px; }
.geo-key-row { display:flex; align-items:center; gap:12px; margin-bottom:11px; }
.geo-key-row .kn { width:90px; flex:0 0 90px; font-size:13px; font-weight:600; }
.geo-key-field { flex:1; font-family:'JetBrains Mono',monospace; font-size:12px; background:var(--field); border:1px solid var(--hair); border-radius:8px; padding:9px 12px; color:var(--t-mid); }
.geo-kv { display:flex; align-items:center; justify-content:space-between; padding:9px 0; border-bottom:1px solid var(--hair2); font-size:13px; }
.geo-kv:last-child { border-bottom:0; }

/* Editor preview */
.geo-editor-chrome { background:var(--card); border:1px solid var(--border); border-radius:14px; overflow:hidden; }
.geo-editor-bar { display:flex; align-items:center; justify-content:space-between; padding:10px 16px; background:var(--card2); border-bottom:1px solid var(--border); font-size:12px; }
.geo-skel { height:13px; background:#eef0f4; border-radius:4px; margin:8px 0; }
.geo-imgph { background:repeating-linear-gradient(135deg,#f3f4f7,#f3f4f7 10px,#eceef2 10px,#eceef2 20px); border-radius:8px; height:160px; display:flex; align-items:center; justify-content:center; font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--t-faint); margin:14px 0; }
.geo-metacard { border:1px solid var(--brand-border); border-radius:14px; overflow:hidden; box-shadow:0 6px 22px rgba(91,80,230,0.1); }
.geo-metahead { display:flex; align-items:center; gap:9px; padding:13px 16px; background:var(--card2); border-bottom:1px solid var(--border); }
.geo-metahead .logo { width:22px; height:22px; border-radius:6px; background:var(--brand); display:flex; align-items:center; justify-content:center; }
.geo-metahead .logo i { width:14px; height:14px; display:block; background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%3E%3Crect%20x%3D%222.3%22%20y%3D%223.2%22%20width%3D%2214.8%22%20height%3D%2211.8%22%20rx%3D%223.2%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222.2%22%2F%3E%3Cpath%20d%3D%22M6.7%2014.2%20L6.7%2019.8%20L11.5%2015.1%20Z%22%20fill%3D%22%23fff%22%2F%3E%3Cpath%20d%3D%22M20.3%201.5%20L21.2%203.9%20L23.6%204.8%20L21.2%205.7%20L20.3%208.1%20L19.4%205.7%20L17%204.8%20L19.4%203.9%20Z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
.geo-metahead b { flex:1; font-size:13px; }
.geo-metascore { font-family:'JetBrains Mono',monospace; font-size:18px; font-weight:600; }
.geo-empty { text-align:center; padding:30px; color:var(--t-muted); font-size:13.5px; }

/* Activity log */
.geo-log-row { display:grid; gap:14px; padding:11px 22px; align-items:center; border-bottom:1px solid var(--hair2); }
.geo-log-row:last-child { border-bottom:0; }
.geo-log-row.head { font-size:10.5px; font-weight:700; letter-spacing:0.05em; color:var(--t-faint); text-transform:uppercase; border-bottom:1px solid var(--border); }

/* ---------------- Confirmation modal ---------------- */
.geo-modal-overlay {
  position: fixed; inset: 0; z-index: 100000;
  background: rgba(8, 10, 16, 0.55); backdrop-filter: blur(3px);
  display: flex; align-items: center; justify-content: center; padding: 20px;
  animation: geoFade .14s ease-out;
}
.geo-modal {
  width: 100%; max-width: 420px; background: var(--card);
  border: 1px solid var(--border); border-radius: 16px;
  box-shadow: 0 24px 60px var(--shadow); padding: 26px 26px 20px;
  text-align: center; animation: geoPop .16s cubic-bezier(.2,.9,.3,1.2);
}
.geo-modal-icon {
  width: 46px; height: 46px; margin: 0 auto 14px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 24px; font-weight: 800; line-height: 1;
  background: var(--field); color: var(--t-mid);
}
.geo-modal-icon.danger { background: var(--danger-bg); color: var(--danger); }
.geo-modal-title { font-size: 16px; font-weight: 700; color: var(--t-strong); margin-bottom: 8px; }
.geo-modal-msg { font-size: 13px; line-height: 1.6; color: var(--t-muted); margin-bottom: 22px; }
.geo-modal-actions { display: flex; gap: 10px; justify-content: center; }
.geo-modal-btn {
  flex: 1; padding: 10px 16px; border-radius: 10px; font-size: 13px; font-weight: 600;
  cursor: pointer; border: 1px solid var(--border); transition: filter .12s, background .12s;
}
.geo-modal-btn.cancel { background: var(--card); color: var(--t-mid); }
.geo-modal-btn.cancel:hover { background: var(--field); }
.geo-modal-btn.primary { background: var(--brand); color: #fff; border-color: var(--brand); }
.geo-modal-btn.danger { background: var(--danger); color: #fff; border-color: var(--danger); }
.geo-modal-btn.primary:hover, .geo-modal-btn.danger:hover { filter: brightness(1.07); }
@keyframes geoFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes geoPop { from { opacity: 0; transform: translateY(8px) scale(.97); } to { opacity: 1; transform: none; } }

/* Toast notifier (replaces native alert dialogs).
   Uses a fixed dark scheme with explicit colors so contrast is guaranteed in
   both light and dark app themes (independent of inherited CSS variables). */
.geo-toast {
  position: fixed; bottom: 28px; right: 28px; z-index: 100000;
  display: flex; align-items: center; gap: 12px;
  max-width: 400px; padding: 14px 16px;
  background: #232833; color: #f4f5f8;
  border: 1px solid rgba(255,255,255,0.10); border-left: 4px solid #8b9099;
  border-radius: 12px; box-shadow: 0 12px 34px rgba(0,0,0,0.40);
  font-size: 13.5px; line-height: 1.45;
  animation: geoToastIn .28s cubic-bezier(.2,.9,.3,1.2);
}
.geo-app.rtl .geo-toast { right: auto; left: 28px; border-left: 1px solid rgba(255,255,255,0.10); border-right: 4px solid #8b9099; }
.geo-toast.geo-toast--success { border-left-color: #34d27f; }
.geo-app.rtl .geo-toast.geo-toast--success { border-right-color: #34d27f; }
.geo-toast.geo-toast--error { border-left-color: #f0666b; }
.geo-app.rtl .geo-toast.geo-toast--error { border-right-color: #f0666b; }
.geo-toast-icon {
  flex: 0 0 22px; width: 22px; height: 22px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 12px; font-weight: 700; color: #fff; background: #8b9099;
}
.geo-toast.geo-toast--success .geo-toast-icon { background: #34d27f; }
.geo-toast.geo-toast--error .geo-toast-icon { background: #f0666b; }
.geo-toast-msg { flex: 1; color: #f4f5f8; }
.geo-toast-close {
  flex: 0 0 auto; background: none; border: none; cursor: pointer;
  color: #aeb4be; font-size: 18px; line-height: 1; padding: 0 2px;
}
.geo-toast-close:hover { color: #ffffff; }
@keyframes geoToastIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
