/* Additive role controls only. The canonical manage.css and ai.css still own
   the page, original section cards, field grids, typography and form actions. */
.ai-profile-role-selector,
.ai-profile-policy {
  display: grid;
  gap: 10px;
  padding: 18px;
  border: 1px solid rgba(148, 163, 184, 0.3);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
}
.ai-profile-role-selector { margin-block: 0 18px; }
.ai-profile-role-selector p,
.ai-profile-policy p { margin: 0; color: #475569; overflow-wrap: anywhere; }
.ai-profile-role-buttons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ai-profile-role-buttons > button {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  text-align: left;
  white-space: normal;
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(148, 163, 184, 0.28);
  background: #f8fafc;
  color: #111827;
}
.ai-profile-role-buttons > button[aria-pressed="true"] { outline: 2px solid #475569; outline-offset: 2px; }
.ai-profile-role-buttons small { overflow-wrap: anywhere; }
.ai-profile-role-selector .form-status { margin-block: 14px 0; }
.ai-profile-legacy { margin-top: 14px; }
.ai-profile-policy [data-policy-links] { display: flex; gap: 16px; flex-wrap: wrap; }
[data-dual-profile-root] [data-profile-save-status] { overflow-wrap: anywhere; }
@media (max-width: 600px) { .ai-profile-role-buttons { grid-template-columns: 1fr; } }
[data-dual-profile-root] [hidden] { display: none !important; }

/* Audience identity field; the other six manager sections keep their styling. */
#ai-manager-root .ai-audience-marker { grid-column:1 / -1; min-width:0; margin:8px 0; padding:18px; border:1px solid #abc3b2; border-radius:12px; background:#f3f8f5; color:#173529; }
.ai-audience-marker[hidden] { display:none !important; }
#ai-manager-root .ai-audience-marker legend { padding:0 8px; color:#173529; font-weight:600; }
#ai-manager-root .ai-audience-marker legend span { margin-left:8px; font-size:11px; color:#386147; }
#ai-manager-root .ai-audience-marker p { line-height:1.6; overflow-wrap:anywhere; color:#365548; }
#ai-manager-root .ai-audience-marker label { display:grid; gap:8px; color:#173529; font-weight:600; }
#ai-manager-root .ai-audience-marker input { box-sizing:border-box; width:100%; min-width:0; max-width:100%; font-size:20px; border:1px solid #9fb5a7; border-radius:8px; padding:10px 12px; color:#142c20; background:#fff; }
#ai-manager-root .ai-marker-choices { display:flex; flex-wrap:wrap; gap:10px; margin:12px 0; }
#ai-manager-root .ai-marker-choices button { flex:0 0 auto; width:auto; min-width:48px; min-height:48px; padding:8px 14px; display:inline-flex; align-items:center; justify-content:center; font-size:20px; border:1px solid #a4baac; border-radius:8px; color:#173529; background:#fff; }
#ai-manager-root .ai-marker-choices button[aria-pressed="true"] { outline:2px solid #376c4a; outline-offset:2px; background:#deeddf; }
#ai-manager-root .ai-audience-marker :is(input,button):focus-visible { outline:2px solid #2763a5; outline-offset:3px; }
#ai-manager-root .ai-marker-sample { padding:14px; background:#e0ece3; border-radius:8px; margin:12px 0; }
#ai-manager-root .ai-marker-sample p { margin:8px 0 0; }
#ai-manager-root .ai-audience-marker [data-audience-marker-error] { color:#a22628; }
