body{background:#f3f6f4;font-size:14px}.sidebar{width:260px;min-height:100vh;background:linear-gradient(180deg,#0d5c35,#198754)}.sidebar .nav-link{color:#e9fff2;border-radius:10px;padding:.7rem .9rem}.sidebar .nav-link:hover{background:rgba(255,255,255,.12)}.content{background:#f6faf7}.card{border:0;box-shadow:0 .35rem 1rem rgba(0,0,0,.06);border-radius:16px}.card-header{background:#fff;border-bottom:1px solid #edf2ee;font-weight:700}.kpi-card{background:linear-gradient(135deg,#ffffff,#eefaf2)}.kpi-card h2{font-weight:800;margin-top:10px}.login-bg{background:linear-gradient(135deg,#e8f5ec,#d9efe1)}

.sales-map-large{height:620px;border-radius:14px;overflow:hidden}.chart-wrap{min-height:320px}#repChart{max-height:320px}

.sales-map-xl{height:760px;border-radius:14px;overflow:hidden}
.sticky-filter-card{position:sticky;top:1rem}
.map-stat{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px solid #eef2ef}
.map-stat:last-child{border-bottom:0}.map-stat span{color:#60736a}.map-stat strong{text-align:right}
.map-popup{min-width:240px;line-height:1.35}


.map-legend-subtitle{color:#60736a;line-height:1.4}
.map-legend-gradient{height:14px;border-radius:999px;background:linear-gradient(90deg,#2ecc71 0%,#f1c40f 45%,#e67e22 72%,#e74c3c 100%);box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}
.legend-row{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}
.legend-row:last-child{margin-bottom:0}
.legend-dot{width:16px;height:16px;border-radius:50%;display:inline-block;box-shadow:0 0 0 6px rgba(0,0,0,.03)}
.legend-low{background:#2ecc71}
.legend-mid{background:#f1c40f}
.legend-high{background:#e74c3c}
.legend-pin{width:16px;height:16px;border-radius:50%;display:inline-block;background:#e67e22;box-shadow:0 0 0 4px rgba(230,126,34,.15),0 0 0 8px rgba(230,126,34,.08)}
.legend-halo{width:34px;height:20px;border-radius:999px;display:inline-block;background:radial-gradient(circle,#e74c3c33 0%,#e74c3c18 45%,#e74c3c08 70%,transparent 75%)}

.map-pin-wrapper{background:transparent;border:0}
.map-pin{position:relative;border-radius:50% 50% 50% 0;background:var(--pin-color,#e74c3c);transform:rotate(-45deg);border:2px solid #fff;box-shadow:0 8px 18px var(--pin-shadow,rgba(0,0,0,.25))}
.map-pin::after{content:'';position:absolute;width:40%;height:40%;background:#fff;border-radius:50%;top:30%;left:30%}


.sales-map-xxl{height:860px;border-radius:14px;overflow:hidden}
.map-legend-horizontal{border-top:1px solid #eef2ef;padding-top:1rem}
.map-legend-head{display:flex;justify-content:space-between;gap:1.25rem;align-items:flex-start;flex-wrap:wrap}
.map-legend-scale-wrap{flex:1 1 360px;max-width:520px}
.map-legend-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem 1.25rem}
@media (max-width: 991.98px){.sales-map-xxl{height:700px}}
@media (max-width: 767.98px){.sales-map-xxl{height:560px}.map-legend-grid{grid-template-columns:1fr}}

.sales-map-balanced{height:640px;border-radius:14px;overflow:hidden}
.map-legend-compact{padding-top:.85rem}.map-legend-head.compact{align-items:center}.map-legend-two-lines{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem 1rem}.map-legend-two-lines .legend-row{margin-bottom:0}.map-legend-two-lines .small{line-height:1.25}.map-legend-two-lines .legend-row div strong{display:block;font-size:.95rem}.map-legend-two-lines .legend-row div .small{font-size:.8rem}.sticky-filter-card .card-body{max-height:760px;overflow:auto}@media (max-width: 1199.98px){.sales-map-balanced{height:600px}.map-legend-two-lines{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 991.98px){.sales-map-balanced{height:540px}.sticky-filter-card .card-body{max-height:none;overflow:visible}.map-legend-two-lines{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 767.98px){.sales-map-balanced{height:460px}.map-legend-two-lines{grid-template-columns:1fr}}


/* v2.8 compact left filters without breaking map */
.compact-filter-card{height:100%}
.compact-filter-body{padding:.9rem}
.compact-filter-form .compact-label{font-size:.76rem;margin-bottom:.18rem;line-height:1.05;font-weight:600;color:#4d6157}
.compact-filter-form .compact-select,.compact-filter-form .compact-control{font-size:.8rem;padding:.28rem .5rem;line-height:1.15;min-height:calc(1.5em + .56rem + 2px)}
.compact-filter-form .btn{padding:.34rem .5rem;font-size:.8rem}
.map-stat.compact{padding:.34rem 0;font-size:.83rem}
.map-stat.compact span{font-size:.78rem}
.map-stat.compact strong{font-size:.84rem}
.sticky-filter-card.compact-filter-card .card-body{max-height:none;overflow:visible}
@media (max-width: 991.98px){.compact-filter-body{padding:1rem}}

.daily-report-text{font-size:.92rem;line-height:1.45;white-space:pre-wrap}


.cadence-mini-cards .mini-stat{border-radius:12px;padding:.65rem .8rem;background:#f5f7f6;border:1px solid #e7eeea;display:flex;justify-content:space-between;align-items:center;gap:.75rem}.cadence-mini-cards .mini-stat span{font-size:.78rem;color:#5d7067}.cadence-mini-cards .mini-stat strong{font-size:1.05rem}.mini-stat.danger{background:#fff1f1;border-color:#ffd6d6}.mini-stat.danger-soft{background:#fff6ef;border-color:#ffe2c6}.mini-stat.warning{background:#fff9e8;border-color:#ffe8a3}.mini-stat.neutral{background:#f6f7f8}.mini-stat.success{background:#eefaf2;border-color:#cfead8}
.floating-task-bell{position:fixed;right:24px;bottom:24px;z-index:1080}.floating-task-bell .btn{padding:.9rem 1.15rem;font-weight:700}
.task-alert-toast{position:fixed;right:24px;bottom:88px;z-index:1090;width:min(420px,calc(100vw - 32px))}.task-alert-card{background:linear-gradient(135deg,#ca2a2a,#e25630);color:#fff;border-radius:18px;box-shadow:0 1rem 2rem rgba(0,0,0,.25);padding:1rem 1rem .95rem}.task-alert-toast.show{animation:taskExplode .35s ease-out}.task-alert-eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;opacity:.82}.task-alert-item:first-child{border-top:0!important;padding-top:0!important;margin-top:0!important}@keyframes taskExplode{0%{transform:scale(.82) translateY(18px);opacity:0}100%{transform:scale(1) translateY(0);opacity:1}}
@media (max-width: 767.98px){.floating-task-bell{right:14px;left:14px;bottom:14px}.floating-task-bell .btn{width:100%}.task-alert-toast{left:14px;right:14px;bottom:78px;width:auto}}

.cadence-card-compact .card-body{padding:.9rem}.cadence-mini-cards-compact .mini-stat{padding:.5rem .65rem}.cadence-mini-cards-compact .mini-stat span{font-size:.72rem}.cadence-mini-cards-compact .mini-stat strong{font-size:.95rem}.cadence-table-wrap table th,.cadence-table-wrap table td{padding:.42rem .45rem;vertical-align:middle}.cadence-card-compact .pagination .page-link{padding:.22rem .5rem;font-size:.8rem}.task-alert-toast{cursor:pointer}.task-alert-toast a,.task-alert-toast button{cursor:pointer}

.followups-table-wrap table td,.followups-table-wrap table th{padding:.55rem .5rem;vertical-align:middle}
.followup-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.75rem}
.followup-calendar-grid .calendar-head{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#5b6d64;font-weight:700;padding:0 .15rem}
.calendar-cell{min-height:172px;background:#fff;border:1px solid #e6eeea;border-radius:14px;padding:.65rem;display:flex;flex-direction:column;gap:.55rem}
.calendar-cell.empty{background:transparent;border:1px dashed #e6eeea}
.calendar-cell.today{box-shadow:0 0 0 2px rgba(25,135,84,.18) inset;background:linear-gradient(180deg,#ffffff,#f6fbf8)}
.calendar-day-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}
.calendar-items{display:flex;flex-direction:column;gap:.4rem;min-height:0}
.calendar-item{display:block;padding:.45rem .5rem;border-radius:12px;border:1px solid #edf2ef;background:#f8fbf9;color:#20322a}
.calendar-item:hover{background:#eef8f2;color:#0d5c35}
.calendar-item-title{font-size:.78rem;font-weight:700;line-height:1.15;margin-bottom:.1rem}
.calendar-item-meta{font-size:.7rem;line-height:1.2;color:#61756b}
.calendar-item.priority-alta{border-left:4px solid #dc3545}
.calendar-item.priority-media{border-left:4px solid #f0ad4e}
.calendar-item.priority-baixa{border-left:4px solid #6c757d}
.calendar-item.bucket-overdue{background:#fff4f4}
.calendar-item.bucket-today{background:#fff9e8}
.calendar-item.bucket-upcoming{background:#eef9ff}
@media (max-width: 1199.98px){.followup-calendar-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width: 991.98px){.followup-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-head{display:none}.calendar-cell{min-height:150px}}
@media (max-width: 575.98px){.followup-calendar-grid{grid-template-columns:1fr}}


.global-page-loader{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;transition:opacity .22s ease, visibility .22s ease}.global-page-loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.loader-backdrop{position:absolute;inset:0;background:rgba(10,25,18,.34);backdrop-filter:blur(5px)}.loader-card{position:relative;min-width:280px;max-width:92vw;padding:1.4rem 1.6rem;border-radius:24px;background:linear-gradient(135deg,#ffffff,#eef8f1);box-shadow:0 1.25rem 2.5rem rgba(0,0,0,.18);text-align:center}.loader-title{font-size:1rem;font-weight:800;color:#14532d;margin-top:.9rem}.loader-subtitle{font-size:.82rem;color:#60736a;margin-top:.25rem}.loader-orbit{position:relative;width:78px;height:78px;margin:0 auto}.loader-orbit span{position:absolute;inset:0;border-radius:50%;border:4px solid transparent;border-top-color:#198754;animation:spinLoader 1.15s linear infinite}.loader-orbit span:nth-child(2){inset:10px;border-top-color:#3bb273;animation-duration:1.45s}.loader-orbit span:nth-child(3){inset:20px;border-top-color:#8ad6a2;animation-duration:1.8s}@keyframes spinLoader{to{transform:rotate(360deg)}}
