:root { --accent: #7c3aed; --accent-soft: #f3e8ff; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --accent: #a78bfa; --accent-soft: #2a2140; } }
:root[data-theme="dark"] { --accent: #a78bfa; --accent-soft: #2a2140; }

/* Conversation */
.chat { display: flex; flex-direction: column; gap: 10px; min-height: 40vh; }
.msg { max-width: 85%; padding: 9px 13px; border-radius: 14px; white-space: pre-wrap; word-wrap: break-word; }
.msg.user { align-self: flex-end; background: var(--accent); color: #fff; border-bottom-right-radius: 4px; }
.msg.assistant { align-self: flex-start; background: var(--panel); border: 1px solid var(--line); border-bottom-left-radius: 4px; }
.msg.tool { align-self: flex-start; font-size: 13px; color: var(--muted); padding: 2px 6px; }
.msg.tool.err { color: var(--danger); }
.msg.notice { align-self: center; font-size: 13px; color: var(--warn); }
.msg .src { display: block; font-size: 11px; opacity: .8; margin-bottom: 2px; }
.composer { position: sticky; bottom: 0; display: flex; gap: 8px; padding: 12px 0; background: var(--bg); }
@media (max-width: 720px) { .composer { bottom: 62px; } }
.composer textarea { min-height: 44px; max-height: 40vh; }
.conv-bar { display: flex; gap: 8px; margin-bottom: 14px; }
.conv-bar select { flex: 1; }
.mic.on { background: var(--danger); border-color: var(--danger); color: #fff; }

/* Cartes de la boîte de réception, routines, journal */
.item-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.item-head b { font-size: 15px; }
.item-body { white-space: pre-wrap; margin: 8px 0 0; }
.item-actions { display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap; }
.consigne { margin-top: 8px; padding: 8px 10px; border-left: 3px solid var(--accent); background: var(--panel-2); border-radius: 6px; font-size: 13px; white-space: pre-wrap; }
.level-precis { color: #475569; } .level-souple { color: #a16207; } .level-intelligent { color: var(--accent); }
.days { display: flex; gap: 4px; flex-wrap: wrap; }
.days label { display: inline-flex; align-items: center; gap: 3px; font-size: 13px; padding: 3px 8px; border: 1px solid var(--line); border-radius: 999px; cursor: pointer; }
.tools-list { margin: 6px 0 0; padding-left: 18px; font-size: 13px; color: var(--muted); }
details summary { cursor: pointer; }
