/* Scope every rule so neighboring workbench tools keep their own layout. */
#visitorPanel{color:#24324a;min-width:0;display:grid;gap:12px}
#visitorPanel[hidden],#visitorPanel [hidden]{display:none!important}
#visitorPanel .vq-card{background:#fff;border:1px solid #dfe6ef;border-radius:12px;padding:16px;min-width:0}
#visitorPanel .vq-head,#visitorPanel .vq-actions,#visitorPanel .vq-cache,#visitorPanel .vq-state,#visitorPanel .vq-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
#visitorPanel h2{margin:0;font-size:20px}#visitorPanel h3{margin:0 0 12px;font-size:16px}#visitorPanel h4{margin:0 0 12px;font-size:14px}
#visitorPanel p{line-height:1.65;margin:8px 0}#visitorPanel small,#visitorPanel .vq-muted{color:#64748b;font-size:12px;line-height:1.6}
#visitorPanel button,#visitorPanel input,#visitorPanel select{font:inherit;min-height:40px;border-radius:9px;border:1px solid #d5deeb;background:#fff;color:#334155;padding:8px 12px;max-width:100%;box-sizing:border-box}
#visitorPanel button{cursor:pointer;font-weight:600;white-space:nowrap}#visitorPanel button:disabled{opacity:.5;cursor:default}#visitorPanel button.primary{background:#2563eb;color:#fff;border-color:#2563eb}
#visitorPanel button:hover:not(:disabled){border-color:#3b82f6;background:#eff6ff}#visitorPanel button.primary:hover:not(:disabled){background:#1d4ed8;color:#fff}
#visitorPanel :is(button,input,select,summary,a):focus-visible{outline:3px solid #93c5fd;outline-offset:3px}
#visitorPanel .vq-form{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:12px 0}#visitorPanel label{display:grid;gap:6px;font-size:13px;min-width:0}#visitorPanel .vq-form label{flex:0 1 190px}
#visitorPanel .vq-cache{justify-content:flex-start;border-top:1px solid #edf1f6;padding-top:10px}#visitorPanel .vq-cache label{flex:1 1 320px;max-width:620px}#visitorPanel select{width:100%;min-width:0}
#visitorPanel .vq-state{justify-content:flex-start;margin-top:10px;color:#475569}#visitorPanel .vq-state progress{width:100%;height:6px;accent-color:#2563eb}
#visitorPanel .vq-issue{padding:12px 16px;background:#fff7ed;color:#9a3412;border-radius:10px}#visitorPanel .vq-notice{padding:12px 16px;background:#eff6ff;color:#1d4ed8;border-radius:10px}
#visitorPanel #vqResults{display:grid;gap:12px}#visitorPanel .vq-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}#visitorPanel .vq-kpi{display:grid;gap:6px;background:#fff;border:1px solid #dfe6ef;border-radius:14px;padding:12px}#visitorPanel .vq-kpi span{font-size:13px;color:#64748b}#visitorPanel .vq-kpi strong{font-size:23px;line-height:1.15;color:#1e40af;font-variant-numeric:tabular-nums}
#visitorPanel .vq-summary{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:12px}#visitorPanel .vq-chips,#visitorPanel .vq-levels{display:flex;gap:8px;flex-wrap:wrap}#visitorPanel .vq-chips button{display:flex;align-items:center;gap:9px}#visitorPanel .vq-chips button[aria-pressed=true]{background:#eff6ff;color:#1d4ed8;border-color:#93c5fd}#visitorPanel .vq-levels button{flex:1 1 75px;display:grid;gap:6px;white-space:normal;background:#f8fafc}#visitorPanel .vq-levels small{font-size:11px}
#visitorPanel #vqCountries{display:grid;gap:8px}#visitorPanel #vqCountries button{width:100%;display:grid;grid-template-columns:1fr auto;gap:6px;text-align:left;background:#f8fafc}#visitorPanel #vqCountries meter,#visitorPanel #vqCountries small{grid-column:1/-1;width:100%}#visitorPanel meter{height:7px;accent-color:#3b82f6}
#visitorPanel summary{cursor:pointer;min-height:40px;display:flex;align-items:center;color:#2563eb;font-size:13px}#visitorPanel details[open]>summary{margin-bottom:8px}
#visitorPanel .vq-words{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}#visitorPanel .vq-word{border:1px solid #e2e8f0;border-radius:12px;padding:14px;background:#f8fafc;min-width:0;overflow-wrap:anywhere}#visitorPanel .vq-word header{display:flex;gap:10px;justify-content:space-between;align-items:flex-start}#visitorPanel .vq-word header span{color:#1d4ed8;background:#eaf2ff;border-radius:6px;padding:3px 7px;flex-shrink:0;font-size:11px}#visitorPanel .vq-word p{font-size:12px;color:#64748b}
#visitorPanel .vq-filters{display:grid;grid-template-columns:2fr repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}#visitorPanel .vq-list{display:grid;gap:14px;margin-top:14px}#visitorPanel .vq-visitor{border:1px solid #dfe6ef;border-radius:14px;padding:12px;background:#fff;min-width:0;overflow-wrap:anywhere}#visitorPanel .vq-visitor>header{display:flex;justify-content:space-between;gap:16px;margin-bottom:8px}#visitorPanel .vq-visitor h3{margin:0}#visitorPanel .vq-visitor header p{font-size:12px;color:#64748b}#visitorPanel .vq-score{display:grid;gap:5px;text-align:right;flex-shrink:0}#visitorPanel .vq-score strong{font-size:28px;color:#2563eb}#visitorPanel .vq-score span{font-size:12px;color:#475569}
#visitorPanel .vq-visitor-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px}#visitorPanel .vq-signals{display:flex;gap:6px;flex-wrap:wrap}#visitorPanel .vq-signals span{font-size:12px;border-radius:6px;padding:4px 7px;background:#f1f5f9}#visitorPanel .vq-signals .positive{background:#ecfdf5;color:#047857}#visitorPanel .vq-keyword-line{display:flex;gap:8px;flex-wrap:wrap;font-size:12px;color:#475569}#visitorPanel .vq-advice{font-size:13px;border-left:3px solid #bfdbfe;padding-left:12px;color:#475569}#visitorPanel .vq-trail{min-width:0;background:#f8fafc;border-radius:12px;padding:16px}#visitorPanel .vq-trail h4 small{font-weight:400;display:block;margin-top:4px}
#visitorPanel .vq-product{display:flex;gap:12px;margin:10px 0;min-width:0}#visitorPanel .vq-product>div{min-width:0}#visitorPanel .vq-product img,#visitorPanel .vq-image-empty{width:64px;height:64px;object-fit:contain;background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-shrink:0}#visitorPanel .vq-image-empty{display:grid;place-items:center;font-size:11px;color:#94a3b8}#visitorPanel .vq-product a{color:#1e40af;text-decoration:none;font-size:13px}#visitorPanel .vq-product small{display:block;margin-top:6px}
#visitorPanel .vq-pager{display:flex;justify-content:center;margin-top:10px}#visitorPanel .vq-export-check{display:flex;align-items:center;gap:7px}#visitorPanel input[type=checkbox]{min-height:18px;width:18px;height:18px;accent-color:#2563eb}
#visitorPanel dialog{position:fixed;inset:0;margin:auto;border:1px solid #dbe3ef;border-radius:18px;padding:24px;width:min(1040px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:85vh;overflow:auto;box-sizing:border-box;color:#24324a;background:#fff;box-shadow:0 24px 70px #0f172a26}#visitorPanel dialog::backdrop{background:#0f172a66}#visitorPanel .vq-dialog-head{margin-bottom:18px}#visitorPanel #vqConfirm{width:440px}#visitorPanel #vqWordSearch{width:100%;margin:14px 0}
@media(min-width:1200px){#visitorPanel .vq-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:1200px){#visitorPanel .vq-summary{grid-template-columns:minmax(0,1fr)}#visitorPanel .vq-filters{grid-template-columns:repeat(2,minmax(0,1fr))}#visitorPanel .vq-visitor-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:800px){#visitorPanel .vq-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}#visitorPanel .vq-words{grid-template-columns:minmax(0,1fr)}#visitorPanel .vq-card{padding:16px}#visitorPanel .vq-word header{flex-wrap:wrap}}
@media(max-width:480px){#visitorPanel .vq-filters{grid-template-columns:minmax(0,1fr)}#visitorPanel .vq-form label{flex:1 1 100%}#visitorPanel .vq-actions{justify-content:flex-start}#visitorPanel .vq-kpi{padding:14px}#visitorPanel .vq-kpi strong{font-size:23px}#visitorPanel .vq-visitor{padding:14px}#visitorPanel dialog{padding:16px}}
@media(prefers-reduced-motion:reduce){#visitorPanel *,#visitorPanel *::before,#visitorPanel *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

#visitorPanel .vq-records{margin-top:8px}#visitorPanel .vq-records>summary{min-height:30px}#visitorPanel .vq-cache{border:0;padding-top:6px}#visitorPanel .vq-visitor h3{font-size:14px}#visitorPanel .vq-score strong{font-size:22px}#visitorPanel .vq-visitor>details>summary{min-height:32px}#visitorPanel .vq-list{max-height:680px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}#visitorPanel .vq-visitor>details[open]{border-top:1px solid #edf1f6;margin-top:8px;padding-top:6px}#visitorPanel .vq-notice{padding:8px 12px}

/* Reuse the report calendar, keeping the compact visitor form and theme colors. */
#visitorPanel .vq-form .bs-date-control{min-width:0;flex:0 1 190px;font-size:13px}
#visitorPanel .bs-date-control>button{width:100%;text-align:left}
#visitorPanel .bs-date-control:nth-child(2) .bs-date-popup{left:auto;right:0}
#visitorPanel .bs-picker-grid button{min-width:0;min-height:38px;padding:7px 2px;font-size:12px}
#visitorPanel .bs-picker-nav button{min-width:28px;min-height:30px;padding:3px 6px}
#visitorPanel .bs-picker-heading>button{min-height:30px;padding:4px 8px;font-size:20px}
#visitorPanel .bs-picker-grid button[aria-pressed=true]{background:var(--wb-primary,#2563eb);color:var(--wb-on-primary,#fff);border-color:var(--wb-primary,#2563eb);border-radius:4px}
#visitorPanel .bs-picker-hint{font-size:11px;line-height:1.6;margin:12px 0 0;color:var(--wb-muted,#64748b)}
@media(max-width:600px){#visitorPanel .vq-form .bs-date-control{flex-basis:100%;width:100%}#visitorPanel .bs-picker-grid button{min-height:40px}}
