/* XMAX CRM - Theme */
:root{
  --xmax-primary:#7B1FA2;
  --xmax-primary-dark:#4A148C;
  --xmax-accent:#53D8FB;
  --xmax-pink:#FF4FA0;
  --xmax-bg:#F4F4F4;
  --xmax-card:#fff;
  --xmax-text:#222;
  --xmax-muted:#8a8a8a;
  --xmax-border:#ececec;
  --xmax-success:#22c55e;
  --xmax-danger:#ef4444;
  --xmax-warning:#f59e0b;
}
[data-theme="dark"]{
  --xmax-bg:#1a1525;
  --xmax-card:#241b33;
  --xmax-text:#eee;
  --xmax-muted:#aaa;
  --xmax-border:#3a2d4f;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;font-family:'Inter','Segoe UI',Roboto,sans-serif;
  background:var(--xmax-bg);color:var(--xmax-text);
  -webkit-font-smoothing:antialiased;
}

a{color:var(--xmax-primary);text-decoration:none}
a:hover{color:var(--xmax-primary-dark)}

/* ===== Topbar ===== */
.xmax-topbar{
  height:62px;background:linear-gradient(90deg,#7B1FA2 0%,#9b27b0 50%,#7B1FA2 100%);
  display:flex;align-items:center;padding:0 18px;color:#fff;
  box-shadow:0 4px 14px rgba(74,20,140,.25);position:sticky;top:0;z-index:100;
}
.xmax-logo{
  font-weight:800;font-size:26px;letter-spacing:1px;margin-right:18px;
  background:linear-gradient(90deg,#FF4FA0,#fff,#53D8FB);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.xmax-logo small{display:block;font-size:8px;letter-spacing:2px;color:#e9d5ff;font-weight:500;margin-top:-4px}
.xmax-divider{width:1px;height:32px;background:rgba(255,255,255,.25);margin:0 12px}

.xmax-nav{display:flex;gap:8px;align-items:center;flex:1}
.xmax-nav-btn{
  width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.12);
  display:inline-flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;
  border:none;transition:.2s;position:relative;
}
.xmax-nav-btn:hover{background:rgba(255,255,255,.22)}
.xmax-nav-btn.active{background:linear-gradient(90deg,#53D8FB,#7B1FA2);box-shadow:0 0 0 2px rgba(83,216,251,.4)}
.xmax-nav-btn .badge{position:absolute;top:-2px;right:-2px;background:#22c55e;color:#fff;font-size:10px;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-weight:700}

.xmax-nav-pill{
  display:inline-flex;align-items:center;gap:8px;padding:8px 18px;
  background:linear-gradient(90deg,#53D8FB,#7B1FA2);border-radius:30px;color:#fff;font-weight:600;font-size:14px;
  cursor:pointer;border:none;
}
.xmax-nav-pill i{font-size:14px}

.xmax-user{display:flex;align-items:center;gap:10px;cursor:pointer}
.xmax-avatar{
  width:36px;height:36px;border-radius:50%;background:#fff;color:#7B1FA2;
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;
  border:2px solid rgba(255,255,255,.5);
}
.xmax-user .info{font-size:13px;line-height:1.1}
.xmax-user .info b{display:block}
.xmax-user .info span{color:#e9d5ff;font-size:11px}

.xmax-record-btn{
  width:38px;height:38px;border-radius:50%;background:#FF1744;color:#fff;border:3px solid #fff;
  display:inline-flex;align-items:center;justify-content:center;margin-right:14px;cursor:pointer;
}

/* ===== Layout ===== */
.xmax-layout{display:flex;height:calc(100vh - 62px);overflow:hidden}
.xmax-content{flex:1;overflow:auto;padding:22px;background:var(--xmax-bg)}

/* ===== Cards ===== */
.xmax-card{
  background:var(--xmax-card);border-radius:14px;padding:18px;
  box-shadow:0 2px 10px rgba(0,0,0,.04);border:1px solid var(--xmax-border);
}
.xmax-card.kpi{display:flex;align-items:center;gap:14px}
.xmax-card.kpi .icon{
  width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#7B1FA2,#53D8FB);
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;
}
.xmax-card.kpi .num{font-size:26px;font-weight:800;line-height:1}
.xmax-card.kpi .lbl{font-size:12px;color:var(--xmax-muted);text-transform:uppercase;letter-spacing:1px}

/* ===== Queue cards (igual print) ===== */
.queue-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:14px}
.queue-card{
  display:flex;align-items:center;gap:10px;padding:12px 14px;background:#fff;border-radius:12px;
  border:1px solid var(--xmax-border);box-shadow:0 1px 4px rgba(0,0,0,.03);transition:.2s;
}
.queue-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(123,31,162,.12)}
.queue-icon{
  width:34px;height:34px;border-radius:50%;background:#fff;border:2px solid #22c55e;
  display:flex;align-items:center;justify-content:center;color:#22c55e;flex-shrink:0;
}
.queue-card .name{font-weight:600;font-size:14px}
.queue-card .status{font-size:11px;color:var(--xmax-muted)}

/* ===== Right panel ===== */
.xmax-right{
  width:280px;background:#fff;border-left:1px solid var(--xmax-border);
  padding:22px;overflow:auto;flex-shrink:0;
}
.xmax-clock{font-size:42px;font-weight:800;line-height:1;margin-top:6px}
.xmax-quote{font-size:13px;color:var(--xmax-muted);font-style:italic;margin-top:8px;line-height:1.4}

/* ===== Status pills (top right) ===== */
.status-pills{display:flex;gap:8px}
.status-pill{
  width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  border:none;cursor:pointer;color:#fff;font-size:11px;
}
.status-pill.red{background:#ef4444}
.status-pill.green{background:#22c55e}
.status-pill.yellow{background:#facc15;color:#222}

/* ===== Login ===== */
.login-wrap{
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  background:#ececec;
}
.login-card{
  background:#fff;border-radius:14px;padding:38px 42px;width:420px;max-width:92vw;
  box-shadow:0 20px 60px rgba(0,0,0,.08);
}
.login-logo{
  font-weight:900;font-size:46px;letter-spacing:2px;text-align:center;
  background:linear-gradient(90deg,#FF4FA0 0%,#7B1FA2 50%,#53D8FB 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.login-logo small{display:block;font-size:9px;letter-spacing:4px;color:#888;font-weight:500;margin-top:-2px;text-align:center}
.login-input{
  position:relative;border-bottom:1px solid #d4d4d4;margin:22px 0 4px;padding:6px 0 6px 28px;
}
.login-input i{position:absolute;left:0;top:14px;color:#999}
.login-input label{display:block;font-size:11px;color:#7B1FA2;font-weight:500}
.login-input input{width:100%;border:none;outline:none;background:transparent;font-size:15px;padding:2px 0}
.btn-xmax{
  background:#7B1FA2;color:#fff;border:none;padding:10px 28px;border-radius:6px;font-weight:600;
}
.btn-xmax:hover{background:#5e1583;color:#fff}

/* ===== Chat ===== */
.chat-layout{display:flex;height:100%;background:#fff}
.chat-sidebar{width:300px;border-right:1px solid var(--xmax-border);display:flex;flex-direction:column;background:#fff}
.chat-search{padding:10px;border-bottom:1px solid var(--xmax-border);display:flex;align-items:center;gap:6px}
.chat-search input{flex:1;border:none;background:#f4f4f4;border-radius:6px;padding:8px 12px;outline:none;font-size:13px}
.chat-filters{display:flex;gap:14px;padding:8px 12px;border-bottom:1px solid var(--xmax-border);font-size:12px;color:var(--xmax-muted)}
.chat-filters .f{cursor:pointer;padding:4px 6px;border-radius:6px;display:flex;align-items:center;gap:4px}
.chat-filters .f.active{background:#f0e7f7;color:#7B1FA2;font-weight:600}
.chat-list{flex:1;overflow:auto}
.chat-item{
  display:flex;gap:10px;padding:10px 12px;border-bottom:1px solid var(--xmax-border);cursor:pointer;
  transition:.15s;position:relative;
}
.chat-item:hover{background:#fafafa}
.chat-item.active{background:#f5edfb;border-left:3px solid #7B1FA2}
.chat-item .ava{
  width:42px;height:42px;border-radius:50%;background:#e0f7fa;color:#00838f;
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0;
  border:2px solid #4dd0e1;
}
.chat-item .ava img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.chat-item .meta{flex:1;min-width:0}
.chat-item .meta .nm{font-size:13px;font-weight:600;color:#222}
.chat-item .meta .pv{font-size:11px;color:var(--xmax-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-item .right{text-align:right;font-size:11px;color:var(--xmax-muted);display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.chat-item .badge-q{background:#22c55e;color:#fff;border-radius:50%;width:22px;height:22px;font-size:11px;display:flex;align-items:center;justify-content:center;font-weight:700}

/* Conversa */
.chat-main{flex:1;display:flex;flex-direction:column;background:#fafafa}
.chat-header{
  height:64px;border-bottom:1px solid var(--xmax-border);background:#fff;
  display:flex;align-items:center;padding:0 16px;gap:12px;
}
.chat-header .ava{width:42px;height:42px;border-radius:50%;background:#e0e0e0;color:#666;display:flex;align-items:center;justify-content:center}
.chat-header .info{flex:1}
.chat-header .info .nm{font-weight:600;font-size:14px}
.chat-header .info .sub{font-size:11px;color:var(--xmax-muted)}
.chat-header .timer{
  background:#fff;border:1px solid var(--xmax-border);border-radius:6px;padding:6px 10px;font-size:13px;
  font-family:monospace;display:flex;align-items:center;gap:8px;color:#222;
}
.chat-header .timer b{color:#222}
.chat-actions{display:flex;gap:6px}
.chat-actions .b{
  width:34px;height:34px;border-radius:6px;border:1px solid var(--xmax-border);background:#fff;
  display:inline-flex;align-items:center;justify-content:center;color:#666;cursor:pointer;
}
.chat-actions .b:hover{background:#f0e7f7;color:#7B1FA2}

.chat-messages{flex:1;overflow:auto;padding:18px;display:flex;flex-direction:column;gap:8px}
.msg{max-width:62%;padding:10px 14px;border-radius:10px;font-size:13px;line-height:1.4;position:relative;word-wrap:break-word}
.msg.in{background:#f3f3f3;color:#222;align-self:flex-start;border:1px solid #ececec}
.msg.out{background:#e0f7fa;color:#0d3a40;align-self:flex-end;border:1px solid #4dd0e1}
.msg .time{font-size:10px;color:#999;margin-top:6px;text-align:right}
.msg.system{align-self:center;background:transparent;color:#999;font-size:11px;font-style:italic}

.chat-compose{
  border-top:1px solid var(--xmax-border);background:#fff;padding:10px 14px;display:flex;align-items:center;gap:10px;
}
.chat-compose .icons{display:flex;gap:8px;color:#888}
.chat-compose .icons i{cursor:pointer;font-size:18px}
.chat-compose .icons i:hover{color:#7B1FA2}
.chat-compose textarea{
  flex:1;border:none;outline:none;resize:none;font-size:13px;padding:8px;color:#666;background:transparent;
  min-height:38px;max-height:120px;
}
.chat-compose .send{
  background:transparent;border:none;color:#7B1FA2;font-size:20px;cursor:pointer;
}
.chat-compose .mic{
  width:42px;height:42px;border-radius:50%;background:#7B1FA2;color:#fff;border:none;
  display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;
}

/* empty chat */
.chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#bbb;text-align:center;padding:40px}

/* Tables */
.xmax-table{width:100%;background:#fff;border-radius:12px;overflow:hidden;border-collapse:collapse}
.xmax-table th{background:#f7f4fa;color:#7B1FA2;font-size:12px;text-transform:uppercase;letter-spacing:1px;padding:12px;text-align:left}
.xmax-table td{padding:12px;border-top:1px solid var(--xmax-border);font-size:13px}
.xmax-table tr:hover td{background:#fafafa}

.badge-role{padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600}
.badge-role.master{background:#7B1FA2;color:#fff}
.badge-role.admin{background:#53D8FB;color:#0d3a40}
.badge-role.supervisor{background:#FFA000;color:#fff}
.badge-role.operator{background:#22c55e;color:#fff}

@media(max-width:900px){
  .xmax-right{display:none}
  .chat-sidebar{width:240px}
}
