:root{--green: #128c7e;--green-dark: #075e54;--bg: #f0f2f5;--panel: #ffffff;--border: #e4e6eb;--in: #ffffff;--out: #d9fdd3;--muted: #667781}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:#111b21}button{cursor:pointer;font-family:inherit}.muted{color:var(--muted)}.small{font-size:12px}.login-wrap{min-height:100vh;display:grid;place-items:center;background:var(--green-dark)}.login-card{background:var(--panel);padding:32px;border-radius:12px;width:320px;display:flex;flex-direction:column;gap:12px;box-shadow:0 8px 30px #0003}.login-card h1{margin:0;color:var(--green-dark)}.login-card p{margin:0 0 8px}.login-card input,.composer input{padding:11px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;outline:none}.login-card input:focus{border-color:var(--green)}.login-card button{padding:11px;background:var(--green);color:#fff;border:none;border-radius:8px;font-weight:600}.login-card button:disabled{opacity:.6}.error{color:#c0392b;font-size:13px}.app{height:100vh;display:flex;flex-direction:column}.topbar{background:var(--green-dark);color:#fff;padding:10px 16px;display:flex;align-items:center;gap:8px}.topbar .who{margin-left:auto;opacity:.85}.topbar .link{margin-left:12px}.link{background:none;border:none;color:inherit;text-decoration:underline;opacity:.9}.link.danger{color:#ffb4ab}.nav{display:flex;gap:4px;margin-left:20px}.nav .tab{background:#ffffff1f;color:#fff;border:none;padding:6px 14px;border-radius:16px;font-size:13px;opacity:.8}.nav .tab.active{background:#fff;color:var(--green-dark);opacity:1;font-weight:600}.layout{flex:1;display:flex;min-height:0}.assign{display:flex;align-items:center;gap:6px}.assign select,.team select{padding:5px 8px;border:1px solid var(--border);border-radius:6px;font-size:13px;font-family:inherit;background:#fff}.team{flex:1;overflow-y:auto;background:var(--bg)}.team-inner{max-width:720px;margin:0 auto;padding:28px 20px}.team-inner h2{margin:0 0 4px}.team-table{width:100%;border-collapse:collapse;margin:18px 0 28px;background:var(--panel);border-radius:10px;overflow:hidden;box-shadow:0 1px 3px #00000014}.team-table th,.team-table td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--border);font-size:14px}.team-table th{background:#fafafa;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.team-table tr:last-child td{border-bottom:none}.team-table .badge{margin-left:6px}.team-add{background:var(--panel);border-radius:10px;padding:20px;box-shadow:0 1px 3px #00000014;display:flex;flex-direction:column;gap:12px}.team-add h3{margin:0;font-size:15px}.team-add .row{display:flex;gap:12px}.team-add .row>*{flex:1}.team-add input,.team-add select{padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;font-family:inherit;outline:none}.team-add input:focus{border-color:var(--green)}.team-add button{align-self:flex-start;padding:10px 22px;background:var(--green);color:#fff;border:none;border-radius:8px;font-weight:600}.team-add button:disabled{opacity:.5}.sidebar{width:340px;border-right:1px solid var(--border);background:var(--panel);overflow-y:auto}.convo{width:100%;text-align:left;border:none;border-bottom:1px solid var(--border);background:var(--panel);padding:12px 14px;display:flex;flex-direction:column;gap:3px}.convo:hover{background:#f5f6f6}.convo.active{background:#e9fdf4}.convo-top{display:flex;justify-content:space-between}.convo-top .name{font-weight:600}.convo-top .time{font-size:11px;color:var(--muted)}.convo .preview{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;max-width:290px}.convo-meta{display:flex;gap:6px;margin-top:2px}.badge{font-size:10px;background:#e7f3ff;color:#1d6fb8;padding:1px 6px;border-radius:10px}.badge.warn{background:#fff3cd;color:#8a6d3b}.badge.tag{background:#e8f5e9;color:#2e7d32}.contact-panel{background:#fffdf5;border-bottom:1px solid var(--border);padding:14px 16px;display:flex;flex-direction:column;gap:10px}.contact-panel label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.contact-panel input,.contact-panel textarea{padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:14px;font-family:inherit;color:#111b21;outline:none;resize:vertical}.contact-panel input:focus,.contact-panel textarea:focus{border-color:var(--green)}.contact-panel button{align-self:flex-start;padding:8px 18px;background:var(--green);color:#fff;border:none;border-radius:8px;font-weight:600}.contact-panel button:disabled{opacity:.5}.tag-row{display:flex;gap:4px;margin-top:4px;flex-wrap:wrap}.thread{flex:1;display:flex;flex-direction:column;min-width:0;background:#efeae2}.thread-head{background:var(--panel);padding:10px 16px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.thread-head-right{display:flex;align-items:center;gap:12px}.messages{flex:1;overflow-y:auto;padding:18px 8%;display:flex;flex-direction:column;gap:6px}.msg{display:flex}.msg.inbound{justify-content:flex-start}.msg.outbound{justify-content:flex-end}.bubble{max-width:70%;padding:7px 10px 5px;border-radius:8px;background:var(--in);box-shadow:0 1px .5px #0000001f;font-size:14px;white-space:pre-wrap;word-break:break-word}.msg.outbound .bubble{background:var(--out)}.msg-meta{font-size:10px;color:var(--muted);margin-top:2px;text-align:right}.composer{display:flex;gap:8px;padding:12px;background:var(--panel);border-top:1px solid var(--border)}.composer input{flex:1}.composer button{padding:0 20px;background:var(--green);color:#fff;border:none;border-radius:8px;font-weight:600}.composer button:disabled{opacity:.5}.empty{padding:24px;color:var(--muted);text-align:center}.empty.big{margin:auto;font-size:15px}
