:root{--bg: #0f1115;--bg-elev: #171a21;--bg-elev-2: #1f242d;--border: #2a2f3a;--text: #e6e9ef;--text-muted: #9aa3b2;--accent: #4c8bf5;--accent-hover: #3b78e0;--danger: #e5534b;--success: #3fb950;--warning: #d29922;--radius: 8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-size:14px;line-height:1.45}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--bg-elev-2);color:var(--text);padding:8px 14px;border-radius:var(--radius);transition:background .15s,border-color .15s}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover:not(:disabled){background:var(--accent-hover)}button.danger{border-color:var(--danger);color:var(--danger)}button.danger:hover:not(:disabled){background:var(--danger);color:#fff}button.ghost{background:transparent}input,textarea,select{font:inherit;width:100%;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:9px 11px}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent)}textarea{resize:vertical;min-height:70px}label{display:block;font-size:12px;color:var(--text-muted);margin-bottom:4px}.field{margin-bottom:14px}.row{display:flex;gap:8px;align-items:center}.muted{color:var(--text-muted)}.error-text{color:var(--danger);font-size:13px;margin-top:8px}.small{font-size:12px}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.app-shell{display:flex;flex-direction:column;height:100%}.topbar{display:flex;align-items:center;gap:18px;padding:10px 18px;border-bottom:1px solid var(--border);background:var(--bg-elev)}.topbar .brand{font-weight:600;white-space:nowrap}.topbar nav{display:flex;gap:6px}.topbar nav a{padding:6px 12px;border-radius:var(--radius);color:var(--text-muted)}.topbar nav a.active{background:var(--bg-elev-2);color:var(--text)}.topbar .spacer{flex:1}.topbar .tenant-select{width:auto;min-width:160px}.topbar .user{font-size:13px;color:var(--text-muted);white-space:nowrap}.content{flex:1;overflow:auto;padding:18px}.auth-wrap{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{width:100%;max-width:380px}.auth-card h1{font-size:20px;margin:0 0 6px}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--border);margin-bottom:14px;flex-wrap:wrap}.tab{background:transparent;border:none;border-bottom:2px solid transparent;border-radius:0;color:var(--text-muted);padding:8px 12px}.tab.active{color:var(--text);border-bottom-color:var(--accent)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--border)}th{font-size:12px;color:var(--text-muted);font-weight:500}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--bg-elev)}.badge{display:inline-block;padding:2px 8px;border-radius:99px;font-size:11px;border:1px solid var(--border);color:var(--text-muted)}.badge.status-waiting_operator{border-color:var(--warning);color:var(--warning)}.badge.status-assigned{border-color:var(--accent);color:var(--accent)}.badge.status-resolved,.badge.status-closed{border-color:var(--success);color:var(--success)}.detail-grid{display:grid;grid-template-rows:auto 1fr auto;height:100%;gap:14px}.detail-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.detail-header .spacer{flex:1}.messages{overflow:auto;display:flex;flex-direction:column;gap:10px;padding:4px}.bubble{max-width:70%;padding:9px 12px;border-radius:12px;background:var(--bg-elev-2);border:1px solid var(--border)}.bubble .meta{font-size:11px;color:var(--text-muted);margin-bottom:3px;display:flex;gap:8px}.bubble .text{white-space:pre-wrap;word-break:break-word}.bubble.sender-user{align-self:flex-start}.bubble.sender-operator{align-self:flex-end;background:#1d3354;border-color:#295089}.bubble.sender-ai{align-self:flex-start;background:#1e2b22;border-color:#2f5238}.bubble.sender-system{align-self:center;background:transparent;font-size:12px;color:var(--text-muted)}.draft-box{border:1px dashed var(--accent);border-radius:var(--radius);padding:14px;background:var(--bg-elev)}.draft-box h3{margin:0 0 8px;font-size:14px}.composer{display:flex;flex-direction:column;gap:8px}.composer .actions{display:flex;gap:8px;flex-wrap:wrap}.escalation{background:#e5534b1f;border:1px solid var(--danger);border-radius:var(--radius);padding:8px 12px;color:var(--text)}.page-header{display:flex;align-items:center;margin-bottom:16px}.page-header h2{margin:0;font-size:18px}.page-header .spacer{flex:1}.split{display:grid;grid-template-columns:1fr 360px;gap:18px;align-items:start}@media (max-width: 880px){.split{grid-template-columns:1fr}}.recovery-codes{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:10px;white-space:pre-wrap;word-break:break-all}.center-note{text-align:center;padding:40px;color:var(--text-muted)}.otp-uri{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;word-break:break-all;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:8px}.avatar{position:relative;flex:0 0 auto;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:14px;letter-spacing:.2px;-webkit-user-select:none;user-select:none}.avatar.lg{width:50px;height:50px;font-size:17px}.avatar .ch{position:absolute;right:-3px;bottom:-3px;min-width:18px;height:18px;padding:0 3px;border-radius:9px;background:var(--bg-elev);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--text-muted)}.avatar.c0{background:linear-gradient(135deg,#4c8bf5,#3666c9)}.avatar.c1{background:linear-gradient(135deg,#8b5cf6,#6d3fc0)}.avatar.c2{background:linear-gradient(135deg,#ec5a73,#c23f5a)}.avatar.c3{background:linear-gradient(135deg,#f0913a,#cf6f1f)}.avatar.c4{background:linear-gradient(135deg,#2bb3a3,#18897c)}.avatar.c5{background:linear-gradient(135deg,#56a93c,#3c8127)}.avatar.c6{background:linear-gradient(135deg,#b07a3c,#8a5c24)}.chip{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:99px;font-size:11px;line-height:1.6;background:var(--bg-elev-2);border:1px solid var(--border);color:var(--text-muted);white-space:nowrap}.chip.accent{color:var(--accent);border-color:#4c8bf566;background:#4c8bf51f}.chip.warn{color:var(--warning);border-color:#d2992266;background:#d299221f}.chip.danger{color:var(--danger);border-color:#e5534b80;background:#e5534b1f}.badge.status-open{border-color:#2bb3a3;color:#2bb3a3}.conv-list{display:flex;flex-direction:column;gap:8px}.conv-card{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;cursor:pointer;transition:border-color .15s,background .15s,transform .05s}.conv-card:hover{border-color:var(--accent);background:var(--bg-elev-2)}.conv-card:active{transform:scale(.997)}.conv-card .body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.conv-card .line{display:flex;align-items:baseline;gap:8px}.conv-card .name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-card .handle{color:var(--text-muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-card .time{margin-left:auto;color:var(--text-muted);font-size:12px;white-space:nowrap;flex:0 0 auto}.conv-card .sub{color:var(--text-muted);font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.conv-card .meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.conv-card .meta .grow{flex:1}.client-card{display:flex;gap:14px;align-items:flex-start}.client-card .info{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.client-card .name-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.client-card .name{font-size:16px;font-weight:600}.client-card .chips{display:flex;gap:6px;flex-wrap:wrap}.client-card .head-actions{display:flex;gap:8px;flex-wrap:wrap}.id-pill{display:inline-flex;align-items:center;gap:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:5px 8px;width:fit-content}.id-pill .id-label{color:var(--text-muted)}.id-pill button{padding:2px 8px;font-size:11px}.bubble{max-width:72%;border-radius:14px}.bubble.sender-user{border-bottom-left-radius:4px}.bubble.sender-operator{border-bottom-right-radius:4px;background:var(--accent);border-color:var(--accent);color:#fff}.bubble.sender-operator .meta{color:#fffc}.bubble.sender-ai{border-bottom-left-radius:4px;background:#8b5cf624;border-color:#8b5cf666}.badge.ok{border-color:var(--success);color:var(--success);background:#3fb9501a}.badge.warn{border-color:var(--warning);color:var(--warning);background:#d299221a}.badge.info{border-color:var(--accent);color:var(--accent);background:#4c8bf51a}.badge.off{border-color:var(--border);color:var(--text-muted)}tbody tr:hover td{background:var(--bg-elev)}.cell-id{display:flex;align-items:center;gap:10px;min-width:0}.cell-id .cell-main{display:flex;flex-direction:column;line-height:1.3;min-width:0}.cell-id .cell-main>span:first-child{font-weight:500;overflow:hidden;text-overflow:ellipsis}.cell-id .cell-sub{color:var(--text-muted);font-size:12px}.saved-note{color:var(--success);font-size:12px;margin-top:8px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.kpi{background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;padding:16px}.kpi-value{font-size:28px;font-weight:700;line-height:1.1}.kpi-label{color:var(--text-muted);font-size:13px;margin-top:4px}.bubble-media{display:block;max-width:min(280px,100%);max-height:340px;border-radius:10px;margin:2px 0 6px;cursor:pointer;object-fit:cover}.bubble .file-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:8px;background:var(--bg);border:1px solid var(--border);color:var(--text);margin:2px 0 6px}
