.vvm-consent-panel[hidden], .vvm-consent-options[hidden], .vvm-consent-reopen[hidden] { display: none !important; }
.vvm-consent-panel, .vvm-consent-panel *, .vvm-consent-reopen { box-sizing: border-box; }
.vvm-consent-panel {
  position: fixed; z-index: 2147483000; bottom: 16px; left: 16px;
  width: min(690px, calc(100vw - 32px)); max-height: calc(100vh - 32px);
  overflow-y: auto; padding: 22px; border: 1px solid #c8d4e0;
  border-radius: 16px; background: #fff; color: #172e48;
  box-shadow: 0 12px 42px rgba(9, 29, 49, .28);
  font: 16px/1.45 system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.vvm-consent-panel h2 { color: #172e48; font-size: 22px; font-weight: 700; line-height: 1.2; margin: 0 0 12px; }
.vvm-consent-panel p { color: #253b50; margin: 0 0 14px; }
.vvm-consent-panel a { color: #124a80; text-decoration: underline; }
.vvm-consent-panel button, .vvm-consent-reopen {
  appearance: none; font: 600 15px/1.3 system-ui, sans-serif; cursor: pointer;
  padding: 10px 14px; border-radius: 8px; border: 2px solid #174c79;
  background: #fff; color: #174c79;
}
.vvm-consent-panel button:hover, .vvm-consent-reopen:hover { background: #eaf3fb; }
.vvm-consent-panel button:focus-visible, .vvm-consent-reopen:focus-visible,
.vvm-consent-panel input:focus-visible, .vvm-consent-panel a:focus-visible {
  outline: 3px solid #d49e25; outline-offset: 2px;
}
.vvm-consent-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.vvm-consent-actions button:nth-child(-n+2) { flex: 1 1 160px; }
.vvm-consent-options { padding: 12px 0; }
.vvm-consent-options label { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 14px; }
.vvm-consent-options input { flex: 0 0 auto; margin-top: 4px; width: 18px; height: 18px; }
.vvm-consent-reopen {
  position: fixed; z-index: 2147482999; left: 12px; bottom: 12px;
  padding: 7px 10px; font-size: 12px; box-shadow: 0 4px 15px rgba(9, 29, 49, .18);
}
@media (max-width: 480px) {
  .vvm-consent-panel { bottom: 8px; left: 8px; width: calc(100vw - 16px); max-height: calc(100dvh - 16px); padding: 16px; }
  .vvm-consent-actions button { flex: 1 1 100%; }
}
