/* Shell rules (topbar, login card, buttons, pills) come from shell.css, which
   every page loads first. This file used to repeat them verbatim — so a fix in
   shell.css was silently overridden here by an identical-but-stale copy. Only
   genuine page overrides remain below. */
/* Sohbet — Analytics dashboard (Phase 4). Dependency-free vanilla, brand palette
   mirrors inbox.css / ../api app.css (emerald/ink, warm-expert, Turkish). Charts
   are inline SVG — no chart library, no external hosts. */
/* Tokens come from shell.css, which every page loads first. This file used to
   repeat the whole :root block verbatim; four copies meant four places to
   change and three chances to drift. */
/* quota banner */
.quotaBanner{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;padding:16px 20px;border-radius:14px;margin-bottom:18px;border:1px solid var(--line);background:var(--surface)}
.quotaBanner .qb-t{font-family:var(--fd);font-size:16px;font-weight:600;color:var(--text)}
.quotaBanner .qb-s{font-size:13.5px;color:var(--text-2);flex:1;min-width:240px;line-height:1.5}
.quotaBanner .qb-cta{margin-left:auto;white-space:nowrap;background:var(--ink-800);color:#fff;text-decoration:none;font-weight:600;font-size:13.5px;padding:10px 16px;border-radius:10px}
.quotaBanner .qb-cta:hover{background:var(--ink-900)}
.quotaBanner.warn{border-color:#E7CE93;background:var(--brass-050)}
.quotaBanner.warn .qb-t{color:#7A5A16}
.quotaBanner.warn .qb-cta{background:var(--brass);color:#3A2A08}
.quotaBanner.danger{border-color:#F0B4B3;background:#FCECEC}
.quotaBanner.danger .qb-t{color:#B3312F}
.quotaBanner.danger .qb-cta{background:var(--b-critical);color:#fff}
input,select{font-family:inherit}

/* login (mirrors inbox.css) */
#login{display:flex;align-items:center;justify-content:center;height:100vh;padding:18px}
input{width:100%;border:1px solid var(--line-strong);border-radius:8px;padding:10px 12px;font-size:14px;color:var(--text);background:var(--surface);outline:none}
input:focus{border-color:var(--emerald);box-shadow:0 0 0 3px var(--emerald-050)}

/* app shell */
#app{display:none;flex-direction:column;min-height:100vh}
/* topbar base now provided by shell.css (shared responsive app nav) */
.topbar .who{font-size:12.5px;color:#AEC2CE}
.navlink{font-size:13px}
.navlink a{color:#AEC2CE;text-decoration:none}
.navlink.on{color:#fff;font-weight:600;border-bottom:2px solid var(--emerald);padding-bottom:2px}
.rangebar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.ranges{display:flex;gap:4px;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:3px}
.rbtn{border:none;background:none;padding:6px 12px;font-size:12.5px;font-weight:500;color:var(--text-2);border-radius:7px;cursor:pointer}
.rbtn.on{background:var(--emerald-050);color:var(--emerald-700);font-weight:600}
.customRange{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-3)}
.customRange input{width:auto;padding:6px 8px;font-size:12.5px}
.spacer{flex:1}

/* tiles */
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:12px;margin-bottom:16px}
.tile{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.tile .k{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);font-weight:600}
.tile .v{font-family:var(--fd);font-size:24px;font-weight:500;color:var(--text);margin:6px 0 2px;line-height:1.1}
.tile .s{font-size:11.5px;color:var(--text-2)}
.tile.accent{background:var(--ink-800);border-color:var(--ink-800)}
.tile.accent .k{color:#8FA9B6}.tile.accent .v{color:#fff}.tile.accent .s{color:#AEC2CE}

/* cards */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.grid2 .card{margin-bottom:0}
.card h3 .hint{font-family:var(--fs);font-weight:400;font-size:12px;color:var(--text-3)}
.chart{width:100%;overflow-x:auto}

/* top questions bars */
.qrow{display:flex;align-items:center;gap:10px;margin-bottom:9px}
.qterm{width:150px;font-size:12.5px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0}
.qbar{flex:1;height:9px;background:var(--line);border-radius:5px;overflow:hidden}
.qbar i{display:block;height:100%;background:var(--emerald);border-radius:5px}
.qbar i.bi{background:var(--brass)}
.qcount{width:34px;text-align:right;font-size:12px;font-weight:600;color:var(--text-2);font-family:var(--fn)}

/* resolution */
.resbar{height:16px;border-radius:8px;background:var(--line);overflow:hidden;display:flex;margin:6px 0 12px}
.resbar i{height:100%}.resbar .ai{background:var(--emerald)}.resbar .ho{background:var(--brass)}
.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12.5px;color:var(--text-2)}
.legend .dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:middle}
.big{font-family:var(--fd);font-size:30px;font-weight:500;color:var(--text)}

/* csat */
.csatRow{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-2);margin-bottom:5px}
.csatRow .lbl{width:44px}
.csatRow .b{flex:1;height:8px;background:var(--line);border-radius:4px;overflow:hidden}
.csatRow .b i{display:block;height:100%;background:var(--brass)}
.usageWrap{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.usageBar{height:12px;border-radius:6px;background:var(--line);overflow:hidden;margin:8px 0 6px}
.usageBar i{display:block;height:100%;background:var(--emerald)}
.usageBar i.warn{background:var(--brass)}.usageBar i.over{background:var(--b-critical)}

/* gaps */
.gap{border-left:3px solid var(--b-critical);padding:8px 0 8px 12px;margin-bottom:8px}
.gap .meta{font-size:11px;color:var(--text-3);font-weight:600;text-transform:uppercase;letter-spacing:.03em}
.gap .q{font-size:13.5px;color:var(--text);margin-top:2px}
.pill.wa{background:var(--wa);color:#053}.pill.instagram{background:var(--ig)}.pill.messenger{background:var(--ms)}

/* heatmap svg cells inherit fills inline */
.hmcell{stroke:#fff;stroke-width:1.5}
.axislbl{font-size:9px;fill:var(--text-3);font-family:var(--fn)}

@media(max-width:760px){.grid2{grid-template-columns:1fr}}
