.toast-stack{z-index:1200;flex-direction:column;gap:10px;width:min(360px,100vw - 40px);display:flex;position:fixed;bottom:20px;right:20px}.toast-stack .alert{background:var(--bg-card);animation:.22s cubic-bezier(.2,.7,.2,1) toast-in;box-shadow:0 12px 32px #0000002e}.alert:not(:has(>.ico)){grid-template-columns:1fr auto}.session-stack{flex-direction:column;gap:16px;display:flex}.session-stack>.alert{align-items:flex-start;gap:12px;margin-top:0;display:flex}.session-stack>.alert>.body{overflow-wrap:anywhere;flex:auto;min-width:0}.session-stack>.alert>.ico,.session-stack>.alert>.close{flex:none}.session-stack .alert .body a{color:var(--primary);font-weight:600}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.toast-stack .alert{animation:none}}.switch .track.is-on{background:var(--primary);border-color:var(--primary)}.switch .track.is-on:after{transform:translate(14px)}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.page-head h1{margin:0 0 4px;font-family:Inter Tight,Inter,sans-serif;font-size:22px;font-weight:700}.page-head p{color:var(--t-muted);margin:0;font-size:13px}.ws-status{align-items:center;gap:6px;display:inline-flex}.rule-list{flex-direction:column;gap:8px;display:flex}.rule-row{background:var(--bg-muted);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.rule-row code{font-family:JetBrains Mono,monospace;font-size:12.5px}.empty-note{color:var(--t-muted);padding:10px 0;font-size:13px}.form-inline{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.form-inline .field{flex:240px;margin:0}.split-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}@media (max-width:900px){.split-grid{grid-template-columns:1fr}}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;display:grid}.notif-modal-backdrop{z-index:1100;background:#0f172a73;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.notif-modal{flex-direction:column;width:min(460px,100%);max-height:min(560px,100vh - 40px);display:flex}.notif-modal .modal-body{padding:0;overflow-y:auto}.notif-modal .modal-body .empty-note{text-align:center;padding:24px 20px;display:block}.notif-modal .dd-list{max-height:none}.send-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;width:min(460px,100%);max-height:calc(100vh - 40px);padding:20px;overflow-y:auto;box-shadow:0 20px 48px #00000047}.send-modal-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.send-modal-head .card-title{margin:0}.send-modal-close{color:var(--t-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:32px;height:32px;display:inline-grid}.send-modal-close:hover{background:var(--bg-muted);color:inherit}.filter-bar{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:16px;display:flex}.filter-bar .field{flex:160px;margin:0}.filter-actions{gap:8px;display:flex}.pager-wrap{justify-content:flex-end;margin-top:16px;display:flex}.chat-shell{grid-template-columns:320px minmax(0,1fr);gap:16px;height:calc(100vh - 120px);min-height:480px;display:grid}.chat-list,.chat-main{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;min-height:0}.chat-list{flex-direction:column;gap:6px;padding:12px;display:flex;overflow-y:auto}.chat-list-head{color:var(--t-muted);justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;font-size:12.5px;display:flex}.chat-clear{align-self:flex-start}.chat-group-head,.chat-tab{color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;width:100%}.chat-group-head{justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.chat-tab{flex-direction:column;gap:4px;width:calc(100% - 12px);margin-left:12px;padding:8px 10px;display:flex}.chat-tab:hover,.chat-group-head:hover{background:var(--bg-muted)}.chat-tab.is-selected{background:var(--bg-muted);border-color:var(--primary)}.chat-tab.is-offline{opacity:.55}.chat-tab-top{justify-content:space-between;align-items:center;display:flex}.chat-tab-sub{color:var(--t-muted);font-size:12px}.chat-tab-badges{flex-wrap:wrap;gap:6px;display:flex}.chat-unread{background:var(--primary);color:#fff;text-align:center;border-radius:999px;min-width:20px;padding:4px 6px;font-size:11px;font-weight:700;line-height:1}.chat-main{overflow:hidden}.chat-panel{flex-direction:column;gap:12px;height:100%;min-height:0;padding:16px;display:flex}.chat-panel--standalone{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;height:calc(100vh - 120px);min-height:480px}.chat-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 16px;display:flex}.chat-head h1{margin:0 0 4px;font-family:Inter Tight,Inter,sans-serif;font-size:20px;font-weight:700}.chat-head h1 a{color:var(--primary);text-decoration:underline}.chat-head p{color:var(--t-muted);margin:0;font-size:13px}.chat-head .chat-meta{flex-wrap:wrap;align-items:baseline;gap:4px 8px;display:flex}.chat-badges{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chat-back{display:none}.chat-log-wrap{flex:auto;min-height:0;position:relative}.chat-log{background:var(--bg-muted);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:6px;height:100%;padding:12px;display:flex;overflow-y:auto}.chat-line{background:var(--bg-card);border:1px solid var(--border);overflow-wrap:anywhere;white-space:pre-wrap;border-radius:10px;flex-direction:column;gap:2px;max-width:78%;padding:6px 10px;font-family:JetBrains Mono,monospace;font-size:12.5px;display:flex}.chat-line--admin{border-color:var(--primary);align-self:flex-end}.chat-line--client{align-self:flex-start}.chat-line--error{color:#dc2626;background:#dc26261a;border-color:#dc2626}.chat-time{color:var(--t-muted);font-size:11px}.chat-jump{position:absolute;bottom:12px;right:20px}.chat-actions,.chat-actions-group{flex-wrap:wrap;gap:8px;display:flex}.chat-actions-group.is-right{margin-left:auto}.btn.is-locked,.btn.is-locked:hover{background:var(--bg-muted);border:1px dashed var(--border);box-shadow:none;color:var(--t-muted);cursor:not-allowed;opacity:1}@media (max-width:900px){.chat-shell{grid-template-columns:1fr}.chat-shell.has-selection .chat-list,.chat-shell:not(.has-selection) .chat-main{display:none}.chat-back{display:inline-flex}.chat-line{max-width:92%}}
