*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{font-family:Vazirmatn,IRANSans,Tahoma,sans-serif;background:#f1f4f9;color:#212529;font-size:14px}
[hidden]{display:none!important}
button{font-family:inherit;font-size:inherit;cursor:pointer}
input,textarea{font-family:inherit;font-size:14px}
.muted{color:#6c757d;font-size:13px}
.err{color:#dc3545;font-size:13px;min-height:18px}
.btn{border:1px solid #ced4da;background:#fff;border-radius:8px;padding:7px 14px}
.btn.primary{background:#0d6efd;border-color:#0d6efd;color:#fff}
.btn.danger{background:#fff;border-color:#dc3545;color:#dc3545}
.btn.ghost{border-color:transparent;background:transparent;color:#495057}
.btn:disabled{opacity:.5;cursor:default}
.card{background:#fff;border-radius:14px;box-shadow:0 2px 10px rgba(0,0,0,.06);padding:18px}
label{display:block;font-size:13px;color:#495057;margin-bottom:10px}
label input,label textarea{display:block;width:100%;margin-top:4px;border:1px solid #ced4da;border-radius:8px;padding:8px 10px;outline:none}
label input:focus,label textarea:focus{border-color:#0d6efd}

.login{min-height:100%;display:flex;align-items:center;justify-content:center;padding:20px}
.login .card{width:380px;max-width:100%}
.login h1{font-size:20px;margin:0 0 6px}
.login .btn{width:100%;padding:10px}

.tabs{display:flex;gap:4px}
.tab{border:0;background:transparent;padding:7px 12px;border-radius:8px;color:#495057}
.tab.active{background:#e7f0ff;color:#0d6efd;font-weight:700}
.tabs.small .tab{padding:5px 9px;font-size:13px}
.tab b{background:#dc3545;color:#fff;border-radius:9px;padding:0 6px;font-size:11px;font-weight:400}
.tab b:empty{display:none}

.app{height:100%;display:flex;flex-direction:column}
.top{display:flex;align-items:center;gap:12px;padding:8px 16px;background:#fff;border-bottom:1px solid #e3e7ee}
.brand{font-weight:800;color:#0d6efd}
.spacer{flex:1}
.conn{font-size:12px;color:#664d03;background:#fff3cd;border-radius:6px;padding:2px 8px}
.conn.ok{display:none}
.status{display:flex;align-items:center;gap:6px;border:1px solid #ced4da;background:#fff;border-radius:20px;padding:4px 12px}
.dot{width:9px;height:9px;border-radius:50%;background:#adb5bd;display:inline-block}
.status.online .dot,.dot.on{background:#20c997}
.status.away .dot{background:#ffc107}
.me{font-size:13px;color:#495057}

.inbox{flex:1;display:grid;grid-template-columns:340px 1fr 280px;min-height:0}
.list{background:#fff;border-left:1px solid #e3e7ee;display:flex;flex-direction:column;min-height:0}
.filters{padding:10px;border-bottom:1px solid #e3e7ee;display:flex;flex-direction:column;gap:8px}
.filters .tabs{flex-wrap:wrap}
.chips{display:flex;flex-wrap:wrap;gap:4px}
.chip{border:1px solid #ced4da;background:#fff;border-radius:14px;padding:2px 10px;font-size:12px}
.chip.active{background:#0d6efd;color:#fff;border-color:#0d6efd}
.search{border:1px solid #ced4da;border-radius:8px;padding:7px 10px;width:100%;outline:none}
.items{flex:1;overflow-y:auto}
.item{padding:10px 12px;border-bottom:1px solid #f1f3f5;cursor:pointer;display:flex;flex-direction:column;gap:3px}
.item:hover{background:#f8f9fb}
.item.active{background:#e7f0ff}
.item .row{display:flex;align-items:center;gap:6px}
.item .nm{font-weight:700;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.item .tm{font-size:11px;color:#868e96}
.item .lm{font-size:12px;color:#6c757d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.item .meta{font-size:11px;color:#868e96;display:flex;gap:6px;flex-wrap:wrap}
.pill{border-radius:10px;padding:0 7px;font-size:11px;background:#f1f3f5;color:#495057}
.pill.open{background:#fff3cd;color:#664d03}
.pill.assigned{background:#d1e7dd;color:#0f5132}
.pill.closed{background:#e9ecef;color:#6c757d}
.unread{background:#dc3545;color:#fff;border-radius:9px;padding:0 6px;font-size:11px}
.items .none{padding:30px;text-align:center;color:#868e96}

.thread{display:flex;flex-direction:column;min-height:0;background:#f5f7fb}
.thread .empty,.admin .empty{margin:auto;color:#868e96}
.th-hd{background:#fff;border-bottom:1px solid #e3e7ee;padding:10px 16px;display:flex;align-items:center;gap:10px}
.th-hd .nm{font-weight:700;flex:1}
.msgs{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:8px}
.m{max-width:70%;padding:8px 12px;border-radius:12px;line-height:1.7;white-space:pre-wrap;word-wrap:break-word}
.m.visitor{align-self:flex-start;background:#fff;border:1px solid #e3e7ee}
.m.member{align-self:flex-end;background:#0d6efd;color:#fff}
.m.note{align-self:flex-end;background:#fff8e1;border:1px dashed #ffc107;color:#664d03}
.m.system{align-self:center;color:#6c757d;font-size:12px;background:transparent}
.m .n{display:block;font-size:11px;opacity:.75;margin-bottom:2px}
.m .t{display:block;font-size:10px;opacity:.7;text-align:left}
.typing{font-size:12px;color:#6c757d;padding:0 16px 4px;min-height:18px}
.composer{background:#fff;border-top:1px solid #e3e7ee;padding:10px;display:flex;flex-direction:column;gap:6px}
.composer.note textarea{background:#fff8e1}
.composer .row{display:flex;gap:8px;align-items:flex-end}
.composer textarea{flex:1;resize:none;border:1px solid #ced4da;border-radius:10px;padding:8px 10px;min-height:42px;max-height:140px;outline:none}
.composer .opts{display:flex;gap:12px;font-size:12px;color:#495057;align-items:center}
.composer .opts label{margin:0;display:flex;gap:4px;align-items:center}
.claim-bar{background:#fff3cd;color:#664d03;padding:10px 16px;display:flex;align-items:center;gap:10px}

.side{background:#fff;border-right:1px solid #e3e7ee;padding:14px;overflow-y:auto}
.side h3{font-size:14px;margin:0 0 10px}
.kv{display:flex;flex-direction:column;gap:2px;margin-bottom:12px;font-size:13px}
.kv span{color:#868e96;font-size:12px}
.kv a{color:#0d6efd;word-break:break-all}

.admin{flex:1;overflow-y:auto;padding:16px}
.admin-grid{display:grid;grid-template-columns:360px 1fr;gap:16px;align-items:start}
.admin h2{font-size:16px;margin:0 0 12px}
.dlg-list .d{padding:10px;border:1px solid #e3e7ee;border-radius:10px;margin-bottom:8px;cursor:pointer}
.dlg-list .d.active{border-color:#0d6efd;background:#f3f8ff}
.dlg-list .d .s{font-size:12px;color:#868e96}
.new-dlg summary{cursor:pointer;color:#0d6efd;margin:8px 0}
.radios{border:1px solid #e3e7ee;border-radius:8px;padding:8px 10px;margin:0 0 10px}
.radios label{display:flex;gap:6px;align-items:center;margin:4px 0}
.radios label input{display:inline;width:auto;margin:0}
pre.code{background:#212529;color:#f8f9fa;padding:12px;border-radius:8px;direction:ltr;text-align:left;overflow-x:auto;font-size:12px;white-space:pre-wrap;word-break:break-all}
table.members{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:12px}
table.members th,table.members td{border-bottom:1px solid #f1f3f5;padding:6px;text-align:right}
.inline-form{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end}
.inline-form label{flex:1;min-width:140px;margin:0}

.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#212529;color:#fff;padding:9px 18px;border-radius:10px;opacity:0;transition:opacity .2s;pointer-events:none;z-index:99}
.toast.show{opacity:1}
.live{flex:1;display:flex;flex-direction:column;min-height:0;background:#fff}
.live-bar{display:flex;gap:12px;align-items:center;padding:10px 16px;border-bottom:1px solid #e3e7ee}
.live-bar .search{flex:1;max-width:360px}
.chk{margin:0;display:flex;gap:6px;align-items:center;font-size:13px}
.live-table-wrap{flex:1;overflow:auto}
.live-table{width:100%;border-collapse:collapse;font-size:13px}
.live-table th,.live-table td{padding:8px 12px;border-bottom:1px solid #f1f3f5;text-align:right;vertical-align:top}
.live-table th{background:#f8f9fb;position:sticky;top:0}
.live-table tr.stuck td{background:#fff3cd}
.stage{display:inline-block;background:#e7f0ff;color:#0d6efd;border-radius:10px;padding:1px 8px;font-size:12px}
.page-link{color:#0d6efd;word-break:break-all;font-size:12px}

@media (max-width:1100px){.inbox{grid-template-columns:300px 1fr}.side{display:none}}
@media (max-width:760px){.inbox{grid-template-columns:1fr}.inbox.has-thread .list{display:none}.inbox:not(.has-thread) .thread{display:none}.admin-grid{grid-template-columns:1fr}}
