:root {
  --wine:#4C1164; --wine-dark:#5A1785; --rose:#f3e8fb;
  --cream:#fbf7ff; --ink:#2f2437; --muted:#6f6677;
  --line:#eadcf7; --white:#fff; --green:#34745a; --gold:#C59A4A;
  --shadow:0 16px 45px rgba(76,17,100,.08);
  --whats-green:#25D366; --whats-green-dark:#075E54; --whats-bubble-out:#dcf8c6;
  --whats-bg:#e9e1d9;
}
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; background:var(--cream); }
a { color:inherit; }
.crm-heading-link { text-decoration:none; }
.crm-heading-link:hover { text-decoration:underline; }
.crm-body { min-height:100vh; }
.crm-sidebar { position:fixed; inset:0 auto 0 0; width:260px; padding:25px 20px; background:var(--wine-dark); color:#fff; display:flex; flex-direction:column; z-index:3; }
.crm-brand { display:flex; align-items:center; gap:12px; text-decoration:none; font-size:13px; letter-spacing:.16em; text-transform:uppercase; }
.crm-brand img { width:92px; filter:brightness(0) invert(1); }
.crm-brand span { border-left:1px solid rgba(255,255,255,.35); padding-left:12px; }
.crm-workspace { margin:30px 0 14px; padding:16px; border:1px solid rgba(255,255,255,.14); border-radius:16px; background:rgba(255,255,255,.07); display:flex; flex-direction:column; gap:4px; }
.crm-workspace small,.crm-workspace span { color:#c3b3dd; font-size:12px; }
.crm-switcher { display:flex; gap:7px; margin-bottom:10px; }
.crm-switcher select { min-width:0; flex:1; }
.crm-switcher button { border:0; border-radius:8px; background:#fff; color:var(--wine-dark); font-weight:700; }
.crm-nav { display:flex; flex-direction:column; gap:5px; margin-top:10px; }
.crm-nav a,.crm-sidebar-footer a,.crm-sidebar-footer-link { padding:11px 13px; border-radius:10px; text-decoration:none; color:#f2ecfb; font-size:14px; }
.crm-nav a:hover,.crm-nav a.ativo { background:#fff; color:var(--wine-dark); font-weight:700; }
.crm-sidebar-footer-link { display:block; width:100%; text-align:left; background:transparent; border:0; cursor:pointer; font-family:inherit; }
.crm-sidebar-footer-link:hover { background:rgba(255,255,255,.1); }
.crm-badge { display:inline-grid; place-items:center; min-width:21px; height:21px; border-radius:20px; background:var(--gold); color:var(--wine); font-size:11px; float:right; }
.crm-sidebar-footer { margin-top:auto; display:flex; flex-direction:column; border-top:1px solid rgba(255,255,255,.14); padding-top:10px; }
.crm-main { margin-left:260px; min-height:100vh; }
.crm-topbar { height:72px; padding:0 38px; background:#fff; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; }
.crm-topbar div { display:flex; flex-direction:column; }
.crm-topbar small { color:var(--muted); }
.crm-topbar a { color:var(--wine); font-weight:700; }
.crm-topbar-avisos { flex-direction:row !important; align-items:center; gap:16px; }
.crm-sino { position:relative; text-decoration:none; font-size:22px; line-height:1; padding:6px; }
.crm-sino .crm-badge { position:absolute; top:-2px; right:-6px; float:none; min-width:18px; height:18px; font-size:10px; }
.crm-avisos-form { display:flex; gap:12px; margin:0; }
.crm-avisos-form label { display:flex; align-items:center; gap:5px; font-size:12px; font-weight:400; color:var(--muted); cursor:pointer; }
.crm-avisos-form input[type="checkbox"] { margin:0; cursor:pointer; }
.crm-conversa-midia-imagem { max-width:min(280px,100%); max-height:280px; border-radius:8px; display:block; }
.crm-conversa-midia-video { max-width:min(320px,100%); border-radius:8px; display:block; }
.crm-page-heading-acoes { display:flex; gap:10px; align-items:center; }
.crm-content { padding:38px; max-width:1500px; margin:auto; }
.crm-messages { margin:20px 38px 0; }
.crm-messages p { margin:0; padding:13px 18px; border-radius:12px; background:#e9f5ee; color:var(--green); }
.crm-page-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:28px; }
.crm-page-heading h1 { font-family:Georgia,serif; font-size:36px; margin:5px 0 6px; color:var(--wine-dark); }
.crm-page-heading p,.crm-panel p { margin:0; color:var(--muted); }
.crm-kicker { color:var(--wine); text-transform:uppercase; letter-spacing:.15em; font-weight:800; font-size:11px; }
.crm-button,.crm-primary-link { display:inline-flex; justify-content:center; border:0; border-radius:11px; padding:13px 18px; background:var(--wine); color:#fff; text-decoration:none; font-weight:750; cursor:pointer; }
.crm-metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:22px; }
.crm-metrics article,.crm-panel { background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow); }
.crm-metrics article { padding:20px; display:flex; flex-direction:column; gap:6px; }
.crm-metrics small { color:var(--muted); }
.crm-metrics strong { font-family:Georgia,serif; font-size:32px; color:var(--wine-dark); }
.crm-metrics a { color:var(--wine); font-weight:700; font-size:13px; }
.crm-metrics span { font-size:13px; color:var(--muted); }
.crm-dashboard-filter { display:flex; align-items:flex-end; gap:12px; margin-bottom:20px; padding:16px 18px; border:1px solid var(--line); border-radius:15px; background:#fff; box-shadow:var(--shadow); }
.crm-dashboard-filter>div { display:flex; flex:1; flex-direction:column; gap:4px; }
.crm-dashboard-filter>div span,.crm-dashboard-filter label span { color:var(--muted); font-size:12px; }
.crm-dashboard-filter label { display:flex; flex-direction:column; gap:5px; min-width:185px; font-size:12px; font-weight:700; }
.crm-dashboard-filter select { padding:9px 11px; }
.crm-dashboard-metrics { grid-template-columns:repeat(4,1fr); }
.crm-dashboard-metrics strong { font-size:27px; }
.crm-dashboard-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.crm-dashboard-wide { grid-column:1/-1; }
.crm-funnel-summary { display:flex; flex-direction:column; gap:15px; }
.crm-funnel-summary article { display:grid; grid-template-columns:minmax(160px,.7fr) 1.3fr; align-items:center; gap:16px; }
.crm-funnel-summary article>div { display:flex; flex-direction:column; gap:4px; }
.crm-funnel-summary span,.crm-progress-row small { color:var(--muted); font-size:12px; }
.crm-progress-row progress { width:100%; height:11px; overflow:hidden; border:0; border-radius:20px; accent-color:var(--wine); }
.crm-progress-row progress::-webkit-progress-bar { border-radius:20px; background:var(--rose); }
.crm-progress-row progress::-webkit-progress-value { border-radius:20px; background:var(--wine); }
.crm-dashboard-table td:not(:first-child),.crm-dashboard-table th:not(:first-child) { text-align:right; }
.crm-whatsapp-summary { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; margin-bottom:12px; }
.crm-whatsapp-summary article { display:flex; flex-direction:column; gap:5px; padding:14px; border-radius:12px; background:var(--rose); }
.crm-whatsapp-summary small { color:var(--muted); }
.crm-whatsapp-summary strong { color:var(--wine-dark); font:700 22px Georgia,serif; }
.crm-campaign-result-list { border-top:1px solid var(--line); }
.crm-import-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:20px; }
.crm-import-steps article { display:flex; align-items:center; gap:10px; padding:14px; border:1px solid var(--line); border-radius:14px; background:var(--rose); color:var(--muted); }
.crm-import-steps article>span { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:var(--line); font-weight:800; }
.crm-import-steps article>div { display:flex; flex-direction:column; gap:3px; }
.crm-import-steps article small { font-size:11px; }
.crm-import-steps article.ativo { border-color:var(--wine-dark); background:var(--rose); color:var(--wine-dark); }
.crm-import-steps article.ativo>span { background:var(--wine); color:#fff; }
.crm-import-layout { grid-template-columns:1.15fr .85fr; }
.crm-import-help { margin:18px 0; padding-left:20px; color:var(--muted); line-height:1.8; }
.crm-import-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:20px; }
.crm-import-summary article { display:flex; flex-direction:column; gap:5px; padding:18px; border:1px solid var(--line); border-radius:15px; background:#fff; box-shadow:var(--shadow); }
.crm-import-summary small { color:var(--muted); }
.crm-import-summary strong { font:700 28px Georgia,serif; }
.crm-import-summary .pronto strong { color:var(--green); }
.crm-import-summary .duplicado strong { color:#9a6a19; }
.crm-import-summary .erro strong { color:#a12e47; }
.crm-import-status { display:inline-block; width:max-content; padding:5px 8px; border-radius:20px; font-size:11px; font-style:normal; font-weight:800; }
.crm-import-status.pronto { background:#e9f5ee; color:var(--green); }
.crm-import-status.duplicado { background:#fff4d7; color:#886017; }
.crm-import-status.erro { background:#fae8ec; color:#9b2840; }
.crm-import-actions { display:flex; justify-content:flex-end; gap:9px; margin-top:20px; }
.crm-import-actions form { margin:0; }
.crm-import-model-actions { display:flex; flex-wrap:wrap; gap:8px; }
.crm-two-columns { display:grid; grid-template-columns:1.35fr 1fr; gap:20px; }
.crm-panel { padding:22px; min-width:0; }
.crm-panel-title { display:flex; justify-content:space-between; gap:15px; align-items:flex-start; margin-bottom:18px; }
.crm-panel h2 { margin:0 0 5px; font:700 21px Georgia,serif; color:var(--wine-dark); }
.crm-panel-title a { color:var(--wine); font-size:13px; font-weight:700; }
.crm-list { display:flex; flex-direction:column; }
.crm-list article { padding:15px 0; border-top:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; gap:15px; }
.crm-list article:first-child { border-top:0; }
.crm-list article div { display:flex; flex-direction:column; gap:4px; }
.crm-list article > a { display:flex; flex-direction:column; gap:4px; text-decoration:none; }
.crm-list article > a:hover strong { text-decoration:underline; }
.crm-list span,.crm-list small { font-size:12px; color:var(--muted); }
.crm-status { font-style:normal; background:var(--rose); color:var(--wine); border-radius:20px; padding:5px 9px; font-size:11px; white-space:nowrap; }
.crm-status-info { font-style:normal; background:var(--gold); color:var(--wine); border-radius:20px; padding:5px 9px; font-size:11px; white-space:nowrap; margin-left:8px; text-decoration:none; display:inline-block; }
.crm-list article div.crm-list-primary { flex-direction:row; align-items:center; }
.crm-list-primary > a { display:flex; flex-direction:column; gap:4px; text-decoration:none; }
.crm-list-primary > a:hover strong { text-decoration:underline; }
.crm-empty { padding:30px 10px; text-align:center; color:var(--muted); }
.crm-tag { display:inline-flex; align-items:center; gap:5px; padding:3px 9px; border-radius:20px; font-size:11px; font-weight:700; font-style:normal; background:color-mix(in srgb, var(--cor-etiqueta, var(--wine)) 14%, white); color:var(--cor-etiqueta, var(--wine)); margin:0 4px 4px 0; }
.crm-tag::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--cor-etiqueta, var(--wine)); flex-shrink:0; }
.crm-field-etiquetas { display:flex; flex-direction:column; gap:6px; font-size:13px; font-weight:700; }
.crm-field-etiquetas [id^="id_etiquetas"] { display:flex; flex-wrap:wrap; gap:8px; }
.crm-field-etiquetas [id^="id_etiquetas"]>div { margin:0; }
.crm-field-etiquetas [id^="id_etiquetas"]>div>label { display:inline-flex; align-items:center; gap:6px; padding:7px 12px; border:1px solid var(--line); border-radius:20px; font-weight:600; font-size:13px; cursor:pointer; background:#fff; }
.crm-field-etiquetas input[type="checkbox"] { width:auto; }
.crm-tag-filter { margin-top:8px; flex-wrap:wrap; }
.crm-tag-filter a { position:relative; padding-left:20px; }
.crm-tag-filter a::before { content:""; position:absolute; left:9px; top:50%; transform:translateY(-50%); width:7px; height:7px; border-radius:50%; background:var(--cor-etiqueta, var(--wine)); }
.crm-tag-select-tools { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:-4px; }
.crm-tag-select-tools small { color:var(--muted); }
.crm-tag-select-button { position:relative; padding:5px 12px 5px 20px; border:1px solid var(--line); border-radius:20px; background:#fff; color:var(--cor-etiqueta, var(--wine)); font-weight:700; font-size:12px; cursor:pointer; }
.crm-tag-select-button::before { content:""; position:absolute; left:10px; top:50%; transform:translateY(-50%); width:7px; height:7px; border-radius:50%; background:var(--cor-etiqueta, var(--wine)); }
.crm-tag-select-button.ativo { background:color-mix(in srgb, var(--cor-etiqueta, var(--wine)) 16%, white); border-color:var(--cor-etiqueta, var(--wine)); }
.crm-empty strong { display:block; color:var(--ink); margin-bottom:6px; }

/* WhatsApp-flavored screens */
.crm-whats-title { display:flex; align-items:center; gap:10px; }
.crm-whats-row { justify-content:flex-start !important; }
.crm-whats-row .crm-list-primary { flex:1; min-width:0; flex-wrap:wrap; row-gap:4px; }
.crm-whats-row { flex-wrap:wrap; }
.crm-whats-row .crm-whats-actions { flex-direction:row; align-items:center; flex-wrap:wrap; gap:10px; }
.crm-list .crm-whats-avatar { flex:0 0 auto; width:42px; height:42px; border-radius:50%; background:var(--whats-green-dark); color:#fff; display:grid; place-items:center; font-weight:800; font-size:16px; }
.crm-whats-chat-icon { display:inline-block; font-size:14px; filter:grayscale(0) saturate(1.4); transition:transform .15s ease; }
.crm-whats-chat-link:hover .crm-whats-chat-icon { transform:scale(1.2); }

.crm-audio-recorder { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.crm-audio-recorder-gravando { display:flex; align-items:center; gap:10px; }
.crm-audio-recorder-ponto { width:10px; height:10px; border-radius:50%; background:#d9364a; animation:crm-audio-pulso 1.1s ease-in-out infinite; }
@keyframes crm-audio-pulso { 0%,100% { opacity:1; } 50% { opacity:.25; } }
.crm-audio-recorder-pronto { display:flex; align-items:center; gap:10px; }
.crm-audio-recorder-pronto audio { height:36px; }
.crm-audio-recorder-gravando[hidden],
.crm-audio-recorder-pronto[hidden] { display:none; }
.crm-status-respondida { background:rgba(37,211,102,.16); color:var(--whats-green-dark); }
.crm-status-pendente { background:var(--gold); color:#fff; }
.crm-status-lida { background:rgba(52,183,241,.18); color:#0b7fb8; }

.crm-whats-thread { background:var(--whats-bg); border-radius:15px; padding:20px; }
.crm-whats-messages { display:flex; flex-direction:column; gap:10px; max-height:55vh; overflow-y:auto; }
.crm-whats-data-separador { text-align:center; margin:6px 0; }
.crm-whats-data-separador span { display:inline-block; background:#fff; color:var(--whats-green-dark); font-size:11px; font-weight:700; padding:5px 12px; border-radius:8px; box-shadow:0 1px 2px rgba(0,0,0,.13); }
.crm-whats-bubble-row { display:flex; }
.crm-whats-bubble-row.entrada { justify-content:flex-start; }
.crm-whats-bubble-row.saida { justify-content:flex-end; }
.crm-whats-bubble { max-width:70%; padding:9px 12px; border-radius:10px; background:#fff; box-shadow:0 1px 2px rgba(0,0,0,.13); display:flex; flex-direction:column; gap:4px; }
.crm-whats-bubble-row.entrada .crm-whats-bubble { border-top-left-radius:2px; }
.crm-whats-bubble-row.saida .crm-whats-bubble { background:var(--whats-bubble-out); border-top-right-radius:2px; }
.crm-whats-bubble p { margin:0; white-space:pre-line; }
.crm-whats-remetente { font-size:11px; font-weight:800; color:var(--whats-green-dark); }
.crm-whats-meta { align-self:flex-end; font-size:10px; color:var(--muted); }
@media (max-width:760px) { .crm-whats-bubble { max-width:88%; } }
.crm-template-preview { max-width:320px; padding:9px 12px; border-radius:10px; border-top-left-radius:2px; background:#fff; box-shadow:0 1px 2px rgba(0,0,0,.13); display:flex; flex-direction:column; gap:4px; margin-top:6px; }
.crm-template-preview strong { font-size:13px; }
.crm-template-preview p { margin:0; white-space:pre-line; font-size:13px; }
.crm-template-preview small { color:var(--muted); font-size:11px; }
.crm-template-preview-botoes { display:flex; flex-direction:column; gap:4px; margin-top:6px; padding-top:6px; border-top:1px solid var(--line); }
.crm-template-preview-botoes span { text-align:center; color:var(--whats-green-dark); font-size:12px; font-weight:700; }
.crm-help-categoria { margin-bottom:18px; }
.crm-help-lista { list-style:none; margin:0; padding:0; }
.crm-help-lista li { padding:11px 0; border-top:1px solid var(--line); display:flex; align-items:center; gap:10px; }
.crm-help-lista li:first-child { border-top:0; }
.crm-help-lista a { color:var(--wine); font-weight:700; text-decoration:none; }
.crm-help-lista a:hover { text-decoration:underline; }
.crm-help-badge-video { background:var(--rose); color:var(--wine); border-radius:20px; padding:3px 9px; font-size:11px; font-weight:700; }
.crm-help-video-link { margin-bottom:18px; }
.crm-help-imagem { max-width:100%; border-radius:12px; border:1px solid var(--line); margin-bottom:18px; display:block; }
.crm-help-conteudo { color:var(--ink); line-height:1.6; margin-bottom:22px; }
.crm-create-box { max-width:640px; margin:0 0 20px auto; padding:14px 18px; background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow); }
.crm-create-box summary { color:var(--wine); font-weight:750; cursor:pointer; }
.crm-secondary-button { border:1px solid var(--line); border-radius:9px; padding:8px 11px; background:#fff; color:var(--wine); font-weight:700; cursor:pointer; }
.crm-danger-button { border:1px solid #d8a5af; border-radius:9px; padding:10px 13px; background:#fff; color:#9b2840; font-weight:700; cursor:pointer; }
.crm-heading-actions,.crm-form-actions { display:flex; align-items:center; justify-content:flex-end; gap:9px; }
.crm-heading-actions form { margin:0; }
.crm-filter-tabs { display:flex; gap:7px; margin:-5px 0 16px; }
.crm-filter-tabs a { padding:7px 12px; border-radius:20px; background:var(--rose); color:var(--muted); text-decoration:none; font-size:12px; font-weight:700; }
.crm-filter-tabs a.ativo { background:var(--wine); color:#fff; }
.crm-filters-row { display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; margin:-5px 0 16px; }
.crm-filters-row .crm-filter-tabs { margin:0; }
.crm-tag-select-inline { display:inline-flex; align-items:center; gap:8px; }
.crm-multiselect { position:relative; width:220px; }
.crm-multiselect select[hidden] { display:none; }
.crm-multiselect-box { display:flex; align-items:center; justify-content:space-between; gap:6px; min-height:38px; padding:5px 10px; border:1px solid var(--line); border-radius:9px; background:#fff; cursor:pointer; }
.crm-multiselect-box:focus-visible { outline:2px solid var(--wine); outline-offset:1px; }
.crm-multiselect-chips { display:flex; flex-wrap:wrap; gap:5px; flex:1; min-width:0; }
.crm-multiselect-placeholder { color:var(--muted); font-size:13px; }
.crm-multiselect-chip { display:inline-flex; align-items:center; gap:4px; padding:3px 6px 3px 10px; border-radius:14px; font-size:11px; font-weight:700; font-style:normal; background:color-mix(in srgb, var(--cor-etiqueta, var(--wine)) 16%, white); color:var(--cor-etiqueta, var(--wine)); }
.crm-multiselect-remove { border:none; background:none; color:inherit; font-size:15px; line-height:1; cursor:pointer; padding:0; }
.crm-multiselect-arrow { color:var(--muted); font-size:10px; flex-shrink:0; }
.crm-multiselect-dropdown { position:absolute; top:100%; left:0; right:0; margin-top:4px; padding:6px; border:1px solid var(--line); border-radius:9px; background:#fff; box-shadow:0 8px 20px rgba(0,0,0,.14); z-index:20; max-height:220px; overflow-y:auto; }
.crm-multiselect-option { display:flex; align-items:center; gap:8px; padding:7px 8px; border-radius:6px; font-size:13px; font-weight:600; color:var(--cor-etiqueta, var(--ink)); cursor:pointer; }
.crm-multiselect-option:hover { background:color-mix(in srgb, var(--cor-etiqueta, var(--wine)) 10%, white); }
.crm-multiselect-option input[type="checkbox"] { width:auto; }
.crm-contact-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:18px; }
.crm-contact-summary article { display:flex; flex-direction:column; gap:6px; min-width:0; padding:18px; border:1px solid var(--line); border-radius:15px; background:#fff; box-shadow:var(--shadow); }
.crm-contact-summary small { color:var(--muted); }
.crm-contact-summary strong { overflow-wrap:anywhere; color:var(--wine-dark); }
.crm-contact-note { padding:16px 19px; margin-bottom:18px; border-left:4px solid var(--wine); border-radius:0 13px 13px 0; background:#fff; }
.crm-contact-note p { margin:6px 0 0; color:var(--muted); }
.crm-contact-history-layout { grid-template-columns:1.4fr .8fr; }
.crm-timeline article { position:relative; display:grid; grid-template-columns:16px 1fr; gap:10px; padding:0 0 20px; }
.crm-timeline article::before { content:""; position:absolute; left:5px; top:11px; bottom:0; width:2px; background:var(--line); }
.crm-timeline article:last-child::before { display:none; }
.crm-timeline-marker { position:relative; z-index:1; width:12px; height:12px; margin-top:4px; border:3px solid var(--rose); border-radius:50%; background:var(--wine); }
.crm-timeline article div { display:flex; flex-direction:column; gap:5px; }
.crm-timeline small,.crm-timeline article div>span { color:var(--muted); font-size:12px; }
.crm-timeline p { margin:2px 0; color:var(--ink); }
.crm-contact-related { margin-top:20px; }
.crm-consent-panel { margin-top:20px; }
.crm-consent-panel>summary { cursor:pointer; color:var(--wine); font-weight:800; }
.crm-consent-panel[open]>summary { margin-bottom:22px; }
.crm-edit-contact-panel { max-width:720px; }
.crm-form-actions { padding-top:8px; }
.crm-section-title { margin-top:28px!important; }
.crm-inline-form { display:flex; gap:6px; align-items:center; margin-top:8px; }
.crm-inline-form select { padding:7px; font-size:12px; }
.crm-search { display:flex; gap:8px; margin-bottom:18px; }
.crm-search input { flex:1; }
.crm-search button,.crm-notification-list button { border:1px solid var(--wine); background:#fff; color:var(--wine); border-radius:9px; padding:10px 13px; font-weight:700; }
.crm-pagination { display:flex; align-items:center; justify-content:center; gap:16px; margin-top:20px; font-size:13px; color:var(--muted); }
.crm-pagination a { color:var(--wine); font-weight:700; text-decoration:none; }
.crm-stack-form { display:flex; flex-direction:column; gap:13px; margin-top:18px; }
.crm-stack-form label,.crm-form-card label { display:flex; flex-direction:column; gap:6px; font-size:13px; font-weight:700; }
.crm-stack-form label[hidden],.crm-form-card label[hidden] { display:none; }
.crm-stack-form label small { font-weight:400; color:var(--muted); }
.crm-field-label-row { display:inline-flex; align-items:center; gap:6px; }
.crm-info-icon { position:relative; display:inline-flex; align-items:center; justify-content:center; width:16px; height:16px; border-radius:50%; background:var(--line); color:var(--wine); font-size:11px; font-weight:800; font-style:italic; cursor:help; flex-shrink:0; }
.crm-info-tooltip { position:absolute; bottom:calc(100% + 8px); left:50%; transform:translateX(-50%); width:220px; background:#2c1a3d; color:#fff; font-size:12px; font-weight:400; line-height:1.45; padding:10px 12px; border-radius:8px; opacity:0; visibility:hidden; transition:opacity .15s ease; z-index:10; text-transform:none; letter-spacing:normal; pointer-events:none; }
.crm-info-icon:hover .crm-info-tooltip,.crm-info-icon:focus .crm-info-tooltip { opacity:1; visibility:visible; }
input,select,textarea { width:100%; padding:11px 12px; border:1px solid var(--line); border-radius:9px; background:#fff; color:var(--ink); font:inherit; }
textarea { resize:vertical; }
.errorlist { list-style:none; padding:0; margin:3px 0; color:#a12e47; font-size:12px; }
.crm-table-wrap { overflow:auto; }
.crm-table { width:100%; border-collapse:collapse; font-size:14px; }
.crm-table th { text-align:left; color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.08em; padding:11px; border-bottom:1px solid var(--line); }
.crm-table td { padding:14px 11px; border-bottom:1px solid var(--line); vertical-align:middle; }
.crm-table td strong,.crm-table td span { display:block; }
.crm-table td span { color:var(--muted); font-size:12px; margin-top:3px; }
.crm-table input[type="checkbox"] { width:auto; padding:0; border:none; background:none; }
.crm-checkbox-inline { display:flex; align-items:center; gap:6px; font-weight:600; }
.crm-checkbox-inline input[type="checkbox"] { width:auto; }
.crm-kanban { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(260px,1fr); gap:14px; overflow:auto; padding-bottom:15px; }
.crm-kanban-column { background:var(--rose); border-radius:16px; min-height:440px; padding:13px; }
.crm-kanban-column header { display:flex; justify-content:space-between; padding:5px 3px 14px; }
.crm-kanban-column header span { background:#fff; border-radius:20px; padding:3px 8px; font-size:12px; }
.crm-kanban-column article { display:flex; flex-direction:column; gap:7px; background:#fff; border-radius:12px; padding:15px; margin-bottom:10px; box-shadow:0 5px 15px rgba(76,17,100,.05); }
.crm-kanban-column article small,.crm-kanban-column article span,.crm-kanban-empty { color:var(--muted); font-size:12px; }
.crm-kanban-contact { width:max-content; max-width:100%; color:var(--wine); font-size:12px; font-weight:800; text-decoration:none; }
.crm-kanban-contact:hover { text-decoration:underline; }
.crm-kanban-column article b { color:var(--wine); }
.crm-kanban-empty { text-align:center; padding:25px 5px; }
.crm-notification-list article { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:18px; border-bottom:1px solid var(--line); }
.crm-notification-list article.nao-lida { background:var(--rose); border-radius:12px; }
.crm-notification-list article div { display:flex; flex-direction:column; gap:6px; }
.crm-notification-list small { color:var(--muted); }
.crm-notification-list p { color:var(--ink); }
.crm-warning { display:flex; gap:12px; padding:14px 18px; background:#fff6dc; border:1px solid #ead8a6; border-radius:13px; margin-bottom:20px; }
.crm-warning span { color:#675a3d; }
.crm-cancel-popup { position:fixed; inset:0; background:rgba(47,36,55,.55); display:flex; align-items:center; justify-content:center; z-index:50; padding:20px; }
.crm-cancel-popup[hidden] { display:none; }
.crm-cancel-popup-card { position:relative; max-width:420px; width:100%; background:#fff; border-radius:18px; padding:30px 26px 26px; box-shadow:0 24px 60px rgba(76,17,100,.28); }
.crm-cancel-popup-card strong { display:block; font:700 21px Georgia,serif; color:var(--wine-dark); margin-bottom:8px; }
.crm-cancel-popup-card p { color:var(--muted); margin:0 0 18px; line-height:1.5; }
.crm-cancel-popup-fechar { position:absolute; top:12px; right:14px; border:0; background:none; font-size:22px; line-height:1; color:var(--muted); cursor:pointer; padding:4px; }
.crm-onboarding-overlay { position:fixed; inset:0; background:var(--wine-dark); display:flex; align-items:center; justify-content:center; z-index:60; padding:30px; }
.crm-onboarding-card { max-width:780px; width:100%; text-align:center; }
.crm-onboarding-card h2 { font:700 32px Georgia,serif; color:#fff; margin:0 0 6px; }
.crm-onboarding-card>p { color:#e4d4f5; margin:0 0 22px; }
.crm-onboarding-video-wrap { position:relative; width:100%; padding-top:56.25%; border-radius:16px; overflow:hidden; background:#000; box-shadow:0 24px 60px rgba(0,0,0,.35); margin-bottom:22px; }
.crm-onboarding-video-wrap iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.crm-onboarding-video-wrap video { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; background:#000; }
.crm-onboarding-card .crm-secondary-button { background:transparent; border-color:rgba(255,255,255,.4); color:#fff; }
.crm-onboarding-card .crm-secondary-button:hover { background:rgba(255,255,255,.1); }
.crm-welcome-body { min-height:100vh; background:radial-gradient(circle at top,#fff 0,var(--rose) 48%,var(--line) 100%); display:grid; place-items:center; padding:30px; }
.crm-welcome { width:min(880px,100%); text-align:center; }
.crm-welcome-largo { width:min(1040px,100%); }
.crm-welcome-largo .crm-panel { text-align:left; }
.crm-vendas-secao { margin-top:24px; }
.crm-vendas-secao h2 { color:var(--wine-dark); font:700 24px Georgia,serif; margin:0 0 14px; }
.crm-publico-tags { display:flex; flex-wrap:wrap; gap:10px; }
.crm-publico-tags span { background:var(--rose); color:var(--wine-dark); border-radius:999px; padding:8px 16px; font-size:14px; font-weight:700; }
.crm-vendas-credibilidade { font-weight:700; color:var(--wine-dark); font-size:15px; margin:8px 0 16px; }
.crm-vendas-fechamento { font-style:italic; color:var(--muted); margin-top:20px; }
.crm-welcome>img { width:135px; margin-bottom:28px; }
.crm-welcome h1 { font:700 42px Georgia,serif; color:var(--wine-dark); margin:10px auto; max-width:690px; }
.crm-welcome>p { color:var(--muted); font-size:17px; }
.crm-company-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:15px; margin:30px 0; }
.crm-company-card,.crm-form-card { background:#fff; border:1px solid var(--line); border-radius:18px; padding:23px; box-shadow:var(--shadow); }
.crm-company-card { display:flex; flex-direction:column; gap:8px; text-align:left; }
.crm-company-card strong { font:700 23px Georgia,serif; color:var(--wine-dark); }
.crm-company-card small,.crm-company-card span { color:var(--muted); }
.crm-company-card button { margin-top:12px; border:0; background:var(--rose); color:var(--wine); padding:11px; border-radius:10px; font-weight:750; }
.crm-back-link { display:block; margin-top:18px; color:var(--wine); }
.crm-form-footnote { margin-top:18px; font-size:12px; color:var(--muted); text-align:left; }
.crm-form-footnote a { color:var(--wine); }
.crm-form-page { max-width:600px; }
.crm-form-card { display:flex; flex-direction:column; gap:15px; text-align:left; margin-top:28px; }
.crm-form-card .crm-button { margin-top:8px; }
.crm-plan-current { display:flex; justify-content:space-between; gap:24px; align-items:center; padding:25px; margin-bottom:18px; border-radius:18px; background:linear-gradient(120deg,var(--wine-dark),var(--wine)); color:#fff; box-shadow:var(--shadow); }
.crm-plan-current h2 { margin:5px 0; font:700 30px Georgia,serif; }
.crm-plan-current p,.crm-plan-status span { margin:0; color:#f2ecfb; }
.crm-plan-status { display:flex; flex-direction:column; text-align:right; gap:5px; }
.crm-usage-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:22px; }
.crm-usage-grid article { display:flex; flex-direction:column; gap:7px; padding:20px; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:var(--shadow); }
.crm-usage-grid small,.crm-usage-grid span { color:var(--muted); }
.crm-usage-grid strong { color:var(--wine-dark); font:700 27px Georgia,serif; }
.crm-plan-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:13px; }
.crm-plan-grid article { padding:18px; border:1px solid var(--line); border-radius:14px; position:relative; }
.crm-plan-grid article.atual { border:2px solid var(--wine); background:var(--rose); }
.crm-plan-grid article.destaque { border:2px solid var(--gold); box-shadow:0 10px 26px rgba(197,154,74,.22); }
.crm-plan-mais-vendido { position:absolute; top:-11px; left:18px; background:var(--gold); color:var(--wine-dark); border-radius:999px; padding:3px 12px; font-size:11px; font-weight:800; letter-spacing:.03em; text-transform:uppercase; }
.crm-consultoria-cta { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:22px 26px; margin-bottom:26px; border-radius:16px; background:linear-gradient(135deg, var(--wine-dark), var(--wine)); box-shadow:0 14px 34px rgba(76,17,100,.18); flex-wrap:wrap; }
.crm-consultoria-cta .crm-kicker { color:var(--gold); }
.crm-consultoria-cta h2 { color:#fff; font-family:Georgia,serif; font-size:22px; font-weight:500; line-height:1.25; margin:6px 0; max-width:520px; }
.crm-consultoria-cta p { color:rgba(255,255,255,.78); margin:0; max-width:480px; }
.crm-consultoria-cta .crm-button { background:var(--gold); color:var(--wine-dark); white-space:nowrap; }
.crm-plan-grid h3 { margin:5px 0; color:var(--wine-dark); font:700 21px Georgia,serif; }
.crm-plan-grid p { min-height:52px; font-size:13px; }
.crm-plan-grid>article>strong { display:block; margin:15px 0; color:var(--wine); }
.crm-plan-grid>article>strong small { color:var(--muted); font-size:11px; font-weight:400; }
.crm-plan-grid ul { margin:0; padding-left:18px; color:var(--muted); font-size:13px; line-height:1.7; }
.crm-plan-note { display:flex; flex-direction:column; gap:5px; margin-top:18px; padding:14px 17px; border-radius:12px; background:var(--rose); color:var(--muted); }
.crm-plan-note strong { color:var(--ink); }
.crm-campaign-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:20px; }
.crm-campaign-metrics article { display:flex; flex-direction:column; gap:6px; padding:18px; border:1px solid var(--line); border-radius:15px; background:#fff; box-shadow:var(--shadow); }
.crm-campaign-metrics small { color:var(--muted); }
.crm-campaign-metrics strong { color:var(--wine-dark); font:700 25px Georgia,serif; }
.crm-campaign-layout { grid-template-columns:1.2fr .8fr; }
.crm-campaign-actions { display:flex; align-items:center; gap:10px; margin:-7px 0 20px; }
.crm-campaign-actions form { margin:0; }
.crm-campaign-actions small { color:var(--muted); }
.crm-schedule-form { display:flex; align-items:flex-end; gap:10px; margin-left:auto; }
.crm-schedule-form label { display:flex; flex-direction:column; gap:4px; font-size:12px; font-weight:700; }
.crm-schedule-form label small { max-width:320px; color:#675a3d; font-weight:400; }
.crm-schedule-form input { min-width:220px; }
.crm-recipient-tools { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.crm-recipient-tools small { color:var(--muted); }
.crm-recipient-form>div>div { margin:0; }
.crm-recipient-form #id_contatos { display:flex; flex-direction:column; gap:7px; max-height:430px; margin:0; padding:0; overflow:auto; list-style:none; }
.crm-recipient-form #id_contatos>div>label { display:flex; flex-direction:row; align-items:center; gap:9px; padding:10px; border:1px solid var(--line); border-radius:9px; font-weight:600; cursor:pointer; }
.crm-recipient-form input[type="checkbox"] { width:auto; }
.crm-campaign-metrics-manual { grid-template-columns:repeat(4,1fr); }
.crm-message-preview { margin-bottom:20px; }
.crm-message-preview>div:last-child { padding:17px; border-radius:12px; background:var(--rose); line-height:1.6; white-space:normal; }
.crm-recipient-actions { align-items:flex-end!important; gap:7px!important; }
.crm-recipient-actions form { margin:0; }
.crm-recipient-actions .crm-primary-link { padding:9px 12px; font-size:12px; }
.crm-manual-done { padding:7px 9px; border-radius:10px; background:#e9f5ee; color:var(--green)!important; font-weight:800; }
.crm-agenda-owner .ativo { border-color:var(--wine); background:var(--rose); }
.crm-agenda-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:20px; }
.crm-agenda-summary a { display:flex; flex-direction:column; gap:5px; padding:18px; border:1px solid var(--line); border-radius:15px; background:#fff; box-shadow:var(--shadow); text-decoration:none; }
.crm-agenda-summary a.ativo { border-color:var(--wine-dark); background:var(--rose); }
.crm-agenda-summary small,.crm-agenda-summary span { color:var(--muted); }
.crm-agenda-summary strong { color:var(--wine-dark); font:700 29px Georgia,serif; }
.crm-agenda-summary span { font-size:12px; }
.crm-agenda-toolbar { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; margin-bottom:17px; }
.crm-agenda-toolbar .crm-filter-tabs { flex-wrap:wrap; margin:0; }
.crm-agenda-create { width:min(420px,100%); margin:0; }
.crm-agenda-list { display:flex; flex-direction:column; gap:13px; }
.crm-task-card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:20px; align-items:center; padding:20px; border:1px solid var(--line); border-radius:17px; background:#fff; box-shadow:var(--shadow); }
.crm-task-card.atrasada { border-left:5px solid #b14356; }
.crm-task-card.concluida { opacity:.72; }
.crm-task-main h2 { margin:8px 0 5px; color:var(--wine-dark); font:700 21px Georgia,serif; }
.crm-task-main>p { margin:0 0 11px; color:var(--muted); }
.crm-task-badges,.crm-task-meta,.crm-task-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.crm-task-alert { padding:5px 9px; border-radius:20px; background:#fae8ec; color:#9b2840; font-size:11px; font-style:normal; font-weight:800; }
.crm-task-meta { color:var(--muted); font-size:12px; }
.crm-task-actions { justify-content:flex-end; }
.crm-task-actions>form { margin:0; }
.crm-reschedule-box { position:relative; }
.crm-reschedule-box>summary { list-style:none; padding:8px 11px; border:1px solid var(--line); border-radius:9px; color:var(--wine); background:#fff; font-weight:700; cursor:pointer; }
.crm-reschedule-box>summary::-webkit-details-marker { display:none; }
.crm-reschedule-box[open]>form { position:absolute; right:0; top:44px; z-index:4; width:300px; padding:15px; border:1px solid var(--line); border-radius:13px; background:#fff; box-shadow:0 18px 45px rgba(76,17,100,.18); }
.crm-reschedule-box form label { display:flex; flex-direction:column; gap:6px; margin-bottom:9px; font-size:12px; font-weight:700; }
.crm-reschedule-box form .crm-button { width:100%; }
.crm-edit-task-panel { max-width:760px; }
.crm-contact-task-panel .crm-panel-title { margin-bottom:12px; }
.crm-contact-task-panel .crm-panel-title p { margin:0; color:var(--muted); font-size:13px; }
.crm-contact-task-create { margin-bottom:14px; padding:12px 14px; border:1px solid var(--line); border-radius:12px; background:var(--rose); }
.crm-contact-task-create>summary { color:var(--wine); font-weight:800; cursor:pointer; }
.crm-contact-task-create[open]>summary { margin-bottom:8px; }
.crm-contact-task-create .crm-stack-form { margin-top:12px; }
.crm-contact-task-list { display:flex; flex-direction:column; gap:10px; }
.crm-contact-task { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:14px; border:1px solid var(--line); border-radius:13px; background:#fff; }
.crm-contact-task.atrasada { border-left:4px solid #b14356; }
.crm-contact-task.concluida { opacity:.7; }
.crm-contact-task-main { min-width:0; }
.crm-contact-task-main>strong { display:block; margin:7px 0 4px; color:var(--wine-dark); }
.crm-contact-task-main>p { margin:0 0 5px; color:var(--muted); font-size:13px; }
.crm-contact-task-main>small { color:var(--muted); font-size:11px; }
.crm-contact-task-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:6px; }
.crm-contact-task-actions>form { margin:0; }
.crm-task-edit-box { position:relative; }
.crm-task-edit-box>summary { list-style:none; padding:8px 11px; border:1px solid var(--line); border-radius:9px; color:var(--wine); background:#fff; font-weight:700; cursor:pointer; }
.crm-task-edit-box>summary::-webkit-details-marker { display:none; }
.crm-task-edit-box[open]>form { position:absolute; right:0; top:44px; z-index:5; width:390px; max-height:min(650px,75vh); margin:0; padding:16px; overflow:auto; border:1px solid var(--line); border-radius:13px; background:#fff; box-shadow:0 18px 45px rgba(76,17,100,.18); }
.crm-task-edit-box form .crm-button { width:100%; }
@media(max-width:1000px) {
  .crm-sidebar { position:static; width:auto; }
  .crm-nav { display:grid; grid-template-columns:repeat(3,1fr); }
  .crm-sidebar-footer { margin-top:15px; }
  .crm-main { margin-left:0; }
  .crm-metrics { grid-template-columns:repeat(2,1fr); }
  .crm-plan-grid { grid-template-columns:repeat(2,1fr); }
  .crm-contact-summary { grid-template-columns:repeat(2,1fr); }
  .crm-campaign-layout { grid-template-columns:1fr; }
  .crm-campaign-metrics-manual { grid-template-columns:repeat(2,1fr); }
  .crm-dashboard-filter { align-items:stretch; flex-wrap:wrap; }
  .crm-dashboard-filter>div { flex-basis:100%; }
  .crm-dashboard-filter label { flex:1; }
  .crm-whatsapp-summary { grid-template-columns:repeat(3,1fr); }
  .crm-import-layout { grid-template-columns:1fr; }
  .crm-task-card { grid-template-columns:1fr; }
  .crm-task-actions { justify-content:flex-start; }
  .crm-contact-task { align-items:flex-start; flex-direction:column; }
  .crm-contact-task-actions { justify-content:flex-start; }
}
@media(max-width:720px) {
  .crm-sidebar { padding:18px; }
  .crm-workspace { margin:18px 0 8px; }
  .crm-nav { grid-template-columns:repeat(2,1fr); }
  .crm-topbar { padding:0 18px; }
  .crm-content { padding:24px 16px; }
  .crm-page-heading { align-items:flex-start; flex-direction:column; }
  .crm-page-heading h1 { font-size:30px; }
  .crm-metrics,.crm-two-columns,.crm-company-grid,.crm-usage-grid,.crm-plan-grid,.crm-campaign-metrics { grid-template-columns:1fr; }
  .crm-recipient-actions { align-items:flex-start!important; }
  .crm-plan-current { align-items:flex-start; flex-direction:column; }
  .crm-plan-status { text-align:left; }
  .crm-heading-actions { width:100%; flex-wrap:wrap; justify-content:flex-start; }
  .crm-contact-summary { grid-template-columns:1fr; }
  .crm-contact-history-layout { display:flex; flex-direction:column; }
  .crm-contacts-layout { display:flex; flex-direction:column; }
  .crm-welcome h1 { font-size:33px; }
  .crm-warning,.crm-notification-list article,.crm-schedule-form { flex-direction:column; align-items:flex-start; }
  .crm-campaign-actions { flex-wrap:wrap; }
  .crm-dashboard-filter,.crm-dashboard-grid { display:flex; flex-direction:column; }
  .crm-dashboard-filter label { width:100%; }
  .crm-whatsapp-summary { grid-template-columns:repeat(2,1fr); }
  .crm-funnel-summary article { grid-template-columns:1fr; gap:7px; }
  .crm-import-steps,.crm-import-summary { grid-template-columns:1fr; }
  .crm-import-actions { justify-content:flex-start; flex-wrap:wrap; }
  .crm-agenda-summary { grid-template-columns:repeat(2,1fr); }
  .crm-agenda-toolbar { flex-direction:column; }
  .crm-reschedule-box[open]>form { position:fixed; inset:auto 16px 16px; width:auto; }
  .crm-task-edit-box[open]>form { position:fixed; inset:16px; width:auto; max-height:none; }
}
