.visitor-privacy-open { position: fixed; bottom: 12px; left: 12px; z-index: 120; border: 1px solid #c7cccf; padding: 7px 10px; background: #fff; color: #272d31; border-radius: 4px; font-size: 12px; cursor: pointer; }
.visitor-privacy-panel { position: fixed; bottom: 52px; left: 12px; width: min(440px, calc(100% - 24px)); max-height: calc(100dvh - 80px); overflow: auto; box-sizing: border-box; z-index: 125; padding: 16px; background: #fff; color: #272d31; border: 1px solid #c7cccf; border-radius: 6px; box-shadow: 0 4px 18px #0002; font-size: 14px; }
.visitor-privacy-panel[hidden], .visitor-privacy-panel [hidden] { display: none !important; }
.visitor-privacy-panel header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.visitor-privacy-close { width: 32px; height: 32px; flex: 0 0 32px; background: transparent; border: 0; cursor: pointer; }
.visitor-privacy-close svg { width: 18px; height: 18px; }
.visitor-privacy-panel fieldset { border: 0; border-top: 1px solid #e1e4e6; margin: 12px 0 0; padding: 12px 0 0; min-width: 0; }
.visitor-privacy-panel legend { padding: 0 6px 0 0; font-weight: 600; font-size: 14px; }
.visitor-privacy-panel p { margin: 6px 0 12px; font-size: 14px; line-height: 1.45; }
.visitor-privacy-status { display: block; margin-bottom: 8px; font-size: 12px; color: #596168; }
.visitor-privacy-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.visitor-privacy-panel button { max-width: 100%; white-space: normal; overflow-wrap: break-word; letter-spacing: 0; }
.visitor-privacy-panel button:focus-visible, .visitor-privacy-open:focus-visible { outline: 2px solid #167058; outline-offset: 3px; }
.visitor-access-metrics { grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr)); }
.visitor-access-metrics > * { min-width: 0; }
.visitor-access-metrics span { overflow-wrap: break-word; }
.visitor-access-metrics .visitor-metric-empty, .commercial-kpi-link .visitor-metric-empty { font-size: 16px; line-height: 1.4; }
.visitor-measurement-coverage { display: flex; flex-wrap: wrap; gap: 8px 24px; font-size: 12px; color: #596168; margin: 12px 0 20px; }
.visitor-measurement-fields { display: grid; grid-template-columns: repeat(auto-fit,minmax(160px,1fr)); gap: 16px; margin: 12px 0; padding: 0; }
.visitor-measurement-fields dt { font-size: 12px; color: #596168; }
.visitor-measurement-fields dd { margin: 4px 0 0; font-size: 14px; font-weight: 600; }
.cookie-notice { position: fixed; inset: auto 0 0; z-index: 130; box-sizing: border-box; padding: 10px 20px; background: #fff; color: #454a4e; border-top: 1px solid #d8dcde; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 20px; }
.cookie-notice[hidden], .cookie-notice [hidden], .visitor-privacy-open[hidden], .cookie-footer-actions[hidden], .cookie-footer-actions [hidden] { display: none !important; }
.cookie-notice > p { margin: 0; font-size: 10px; line-height: 1.5; flex: 1 1 0; min-width: 0; }
.cookie-notice > .visitor-privacy-status { flex-basis: 100%; font-size: 12px; }
.cookie-notice-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.cookie-notice button { max-width: 100%; white-space: normal; overflow-wrap: break-word; letter-spacing: 0; border-radius: 4px; }
.cookie-footer-actions { position: fixed; left: 12px; bottom: 8px; max-width: calc(100% - 24px); z-index: 120; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; }
.cookie-reopen { padding: 4px; background: #fff; color: #596168; font: inherit; font-size: 11px; text-decoration: underline; border: 0; cursor: pointer; }
.cookie-notice-actions .button { font-size: 12px; min-height: 36px; padding: 8px 16px; }
.cookie-notice button:focus-visible { outline: 2px solid #167058; outline-offset: 3px; }
@media (max-width: 600px) {
  .cookie-notice { padding: 10px 16px; gap: 8px; }
  .cookie-notice-actions { flex: 0 0 auto; }
  .cookie-notice-actions .button { min-height: 40px; padding: 8px 12px; }
}
