/* WazzKonexa — sistema visual novo (carregado por último em todas as telas) */
:root { --ink:#0C1220; --mut:#4A5262; --line:#E2E5EA; --bg:#F2F3F5; --blue:#2E5BDB; --sidebar-width:232px;
  --background:#F2F3F5; --border:#E2E5EA; --text:#0C1220; --muted:#4A5262; --black:#0C1220; }
.app:has(.atendimento-main) { --sidebar-width:72px; }
body { font-family:Geist,system-ui,-apple-system,sans-serif; background:var(--bg); color:var(--ink); -webkit-font-smoothing:antialiased; }
button, input, select, textarea { font-family:inherit; }
:focus-visible { outline:2px solid var(--blue); outline-offset:2px; }
.ms { font-family:'Material Symbols Rounded'; font-style:normal; font-weight:400; font-size:20px; line-height:1; width:1em; height:1em;
  display:inline-block; overflow:hidden; white-space:nowrap; flex-shrink:0; font-variation-settings:'FILL' 0; -webkit-font-smoothing:antialiased; }

/* Menu lateral claro */
.sidebar { background:#fff; color:#3B4352; border-right:1px solid var(--line); padding:22px 12px 14px; }
.brand { border-bottom:0; padding:0 8px; justify-content:flex-start; }
.wzk-brand { padding:0 0 4px; justify-content:flex-start; }
.wzk-brand-text { color:var(--ink); }
.menu { margin-top:24px; gap:2px; }
.menu-item { height:44px; padding:0 12px; border-radius:9px; color:#3B4352; font-size:14px; font-weight:500; gap:12px; }
.menu-item .ms { font-size:22px; }
.menu-item em { font-style:normal; flex:1; }
.menu-item:hover { background:#F5F6F8; color:var(--ink); }
.menu-item.active { background:#EEF1F6; color:var(--ink); font-weight:600; }
.menu-item.active .ms { font-variation-settings:'FILL' 1; }
.sidebar-footer { border-top:1px solid var(--line); padding:12px 8px 0; }
.user-avatar, .profile-avatar { background:#E8EEFC; color:#1E3FA8; font-weight:600; }
.sidebar-footer strong { color:var(--ink); font-size:14px; font-weight:500; }
.sidebar-footer small { color:var(--mut); font-size:12px; }
.logout { color:var(--mut); width:40px; height:40px; border-radius:9px; }
.logout:hover { color:var(--ink); background:#F5F6F8; }
.app:has(.atendimento-main) .sidebar { padding:14px 0; align-items:center; }
.app:has(.atendimento-main) .brand { padding:0; }
.app:has(.atendimento-main) .wzk-brand-text, .app:has(.atendimento-main) .menu-item em,
.app:has(.atendimento-main) .sidebar-footer > div:not(.user-avatar) { display:none; }
.app:has(.atendimento-main) .menu { align-items:center; }
.app:has(.atendimento-main) .menu-item { width:48px; height:48px; padding:0; justify-content:center; }
.app:has(.atendimento-main) .sidebar-footer { flex-direction:column; border:0; padding:0; gap:6px; }

/* Estrutura e títulos */
.main { padding:32px 40px; }
.topbar h1 { font-size:26px; font-weight:600; letter-spacing:-.02em; }
.topbar p { font-size:14px; color:var(--mut); }
.panel { border-radius:14px; border:1px solid var(--line); }
.panel-header { padding:18px 22px; }
.panel-header h2 { font-size:16px; font-weight:600; }
.panel-header p { font-size:13px; color:var(--mut); }
.button-primary { background:var(--ink); color:#fff; height:40px; padding:0 16px; border-radius:10px; font-size:14px; font-weight:600; }
.button-secondary { background:#fff; color:var(--ink); border:1px solid #D5D9E0; height:40px; padding:0 16px; border-radius:10px; font-size:14px; font-weight:600; }
.button-danger { background:#fff; color:#B42318; border:1px solid #F1B8B2; height:40px; padding:0 16px; border-radius:10px; font-size:14px; font-weight:600; }
.button-primary:hover, .button-secondary:hover, .button-danger:hover { opacity:.85; }
.search-input, .form-group input, .modal-body input, .modal-body select, .modal-body textarea, .settings-section .form-group input {
  height:40px; border:1px solid #D5D9E0; border-radius:10px; font-size:14px; padding:0 12px; background:#fff; color:var(--ink); }
.modal-body textarea { height:auto; padding:10px 12px; }
.search-input:focus, .form-group input:focus, .modal-body input:focus, .modal-body select:focus, .modal-body textarea:focus { outline:2px solid var(--blue); outline-offset:0; border-color:var(--blue); }
.form-group label, .modal-body label { font-size:13px; font-weight:600; color:var(--ink); }
.error-message { background:#FDE7E5; color:#B42318; border-radius:10px; font-size:13px; }
.settings-success { background:#DCF3E4; color:#14532D; border-radius:10px; }

/* Tabelas, status, chips */
.clients-table th { font-size:12px; font-weight:600; text-transform:none; letter-spacing:0; color:var(--mut); background:#FAFBFC; }
.clients-table td { font-size:14px; padding:14px 22px; border-bottom:1px solid #EEF0F3; }
.clients-table tbody tr:hover { background:#F8F9FB; }
.status-pill { font-size:12px; padding:3px 10px; }
.status-pill.active { background:#DCF3E4; color:#14532D; } .status-pill.paused { background:#FFF1DE; color:#9A3412; } .status-pill.closed { background:#EEF0F3; color:#3B4352; }
.tag-chip { background:#E8EEFC; color:#1E3FA8; border:0; border-radius:20px; font-size:13px; }
.tag { font-size:11px; border-radius:6px; }
.tag.parceiro { background:#EFE8FB; color:#5B2FA8; }
.edit-link { color:var(--blue); font-weight:500; }

/* Cartões do dashboard */
.stat-card { border-radius:14px; border:1px solid var(--line); padding:20px; }
.stat-card span { font-size:13px; color:var(--mut); }
.stat-card strong { font-size:30px; font-weight:600; letter-spacing:-.02em; }
.stat-icon { border-radius:10px; }
.process-card { border-radius:12px; border-color:var(--line); } .process-card:hover { border-color:var(--ink); }
.process-card strong { font-size:12px; } .process-card span { font-size:13px; }
.conversation { padding:14px 22px; border-bottom:1px solid #EEF0F3; }
.client-avatar, .team-avatar { background:#E8EEFC; color:#1E3FA8; font-weight:600; }
.team-avatar.mariana { background:var(--ink); color:#fff; }
.team-count { background:#EEF0F3; border-radius:8px; }
.wait-panel .wait-row { display:flex; align-items:center; gap:12px; padding:12px 22px; border-bottom:1px solid #EEF0F3; }
.wait-panel .wait-row:last-child { border-bottom:0; }
.wait-row .wr-info { flex:1; min-width:0; display:flex; flex-direction:column; gap:3px; }
.wait-row .wr-info b { font-size:14px; font-weight:600; } .wait-row .wr-info span { font-size:13px; color:var(--mut); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.wait-row .wr-time { font:600 12px 'Geist Mono',monospace; padding:2px 6px; border-radius:5px; color:#9A3412; background:#FFF1DE; }
.wait-row .wr-time.is-late { color:#B42318; background:#FDE7E5; }
.wait-row .wr-owner { font-size:12px; color:var(--mut); min-width:90px; }
.wait-row a.wr-btn { height:34px; padding:0 12px; border:1px solid #D5D9E0; border-radius:9px; font-size:13px; font-weight:500; display:inline-flex; align-items:center; }
.wait-row a.wr-btn:hover { background:#F5F6F8; }
.wait-empty { padding:24px; text-align:center; color:var(--mut); font-size:14px; }

/* Modal, abas, configurações */
.modal-overlay { background:rgba(12,18,32,.5); }
.modal-box { border-radius:16px; box-shadow:0 20px 60px rgba(12,18,32,.25); }
.modal-header h3 { font-size:17px; font-weight:600; }
.modal-footer { justify-content:flex-end; }
.settings-tabs { border-bottom:1px solid var(--line); gap:4px; }
.settings-tab { font-family:inherit; font-size:14px; color:var(--mut); padding:12px 16px; }
.settings-tab.active { color:var(--ink); font-weight:600; border-bottom-color:var(--ink); }
.waha-status-box { border-radius:12px; border-color:var(--line); }
.waha-status-dot.working { background:#15803D; }
.tags-grid { gap:10px; }

/* Login */
.login-body { padding:0; display:block; background:#fff; }
.login-split { display:grid; grid-template-columns:1.1fr 1fr; min-height:100vh; }
.login-hero { background:#0C1220; color:#fff; padding:40px 48px; display:flex; flex-direction:column; justify-content:space-between; }
.login-hero small { font:12px 'Geist Mono',monospace; opacity:.7; }
.login-hero h2 { font-size:44px; line-height:1.08; letter-spacing:-.03em; font-weight:600; margin-bottom:16px; max-width:520px; }
.login-hero p { font-size:16px; line-height:1.5; opacity:.8; max-width:460px; }
.login-pane { display:flex; align-items:center; justify-content:center; padding:32px; }
.login-pane .login-container { max-width:380px; }
.login-pane .login-card { border:0; box-shadow:none; padding:0; }
.login-pane .login-card h1 { text-align:left; font-size:26px; font-weight:600; letter-spacing:-.02em; }
.login-pane .login-subtitle { text-align:left; font-size:14px; }
.login-pane .login-brand { justify-content:flex-start; }
.login-button { height:46px; padding:0; border-radius:10px; background:var(--ink); font-size:15px; }
.login-demo { background:#F2F3F5; border:1px solid var(--line); border-radius:12px; padding:14px 16px; margin-bottom:20px; font-size:13px; line-height:1.7; color:var(--ink); }
@media (max-width:860px) { .login-split { grid-template-columns:1fr; } .login-hero { display:none; } }

/* Celular: menu em gaveta */
@media (max-width:768px) {
  .sidebar { padding:22px 12px 14px; align-items:stretch; }
  .menu-item { font-size:14px; justify-content:flex-start; padding:0 12px; }
  .sidebar-footer > div:not(.user-avatar) { display:block; }
  .logout { display:flex; }
  .main { padding:70px 16px 24px; }
}
@media (min-width:769px) and (max-width:850px) { .menu-item em { display:none; } .menu-item { justify-content:center; padding:0; } }
