/* ============================================================
   ANEC CRM — UI institucional responsiva, sem dependência externa
   Compatível com PHP 8.3 / MySQL 5.7 e com instalação em subpastas.
   ============================================================ */
:root{
  --anec-navy:#192B58;
  --anec-navy-2:#243B73;
  --anec-navy-dark:#101D3D;
  --anec-gold:#C9A84C;
  --anec-gold-2:#E4C876;
  --anec-teal:#075C74;
  --anec-teal-2:#0E718B;
  --anec-bg:#F4F7FB;
  --anec-card:#FFFFFF;
  --anec-text:#243044;
  --anec-muted:#6B7890;
  --anec-border:#E4EAF2;
  --anec-success:#1E9D64;
  --anec-warning:#D99A16;
  --anec-danger:#D84848;
  --anec-info:#2479BD;
  --anec-radius:18px;
  --anec-radius-sm:12px;
  --anec-shadow:0 10px 30px rgba(25,43,88,.08);
  --anec-shadow-lg:0 24px 70px rgba(25,43,88,.18);
  --sidebar-width:282px;
  --topbar-height:72px;
  --font-body:Inter,Segoe UI,Roboto,Arial,sans-serif;
  --transition:all .22s ease;
}
*{box-sizing:border-box}html{font-size:15px;scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);background:var(--anec-bg);color:var(--anec-text);line-height:1.55;-webkit-font-smoothing:antialiased}a{color:var(--anec-teal);text-decoration:none;transition:var(--transition)}a:hover{color:var(--anec-gold)}h1,h2,h3,h4,h5,h6{margin:0 0 .35rem;color:var(--anec-navy);font-weight:800;letter-spacing:-.025em}p{margin-top:0}img{max-width:100%;height:auto}button,input,select,textarea{font:inherit}hr{border:0;border-top:1px solid var(--anec-border);margin:1rem 0}

/* ====== Grade local equivalente ao necessário do Bootstrap ====== */
.container-fluid{width:100%;padding-right:1rem;padding-left:1rem;margin-right:auto;margin-left:auto}.row{--bs-gutter-x:1rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.g-1{--bs-gutter-x:.25rem;--bs-gutter-y:.25rem}.g-2{--bs-gutter-x:.5rem;--bs-gutter-y:.5rem}.g-3{--bs-gutter-x:1rem;--bs-gutter-y:1rem}.g-4{--bs-gutter-x:1.5rem;--bs-gutter-y:1.5rem}.col{flex:1 0 0}.col-auto{flex:0 0 auto;width:auto}.col-4{flex:0 0 auto;width:33.333333%}.col-5{flex:0 0 auto;width:41.666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.333333%}.col-8{flex:0 0 auto;width:66.666667%}.col-12{flex:0 0 auto;width:100%}@media(min-width:768px){.col-md-2{flex:0 0 auto;width:16.666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.333333%}.col-md-5{flex:0 0 auto;width:41.666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.333333%}.col-md-8{flex:0 0 auto;width:66.666667%}.col-md-9{flex:0 0 auto;width:75%}}@media(min-width:992px){.col-lg-2{flex:0 0 auto;width:16.666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.333333%}.col-lg-5{flex:0 0 auto;width:41.666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.333333%}.col-lg-8{flex:0 0 auto;width:66.666667%}.col-lg-9{flex:0 0 auto;width:75%}}

/* ====== Layout principal ====== */
.anec-wrapper{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);min-height:100vh;position:fixed;inset:0 auto 0 0;z-index:1040;background:linear-gradient(180deg,var(--anec-navy-dark) 0%,var(--anec-navy) 72%,#14254c 100%);box-shadow:8px 0 28px rgba(16,29,61,.18);display:flex;flex-direction:column;overflow:hidden}.sidebar::after{content:"";position:absolute;inset:auto -70px 80px auto;width:180px;height:180px;border-radius:50%;border:1px solid rgba(201,168,76,.13);pointer-events:none}.sidebar-brand{height:var(--topbar-height);display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.08);position:relative;z-index:1}.sidebar-brand-symbol{width:42px;height:42px;border-radius:14px;background:rgba(201,168,76,.12);display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px rgba(201,168,76,.32);overflow:hidden;flex:0 0 auto}.sidebar-brand-symbol img{width:100%;height:100%;object-fit:cover}.sidebar-brand-text strong{display:block;color:#fff;font-size:1.12rem;letter-spacing:.16em;font-weight:800}.sidebar-brand-text small{display:block;color:var(--anec-gold-2);font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;margin-top:2px}.sidebar-nav{flex:1;padding:14px 10px 20px;overflow:auto;position:relative;z-index:1}.nav-section{padding:16px 14px 7px;color:rgba(255,255,255,.40);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.nav-item{margin:2px 0}.nav-link{min-height:42px;display:flex;align-items:center;gap:11px;padding:10px 13px;border-radius:13px;color:rgba(255,255,255,.76);font-weight:650;font-size:.92rem;position:relative}.nav-link:hover{background:rgba(255,255,255,.08);color:#fff}.nav-link.active{background:linear-gradient(90deg,rgba(201,168,76,.24),rgba(201,168,76,.06));color:#fff;box-shadow:inset 3px 0 0 var(--anec-gold)}.nav-link i{width:20px;text-align:center;color:var(--anec-gold-2);font-size:1rem;line-height:1}.has-submenu>.nav-link::after{content:"⌄";margin-left:auto;font-size:.9rem;color:rgba(255,255,255,.55);transition:var(--transition)}.has-submenu.open>.nav-link::after{transform:rotate(180deg)}.submenu{display:none;margin:4px 0 8px 18px;padding-left:10px;border-left:1px solid rgba(201,168,76,.24)}.has-submenu.open .submenu{display:block}.submenu .nav-link{min-height:34px;font-size:.84rem;padding:7px 10px;color:rgba(255,255,255,.65)}.nav-badge{margin-left:auto;min-width:20px;border-radius:999px;background:var(--anec-gold);color:var(--anec-navy);font-size:.65rem;font-weight:800;text-align:center;padding:1px 7px}.sidebar-footer{border-top:1px solid rgba(255,255,255,.09);padding:15px 18px;position:relative;z-index:1}.sidebar-user-info{display:flex;align-items:center;gap:10px}.sidebar-avatar,.avatar{width:38px;height:38px;border-radius:999px;background:linear-gradient(135deg,var(--anec-gold),#e8cf7d);color:var(--anec-navy);display:flex;align-items:center;justify-content:center;font-weight:800;overflow:hidden;flex:0 0 auto}.avatar-sm{width:34px;height:34px;font-size:.74rem}.sidebar-avatar img,.avatar img{width:100%;height:100%;object-fit:cover}.sidebar-user-name{color:#fff;font-weight:750;font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{color:var(--anec-gold-2);font-size:.74rem}.topbar{position:fixed;top:0;left:var(--sidebar-width);right:0;height:var(--topbar-height);z-index:1030;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--anec-border);display:flex;align-items:center;gap:16px;padding:0 28px}.topbar-title{font-size:1.18rem;font-weight:800;color:var(--anec-navy);letter-spacing:-.02em;flex:1}.topbar-search{position:relative;max-width:420px;flex:1}.topbar-search i{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--anec-muted)}.topbar-search input{width:100%;height:42px;border:1px solid var(--anec-border);border-radius:999px;background:#F7F9FC;color:var(--anec-text);padding:0 16px 0 42px;outline:none}.topbar-search input:focus{border-color:rgba(7,92,116,.45);box-shadow:0 0 0 4px rgba(7,92,116,.10);background:#fff}.topbar-actions{display:flex;align-items:center;gap:8px}.topbar-btn{width:40px;height:40px;border:0;border-radius:999px;background:transparent;color:var(--anec-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;position:relative}.topbar-btn:hover{background:#EEF3F8;color:var(--anec-navy)}.topbar-notif-badge{position:absolute;top:8px;right:8px;width:9px;height:9px;background:var(--anec-gold);border:2px solid #fff;border-radius:99px}.sidebar-toggle{display:none}.main-content{margin-left:var(--sidebar-width);margin-top:var(--topbar-height);width:calc(100% - var(--sidebar-width));padding:30px;min-height:calc(100vh - var(--topbar-height))}.breadcrumb-anec,.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;color:var(--anec-muted);font-size:.84rem}.breadcrumb-item{list-style:none}.breadcrumb-item+.breadcrumb-item::before{content:"/";padding:0 8px;color:#A4AFBE}.breadcrumb-anec a,.breadcrumb a{color:var(--anec-muted)}.breadcrumb-anec .current{font-weight:700;color:var(--anec-navy)}

/* ====== Cards, páginas e componentes ====== */
.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:24px}.page-header-title h1{font-size:2rem;display:flex;align-items:center;gap:10px}.page-header-title p{margin:.15rem 0 0;color:var(--anec-muted)}.page-header-actions{display:flex;gap:9px;flex-wrap:wrap}.card{background:var(--anec-card);border:1px solid var(--anec-border);border-radius:var(--anec-radius);box-shadow:var(--anec-shadow);overflow:hidden}.card-header{min-height:60px;display:flex;align-items:center;gap:10px;padding:15px 18px;border-bottom:1px solid var(--anec-border);background:linear-gradient(180deg,#fff,#fbfdff)}.card-header h5,.card-header h6{font-size:1rem;margin:0}.card-body{padding:18px}.card-icon{width:36px;height:36px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.stat-card{height:100%;display:flex;align-items:center;gap:14px;background:var(--anec-card);border:1px solid var(--anec-border);border-radius:var(--anec-radius);padding:18px;box-shadow:var(--anec-shadow);position:relative;overflow:hidden;transition:var(--transition)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--anec-shadow-lg)}.stat-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px}.stat-card.navy::before{background:var(--anec-navy)}.stat-card.gold::before{background:var(--anec-gold)}.stat-card.teal::before{background:var(--anec-teal)}.stat-card.success::before{background:var(--anec-success)}.stat-card.warning::before{background:var(--anec-warning)}.stat-card.danger::before{background:var(--anec-danger)}.stat-icon{width:48px;height:48px;border-radius:15px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;font-size:1.25rem}.stat-icon.navy{background:rgba(25,43,88,.10);color:var(--anec-navy)}.stat-icon.gold{background:rgba(201,168,76,.16);color:#946f10}.stat-icon.teal{background:rgba(7,92,116,.12);color:var(--anec-teal)}.stat-icon.success{background:rgba(30,157,100,.12);color:var(--anec-success)}.stat-icon.warning{background:rgba(217,154,22,.14);color:var(--anec-warning)}.stat-icon.danger{background:rgba(216,72,72,.12);color:var(--anec-danger)}.stat-content{min-width:0}.stat-value{font-size:2rem;line-height:1;font-weight:850;color:var(--anec-navy);letter-spacing:-.04em}.stat-label{margin-top:5px;color:var(--anec-muted);font-size:.82rem;font-weight:650}.stat-change{margin-top:6px;font-size:.75rem;color:var(--anec-muted)}.stat-change.up{color:var(--anec-success)}.stat-change.down{color:var(--anec-danger)}.empty-state{text-align:center;padding:38px 22px;color:var(--anec-muted)}.empty-state-icon{width:54px;height:54px;margin:0 auto 12px;border-radius:18px;background:#F0F4F8;display:flex;align-items:center;justify-content:center;color:var(--anec-navy);font-size:1.5rem}.progress-anec{height:8px;border-radius:999px;background:#EAF0F6;overflow:hidden}.progress-bar-anec{height:100%;border-radius:999px}.progress-bar-navy{background:var(--anec-navy)}.progress-bar-teal{background:var(--anec-teal)}.progress-bar-gold{background:var(--anec-gold)}

/* ====== Tabelas ====== */
.table-responsive{width:100%;overflow-x:auto}.table,.table-anec{width:100%;border-collapse:collapse;font-size:.88rem}.table th,.table td,.table-anec th,.table-anec td{padding:12px 14px;border-bottom:1px solid var(--anec-border);vertical-align:middle}.table thead th,.table-anec thead th{background:#F6F8FB;color:var(--anec-navy);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;font-weight:850;white-space:nowrap}.table-hover tbody tr:hover,.table-anec tbody tr:hover{background:#FAFCFE}.table-sm th,.table-sm td{padding:8px 10px}.table-bordered{border:1px solid var(--anec-border)}

/* ====== Formulários ====== */
.form-label{display:block;color:var(--anec-navy);font-weight:750;font-size:.84rem;margin-bottom:6px}.form-control,.form-select,textarea.form-control{width:100%;min-height:42px;border:1px solid var(--anec-border);border-radius:13px;background:#fff;color:var(--anec-text);padding:9px 12px;outline:none;transition:var(--transition)}.form-control:focus,.form-select:focus{border-color:rgba(7,92,116,.50);box-shadow:0 0 0 4px rgba(7,92,116,.10)}.form-control-sm,.form-select-sm{min-height:34px;padding:6px 10px;font-size:.84rem}.form-control-lg{min-height:50px;padding:12px 15px;font-size:1rem}.form-text{margin-top:5px;color:var(--anec-muted);font-size:.78rem}.form-check{display:flex;align-items:center;gap:8px;margin-bottom:.5rem}.form-check-input{width:17px;height:17px;accent-color:var(--anec-teal)}.form-check-label{font-size:.88rem}.filter-bar{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.is-invalid{border-color:var(--anec-danger)!important}.invalid-feedback{color:var(--anec-danger);font-size:.78rem;margin-top:4px}.input-group{display:flex}.input-group>.form-control{border-radius:13px 0 0 13px}.input-group>.btn{border-radius:0 13px 13px 0}

/* ====== Botões e badges ====== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:13px;min-height:40px;padding:8px 15px;font-weight:750;font-size:.9rem;line-height:1;cursor:pointer;transition:var(--transition);white-space:nowrap;text-decoration:none}.btn:hover{transform:translateY(-1px)}.btn-sm{min-height:34px;padding:7px 11px;font-size:.82rem;border-radius:11px}.btn-lg{min-height:50px;padding:12px 18px;font-size:1rem}.btn-icon{width:38px;padding:0}.btn-primary,.btn-anec{background:var(--anec-navy);border-color:var(--anec-navy);color:#fff}.btn-primary:hover,.btn-anec:hover{background:var(--anec-navy-dark);color:#fff}.btn-gold{background:var(--anec-gold);border-color:var(--anec-gold);color:var(--anec-navy)}.btn-gold:hover{background:#b99535;color:var(--anec-navy)}.btn-secondary{background:#758195;border-color:#758195;color:#fff}.btn-success{background:var(--anec-success);border-color:var(--anec-success);color:#fff}.btn-danger{background:var(--anec-danger);border-color:var(--anec-danger);color:#fff}.btn-outline-primary{background:#fff;border-color:rgba(25,43,88,.35);color:var(--anec-navy)}.btn-outline-primary:hover{background:var(--anec-navy);border-color:var(--anec-navy);color:#fff}.btn-outline-secondary{background:#fff;border-color:#CBD5E1;color:#4C5A6D}.btn-outline-secondary:hover{background:#F1F5F9;color:var(--anec-navy)}.btn-outline-danger{background:#fff;border-color:rgba(216,72,72,.35);color:var(--anec-danger)}.btn-outline-danger:hover{background:var(--anec-danger);color:#fff}.btn-outline-success{background:#fff;border-color:rgba(30,157,100,.35);color:var(--anec-success)}.btn-group{display:inline-flex}.btn-group .btn{border-radius:0}.btn-group .btn:first-child{border-radius:12px 0 0 12px}.btn-group .btn:last-child{border-radius:0 12px 12px 0}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 9px;font-size:.72rem;font-weight:800;line-height:1;color:#fff}.bg-primary,.bg-navy{background:var(--anec-navy)!important}.bg-secondary{background:#7B8797!important}.bg-success{background:var(--anec-success)!important}.bg-danger{background:var(--anec-danger)!important}.bg-warning{background:var(--anec-warning)!important;color:#fff}.bg-info{background:var(--anec-info)!important}.bg-light{background:#F3F6FA!important;color:var(--anec-text)!important}.bg-gold{background:var(--anec-gold)!important;color:var(--anec-navy)!important}.bg-teal{background:var(--anec-teal)!important}.bg-gold-light{background:rgba(201,168,76,.14)!important}.bg-teal-light{background:rgba(7,92,116,.12)!important}

/* ====== Alertas, dropdowns e modal local ====== */
.alert{border:1px solid transparent;border-radius:15px;padding:12px 14px;margin-bottom:1rem}.alert-danger{background:#FFF3F3;border-color:#F6C8C8;color:#9D2D2D}.alert-success{background:#F0FFF7;border-color:#BDEBD3;color:#12613C}.alert-info{background:#EFF8FF;border-color:#BBDDF4;color:#155983}.alert-warning{background:#FFF8E8;border-color:#F2DBA6;color:#815A05}.dropdown,.dropdown-anec{position:relative;display:inline-block}.dropdown-menu,.dropdown-menu-anec{position:absolute;right:0;top:calc(100% + 8px);min-width:210px;background:#fff;border:1px solid var(--anec-border);border-radius:15px;box-shadow:var(--anec-shadow-lg);padding:6px;z-index:1100;display:none}.dropdown.open .dropdown-menu,.dropdown-anec.open .dropdown-menu-anec{display:block}.dropdown-item,.dropdown-item-anec{display:flex;align-items:center;gap:8px;width:100%;padding:9px 10px;border-radius:10px;color:var(--anec-text);font-size:.88rem;cursor:pointer}.dropdown-item:hover,.dropdown-item-anec:hover{background:#F3F6FA;color:var(--anec-navy)}.dropdown-item-anec.danger,.dropdown-item.danger{color:var(--anec-danger)}.dropdown-divider,.dropdown-divider-anec{height:1px;background:var(--anec-border);margin:5px 0}.modal{position:fixed;inset:0;z-index:2000;background:rgba(16,29,61,.48);display:none;align-items:center;justify-content:center;padding:18px}.modal.show{display:flex}.modal-dialog{width:min(520px,100%)}.modal-sm{width:min(380px,100%)}.modal-content{background:#fff;border-radius:20px;box-shadow:var(--anec-shadow-lg);overflow:hidden}.modal-header,.modal-footer{padding:16px 18px;border-bottom:1px solid var(--anec-border);display:flex;align-items:center;justify-content:space-between;gap:10px}.modal-footer{border-top:1px solid var(--anec-border);border-bottom:0;justify-content:flex-end}.modal-title{font-size:1.05rem}.modal-body{padding:18px}.btn-close{width:32px;height:32px;border:0;border-radius:99px;background:#F2F5F8;color:var(--anec-muted);cursor:pointer}.btn-close::before{content:"×";font-size:1.25rem}.toast-container{position:fixed;right:22px;top:90px;z-index:2200;display:flex;flex-direction:column;gap:10px}.toast-anec{min-width:280px;max-width:390px;background:#fff;border:1px solid var(--anec-border);border-left:4px solid var(--anec-teal);border-radius:16px;box-shadow:var(--anec-shadow-lg);padding:13px 14px;display:flex;align-items:flex-start;gap:10px}.toast-anec.success{border-left-color:var(--anec-success)}.toast-anec.error{border-left-color:var(--anec-danger)}.toast-anec.warning{border-left-color:var(--anec-warning)}.toast-title{font-weight:800;color:var(--anec-navy);font-size:.88rem}.toast-msg{font-size:.82rem;color:var(--anec-muted)}.toast-close{margin-left:auto;color:var(--anec-muted);cursor:pointer}.loading-overlay{position:fixed;inset:0;background:rgba(16,29,61,.46);z-index:2100;display:none;align-items:center;justify-content:center}.loading-spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.35);border-top-color:var(--anec-gold);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}

/* ====== Login moderno ====== */
.login-modern{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.08fr) minmax(360px,.92fr);background:radial-gradient(circle at 10% 0%,rgba(201,168,76,.16),transparent 28%),linear-gradient(135deg,var(--anec-navy-dark),var(--anec-navy) 55%,var(--anec-teal));overflow:hidden}.login-hero{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:54px;color:#fff}.login-hero::before{content:"";position:absolute;width:560px;height:560px;border-radius:50%;border:1px solid rgba(201,168,76,.18);right:-170px;top:-170px}.login-hero::after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;border:1px solid rgba(255,255,255,.10);left:-110px;bottom:60px}.login-hero>*{position:relative;z-index:1}.login-logo-full{max-width:380px;background:rgba(255,255,255,.97);border-radius:18px;padding:18px 22px;box-shadow:0 18px 60px rgba(0,0,0,.18)}.login-copy{max-width:620px}.login-kicker{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(201,168,76,.35);background:rgba(201,168,76,.10);color:var(--anec-gold-2);padding:7px 12px;border-radius:999px;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;margin-bottom:18px}.login-copy h1{color:#fff;font-size:clamp(2.1rem,4vw,4rem);line-height:1.04;letter-spacing:-.06em;margin-bottom:18px}.login-copy p{color:rgba(255,255,255,.72);font-size:1.05rem;max-width:530px}.login-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:650px}.login-metric{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.08);backdrop-filter:blur(10px);border-radius:18px;padding:15px}.login-metric strong{display:block;color:#fff;font-size:1.4rem}.login-metric span{display:block;color:rgba(255,255,255,.65);font-size:.78rem}.login-panel{display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.96);padding:38px}.login-card{width:min(430px,100%);background:#fff;border:1px solid var(--anec-border);border-radius:28px;box-shadow:var(--anec-shadow-lg);padding:34px}.login-card-symbol{width:58px;height:58px;border-radius:18px;margin-bottom:20px;box-shadow:0 12px 30px rgba(25,43,88,.18)}.login-card h2{font-size:1.7rem}.login-card .subtitle{color:var(--anec-muted);margin-bottom:26px}.input-wrap{position:relative}.input-wrap i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--anec-muted)}.input-wrap .form-control{padding-left:42px;min-height:48px}.password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:99px;background:transparent;color:var(--anec-muted);cursor:pointer}.password-toggle:hover{background:#EEF3F8;color:var(--anec-navy)}

/* ====== Utilitários ====== */
.d-flex{display:flex!important}.d-grid{display:grid!important}.d-inline{display:inline!important}.d-none{display:none!important}.align-items-center{align-items:center!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.justify-content-between{justify-content:space-between!important}.justify-content-center{justify-content:center!important}.flex-fill{flex:1 1 auto!important}.flex-column{flex-direction:column!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.w-100{width:100%!important}.h-100{height:100%!important}.ms-auto{margin-left:auto!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.p-0{padding:0!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.px-0{padding-left:0!important;padding-right:0!important}.px-3{padding-left:1rem!important;padding-right:1rem!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.text-muted{color:var(--anec-muted)!important}.text-danger{color:var(--anec-danger)!important}.text-success{color:var(--anec-success)!important}.text-warning{color:var(--anec-warning)!important}.text-secondary{color:#758195!important}.text-dark{color:var(--anec-text)!important}.text-navy{color:var(--anec-navy)!important}.text-gold{color:var(--anec-gold)!important}.text-teal{color:var(--anec-teal)!important}.text-center{text-align:center!important}.text-end{text-align:right!important}.text-start{text-align:left!important}.text-decoration-none{text-decoration:none!important}.fw-semibold,.fw-600{font-weight:700!important}.fw-bold,.fw-700{font-weight:800!important}.small,small{font-size:.82rem}.rounded{border-radius:var(--anec-radius-sm)!important}.rounded-anec{border-radius:var(--anec-radius)!important}.shadow-sm,.shadow-anec{box-shadow:var(--anec-shadow)!important}.border-gold{border-color:var(--anec-gold)!important}.overflow-auto{overflow:auto!important}

/* ====== Ícones locais: fallback para Bootstrap Icons ====== */
.bi{display:inline-flex;align-items:center;justify-content:center;font-style:normal;font-weight:900;line-height:1}.bi::before{content:"•"}.bi-speedometer2::before{content:"▦"}.bi-people::before,.bi-people-fill::before{content:"👥"}.bi-person::before,.bi-person-fill::before{content:"👤"}.bi-person-plus::before,.bi-person-plus-fill::before{content:"👤+"}.bi-building::before,.bi-building-fill::before{content:"▥"}.bi-funnel::before,.bi-funnel-fill::before{content:"⏷"}.bi-envelope::before,.bi-envelope-fill::before,.bi-envelope-open-fill::before{content:"✉"}.bi-whatsapp::before{content:"☏"}.bi-calendar3::before,.bi-calendar::before,.bi-calendar-event::before{content:"▣"}.bi-clock-history::before,.bi-clock::before{content:"◷"}.bi-check-circle::before,.bi-check-circle-fill::before{content:"✓"}.bi-check::before,.bi-check-lg::before,.bi-check2-all::before,.bi-check2-square::before{content:"✓"}.bi-x::before,.bi-x-lg::before,.bi-x-circle::before{content:"×"}.bi-plus::before,.bi-plus-lg::before,.bi-plus-circle::before,.bi-plus-circle-fill::before{content:"+"}.bi-pencil::before,.bi-pencil-square::before{content:"✎"}.bi-trash::before{content:"🗑"}.bi-eye::before{content:"◉"}.bi-eye-slash::before{content:"◌"}.bi-search::before{content:"⌕"}.bi-download::before{content:"⇩"}.bi-bar-chart::before,.bi-bar-chart-fill::before{content:"▥"}.bi-pie-chart-fill::before{content:"◔"}.bi-map-fill::before,.bi-map::before,.bi-geo-alt::before,.bi-geo-alt-fill::before{content:"⌖"}.bi-house::before,.bi-house-fill::before{content:"⌂"}.bi-shield::before,.bi-shield-check::before,.bi-shield-lock::before,.bi-shield-fill-check::before,.bi-shield-plus::before{content:"◇"}.bi-lock::before,.bi-lock-fill::before,.bi-key::before,.bi-key-fill::before{content:"🔐"}.bi-list::before,.bi-list-ul::before,.bi-list-check::before{content:"☰"}.bi-table::before{content:"▤"}.bi-sliders::before,.bi-gear::before{content:"⚙"}.bi-box-arrow-right::before,.bi-box-arrow-in-right::before{content:"↪"}.bi-arrow-left::before{content:"←"}.bi-arrow-up::before{content:"↑"}.bi-chevron-right::before{content:"›"}.bi-handshake-fill::before{content:"↔"}.bi-fire::before{content:"◆"}.bi-megaphone::before{content:"📣"}.bi-telephone::before,.bi-telephone-fill::before{content:"☎"}.bi-info-circle::before,.bi-info-circle-fill::before{content:"i"}.bi-exclamation-triangle::before,.bi-exclamation-circle-fill::before{content:"!"}.bi-diagram-3::before,.bi-diagram-3-fill::before{content:"⌘"}.bi-folder2::before,.bi-folder2-open::before{content:"▰"}.bi-file-text::before,.bi-file-earmark-text::before,.bi-journal-text::before{content:"▧"}.bi-link-45deg::before{content:"↗"}.bi-send::before,.bi-send-check::before{content:"➤"}.bi-at::before{content:"@"}.bi-sticky-fill::before{content:"◼"}.bi-three-dots::before,.bi-three-dots-vertical::before{content:"⋯"}.bi-currency-dollar::before{content:"$"}.bi-camera-video::before{content:"▻"}.bi-globe::before{content:"◎"}.bi-trophy::before{content:"🏆"}.bi-clipboard::before{content:"▣"}.bi-kanban::before{content:"▥"}.bi-copy::before{content:"⧉"}.bi-floppy::before{content:"▣"}.bi-type-bold::before{content:"B"}.bi-type-italic::before{content:"I"}.bi-type-underline::before{content:"U"}.bi-list-ol::before{content:"1."}.bi-cursor-text::before{content:"T"}.bi-hourglass-split::before{content:"⌛"}.bi-arrow-repeat::before{content:"⟳"}.bi-person-badge::before,.bi-person-fill-gear::before,.bi-person-gear::before{content:"♙"}.bi-chat::before,.bi-chat-dots::before,.bi-chat-text::before,.bi-chat-left-text::before{content:"💬"}.bi-linkedin::before{content:"in"}.bi-instagram::before{content:"◎"}

/* ====== Responsivo ====== */
@media(max-width:991px){:root{--sidebar-width:282px}.sidebar{transform:translateX(-105%);transition:transform .28s ease}.sidebar.open{transform:translateX(0)}.topbar{left:0;padding:0 16px}.sidebar-toggle{display:inline-flex}.topbar-search{display:none}.main-content{margin-left:0;width:100%;padding:22px 16px}.page-header{flex-direction:column}.login-modern{grid-template-columns:1fr}.login-hero{min-height:430px}.login-panel{padding:24px}}
@media(max-width:767px){html{font-size:14px}.row>.col-6{width:100%}.stat-card{padding:16px}.stat-value{font-size:1.7rem}.card-header{align-items:flex-start;flex-wrap:wrap}.filter-bar{display:block}.filter-bar>*{margin-bottom:10px}.login-hero{padding:30px 22px;min-height:380px}.login-logo-full{max-width:260px}.login-metrics{grid-template-columns:1fr}.login-card{padding:24px;border-radius:22px}.toast-container{left:14px;right:14px}.toast-anec{min-width:0;max-width:none}}

.dropdown-menu.show,.dropdown-menu-anec.show{display:block}
.nav-tabs{display:flex;gap:4px;border-bottom:1px solid var(--anec-border);list-style:none;padding-left:0}.nav-tabs .nav-link{display:block;padding:10px 14px;border-radius:12px 12px 0 0;color:var(--anec-muted);font-weight:700}.nav-tabs .nav-link.active{background:#fff;color:var(--anec-navy);border:1px solid var(--anec-border);border-bottom-color:#fff}.tab-pane{display:none}.tab-pane.active,.tab-pane.show{display:block}

/* ====== Dashboard v25: funil responsivo e sem sobreposição ====== */
.dashboard-card{overflow:hidden}
.dashboard-card-header{align-items:center}
.dashboard-card-title{min-width:0;display:flex;flex-direction:column;gap:2px}
.dashboard-card-title h5{margin:0;line-height:1.15}
.dashboard-card-title small{color:var(--anec-muted);font-size:.76rem;font-weight:600}
.funnel-stage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:12px;margin-bottom:16px;align-items:stretch}
.funnel-stage{border:1px solid color-mix(in srgb, var(--stage-color) 52%, transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--stage-color) 9%, #fff),#fff);border-radius:14px;padding:12px;min-width:0;box-shadow:0 6px 18px rgba(25,43,88,.05);display:flex;flex-direction:column;justify-content:space-between}
@supports not (color: color-mix(in srgb, #000 50%, #fff)){.funnel-stage{border-color:var(--stage-color);background:#fff}}
.funnel-stage-name{font-size:.66rem;font-weight:850;text-transform:none;letter-spacing:.015em;color:var(--anec-navy);white-space:normal;overflow:visible;text-overflow:clip;line-height:1.15;min-height:34px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:normal;hyphens:auto}
.funnel-stage-value{margin-top:8px;min-height:36px;border-radius:10px;background:rgba(255,255,255,.78);display:flex;align-items:center;justify-content:center;color:var(--stage-color);font-size:1.35rem;font-weight:900;border:1px solid rgba(25,43,88,.08)}
.chart-box-funnel{min-height:285px;padding:14px 12px 24px;overflow:hidden}
.chart-box{position:relative;width:100%;min-height:210px;margin-top:12px;border:1px solid var(--anec-border);border-radius:16px;background:#fff;padding:12px;overflow:hidden}
.chart-box canvas{display:block;width:100%!important;height:100%!important;max-width:100%}
.dashboard-zero-state{display:flex;align-items:flex-start;gap:8px;flex-direction:column;margin-top:14px;border:1px dashed rgba(25,43,88,.18);border-radius:16px;background:#F8FAFD;padding:16px;color:var(--anec-muted)}
.dashboard-zero-state strong{color:var(--anec-navy);font-size:.95rem}
.dashboard-zero-state span{font-size:.86rem}
.dashboard-empty{padding:28px 18px!important}
@media(max-width:991px){.dashboard-card-header .btn{margin-left:0!important}.funnel-stage-grid{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))}.chart-box-funnel{min-height:300px}}
@media(max-width:767px){.page-header-actions{width:100%}.page-header-actions .btn{flex:1;justify-content:center}.dashboard-card-header{gap:9px}.dashboard-card-title{width:calc(100% - 48px)}.funnel-stage-grid{grid-template-columns:1fr 1fr;gap:8px}.funnel-stage{padding:10px}.funnel-stage-name{font-size:.62rem;min-height:32px}.funnel-stage-value{font-size:1.25rem}.chart-box{min-height:260px;padding:8px}.chart-box-funnel{min-height:310px}.dashboard-zero-state{font-size:.88rem}}
@media(max-width:420px){.funnel-stage-grid{grid-template-columns:1fr}.page-header-title h1{font-size:1.65rem}.card-body{padding:14px}.main-content{padding-left:12px;padding-right:12px}}

/* ====== Configurações v27: menu moderno, responsivo e sem bullets ====== */
.settings-hero{position:relative;overflow:hidden;display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin-bottom:22px;padding:28px;border-radius:26px;background:linear-gradient(135deg,var(--anec-navy-dark) 0%,var(--anec-navy) 56%,var(--anec-teal) 100%);box-shadow:0 24px 70px rgba(25,43,88,.18);color:#fff}.settings-hero::before{content:"";position:absolute;inset:-80px -80px auto auto;width:240px;height:240px;border-radius:999px;background:rgba(201,168,76,.18);filter:blur(3px)}.settings-hero::after{content:"";position:absolute;left:-60px;bottom:-90px;width:230px;height:230px;border-radius:999px;border:1px solid rgba(255,255,255,.14)}.settings-hero-content,.settings-hero-actions{position:relative;z-index:1}.settings-eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:10px;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);color:var(--anec-gold-2);font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.settings-hero h1{margin:0;color:#fff;font-size:2.15rem;line-height:1.1;letter-spacing:-.045em}.settings-hero p{max-width:740px;margin:10px 0 0;color:rgba(255,255,255,.78);font-size:1rem}.settings-hero-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.settings-hero-btn{min-height:42px;border-radius:13px;font-weight:800;padding:10px 14px}.btn-outline-light{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35)}.btn-outline-light:hover{background:rgba(255,255,255,.12);color:#fff}.settings-alert{border-radius:16px;margin-bottom:16px}.settings-shell{display:grid;grid-template-columns:minmax(285px,330px) 1fr;gap:20px;align-items:start}.settings-nav-panel{position:sticky;top:calc(var(--topbar-height) + 18px);background:#fff;border:1px solid var(--anec-border);border-radius:24px;padding:16px;box-shadow:var(--anec-shadow)}.settings-nav-title{font-size:.74rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--anec-muted);margin:2px 4px 12px}.settings-nav-list{display:flex;flex-direction:column;gap:10px}.settings-nav-modern{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px;border-radius:17px;background:#F7F9FC;border:1px solid #E8EEF6;color:var(--anec-text);text-decoration:none;transition:var(--transition);overflow:hidden}.settings-nav-modern::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:transparent;transition:var(--transition)}.settings-nav-modern:hover{transform:translateY(-1px);background:#fff;border-color:#d7e0ed;box-shadow:0 12px 26px rgba(25,43,88,.08);color:var(--anec-navy)}.settings-nav-modern.active{background:linear-gradient(135deg,#fff 0%,#F6FAFF 100%);border-color:rgba(201,168,76,.55);box-shadow:0 14px 34px rgba(25,43,88,.10)}.settings-nav-modern.active::before{background:var(--anec-gold)}.settings-nav-icon{width:46px;height:46px;border-radius:15px;display:flex;align-items:center;justify-content:center;background:#EDF2F9;color:var(--anec-navy);font-size:1.1rem;transition:var(--transition)}.settings-nav-modern.active .settings-nav-icon{background:linear-gradient(135deg,var(--anec-navy),var(--anec-navy-2));color:var(--anec-gold-2);box-shadow:0 12px 24px rgba(25,43,88,.22)}.settings-nav-text{min-width:0;display:flex;flex-direction:column}.settings-nav-text strong{font-size:.94rem;color:var(--anec-navy);line-height:1.15}.settings-nav-text small{margin-top:3px;color:var(--anec-muted);font-size:.76rem;line-height:1.25;white-space:normal}.settings-nav-badge{align-self:start;padding:3px 8px;border-radius:999px;background:#EEF3F8;color:var(--anec-muted);font-size:.65rem;font-weight:900;white-space:nowrap}.settings-nav-modern.active .settings-nav-badge{background:rgba(201,168,76,.18);color:var(--anec-navy)}.settings-side-note{display:flex;gap:10px;margin-top:16px;padding:14px;border-radius:18px;background:linear-gradient(135deg,rgba(25,43,88,.06),rgba(7,92,116,.05));border:1px solid rgba(25,43,88,.08)}.settings-side-note i{width:34px;height:34px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#fff;color:var(--anec-gold);box-shadow:0 8px 18px rgba(25,43,88,.08);flex:0 0 auto}.settings-side-note strong{display:block;color:var(--anec-navy);font-size:.86rem}.settings-side-note span{display:block;color:var(--anec-muted);font-size:.76rem;line-height:1.35;margin-top:2px}.settings-content-panel{min-width:0}.settings-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.settings-section-kicker{display:inline-flex;margin-bottom:6px;color:var(--anec-gold);font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.settings-section-head h2{display:flex;align-items:center;font-size:1.55rem;line-height:1.15;margin:0;color:var(--anec-navy)}.settings-section-head p{margin:6px 0 0;color:var(--anec-muted);max-width:760px}.settings-card,.settings-about-card{background:#fff;border:1px solid var(--anec-border);border-radius:24px;padding:22px;box-shadow:var(--anec-shadow);overflow:hidden}.settings-form{margin:0}.settings-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-group-modern{display:flex;flex-direction:column;gap:7px}.form-group-modern.span-2{grid-column:span 2}.form-group-modern label{font-weight:850;color:var(--anec-navy);font-size:.9rem}.form-group-modern small{color:var(--anec-muted);font-size:.77rem;line-height:1.35}.form-group-modern .form-control{min-height:46px;border-radius:14px;border:1px solid var(--anec-border);background:#FBFCFE;padding:10px 13px}.form-group-modern .form-control:focus{border-color:rgba(7,92,116,.46);background:#fff;box-shadow:0 0 0 4px rgba(7,92,116,.10);outline:none}.settings-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px;padding-top:18px;border-top:1px solid var(--anec-border)}.btn-anec-modern{min-height:44px;border-radius:14px;padding:10px 16px;background:linear-gradient(135deg,var(--anec-navy),var(--anec-navy-2));border:0;box-shadow:0 10px 24px rgba(25,43,88,.18);font-weight:850}.btn-anec-secondary{min-height:44px;border-radius:14px;padding:10px 16px;font-weight:800}.settings-info-band,.settings-warning-band{display:flex;gap:12px;align-items:flex-start;padding:15px 16px;border-radius:18px;margin-bottom:18px;border:1px solid rgba(36,121,189,.18);background:#F3F8FE;color:var(--anec-text)}.settings-info-band i,.settings-warning-band i{width:36px;height:36px;border-radius:13px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;background:#fff;color:var(--anec-info);box-shadow:0 8px 18px rgba(25,43,88,.08)}.settings-info-band strong,.settings-warning-band strong{display:block;color:var(--anec-navy);font-size:.92rem}.settings-info-band span,.settings-warning-band span{display:block;color:var(--anec-muted);font-size:.84rem;line-height:1.4;margin-top:2px}.settings-warning-band{border-color:rgba(217,154,22,.28);background:#FFF8E8}.settings-warning-band i{color:var(--anec-warning)}.settings-warning-band.soft{background:#FFFBF1}.settings-quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}.settings-mini-card{display:flex;flex-direction:column;gap:7px;padding:17px;border-radius:20px;background:#fff;border:1px solid var(--anec-border);box-shadow:0 8px 24px rgba(25,43,88,.06);color:var(--anec-text);transition:var(--transition)}.settings-mini-card:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(25,43,88,.10);border-color:rgba(201,168,76,.45);color:var(--anec-navy)}.settings-mini-card i{width:42px;height:42px;border-radius:14px;background:rgba(201,168,76,.15);color:var(--anec-navy);display:flex;align-items:center;justify-content:center;font-size:1.05rem}.settings-mini-card strong{color:var(--anec-navy);font-size:.98rem}.settings-mini-card span{color:var(--anec-muted);font-size:.78rem;line-height:1.35}.settings-about-card{padding:0}.settings-about-brand{display:flex;gap:16px;align-items:center;padding:24px;background:linear-gradient(135deg,#fff 0%,#F6FAFF 100%);border-bottom:1px solid var(--anec-border)}.settings-brand-mark{width:74px;height:74px;border-radius:22px;background:linear-gradient(135deg,var(--anec-navy),var(--anec-teal));color:var(--anec-gold-2);display:flex;align-items:center;justify-content:center;font-size:2rem;box-shadow:0 16px 34px rgba(25,43,88,.18);flex:0 0 auto}.settings-about-brand h3{margin:0;color:var(--anec-navy);font-size:1.55rem}.settings-about-brand p{margin:3px 0 10px;color:var(--anec-muted)}.settings-version-row{display:flex;flex-wrap:wrap;gap:7px}.settings-version-row span{padding:5px 9px;border-radius:999px;background:#fff;border:1px solid var(--anec-border);color:var(--anec-navy);font-size:.72rem;font-weight:900}.settings-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:20px}.settings-stat-card{min-height:118px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;padding:16px;border:1px solid var(--anec-border);border-radius:18px;background:#FBFCFE}.settings-stat-card i{width:36px;height:36px;border-radius:13px;background:rgba(25,43,88,.07);color:var(--anec-gold);display:flex;align-items:center;justify-content:center;margin-bottom:3px}.settings-stat-card strong{font-size:1.55rem;line-height:1;color:var(--anec-navy)}.settings-stat-card span{color:var(--anec-muted);font-size:.78rem;font-weight:700}.settings-system-note{margin:0 20px 20px;padding:16px;border-radius:18px;background:var(--anec-navy);color:#fff}.settings-system-note strong{display:block;color:#fff}.settings-system-note span{display:block;color:rgba(255,255,255,.72);font-size:.86rem;margin-top:2px}@media(max-width:1120px){.settings-shell{grid-template-columns:1fr}.settings-nav-panel{position:static}.settings-nav-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.settings-side-note{display:none}}@media(max-width:767px){.settings-hero{flex-direction:column;padding:22px;border-radius:22px}.settings-hero h1{font-size:1.72rem}.settings-hero-actions{width:100%}.settings-hero-btn{flex:1;justify-content:center}.settings-nav-list{grid-template-columns:1fr}.settings-nav-modern{grid-template-columns:42px minmax(0,1fr);gap:10px}.settings-nav-icon{width:42px;height:42px}.settings-nav-badge{grid-column:2;justify-self:start}.settings-form-grid,.settings-quick-grid,.settings-stat-grid{grid-template-columns:1fr}.form-group-modern.span-2{grid-column:auto}.settings-card{padding:18px}.settings-about-brand{align-items:flex-start}.settings-brand-mark{width:58px;height:58px;border-radius:18px;font-size:1.45rem}.settings-about-brand h3{font-size:1.25rem}.settings-stat-grid{padding:16px}.settings-section-head h2{font-size:1.32rem}}

/* ============================================================
   Paginação ANEC — v29
   Componente padrão para Contatos e demais listagens.
   ============================================================ */
.anec-pagination-wrapper{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  padding:16px 20px;
  border-top:1px solid var(--anec-border);
  background:linear-gradient(180deg,#fff 0%,#FBFCFE 100%);
  border-radius:0 0 var(--anec-radius) var(--anec-radius);
}
.anec-pagination-info{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:190px;
}
.anec-pagination-info strong{
  color:var(--anec-navy);
  font-size:.92rem;
  font-weight:850;
  line-height:1.25;
}
.anec-pagination-info span{
  color:var(--anec-muted);
  font-size:.76rem;
  font-weight:650;
}
.anec-per-page-form{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-left:auto;
  padding:6px 8px 6px 12px;
  border:1px solid var(--anec-border);
  background:#fff;
  border-radius:14px;
  box-shadow:0 6px 16px rgba(25,43,88,.05);
}
.anec-per-page-form label{
  margin:0;
  color:var(--anec-muted);
  font-size:.78rem;
  font-weight:800;
  white-space:nowrap;
}
.anec-per-page-form select{
  height:34px;
  min-width:72px;
  border:1px solid #D8E1EE;
  border-radius:10px;
  color:var(--anec-navy);
  background:#F8FAFD;
  font-weight:850;
  padding:0 8px;
  outline:none;
}
.anec-per-page-form select:focus{
  border-color:rgba(7,92,116,.45);
  box-shadow:0 0 0 4px rgba(7,92,116,.09);
  background:#fff;
}
.anec-pagination-nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
}
.anec-pagination{
  display:flex;
  align-items:center;
  gap:7px;
  list-style:none;
  padding:0;
  margin:0;
}
.anec-pagination li{list-style:none;margin:0;padding:0}
.anec-pagination li a,
.anec-pagination li span{
  min-width:40px;
  height:40px;
  padding:0 13px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:1px solid #D8E1EE;
  border-radius:13px;
  background:#fff;
  color:var(--anec-navy);
  font-size:.9rem;
  font-weight:850;
  text-decoration:none;
  line-height:1;
  white-space:nowrap;
  transition:var(--transition);
  box-shadow:0 5px 14px rgba(25,43,88,.045);
}
.anec-pagination li.prev-next a,
.anec-pagination li.prev-next span{
  padding:0 14px;
}
.anec-pagination li a:hover{
  transform:translateY(-1px);
  background:#F3F7FF;
  border-color:#BFCBE0;
  color:var(--anec-teal);
  box-shadow:0 10px 22px rgba(25,43,88,.09);
}
.anec-pagination li.active span{
  background:linear-gradient(135deg,var(--anec-navy),var(--anec-navy-2));
  color:#fff;
  border-color:var(--anec-navy);
  box-shadow:0 10px 24px rgba(25,43,88,.22);
}
.anec-pagination li.disabled span{
  background:#F3F6FA;
  color:#A2ADBC;
  border-color:#E1E7F0;
  cursor:not-allowed;
  box-shadow:none;
}
.anec-pagination li.dots span{
  min-width:auto;
  padding:0 4px;
  border:0;
  background:transparent;
  color:var(--anec-muted);
  box-shadow:none;
  font-size:1.05rem;
}
.anec-pagination .bi{
  font-size:.8rem;
  line-height:1;
}
@media(max-width:900px){
  .anec-pagination-wrapper{
    flex-direction:column;
    align-items:stretch;
  }
  .anec-pagination-info{
    align-items:center;
    text-align:center;
  }
  .anec-per-page-form{
    margin-left:0;
    width:100%;
    justify-content:center;
  }
  .anec-pagination-nav{
    width:100%;
    justify-content:center;
  }
  .anec-pagination{
    justify-content:center;
    flex-wrap:wrap;
  }
}
@media(max-width:520px){
  .anec-pagination-wrapper{padding:14px 12px}
  .anec-pagination{gap:5px}
  .anec-pagination li a,
  .anec-pagination li span{
    min-width:36px;
    height:36px;
    padding:0 10px;
    font-size:.84rem;
    border-radius:11px;
  }
  .anec-pagination .pagination-label{display:none}
  .anec-per-page-form{flex-wrap:wrap;border-radius:13px}
}

/* ============================================================
   SMTP Test Tool - Configurações v32
   ============================================================ */
.smtp-test-card {
  margin-top: 18px;
}

.smtp-test-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}

.smtp-test-head h3 {
  margin: 4px 0 6px;
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--anec-navy, #16275b);
}

.smtp-test-head p {
  margin: 0;
  color: #667085;
  max-width: 760px;
}

.smtp-test-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding: 14px;
  border: 1px solid #e4eaf3;
  border-radius: 16px;
  background: #f8fafc;
  color: #344054;
  font-size: .9rem;
}

.smtp-test-summary strong {
  color: #1f2f6b;
}

.smtp-test-modal .modal-header {
  border-bottom: 1px solid #edf1f7;
  padding: 22px 24px;
}

.smtp-test-modal .modal-title {
  font-weight: 800;
  color: #16275b;
  margin-top: 4px;
}

.smtp-test-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.smtp-test-grid .span-2 {
  grid-column: span 2;
}

.smtp-test-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid #edf1f7;
}

.smtp-test-result {
  margin-top: 18px;
  padding: 16px;
  border-radius: 16px;
  border: 1px solid #e4eaf3;
  background: #f8fafc;
}

.smtp-test-result.success {
  border-color: #b8e7cf;
  background: #f0fdf6;
}

.smtp-test-result.error {
  border-color: #ffd0d0;
  background: #fff5f5;
}

.smtp-test-result.loading {
  border-color: #d4def4;
  background: #f4f7ff;
}

.smtp-result-title {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #16275b;
  font-size: .98rem;
}

.smtp-result-title i {
  font-size: 1.25rem;
}

.smtp-test-result.success .smtp-result-title i {
  color: #16875d;
}

.smtp-test-result.error .smtp-result-title i {
  color: #d92d20;
}

.smtp-tested-at {
  display: block;
  margin-top: 6px;
  color: #667085;
}

.smtp-steps {
  margin-top: 14px;
  display: grid;
  gap: 10px;
}

.smtp-step {
  display: grid;
  grid-template-columns: 14px 1fr;
  gap: 10px;
  align-items: start;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(228,234,243,.9);
}

.smtp-step-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin-top: 5px;
  background: #98a2b3;
}

.smtp-step.success .smtp-step-dot { background: #12b76a; }
.smtp-step.error .smtp-step-dot { background: #f04438; }
.smtp-step.warning .smtp-step-dot { background: #f79009; }
.smtp-step.info .smtp-step-dot { background: #2e62d6; }

.smtp-step strong {
  display: block;
  color: #101828;
  font-size: .9rem;
}

.smtp-step small {
  display: block;
  color: #667085;
  line-height: 1.45;
  margin-top: 2px;
}

@media (max-width: 992px) {
  .smtp-test-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .smtp-test-head {
    flex-direction: column;
  }
  .smtp-test-grid {
    grid-template-columns: 1fr;
  }
  .smtp-test-grid .span-2 {
    grid-column: span 1;
  }
  .smtp-test-summary {
    grid-template-columns: 1fr;
  }
  .smtp-test-actions .btn {
    width: 100%;
  }
}


/* v33 - Modal grande e teste SMTP */
.modal-lg { width: min(760px, 100%); }
.smtp-test-actions .btn[disabled] { opacity: .72; cursor: wait; }
@media (max-width: 768px) { .modal-lg { width: 100%; } }

/* v35 - Ajustes SMTP anti-spoofing */
.smtp-warning-card {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    padding: 16px 18px;
    margin-bottom: 18px;
    border-radius: 16px;
    background: #fff8e6;
    border: 1px solid #f4d58d;
    color: #17224d;
}

.smtp-warning-card p {
    margin: 4px 0 0;
    color: #5b6475;
    line-height: 1.45;
}

.smtp-warning-icon {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff2c2;
    color: #b7791f;
    flex: 0 0 auto;
}

.smtp-test-note {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    padding: 12px 14px;
    margin: 12px 0 16px;
    border-radius: 14px;
    background: #f5f8ff;
    border: 1px solid #dce6fb;
    color: #344160;
    font-size: 0.92rem;
}

.smtp-test-note i {
    color: #1f2f6b;
    margin-top: 2px;
}

/* v36 - Modal SMTP compacto, com corpo rolável e botão Fechar sempre visível */
body.modal-open {
  overflow: hidden;
}

#smtpTestModal.modal.show {
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 16px;
}

#smtpTestModal .smtp-test-dialog {
  width: min(720px, calc(100vw - 32px));
  max-height: calc(100vh - 32px);
  margin: 0;
  display: flex;
}

#smtpTestModal .smtp-test-modal {
  width: 100%;
  max-height: calc(100vh - 32px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 20px;
}

#smtpTestModal .smtp-test-modal .modal-header {
  flex: 0 0 auto;
  padding: 14px 18px;
  background: #ffffff;
  border-bottom: 1px solid #edf1f7;
  position: relative;
  z-index: 3;
}

#smtpTestModal .smtp-test-modal .modal-title {
  font-size: 1rem;
  line-height: 1.25;
}

#smtpTestModal .smtp-test-modal .btn-close {
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  min-width: 36px;
  margin-left: 12px;
  opacity: 1;
}

#smtpTestModal .smtp-test-modal .modal-body {
  flex: 1 1 auto;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 16px 18px;
}

#smtpTestModal .smtp-test-modal .modal-footer {
  flex: 0 0 auto;
  padding: 12px 18px;
  background: #ffffff;
  border-top: 1px solid #edf1f7;
  position: relative;
  z-index: 3;
}

#smtpTestModal .smtp-test-grid {
  gap: 12px;
}

#smtpTestModal .smtp-test-grid textarea.form-control {
  min-height: 82px;
  max-height: 130px;
}

#smtpTestModal .smtp-test-note {
  margin: 10px 0 12px;
  padding: 10px 12px;
  font-size: .86rem;
}

#smtpTestModal .smtp-test-actions {
  margin-top: 12px;
  padding-top: 12px;
}

#smtpTestModal .smtp-test-result {
  margin-top: 12px;
  padding: 14px;
}

#smtpTestModal .smtp-steps {
  max-height: 260px;
  overflow-y: auto;
  padding-right: 4px;
}

#smtpTestModal .smtp-step {
  padding: 8px 10px;
}

@media (max-width: 768px) {
  #smtpTestModal.modal.show {
    align-items: flex-start;
    overflow-y: auto;
    padding: 10px;
  }

  #smtpTestModal .smtp-test-dialog {
    width: 100%;
    max-height: calc(100vh - 20px);
  }

  #smtpTestModal .smtp-test-modal {
    max-height: calc(100vh - 20px);
    border-radius: 16px;
  }

  #smtpTestModal .smtp-test-modal .modal-header,
  #smtpTestModal .smtp-test-modal .modal-body,
  #smtpTestModal .smtp-test-modal .modal-footer {
    padding-left: 14px;
    padding-right: 14px;
  }

  #smtpTestModal .smtp-test-actions .btn {
    width: 100%;
  }
}

@media (max-height: 720px) {
  #smtpTestModal.modal.show {
    align-items: flex-start;
    overflow-y: auto;
    padding-top: 10px;
    padding-bottom: 10px;
  }

  #smtpTestModal .smtp-test-dialog,
  #smtpTestModal .smtp-test-modal {
    max-height: calc(100vh - 20px);
  }

  #smtpTestModal .smtp-test-note {
    display: none;
  }

  #smtpTestModal .smtp-steps {
    max-height: 180px;
  }
}


/* v37 - Campanhas: badges, editor, preview */
.campaign-channel-badge {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .42rem .72rem;
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 800;
    line-height: 1;
    border: 1px solid transparent;
    white-space: nowrap;
}
.campaign-channel-badge.channel-email { background:#eaf2ff; color:#1a2e5a; border-color:#b9cef5; }
.campaign-channel-badge.channel-whatsapp { background:#e7f7ef; color:#0f6b3d; border-color:#bcebd1; }
.campaign-channel-badge.channel-sms { background:#f0f2f6; color:#344054; border-color:#d9dee8; }
.campaign-channel-badge.channel-institucional { background:#fff6df; color:#7a5708; border-color:#ead38c; }
.campaign-channel-badge.channel-default { background:#f4f6fa; color:#1f2937; border-color:#e3e8f0; }
.anec-table td, .anec-table th { color: #111b3f; }
.anec-table .text-muted { color: #5f6b7a !important; }
.dropdown-menu .dropdown-item { color:#111b3f; font-weight:600; }
.dropdown-menu .dropdown-item:hover { background:#eef3ff; color:#1a2e5a; }

.campaign-editor-shell {
    background:#fff;
    border:1px solid #dbe3ef;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 8px 24px rgba(15,23,42,.05);
}
.campaign-editor-toolbar {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    padding:12px;
    background:#f7f9fc;
    border-bottom:1px solid #dbe3ef;
}
.campaign-editor-toolbar button,
.campaign-editor-toolbar select,
.campaign-editor-toolbar input[type="color"] {
    min-height:38px;
    border:1px solid #d5deea;
    background:#fff;
    color:#1a2e5a;
    border-radius:10px;
    font-weight:700;
    padding:0 10px;
}
.campaign-editor-toolbar button {
    display:inline-flex;
    align-items:center;
    gap:6px;
}
.campaign-editor-toolbar button:hover {
    background:#eaf2ff;
    border-color:#b9cef5;
}
.campaign-editor-toolbar input[type="color"] {
    width:44px;
    padding:3px;
}
.toolbar-sep { width:1px; height:30px; background:#d7deea; margin:0 2px; }
.campaign-editor {
    min-height:420px;
    padding:28px;
    outline:none;
    background:#ffffff;
    color:#16213f;
    font-size:1rem;
    line-height:1.65;
    overflow-wrap:break-word;
}
.campaign-editor:focus { box-shadow: inset 0 0 0 2px rgba(26,46,90,.08); }
.campaign-editor img { max-width:100%; height:auto; }
.campaign-editor a { color:#1a2e5a; }
.campaign-editor-help {
    display:flex;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
    padding:12px 16px;
    background:#fbfcfe;
    border-top:1px solid #e6edf6;
    color:#667085;
    font-size:.82rem;
}
.campaign-recipient-list { max-height:340px; overflow:auto; display:grid; gap:8px; }
.campaign-recipient-item {
    display:flex;
    gap:10px;
    align-items:flex-start;
    padding:12px;
    border:1px solid #e2e8f0;
    border-radius:14px;
    background:#fbfcfe;
    cursor:pointer;
}
.campaign-recipient-item:hover { background:#f1f5fb; }
.campaign-recipient-item span { display:flex; flex-direction:column; gap:2px; }
.campaign-recipient-item small { color:#667085; }
.sticky-actions-card { position:sticky; top:86px; }
.campaign-preview-header { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; }
.campaign-email-preview {
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:18px;
    padding:28px;
    color:#172033;
    overflow-wrap:break-word;
}
.campaign-email-preview img { max-width:100%; height:auto; }
.campaign-meta-list { display:grid; gap:12px; }
.campaign-meta-list div { padding:12px; border:1px solid #e7edf6; border-radius:14px; background:#fbfcfe; }
.campaign-meta-list span { display:block; color:#667085; font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.03em; }
.campaign-meta-list strong { display:block; margin-top:4px; color:#101a3d; overflow-wrap:anywhere; }
.mini-kpi { text-align:center; border:1px solid #e7edf6; border-radius:14px; padding:12px; background:#fbfcfe; }
.mini-kpi strong { display:block; font-size:1.35rem; color:#1a2e5a; }
.mini-kpi span { display:block; font-size:.75rem; color:#667085; }

/* v37 - LGPD notification flow */
.lgpd-flow-card {
    display:flex;
    align-items:flex-start;
    gap:14px;
    background:linear-gradient(135deg,#f7fbff 0%,#ffffff 100%);
    border:1px solid #d9e6f7;
    border-radius:18px;
    padding:18px 20px;
    box-shadow:0 8px 24px rgba(15,23,42,.05);
    color:#16213f;
}
.lgpd-flow-icon {
    width:44px;
    height:44px;
    border-radius:14px;
    background:#1a2e5a;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
}

@media (max-width: 768px) {
    .campaign-editor { min-height:320px; padding:18px; }
    .campaign-editor-toolbar button span { display:none; }
    .sticky-actions-card { position:static; }
    .lgpd-flow-card { flex-direction:column; }
}


/* CEP lookup feedback */
.spinner-mini {
  width: 0.85rem;
  height: 0.85rem;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  display: inline-block;
  vertical-align: -0.12em;
  margin-right: 0.35rem;
  animation: anec-spin .75s linear infinite;
}
@keyframes anec-spin { to { transform: rotate(360deg); } }
.btn[data-cep-lookup] { white-space: nowrap; }


/* ==========================================================
   v39 - Grupos e Segmentação: gestão de membros
   ========================================================== */
.mini-stat-card {
    display: flex;
    align-items: center;
    gap: 14px;
    background: #fff;
    border: 1px solid #e5eaf2;
    border-radius: 18px;
    padding: 18px;
    box-shadow: 0 8px 22px rgba(15,23,42,.05);
}
.mini-stat-icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f4f7fb;
    color: var(--anec-navy, #18285c);
    font-size: 1.15rem;
}
.mini-stat-value { font-size: 1.7rem; font-weight: 800; color: var(--anec-navy, #18285c); line-height: 1; }
.mini-stat-label { font-size: .82rem; color: #667085; font-weight: 700; }
.groups-shell {
    display: grid;
    grid-template-columns: minmax(320px, 390px) 1fr;
    gap: 22px;
    align-items: start;
}
.groups-list-card,
.groups-detail-card {
    background: #fff;
    border: 1px solid #e5eaf2;
    border-radius: 22px;
    box-shadow: 0 10px 26px rgba(15, 23, 42, .06);
}
.groups-list-card { padding: 18px; max-height: calc(100vh - 220px); overflow: auto; }
.groups-detail-card { padding: 22px; min-height: 520px; }
.groups-list-header { display:flex; align-items:start; justify-content:space-between; gap:12px; margin-bottom:16px; }
.groups-search-wrap { position:relative; margin-bottom:14px; }
.groups-search-wrap i { position:absolute; left:14px; top:50%; transform:translateY(-50%); color:#8a94a6; }
.groups-search-wrap .form-control { padding-left:40px; border-radius:14px; }
.groups-list { display:flex; flex-direction:column; gap:10px; }
.group-list-item {
    width: 100%;
    border: 1px solid #edf1f7;
    background: #fff;
    border-radius: 16px;
    padding: 12px;
    display: grid;
    grid-template-columns: 44px 1fr auto;
    gap: 12px;
    align-items: center;
    text-align: left;
    transition: .18s ease;
}
.group-list-item:hover { border-color:#d7deea; box-shadow:0 8px 20px rgba(15,23,42,.06); transform:translateY(-1px); }
.group-list-item.active { border-color:#c7a441; background:#fffaf0; box-shadow:0 10px 24px rgba(199,164,65,.16); }
.group-avatar {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#0b6073;
    color:#fff;
    font-weight:800;
}
.group-item-main strong { display:block; color:#111f46; font-size:.96rem; }
.group-item-main small { display:block; color:#667085; margin-top:3px; }
.group-type-badge,
.mini-badge {
    display:inline-flex;
    align-items:center;
    border-radius:999px;
    padding:4px 9px;
    font-size:.70rem;
    font-weight:800;
    white-space:nowrap;
    background:#eef2f7;
    color:#4b5565;
}
.group-type-badge.dinamico { background:#eaf7f3; color:#09745b; }
.group-type-badge.estatico { background:#eef4ff; color:#2457a6; }
.group-detail-header { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; border-bottom:1px solid #edf1f7; padding-bottom:18px; margin-bottom:18px; }
.group-detail-header .eyebrow { color:#c7a441; font-size:.72rem; text-transform:uppercase; letter-spacing:.12em; font-weight:900; margin-bottom:6px; }
.group-detail-header h3 { color:#111f46; font-weight:850; margin:0; }
.group-detail-header p { color:#667085; margin:.35rem 0 0; }
.group-detail-actions { display:flex; gap:8px; flex-wrap:wrap; }
.group-metrics { display:grid; grid-template-columns:repeat(5, minmax(120px, 1fr)); gap:12px; margin-bottom:16px; }
.group-metrics > div { border:1px solid #edf1f7; border-radius:16px; padding:14px; background:#f8fafc; }
.group-metrics strong { display:block; color:#18285c; font-size:1.25rem; font-weight:850; }
.group-metrics span { display:block; color:#667085; font-size:.76rem; font-weight:700; margin-top:3px; }
.group-help-card { display:flex; gap:12px; align-items:flex-start; padding:14px 16px; border:1px solid #d6e4ff; background:#f4f8ff; border-radius:16px; color:#25365f; }
.group-help-card i { color:#1d4ed8; font-size:1.05rem; margin-top:2px; }
.group-help-card strong { display:block; margin-bottom:2px; }
.group-help-card span { color:#5b667a; font-size:.88rem; }
.anec-tabs .nav-link { color:#667085; font-weight:800; border:0; border-bottom:3px solid transparent; padding:.8rem 1rem; }
.anec-tabs .nav-link.active { color:#18285c; border-bottom-color:#c7a441; background:#fff; }
.member-search-card { display:grid; grid-template-columns:minmax(220px, 300px) 1fr; gap:16px; align-items:center; padding:16px; border:1px solid #edf1f7; background:#fbfcfe; border-radius:18px; margin-bottom:14px; }
.member-search-card strong { display:block; color:#111f46; }
.member-search-card small { display:block; color:#667085; margin-top:2px; }
.member-search-form { display:flex; gap:10px; }
.member-search-form .form-control { border-radius:12px; }
.member-search-results { margin-bottom:14px; }
.member-result-row,
.member-row { display:grid; grid-template-columns:1fr auto; gap:14px; align-items:center; padding:12px 14px; border:1px solid #edf1f7; border-radius:14px; background:#fff; margin-bottom:8px; }
.member-row { grid-template-columns:42px 1fr auto auto; }
.member-avatar { width:38px; height:38px; border-radius:50%; background:#eef4ff; color:#18285c; display:inline-flex; align-items:center; justify-content:center; font-weight:800; }
.member-avatar.institution { background:#fff8e1; color:#9a6b00; }
.member-main strong,
.member-result-row strong { color:#111f46; display:block; }
.member-main small,
.member-result-row small { color:#667085; display:block; margin-top:2px; }
.member-badges { display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end; }
.mini-badge.success { background:#eaf7f3; color:#09745b; }
.members-section-title { display:flex; justify-content:space-between; align-items:center; margin:16px 0 10px; font-weight:850; color:#111f46; }
.members-section-title small { color:#667085; font-weight:700; }
.empty-inline { border:1px dashed #d7deea; background:#fbfcfe; color:#667085; border-radius:16px; padding:22px; display:flex; gap:12px; align-items:center; justify-content:center; text-align:center; }
.groups-empty-panel { min-height:460px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:#667085; padding:32px; }
.groups-empty-icon { width:70px; height:70px; border-radius:20px; display:flex; align-items:center; justify-content:center; background:#f4f7fb; color:#18285c; font-size:1.6rem; margin-bottom:16px; }
.groups-empty-panel h5 { color:#111f46; font-weight:850; }
@media (max-width: 1100px) {
    .groups-shell { grid-template-columns:1fr; }
    .groups-list-card { max-height:none; }
    .group-metrics { grid-template-columns:repeat(2, 1fr); }
    .member-search-card { grid-template-columns:1fr; }
}
@media (max-width: 640px) {
    .group-list-item { grid-template-columns:42px 1fr; }
    .group-type-badge { grid-column:2; justify-self:start; }
    .group-detail-header { flex-direction:column; }
    .group-metrics { grid-template-columns:1fr; }
    .member-search-form { flex-direction:column; }
    .member-row { grid-template-columns:38px 1fr auto; }
    .member-badges { grid-column:2 / span 2; justify-content:flex-start; }
}

/* v41 - Relatórios de Comunicação */
.comm-report-notice {
  display:flex;
  gap:14px;
  align-items:flex-start;
  background:linear-gradient(135deg, rgba(26,46,90,.06), rgba(201,168,76,.08));
  border:1px solid rgba(26,46,90,.12);
  border-radius:18px;
  padding:16px 18px;
  color:#25324b;
  box-shadow:0 8px 24px rgba(15,23,42,.04);
}
.comm-report-notice-icon {
  width:38px;
  height:38px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  color:var(--anec-navy);
  flex:0 0 auto;
  box-shadow:0 6px 16px rgba(15,23,42,.05);
}
.comm-report-tabs {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.comm-report-tab {
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:13px 18px;
  border-radius:16px;
  background:#fff;
  border:1px solid #dbe3ef;
  color:var(--anec-navy);
  font-weight:700;
  text-decoration:none;
  box-shadow:0 6px 18px rgba(15,23,42,.04);
  transition:all .2s ease;
}
.comm-report-tab:hover {
  transform:translateY(-1px);
  color:var(--anec-navy);
  border-color:rgba(26,46,90,.28);
  box-shadow:0 10px 24px rgba(15,23,42,.07);
}
.comm-report-tab.active {
  background:linear-gradient(135deg, var(--anec-navy), #0f4b63);
  color:#fff;
  border-color:transparent;
  box-shadow:0 12px 28px rgba(26,46,90,.20);
}
.communication-report-card .table-responsive {
  border-radius:16px;
}
.comm-report-table th,
.comm-report-table td {
  vertical-align:middle;
}
.comm-status-pill {
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  font-weight:800;
  font-size:.76rem;
  white-space:nowrap;
}
.comm-status-pill.success { background:rgba(25,135,84,.10); color:#0f6848; }
.comm-status-pill.warning { background:rgba(255,193,7,.14); color:#8a6500; }
.comm-status-pill.danger { background:rgba(220,53,69,.10); color:#b42335; }
@media (max-width: 768px) {
  .comm-report-tabs { display:grid; grid-template-columns:1fr; }
  .comm-report-tab { justify-content:center; }
  .comm-report-notice { flex-direction:column; }
}


/* v42 - Disparador de campanhas sem Cron */
.campaign-worker-alert {
  border-radius: 18px;
  border-color: rgba(201, 168, 76, .35);
  background: rgba(201, 168, 76, .10);
  color: var(--anec-navy);
}
.campaign-worker-card { min-height: 260px; }
.campaign-worker-status {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 999px;
  font-weight: 700;
  font-size: .9rem;
  margin-bottom: 14px;
  background: #f1f5f9;
  color: #64748b;
}
.campaign-worker-status.running { background: rgba(25, 135, 84, .10); color: #198754; }
.campaign-worker-status.done { background: rgba(25, 135, 84, .12); color: #146c43; }
.campaign-worker-status.error { background: rgba(220, 53, 69, .10); color: #b02a37; }
.campaign-worker-status i { font-size: 1rem; }
.campaign-worker-status.running i { animation: anecSpin 1s linear infinite; }
@keyframes anecSpin { to { transform: rotate(360deg); } }
.campaign-worker-log {
  max-height: 380px;
  overflow: auto;
  background: #f8fafc;
  border: 1px solid var(--anec-border);
  border-radius: 16px;
  padding: 12px;
}
.campaign-worker-log .log-line {
  padding: 9px 10px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid rgba(226, 232, 240, .95);
  margin-bottom: 8px;
  font-size: .86rem;
  color: var(--anec-text);
}
.campaign-worker-log .log-line.success { border-color: rgba(25,135,84,.25); background: rgba(25,135,84,.06); }
.campaign-worker-log .log-line.warning { border-color: rgba(255,193,7,.35); background: rgba(255,193,7,.08); }
.campaign-worker-log .log-line.error { border-color: rgba(220,53,69,.25); background: rgba(220,53,69,.06); color: #842029; }
.campaign-worker-log .log-line.muted { color: #64748b; }
.empty-state.compact { padding: 26px 18px; }


/* V43 - Diagnóstico de processamento de campanhas */
.anec-process-modal .modal-body {
    background: #f8fafc;
}
.process-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}
.process-summary-grid > div {
    background: #fff;
    border: 1px solid #e5eaf2;
    border-radius: 14px;
    padding: 12px;
    text-align: center;
}
.process-summary-grid strong {
    display: block;
    color: var(--anec-navy);
    font-size: 1.4rem;
    line-height: 1.1;
}
.process-summary-grid span {
    display: block;
    color: #64748b;
    font-size: .78rem;
    margin-top: 4px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.process-campaign-list {
    display: grid;
    gap: 10px;
}
.process-campaign-item {
    background: #fff;
    border: 1px solid #e5eaf2;
    border-radius: 16px;
    padding: 14px;
}
.process-failure-list {
    margin: 8px 0 0;
    padding-left: 18px;
    color: #991b1b;
}
.process-failure-list li {
    margin-bottom: 8px;
}
@media (max-width: 768px) {
    .process-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}


/* v47 — Menus de ação flutuantes fora da área de rolagem */
.dropdown-menu.dropdown-menu-floating {
  position: fixed !important;
  right: auto !important;
  z-index: 3000 !important;
  display: block !important;
  min-width: 220px;
  max-width: min(280px, calc(100vw - 20px));
  box-shadow: 0 22px 55px rgba(15, 23, 42, .22);
  border: 1px solid rgba(25, 43, 88, .10);
}
.dropdown-menu.dropdown-menu-floating .dropdown-item {
  min-height: 38px;
}
.table-responsive:has(.dropdown-menu.show) {
  overflow-x: auto;
}
@supports not selector(:has(*)) {
  .table-responsive { overflow-x: auto; }
}


/* v49 - Diagnóstico de entrega de campanhas */
.campaign-delivery-note {
    background: #fff8e6 !important;
    color: #473a14;
    border-left: 4px solid #d6ad3d !important;
    border-radius: 16px;
}
.campaign-delivery-table td,
.campaign-delivery-table th {
    vertical-align: top;
}
.campaign-delivery-table .badge {
    white-space: nowrap;
}

/* ============================================================
   Aniversariantes — v51
   ============================================================ */
.bi-cake::before,.bi-cake2::before{content:"🎂"}.bi-card-image::before{content:"▧"}.bi-cloud-arrow-up::before{content:"☁↑"}.bi-youtube::before{content:"▶"}.bi-mouse2::before{content:"▣"}.bi-paperclip::before{content:"📎"}.bi-text-left::before{content:"≡"}.bi-text-center::before{content:"≡"}.bi-text-right::before{content:"≡"}
.birthday-page-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:16px;background:#fff7df;border:1px solid #ead48d;box-shadow:0 8px 20px rgba(201,168,76,.16);font-size:1.35rem;margin-right:8px;vertical-align:middle}.birthday-date-filter{background:#fff;border:1px solid var(--anec-border);padding:12px;border-radius:18px;box-shadow:var(--anec-shadow)}.birthday-tabs{display:inline-flex;gap:8px;padding:7px;background:#fff;border:1px solid var(--anec-border);border-radius:18px;box-shadow:0 8px 24px rgba(25,43,88,.06)}.birthday-tabs a{display:inline-flex;align-items:center;gap:6px;min-height:42px;padding:9px 16px;border-radius:13px;color:var(--anec-muted);font-weight:850}.birthday-tabs a:hover{background:#f4f7fb;color:var(--anec-navy)}.birthday-tabs a.active{background:linear-gradient(135deg,var(--anec-navy),var(--anec-navy-2));color:#fff;box-shadow:0 10px 24px rgba(25,43,88,.18)}.birthday-list-card{overflow:visible}.birthday-table th{font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;color:var(--anec-navy)}.birthday-person-cell{display:flex;align-items:center;gap:12px;min-width:240px}.birthday-person-cell strong{display:block;color:var(--anec-navy);font-weight:850}.birthday-person-cell small{display:block;color:var(--anec-muted);font-size:.78rem;margin-top:2px}.birthday-cake{width:46px;height:46px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fff7df,#fff);border:1px solid #ead48d;font-size:1.35rem;box-shadow:0 9px 22px rgba(201,168,76,.14);flex:0 0 auto}.birthday-whatsapp{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#e9f8ef;color:#0f6b3d;border:1px solid #bfe9cf;font-weight:800;font-size:.83rem}.birthday-mail-btn{width:42px;height:42px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center}.birthday-modal-content{max-height:calc(100vh - 48px);display:flex;flex-direction:column}.birthday-modal-content .modal-body{overflow:auto}.birthday-editor{min-height:300px}.birthday-editor-shell{box-shadow:0 8px 24px rgba(15,23,42,.05)}.birthday-editor-toolbar button span{display:inline}.empty-icon{width:76px;height:76px;margin:0 auto 14px;border-radius:25px;background:#fff7df;border:1px solid #ead48d;display:flex;align-items:center;justify-content:center;font-size:2.2rem}.empty-state h3{font-size:1.2rem;color:var(--anec-navy);margin-bottom:6px}.empty-state p{color:var(--anec-muted);margin-bottom:0}@media(max-width:767px){.birthday-date-filter{width:100%}.birthday-date-filter .d-flex{flex-direction:column}.birthday-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%}.birthday-tabs a{justify-content:center}.birthday-person-cell{min-width:190px}.birthday-editor{min-height:260px;padding:18px}.birthday-editor-toolbar button span{display:none}}

/* =========================================================
   ANEC CRM v52 - Modal de felicitação de aniversariantes
   Mantém cabeçalho e rodapé sempre visíveis e reduz a altura
   do editor para que anexos e botão Enviar apareçam em telas menores.
   ========================================================= */
#birthdayMessageModal.modal.show {
  align-items: center;
  justify-content: center;
  padding: 12px;
}

#birthdayMessageModal .birthday-modal-dialog {
  width: min(760px, calc(100vw - 24px));
  max-width: calc(100vw - 24px);
  margin: 0;
}

#birthdayMessageModal .birthday-modal-content {
  width: 100%;
  max-height: min(860px, calc(100vh - 24px));
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 18px;
}

#birthdayMessageModal .birthday-message-form {
  display: flex;
  flex-direction: column;
  max-height: min(860px, calc(100vh - 24px));
  min-height: 0;
}

#birthdayMessageModal .modal-header {
  flex: 0 0 auto;
  padding: 14px 18px;
}

#birthdayMessageModal .birthday-modal-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: 14px 18px 12px;
  overscroll-behavior: contain;
}

#birthdayMessageModal .birthday-modal-footer {
  flex: 0 0 auto;
  position: sticky;
  bottom: 0;
  z-index: 2;
  background: #ffffff;
  padding: 12px 18px;
  box-shadow: 0 -8px 22px rgba(15, 23, 42, 0.06);
}

#birthdayMessageModal .birthday-modal-footer .btn {
  min-height: 42px;
}

#birthdayMessageModal .row.g-3 {
  --bs-gutter-y: .72rem;
}

#birthdayMessageModal .form-label {
  margin-bottom: .38rem;
}

#birthdayMessageModal .form-control,
#birthdayMessageModal select.form-control,
#birthdayMessageModal .form-select {
  min-height: 42px;
}

#birthdayMessageModal .campaign-editor-shell.birthday-editor-shell {
  border-radius: 16px;
  overflow: hidden;
}

#birthdayMessageModal .birthday-editor-toolbar {
  gap: 7px;
  padding: 9px 10px;
  max-height: 112px;
  overflow-y: auto;
}

#birthdayMessageModal .birthday-editor-toolbar button,
#birthdayMessageModal .birthday-editor-toolbar select,
#birthdayMessageModal .birthday-editor-toolbar input[type="color"] {
  min-height: 36px;
  height: 36px;
  border-radius: 10px;
}

#birthdayMessageModal .birthday-editor-toolbar button {
  padding: 0 10px;
}

#birthdayMessageModal .birthday-editor {
  min-height: 170px;
  max-height: 260px;
  overflow-y: auto;
  padding: 20px 22px;
}

#birthdayMessageModal .campaign-editor-help {
  gap: 6px;
  padding: 9px 12px;
}

#birthdayMessageModal .campaign-editor-help span {
  line-height: 1.35;
}

#birthdayMessageModal input[type="file"].form-control {
  padding-top: 9px;
}

@media (max-height: 760px) {
  #birthdayMessageModal .birthday-modal-content,
  #birthdayMessageModal .birthday-message-form {
    max-height: calc(100vh - 16px);
  }
  #birthdayMessageModal .modal-header {
    padding: 10px 16px;
  }
  #birthdayMessageModal .modal-header .settings-section-kicker {
    display: none;
  }
  #birthdayMessageModal .modal-header p {
    display: none;
  }
  #birthdayMessageModal .birthday-modal-body {
    padding: 10px 16px;
  }
  #birthdayMessageModal .birthday-editor {
    min-height: 135px;
    max-height: 190px;
    padding: 16px 18px;
  }
  #birthdayMessageModal .birthday-editor-toolbar {
    max-height: 86px;
  }
  #birthdayMessageModal .campaign-editor-help {
    display: none;
  }
  #birthdayMessageModal .birthday-modal-footer {
    padding: 10px 16px;
  }
}

@media (max-width: 767px) {
  #birthdayMessageModal.modal.show {
    align-items: stretch;
    padding: 8px;
  }
  #birthdayMessageModal .birthday-modal-dialog {
    width: 100%;
    max-width: 100%;
  }
  #birthdayMessageModal .birthday-modal-content,
  #birthdayMessageModal .birthday-message-form {
    max-height: calc(100vh - 16px);
    border-radius: 16px;
  }
  #birthdayMessageModal .birthday-editor-toolbar button span {
    display: none;
  }
  #birthdayMessageModal .birthday-modal-footer {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }
  #birthdayMessageModal .birthday-modal-footer .btn {
    width: 100%;
  }
}


/* WhatsApp Manual - v53 */
.whatsapp-manual-dialog { max-width: 760px; }
.whatsapp-manual-modal { border: 0; border-radius: 22px; overflow: hidden; box-shadow: 0 24px 70px rgba(15,23,42,.28); }
.whatsapp-manual-modal .modal-body { max-height: calc(100vh - 260px); overflow-y: auto; }
.whatsapp-message-box { min-height: 180px; resize: vertical; line-height: 1.55; }
.whatsapp-manual-result { margin-top: 14px; padding: 12px 14px; border-radius: 14px; font-weight: 600; font-size: .9rem; }
.whatsapp-manual-result.success { background: #ecfdf3; border: 1px solid #abefc6; color: #067647; }
.whatsapp-manual-result.error { background: #fef3f2; border: 1px solid #fecdca; color: #b42318; }
.settings-subsection-title { color: var(--anec-navy); font-weight: 800; letter-spacing: .02em; }
.birthday-actions-inline { display: inline-flex; gap: 6px; align-items: center; justify-content: flex-end; }
.btn-outline-success { color: #128c4a; border-color: rgba(18,140,74,.35); }
.btn-outline-success:hover { color: #fff; background: #128c4a; border-color: #128c4a; }
@media (max-width: 768px) {
  .whatsapp-manual-dialog { margin: 10px; max-width: calc(100% - 20px); }
  .whatsapp-manual-modal .modal-body { max-height: calc(100vh - 230px); }
  .whatsapp-message-box { min-height: 150px; }
}

/* ============================================================
   Funil de Leads — v56
   Modernização do Kanban, cards e botões de ação.
   ============================================================ */
.bi-inbox::before{content:"▧"}
.leads-page-header{align-items:flex-end;margin-bottom:18px}
.leads-page-header h1{display:flex;align-items:center;gap:10px;font-size:2rem;line-height:1.05}
.leads-page-header h1 i{width:34px;height:34px;border-radius:12px;background:rgba(25,43,88,.08);color:var(--anec-navy);font-size:1rem}
.leads-header-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.leads-funnel-select-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.leads-funnel-select{min-width:210px;border-radius:14px;min-height:42px;background:#fff;border:1px solid rgba(25,43,88,.18);box-shadow:0 8px 20px rgba(25,43,88,.06);font-weight:700;color:var(--anec-navy)}
.leads-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:14px}
.leads-stat-card{min-height:88px;padding:16px 18px!important;display:flex;align-items:center;gap:14px;border-radius:18px;background:#fff;border:1px solid var(--anec-border);box-shadow:var(--anec-shadow)}
.leads-stat-card .stat-icon{width:46px!important;height:46px!important;font-size:1rem!important;flex:0 0 auto}
.leads-stat-card .stat-value{font-size:1.75rem!important;line-height:1;color:var(--anec-navy);font-weight:900}
.leads-stat-card .stat-label{font-size:.82rem!important;font-weight:850;color:var(--anec-muted);letter-spacing:.01em}
.leads-kanban-shell{background:linear-gradient(180deg,#fff 0%,#F8FAFD 100%);border:1px solid var(--anec-border);border-radius:24px;padding:18px;box-shadow:var(--anec-shadow);overflow:hidden}
.leads-kanban-hint{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:12px 14px;border-radius:16px;background:#F2F7FD;border:1px solid rgba(36,121,189,.16);color:var(--anec-muted);font-size:.86rem;font-weight:650}
.leads-kanban-hint i{width:30px;height:30px;border-radius:10px;background:#fff;color:var(--anec-navy);box-shadow:0 6px 14px rgba(25,43,88,.08);flex:0 0 auto}
.leads-kanban-board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(292px,1fr);gap:16px;overflow-x:auto;overflow-y:hidden;align-items:start;padding:4px 2px 16px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:rgba(25,43,88,.25) transparent}
.leads-kanban-board::-webkit-scrollbar{height:10px}.leads-kanban-board::-webkit-scrollbar-thumb{border-radius:999px;background:rgba(25,43,88,.24)}.leads-kanban-board::-webkit-scrollbar-track{background:transparent}
.leads-kanban-col{scroll-snap-align:start;min-width:292px;background:#F7F9FC;border:1px solid #E4EAF2;border-radius:20px;box-shadow:0 8px 22px rgba(25,43,88,.05);overflow:hidden;display:flex;flex-direction:column;max-height:calc(100vh - 270px)}
.leads-kanban-col .kanban-col-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 14px 12px;background:rgba(255,255,255,.92);border-bottom:1px solid #E4EAF2;position:sticky;top:0;z-index:2}
.leads-kanban-col .kanban-col-title{min-width:0;display:flex;align-items:center;gap:9px;color:var(--anec-navy);font-size:.88rem;font-weight:900;text-transform:none;letter-spacing:-.01em}
.leads-kanban-col .kanban-col-title span:last-child{min-width:0;white-space:normal;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.18}
.kanban-col-dot{width:10px;height:10px;border-radius:999px;flex:0 0 auto;box-shadow:0 0 0 4px rgba(25,43,88,.06)}
.leads-kanban-col .kanban-col-count{min-width:30px;height:30px;padding:0 9px;border-radius:999px;background:var(--anec-navy);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:900;box-shadow:0 8px 18px rgba(25,43,88,.18)}
.leads-kanban-col .kanban-cards{display:flex;flex-direction:column;gap:12px;padding:13px;min-height:160px;overflow-y:auto;transition:background .18s ease;scrollbar-width:thin;scrollbar-color:rgba(25,43,88,.18) transparent}
.leads-kanban-col .kanban-cards.is-drop-target{background:rgba(7,92,116,.07);outline:2px dashed rgba(7,92,116,.22);outline-offset:-8px}
.lead-kanban-card{background:#fff;border:1px solid #E3EAF3;border-radius:18px;padding:14px;box-shadow:0 10px 22px rgba(25,43,88,.07);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;cursor:grab}
.lead-kanban-card:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(25,43,88,.12);border-color:rgba(201,168,76,.42)}
.lead-kanban-card.is-dragging{opacity:.62;transform:rotate(-1deg) scale(.985);cursor:grabbing}
.lead-kanban-card .kanban-card-title{color:var(--anec-navy);font-size:.96rem;font-weight:900;line-height:1.25;margin-bottom:9px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lead-kanban-card .kanban-card-meta{display:flex;flex-direction:column;gap:6px;color:var(--anec-muted);font-size:.8rem;line-height:1.25}
.lead-kanban-card .kanban-card-meta span{display:flex;align-items:center;gap:7px;min-width:0;word-break:break-word}
.lead-kanban-card .kanban-card-meta i{width:18px;height:18px;border-radius:7px;background:#F1F5FA;color:var(--anec-navy);font-size:.68rem;flex:0 0 auto}
.lead-date-overdue{color:var(--anec-danger)!important;font-weight:800}
.lead-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px;padding-top:12px;border-top:1px solid #EEF2F7}
.lead-temp-badge{height:28px;padding:0 10px;font-size:.72rem;flex:0 0 auto}
.lead-card-actions{display:flex;align-items:center;gap:7px;margin-left:auto}
.lead-action-btn{height:34px;min-width:34px;padding:0 10px;border-radius:12px;border:1px solid #D7E0EC;background:#fff;color:var(--anec-navy);display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:.78rem;font-weight:850;text-decoration:none;box-shadow:0 6px 14px rgba(25,43,88,.04);transition:var(--transition)}
.lead-action-btn:hover{background:#F1F6FC;border-color:rgba(25,43,88,.28);color:var(--anec-navy);transform:translateY(-1px)}
.lead-action-btn.primary{background:linear-gradient(135deg,var(--anec-navy),var(--anec-navy-2));border-color:var(--anec-navy);color:#fff;box-shadow:0 8px 18px rgba(25,43,88,.16)}
.lead-action-btn.primary:hover{color:#fff;filter:brightness(1.04)}
.lead-action-btn i{font-size:.82rem}.lead-action-btn span{display:inline-flex}
.lead-add-row{padding:11px 13px;border-top:1px solid #E4EAF2;background:rgba(255,255,255,.74)}
.lead-add-row a{min-height:38px;border:1px dashed #C9D4E4;background:#fff;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:7px;color:var(--anec-muted);font-size:.84rem;font-weight:850;text-decoration:none;transition:var(--transition)}
.lead-add-row a:hover{border-color:var(--anec-gold);background:#FFFBF1;color:var(--anec-navy)}
.lead-empty-state{text-align:center;padding:24px 14px;color:var(--anec-muted);border:1px dashed #D6E0ED;border-radius:16px;background:#fff;display:flex;flex-direction:column;align-items:center;gap:5px}
.lead-empty-state i{width:42px;height:42px;border-radius:15px;background:#F3F6FA;color:#9AA7B8;font-size:1rem}.lead-empty-state strong{color:var(--anec-navy);font-size:.86rem}.lead-empty-state span{font-size:.76rem;line-height:1.3}
@media(max-width:1200px){.leads-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.leads-kanban-col{max-height:none}.leads-kanban-board{grid-auto-columns:minmax(285px,86vw)}}
@media(max-width:767px){.leads-page-header{align-items:flex-start}.leads-page-header h1{font-size:1.65rem}.leads-header-actions{width:100%;justify-content:stretch}.leads-header-actions .btn,.leads-header-actions select{flex:1 1 auto;width:100%}.leads-stat-grid{grid-template-columns:1fr}.leads-kanban-shell{padding:12px;border-radius:18px}.leads-kanban-hint{align-items:flex-start}.lead-action-btn span{display:none}.lead-action-btn{width:38px;height:38px;padding:0}.lead-card-footer{align-items:flex-start;flex-direction:column}.lead-card-actions{width:100%;justify-content:flex-end}}

/* === v57 - Relatórios executivos modernos === */
.reports-hero{position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:22px;padding:28px;border-radius:28px;background:linear-gradient(135deg,var(--anec-navy-dark) 0%,var(--anec-navy) 56%,var(--anec-teal) 100%);box-shadow:0 26px 70px rgba(25,43,88,.18);color:#fff}
.reports-hero::before{content:"";position:absolute;right:-70px;top:-95px;width:260px;height:260px;border-radius:999px;background:rgba(201,168,76,.20);filter:blur(2px)}
.reports-hero::after{content:"";position:absolute;left:-80px;bottom:-105px;width:230px;height:230px;border:1px solid rgba(255,255,255,.16);border-radius:999px}
.reports-hero-content,.reports-hero-actions{position:relative;z-index:1}.reports-eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:10px;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.18);color:var(--anec-gold-2);font-size:.76rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.reports-hero h1{margin:0;color:#fff;font-size:2.15rem;line-height:1.08;letter-spacing:-.045em}.reports-hero p{max-width:700px;margin:10px 0 0;color:rgba(255,255,255,.78);font-size:1rem;line-height:1.48}.reports-hero-actions{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;justify-content:flex-end}.reports-period-card{min-width:260px;padding:11px 12px;border-radius:18px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}.reports-period-card>span{display:block;margin:0 0 8px;color:rgba(255,255,255,.75);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.reports-period-buttons{display:flex;gap:6px}.reports-period-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 9px;border-radius:11px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);color:#fff;text-decoration:none;font-weight:850;font-size:.82rem}.reports-period-btn:hover{background:rgba(255,255,255,.18);color:#fff}.reports-period-btn.active{background:#fff;color:var(--anec-navy);box-shadow:0 8px 20px rgba(0,0,0,.12)}.reports-export-btn{min-height:42px;border-radius:14px;box-shadow:none!important}
.reports-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:18px}.reports-kpi-card{position:relative;overflow:hidden;min-height:122px;display:flex;gap:12px;align-items:center;padding:18px;border-radius:22px;background:#fff;border:1px solid var(--anec-border);box-shadow:var(--anec-shadow);transition:var(--transition)}.reports-kpi-card:hover{transform:translateY(-2px);box-shadow:var(--anec-shadow-lg)}.reports-kpi-card::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--anec-navy)}.reports-kpi-card.teal::before{background:var(--anec-teal)}.reports-kpi-card.gold::before{background:var(--anec-gold)}.reports-kpi-icon{width:46px;height:46px;flex:0 0 auto;border-radius:16px;display:flex;align-items:center;justify-content:center;background:rgba(25,43,88,.08);color:var(--anec-navy);font-size:1.15rem}.reports-kpi-card.teal .reports-kpi-icon{background:rgba(7,92,116,.10);color:var(--anec-teal)}.reports-kpi-card.gold .reports-kpi-icon{background:rgba(201,168,76,.16);color:#98751d}.reports-kpi-body{min-width:0}.reports-kpi-body strong{display:block;color:var(--anec-navy);font-size:1.8rem;line-height:1;font-weight:950;letter-spacing:-.045em}.reports-kpi-body span{display:block;margin-top:6px;color:var(--anec-text);font-size:.82rem;font-weight:850;line-height:1.2}.reports-kpi-body small{display:block;margin-top:5px;color:var(--anec-muted);font-size:.73rem;line-height:1.25}
.reports-insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.reports-insight-card{display:flex;gap:12px;align-items:center;padding:15px 16px;border-radius:20px;background:linear-gradient(135deg,#fff,#F7FAFD);border:1px solid var(--anec-border);box-shadow:0 8px 24px rgba(25,43,88,.05)}.reports-insight-card i{width:42px;height:42px;border-radius:15px;display:flex;align-items:center;justify-content:center;background:rgba(201,168,76,.16);color:var(--anec-navy);flex:0 0 auto}.reports-insight-card strong{display:block;color:var(--anec-navy);font-size:1.22rem;line-height:1;font-weight:900}.reports-insight-card span{display:block;margin-top:4px;color:var(--anec-muted);font-size:.82rem;line-height:1.35}
.reports-grid{display:grid;gap:18px;margin-bottom:18px}.reports-grid-primary{grid-template-columns:minmax(320px,0.88fr) minmax(420px,1.12fr)}.reports-grid-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}.reports-grid-tertiary{grid-template-columns:minmax(520px,1.25fr) minmax(320px,.75fr)}.reports-card,.anec-card{position:relative;min-width:0;background:#fff;border:1px solid var(--anec-border);border-radius:24px;padding:20px;box-shadow:var(--anec-shadow);overflow:hidden}.reports-card{min-height:100%}.reports-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid #EEF2F7}.reports-card-header h2{margin:3px 0 0;color:var(--anec-navy);font-size:1.08rem;line-height:1.2;letter-spacing:-.015em}.reports-card-kicker{display:inline-flex;color:var(--anec-gold);font-size:.7rem;font-weight:950;letter-spacing:.09em;text-transform:uppercase}.reports-card-badge{display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;border-radius:999px;background:#F2F6FB;color:var(--anec-navy);font-size:.74rem;font-weight:900;white-space:nowrap}.reports-card-link{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border-radius:999px;background:#F7F9FC;border:1px solid var(--anec-border);color:var(--anec-navy);font-size:.76rem;font-weight:850;text-decoration:none;white-space:nowrap}.reports-card-link:hover{background:var(--anec-navy);border-color:var(--anec-navy);color:#fff}
.reports-chart-wrap{position:relative;width:100%;min-height:260px;max-height:330px}.reports-chart-wrap canvas{display:block;width:100%!important;height:260px!important;max-width:100%}.reports-chart-wrap.doughnut{min-height:240px}.reports-chart-wrap.doughnut canvas{height:240px!important}.reports-chart-wrap.bar canvas{height:280px!important}.reports-legend-list{display:grid;gap:7px;margin-top:14px}.reports-legend-list div{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;color:var(--anec-muted);font-size:.82rem}.reports-legend-list strong{color:var(--anec-navy);font-weight:900}.legend-dot{width:10px;height:10px;border-radius:99px;display:inline-block;background:var(--anec-navy)}.legend-1{background:#192B58}.legend-2{background:#075C74}.legend-3{background:#C9A84C}.legend-4{background:#2A7F8F}.legend-5{background:#6B7890}.legend-6{background:#1E9D64}
.reports-funnel-list{display:flex;flex-direction:column;gap:12px;max-height:390px;overflow:auto;padding-right:4px}.reports-funnel-row{padding:12px;border-radius:16px;background:#F8FAFD;border:1px solid #EAF0F6}.reports-funnel-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.reports-funnel-top strong{min-width:0;color:var(--anec-navy);font-size:.88rem;line-height:1.2}.reports-funnel-top span{color:var(--anec-muted);font-size:.75rem;font-weight:850;white-space:nowrap}.reports-funnel-bar{height:10px;border-radius:999px;background:#E9EFF6;overflow:hidden}.reports-funnel-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--anec-teal),#2A9F94)}.reports-funnel-row small{display:block;margin-top:7px;color:var(--anec-muted);font-size:.76rem}.reports-rate-cell{display:flex;align-items:center;gap:9px}.reports-mini-progress{width:120px;height:8px;border-radius:999px;background:#E9EFF6;overflow:hidden}.reports-mini-progress span{display:block;height:100%;border-radius:999px}.reports-mini-progress .success{background:var(--anec-success)}.reports-mini-progress .warning{background:var(--anec-warning)}.reports-mini-progress .danger{background:var(--anec-danger)}.reports-table td,.reports-table th{vertical-align:middle}.reports-state-list{display:flex;flex-direction:column;gap:10px}.reports-state-row{display:grid;grid-template-columns:42px minmax(0,1fr) 32px;gap:10px;align-items:center}.reports-state-row>span{display:inline-flex;align-items:center;justify-content:center;height:28px;border-radius:999px;background:var(--anec-navy);color:#fff;font-weight:900;font-size:.72rem}.reports-state-row>div{height:12px;border-radius:999px;background:#E9EFF6;overflow:hidden}.reports-state-row>div strong{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--anec-teal),var(--anec-navy));min-width:4px}.reports-state-row em{font-style:normal;color:var(--anec-navy);font-size:.82rem;font-weight:900;text-align:right}.empty-state.compact{padding:28px 18px}.empty-state-title{font-weight:900;color:var(--anec-navy);font-size:.95rem}.empty-state-text{max-width:360px;margin:6px auto 0;color:var(--anec-muted);font-size:.82rem;line-height:1.4}
@media(max-width:1280px){.reports-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.reports-grid-primary,.reports-grid-secondary,.reports-grid-tertiary{grid-template-columns:1fr}.reports-card.wide{grid-column:auto}}
@media(max-width:900px){.reports-hero{flex-direction:column;padding:24px;border-radius:24px}.reports-hero-actions{width:100%;justify-content:flex-start}.reports-period-card{width:100%;min-width:0}.reports-export-btn{width:100%;justify-content:center}.reports-insight-grid{grid-template-columns:1fr}.reports-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reports-card-header{flex-direction:column;align-items:flex-start}.reports-card-badge,.reports-card-link{white-space:normal}.reports-chart-wrap canvas{height:240px!important}}
@media(max-width:560px){.reports-hero h1{font-size:1.72rem}.reports-kpi-grid{grid-template-columns:1fr}.reports-kpi-card{min-height:104px}.reports-kpi-body strong{font-size:1.55rem}.reports-period-buttons{display:grid;grid-template-columns:repeat(2,1fr)}.reports-table{min-width:680px}.reports-state-row{grid-template-columns:40px minmax(0,1fr) 30px}}

/* ============================================================
   Dashboard v58 - ajustes de compactação, alinhamento e aberturas
   ============================================================ */
.dashboard-funnel-card .card-body{padding:14px 18px 18px}
.dashboard-funnel-card .funnel-stage-grid{grid-template-columns:repeat(auto-fit,minmax(142px,1fr));gap:9px;margin-bottom:12px}
.dashboard-funnel-card .funnel-stage{padding:10px 11px;border-radius:13px;min-height:84px}
.dashboard-funnel-card .funnel-stage-name{font-size:.64rem;line-height:1.18;min-height:30px;letter-spacing:.01em;text-transform:none}
.dashboard-funnel-card .funnel-stage-value{min-height:32px;font-size:1.18rem;margin-top:6px;border-radius:9px}
.dashboard-funnel-card .chart-box{margin-top:8px}
.dashboard-funnel-card .chart-box-funnel{min-height:230px;height:230px;padding:10px 10px 12px;border-radius:14px}

.dashboard-institution-card .card-body.dashboard-institution-body{padding:12px 16px 14px;display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;align-items:center}
.dashboard-institution-card .dashboard-compact-header{min-height:58px}
.dashboard-inst-chart{height:135px;width:150px;max-width:100%;position:relative;margin:0 auto}
.dashboard-inst-legend{display:flex;flex-direction:column;gap:5px;min-width:0}
.dashboard-inst-legend-row{display:grid;grid-template-columns:10px minmax(0,1fr) 24px 34px;align-items:center;gap:7px;font-size:.76rem;line-height:1.15}
.dashboard-inst-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.dashboard-inst-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--anec-text)}
.dashboard-inst-total{font-weight:800;color:var(--anec-navy);text-align:right}
.dashboard-inst-pct{color:var(--anec-text-muted);text-align:right;font-size:.72rem}

.dashboard-campaigns-table{table-layout:fixed}
.dashboard-campaigns-table th:nth-child(1){width:38%}
.dashboard-campaigns-table th:nth-child(2){width:16%;text-align:center}
.dashboard-campaigns-table th:nth-child(3){width:12%;text-align:center}
.dashboard-campaigns-table th:nth-child(4){width:20%;text-align:center}
.dashboard-campaigns-table th:nth-child(5){width:14%;text-align:center}
.dashboard-campaigns-table td{height:44px;vertical-align:middle}
.dashboard-campaign-title span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800;color:var(--anec-navy)}
.dashboard-campaign-center{text-align:center;white-space:nowrap}
.dashboard-campaign-sent{text-align:center;font-weight:900;color:var(--anec-navy);font-variant-numeric:tabular-nums}
.dashboard-type-pill{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:76px;padding:4px 9px;border-radius:999px;font-size:.72rem;font-weight:850;border:1px solid var(--anec-border);color:var(--anec-navy);background:#f8fafc;line-height:1}
.dashboard-type-email{background:#eef4ff;border-color:#cfe0ff;color:#1d3c7b}
.dashboard-type-whatsapp{background:#eaf8f0;border-color:#c8ebd5;color:#08783a}
.dashboard-type-institucional{background:#fff6df;border-color:#f0d58f;color:#85620f}
.dashboard-open-cell{display:grid;grid-template-columns:minmax(70px,1fr) 38px;grid-template-rows:auto auto;align-items:center;gap:2px 7px;max-width:170px;margin:0 auto}
.dashboard-open-progress{height:8px;min-width:70px;background:#e8edf4;border-radius:999px}
.dashboard-open-cell span{font-size:.8rem;font-weight:900;color:var(--anec-navy);text-align:right;font-variant-numeric:tabular-nums}
.dashboard-open-cell small{grid-column:1 / -1;text-align:right;font-size:.66rem;font-weight:700;color:var(--anec-text-muted)}
.dashboard-campaigns-table .badge{min-width:70px;text-align:center;font-size:.7rem;padding:5px 8px;border-radius:999px}

@media(max-width:1199px){
  .dashboard-institution-card .card-body.dashboard-institution-body{grid-template-columns:130px minmax(0,1fr)}
  .dashboard-inst-chart{height:120px;width:130px}
  .dashboard-funnel-card .chart-box-funnel{height:245px;min-height:245px}
}
@media(max-width:991px){
  .dashboard-institution-card .card-body.dashboard-institution-body{grid-template-columns:160px minmax(0,1fr)}
  .dashboard-inst-chart{height:140px;width:160px}
  .dashboard-funnel-card .chart-box-funnel{height:260px;min-height:260px}
}
@media(max-width:767px){
  .dashboard-funnel-card .funnel-stage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .dashboard-funnel-card .chart-box-funnel{height:300px;min-height:300px}
  .dashboard-institution-card .card-body.dashboard-institution-body{grid-template-columns:1fr;gap:10px}
  .dashboard-inst-chart{height:150px;width:170px}
  .dashboard-campaigns-table{min-width:720px}
}
@media(max-width:420px){
  .dashboard-funnel-card .funnel-stage-grid{grid-template-columns:1fr}
}

/* ============================================================
   ANEC CRM v59 - Dashboard: correção visual dos gráficos
   ============================================================ */
.dashboard-funnel-card .card-body{
  padding:14px 18px 18px!important;
}
.dashboard-funnel-card .chart-box-funnel,
.dashboard-funnel-card canvas#chart-funil{
  display:none!important;
}
.dashboard-funnel-bars{
  width:100%;
  max-width:860px;
  margin:10px auto 0;
  padding:16px 18px;
  border:1px solid #E7ECF3;
  border-radius:16px;
  background:linear-gradient(180deg,#fff 0%,#F8FAFD 100%);
  box-shadow:0 8px 20px rgba(15,23,42,.04);
  display:flex;
  flex-direction:column;
  gap:12px;
}
.funnel-bar-row{
  display:grid;
  grid-template-columns:138px minmax(120px,1fr) 42px;
  align-items:center;
  gap:14px;
  min-width:0;
}
.funnel-bar-label{
  color:var(--anec-navy);
  font-size:.76rem;
  font-weight:850;
  line-height:1.15;
  text-align:right;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  word-break:normal;
}
.funnel-bar-track{
  position:relative;
  height:14px;
  border-radius:999px;
  background:#E8EEF5;
  overflow:hidden;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.06);
}
.funnel-bar-track span{
  display:block;
  height:100%;
  border-radius:999px;
  background:var(--bar-color,#1a2e5a);
  min-width:0;
  box-shadow:0 4px 10px rgba(15,23,42,.08);
}
.funnel-bar-value{
  min-width:34px;
  height:26px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  justify-self:start;
  border-radius:999px;
  background:#fff;
  border:1px solid #E1E8F2;
  color:var(--anec-navy);
  font-size:.78rem;
  font-weight:900;
  font-variant-numeric:tabular-nums;
}

.dashboard-institution-card.h-100{
  height:auto!important;
}
.dashboard-institution-card .card-body.dashboard-institution-body{
  padding:14px 16px 16px!important;
  display:block!important;
}
.dashboard-inst-layout{
  width:100%;
  display:grid;
  grid-template-columns:128px minmax(0,1fr);
  align-items:center;
  gap:16px;
}
.dashboard-inst-chart{
  width:128px!important;
  height:128px!important;
  max-width:128px!important;
  margin:0!important;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
}
.dashboard-inst-donut{
  width:116px;
  height:116px;
  border-radius:50%;
  position:relative;
  box-shadow:0 8px 20px rgba(15,23,42,.06);
  flex:0 0 auto;
}
.dashboard-inst-donut::after{
  content:"";
  position:absolute;
  inset:32px;
  border-radius:50%;
  background:#fff;
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.04);
}
.dashboard-inst-donut span{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:1;
  color:var(--anec-navy);
  font-size:1.2rem;
  font-weight:950;
  font-variant-numeric:tabular-nums;
}
.dashboard-inst-legend{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.dashboard-inst-legend-row{
  display:grid!important;
  grid-template-columns:10px minmax(92px,1fr) 28px 38px!important;
  align-items:center;
  gap:7px!important;
  min-width:0;
  font-size:.75rem!important;
  line-height:1.15!important;
}
.dashboard-inst-name{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--anec-text);
  font-weight:650;
}
.dashboard-inst-total,
.dashboard-inst-pct{
  font-variant-numeric:tabular-nums;
}

@media(max-width:1200px){
  .dashboard-inst-layout{grid-template-columns:112px minmax(0,1fr);gap:12px}
  .dashboard-inst-chart{width:112px!important;height:112px!important;max-width:112px!important}
  .dashboard-inst-donut{width:104px;height:104px}
  .dashboard-inst-donut::after{inset:29px}
}
@media(max-width:991px){
  .dashboard-funnel-bars{max-width:100%}
  .dashboard-inst-layout{grid-template-columns:132px minmax(0,1fr)}
  .dashboard-inst-chart{width:132px!important;height:132px!important;max-width:132px!important}
  .dashboard-inst-donut{width:120px;height:120px}
  .dashboard-inst-donut::after{inset:34px}
}
@media(max-width:767px){
  .dashboard-funnel-bars{padding:12px;gap:10px}
  .funnel-bar-row{grid-template-columns:1fr 42px;gap:6px 10px}
  .funnel-bar-label{grid-column:1 / -1;text-align:left;font-size:.74rem}
  .funnel-bar-track{height:13px}
  .dashboard-inst-layout{grid-template-columns:1fr;justify-items:center;gap:12px}
  .dashboard-inst-legend{width:100%}
  .dashboard-inst-legend-row{grid-template-columns:10px minmax(0,1fr) 32px 42px!important}
}
