.module-nav.grouped-nav { grid-template-columns:2fr 4fr 4fr; }
.entry-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.insight-filter { display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-bottom:20px; }
.insight-filter label { display:grid;gap:6px;font-size:13px;color:var(--muted-strong); }
.insight-filter input,.insight-filter select { min-height:42px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);padding:9px 12px;color:var(--ink);max-width:100%; }
.insight-filter .user-search { flex:1;min-width:180px; }
.insight-range-shortcuts { display:flex;gap:6px;flex-wrap:wrap; }
.insight-coverage { padding:14px 18px;background:var(--accent-soft);border-radius:12px;color:var(--muted-strong);font-size:13px;line-height:1.7; }
.insight-freshness { color:var(--muted);font-size:12px;line-height:1.8;margin:12px 0 18px; }
.insight-stats { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px; }
.insight-stat { padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:16px; }
.insight-stat span,.insight-stat small { display:block;color:var(--muted);font-size:13px; }
.insight-stat strong { display:block;font-size:34px;color:var(--accent-dark);line-height:1.4;margin:6px 0;font-variant-numeric:tabular-nums; }
.insight-charts { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px; }
.insight-chart { min-width:0; }
.insight-chart h3 { font-size:15px;margin:0 0 12px; }
.insight-chart svg { width:100%;display:block; }
.insight-chart svg text { fill:var(--muted-strong);font:11px system-ui,sans-serif; }
.chart-grid { stroke:var(--line);stroke-width:1; }
.chart-line { stroke:var(--accent);stroke-width:2.5;stroke-linejoin:round; }
.chart-dot { fill:var(--accent); }
.new-user-chart { padding:4px 0 24px;margin:0 0 24px;border-bottom:1px solid var(--line); }
.new-user-heading { display:flex;align-items:center;justify-content:space-between;gap:12px; }
.new-user-heading h2 { margin:0;font-size:18px; }
.new-user-unit { color:var(--muted);font-size:12px; }
.new-user-legend { display:flex;flex-wrap:wrap;gap:12px 24px;margin:16px 0 8px;font-size:13px;color:var(--muted-strong); }
.new-user-legend > span { display:flex;align-items:center;gap:6px; }
.new-user-legend strong { color:var(--ink);font-variant-numeric:tabular-nums; }
.new-user-swatch { display:inline-block;width:24px;border-top:3px solid #80576c; }
.new-user-swatch.unregistered { border-color:#a57931;border-top-style:dashed; }
.new-user-line { stroke:#80576c;stroke-width:2.8;stroke-linejoin:round;stroke-linecap:round; }
.new-user-line.unregistered { stroke:#a57931;stroke-dasharray:7 5; }
.new-user-dot { fill:#80576c;stroke:var(--surface);stroke-width:1; }
.new-user-dot.unregistered { fill:#a57931; }
.new-user-target { cursor:pointer; }
.new-user-target[aria-pressed="true"],.new-user-target:focus { fill:var(--accent-soft);fill-opacity:.35;outline:none; }
.new-user-target:focus { stroke:var(--accent);stroke-width:1; }
.new-user-readout { display:flex;flex-wrap:wrap;gap:8px 20px;padding:12px 14px;border-radius:10px;background:var(--surface-soft);color:var(--muted-strong);font-size:13px; }
.new-user-readout strong { color:var(--ink);font-variant-numeric:tabular-nums; }
.new-user-definition,.new-user-coverage { margin:12px 0 0;font-size:12px;line-height:1.7;color:var(--muted-strong); }
.insight-empty { padding:35px 16px;text-align:center;color:var(--muted);font-size:14px; }
.insight-table-wrap { overflow:auto; }
.insight-table { width:100%;border-collapse:collapse;font-size:13px; }
.insight-table th,.insight-table td { padding:12px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap; }
.insight-table th { color:var(--muted-strong);font-weight:600;background:var(--surface-soft); }
.insight-table td:nth-last-child(-n+2) { font-variant-numeric:tabular-nums; }
.insight-modules { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px; }
.module-insight { padding:16px;border:1px solid var(--line);border-radius:12px;min-width:0; }
.module-insight h3 { margin:0 0 14px;font-size:16px; }
.module-visit { display:grid;gap:8px;font-size:12px;color:var(--muted); }
.module-visit span { display:flex;justify-content:space-between;gap:8px; }
.module-visit strong { color:var(--ink);font-size:16px; }
.visit-bar { height:5px;border-radius:5px;background:var(--accent-soft);margin-top:16px;overflow:hidden; }
.visit-bar span { display:block;height:100%;background:var(--accent);border-radius:5px; }
.insight-business { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px; }
.business-insight { padding:18px;border:1px solid var(--line);border-radius:12px; }
.business-insight h3 { margin:0;font-size:16px; }
.business-insight p { font-size:14px;line-height:1.8;margin:10px 0; }
.business-insight small { color:var(--muted);font-size:12px;line-height:1.7; }
.business-states { display:flex;flex-wrap:wrap;gap:7px;margin-top:14px; }
.business-states span,.user-state { background:var(--surface-soft);border:1px solid var(--line);border-radius:20px;padding:4px 9px;font-size:11px;font-weight:400;color:var(--muted-strong); }
.insight-definitions { margin-top:18px;color:var(--muted-strong);font-size:13px;line-height:1.8; }
.insight-definitions summary,.insight-daily summary { cursor:pointer;font-size:13px;padding:14px 0;color:var(--accent-dark); }
.insight-daily { margin-top:10px; }
.insight-daily > div { max-height:320px;overflow:auto; }
.users-filter.insight-filter { display:grid;gap:14px;margin:0; }
.users-panel > .panel-head { flex-direction:row;align-items:center;gap:12px; }
.users-search-row { display:flex;align-items:end;gap:10px; }
.users-filter .user-search { min-width:0; }
.users-search-row > button { flex-shrink:0; }
.users-filter-row { display:grid;grid-template-columns:repeat(3,minmax(0,180px)) auto;align-items:end;gap:12px; }
.users-filter-row > button { justify-self:start; }
.users-filter-summary { margin:14px 0 0;font-size:13px;line-height:1.7;color:var(--muted-strong);overflow-wrap:anywhere; }
.users-filter-summary:empty { display:none; }
.user-list { margin-top:20px; }
.user-list-head,.user-card { display:grid;grid-template-columns:minmax(170px,1.15fr) minmax(180px,1fr) minmax(170px,1fr) 140px 90px;gap:20px;align-items:center; }
.user-list-head { padding:12px 16px;border-radius:10px;background:var(--surface-soft);color:var(--muted-strong);font-size:12px; }
.user-card { padding:20px 16px;border-bottom:1px solid var(--line);background:var(--surface); }
.user-card:last-child { border-bottom:0; }
.user-identity,.user-detail-identity { display:flex;align-items:center;gap:12px;min-width:0; }
.user-avatar { display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border-radius:50%;color:var(--accent-dark);background:var(--accent-soft);font-size:19px; }
.user-main { min-width:0;flex:1; }
.user-main h3 { font-size:15px;margin:0 0 8px;line-height:1.6;overflow-wrap:anywhere; }
.user-labels { display:flex;align-items:center;gap:8px;flex-wrap:wrap; }
.user-state { white-space:nowrap; }
.user-state[data-user-status="active"] { color:var(--success);background:var(--success-soft);border-color:#c8decf; }
.user-state[data-user-status="pending"] { color:var(--warning);background:var(--warning-soft);border-color:#e9d7b5; }
.user-state[data-user-status="disabled"] { color:var(--danger);background:var(--danger-soft);border-color:#ecc7cd; }
.user-source,.user-muted { color:var(--muted);font-size:12px;line-height:1.7; }
.user-contacts { min-width:0;display:grid;gap:4px; }
.user-contact-line { display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0;position:relative; }
.user-field-label { color:var(--muted-strong);font-size:12px;flex:0 0 auto; }
.user-contact-value { font-size:13px;line-height:1.7;overflow-wrap:anywhere;white-space:pre-wrap;min-width:0;flex:1;user-select:text; }
.user-copy-btn.ghost-btn { min-height:44px;padding:4px 8px;font-size:12px;color:var(--accent-dark);border-color:transparent;background:transparent;flex:0 0 auto; }
.user-copy-btn.ghost-btn:hover { background:var(--accent-soft); }
.user-copy-result { flex-basis:100%;font-size:12px;color:var(--success); }
.user-copy-result:empty { display:none; }
.user-copy-manual { flex-basis:100%;display:grid;gap:8px;padding:12px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface-soft); }
.user-copy-manual p { margin:0;font-size:12px;line-height:1.7; }
.user-copy-manual label { font-size:12px;display:grid;gap:6px;min-width:0; }
.user-copy-manual input { width:100%;min-width:0; }
.user-copy-manual button { justify-self:start; }
.user-copy-buffer { position:fixed;width:1px;height:1px;opacity:0;pointer-events:none; }
.user-counts { display:flex;gap:8px 12px;flex-wrap:wrap;font-size:12px;color:var(--muted-strong);line-height:1.7;min-width:0; }
.user-counts strong { color:var(--ink);font-variant-numeric:tabular-nums; }
.user-counts .user-like { color:var(--accent-dark); }
.user-activity { display:grid;gap:4px;font-size:12px;line-height:1.7;color:var(--muted-strong); }
.user-activity > span,.user-activity small { font-size:11px;color:var(--muted); }
.user-activity time { font-variant-numeric:tabular-nums; }
.user-detail-entry { font-size:12px;padding:8px; }
.user-list-loading { min-height:180px;background:var(--surface-soft);border-radius:12px; }
.user-detail-panel.modal-panel { width:min(860px,100%);max-height:90dvh;overflow:auto;padding:24px; }
.user-detail-panel > .modal-head { position:sticky;top:-24px;z-index:2;margin:-24px -24px 24px;padding:16px 24px;background:var(--surface); }
.user-detail-panel > .modal-head h2 { overflow-wrap:anywhere;font-size:18px; }
.user-detail-identity { margin-bottom:24px; }
.user-detail-identity .user-avatar { width:52px;height:52px;font-size:22px; }
.user-main h3.user-detail-name { font-size:20px; }
.user-contact-section { padding:18px;border:1px solid var(--line);border-radius:14px; }
.user-contact-section h3,.user-section-head h3 { margin:0;font-size:15px; }
.user-detail-contacts { display:grid;gap:14px;margin-top:16px; }
.user-detail-contacts .user-field-label { width:60px;align-self:flex-start;padding-top:4px; }
.user-detail-contacts .user-contact-value { font-size:14px; }
.user-account-details { margin-top:18px; }
.user-account-details summary { padding:8px 0;cursor:pointer;color:var(--muted-strong);font-size:13px; }
.user-profile { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 0 20px; }
.user-account-details .user-profile { margin-top:14px;padding:16px;background:var(--surface-soft);border-radius:12px; }
.user-profile div { min-width:0; }
.user-profile dt { color:var(--muted);font-size:12px;margin-bottom:6px; }
.user-profile dd { margin:0;font-size:14px;line-height:1.6;overflow-wrap:anywhere;white-space:pre-wrap; }
.user-business-records { margin-top:24px;padding-top:22px;border-top:1px solid var(--line); }
.user-section-head { display:flex;align-items:center;justify-content:space-between;gap:12px; }
.user-section-head > button { font-size:12px; }
.user-record-tabs { margin-top:14px; }
.user-record-tabs label { display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted-strong); }
.user-record-tabs select { width:auto;max-width:100%;min-height:44px; }
.user-record { display:flex;gap:12px;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line); }
.user-record > div { min-width:0; }
.user-record strong { font-size:14px;overflow-wrap:anywhere; }
.user-record p { font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere; }
.user-record small { display:block;color:var(--muted);font-size:12px;margin-top:6px;overflow-wrap:anywhere; }
.user-record button { flex-shrink:0;font-size:12px; }
@media(max-width:1120px) {
 .user-list { display:grid;gap:12px; }.user-list-head { display:none; }
 .user-card { grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:18px;border:1px solid var(--line);border-radius:14px; }
 .user-card:last-child { border-bottom:1px solid var(--line); }
 .user-identity,.user-contacts,.user-counts { grid-column:1/-1; }
 .user-activity { grid-column:1;grid-row:4; }.user-detail-entry { grid-column:2;grid-row:4; }
}
@media(max-width:1040px) { .entry-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .insight-modules { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:760px) {
 .module-nav.grouped-nav { display:none; } .entry-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .insight-stats,.insight-modules { grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
 .insight-stat { padding:16px; } .insight-stat strong { font-size:28px; }
 .insight-charts,.insight-business { grid-template-columns:minmax(0,1fr); }
 .insight-filter { gap:10px; } .insight-filter label { flex:1;min-width:130px; } .insight-filter button { min-height:42px; }
 .insight-filter .user-search { flex-basis:100%; }
 .users-filter-row { grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
 .users-filter-row > button { justify-self:stretch; }
 .users-filter label { min-width:0; }.users-search-row .user-search { flex-basis:auto; }
 .user-card { padding:16px;gap:12px; }.user-main { width:auto; }
 .user-activity time { font-size:11px; }.user-activity time::before { content:""; }.user-activity > span { display:block; }
 .user-profile { grid-template-columns:minmax(0,1fr); } .user-record { align-items:flex-start; }
 .user-detail-panel.modal-panel { max-height:100dvh;height:100dvh;border-radius:0;width:100%;padding:20px 16px calc(24px + env(safe-area-inset-bottom)); }
 .user-detail-panel > .modal-head { top:-20px;margin:-20px -16px 20px;padding:14px 16px; }
 .user-contact-section { padding:16px; }.user-detail-contacts .user-field-label { width:48px; }
 .user-record { flex-wrap:wrap; }.user-record > div { flex:1;min-width:150px; }
 .users-panel .list-pager { flex-wrap:wrap; }.users-panel .list-pager > span { flex-basis:100%;text-align:center; }
 #userDetailModal { padding:0; }
}
