.auth-overlay,.modal-overlay{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;background:#0b1324e8;backdrop-filter:blur(14px)}
.auth-card,.modal-card{position:relative;width:min(410px,100%);padding:34px;border:1px solid #ffffff22;border-radius:26px;background:#fff;box-shadow:0 30px 90px #0007}
.auth-logo{display:grid;place-items:center;width:52px;height:52px;margin-bottom:20px;border-radius:16px;background:var(--navy);color:#fff;font-weight:800}
.auth-kicker{color:#8190a7;font-size:9px;font-weight:800;letter-spacing:.2em}
.auth-card h2,.modal-card h2{margin:7px 0 8px;font-family:Georgia,serif;font-size:27px}
.auth-card>p{margin:0 0 24px;color:var(--muted);font-size:12px;line-height:1.5}
.auth-card form{display:grid;gap:13px}.auth-card label{display:grid;gap:6px;color:#55627a;font-size:10px;font-weight:700}
.auth-card input{width:100%;height:43px;padding:0 13px;border:1px solid var(--line);border-radius:11px;outline:0}
.auth-card input:focus,.search.large:focus-within{border-color:#7c99ca;box-shadow:0 0 0 3px #3976ea12}
.primary{height:44px;margin-top:5px;border:0;border-radius:12px;background:var(--navy);color:#fff;font-weight:700}
.auth-switch{display:block;margin:16px auto 0;border:0;background:none;color:#5277ad;font-size:11px}.form-error{min-height:16px;margin-top:10px;color:#c94d55;text-align:center;font-size:10px}
.modal-card{width:min(480px,100%)}.modal-close{position:absolute;top:17px;right:17px;width:31px;height:31px;border:0;border-radius:9px;background:#f1f3f6;font-size:19px}
.search.large{margin:22px 0 12px}.user-results{display:grid;gap:7px;max-height:300px;overflow:auto}.user-results>p{color:var(--muted);text-align:center;font-size:11px}
.user-result{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:11px;padding:10px;border:0;border-radius:12px;background:#f7f8fa;text-align:left}.user-result .avatar{width:42px;height:42px}.user-result span{display:grid;gap:4px}.user-result strong{font-size:12px}.user-result small{color:var(--muted);font-size:10px}.user-result b{color:#5277ad;font-size:18px}
.toast{position:fixed;z-index:100;right:22px;bottom:22px;max-width:340px;padding:12px 16px;border-radius:12px;background:#172847;color:#fff;box-shadow:0 12px 35px #0004;font-size:11px}
.empty-list,.welcome-message{padding:25px;color:var(--muted);text-align:center;font-size:11px}.welcome-message{display:grid;gap:7px;margin-top:20vh}.welcome-message strong{color:var(--ink);font-family:Georgia,serif;font-size:18px}
.chat-side{align-self:stretch;display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:6px}.chat-side time{color:#9aa3b2;font-size:9px}.unread-badge{display:grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#3976ea;color:#fff;font-size:9px;font-weight:800;box-shadow:0 3px 9px #3976ea38}
.presence-online{color:#42a677!important;font-weight:700}
.chat{position:relative}.chat .remove-chat{position:absolute;z-index:2;top:3px;right:3px;display:none;width:24px;height:24px;padding:0;border:0;border-radius:8px;background:#e9edf3;color:#71809a;font-size:17px;line-height:1}.chat:hover .remove-chat,.chat:focus-within .remove-chat{display:block}.chat .remove-chat:hover{background:#df5d63;color:#fff}
@media(max-width:700px){.chat .remove-chat{display:block;top:50%;right:7px;transform:translateY(-50%)}.chat{padding-right:38px}}
