.user-message-control{position:relative}.user-message-control[hidden],.user-message-popover[hidden],.user-message-button>span[hidden]{display:none!important}.user-message-button{position:relative;box-sizing:border-box;width:44px;height:44px;min-height:44px;padding:0;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--theme-surface,#fff);color:var(--ink);cursor:pointer}.user-message-button>svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.user-message-button:hover,.user-message-button[aria-expanded=true]{border-color:color-mix(in srgb,var(--teal) 55%,var(--line));background:var(--theme-hover,#eef8f6);color:var(--teal)}.user-message-button:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.user-message-button>span{position:absolute;right:-6px;top:-7px;min-width:18px;height:18px;box-sizing:border-box;padding:0 4px;display:grid;place-items:center;border:2px solid var(--theme-surface,#fff);border-radius:999px;background:#d64d3a;color:#fff;font-size:9px;line-height:1;font-weight:900;font-variant-numeric:tabular-nums}.user-message-popover{position:absolute;z-index:1300;top:calc(100% + 10px);right:0;width:min(390px,calc(100vw - 24px));max-height:min(650px,calc(100vh - 92px));overflow:hidden;display:grid;grid-template-rows:auto minmax(80px,1fr) auto;border:1px solid var(--line);border-radius:10px;background:var(--theme-surface,#fff);color:var(--ink);box-shadow:0 18px 44px rgba(20,31,30,.18)}.user-message-popover>header{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line)}.user-message-popover>header strong,.user-message-popover>header small{display:block}.user-message-popover>header strong{font-size:14px}.user-message-popover>header small{margin-top:3px;color:var(--soft);font-size:10px}.user-message-popover>header button{flex:0 0 auto;border:0;background:transparent;color:var(--teal);font-size:11px;font-weight:800;cursor:pointer}.user-message-popover>header button:disabled{color:var(--soft);cursor:default}.user-message-list{min-height:0;overflow:auto;overscroll-behavior:contain}.user-message-item{border-bottom:1px solid var(--line)}.user-message-summary{box-sizing:border-box;width:100%;min-height:62px;padding:11px 14px;display:grid;grid-template-columns:8px minmax(0,1fr) 18px;align-items:center;gap:10px;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.user-message-summary:hover,.user-message-summary:focus-visible{outline:0;background:var(--theme-hover,#eef8f6)}.user-message-summary>i{width:7px;height:7px;border-radius:50%;background:transparent}.user-message-item.is-unread .user-message-summary>i{background:#d64d3a}.user-message-summary strong,.user-message-summary small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-message-summary strong{font-size:12px}.user-message-item.is-read .user-message-summary strong{font-weight:600}.user-message-summary small{margin-top:4px;color:var(--soft);font-size:10px;font-variant-numeric:tabular-nums}.user-message-summary>svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .18s ease}.user-message-summary[aria-expanded=true]>svg{transform:rotate(180deg)}.user-message-detail{padding:0 42px 16px 32px;overflow-wrap:anywhere}.user-message-detail section+section{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.user-message-detail b{font-size:10px;color:var(--teal)}.user-message-detail p{margin:5px 0 0;color:var(--ink);font-size:12px;line-height:1.75;white-space:pre-wrap}.user-message-loading,.user-message-empty,.user-message-error{padding:36px 22px;text-align:center;color:var(--soft)}.user-message-empty svg{width:34px;height:34px;margin-bottom:10px;fill:none;stroke:var(--teal);stroke-width:1.5}.user-message-empty strong,.user-message-error strong{display:block;color:var(--ink);font-size:13px}.user-message-empty p,.user-message-error p{margin:6px auto 0;max-width:30ch;font-size:11px;line-height:1.65}.user-message-error button{margin-top:12px;padding:8px 12px;border:1px solid var(--line);background:transparent;color:var(--teal);cursor:pointer}.user-message-status{min-height:0;margin:0;padding:0 16px;color:#a33e30;font-size:10px}.user-message-status:not(:empty){padding-top:8px;padding-bottom:8px;border-top:1px solid var(--line)}.admin-app-grid>a[data-admin-problem-link],.admin-nav-links>a[data-admin-problem-link],.admin-module-grid>a[data-admin-problem-link]{position:relative}.admin-problem-badge{position:absolute;z-index:2;right:7px;top:7px;min-width:20px;height:20px;box-sizing:border-box;padding:0 5px;display:grid;place-items:center;border:2px solid var(--theme-surface,#fff);border-radius:999px;background:#d64d3a;color:#fff;font-size:9px;font-weight:900;font-variant-numeric:tabular-nums}.admin-problem-badge[hidden]{display:none!important}.admin-module-grid .admin-problem-badge{right:12px;top:12px}@media(max-width:1020px){.user-message-button{width:40px;height:40px;min-height:40px}}@media(max-width:520px){.user-message-popover{position:fixed;top:66px;right:8px;left:8px;width:auto;max-height:calc(100vh - 78px)}.user-message-detail{padding-right:22px}}
@media(prefers-reduced-motion:reduce){.user-message-summary>svg{transition:none}}
.user-message-detail footer{display:flex;justify-content:flex-end;margin-top:13px;padding-top:10px;border-top:1px solid var(--line)}.user-message-delete{min-height:32px;padding:6px 9px;display:inline-flex;align-items:center;gap:6px;border:0;border-radius:5px;background:transparent;color:var(--soft);font-size:10px;font-weight:700;cursor:pointer}.user-message-delete:hover,.user-message-delete:focus-visible{outline:0;background:#fff0ec;color:#a23d35}.user-message-delete svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.account-message-count{min-width:18px;height:18px;margin-left:auto;padding:0 4px;box-sizing:border-box;display:grid;place-items:center;border-radius:999px;background:#d64d3a;color:#fff;font-size:9px;font-weight:900;font-variant-numeric:tabular-nums}.account-message-count[hidden]{display:none!important}
.user-message-confirm-layer{position:absolute;z-index:5;inset:0;box-sizing:border-box;display:grid;place-items:center;padding:18px;background:rgba(20,31,30,.32)}.user-message-confirm-layer[hidden]{display:none!important}.user-message-confirm-dialog{position:relative;z-index:1;width:min(272px,calc(100% - 12px));box-sizing:border-box;padding:17px;display:grid;grid-template-columns:36px minmax(0,1fr);gap:4px 11px;border:1px solid var(--line);border-radius:8px;background:var(--theme-surface,#fff);box-shadow:0 18px 42px rgba(20,31,30,.24);animation:user-message-confirm-enter .18s cubic-bezier(.16,1,.3,1)}.user-message-confirm-icon{grid-row:1;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff0ec;color:#a23d35}.user-message-confirm-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.user-message-confirm-dialog strong{display:block;margin-top:1px;color:var(--ink);font-size:13px}.user-message-confirm-dialog>div p{margin:4px 0 0;color:var(--soft);font-size:10px;line-height:1.5}.user-message-confirm-status{grid-column:1/-1;min-height:0;margin:4px 0 0;color:#a23d35;font-size:10px}.user-message-confirm-status:empty{display:none}.user-message-confirm-dialog footer{grid-column:1/-1;display:flex;justify-content:flex-end;gap:7px;margin-top:12px}.user-message-confirm-dialog footer button{min-height:34px;padding:7px 11px;border:1px solid var(--line);border-radius:5px;background:var(--theme-surface,#fff);color:var(--ink);font-size:11px;font-weight:800;cursor:pointer}.user-message-confirm-dialog footer button:hover,.user-message-confirm-dialog footer button:focus-visible{outline:0;border-color:var(--teal);color:var(--teal)}.user-message-confirm-dialog footer [data-message-delete-confirm]{border-color:#b94a3d;background:#b94a3d;color:#fff}.user-message-confirm-dialog footer [data-message-delete-confirm]:hover,.user-message-confirm-dialog footer [data-message-delete-confirm]:focus-visible{border-color:#9f392f;background:#9f392f;color:#fff}.user-message-confirm-dialog footer button:disabled{opacity:.62;cursor:wait}@keyframes user-message-confirm-enter{from{opacity:0;transform:translateY(5px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.user-message-confirm-dialog{animation:none}}
