:root{--primary:#0d2137;--primary2:#1a3a5c;--accent:#2563eb;--accent2:#3b82f6;--gold:#f59e0b;--green:#10b981;--red:#ef4444;--purple:#8b5cf6;--cyan:#06b6d4;--ai:#7c3aed;--bg:#f1f5f9;--surface:#ffffff;--surface2:#f8fafc;--border:#e2e8f0;--text:#0f172a;--text2:#475569;--text3:#94a3b8;--shadow:0 4px 24px rgba(13,33,55,.08);--shadow2:0 1px 4px rgba(13,33,55,.06);--r:12px;--r2:8px}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--text);min-height:100vh}
/* LOGIN */
#login-screen{min-height:100vh;display:flex;background:var(--primary)}
.login-left{flex:1;display:flex;align-items:center;justify-content:center;padding:40px;position:relative;overflow:hidden}
.login-left::before{content:'';position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(37,99,235,.15),transparent);top:-100px;right:-100px}
.login-left::after{content:'';position:absolute;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(245,158,11,.08),transparent);bottom:-50px;left:-50px}
.login-brand{color:#fff;z-index:1;max-width:420px}
.logo-mark{width:56px;height:56px;background:var(--accent);border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:24px;box-shadow:0 8px 32px rgba(37,99,235,.4)}
.login-brand h1{font-family:'Syne',sans-serif;font-size:36px;font-weight:800;line-height:1.1;margin-bottom:12px}
.login-brand h1 span{color:var(--gold)}
.login-brand p{color:rgba(255,255,255,.5);font-size:15px;line-height:1.6}
.login-right{width:480px;background:#fff;display:flex;align-items:center;justify-content:center;padding:48px}
.login-form{width:100%}
.login-form h2{font-family:'Syne',sans-serif;font-size:24px;font-weight:700;color:var(--primary);margin-bottom:6px}
.login-form p{font-size:14px;color:var(--text2);margin-bottom:28px}
/* FORM */
.fgroup{margin-bottom:16px}
.fgroup label{display:block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text2);margin-bottom:6px}
.fgroup label .req{color:var(--red)}
.fgroup input,.fgroup select,.fgroup textarea{width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:var(--r2);font-family:'DM Sans',sans-serif;font-size:14px;color:var(--text);background:#fff;outline:none;transition:.2s}
.fgroup input:focus,.fgroup select:focus,.fgroup textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(37,99,235,.1)}
.fgroup input.err,.fgroup select.err,.fgroup textarea.err{border-color:var(--red)}
.fgroup textarea{resize:vertical}
.ferr{font-size:12px;color:var(--red);margin-top:4px;display:none}
.ferr.show{display:block}
.err-box{background:#fef2f2;border:1px solid #fecaca;border-radius:var(--r2);padding:10px 14px;font-size:13px;color:var(--red);margin-bottom:14px;display:none}
.fgrid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fgrid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
.fgrid4{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:14px}
.full{grid-column:1/-1}
/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 18px;border:none;border-radius:var(--r2);font-family:'DM Sans',sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:.2s;white-space:nowrap}
.btn:disabled{opacity:.6;cursor:not-allowed}
.btn:active{transform:scale(.98)}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 4px 12px rgba(37,99,235,.25);width:100%;padding:13px}
.btn-primary:hover:not(:disabled){background:#1d4ed8}
.btn-ghost{background:transparent;color:var(--text2);border:1.5px solid var(--border)}
.btn-ghost:hover{background:var(--surface2)}
.btn-green{background:var(--green);color:#fff}
.btn-green:hover{background:#059669}
.btn-red{background:var(--red);color:#fff}
.btn-gold{background:var(--gold);color:#fff}
.btn-gold:hover{background:#d97706}
.btn-purple{background:var(--purple);color:#fff}
.btn-purple:hover{background:#6d28d9}
.btn-ai{background:linear-gradient(135deg,#7c3aed,#2563eb);color:#fff;box-shadow:0 4px 14px rgba(124,58,237,.35)}
.btn-ai:hover{background:linear-gradient(135deg,#6d28d9,#1d4ed8);box-shadow:0 6px 20px rgba(124,58,237,.45)}
.btn-sm{padding:6px 12px;font-size:12px}
.spin{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;display:none}
.btn.loading .spin{display:block}.btn.loading .bt{display:none}
@keyframes spin{to{transform:rotate(360deg)}}
/* APP */
#app{display:none;min-height:100vh;flex-direction:column}
#app.on{display:flex}
.topbar{height:58px;background:var(--primary);display:flex;align-items:center;padding:0 20px;gap:14px;position:sticky;top:0;z-index:200}
.topbar .brand{display:flex;align-items:center;gap:10px;color:#fff;min-width:200px}
.topbar .brand .bicon{width:32px;height:32px;background:var(--accent);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.topbar .brand h1{font-family:'Syne',sans-serif;font-size:15px;font-weight:700}
.topbar .brand span{font-size:11px;opacity:.4;display:block}
.topbar .tsearch{flex:1;max-width:360px;position:relative}
.topbar .tsearch input{width:100%;padding:8px 14px 8px 34px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-family:'DM Sans',sans-serif;font-size:13px;outline:none}
.topbar .tsearch input::placeholder{color:rgba(255,255,255,.3)}
.topbar .tsearch svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);opacity:.35}
.topbar-right{margin-left:auto;display:flex;align-items:center;gap:10px}
.notif-btn{position:relative;width:34px;height:34px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:rgba(255,255,255,.6)}
.notif-dot{width:7px;height:7px;background:var(--red);border-radius:50%;position:absolute;top:6px;right:6px;border:1.5px solid var(--primary);display:none}
.notif-dot.show{display:block}
.notif-panel{position:absolute;top:50px;right:0;width:340px;background:#fff;border-radius:var(--r);box-shadow:0 12px 40px rgba(0,0,0,.15);border:1px solid var(--border);z-index:400;display:none}
.notif-panel.open{display:block}
.notif-head{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.notif-head h4{font-size:14px;font-weight:600}
.notif-list{max-height:320px;overflow-y:auto}
.notif-item{padding:12px 16px;border-bottom:1px solid var(--border);display:flex;gap:10px;cursor:pointer;transition:.15s}
.notif-item:hover{background:var(--surface2)}
.notif-item.unread{background:#eff6ff}
.notif-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px}
.notif-text p{font-size:13px;line-height:1.4}
.notif-text span{font-size:11px;color:var(--text3);display:block;margin-top:2px}
.notif-empty{text-align:center;padding:32px;color:var(--text3);font-size:13px}
.role-badge{padding:3px 10px;border-radius:100px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}
.role-admin{background:rgba(245,158,11,.2);color:#f59e0b;border:1px solid rgba(245,158,11,.3)}
.role-atendente{background:rgba(37,99,235,.15);color:var(--accent2);border:1px solid rgba(37,99,235,.2)}
.user-chip{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:5px 12px 5px 5px}
.uav{width:28px;height:28px;background:var(--accent);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff}
.uname{font-size:13px;color:rgba(255,255,255,.8);font-weight:500}
.btn-out{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:rgba(255,255,255,.6);font-size:12px;padding:6px 12px;cursor:pointer;font-family:'DM Sans',sans-serif;transition:.2s}
.btn-out:hover{background:rgba(255,255,255,.15)}
/* LAYOUT */
.layout{display:flex;flex:1;overflow:hidden}
.sidebar{width:220px;background:var(--primary);padding:14px 10px;display:flex;flex-direction:column;gap:2px;overflow-y:auto;flex-shrink:0}
.snav{display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;color:rgba(255,255,255,.45);transition:.15s;border:none;background:transparent;width:100%;text-align:left;font-family:'DM Sans',sans-serif}
.snav svg{flex-shrink:0;opacity:.6}
.snav:hover{background:rgba(255,255,255,.06);color:rgba(255,255,255,.8)}
.snav.active{background:rgba(37,99,235,.25);color:#fff;font-weight:600}
.snav.active svg{opacity:1}
.snav.admin-only{display:none}
.snav-ai{background:rgba(124,58,237,.15);color:rgba(167,139,250,.9)}
.snav-ai:hover,.snav-ai.active{background:rgba(124,58,237,.3);color:#c4b5fd}
.slabel{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,.2);padding:14px 12px 6px;font-weight:600}
.sbadge{margin-left:auto;background:rgba(37,99,235,.4);color:#93c5fd;border-radius:100px;font-size:10px;font-weight:700;padding:1px 7px}
.content{flex:1;overflow-y:auto;padding:24px}
.page{display:none;animation:fadein .25s ease}
.page.on{display:block}.page.on#page-atendimento{display:flex;flex-direction:column}
@keyframes fadein{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.ph{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}
.ph h2{font-family:'Syne',sans-serif;font-size:22px;font-weight:700;color:var(--primary)}
.ph p{font-size:13px;color:var(--text2);margin-top:3px}
.ph-actions{display:flex;gap:8px;flex-wrap:wrap}
.card{background:var(--surface);border-radius:var(--r);border:1px solid var(--border);box-shadow:var(--shadow2)}
/* VALUE CARDS */
.val-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}
@media(max-width:900px){.val-grid{grid-template-columns:repeat(2,1fr)}}
.val-card{background:var(--surface);border-radius:var(--r);border:1px solid var(--border);padding:20px;position:relative;overflow:hidden;transition:.2s}
.val-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}
.val-card .stripe{position:absolute;top:0;left:0;right:0;height:3px}
.val-card .lbl{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text3);margin-bottom:10px;margin-top:8px}
.val-card .val{font-family:'Syne',sans-serif;font-size:22px;font-weight:700;color:var(--text)}
.val-card .link{font-size:12px;color:var(--accent);margin-top:10px;cursor:pointer;font-weight:500}
/* CHARTS */
.charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px}
.bc-head{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.bc-title{font-family:'Syne',sans-serif;font-size:14px;font-weight:700;color:var(--primary)}
.bc-body{padding:16px;display:flex;flex-direction:column;gap:10px}
.bc-row{display:flex;align-items:center;gap:10px}
.bc-label{font-size:12px;color:var(--text2);width:140px;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bc-bar{flex:1;height:8px;background:var(--border);border-radius:4px;overflow:hidden}
.bc-fill{height:100%;border-radius:4px;background:var(--accent);transition:width .5s}
.bc-count{font-size:12px;font-weight:600;color:var(--text2);width:30px;text-align:right}
.donut-wrap{display:flex;justify-content:center;align-items:center;padding:20px;position:relative}
.donut-center{position:absolute;text-align:center}
.dn{font-family:'Syne',sans-serif;font-size:24px;font-weight:800;color:var(--text)}
.dl{font-size:11px;color:var(--text3);font-weight:500}
.donut-legend{padding:0 16px 16px;display:flex;flex-direction:column;gap:8px}
.dleg{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text2)}
.dleg-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
/* PIPELINE */
.pipeline-row{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px}
.pipe-col{flex:0 0 130px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);overflow:hidden}
.pipe-head{padding:8px 10px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}
.pipe-body{padding:8px}
.pipe-count{font-family:'Syne',sans-serif;font-size:20px;font-weight:800;color:var(--text)}
.pipe-sub{font-size:11px;color:var(--text3);margin-top:2px}
/* TABLE */
.tbl-toolbar{padding:12px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tbl-search{flex:1;min-width:180px;position:relative}
.tbl-search input{width:100%;padding:8px 12px 8px 30px;border:1.5px solid var(--border);border-radius:var(--r2);font-family:'DM Sans',sans-serif;font-size:13px;outline:none;background:var(--surface2);transition:.2s}
.tbl-search input:focus{border-color:var(--accent)}
.tbl-search svg{position:absolute;left:9px;top:50%;transform:translateY(-50%);color:var(--text3)}
.vtabs{display:flex;gap:0;border:1px solid var(--border);border-radius:var(--r2);overflow:hidden}
.vtab{padding:7px 12px;font-size:12px;font-weight:600;color:var(--text2);background:transparent;border:none;cursor:pointer;font-family:'DM Sans',sans-serif}
.vtab.active{background:var(--accent);color:#fff}
/* WhatsApp inbox */
#wpp-chat-active{display:flex;flex-direction:column}
/* Assistente IA */
.ai-typing-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#7c3aed;animation:bounce .8s infinite;margin:0 2px}
.ai-typing-dot:nth-child(2){animation-delay:.15s}
.ai-typing-dot:nth-child(3){animation-delay:.3s}
@keyframes bounce{0%,80%,100%{transform:translateY(0)}40%{transform:translateY(-8px)}}
.tbl{width:100%;border-collapse:collapse;font-size:13px}
.tbl th{padding:9px 13px;text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--text3);background:var(--surface2);border-bottom:1px solid var(--border);white-space:nowrap}
.tbl td{padding:11px 13px;border-bottom:1px solid var(--border);vertical-align:middle}
.tbl tr:last-child td{border-bottom:none}
.tbl tr:hover td{background:#f8fafc}
.client-cell{display:flex;align-items:center;gap:8px}
.cav{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0}
.badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:100px;font-size:11px;font-weight:600;white-space:nowrap}
.b-blue{background:rgba(37,99,235,.1);color:#2563eb}
.b-green{background:rgba(16,185,129,.1);color:#059669}
.b-gold{background:rgba(245,158,11,.1);color:#d97706}
.b-gray{background:rgba(148,163,184,.12);color:#64748b}
.b-red{background:rgba(239,68,68,.1);color:#dc2626}
.b-purple{background:rgba(139,92,246,.1);color:#7c3aed}
.b-cyan{background:rgba(6,182,212,.1);color:#0891b2}
.empty-row{text-align:center;padding:40px;color:var(--text3);font-size:13px}
/* KANBAN */
.kanban{display:flex;gap:12px;overflow-x:auto;padding-bottom:16px;min-height:500px}
.kan-col{flex:0 0 258px;background:var(--surface2);border-radius:var(--r);padding:10px 10px 12px;border:1px solid var(--border)}
.kan-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;padding:4px 2px}
.kan-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.kan-badge{border-radius:100px;font-size:11px;font-weight:700;padding:2px 10px}
.kan-cards{display:flex;flex-direction:column;gap:8px;min-height:60px}
.kan-card{background:#fff;border:1px solid var(--border);border-radius:var(--r2);padding:12px;cursor:pointer;transition:.18s;box-shadow:var(--shadow2)}
.kan-card:hover{box-shadow:0 6px 20px rgba(13,33,55,.1);transform:translateY(-2px);border-color:var(--accent)}
.kan-card h5{font-size:13px;font-weight:600;color:var(--text);margin-bottom:6px}
.kan-card p{font-size:11px;color:var(--text3);line-height:1.5}
.kan-card .kan-val{font-size:12px;font-weight:700;color:var(--accent);margin-top:6px}
/* MODAL */
.overlay{position:fixed;inset:0;background:rgba(13,33,55,.55);z-index:500;display:none;align-items:center;justify-content:center;backdrop-filter:blur(4px)}
.overlay.on{display:flex}
.modal{background:#fff;border-radius:16px;width:100%;max-width:500px;box-shadow:0 24px 64px rgba(0,0,0,.2);animation:modin .3s ease;max-height:90vh;overflow-y:auto}
.modal-lg{max-width:700px}
.modal-xl{max-width:980px}
@keyframes modin{from{opacity:0;transform:scale(.95) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}
.modal-head{padding:20px 24px 0;display:flex;align-items:center;justify-content:space-between}
.modal-head h3{font-family:'Syne',sans-serif;font-size:18px;font-weight:700;color:var(--primary)}
.modal-close{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text3);background:var(--surface2);border:none;font-size:16px}
.modal-close:hover{background:var(--border)}
.modal-body{padding:20px 24px}
.modal-foot{padding:16px 24px;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end}
/* TABS */
.tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:24px;overflow-x:auto}
.tab{padding:10px 18px;font-size:13px;font-weight:500;color:var(--text2);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;transition:.15s;background:none;border-top:none;border-left:none;border-right:none;font-family:'DM Sans',sans-serif}
.tab:hover{color:var(--text)}
.tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}
.tab.tab-ai{color:var(--ai)}
.tab.tab-ai.active{color:var(--ai);border-bottom-color:var(--ai)}
.tab-content{display:none}
.tab-content.on{display:block}
.section-title{font-family:'Syne',sans-serif;font-size:16px;font-weight:700;color:var(--primary);margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px}
.radio-group{display:flex;gap:20px;align-items:center}
.radio-opt{display:flex;align-items:center;gap:7px;cursor:pointer;font-size:14px;color:var(--text)}
.radio-opt input[type=radio]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}
.check-group{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.check-opt{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:13px;color:var(--text)}
.check-opt input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent);cursor:pointer}
/* UPLOAD AREA */
.upload-zone{border:2px dashed var(--border);border-radius:var(--r2);padding:20px;text-align:center;cursor:pointer;transition:.2s;background:var(--surface2)}
.upload-zone:hover,.upload-zone.dragover{border-color:var(--accent);background:#eff6ff}
.upload-zone p{font-size:13px;color:var(--text3);margin-top:8px}
.upload-zone .icon{font-size:28px;margin-bottom:4px}
.file-list{margin-top:12px;display:flex;flex-direction:column;gap:8px}
.file-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--surface2);border-radius:8px;border:1px solid var(--border)}
.file-item .fi-icon{width:32px;height:32px;border-radius:6px;background:#fee2e2;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}
.file-item .fi-info{flex:1;min-width:0}
.file-item .fi-name{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.file-item .fi-size{font-size:11px;color:var(--text3);margin-top:1px}
.file-item .fi-actions{display:flex;gap:6px}
.fi-del{background:none;border:none;color:var(--text3);cursor:pointer;padding:4px;border-radius:4px;font-size:16px}
.fi-del:hover{color:var(--red);background:#fee2e2}
.fi-dl{background:none;border:none;color:var(--accent);cursor:pointer;padding:4px;border-radius:4px;font-size:13px;font-weight:600;text-decoration:none}
/* PESSOA CARD */
.pessoa-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:16px;display:flex;align-items:center;gap:14px;cursor:pointer;transition:.2s}
.pessoa-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}
.pessoa-card .pc-info{flex:1}
.pessoa-card .pc-name{font-size:14px;font-weight:600}
.pessoa-card .pc-meta{font-size:12px;color:var(--text3);margin-top:3px;display:flex;gap:12px;flex-wrap:wrap}
.pessoas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
/* HIST */
.hist-item{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid var(--border)}
.hist-item:last-child{border-bottom:none}
.hist-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:5px}
.hist-txt p{font-size:13px;line-height:1.5}
.hist-txt span{font-size:11px;color:var(--text3);display:block;margin-top:2px}
/* AI SCAN */
.scan-zone{border:2px dashed rgba(124,58,237,.3);border-radius:var(--r);padding:32px;text-align:center;cursor:pointer;transition:.3s;background:linear-gradient(135deg,rgba(124,58,237,.03),rgba(37,99,235,.03));position:relative;overflow:hidden}
.scan-zone:hover,.scan-zone.dragover{border-color:var(--ai);background:linear-gradient(135deg,rgba(124,58,237,.08),rgba(37,99,235,.08))}
.scan-zone .scan-icon{width:64px;height:64px;border-radius:16px;background:linear-gradient(135deg,#7c3aed,#2563eb);display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 12px;box-shadow:0 8px 24px rgba(124,58,237,.3)}
.scan-zone h4{font-family:'Syne',sans-serif;font-size:16px;font-weight:700;color:var(--primary);margin-bottom:6px}
.scan-zone p{font-size:13px;color:var(--text3)}
.scan-tags{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-top:12px}
.scan-tag{padding:3px 10px;border-radius:100px;font-size:11px;font-weight:600;border:1px solid}
.ai-processing{display:none;align-items:center;gap:12px;padding:16px;background:linear-gradient(135deg,rgba(124,58,237,.08),rgba(37,99,235,.06));border:1px solid rgba(124,58,237,.2);border-radius:var(--r);margin-top:12px}
.ai-processing.show{display:flex}
.ai-pulse{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#7c3aed,#2563eb);display:flex;align-items:center;justify-content:center;animation:aipulse 1.5s ease infinite;flex-shrink:0}
@keyframes aipulse{0%,100%{box-shadow:0 0 0 0 rgba(124,58,237,.4)}50%{box-shadow:0 0 0 8px rgba(124,58,237,0)}}
@keyframes blink{0%,80%,100%{opacity:.2}40%{opacity:1}}
.ai-result-box{background:linear-gradient(135deg,rgba(124,58,237,.05),rgba(37,99,235,.05));border:1px solid rgba(124,58,237,.15);border-radius:var(--r);padding:16px;margin-top:12px;display:none}
.ai-result-box.show{display:block}
.ai-result-box h5{font-family:'Syne',sans-serif;font-size:14px;font-weight:700;color:var(--ai);margin-bottom:12px;display:flex;align-items:center;gap:6px}
.ai-field{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:6px;margin-bottom:6px;transition:.15s}
.ai-field:hover{background:rgba(124,58,237,.05)}
.ai-field-name{font-size:12px;font-weight:600;color:var(--text2)}
.ai-field-val{font-size:13px;font-weight:600;color:var(--text);max-width:55%;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ai-field-apply{background:rgba(124,58,237,.1);color:var(--ai);border:none;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap;font-family:'DM Sans',sans-serif;margin-left:8px;transition:.15s}
.ai-field-apply:hover{background:rgba(124,58,237,.2)}
/* DOC UPLOAD CATEGORIES */
.doc-cats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
.doc-cat{border:1.5px solid var(--border);border-radius:10px;padding:14px;cursor:pointer;transition:.2s;display:flex;align-items:center;gap:10px}
.doc-cat:hover{border-color:var(--accent);background:#eff6ff}
.doc-cat .dc-icon{width:36px;height:36px;border-radius:8px;background:var(--surface2);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.doc-cat h5{font-size:13px;font-weight:600}
.doc-cat p{font-size:11px;color:var(--text3);margin-top:2px}
/* RENDA */
.renda-item{border:1.5px solid var(--border);border-radius:10px;padding:14px 16px;cursor:pointer;transition:.2s;display:flex;align-items:center;gap:12px;margin-bottom:8px}
.renda-item:hover{border-color:var(--accent);background:#eff6ff}
.ri-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
/* TOAST */
#toast-wrap{position:fixed;top:16px;right:16px;z-index:9999;display:flex;flex-direction:column;gap:8px}
.toast{padding:12px 18px;border-radius:10px;font-size:13px;font-weight:500;color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.15);display:flex;align-items:center;gap:8px;animation:tin .3s ease;max-width:320px}
@keyframes tin{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}
.toast.s{background:var(--green)}.toast.e{background:var(--red)}.toast.i{background:#2563eb}.toast.ai{background:linear-gradient(135deg,#7c3aed,#2563eb)}
/* LOADER */
#loader{position:fixed;inset:0;background:var(--primary);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9000;transition:opacity .4s}
#loader.fade{opacity:0;pointer-events:none}
#loader h2{font-family:'Syne',sans-serif;font-size:22px;font-weight:800;color:#fff;margin-bottom:20px}
#loader h2 span{color:var(--gold)}
.lbar{width:180px;height:3px;background:rgba(255,255,255,.15);border-radius:3px;overflow:hidden}
.lbar-fill{height:100%;background:var(--accent);animation:lb 1.4s ease infinite}
@keyframes lb{0%{width:0;margin-left:0}50%{width:65%;margin-left:18%}100%{width:0;margin-left:100%}}
::-webkit-scrollbar{width:5px;height:5px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:5px}

/* ===== MOBILE RESPONSIVO ===== */
#sidebar-toggle{display:none;background:none;border:none;color:#fff;font-size:22px;cursor:pointer;padding:4px 8px;line-height:1}
@media(max-width:768px){
  #sidebar-toggle{display:flex;align-items:center;justify-content:center}
  .sidebar{position:fixed;left:-220px;top:0;bottom:0;z-index:500;transition:left .3s ease;box-shadow:4px 0 20px rgba(0,0,0,.3)}
  .sidebar.open{left:0}
  .sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:499}
  .sidebar-overlay.show{display:block}
  .layout{flex-direction:column}
  .content{padding:14px}
  .topbar{padding:0 12px;gap:8px}
  .brand h1{font-size:14px}
  .tsearch{display:none}
  .uname{display:none}
  .topbar-right{gap:6px}
  .val-grid{grid-template-columns:1fr 1fr!important}
  .fgrid2,.fgrid3,.fgrid4{grid-template-columns:1fr!important}
  .full{grid-column:1!important}
  .modal{width:95%!important;max-height:90vh;overflow-y:auto;margin:16px auto}
  .tbl-toolbar{flex-direction:column;align-items:flex-start}
  .ph{flex-direction:column;gap:10px;align-items:flex-start!important}
  .ph-actions{flex-wrap:wrap;gap:6px}
  .kanban-wrap{padding:14px 10px;gap:12px}
  .kanban-col{min-width:240px}
  .login-left{display:none}
  .login-right{width:100%!important;padding:24px!important}
  #reg-screen>div{margin:16px;width:calc(100% - 32px)!important}
  .tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}
  .tab{white-space:nowrap;font-size:12px;padding:8px 12px}
  .person-tabs-content{overflow-y:auto}
  .pipe-wrap{overflow-x:auto}
  table{font-size:12px}
  td,th{padding:6px 8px!important}
  .btn-sm{padding:6px 10px;font-size:12px}
  .scan-zone{padding:20px 10px}
  .role-badge{display:none}
}
@media(max-width:480px){
  .val-grid{grid-template-columns:1fr!important}
  .topbar .brand span{display:none}
}

/* ===== CHAT WHATSAPP — MELHORIAS VISUAIS ===== */
#wpp-chat-active{display:flex;flex-direction:column;height:calc(100vh - 120px);min-height:500px}
#wpp-mensagens{flex:1;overflow-y:auto;padding:20px 24px;background:#eaf0f8;display:flex;flex-direction:column;gap:4px}
#wpp-mensagens > div{animation:msgIn .2s ease}
@keyframes msgIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
#wpp-mensagens > div[style*="flex-start"] > div{max-width:70%!important;background:#ffffff!important;color:var(--text)!important;border:1px solid #e2e8f0!important;border-radius:18px 18px 18px 4px!important;padding:12px 16px!important;box-shadow:0 2px 8px rgba(0,0,0,.06)!important;font-size:14px!important;line-height:1.55!important;word-break:break-word}
#wpp-mensagens > div[style*="flex-end"] > div{max-width:70%!important;background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;color:#fff!important;border-radius:18px 18px 4px 18px!important;padding:12px 16px!important;box-shadow:0 2px 12px rgba(37,99,235,.25)!important;font-size:14px!important;line-height:1.55!important;word-break:break-word}
#wpp-mensagens > div > div > div:first-child{font-size:14px!important;line-height:1.6!important}
#wpp-mensagens > div > div > div:last-child{font-size:11px!important;margin-top:6px!important;opacity:.6!important}
#wpp-msg-input{padding:12px 18px!important;border:1.5px solid var(--border)!important;border-radius:24px!important;font-size:14px!important;background:var(--surface2)!important;transition:.2s!important}
#wpp-msg-input:focus{border-color:var(--accent)!important;background:#fff!important;box-shadow:0 0 0 3px rgba(37,99,235,.08)!important}
.wpp-contato-item{padding:14px 16px!important;transition:.15s}
.wpp-contato-item:hover{background:var(--surface2)}
.wpp-contato-item.ativo{background:#eff6ff!important;border-right:3px solid var(--accent)}
#wpp-mensagens::-webkit-scrollbar{width:4px}
#wpp-mensagens::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}

/* Fix layout atendimento WhatsApp */
#page-atendimento.on { display: flex !important; flex-direction: column; }
#page-atendimento .wpp-inbox-grid { display: grid; grid-template-columns: 340px 1fr; gap: 14px; }

/* Fix: manter layout grid no atendimento */
#page-atendimento.on {
  display: flex !important;
  flex-direction: column;
}
#page-atendimento.on > div[style*="grid"] {
  display: grid !important;
  grid-template-columns: 340px 1fr;
  gap: 14px;
  height: calc(100vh - 240px);
}

/* ═══════════════════════════════════════════
   CHAT REDESIGN — Balões estilo WhatsApp
   ═══════════════════════════════════════════ */
#wpp-mensagens{
  background:#e5ddd5;
  background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23000000' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
.msg-wrap{display:flex;margin-bottom:6px;padding:0 2px;animation:msgIn .18s ease}
.msg-wrap.out{justify-content:flex-end}
.msg-wrap.in{justify-content:flex-start}
.msg-bubble{
  max-width:72%;min-width:80px;
  padding:8px 12px 22px;
  border-radius:8px;
  font-size:13.5px;line-height:1.5;
  position:relative;
  word-wrap:break-word;
  box-shadow:0 1px 2px rgba(0,0,0,.13);
}
.msg-wrap.out .msg-bubble{
  background:#dcf8c6;color:#111;
  border-bottom-right-radius:2px;
}
.msg-wrap.in .msg-bubble{
  background:#ffffff;color:#111;
  border-bottom-left-radius:2px;
}
/* Cauda do balão */
.msg-wrap.out .msg-bubble::after{
  content:'';position:absolute;bottom:0;right:-7px;
  border:6px solid transparent;
  border-bottom-color:#dcf8c6;
  border-right:0;border-bottom-right-radius:2px;
}
.msg-wrap.in .msg-bubble::after{
  content:'';position:absolute;bottom:0;left:-7px;
  border:6px solid transparent;
  border-bottom-color:#fff;
  border-left:0;border-bottom-left-radius:2px;
}
.msg-hora{
  position:absolute;bottom:4px;right:10px;
  font-size:10px;color:#8a9ba8;white-space:nowrap;
}
.msg-wrap.out .msg-hora{color:#6aaa5a}
/* Mídia */
.msg-media-wrap{max-width:68%}
.msg-media-wrap img{display:block;width:100%;max-width:280px;border-radius:6px;box-shadow:0 1px 2px rgba(0,0,0,.15)}
.msg-audio-wrap{min-width:200px}
.msg-audio-wrap audio{width:100%;height:32px}
/* Data separador */
.msg-date-sep{
  text-align:center;margin:10px 0 6px;
}
.msg-date-sep span{
  background:rgba(225,245,254,.85);color:#555;
  font-size:11px;font-weight:600;padding:4px 12px;
  border-radius:100px;box-shadow:0 1px 2px rgba(0,0,0,.08);
}

/* MODAL VISTORIA — força overlay correto */
#modal-vistoria {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background: rgba(0,0,0,.6) !important;
  z-index: 99999 !important;
  display: none;
  align-items: flex-start !important;
  justify-content: center !important;
  padding: 20px !important;
  overflow-y: auto !important;
}
#modal-vistoria.aberto {
  display: flex !important;
}

/* ═══════════════════════════════════════════════
   MELHORIAS ATENDIMENTO WhatsApp — Realiza v2
   ═══════════════════════════════════════════ */

/* Status bar melhorado */
#wpp-status-bar {
  border-radius: 10px !important;
  padding: 10px 16px !important;
  background: #fff !important;
  border: 1px solid var(--border) !important;
  margin-bottom: 16px !important;
}

#wpp-status-dot {
  transition: background .3s, box-shadow .3s !important;
}

/* Contato ativo destacado */
.wpp-contato-item.ativo {
  background: #eff6ff !important;
  border-left: 3px solid #3b82f6 !important;
}

/* Bolinha de notificação pulsando */
@keyframes pulse-green {
  0% { box-shadow: 0 0 0 0 #25d36666; }
  70% { box-shadow: 0 0 0 8px #25d36600; }
  100% { box-shadow: 0 0 0 0 #25d36600; }
}
.wpp-contato-item [style*="background:#25d366"] {
  animation: pulse-green 1.5s infinite;
}

/* Mensagens — visual WhatsApp mais limpo */
.msg-bubble {
  max-width: 70% !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.1) !important;
  border-radius: 12px !important;
  padding: 8px 12px 20px !important;
  position: relative !important;
  font-size: 13.5px !important;
  line-height: 1.5 !important;
}

.msg-wrap.out .msg-bubble {
  background: #dcf8c6 !important;
  border-bottom-right-radius: 3px !important;
}

.msg-wrap.in .msg-bubble {
  background: #fff !important;
  border-bottom-left-radius: 3px !important;
}

.msg-hora {
  font-size: 10px !important;
  color: #999 !important;
  position: absolute !important;
  bottom: 4px !important;
  right: 10px !important;
}

/* Separador de data */
.msg-date-sep {
  text-align: center !important;
  margin: 12px 0 !important;
}
.msg-date-sep span {
  background: #e2e8f0 !important;
  color: #64748b !important;
  font-size: 11px !important;
  padding: 3px 12px !important;
  border-radius: 100px !important;
  font-weight: 600 !important;
}

/* Área de mensagens fundo WhatsApp */
#wpp-mensagens {
  background: #eaf0f8 !important;
  background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23c8d6e5' fill-opacity='0.15'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") !important;
}

/* Input de mensagem */
#wpp-msg-input {
  border-radius: 20px !important;
  padding: 10px 16px !important;
  font-size: 14px !important;
  border: 1.5px solid #e2e8f0 !important;
  transition: border .2s !important;
}
#wpp-msg-input:focus {
  border-color: #25d366 !important;
  outline: none !important;
}

/* Badge não lidas */
.badge-nao-lidas {
  animation: pulse-green 1.5s infinite;
}

/* Botão enviar verde */
#wpp-chat-area .btn[onclick*="wppEnviarDoChat"] {
  background: #25d366 !important;
  border-radius: 50% !important;
  width: 40px !important;
  height: 40px !important;
}

/* Aba ativa */
.vtab.active {
  color: #25d366 !important;
  border-bottom-color: #25d366 !important;
  font-weight: 700 !important;
}

/* ═══ MELHORIAS WHATSAPP ═══ */
.wpp-assumir-btn { background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;border-radius:8px;padding:5px 12px;font-size:12px;font-weight:700;cursor:pointer;transition:.2s }
.wpp-assumir-btn.assumido { background:linear-gradient(135deg,#10b981,#059669) }
.wpp-push-toast { position:fixed;top:20px;right:20px;background:#1e293b;color:#fff;border-radius:12px;padding:14px 18px;z-index:99999;display:flex;align-items:center;gap:12px;box-shadow:0 8px 32px rgba(0,0,0,.3);animation:slideIn .3s ease;max-width:320px }
.wpp-push-toast img { width:40px;height:40px;border-radius:50%;object-fit:cover }
@keyframes slideIn { from{transform:translateX(120%);opacity:0} to{transform:translateX(0);opacity:1} }
@keyframes slideOut { from{transform:translateX(0);opacity:1} to{transform:translateX(120%);opacity:0} }
.wpp-busca-avancada { padding:8px 12px;border-bottom:1px solid var(--border);display:flex;gap:6px }
.wpp-busca-avancada input { flex:1;padding:6px 10px;border:1px solid var(--border);border-radius:8px;font-size:12px;outline:none }
.wpp-status-bar-wrap { display:flex;align-items:center;gap:8px;padding:8px 16px;background:#f0fdf4;border-bottom:1px solid #bbf7d0;font-size:12px;color:#16a34a;font-weight:600 }

/* ═══ CRM WHATSAPP — Novo layout completo ═══ */
.crm-tabs {
  display: flex; gap: 4px; padding: 8px 0 0;
  border-bottom: 2px solid var(--border); margin-bottom: 16px;
}
.crm-tab {
  padding: 8px 16px; border: none; background: transparent;
  font-family: 'DM Sans', sans-serif; font-size: 13px; font-weight: 600;
  color: var(--text2); cursor: pointer; border-radius: 8px 8px 0 0;
  border-bottom: 2px solid transparent; margin-bottom: -2px; transition: .2s;
}
.crm-tab:hover { background: var(--surface2); color: var(--text); }
.crm-tab.active { color: var(--accent); border-bottom-color: var(--accent); background: rgba(37,99,235,.06); }

.crm-tab-content { display: none; }
.crm-tab-content.active { display: block; }

/* Chat layout */
.crm-chat-layout {
  display: grid; grid-template-columns: 300px 1fr;
  gap: 12px; height: calc(100vh - 260px); min-height: 450px;
}
.crm-contact-panel {
  background: #fff; border-radius: var(--r); border: 1px solid var(--border);
  display: flex; flex-direction: column; overflow: hidden;
}
.crm-contact-header { padding: 12px 14px; border-bottom: 1px solid var(--border); flex-shrink: 0; }
.crm-contact-list { flex: 1; overflow-y: auto; }

.crm-chat-header {
  padding: 12px 16px; border-bottom: 1px solid var(--border);
  display: flex; align-items: center; gap: 12px; flex-shrink: 0;
  background: #fff;
}
.crm-avatar-circle {
  width: 42px; height: 42px; border-radius: 50%;
  background: linear-gradient(135deg, #25d366, #128c7e);
  display: flex; align-items: center; justify-content: center;
  font-size: 16px; font-weight: 700; color: #fff; flex-shrink: 0;
}
.crm-messages-area {
  flex: 1; overflow-y: auto; padding: 16px 20px;
  display: flex; flex-direction: column; gap: 6px;
  background: #e5ddd5; min-height: 0;
  background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23d0c8be' fill-opacity='0.3'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
.crm-reply-box {
  padding: 10px 14px; border-top: 1px solid var(--border);
  display: flex; gap: 8px; align-items: flex-end; background: #f0f0f0; flex-shrink: 0;
}
.crm-textarea {
  flex: 1; padding: 10px 14px; border: 1px solid var(--border); border-radius: 22px;
  font-family: 'DM Sans', sans-serif; font-size: 14px; resize: none; outline: none;
  max-height: 120px; min-height: 42px; background: #fff; transition: .2s; line-height: 1.4;
}
.crm-textarea:focus { border-color: #25d366; box-shadow: 0 0 0 2px rgba(37,211,102,.12); }
.crm-icon-btn {
  width: 40px; height: 40px; border-radius: 50%; background: #fff;
  border: 1px solid var(--border); font-size: 18px; cursor: pointer;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
  transition: .15s; color: #64748b;
}
.crm-icon-btn:hover { background: var(--surface2); }
.crm-send-btn {
  width: 40px; height: 40px; border-radius: 50%;
  background: #25d366; border: none; color: #fff;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; flex-shrink: 0; transition: .2s;
}
.crm-send-btn:hover { background: #128c7e; }
.crm-select-sm {
  padding: 5px 10px; border: 1.5px solid var(--border); border-radius: 8px;
  font-size: 12px; font-weight: 600; font-family: 'DM Sans', sans-serif;
  color: var(--text); background: #fff; cursor: pointer; outline: none;
}
.vtab-badge {
  display: inline-block; border-radius: 100px; font-size: 10px; font-weight: 700;
  padding: 1px 6px; margin-left: 3px;
}
.vtab-badge.blue { background: rgba(37,99,235,.15); color: var(--accent); }
.vtab-badge.red { background: rgba(239,68,68,.15); color: #dc2626; }
.vtab-badge.orange { background: rgba(245,158,11,.15); color: #d97706; }

/* Kanban */
.crm-kanban-board {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 14px; height: calc(100vh - 280px); min-height: 400px;
}
.crm-kanban-col {
  background: #f8fafc; border-radius: var(--r); border: 1px solid var(--border);
  display: flex; flex-direction: column; overflow: hidden;
}
.crm-kanban-col-header {
  padding: 12px 14px; display: flex; align-items: center;
  justify-content: space-between; font-size: 13px; font-weight: 700;
  color: var(--text); background: #fff; flex-shrink: 0;
}
.crm-kanban-count {
  background: var(--surface2); border: 1px solid var(--border);
  border-radius: 100px; font-size: 11px; font-weight: 700;
  color: var(--text2); padding: 1px 8px;
}
.crm-kanban-cards { flex: 1; overflow-y: auto; padding: 8px; display: flex; flex-direction: column; gap: 8px; }
.crm-kanban-card {
  background: #fff; border-radius: 10px; padding: 12px 14px;
  border: 1px solid var(--border); cursor: pointer; transition: all .15s;
  box-shadow: 0 1px 4px rgba(0,0,0,.06);
}
.crm-kanban-card:hover { border-color: var(--accent); box-shadow: 0 4px 12px rgba(37,99,235,.12); transform: translateY(-1px); }
.crm-kanban-card-name { font-size: 13px; font-weight: 700; color: var(--primary); margin-bottom: 4px; }
.crm-kanban-card-tel { font-size: 11px; color: var(--text3); margin-bottom: 6px; }
.crm-kanban-card-msg { font-size: 12px; color: var(--text2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.crm-kanban-card-footer { display: flex; align-items: center; justify-content: space-between; margin-top: 8px; }

/* Dashboard */
.crm-dash-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 14px;
  margin-bottom: 20px;
}
.crm-dash-card {
  background: #fff; border-radius: var(--r); padding: 20px 16px;
  border: 1px solid var(--border); text-align: center;
  box-shadow: var(--shadow2); transition: transform .15s;
}
.crm-dash-card:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.crm-dash-icon { font-size: 28px; margin-bottom: 8px; }
.crm-dash-val { font-size: 32px; font-weight: 800; margin-bottom: 4px; }
.crm-dash-lbl { font-size: 12px; color: var(--text2); font-weight: 600; }
.crm-dash-card.blue .crm-dash-val { color: var(--accent); }
.crm-dash-card.orange .crm-dash-val { color: #f59e0b; }
.crm-dash-card.yellow .crm-dash-val { color: #eab308; }
.crm-dash-card.green .crm-dash-val { color: var(--green); }
.crm-dash-card.purple .crm-dash-val { color: var(--purple); }
.crm-dash-card.red .crm-dash-val { color: var(--red); }

/* Respostas salvas */
.crm-respostas-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; }
.crm-resposta-card {
  background: #fff; border-radius: var(--r); padding: 16px;
  border: 1px solid var(--border); box-shadow: var(--shadow2); transition: .2s;
}
.crm-resposta-card:hover { border-color: #25d366; box-shadow: 0 4px 16px rgba(37,211,102,.1); }
.crm-resposta-card-titulo { font-size: 13px; font-weight: 700; color: var(--primary); margin-bottom: 6px; }
.crm-resposta-card-texto { font-size: 12px; color: var(--text2); line-height: 1.5; margin-bottom: 12px; white-space: pre-wrap; }
.crm-resposta-card-actions { display: flex; gap: 6px; }

/* Agendamentos / Gatilhos */
.crm-list-container { display: flex; flex-direction: column; gap: 10px; }
.crm-list-item {
  background: #fff; border-radius: var(--r); padding: 16px 18px;
  border: 1px solid var(--border); display: flex; align-items: center; gap: 14px;
  box-shadow: var(--shadow2); transition: .15s;
}
.crm-list-item:hover { border-color: var(--accent); }
.crm-list-item-icon { font-size: 24px; flex-shrink: 0; }
.crm-list-item-body { flex: 1; min-width: 0; }
.crm-list-item-title { font-size: 14px; font-weight: 700; color: var(--primary); margin-bottom: 3px; }
.crm-list-item-sub { font-size: 12px; color: var(--text3); }
.crm-list-item-actions { display: flex; gap: 6px; flex-shrink: 0; }
.crm-badge-active { background: #dcfce7; color: #16a34a; border-radius: 100px; padding: 2px 10px; font-size: 11px; font-weight: 700; }
.crm-badge-inactive { background: #f1f5f9; color: var(--text3); border-radius: 100px; padding: 2px 10px; font-size: 11px; font-weight: 700; }
.wpp-typing { font-size:11px;color:#25d366;font-style:italic;padding:2px 8px }

/* ═══════════════════════════════════════════════════════════
   CRM WHATSAPP — REDESIGN PROFISSIONAL v3.0
   Inspirado no Waleads — Layout moderno e limpo
   ═══════════════════════════════════════════════════════════ */

/* ── TABS PRINCIPAIS ── */
.crm-tabs {
  display: flex !important;
  gap: 2px !important;
  padding: 0 !important;
  border-bottom: 1px solid var(--border) !important;
  margin-bottom: 20px !important;
  background: #fff;
  border-radius: 12px 12px 0 0;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0,0,0,.05);
}
.crm-tab {
  padding: 12px 18px !important;
  border: none !important;
  background: transparent !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--text3) !important;
  cursor: pointer !important;
  border-bottom: 3px solid transparent !important;
  margin-bottom: 0 !important;
  transition: all .2s !important;
  border-radius: 0 !important;
  white-space: nowrap;
  letter-spacing: .1px;
}
.crm-tab:hover {
  background: var(--surface2) !important;
  color: var(--text) !important;
}
.crm-tab.active {
  color: #25d366 !important;
  border-bottom-color: #25d366 !important;
  background: rgba(37,211,102,.04) !important;
  font-weight: 700 !important;
}

.crm-tab-content { display: none !important; }
.crm-tab-content.active { display: block !important; }

/* ── LAYOUT CHAT ── */
.crm-chat-layout {
  display: grid !important;
  grid-template-columns: 320px 1fr !important;
  gap: 0 !important;
  height: calc(100vh - 250px) !important;
  min-height: 500px !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  border: 1px solid var(--border) !important;
  box-shadow: 0 4px 24px rgba(13,33,55,.08) !important;
}

/* ── PAINEL CONTATOS (esquerda) ── */
.crm-contact-panel {
  background: #fff !important;
  border-right: 1px solid var(--border) !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border-radius: 0 !important;
}
.crm-contact-header {
  padding: 14px 14px 10px !important;
  border-bottom: 1px solid var(--border) !important;
  flex-shrink: 0 !important;
  background: #fafafa !important;
}
.crm-contact-list {
  flex: 1 !important;
  overflow-y: auto !important;
}
.crm-contact-list::-webkit-scrollbar { width: 3px; }
.crm-contact-list::-webkit-scrollbar-thumb { background: #e2e8f0; border-radius: 3px; }

/* ── ABAS DA LISTA (Todos / Não lidas / Docs) ── */
.vtab {
  padding: 5px 10px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: var(--text3) !important;
  background: var(--surface2) !important;
  border: 1px solid var(--border) !important;
  border-radius: 20px !important;
  cursor: pointer !important;
  font-family: 'DM Sans', sans-serif !important;
  transition: all .15s !important;
}
.vtab:hover { background: #e2e8f0 !important; color: var(--text) !important; }
.vtab.active {
  background: #25d366 !important;
  color: #fff !important;
  border-color: #25d366 !important;
  font-weight: 700 !important;
}
.vtab-badge {
  display: inline-block !important;
  border-radius: 100px !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  padding: 1px 5px !important;
  margin-left: 3px !important;
}
.vtab.active .vtab-badge { background: rgba(255,255,255,.3) !important; color: #fff !important; }
.vtab-badge.blue { background: rgba(37,99,235,.15); color: #2563eb; }
.vtab-badge.red { background: rgba(239,68,68,.15); color: #dc2626; }
.vtab-badge.orange { background: rgba(245,158,11,.15); color: #d97706; }

/* ── ITEM DE CONTATO ── */
.wpp-contato-item {
  padding: 12px 14px !important;
  border-bottom: 1px solid #f1f5f9 !important;
  cursor: pointer !important;
  transition: background .12s !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.wpp-contato-item:hover { background: #f8fafc !important; }
.wpp-contato-item.ativo {
  background: #f0fdf4 !important;
  border-left: 3px solid #25d366 !important;
  padding-left: 11px !important;
}

/* ── HEADER DO CHAT ATIVO ── */
.crm-chat-header {
  padding: 12px 16px !important;
  border-bottom: 1px solid var(--border) !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-shrink: 0 !important;
  background: #fff !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.04) !important;
  min-height: 65px !important;
}
.crm-avatar-circle {
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #25d366, #128c7e) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #fff !important;
  flex-shrink: 0 !important;
  box-shadow: 0 2px 8px rgba(37,211,102,.3) !important;
}

/* ── ÁREA DE MENSAGENS ── */
.crm-messages-area {
  flex: 1 !important;
  overflow-y: auto !important;
  padding: 16px 18px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  background: #ece5dd !important;
  min-height: 0 !important;
  background-image: url("data:image/svg+xml,%3Csvg width='400' height='400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='400' height='400' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E") !important;
}
.crm-messages-area::-webkit-scrollbar { width: 4px; }
.crm-messages-area::-webkit-scrollbar-thumb { background: rgba(0,0,0,.15); border-radius: 4px; }

/* ── BALÕES DE MENSAGEM ── */
.msg-wrap { display: flex !important; margin-bottom: 3px !important; padding: 0 4px !important; animation: msgIn .18s ease !important; }
.msg-wrap.out { justify-content: flex-end !important; }
.msg-wrap.in { justify-content: flex-start !important; }
@keyframes msgIn { from{opacity:0;transform:translateY(4px)} to{opacity:1;transform:translateY(0)} }

.msg-bubble {
  max-width: 68% !important;
  min-width: 70px !important;
  padding: 7px 11px 20px !important;
  border-radius: 8px !important;
  font-size: 13.5px !important;
  line-height: 1.5 !important;
  position: relative !important;
  word-wrap: break-word !important;
  box-shadow: 0 1px 1px rgba(0,0,0,.12) !important;
}
.msg-wrap.out .msg-bubble {
  background: #dcf8c6 !important;
  color: #111 !important;
  border-bottom-right-radius: 2px !important;
}
.msg-wrap.in .msg-bubble {
  background: #fff !important;
  color: #111 !important;
  border-bottom-left-radius: 2px !important;
}
.msg-wrap.out .msg-bubble::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important; right: -7px !important;
  border: 6px solid transparent !important;
  border-bottom-color: #dcf8c6 !important;
  border-right: 0 !important;
}
.msg-wrap.in .msg-bubble::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important; left: -7px !important;
  border: 6px solid transparent !important;
  border-bottom-color: #fff !important;
  border-left: 0 !important;
}
.msg-hora {
  position: absolute !important;
  bottom: 4px !important; right: 8px !important;
  font-size: 10px !important;
  color: #999 !important;
  white-space: nowrap !important;
}
.msg-wrap.out .msg-hora { color: #6aaa5a !important; }
.msg-date-sep { text-align: center !important; margin: 12px 0 8px !important; }
.msg-date-sep span {
  background: rgba(225,245,254,.9) !important;
  color: #5a6a7a !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  padding: 4px 14px !important;
  border-radius: 100px !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.08) !important;
}

/* ── CAIXA DE RESPOSTA ── */
.crm-reply-box {
  padding: 10px 12px !important;
  border-top: 1px solid #ddd !important;
  display: flex !important;
  gap: 7px !important;
  align-items: flex-end !important;
  background: #f0f0f0 !important;
  flex-shrink: 0 !important;
}
.crm-textarea {
  flex: 1 !important;
  padding: 10px 14px !important;
  border: 1px solid #ddd !important;
  border-radius: 22px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  resize: none !important;
  outline: none !important;
  max-height: 120px !important;
  min-height: 42px !important;
  background: #fff !important;
  transition: border .15s !important;
  line-height: 1.4 !important;
}
.crm-textarea:focus {
  border-color: #25d366 !important;
  box-shadow: 0 0 0 2px rgba(37,211,102,.1) !important;
}
.crm-icon-btn {
  width: 38px !important; height: 38px !important;
  border-radius: 50% !important;
  background: #fff !important;
  border: 1px solid #ddd !important;
  font-size: 17px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  transition: all .15s !important;
  color: #64748b !important;
}
.crm-icon-btn:hover { background: #e9fdf1 !important; border-color: #25d366 !important; }
.crm-send-btn {
  width: 40px !important; height: 40px !important;
  border-radius: 50% !important;
  background: #25d366 !important;
  border: none !important;
  color: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  transition: all .2s !important;
  box-shadow: 0 2px 8px rgba(37,211,102,.35) !important;
}
.crm-send-btn:hover { background: #1da851 !important; transform: scale(1.05) !important; }
.crm-send-btn:active { transform: scale(.96) !important; }

/* ── SELECT STATUS ── */
.crm-select-sm {
  padding: 5px 10px !important;
  border: 1.5px solid var(--border) !important;
  border-radius: 20px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  font-family: 'DM Sans', sans-serif !important;
  color: var(--text) !important;
  background: #fff !important;
  cursor: pointer !important;
  outline: none !important;
  transition: border .15s !important;
}
.crm-select-sm:focus { border-color: #25d366 !important; }

/* ── KANBAN ── */
.crm-kanban-board {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
  height: calc(100vh - 280px) !important;
  min-height: 420px !important;
}
.crm-kanban-col {
  background: #f1f5f9 !important;
  border-radius: 14px !important;
  border: 1px solid var(--border) !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  transition: background .2s !important;
}
.crm-kanban-col.drag-over {
  background: rgba(37,99,235,.06) !important;
  border-color: var(--accent) !important;
}
.crm-kanban-col-header {
  padding: 14px 16px 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--text) !important;
  background: #fff !important;
  flex-shrink: 0 !important;
  letter-spacing: .2px !important;
}
.crm-kanban-count {
  background: var(--surface2) !important;
  border: 1px solid var(--border) !important;
  border-radius: 100px !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  color: var(--text2) !important;
  padding: 2px 9px !important;
  min-width: 24px !important;
  text-align: center !important;
}
.crm-kanban-cards {
  flex: 1 !important;
  overflow-y: auto !important;
  padding: 10px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}
.crm-kanban-cards::-webkit-scrollbar { width: 3px; }
.crm-kanban-cards::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 3px; }

.crm-kanban-card {
  background: #fff !important;
  border-radius: 10px !important;
  padding: 12px 14px !important;
  border: 1px solid #e8edf2 !important;
  cursor: grab !important;
  transition: all .15s !important;
  box-shadow: 0 1px 3px rgba(0,0,0,.06) !important;
  user-select: none !important;
}
.crm-kanban-card:hover {
  border-color: #25d366 !important;
  box-shadow: 0 4px 14px rgba(37,211,102,.15) !important;
  transform: translateY(-1px) !important;
}
.crm-kanban-card:active { cursor: grabbing !important; }
.crm-kanban-card[draggable="true"] { cursor: grab !important; }
.crm-kanban-card-name {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--primary) !important;
  margin-bottom: 4px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.crm-kanban-card-tel { font-size: 11px !important; color: var(--text3) !important; margin-bottom: 6px !important; }
.crm-kanban-card-msg {
  font-size: 11.5px !important;
  color: var(--text2) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1.4 !important;
}
.crm-kanban-card-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-top: 8px !important;
  padding-top: 8px !important;
  border-top: 1px solid #f1f5f9 !important;
}

/* ── DASHBOARD ── */
.crm-dash-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  gap: 14px !important;
  margin-bottom: 24px !important;
}
.crm-dash-card {
  background: #fff !important;
  border-radius: 14px !important;
  padding: 22px 16px 18px !important;
  border: 1px solid var(--border) !important;
  text-align: center !important;
  box-shadow: 0 2px 8px rgba(13,33,55,.05) !important;
  transition: all .2s !important;
  position: relative !important;
  overflow: hidden !important;
}
.crm-dash-card::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  height: 3px !important;
}
.crm-dash-card.blue::before { background: linear-gradient(90deg,#2563eb,#60a5fa) !important; }
.crm-dash-card.orange::before { background: linear-gradient(90deg,#f59e0b,#fcd34d) !important; }
.crm-dash-card.yellow::before { background: linear-gradient(90deg,#eab308,#fde047) !important; }
.crm-dash-card.green::before { background: linear-gradient(90deg,#10b981,#6ee7b7) !important; }
.crm-dash-card.purple::before { background: linear-gradient(90deg,#8b5cf6,#c4b5fd) !important; }
.crm-dash-card.red::before { background: linear-gradient(90deg,#ef4444,#fca5a5) !important; }
.crm-dash-card:hover { transform: translateY(-3px) !important; box-shadow: 0 8px 24px rgba(13,33,55,.1) !important; }
.crm-dash-icon { font-size: 26px !important; margin-bottom: 10px !important; display: block !important; }
.crm-dash-val {
  font-family: 'Syne', sans-serif !important;
  font-size: 34px !important;
  font-weight: 800 !important;
  margin-bottom: 4px !important;
  line-height: 1 !important;
}
.crm-dash-lbl { font-size: 11px !important; color: var(--text3) !important; font-weight: 600 !important; text-transform: uppercase !important; letter-spacing: .4px !important; }
.crm-dash-card.blue .crm-dash-val { color: #2563eb !important; }
.crm-dash-card.orange .crm-dash-val { color: #d97706 !important; }
.crm-dash-card.yellow .crm-dash-val { color: #ca8a04 !important; }
.crm-dash-card.green .crm-dash-val { color: #059669 !important; }
.crm-dash-card.purple .crm-dash-val { color: #7c3aed !important; }
.crm-dash-card.red .crm-dash-val { color: #dc2626 !important; }

/* ── RESPOSTAS SALVAS ── */
.crm-respostas-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
  gap: 14px !important;
}
.crm-resposta-card {
  background: #fff !important;
  border-radius: 12px !important;
  padding: 16px !important;
  border: 1px solid var(--border) !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.05) !important;
  transition: all .2s !important;
}
.crm-resposta-card:hover {
  border-color: #25d366 !important;
  box-shadow: 0 6px 20px rgba(37,211,102,.12) !important;
  transform: translateY(-1px) !important;
}
.crm-resposta-card-titulo {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--primary) !important;
  margin-bottom: 8px !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}
.crm-resposta-card-texto {
  font-size: 12px !important;
  color: var(--text2) !important;
  line-height: 1.6 !important;
  margin-bottom: 12px !important;
  white-space: pre-wrap !important;
  background: #f8fafc !important;
  padding: 8px 10px !important;
  border-radius: 8px !important;
  border-left: 3px solid #25d366 !important;
}
.crm-resposta-card-actions { display: flex !important; gap: 6px !important; }

/* ── LISTA (AGENDAMENTOS / GATILHOS) ── */
.crm-list-container { display: flex !important; flex-direction: column !important; gap: 10px !important; }
.crm-list-item {
  background: #fff !important;
  border-radius: 12px !important;
  padding: 14px 18px !important;
  border: 1px solid var(--border) !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.04) !important;
  transition: all .15s !important;
}
.crm-list-item:hover {
  border-color: var(--accent) !important;
  box-shadow: 0 4px 14px rgba(37,99,235,.1) !important;
}
.crm-list-item-icon { font-size: 22px !important; flex-shrink: 0 !important; }
.crm-list-item-body { flex: 1 !important; min-width: 0 !important; }
.crm-list-item-title { font-size: 14px !important; font-weight: 700 !important; color: var(--primary) !important; margin-bottom: 3px !important; }
.crm-list-item-sub { font-size: 12px !important; color: var(--text3) !important; line-height: 1.4 !important; }
.crm-list-item-actions { display: flex !important; gap: 6px !important; flex-shrink: 0 !important; align-items: center !important; }
.crm-badge-active {
  background: #dcfce7 !important;
  color: #16a34a !important;
  border-radius: 100px !important;
  padding: 3px 10px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  border: 1px solid #bbf7d0 !important;
}
.crm-badge-inactive {
  background: #f1f5f9 !important;
  color: var(--text3) !important;
  border-radius: 100px !important;
  padding: 3px 10px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  border: 1px solid var(--border) !important;
}

/* ── PULSE NOTIFICAÇÃO ── */
@keyframes pulse-green {
  0% { box-shadow: 0 0 0 0 rgba(37,211,102,.5); }
  70% { box-shadow: 0 0 0 8px rgba(37,211,102,0); }
  100% { box-shadow: 0 0 0 0 rgba(37,211,102,0); }
}
@keyframes slideIn {
  from { transform: translateX(110%); opacity: 0; }
  to { transform: translateX(0); opacity: 1; }
}

/* ── TYPING INDICATOR ── */
.wpp-typing { font-size: 11px !important; color: #25d366 !important; font-style: italic !important; padding: 4px 10px !important; }

/* ── RESPONSIVO CRM ── */
@media (max-width: 900px) {
  .crm-chat-layout { grid-template-columns: 1fr !important; height: auto !important; }
  .crm-kanban-board { grid-template-columns: repeat(2, 1fr) !important; height: auto !important; }
  .crm-contact-panel { height: 300px !important; }
}
@media (max-width: 600px) {
  .crm-tabs { overflow-x: auto !important; flex-wrap: nowrap !important; }
  .crm-tab { padding: 10px 12px !important; font-size: 12px !important; }
  .crm-kanban-board { grid-template-columns: 1fr !important; }
  .crm-dash-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
