.assistant-approvals {
  margin: 0 16px 12px;
  padding: 12px;
  border: 1px solid #ead7e7;
  border-radius: 15px;
  background: linear-gradient(135deg, #fff9fd, #faf8ff);
}
.assistant-approvals > header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 9px; }
.assistant-approvals > header strong { color: #344767; font-size: 13px; }
.assistant-approvals > header span { display: grid; place-items: center; min-width: 24px; height: 24px; border-radius: 999px; background: #f5e1f1; color: #a30d83; font-size: 11px; font-weight: 800; }
.assistant-approval-card { padding: 11px; border: 1px solid #ece4ee; border-radius: 12px; background: #fff; }
.assistant-approval-card + .assistant-approval-card { margin-top: 8px; }
.assistant-approval-card p { margin: 0; color: #45516c; font-size: 12px; line-height: 1.5; }
.assistant-approval-meta { display: flex; gap: 7px; margin: 7px 0; }
.assistant-approval-meta span { padding: 3px 7px; border-radius: 999px; background: #f1f2f6; color: #65708a; font-size: 10px; }
.assistant-approval-meta .high, .assistant-approval-meta .critical { background: #fff0f1; color: #bf3f4b; }
.assistant-approval-actions { display: flex; gap: 7px; }
.assistant-approval-actions button { flex: 1; padding: 7px; border: 1px solid #e1e4ec; border-radius: 9px; background: #fff; color: #5c6680; font: inherit; font-size: 11px; font-weight: 700; cursor: pointer; }
.assistant-approval-actions button[data-decision="approve"] { border-color: #d9c1ed; background: #f8efff; color: #8521a8; }
.assistant-approval-actions .primary { border-color: #d9c1ed; background: #f8efff; color: #8521a8; }
.assistant-approval-card details { margin: 7px 0 9px; }
.assistant-approval-card details summary { color: #8f247e; font-size: 11px; font-weight: 800; cursor: pointer; }
.assistant-pair-preview { display: grid; gap: 5px; margin-top: 7px; }
.assistant-pair-preview strong { margin-top: 3px; color: #344767; font-size: 11px; }
.assistant-pair-preview span { display: grid; grid-template-columns: minmax(72px, .7fr) 1.3fr; gap: 8px; padding: 6px 7px; border-radius: 8px; background: #f7f7fb; color: #5f6980; font-size: 10px; overflow-wrap: anywhere; }
.assistant-pair-preview span b { color: #3f4960; }
.assistant-pair-preview em { color: #8b93a7; font-size: 10px; }
.assistant-proposal-edit { display: grid; gap: 9px; }
.assistant-proposal-edit[hidden] { display: none; }
.assistant-proposal-edit label { display: grid; gap: 5px; color: #53607b; font-size: 11px; font-weight: 800; }
.assistant-proposal-edit textarea,
.assistant-proposal-edit input { width: 100%; box-sizing: border-box; border: 1px solid #e1e4ec; border-radius: 8px; background: #fbfbfd; color: #344767; font: inherit; font-size: 11px; padding: 7px 8px; }
.assistant-proposal-edit textarea:focus,
.assistant-proposal-edit input:focus { outline: 2px solid #edd8f5; border-color: #cf91dc; }
.assistant-pair-row { display: grid; grid-template-columns: minmax(76px, .8fr) 1.2fr; gap: 6px; }
.assistant-pair-row + .assistant-pair-row { margin-top: 5px; }
.assistant-validation-row { display: flex; align-items: center; gap: 8px; margin: 8px 0; }
.assistant-validation-row button { flex: 0 0 auto; padding: 6px 9px; border: 1px solid #d9c1ed; border-radius: 8px; background: #fbf5ff; color: #8521a8; font: inherit; font-size: 10px; font-weight: 800; cursor: pointer; }
.assistant-validation-row span { color: #8b93a7; font-size: 10px; line-height: 1.35; overflow-wrap: anywhere; }
.assistant-validation-row span.valid { color: #168162; }
.assistant-validation-row span.invalid { color: #bf3f4b; }
.assistant-validation-row span.checking { color: #856f21; }
.assistant-memories { background: linear-gradient(135deg, #f7fffc, #faf8ff); border-color: #d5eee6; }
.assistant-memories > header strong { color: #276b5a; }
.assistant-memories > header span { background: #def5ed; color: #1b7d63; }
.assistant-memories .assistant-approval-actions button[data-memory-decision="approve"] { border-color: #bfe4d7; background: #effbf7; color: #19745c; }
.assistant-memory-bank { margin: 0 16px 12px; padding: 10px 12px; border: 1px solid #dfe7e4; border-radius: 13px; background: #fbfdfc; }
.assistant-memory-bank > summary { color: #52645f; font-size: 11px; font-weight: 800; cursor: pointer; }
.assistant-memory-bank > summary span { float: right; display: grid; place-items: center; min-width: 21px; height: 21px; border-radius: 999px; background: #e8f3ef; color: #26705e; font-size: 10px; }
.assistant-memory-bank article { padding: 8px 0; border-top: 1px solid #e8eeec; }
.assistant-memory-bank article:first-child { margin-top: 8px; }
.assistant-memory-bank article p { margin: 0 0 6px; color: #526078; font-size: 11px; line-height: 1.45; }
.assistant-memory-bank article > div { display: flex; align-items: center; justify-content: space-between; }
.assistant-memory-bank article span { color: #7d897f; font-size: 10px; }
.assistant-memory-bank article button { padding: 4px 7px; border: 1px solid #e2d6d8; border-radius: 7px; background: #fffafb; color: #a14b56; font: inherit; font-size: 10px; font-weight: 700; cursor: pointer; }
.assistant-rule-bank { border-color: #e8d9ea; background: #fffafd; }
.assistant-rule-bank article a { padding: 5px 8px; border: 1px solid #e1c7dd; border-radius: 7px; background: #fff; color: #9d177f; font-size: 10px; font-weight: 800; text-decoration: none; }
.assistant-rule-bank code { color: #6f5270; font-size: 9px; }

.assistant-evidence { margin-top: 9px; padding-top: 8px; border-top: 1px solid #ececf3; }
.assistant-evidence summary { color: #8f247e; font-size: 11px; font-weight: 800; cursor: pointer; }
.assistant-evidence > strong { display: block; margin-top: 9px; color: #53607b; font-size: 11px; }
.assistant-evidence ul { margin: 4px 0 0; padding-left: 17px; }
.assistant-evidence li { margin: 3px 0; color: #68728a; font-size: 11px; line-height: 1.45; }
.assistant-evidence > small { display: block; margin-top: 8px; color: #8b93a7; font-size: 10px; }
