:root{
  --bg:#f4f6fa;--panel:#fff;--panel2:#f8fafc;--ink:#111827;--muted:#667085;--line:#e6eaf0;
  --nav:#0b1220;--nav2:#121c30;--accent:#3256ff;--accent-soft:#eef2ff;--good:#0f9f6e;--warn:#d97706;--bad:#d64545;
  --shadow:0 12px 34px rgba(17,24,39,.07);--radius:16px;--radius-sm:11px;
}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px}
button,input,select,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:244px 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,var(--nav),#09101d);color:#dce3ef;padding:20px 14px;position:sticky;top:0;height:100vh;overflow:auto}.brand{display:flex;align-items:center;gap:11px;padding:5px 8px 19px}.brand-mark{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#fff,#bcc8ff);color:#0d1730;display:grid;place-items:center;font-weight:900;letter-spacing:-1px}.brand-title{font-weight:800;color:#fff}.brand-sub{font-size:11px;color:#8794aa;margin-top:2px}.nav-title{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#637088;margin:14px 10px 7px}.nav-btn{width:100%;border:0;background:transparent;color:#c5cfdd;display:flex;align-items:center;gap:10px;padding:10px 11px;border-radius:10px;cursor:pointer;text-align:left;margin:2px 0}.nav-btn:hover{background:rgba(255,255,255,.055);color:#fff}.nav-btn.active{background:#1b2943;color:#fff}.nav-ico{width:20px;text-align:center}.sidebar-foot{margin-top:22px;padding:13px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.03)}.mode-dot{width:8px;height:8px;border-radius:50%;background:#34d399;display:inline-block;margin-right:6px}.mode-dot.cloud{background:#60a5fa}.small{font-size:12px;color:var(--muted)}.sidebar .small{color:#8e9bb0}
.main{min-width:0}.topbar{height:70px;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;padding:0 24px;position:sticky;top:0;z-index:20}.page-title{font-size:18px;font-weight:800;min-width:175px}.search-wrap{position:relative;flex:1;max-width:760px}.smart-search{width:100%;border:1px solid var(--line);background:#f8fafc;border-radius:12px;padding:11px 14px 11px 39px;outline:none}.smart-search:focus{border-color:#aab7ff;background:#fff;box-shadow:0 0 0 3px #eef0ff}.search-icon{position:absolute;left:14px;top:11px;color:#8a94a6}.top-actions{margin-left:auto;display:flex;align-items:center;gap:9px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#182641;color:#fff;font-weight:800}.content{padding:24px;max-width:1600px;margin:0 auto}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px}.section-head h1{font-size:26px;margin:0 0 5px;letter-spacing:-.02em}.section-head p{margin:0;color:var(--muted)}.actions{display:flex;gap:9px;flex-wrap:wrap}.btn{border:1px solid var(--line);background:#fff;color:var(--ink);padding:9px 13px;border-radius:10px;cursor:pointer;font-weight:700}.btn:hover{border-color:#cfd5df;background:#fafbfc}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{filter:brightness(.96)}.btn.ghost{background:transparent}.btn.danger{color:#b42318;border-color:#fecaca;background:#fff8f7}.btn.sm{padding:6px 9px;font-size:12px}.icon-btn{border:1px solid var(--line);width:37px;height:37px;border-radius:10px;background:#fff;cursor:pointer}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:17px;box-shadow:0 1px 1px rgba(0,0,0,.01)}.kpi-label{color:var(--muted);font-size:12px;font-weight:700}.kpi-value{font-size:27px;font-weight:900;letter-spacing:-.03em;margin:6px 0 5px}.kpi-trend{font-size:11px;color:var(--muted)}.kpi-badge{float:right;width:34px;height:34px;border-radius:10px;background:var(--accent-soft);display:grid;place-items:center;color:var(--accent)}
.grid-2{display:grid;grid-template-columns:1.4fr 1fr;gap:16px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1px 1px rgba(0,0,0,.01)}.card-head{padding:16px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}.card-title{font-weight:800}.card-body{padding:16px 18px}.region-row{display:grid;grid-template-columns:100px 1fr 42px;gap:10px;align-items:center;margin:12px 0}.bar{height:8px;background:#edf0f4;border-radius:999px;overflow:hidden}.bar>i{display:block;height:100%;background:linear-gradient(90deg,#6d83ff,#3256ff);border-radius:999px}.timeline{display:flex;flex-direction:column;gap:14px}.activity{display:grid;grid-template-columns:34px 1fr;gap:10px}.activity-ico{width:30px;height:30px;border-radius:9px;background:#f0f4ff;color:#3451d1;display:grid;place-items:center}.activity strong{display:block;font-size:13px}.activity time{font-size:11px;color:var(--muted)}
.filters{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:11px;color:var(--muted);font-weight:700}.field input,.field select,.field textarea{border:1px solid #dfe4eb;border-radius:9px;background:#fff;padding:9px 10px;outline:none;color:var(--ink)}.field input:focus,.field select:focus,.field textarea:focus{border-color:#95a5ff;box-shadow:0 0 0 3px #f0f2ff}.filters .field{min-width:130px}.filters .grow{flex:1;min-width:210px}.table-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;white-space:nowrap}.table th{font-size:11px;color:#667085;text-transform:uppercase;letter-spacing:.05em;background:#f8fafc;text-align:left;padding:11px 12px;border-bottom:1px solid var(--line)}.table td{padding:12px;border-bottom:1px solid #eef1f4;vertical-align:middle}.table tr:hover td{background:#fbfcff}.table tr:last-child td{border-bottom:0}.linkish{font-weight:800;color:#1d3db8;cursor:pointer}.muted{color:var(--muted)}.money{text-align:right;font-variant-numeric:tabular-nums}.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:800;background:#eef2f7;color:#4b5563}.badge.good{background:#e8f8f1;color:#087a52}.badge.warn{background:#fff5df;color:#a45b00}.badge.bad{background:#feeceb;color:#b42318}.badge.blue{background:#eef2ff;color:#334db4}.status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.table-footer{padding:11px 14px;display:flex;justify-content:space-between;color:var(--muted);font-size:12px;background:#fbfcfd;border-top:1px solid var(--line)}
.empty{padding:42px;text-align:center;color:var(--muted)}.empty .big{font-size:34px;margin-bottom:8px}.pill-list{display:flex;gap:6px;flex-wrap:wrap}.chip{font-size:11px;border:1px solid var(--line);padding:5px 8px;border-radius:999px;background:#fff}.kanban{display:grid;grid-template-columns:repeat(5,minmax(230px,1fr));gap:13px;overflow:auto;padding-bottom:6px}.kan-col{background:#eef1f5;border-radius:13px;padding:10px;min-height:470px}.kan-head{display:flex;justify-content:space-between;font-weight:800;padding:4px 3px 10px}.deal{background:#fff;border:1px solid #e1e5eb;border-radius:12px;padding:12px;margin-bottom:9px;box-shadow:0 2px 5px rgba(17,24,39,.03);cursor:pointer}.deal-title{font-weight:800}.deal-meta{font-size:11px;color:var(--muted);margin-top:6px;line-height:1.5}.deal-value{font-weight:900;margin-top:9px}
.modal-backdrop{position:fixed;inset:0;background:rgba(6,12,24,.46);display:grid;place-items:center;padding:18px;z-index:100}.modal{background:#fff;width:min(920px,100%);max-height:92vh;overflow:auto;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.25)}.modal-head{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line);padding:17px 19px;display:flex;justify-content:space-between;align-items:center;z-index:2}.modal-title{font-size:18px;font-weight:900}.modal-body{padding:18px}.modal-foot{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);padding:13px 18px;display:flex;justify-content:flex-end;gap:9px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.form-grid .span-2{grid-column:span 2}.form-grid .span-3{grid-column:span 3}.detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.detail-box{padding:12px;border:1px solid var(--line);border-radius:11px;background:#fafbfc}.detail-label{font-size:10px;color:var(--muted);text-transform:uppercase;font-weight:800}.detail-value{font-size:14px;font-weight:800;margin-top:4px}.detail-section{margin-top:18px}.detail-section h3{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:#667085}.toast-stack{position:fixed;right:18px;bottom:18px;z-index:200;display:flex;flex-direction:column;gap:8px}.toast{background:#111827;color:#fff;padding:11px 14px;border-radius:11px;box-shadow:var(--shadow);max-width:360px}.toast.good{background:#087a52}.toast.bad{background:#b42318}.split{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dropzone{border:1.5px dashed #cfd6e3;border-radius:13px;padding:28px;text-align:center;background:#fafbfc;color:var(--muted)}.codeish{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;background:#0d1524;color:#d7e0ef;padding:12px;border-radius:10px;overflow:auto}.notice{padding:12px 14px;border-radius:11px;background:#fff7e6;border:1px solid #fde2a8;color:#8a5200;margin-bottom:14px}.notice.blue{background:#eef4ff;border-color:#d8e5ff;color:#2949a0}.sync-state{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}
@media(max-width:1100px){.app-shell{grid-template-columns:76px 1fr}.brand-copy,.nav-btn span:last-child,.nav-title,.sidebar-foot{display:none}.brand{justify-content:center}.nav-btn{justify-content:center}.kpi-grid{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.form-grid{grid-template-columns:repeat(2,1fr)}.form-grid .span-3{grid-column:span 2}.detail-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.app-shell{display:block}.sidebar{position:fixed;bottom:0;top:auto;width:100%;height:64px;z-index:50;padding:6px;background:var(--nav)}.brand,.nav-title,.sidebar-foot,.nav-btn:nth-of-type(n+6){display:none}.sidebar nav{display:flex;justify-content:space-around}.nav-btn{width:auto;margin:0;padding:9px 12px}.main{padding-bottom:68px}.topbar{height:auto;min-height:66px;padding:10px 12px;flex-wrap:wrap}.page-title{min-width:auto}.search-wrap{order:3;flex-basis:100%;max-width:none}.content{padding:15px}.kpi-grid{grid-template-columns:1fr 1fr;gap:9px}.kpi{padding:13px}.kpi-value{font-size:22px}.section-head{flex-direction:column}.form-grid,.detail-grid,.split{grid-template-columns:1fr}.form-grid .span-2,.form-grid .span-3{grid-column:span 1}.filters{overflow:auto;flex-wrap:nowrap}.filters .field{min-width:145px}.filters .grow{min-width:220px}}

/* FL Stock v1.2 — visão de imóveis otimizada para notebook/desktop.
   Objetivo: manter todas as colunas essenciais visíveis sem rolagem horizontal. */
@media (min-width:1101px) and (max-width:1500px){
  .app-shell{grid-template-columns:188px minmax(0,1fr)}
  .sidebar{padding-left:10px;padding-right:10px}
  .brand{padding-left:4px;padding-right:4px}
  .content{padding:18px 16px;max-width:none}
  .topbar{padding-left:16px;padding-right:16px}
}

.units-table-card{min-width:0}
.units-table-wrap{width:100%;overflow-x:hidden;overflow-y:visible}
.units-table{table-layout:fixed;width:100%;white-space:normal}
.units-table col.c-cj{width:7.5%}
.units-table col.c-building{width:14.5%}
.units-table col.c-region{width:7.5%}
.units-table col.c-area{width:6.5%}
.units-table col.c-vac{width:4.5%}
.units-table col.c-rent{width:10%}
.units-table col.c-condo{width:10%}
.units-table col.c-iptu{width:8.5%}
.units-table col.c-package{width:11%}
.units-table col.c-status{width:9.5%}
.units-table col.c-sync{width:6%}
.units-table col.c-action{width:4%}
.units-table th{font-size:10px;letter-spacing:.035em;padding:10px 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.units-table td{font-size:12px;padding:10px 6px;line-height:1.25;min-width:0;overflow:hidden}
.units-table .cj-cell,.units-table .area-cell,.units-table .vac-cell,.units-table .money,.units-table .sync-cell,.units-table .action-cell{white-space:nowrap}
.units-table .building-cell{white-space:normal;overflow-wrap:anywhere;line-height:1.18}
.units-table .region-cell{white-space:nowrap;text-overflow:ellipsis}
.units-table .money{font-size:11.5px;text-align:right;font-variant-numeric:tabular-nums}
.units-table .package-cell{font-size:11.5px}
.units-table .status-cell{text-align:center}
.units-table .status-cell .badge{display:inline-flex;max-width:100%;padding:4px 6px;font-size:9.5px;line-height:1.05;white-space:normal;text-align:center;justify-content:center}
.sync-mini{display:inline-flex;align-items:center;justify-content:center;min-width:38px;max-width:100%;padding:4px 5px;border-radius:999px;font-size:9.5px;font-weight:900;white-space:nowrap;background:#eef2f7;color:#475467}
.sync-mini.good{background:#e8f8f1;color:#087a52}
.sync-mini.pending{background:#eef2ff;color:#334db4}
.action-cell{text-align:center}
.icon-edit{width:28px;height:28px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#344054;display:inline-grid;place-items:center;cursor:pointer;font-size:14px;padding:0}
.icon-edit:hover{background:#f7f9fc;border-color:#cbd3df}

@media (max-width:1250px) and (min-width:721px){
  .app-shell{grid-template-columns:76px minmax(0,1fr)}
  .brand-copy,.nav-btn span:last-child,.nav-title,.sidebar-foot{display:none}
  .brand{justify-content:center}
  .nav-btn{justify-content:center}
  .content{padding:15px 12px;max-width:none}
  .topbar{padding-left:12px;padding-right:12px}
  .units-table th{font-size:9px;padding:9px 4px}
  .units-table td{font-size:10.5px;padding:9px 4px}
  .units-table .money,.units-table .package-cell{font-size:10px}
  .units-table .status-cell .badge,.sync-mini{font-size:8.5px;padding:3px 4px}
  .icon-edit{width:25px;height:25px;font-size:12px}
}

@media (max-width:900px){
  /* Em telas realmente estreitas, priorizamos legibilidade e permitimos rolagem como fallback. */
  .units-table-wrap{overflow-x:auto}
  .units-table{min-width:920px}
}

/* v1.3 — cadastro mestre de edifícios */
.buildings-table{table-layout:fixed;width:100%;font-size:12px}
.buildings-table th,.buildings-table td{padding:9px 8px;vertical-align:middle}
.buildings-table th:nth-child(1){width:15%}.buildings-table th:nth-child(2){width:24%}.buildings-table th:nth-child(3){width:9%}
.buildings-table th:nth-child(4){width:6%}.buildings-table th:nth-child(5){width:6%}.buildings-table th:nth-child(6){width:6%}
.buildings-table th:nth-child(7),.buildings-table th:nth-child(8){width:5%}.buildings-table th:nth-child(9){width:9%}.buildings-table th:nth-child(10){width:5%}
.buildings-table td:nth-child(1),.buildings-table td:nth-child(2){white-space:normal;line-height:1.25;overflow-wrap:anywhere}
.buildings-table td:nth-child(n+3){white-space:nowrap}
@media(max-width:1050px){.buildings-table{font-size:11px}.buildings-table th,.buildings-table td{padding:8px 5px}}

/* v1.4 — autenticação e base central */
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:28px;background:linear-gradient(135deg,#07143a 0%,#0d2c62 48%,#eef5fb 48%,#f7fbff 100%)}
.auth-card{width:min(460px,94vw);background:#fff;border:1px solid #d9e3ef;border-radius:20px;box-shadow:0 24px 70px rgba(10,31,68,.22);padding:28px}
.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:24px}.auth-card h1{margin:0 0 8px;color:#0b1d4d;font-size:26px}.auth-card>p{color:#64748b;margin:0 0 18px}
.auth-card .field{margin:14px 0}.auth-card .field label{display:block;font-weight:700;margin-bottom:6px;color:#20304a}.auth-card .field input{width:100%;box-sizing:border-box;border:1px solid #cfd8e5;border-radius:10px;padding:12px 13px;font-size:15px}
.auth-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.notice.bad{background:#fff1f2;border:1px solid #fecdd3;color:#9f1239;padding:11px 13px;border-radius:10px;margin:12px 0}
.avatar{border:0;cursor:pointer;font:inherit}.avatar:hover{filter:brightness(.94)}

/* FL Stock 1.5 — Análises nativas: componentes de leitura, sem bibliotecas externas. */
.analytics-page{max-width:1700px}
.an-section-head{margin-bottom:16px}
.an-eyebrow{font-size:10px;letter-spacing:.17em;color:#4269b4;font-weight:900;margin-bottom:7px}
.an-filterbar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;border:1px solid #dfe7f1;border-radius:16px;padding:14px 16px;background:#fff;margin-bottom:16px;box-shadow:0 6px 24px rgba(26,53,93,.035)}
.an-filterbar label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:800;color:#53647d;letter-spacing:.025em}
.an-filterbar select{height:37px;border:1px solid #d8e1ef;color:#172e53;border-radius:10px;padding:0 34px 0 12px;min-width:165px;max-width:280px;background:#fafcff;outline-offset:3px}
.an-filter-note{margin-left:auto;font-size:11px;color:#7a8ba4;max-width:245px;line-height:1.4}
.an-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:14px}
.an-kpi{border:1px solid #e1e8f3;background:#fff;border-radius:15px;text-align:left;padding:18px 18px 16px;display:grid;grid-template-columns:36px 1fr;gap:3px 11px;align-items:center;box-shadow:0 7px 26px rgba(12,40,89,.03);transition:transform .15s,border .15s;cursor:pointer;min-width:0}
.an-kpi:hover{transform:translateY(-2px);border-color:#8da8d8;box-shadow:0 10px 25px rgba(12,40,89,.07)}
.an-kpi-icon{grid-column:1;grid-row:1/4;width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#e9f1ff;color:#184e9e;font-size:19px}
.an-kpi-label{font-size:11px;letter-spacing:.02em;color:#586a83;font-weight:750;grid-column:2}
.an-kpi strong{font-size:27px;line-height:1.25;letter-spacing:-1px;color:#0e2247;font-weight:850;grid-column:2;overflow-wrap:anywhere}
.an-kpi small{font-size:10.5px;line-height:1.4;color:#72839d;grid-column:2}
.an-insight-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:17px}
.an-insight-strip>div{display:flex;flex-direction:column;gap:6px;padding:15px 17px;border:1px solid #dbe6f3;background:#eaf2fe;border-radius:14px;min-width:0}
.an-insight-strip span{display:flex;align-items:center;justify-content:space-between;gap:9px;font-size:11px;font-weight:800;color:#4e6282}
.an-insight-strip strong{color:#0a3172;font-size:16px;text-align:right}
.an-insight-strip small{color:#697f9e;font-size:10.5px;line-height:1.35}
.an-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-bottom:15px}
.an-panel{background:#fff;border:1px solid #e1e8f1;border-radius:16px;box-shadow:0 7px 22px rgba(15,45,78,.025);min-width:0;padding:0;overflow:hidden}
.an-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:9px;padding:17px 19px 13px;border-bottom:1px solid #eff2f8}
.an-panel-head h2{font-size:15px;font-weight:850;letter-spacing:-.3px;margin:0;color:#152747}
.an-panel-head p{margin:5px 0 0;color:#7b889b;font-size:11px;line-height:1.5}
.an-panel-body{padding:10px 18px 13px;max-height:535px;overflow:auto}
.an-row{display:block;width:100%;border:0;border-bottom:1px solid #f1f4f8;padding:10px 3px 11px;text-align:left;background:transparent;color:inherit;cursor:pointer}
.an-row:last-child{border-bottom:none}
.an-row:hover .an-row-label{color:#194ea0;text-decoration:underline}
.an-row:focus-visible,.an-kpi:focus-visible,.an-quality:focus-visible{outline:3px solid #7fafff;outline-offset:1px}
.an-row-top{display:flex;align-items:center;justify-content:space-between;gap:11px;margin-bottom:7px}
.an-row-label{font-weight:700;font-size:11.5px;color:#263951;max-width:72%;overflow-wrap:anywhere}
.an-row-value{color:#25344e;font-size:12px;font-weight:850;font-variant-numeric:tabular-nums;white-space:nowrap}
.an-track{display:block;background:#eef2f8;height:9px;width:100%;border-radius:20px;overflow:hidden}
.an-fill{display:block;height:100%;border-radius:20px;background:#315fba;transition:width .2s ease}
.an-row-detail{display:block;margin-top:5px;font-size:10px;color:#8a97a9}
.an-help{font-size:10.5px;line-height:1.45;color:#8591a5;margin:0;padding:5px 18px 14px}
.analytics-empty{text-align:center;color:#8897ab;font-size:12px;padding:46px 16px}
.an-chart-grid-bottom .an-panel{min-height:215px}
.an-quality-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:16px}
.an-quality{border:1px solid #e7ebf3;background:#f8fafd;border-radius:11px;cursor:pointer;text-align:left;padding:13px 14px;display:flex;flex-direction:column;gap:5px;color:#263b58;min-height:105px}
.an-quality:hover{border-color:#b1c6e9;background:#f0f6ff}
.an-quality strong{font-size:23px;letter-spacing:-.7px;color:#163467;font-weight:850}
.an-quality span{font-size:11px;font-weight:700;line-height:1.4}
.an-quality .an-quality-link{font-size:10px;color:#3967b3;font-weight:650;margin-top:auto}
.an-footer{border-top:1px solid #e7ebf4;margin-top:5px;padding:14px 1px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:10.5px;color:#728199;line-height:1.5}
.an-live-dot{display:inline-block;width:7px;height:7px;background:#18a67d;border-radius:50%;margin-right:5px}
.an-active-filters{margin:0 0 13px;display:flex;gap:12px;align-items:center;justify-content:space-between;background:#eaf2ff;border:1px solid #cfe0fa;padding:10px 13px;border-radius:10px;font-size:12px;color:#1d4f95}
@media(max-width:1300px){.an-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.an-insight-strip{grid-template-columns:1fr 1fr 1fr}.an-kpi strong{font-size:22px}.an-insight-strip span{flex-direction:column;align-items:flex-start}.an-insight-strip strong{text-align:left}}
@media(max-width:990px){.an-chart-grid{grid-template-columns:1fr}.an-insight-strip{grid-template-columns:1fr}.an-insight-strip span{flex-direction:row;align-items:center}}
@media(max-width:720px){.an-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.an-kpi{padding:12px;grid-template-columns:1fr;gap:4px}.an-kpi-icon,.an-kpi-label,.an-kpi strong,.an-kpi small{grid-column:1;grid-row:auto}.an-kpi-icon{width:29px;height:29px}.an-kpi strong{font-size:21px}.an-filterbar select{min-width:115px}.an-filterbar label{flex:1}.an-filter-note{margin-left:0}.an-panel-head{padding:13px}.an-panel-body{padding:8px 13px}.an-insight-strip span{flex-direction:column;align-items:flex-start}.an-quality-grid{grid-template-columns:1fr 1fr;gap:7px;padding:10px}.an-quality{padding:10px}.an-footer{padding-bottom:85px}}
/* Navegação móvel completa: Estoque, Análises e CRM acessíveis sem ocultar menus. */
@media(max-width:720px){
 .sidebar{height:76px;padding:5px 6px}
 .sidebar nav{display:flex;justify-content:flex-start;gap:3px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;white-space:nowrap;height:66px}
 .sidebar .nav-btn:nth-of-type(n+6){display:flex}
 .sidebar .nav-btn{flex:0 0 auto;min-width:79px;margin:0;padding:7px 6px;display:flex;flex-direction:column;gap:3px;align-items:center;justify-content:center}
 .sidebar .nav-btn span:last-child{display:block;font-size:9px;line-height:1.1;text-align:center}
 .sidebar .nav-ico{line-height:18px;font-size:17px}
 .main{padding-bottom:79px}
}


.an-chart-grid-hero{grid-template-columns:1fr 1.25fr}
.an-donut-wrap{display:grid;grid-template-columns:220px 1fr;gap:14px;align-items:center}
.an-donut-figure{position:relative;width:220px;height:220px;display:grid;place-items:center;margin:0 auto}
.an-donut-svg{width:220px;height:220px;overflow:visible;filter:drop-shadow(0 8px 18px rgba(18,54,110,.08))}
.an-donut-center{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;width:96px;height:96px;border-radius:50%;background:#fff;box-shadow:0 8px 22px rgba(18,54,110,.07);color:#19345f}
.an-donut-center strong{font-size:26px;line-height:1;font-weight:900;letter-spacing:-1px}
.an-donut-center span{font-size:11px;color:#6f8098;margin-top:4px}
.an-donut-legend{display:flex;flex-direction:column;gap:10px;min-width:0}
.an-legend-item{display:flex;align-items:flex-start;gap:10px;border:1px solid #e8edf5;background:#f9fbff;border-radius:12px;padding:10px 11px;text-align:left;cursor:pointer;color:#203654;min-width:0}
.an-legend-item:hover{border-color:#bfd1f0;background:#f2f7ff}
.an-legend-dot{width:10px;height:10px;border-radius:50%;margin-top:5px;flex:0 0 auto}
.an-legend-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.an-legend-copy strong{font-size:12px;line-height:1.25}
.an-legend-copy small{font-size:10.5px;line-height:1.45;color:#77879d}
.an-vbars{display:grid;grid-template-columns:repeat(auto-fit,minmax(94px,1fr));gap:12px;align-items:end;min-height:250px;padding-top:8px}
.an-vbar{display:grid;grid-template-rows:auto 1fr auto;gap:8px;border:0;background:transparent;padding:0;color:inherit;cursor:pointer}
.an-vbar-value{font-size:11px;font-weight:850;color:#1b345c;text-align:center;min-height:16px}
.an-vbar-col{height:180px;border-radius:14px;background:linear-gradient(180deg,#f7faff 0%,#eef3fb 100%);display:flex;align-items:flex-end;justify-content:center;padding:8px 8px 0;overflow:hidden;border:1px solid #edf2f8}
.an-vbar-fill{width:100%;border-radius:12px 12px 0 0;display:block;min-height:8px;box-shadow:0 10px 25px rgba(29,93,211,.18)}
.an-vbar-label{font-size:10.5px;line-height:1.35;color:#566a87;text-align:center;font-weight:700}
.an-trend-wrap{display:flex;flex-direction:column;gap:12px}
.an-trend-svg{width:100%;height:230px;border-radius:14px;background:linear-gradient(180deg,#fbfdff 0%,#f4f8ff 100%);border:1px solid #edf2f8}
.an-trend-labels{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.an-trend-labels div{padding:10px 12px;border:1px solid #e9eef6;border-radius:12px;background:#f9fbff;text-align:center}
.an-trend-labels strong{display:block;font-size:17px;color:#183965;letter-spacing:-.5px}
.an-trend-labels span{display:block;margin-top:3px;font-size:10.5px;color:#6f8099}
.an-row-compare .an-compare-line{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:8px;margin-top:5px}
.an-row-compare .an-compare-tag{font-size:10px;font-weight:800;color:#7b8aa0;text-transform:uppercase;letter-spacing:.05em}
@media(max-width:1200px){.an-chart-grid-hero{grid-template-columns:1fr}.an-donut-wrap{grid-template-columns:1fr}.an-donut-legend{max-width:none}.an-trend-labels{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.an-donut-figure{width:190px;height:190px}.an-donut-svg{width:190px;height:190px}.an-donut-wrap{gap:10px}.an-vbars{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.an-vbar-col{height:150px}.an-trend-labels{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* === FL Stock v1.7: Executive analytics design === */
.analytics-page{max-width:1720px;padding-top:16px;background:linear-gradient(180deg,#f2f6fc 0%,#f6f8fc 100%)}
.executive-hero{position:relative;display:grid;grid-template-columns:1.55fr .77fr;gap:34px;min-height:260px;padding:29px 35px 27px;margin-bottom:17px;overflow:hidden;background:radial-gradient(circle at 76% -70%,rgba(51,129,209,.52),transparent 43%),linear-gradient(115deg,#07162b 0%,#102c52 69%,#193c68 100%);border:1px solid #27436b;border-radius:22px;color:#fff;box-shadow:0 22px 45px rgba(9,33,65,.15)}
.eh-left,.eh-right{position:relative;z-index:2;min-width:0}
.eh-overline{display:flex;align-items:center;gap:8px;letter-spacing:.19em;color:#a8c5e9;font-size:10px;font-weight:800}
.eh-live{height:9px;width:9px;background:#42dcb4;border-radius:50%;box-shadow:0 0 0 5px rgba(66,220,180,.12)}
.executive-hero h1{margin:13px 0 10px;font-size:clamp(28px,3.3vw,43px);line-height:1.09;letter-spacing:-.043em;font-weight:850;color:white}
.executive-hero h1 em{color:#67d9c4;font-style:normal}
.executive-hero p{margin:0;color:#c0d1e7;font-size:12.5px;line-height:1.65;max-width:530px}
.eh-actions{display:flex;gap:15px;align-items:center;margin-top:22px;flex-wrap:wrap}
.eh-button{color:#08243a;font-weight:850;background:#67dcc4;border:1px solid #67dcc4;border-radius:9px;padding:11px 17px;cursor:pointer;box-shadow:0 8px 15px rgba(0,0,0,.09)}
.eh-button:hover{background:#8af4db}
.eh-link{border:0;background:transparent;color:#daecfc;font-size:12px;font-weight:800;cursor:pointer;padding:10px 0}
.eh-right{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;border-left:1px solid rgba(255,255,255,.15);padding-left:34px}
.eh-stat-caption{font-size:10px;letter-spacing:.17em;font-weight:800;color:#a5caec}
.eh-right>strong{color:#fff;display:block;font-size:clamp(42px,5vw,63px);letter-spacing:-.065em;line-height:1.2;margin:10px 0 6px;font-variant-numeric:tabular-nums}
.eh-right>strong small{font-size:24px;margin-left:4px;color:#68dcc5;font-weight:600}
.eh-meter{height:8px;width:100%;background:rgba(255,255,255,.16);border-radius:10px;overflow:hidden;max-width:270px}
.eh-meter i{display:block;height:100%;background:linear-gradient(90deg,#37cdb5,#8df0dd);border-radius:10px}
.eh-stat-description{font-size:11px;color:#b2c8df;margin-top:10px;line-height:1.6}
.eh-decor-ring{position:absolute;right:-80px;top:-110px;width:285px;height:285px;border:1px solid rgba(140,203,255,.11);border-radius:50%;z-index:-1;box-shadow:0 0 0 45px rgba(145,199,255,.035)}
.an-filterbar{border-color:#e2e9f1;box-shadow:0 5px 14px rgba(22,54,100,.035);border-radius:15px}
.an-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}
.an-kpi{position:relative;background:linear-gradient(155deg,#fff 55%,#f7faff);border-radius:15px;padding:19px 18px;box-shadow:0 5px 20px rgba(19,51,88,.035)}
.an-kpi::after{content:'';position:absolute;right:17px;top:16px;width:23px;height:3px;background:#e5effd;border-radius:10px}
.an-kpi strong{font-size:28px;color:#102949}
.an-kpi-icon{background:#e5effd;color:#2364ba;border-radius:12px}
.an-insight-strip>div{background:linear-gradient(100deg,#e9f2fc,#f5f9ff);border-color:#d7e6f6}
.an-panel{border-radius:17px;box-shadow:0 8px 25px rgba(16,46,80,.038)}
.an-panel-head{padding:20px 21px 14px}
.an-panel-head h2{font-size:16px;color:#102b50}
.an-panel-head p{font-size:11.3px}
.an-panel-body{padding:16px 20px;max-height:540px}
.an-chart-grid{gap:14px;margin-bottom:14px}
.an-chart-grid-hero .an-panel-body{min-height:275px;display:flex;justify-content:center;align-items:center}
.an-chart-grid-hero .an-panel:nth-child(2) .an-panel-body{display:block}
.an-panel-wide{grid-column:1/-1}
.an-panel-wide .an-panel-body{max-height:none}
.an-heatmap-scroll{overflow:auto;width:100%;padding:4px 0 8px}
.an-heatmap{min-width:650px}
.an-heatmap-header,.an-heatmap-row{display:grid;grid-template-columns:minmax(140px,1.65fr) repeat(4,minmax(80px,1fr)) 65px;gap:7px;align-items:center;margin-bottom:7px}
.an-heatmap-header{font-size:10px;letter-spacing:.055em;color:#72839a;font-weight:800;text-transform:uppercase;padding:8px 0}
.an-heatmap-header>span:not(:first-child){text-align:center}
.an-heatmap-region{font-size:12px;font-weight:800;text-align:left;color:#29405f;background:#f7faff;border:1px solid #e7eef7;padding:10px 12px;border-radius:8px;cursor:pointer}
.an-heatmap-cell{background:var(--hm-color);border:1px solid #e7edf4;border-radius:8px;min-height:39px;cursor:pointer;color:#19334e;font-weight:800;font-size:13px}
.an-heatmap-cell:hover,.an-heatmap-region:hover{outline:2px solid #4b91db;outline-offset:0}
.an-heatmap-total{text-align:center;font-size:12px;color:#18324e}
.an-funnel{padding:3px 0 10px}
.an-funnel-title{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.08em;font-weight:800;color:#8492a6;padding:5px 0 14px}
.an-funnel-row{display:grid;grid-template-columns:105px 1fr;gap:12px;align-items:center;border:0;background:transparent;padding:7px 0;width:100%;cursor:pointer;text-align:left}
.an-funnel-name{font-size:12px;font-weight:800;color:#263d5e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.an-funnel-track{height:29px;border-radius:6px;background:#eff3fa;overflow:hidden}
.an-funnel-fill{height:100%;border-radius:5px;display:flex;align-items:center;justify-content:flex-end;color:#fff;padding-right:10px;font-size:11px;box-shadow:2px 0 8px rgba(13,41,85,.09)}
.an-funnel-row:hover .an-funnel-fill{filter:brightness(1.09)}
.an-empty strong{font-size:14px}
@media(max-width:1220px){.executive-hero{grid-template-columns:1fr .82fr;padding:25px}.an-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.executive-hero{grid-template-columns:1fr;gap:20px}.eh-right{border-left:0;border-top:1px solid rgba(255,255,255,.14);padding:18px 0 0}.eh-right>strong{font-size:42px}}
@media(max-width:600px){.executive-hero{padding:20px;border-radius:16px}.executive-hero h1{font-size:29px}.an-filterbar{gap:8px}.an-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.an-kpi{padding:13px}.an-kpi strong{font-size:23px}.an-panel-head{padding:14px}.an-panel-body{padding:12px}}

/* FL Stock 1.8 — Dashboard executivo nativo: dados diretamente da base. */
.executive-v18{
  --ex-navy:#0e274b;--ex-blue:#2159aa;--ex-muted:#6d7e98;--ex-line:#e8edf5;
  max-width:none;width:100%;box-sizing:border-box;
  background:linear-gradient(180deg,#f5f8fd 0%,#f7f9fd 100%);
  padding:24px 26px 36px;min-height:calc(100vh - 65px);color:var(--ex-navy);
}
.ex-heading{display:flex;gap:18px;justify-content:space-between;align-items:center;margin-bottom:18px}
.ex-pretitle{font-size:10px;letter-spacing:.17em;font-weight:900;color:#557ab3;display:flex;align-items:center;gap:8px;margin-bottom:8px}
.ex-pretitle span{width:7px;height:7px;background:#14826e;border-radius:50%;box-shadow:0 0 0 4px #dff5ee}
.ex-heading h1{font-size:clamp(26px,2.4vw,36px);color:#112b53;letter-spacing:-1.3px;margin:0;font-weight:850;line-height:1.12}
.ex-heading p{font-size:12.5px;margin:7px 0 0;color:#7f91ac}
.ex-heading-actions{display:flex;align-items:center;gap:13px;white-space:nowrap}
.ex-source-pill{font-size:10.5px;color:#33647c;background:#e7f5f1;border:1px solid #cee7dd;border-radius:100px;padding:9px 12px;font-weight:750}
.ex-source-pill i{width:7px;height:7px;background:#13a27a;border-radius:100%;display:inline-block;margin-right:6px}
.ex-refresh{background:#fff;color:#1b477f;border:1px solid #dce7f4;display:flex;gap:8px;align-items:center;justify-content:center;padding:10px 13px;font-weight:800;border-radius:10px;cursor:pointer;font-size:11.5px;box-shadow:0 4px 12px rgba(30,65,105,.04)}
.ex-refresh:hover{border-color:#80a9de;background:#eef6ff}.ex-refresh svg{width:15px;height:15px}
.ex-filterbar{display:flex;align-items:end;justify-content:space-between;gap:12px;background:transparent;margin-bottom:16px}
.ex-filters{display:flex;gap:11px;flex-wrap:wrap}
.ex-filters label{background:#fff;border:1px solid #e1e9f3;min-width:188px;padding:9px 11px;border-radius:13px;display:flex;flex-direction:column;gap:4px;box-shadow:0 4px 16px rgba(16,43,77,.028)}
.ex-filters label span{font-size:10px;color:#7589a5;font-weight:750;letter-spacing:.03em}
.ex-filters select{border:0;outline:none;color:#143257;font-family:inherit;font-size:11.5px;font-weight:800;background:transparent;max-width:220px;min-height:18px;cursor:pointer}
.ex-clear{border:0;background:transparent;color:#2e63aa;font-size:11.5px;font-weight:800;padding:12px 2px;cursor:pointer}
.ex-clear:hover{text-decoration:underline}
.ex-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:14px}
.ex-kpi{min-width:0;border:1px solid #e5eaf3;background:#fff;border-radius:17px;padding:16px 14px 13px;display:flex;flex-direction:column;align-items:stretch;text-align:left;cursor:pointer;box-shadow:0 7px 26px rgba(21,59,107,.055);transition:transform .16s,box-shadow .16s,border .16s;min-height:134px}
.ex-kpi:hover{transform:translateY(-2px);box-shadow:0 13px 34px rgba(20,61,107,.11);border-color:#a4c1e8}
.ex-kpi-label{display:flex;gap:8px;align-items:center;min-width:0;font-size:10.5px;font-weight:800;color:#536987;line-height:1.3}
.ex-kpi-icon{display:grid;place-items:center;width:31px;height:31px;min-width:31px;border-radius:10px;background:#e8f0ff;color:#245cbd}
.ex-kpi-icon svg{height:18px;width:18px}
.ex-kpi strong{font-weight:890;letter-spacing:-.9px;color:#0c2852;font-size:clamp(21px,2vw,31px);line-height:1.15;margin:11px 0 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ex-kpi-foot{display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:9.5px;color:#8393a8;line-height:1.35}
.ex-kpi-arrow{font-size:14px;color:#789bc5;font-weight:900}
.ex-tone-green .ex-kpi-icon{color:#078c6d;background:#e6f7ef}.ex-tone-green strong{color:#076b56}
.ex-tone-red .ex-kpi-icon{color:#c65460;background:#ffecee}.ex-tone-red strong{color:#bf4251}
.ex-tone-amber .ex-kpi-icon{color:#d18a24;background:#fff1d7}.ex-tone-amber strong{color:#ae7721}
.ex-tone-blue .ex-kpi-icon{color:#1c67c6;background:#eaf3ff}
.ex-micro-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 16px}
.ex-micro-row>div{background:#eaf2ff;border:1px solid #dbe7fa;border-radius:11px;padding:11px 13px;display:flex;flex-direction:column;gap:6px;min-width:0}
.ex-micro-row span{font-size:10px;color:#567293;font-weight:750}
.ex-micro-row strong{font-size:15px;color:#173e77;font-weight:900;white-space:normal}
.ex-micro-row strong small{font-size:10px;font-weight:650;color:#7389a6}
.ex-micro-row button{font-size:10px;color:#3570b2;font-weight:750;border:0;background:transparent;cursor:pointer;padding:0 0 0 6px}
.ex-charts-three{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr) minmax(0,1fr);gap:13px;margin-bottom:13px}
.ex-charts-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.ex-charts-wide{margin:0 0 19px}
.ex-card{background:#fff;border:1px solid #e5ebf3;border-radius:17px;box-shadow:0 7px 26px rgba(19,53,97,.044);display:flex;flex-direction:column;min-width:0;overflow:hidden}
.ex-card-header{display:flex;align-items:start;justify-content:space-between;gap:9px;padding:16px 16px 11px;flex:0 0 auto}
.ex-card-header h2{font-size:13px;font-weight:850;color:#102c55;line-height:1.35;letter-spacing:-.2px;margin:0}
.ex-card-header p{font-size:10.5px;line-height:1.35;color:#8796ab;margin:4px 0 0}
.ex-card-dots{font-size:24px;color:#7c95b9;line-height:.5;letter-spacing:2px}
.ex-card-content{padding:7px 16px 15px;flex:1;min-width:0}
.ex-card-foot{font-size:9.6px;line-height:1.45;color:#8e9cb1;padding:0 16px 14px;margin-top:auto}
.ex-charts-primary .ex-card{min-height:342px}
.ex-charts-secondary .ex-card{min-height:318px}
.ex-pie-panel .ex-card-content{display:flex;align-items:center;justify-content:center}
.ex-pie-panel .an-donut-wrap{grid-template-columns:160px minmax(0,1fr);align-items:center;gap:9px;width:100%}
.ex-pie-panel .an-donut-figure{height:160px;width:160px}
.ex-pie-panel .an-donut-svg{height:160px;width:160px}
.ex-pie-panel .an-donut-center{width:70px;height:70px;box-shadow:none}
.ex-pie-panel .an-donut-center strong{font-size:23px}.ex-pie-panel .an-donut-center span{font-size:9px}
.ex-pie-panel .an-donut-legend{gap:5px;max-height:228px;overflow:auto}
.ex-pie-panel .an-legend-item{gap:6px;padding:6px 7px;border-radius:7px;background:transparent;border:0}
.ex-pie-panel .an-legend-dot{width:8px;height:8px;margin-top:3px;flex:0 0 auto}
.ex-pie-panel .an-legend-copy{gap:1px}.ex-pie-panel .an-legend-copy strong{font-size:10px;line-height:1.2}.ex-pie-panel .an-legend-copy small{font-size:9px}
.ex-trend-panel .an-trend-wrap{gap:8px}.ex-trend-panel .an-trend-svg{height:195px;border:0;background:linear-gradient(180deg,#fff,#f8fbff)}
.ex-trend-panel .an-trend-labels{grid-template-columns:repeat(6,minmax(0,1fr));gap:3px}
.ex-trend-panel .an-trend-labels>div{padding:4px 2px;border:0;background:transparent;border-radius:0}
.ex-trend-panel .an-trend-labels strong{font-size:11px}.ex-trend-panel .an-trend-labels span{font-size:8.5px}
.ex-vertical-panel .an-vbars{gap:4px;min-height:222px;grid-template-columns:repeat(5,minmax(0,1fr));padding-top:6px}
.ex-vertical-panel .an-vbar-col{height:164px;padding:5px 4px 0;border-radius:7px;background:linear-gradient(180deg,#fff,#f1f6fb)}
.ex-vertical-panel .an-vbar-value{font-size:10.5px}.ex-vertical-panel .an-vbar-label{font-size:9px}
.ex-ranking{display:flex;flex-direction:column;gap:11px;padding-top:7px}
.ex-rank{display:grid;grid-template-columns:16px minmax(90px,1.15fr) minmax(45px,1fr) auto;gap:6px;align-items:center;border:0;padding:0;background:transparent;cursor:pointer;width:100%;color:inherit}
.ex-rank:hover .ex-rank-title{text-decoration:underline;color:#286bbd}
.ex-rank-index{font-size:10px;color:#8798ac}.ex-rank-title{font-size:10.5px;font-weight:750;line-height:1.35;color:#465a78;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}
.ex-rank-track{background:#edf3fb;height:12px;border-radius:3px;overflow:hidden}.ex-rank-track i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,#c1ddff,#266ac8)}
.ex-rank strong{font-size:11px;text-align:right;color:#29486c;font-weight:900}
.ex-region-legend{display:flex;justify-content:end;gap:11px;margin:0 0 12px;flex-wrap:wrap}
.ex-region-legend span{display:flex;gap:4px;align-items:center;font-size:9px;color:#72839a;white-space:nowrap}
.ex-region-legend i{width:7px;height:7px;border-radius:50%}
.ex-region-plot{display:flex;justify-content:space-between;align-items:end;gap:7px;height:202px;padding:8px 0 0;border-bottom:1px solid #e8eef6;background:repeating-linear-gradient(to top,transparent 0,transparent 48px,#edf2fa 49px,#edf2fa 50px)}
.ex-region{border:0;background:transparent;padding:0;cursor:pointer;display:flex;flex-direction:column;height:100%;align-items:center;justify-content:end;min-width:0;flex:1;gap:0}
.ex-region-bars{display:flex;align-items:end;justify-content:center;gap:3px;height:166px;width:100%;padding:0 2px;box-sizing:border-box}
.ex-group-column{width:30%;max-width:22px;border-radius:3px 3px 0 0;min-height:0;position:relative}
.ex-group-column b{position:absolute;top:-15px;left:50%;transform:translateX(-50%);font-size:8px;color:#56708b;font-weight:750}
.ex-region-name{height:35px;font-size:9px;color:#4f6480;text-align:center;padding-top:6px;line-height:1.2;display:grid;place-items:start center}
.ex-empty{text-align:center;color:#8395ac;font-size:11.5px;padding:25px 13px}
.ex-empty-crm{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:200px}
.ex-empty-crm .ex-empty-glyph{border-radius:18px;background:#eef4ff;color:#4e83d6;font-size:30px;width:59px;height:59px;display:grid;place-items:center}
.ex-empty-crm strong{font-size:12px;color:#274568}.ex-empty-crm span{font-size:10.5px;line-height:1.5;max-width:230px}
.ex-empty-link{border:1px solid #dbe7f7;border-radius:8px;background:#f4f8ff;font-size:10px;font-weight:850;color:#2f65ad;padding:8px 12px;cursor:pointer}
.ex-crm-panel .an-funnel-row{grid-template-columns:90px 1fr;gap:6px;padding:5px 0}
.ex-crm-panel .an-funnel-track{height:26px}.ex-crm-panel .an-funnel-name{font-size:10px}
.ex-heatmap-panel .ex-card-content{padding:6px 16px 15px}.ex-heatmap-panel .an-heatmap-header,.ex-heatmap-panel .an-heatmap-row{grid-template-columns:minmax(110px,1.5fr) repeat(4,minmax(64px,1fr)) 65px}
.ex-insight-heading{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:10px 0 13px}.ex-insight-heading h2{font-size:18px;color:#19355b;letter-spacing:-.4px;margin:0}
.ex-insight-heading p{font-size:11px;color:#8394ad;margin:4px 0 0}.ex-ranking-select{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:800;color:#6a82a3}
.ex-ranking-select select{border:1px solid #e0e7f2;border-radius:8px;background:#fff;color:#2d517f;padding:7px 10px;font-size:10px;font-weight:800}
.ex-charts-two .ex-card-content{padding:12px 16px 16px;max-height:420px;overflow:auto}
.ex-charts-two .an-vbars{min-height:220px;gap:6px}.ex-charts-two .an-vbar-col{height:150px}
.ex-quality{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.ex-quality button{display:flex;flex-direction:column;gap:4px;text-align:left;background:#f7faff;border:1px solid #e6eef9;border-radius:12px;padding:11px;cursor:pointer}
.ex-quality button:hover{border-color:#92b6e5;background:#eff6ff}.ex-quality strong{font-size:22px;color:#20456f;letter-spacing:-.5px}.ex-quality span{font-size:11px;color:#50627a;line-height:1.4}.ex-quality b{font-size:9.5px;color:#3972bb;margin-top:auto}
.ex-footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:10px;color:#8191a5;margin:17px 0 0;padding:15px 0 0;border-top:1px solid #e4eaf2}
.ex-kpi:focus-visible,.ex-rank:focus-visible,.ex-region:focus-visible,.ex-quality button:focus-visible,.ex-empty-link:focus-visible{outline:2px solid #4f9aff;outline-offset:3px}
@media(max-width:1450px){.executive-v18{padding:19px 18px 28px}.ex-pie-panel .an-donut-wrap{grid-template-columns:140px minmax(0,1fr)}.ex-pie-panel .an-donut-svg,.ex-pie-panel .an-donut-figure{height:140px;width:140px}}
@media(max-width:1250px){.ex-charts-three{grid-template-columns:repeat(2,minmax(0,1fr))}.ex-charts-three>.ex-card:last-child{grid-column:1/-1}.ex-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ex-micro-row{grid-template-columns:repeat(2,minmax(0,1fr))}.ex-pie-panel .an-donut-wrap{grid-template-columns:175px minmax(0,1fr)}.ex-pie-panel .an-donut-svg,.ex-pie-panel .an-donut-figure{height:175px;width:175px}}
@media(max-width:880px){.ex-charts-three{grid-template-columns:1fr}.ex-charts-three>.ex-card:last-child{grid-column:auto}.ex-charts-two{grid-template-columns:1fr}.ex-heading{align-items:start;flex-direction:column}.ex-heading-actions{flex-wrap:wrap}.ex-filters{flex:1}.ex-filters label{flex:1;min-width:145px}}
@media(max-width:600px){.executive-v18{padding:16px 12px 100px}.ex-heading h1{font-size:26px}.ex-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ex-kpi{padding:11px;min-height:116px}.ex-kpi strong{font-size:23px}.ex-kpi-label{font-size:9.5px}.ex-kpi-icon{height:26px;width:26px;min-width:26px}.ex-kpi-icon svg{width:16px}.ex-micro-row{grid-template-columns:1fr 1fr;gap:7px}.ex-micro-row strong{font-size:12px}.ex-pie-panel .an-donut-wrap{grid-template-columns:120px minmax(0,1fr)}.ex-pie-panel .an-donut-svg,.ex-pie-panel .an-donut-figure{height:120px;width:120px}.ex-ranking{gap:12px}.ex-rank{grid-template-columns:15px minmax(65px,1fr) 60px auto}.ex-filters label{min-width:115px}}

/* CRM 2.2: menu compacto do Estoque expande em overlay ao passar o mouse ou receber foco. */
@media (min-width:721px) and (max-width:1250px){
 .app-shell > .sidebar{width:76px;min-width:76px;z-index:30;transition:width .17s ease;overflow-x:hidden;overflow-y:auto}
 .app-shell > .sidebar:is(:hover,:focus-within){width:246px;box-shadow:15px 8px 35px rgba(9,19,43,.23);padding:20px 12px}
 .sidebar:is(:hover,:focus-within) .brand-copy,.sidebar:is(:hover,:focus-within) .nav-btn span:last-child,.sidebar:is(:hover,:focus-within) .nav-title,.sidebar:is(:hover,:focus-within) .sidebar-foot{display:block}
 .sidebar:is(:hover,:focus-within) .brand{justify-content:flex-start}
 .sidebar:is(:hover,:focus-within) .nav-btn{justify-content:flex-start;white-space:nowrap}
 .sidebar:is(:hover,:focus-within) .nav-ico{flex:none}
}
/* Busca exata por CJ: somente a ficha encontrada é destacada. */
.units-table tbody tr.cj-search-hit{background:#e5f5ff;box-shadow:inset 4px 0 #217bd4}
.units-table tbody tr.cj-search-hit td{background:#e5f5ff}
.units-table tbody tr.cj-search-hit .cj-cell .linkish{background:#b9e5ff;color:#145db2;border-radius:6px;padding:3px 5px;font-weight:900}
.cj-search-result-note{font-size:12px;font-weight:750;color:#2b608e;margin:5px 0 12px;padding:8px 12px;border:1px solid #d7e9fb;border-radius:9px;background:#f3faff}

/* CRM v2.12: WhatsApp do proprietário na ficha do estoque */
.stock-action-buttons{display:flex;align-items:center;justify-content:center;gap:3px;white-space:nowrap}
.units-table col.c-building{width:10.5%}
.units-table col.c-action{width:8%}
.stock-owner-wa{color:#087e57;background:#ecfbf3;border-color:#bcebd2;font-size:16px;font-weight:800}
.stock-owner-wa:hover{background:#d9fae8;border-color:#53ca92}
@media(max-width:900px){.units-table{min-width:980px}}

.units-table .action-cell{overflow:visible}

/* FL Stock 1.9 · Fontes de enriquecimento e sugestões revisáveis */
.enrich-panel{border:1px solid #c8d9f4;padding:14px;border-radius:12px;background:#f6f9ff;margin-top:8px;grid-column:1/-1}
.enrich-result{margin-top:10px}.enrich-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}
.enrich-option{display:flex;gap:10px;align-items:flex-start;background:white;border:1px solid #e1e8f5;border-radius:8px;padding:10px;margin:7px 0;cursor:pointer}
.enrich-option input{flex:0 0 auto;width:17px;height:17px;margin-top:3px}.enrich-option span{display:grid;gap:3px;flex:1;min-width:0}
.enrich-option strong{color:#17365c}.enrich-option small{font-size:12px;color:#596981;overflow-wrap:anywhere}
.enrich-result a{color:#0b56af;text-decoration:underline}.enrich-apply{margin-top:8px}

/* Pesquisa ampliada v2.0 */
.enrich-external{margin-top:12px;padding:10px 12px;border-radius:8px;background:#f7f9fe;font-size:12px;line-height:1.8}
.enrich-external a{color:#1855a0;text-decoration:underline;text-underline-offset:2px}
.enrich-warnings{color:#735b31}
.enrich-line{border:0;border-top:1px solid #edf1f7;margin:4px 0}
.enrich-option small{overflow-wrap:anywhere}

.enrich-portal-label{display:block;font-size:11px;font-weight:600;color:#344f77;margin-top:8px;margin-bottom:8px}
.enrich-portal-url{display:block;width:100%;min-height:36px;margin-top:5px;padding:7px 10px;border-radius:7px;border:1px solid #cad8ef;color:#244267}

.enrich-discrepancies{padding:10px 12px;margin:9px 0;background:#fff7eb;border:1px solid #e2ba6d;color:#6b4a0b;border-radius:9px;font-size:11px;line-height:1.65}.enrich-discrepancies a{color:#2352a0;text-decoration:underline}

/* FL Stock 2.2 — referência de nomes anteriores */
.enrich-option:has(input[data-enrich-idx]) small { overflow-wrap: anywhere; }
.enrich-discrepancies { border-left: 3px solid #e7aa43; }
