/* Structured account editor, audit console and locally scrollable rich content. */
#user-edit-modal .settings-box{display:flex;flex-direction:column;overflow:hidden;height:min(860px,92dvh)}
#user-edit-modal .settings-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:18px}
.user-editor-tabs{display:flex;gap:4px;padding:8px 16px;border-bottom:1px solid var(--bd);overflow-x:auto;flex-shrink:0;background:var(--s1)}
.user-editor-tabs button{flex:0 0 auto;min-height:44px;border:0;border-radius:9px;padding:10px 14px;background:transparent;color:var(--mt);font:inherit;font-size:13px;cursor:pointer}
.user-editor-tabs button[aria-selected=true]{background:var(--s3);color:var(--ac);font-weight:700}
.user-editor-panel[hidden]{display:none!important}.user-editor-panel{display:grid;gap:14px;min-width:0}
.user-editor-footer{padding:12px 18px;border-top:1px solid var(--bd);background:var(--s1);flex-shrink:0}
.user-editor-footer .user-edit-actions{margin:0}.user-editor-footer #user-edit-result{margin:8px 0 0!important;font-size:13px;overflow-wrap:anywhere}
.user-editor-footer button[hidden],.user-project-group[hidden],.user-project-empty[hidden]{display:none!important}
#user-edit-modal #user-edit-grants,#user-edit-modal #user-edit-models{max-height:none;overflow:visible}
#user-edit-modal .user-edit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}#user-edit-modal .user-edit-form .wide{grid-column:1/-1}
.user-project-search{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--mt);margin-bottom:14px}
.user-project-search input{width:100%;min-height:44px}.user-project-group{border:1px solid var(--bd);border-radius:12px;margin:10px 0;background:var(--s1)}
.user-project-group>summary{padding:13px;cursor:pointer;font-size:14px;font-weight:600;overflow-wrap:anywhere}.user-project-group .grant-project{padding:0 13px 14px}
#user-edit-modal .permission-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.user-project-empty{color:var(--mt);font-size:13px}
.audit-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.audit-toolbar h3{margin:0;color:var(--ac)}
.audit-intro{color:var(--mt);font-size:13px;line-height:1.5;margin:8px 0 16px}
.audit-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px;border:1px solid var(--bd);border-radius:14px;background:var(--s2)}
.audit-filters label{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:12px;color:var(--mt)}.audit-filters input,.audit-filters select{box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:44px;background:var(--s1);color:var(--tx);border:1px solid var(--bd);border-radius:8px;padding:8px;font:inherit;font-size:16px}
.audit-filters input[type=date]{display:block}.audit-filters input[type=date]::-webkit-date-and-time-value{min-width:0;text-align:left}
.audit-filter-actions{display:flex;gap:8px;flex-wrap:wrap;grid-column:1/-1}.audit-summary{font-size:13px;color:var(--mt);margin:14px 0;line-height:1.5}
.audit-event{border:1px solid var(--bd);background:var(--s2);border-radius:12px;padding:14px;min-width:0}.audit-event-head{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.audit-event-head b{font-size:14px;color:var(--tx);overflow-wrap:anywhere}
.audit-outcome{font-size:12px;border-radius:20px;background:var(--s3);padding:4px 9px}.audit-outcome.success{color:var(--ok)}.audit-outcome.failed,.audit-outcome.denied{color:var(--dg)}
.audit-event dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0 0}.audit-event dt{font-size:11px;color:var(--mt);margin-bottom:4px}.audit-event dd{margin:0;font-size:13px;overflow-wrap:anywhere}.audit-event details{font-size:12px;color:var(--mt);margin-top:12px}.audit-event summary{cursor:pointer;min-height:28px}.audit-event code{display:block;white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0;color:var(--mt)}
.audit-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:16px 0}.audit-pagination span{font-size:12px;color:var(--mt)}
.markdown-table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;margin:12px 0;border-radius:8px;border:1px solid var(--bd);-webkit-overflow-scrolling:touch}
.msg-bubble .markdown-table-scroll table{display:table;border-collapse:collapse;table-layout:auto;width:100%;min-width:100%;max-width:none;margin:0;font-size:var(--fs-md,14px)}
.msg-bubble .markdown-table-scroll th,.msg-bubble .markdown-table-scroll td{min-width:14rem;max-width:32rem;padding:12px 14px;vertical-align:top;white-space:normal;word-break:normal;overflow-wrap:normal;line-height:1.55}
.msg-bubble .markdown-table-scroll th:first-child,.msg-bubble .markdown-table-scroll td:first-child{min-width:9rem}
.msg-bubble .markdown-table-scroll a,.msg-bubble .markdown-table-scroll code{overflow-wrap:anywhere;word-break:normal}
.markdown-table-scroll:focus-visible,.user-editor-tabs button:focus-visible{outline:2px solid var(--ac);outline-offset:2px}
@media(max-width:640px){#user-edit-modal .settings-box{width:100%!important;height:100dvh;max-height:100dvh!important;border-radius:0}#user-edit-modal .settings-content{padding:12px}#user-edit-modal .settings-header{padding-top:calc(14px + env(safe-area-inset-top))}.user-editor-footer{padding:12px 14px calc(12px + env(safe-area-inset-bottom))}.user-editor-tabs{padding:6px 10px}.user-editor-tabs button{padding:10px 12px}#user-edit-modal .user-edit-form{grid-template-columns:1fr}#user-edit-modal .permission-grid{grid-template-columns:1fr 1fr}.audit-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px;gap:10px}.audit-event dl{grid-template-columns:1fr 1fr}.audit-event dl>div:last-child{grid-column:1/-1}.user-edit-card{padding:12px}.user-editor-footer .btn-new{min-height:44px}}
@media(max-width:360px){#user-edit-modal .permission-grid{grid-template-columns:1fr}.audit-filters{grid-template-columns:1fr}}
/* Native iPhone date controls need a full row, rather than two narrow tracks. */
@media(max-width:640px){.audit-filters label:has(input[type=date]){grid-column:1/-1}}
