:root{--bg:#f5f7fb;--card:#fff;--text:#172033;--muted:#7c879d;--blue:#0972ff;--border:#e6eaf0;--green:#20b26b;--red:#df4657}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--text)}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{background:#fff;border:1px solid var(--border);width:100%;max-width:420px;padding:34px;border-radius:18px;box-shadow:0 14px 50px rgba(22,32,51,.08)}
.brand{font-size:28px;font-weight:800;color:var(--blue);margin-bottom:5px}.muted{color:var(--muted)}
.field{display:flex;flex-direction:column;gap:7px;margin:18px 0}.field input,.field select,.composer textarea,.note-box textarea{border:1px solid var(--border);border-radius:10px;padding:12px;background:#fff;outline:none}
.btn{border:0;border-radius:10px;padding:11px 15px;cursor:pointer;font-weight:700}.btn-primary{background:var(--blue);color:#fff}.btn-light{background:#eef3fb;color:#234}.btn-danger{background:#fee9ec;color:#b32235}.btn-success{background:#e8f8f0;color:#087645}
.layout{display:grid;grid-template-columns:230px 330px 1fr 290px;height:100vh}.sidebar{background:#0d1729;color:#fff;padding:18px;overflow:auto}.sidebar .logo{font-weight:800;font-size:24px;margin:8px 8px 24px;color:#6aa7ff}
.nav a{display:block;padding:11px 12px;border-radius:10px;color:#cbd5e1;margin-bottom:4px}.nav a:hover,.nav a.active{background:#17253e;color:#fff}.sidebar .userbox{margin-top:24px;padding:12px;background:#142037;border-radius:12px}
.list-pane{background:#fff;border-right:1px solid var(--border);overflow:auto}.list-head{padding:18px;border-bottom:1px solid var(--border);position:sticky;top:0;background:#fff;z-index:2}.search{width:100%;border:1px solid var(--border);padding:10px 12px;border-radius:10px}
.conversation-item{padding:14px 16px;border-bottom:1px solid var(--border);cursor:pointer;display:block}.conversation-item:hover,.conversation-item.active{background:#f3f7ff}.row{display:flex;align-items:center;justify-content:space-between;gap:10px}.name{font-weight:800}
.badge{font-size:12px;padding:4px 8px;border-radius:999px;background:#eef3fb;color:#536079}.status-aguardando{background:#fff4da;color:#8a6200}.status-em_atendimento{background:#e8f4ff;color:#0466c8}.status-finalizado{background:#e9f8ef;color:#177244}
.chat{display:flex;flex-direction:column;min-width:0}.chat-head{background:#fff;border-bottom:1px solid var(--border);padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:15px}.chat-actions{display:flex;gap:8px;flex-wrap:wrap}
.messages{flex:1;overflow:auto;padding:22px;background:#eef3f8}.msg{max-width:72%;padding:10px 13px;border-radius:14px;margin:8px 0;box-shadow:0 1px 2px rgba(0,0,0,.03)}.msg.client{background:#fff;border-top-left-radius:4px}.msg.agent{background:#dff6e8;margin-left:auto;border-top-right-radius:4px}.msg.system{background:#e7eef8;margin:10px auto;max-width:85%;font-size:13px;text-align:center}.msg small{display:block;color:#7b8491;margin-top:6px}
.composer{background:#fff;border-top:1px solid var(--border);padding:12px;display:flex;gap:10px}.composer textarea{flex:1;resize:none;min-height:48px}.right-pane{background:#fff;border-left:1px solid var(--border);overflow:auto;padding:18px}.card{border:1px solid var(--border);border-radius:12px;padding:14px;margin-bottom:14px}.card h3{margin:0 0 12px;font-size:15px}
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:20px}.kpi{background:#fff;border:1px solid var(--border);border-radius:15px;padding:18px}.kpi strong{font-size:28px;display:block;margin-top:8px}.page{padding:20px}.table{width:100%;border-collapse:collapse;background:#fff}.table th,.table td{text-align:left;padding:12px;border-bottom:1px solid var(--border)}
.error{background:#feecef;color:#9c2233;padding:10px;border-radius:10px;margin:12px 0}.success{background:#e8f8ef;color:#176b3c;padding:10px;border-radius:10px;margin:12px 0}.mobile-top{display:none}
@media(max-width:1050px){.layout{grid-template-columns:75px 300px 1fr}.right-pane{display:none}.sidebar .nav span,.sidebar .userbox span,.sidebar .logo span{display:none}}
@media(max-width:760px){.layout{display:block;height:auto}.sidebar{display:none}.list-pane{height:38vh}.chat{height:62vh}.mobile-top{display:block;background:#0d1729;color:#fff;padding:12px}.kpi-grid{grid-template-columns:1fr 1fr}}
