.ai-privacy-notice {
  --ai-privacy-tone: var(--bs-primary);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  min-width: 0;
  gap: 10px 14px;
  margin-block: 12px;
  padding: 14px 16px;
  border: 1px solid color-mix(in srgb, var(--ai-privacy-tone) 30%, var(--bs-border-color));
  border-left: 4px solid var(--ai-privacy-tone);
  border-radius: 8px;
  background: var(--bostic-surface-raised, var(--bs-body-bg));
  box-shadow: 0 10px 26px color-mix(in srgb, var(--ai-privacy-tone) 8%, transparent);
  color: var(--bs-body-color);
  font-size: .875rem;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.ai-privacy-notice[data-ai-privacy-state="off"],
.ai-privacy-notice[data-ai-privacy-state="error"] { --ai-privacy-tone: var(--bs-danger); }
.ai-privacy-notice > i {
  display: grid;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--ai-privacy-tone) 30%, transparent);
  border-radius: 7px;
  background: color-mix(in srgb, var(--ai-privacy-tone) 13%, var(--bostic-surface-raised, var(--bs-body-bg)));
  color: var(--ai-privacy-tone);
  font-size: 1.45rem;
  line-height: 1;
}
.ai-privacy-notice p {
  flex: 1 1 260px;
  min-width: 0;
  margin: 0;
  color: var(--bs-body-color);
  font-weight: 650;
}
.ai-privacy-notice a,
.ai-privacy-notice button,
[data-build-resume] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  gap: 7px;
}
.ai-privacy-notice a {
  padding: 8px 14px;
  border: 1px solid var(--ai-privacy-tone);
  border-radius: 6px;
  background: var(--ai-privacy-tone);
  color: #fff;
  font-weight: 750;
  text-align: center;
  text-decoration: none;
}
.ai-privacy-notice a:hover {
  border-color: color-mix(in srgb, var(--ai-privacy-tone) 82%, var(--bs-emphasis-color));
  background: color-mix(in srgb, var(--ai-privacy-tone) 88%, var(--bs-emphasis-color));
  color: #fff;
}
.ai-privacy-notice button {
  border-color: color-mix(in srgb, var(--ai-privacy-tone) 42%, var(--bs-border-color));
  color: var(--ai-privacy-tone);
}
.ai-privacy-notice :focus-visible { outline: 2px solid var(--ai-privacy-tone); outline-offset: 3px; }
.ai-privacy-notice[hidden], .ai-privacy-notice [hidden], [data-build-start][hidden] { display: none !important; }
.bostic-ai-command-drawer .ai-privacy-notice {
  flex: 0 0 auto;
  margin: 0 16px;
  padding: 12px;
}
.bostic-ai-command-drawer .ai-privacy-notice p { flex-basis: calc(100% - 58px); }
.bostic-ai-command-drawer .ai-privacy-notice a,
.bostic-ai-command-drawer .ai-privacy-notice button { flex: 1 1 100%; width: 100%; }
.ai-build-conversation-viewport > .ai-privacy-notice { margin: 8px 16px; }
[data-build-start] { padding: 12px 16px; }
body[data-ai-page] .bostic-confirm-modal .btn,
body[data-ai-page] .bostic-confirm-fallback-actions .btn,
body:has([data-ai-command-form]) .bostic-confirm-modal .btn,
body:has([data-ai-command-form]) .bostic-confirm-fallback-actions .btn,
.ai-build-body .bostic-confirm-modal .btn,
.ai-build-body .bostic-confirm-fallback-actions .btn { min-height: 44px; white-space: normal; overflow-wrap: anywhere; }
body[data-ai-page] [data-ai-content-generate],
body[data-ai-page] [data-ai-generate],
body[data-ai-page] [data-ai-generate-inline],
body[data-ai-page] [data-ai-start-scan],
body[data-ai-page] [data-ai-visibility-run] { min-height: 44px; }

body[data-pc-theme="dark"] .ai-privacy-notice {
  background: var(--bostic-surface-raised, #232c38);
  color: var(--ai-ink-strong, #f8fafc);
  box-shadow: 0 12px 30px rgba(0, 0, 0, .2);
}
body[data-pc-theme="dark"] .ai-privacy-notice p { color: var(--ai-ink-strong, #f8fafc); }

@media (max-width: 575.98px) {
  .ai-privacy-notice { align-items: flex-start; padding: 13px; }
  .ai-privacy-notice > i { flex-basis: 40px; width: 40px; height: 40px; }
  .ai-privacy-notice p { flex-basis: calc(100% - 54px); }
  .ai-privacy-notice a,
  .ai-privacy-notice button { flex: 1 1 100%; width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .ai-privacy-notice,
  .ai-privacy-notice * { transition: none !important; }
}

/* Keep permission notices clear of the sidebar during viewport recalculation. */
@media (min-width: 1025px) {
  body[data-ai-page] .pc-container,
  body[data-ai-page] .page-header,
  body[data-ai-page] .pc-footer,
  body[data-ai-command-page] .pc-container,
  body[data-ai-command-page] .page-header,
  body[data-ai-command-page] .pc-footer { transition: none; }
}
