:root{--primary:#5C5AED;--primary2:#7A8CFF;--ink:#1E2330;--muted:#647089;--bg:#F2F4F7;--soft:#E9EBFF;--line:#DDE3F3;--ok:#16a34a;--bad:#dc2626;--warn:#d97706;--card:#fff}*{box-sizing:border-box}body{margin:0;font-family:Poppins,Arial,sans-serif;background:linear-gradient(140deg,#f7f8ff 0%,#eef2ff 45%,#f5fbff 100%);color:var(--ink)}a{text-decoration:none;color:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{width:270px;background:#fff;border-right:1px solid var(--line);padding:24px 16px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;box-shadow:0 14px 35px rgba(30,35,48,.06)}.brand img{width:200px;max-width:100%;display:block;margin:0 auto 18px}.nav{display:flex;flex-direction:column;gap:7px}.nav a{padding:12px 13px;border-radius:14px;font-weight:600;color:#34405a;display:flex;justify-content:space-between;align-items:center}.nav a.active,.nav a:hover{background:linear-gradient(135deg,var(--primary),#486BFF);color:#fff;box-shadow:0 10px 20px rgba(92,90,237,.25)}.nav a.disabled{opacity:.55;cursor:not-allowed}.nav a.disabled:hover{background:transparent;color:#34405a;box-shadow:none}.nav small{font-size:10px;opacity:.8}.nav-label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#8a94aa;margin:14px 8px 4px}.version{margin-top:auto;text-align:center;background:var(--soft);color:var(--primary);font-size:11px;font-weight:700;border-radius:999px;padding:8px}.main{margin-left:270px;width:calc(100% - 270px);padding:24px}.topbar{background:linear-gradient(135deg,#fff,#f7f8ff);border:1px solid var(--line);border-radius:24px;padding:18px 22px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 16px 35px rgba(30,35,48,.06);margin-bottom:18px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:11px;color:var(--primary);font-weight:800}.topbar h1{margin:4px 0 0;font-size:26px}.userbox{display:flex;align-items:center;gap:12px}.userbox span{display:block;color:var(--muted);font-size:12px}.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),#2f6dff);color:#fff;font-weight:800}.grid{display:grid;gap:16px}.grid.cols-2{grid-template-columns:1.1fr .9fr}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:rgba(255,255,255,.88);border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:0 16px 38px rgba(30,35,48,.07);backdrop-filter:blur(10px)}.card h2,.card h3{margin:0 0 12px}.kpi{position:relative;overflow:hidden}.kpi:after{content:"";position:absolute;right:-28px;bottom:-28px;width:92px;height:92px;border-radius:50%;background:var(--soft)}.kpi .label{color:var(--muted);font-size:13px;font-weight:600}.kpi .value{font-size:28px;font-weight:800;margin-top:6px}.btn{border:0;border-radius:13px;background:linear-gradient(135deg,var(--primary),#486BFF);color:#fff;font-weight:700;padding:11px 16px;cursor:pointer;display:inline-flex;gap:8px;align-items:center;justify-content:center;box-shadow:0 10px 22px rgba(92,90,237,.22)}.btn:hover{filter:brightness(.98)}.btn.ghost{background:#fff;color:var(--primary);border:1px solid var(--line);box-shadow:none}.btn.danger{background:#fff;color:var(--bad);border:1px solid #fecaca;box-shadow:none}.btn.small{padding:8px 11px;font-size:12px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}label{font-size:12px;color:#3f4a63;font-weight:700}input,select,textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:13px;padding:12px 13px;font:inherit;color:var(--ink)}textarea{min-height:86px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:#65708a;font-size:11px;text-transform:uppercase;letter-spacing:.06em;background:#f7f8ff}th,td{padding:12px;border-bottom:1px solid var(--line);vertical-align:middle}.badge{border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800;display:inline-block}.badge.connected,.badge.active{background:#dcfce7;color:#166534}.badge.error{background:#fee2e2;color:#991b1b}.badge.pending{background:#fef3c7;color:#92400e}.badge.inactive{background:#e5e7eb;color:#374151}.alert{border-radius:16px;padding:13px 15px;margin-bottom:16px;font-weight:600}.alert.success{background:#dcfce7;color:#166534;border:1px solid #86efac}.alert.error{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.alert.info{background:#e0f2fe;color:#075985;border:1px solid #7dd3fc}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,#E9EBFF 0%,transparent 35%),linear-gradient(135deg,#fff,#f3f6ff)}.login-card{width:min(1050px,100%);display:grid;grid-template-columns:1.1fr .9fr;background:#fff;border:1px solid var(--line);border-radius:32px;overflow:hidden;box-shadow:0 24px 70px rgba(30,35,48,.12)}.login-hero{background:linear-gradient(135deg,#5C5AED,#2F6DFF);color:#fff;padding:46px}.login-hero img{width:240px;filter:brightness(0) invert(1)}.login-hero h1{font-size:40px;line-height:1.1;margin:36px 0 12px}.login-hero p{font-size:16px;opacity:.9}.login-form{padding:46px}.muted{color:var(--muted)}.code{background:#0f172a;color:#dbeafe;border-radius:14px;padding:10px 12px;display:block;overflow:auto;font-family:Consolas,monospace;font-size:12px}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.hidden-token{font-family:Consolas,monospace;color:#647089}@media(max-width:980px){.sidebar{position:static;width:100%;height:auto}.app-shell{display:block}.main{margin-left:0;width:100%;padding:14px}.grid.cols-4,.grid.cols-2,.form-grid,.login-card{grid-template-columns:1fr}.topbar{align-items:flex-start;gap:12px;flex-direction:column}.userbox{width:100%;justify-content:space-between}}

.bar-list{display:flex;flex-direction:column;gap:10px}.bar-row{display:grid;grid-template-columns:160px 1fr 110px;gap:12px;align-items:center}.bar-track{height:14px;background:#eef2ff;border-radius:999px;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(135deg,var(--primary),#486BFF);border-radius:999px}.delta-up{color:var(--ok);font-weight:800}.delta-down{color:var(--bad);font-weight:800}.delta-flat{color:var(--muted);font-weight:800}@media(max-width:980px){.bar-row{grid-template-columns:1fr}.grid.cols-3{grid-template-columns:1fr}}

.hero-card{margin-bottom:16px}.filters{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:end}.filter-actions{display:flex;align-items:end}.kpi-grid{display:grid;gap:16px;margin:16px 0}.kpi-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi span{display:block;color:var(--muted);font-size:13px;font-weight:700}.kpi strong{display:block;font-size:28px;margin-top:6px}.grid.two{grid-template-columns:1fr 1fr;margin:16px 0}.codebox{background:#0f172a;color:#dbeafe;border-radius:14px;padding:12px 14px;display:block;overflow:auto;font-family:Consolas,monospace;font-size:12px;margin:8px 0 14px;line-height:1.45}.pill{border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800;display:inline-block}.pill.ok{background:#dcfce7;color:#166534}.pill.bad{background:#fee2e2;color:#991b1b}@media(max-width:980px){.filters,.grid.two,.kpi-grid.four{grid-template-columns:1fr}}

/* =========================================================
   AnnualManage Fase 6A · Visual BI premium estable
   Mantiene compatibilidad con pantallas anteriores y agrega
   objetos visuales compactos tipo BI.
   ========================================================= */
:root{--annual:#5C5AED;--annual2:#486BFF;--annual3:#7A8CFF;--annual4:#11B5D8;--green:#12B76A;--orange:#F97316;--red:#EF4444;--yellow:#F59E0B;--blue:#2563EB;--purple:#6D5DFB;--text:#101828;--muted2:#667085;--line2:#E4E9F5;--panel:#FFFFFF;--bg2:#F5F7FC;--shadow:0 12px 34px rgba(16,24,40,.07);--shadow2:0 18px 44px rgba(92,90,237,.18)}
body{background:linear-gradient(180deg,#F8FAFF 0%,#EEF3FF 100%);font-size:14px;line-height:1.35}.sidebar{width:255px;padding:22px 14px}.brand{border-bottom:1px solid var(--line2);margin-bottom:20px;padding-bottom:18px}.brand img{width:198px;margin:0 auto;object-fit:contain}.main{margin-left:255px;width:calc(100% - 255px);padding:22px 24px 28px}.nav{gap:9px}.nav a{min-height:54px;display:grid;grid-template-columns:24px 1fr;align-items:center;column-gap:10px;border-radius:16px;padding:12px 14px;font-size:14px}.nav a small{grid-column:2;display:block;font-size:10px;line-height:1.1;color:inherit;opacity:.70}.nav-ico{font-size:16px;text-align:center;opacity:.9}.nav a.active,.nav a:hover{background:linear-gradient(135deg,var(--annual),#3E54FF);color:#fff;box-shadow:0 14px 28px rgba(92,90,237,.24);transform:translateY(-1px)}.sidebar-card{margin-top:auto;background:linear-gradient(180deg,#fff,#F4F6FF);border:1px solid var(--line2);border-radius:22px;padding:16px;text-align:left;box-shadow:0 12px 28px rgba(16,24,40,.05)}.sidebar-card img{width:46px;height:46px;object-fit:contain;display:block;margin-bottom:8px}.sidebar-card strong{display:block;color:var(--annual);font-size:13px}.sidebar-card span{display:block;color:#667085;font-size:11px;margin-top:5px}.version{margin-top:14px;background:#EEF2FF;border:1px solid #E1E6FF;color:var(--annual);font-size:11px;line-height:1.25;padding:9px 10px}.topbar{min-height:80px;border-radius:22px;padding:16px 20px;margin-bottom:14px}.topbar h1{font-size:24px;letter-spacing:-.03em}.topbar-title{flex:1}.top-icons{display:flex;gap:12px;color:#344054;align-items:center}.top-icons span{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--line2);font-size:14px}.userbox{gap:10px}.avatar{width:42px;height:42px}.module-tabs{display:flex;gap:8px;align-items:center;overflow:auto;margin:0 0 14px;padding:4px 0 8px;border-bottom:1px solid #E7ECF8}.module-tabs a{display:flex;align-items:center;gap:7px;padding:10px 12px;border-radius:13px;border:1px solid var(--line2);background:#fff;color:#344054;font-weight:800;font-size:12px;box-shadow:0 8px 16px rgba(16,24,40,.03);white-space:nowrap}.module-tabs a small{font-size:10px;font-weight:600;color:#667085}.module-tabs a.active,.module-tabs a:hover{background:#F4F3FF;color:var(--annual);border-color:#D8D5FF}.module-tabs a.active{box-shadow:inset 0 -2px 0 var(--annual)}
.card,.topbar,.module-tabs a,.kpi{border-color:var(--line2)}.grid.cols-4,.kpi-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi{min-height:105px}.kpi strong,.kpi .value{font-size:25px;letter-spacing:-.03em}table{font-size:12px}.btn{border-radius:13px}.alert{border-radius:16px}
/* BI Master */
.bi-page{--gap:12px}.bi-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:12px}.bi-hero h2{font-size:24px;letter-spacing:-.04em;margin:0 0 4px}.bi-hero p{margin:0;color:#667085;font-size:12px}.bi-sync-box{width:300px;background:#fff;border:1px solid var(--line2);border-radius:18px;padding:12px;box-shadow:var(--shadow)}.bi-sync-box .btn{width:100%;height:42px}.bi-sync-box small{display:block;color:#667085;font-size:10px;margin-top:7px}.bi-filter-panel{background:rgba(255,255,255,.96);border:1px solid var(--line2);border-radius:18px;padding:12px 14px;margin-bottom:12px;box-shadow:0 10px 30px rgba(16,24,40,.06);position:sticky;top:12px;z-index:20;backdrop-filter:blur(14px)}.bi-filter-grid{display:grid;grid-template-columns:1.05fr 1.05fr 1.2fr 1.35fr 1.6fr 1.05fr 1.05fr 1.35fr 1.2fr 1.2fr 92px;gap:9px;align-items:end}.bi-field{display:flex;flex-direction:column;gap:4px;min-width:0}.bi-field label,.bi-field>span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#475467;font-weight:900}.bi-field input,.bi-field select{height:38px;border:1px solid #D9E1F2;border-radius:11px;background:#fff;padding:0 10px;font-size:11px;font-weight:700;color:#182230;outline:none}.bi-field input:focus,.bi-field select:focus{border-color:var(--annual);box-shadow:0 0 0 4px rgba(92,90,237,.08)}.bi-filter-grid .btn{height:38px;padding:0 12px;font-size:12px;box-shadow:0 10px 22px rgba(92,90,237,.18)}.bi-quick-row{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:10px;border-top:1px solid #EDF1F9;padding-top:9px}.bi-quick-actions,.bi-active-filters{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.bi-quick-label,.bi-active-label{font-size:10px;color:#475467;font-weight:900;text-transform:uppercase}.bi-chip{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:6px 10px;border-radius:10px;border:1px solid #DDE4FF;background:#F5F6FF;color:var(--annual);font-size:10px;font-weight:900;text-decoration:none}.bi-chip:hover{background:#ECEEFF;transform:translateY(-1px)}.bi-chip.clear{background:#fff;color:#D92D20;border-color:#FED7D7}.bi-chip.neutral{background:#fff;color:#344054}.bi-more{margin-top:8px}.bi-more summary{cursor:pointer;color:var(--annual);font-size:11px;font-weight:900}.bi-more-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:9px}.bi-tabs{display:flex;gap:8px;align-items:center;overflow:auto;margin:12px 0}.bi-tabs a{height:38px;display:flex;align-items:center;gap:7px;padding:0 13px;border-radius:14px;background:#fff;border:1px solid var(--line2);font-size:12px;color:#344054;font-weight:900;box-shadow:0 8px 18px rgba(16,24,40,.04);white-space:nowrap}.bi-tabs a.active,.bi-tabs a:hover{background:linear-gradient(135deg,var(--annual),var(--annual2));color:#fff;border-color:transparent}.bi-kpi-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:12px}.bi-kpi{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line2);border-radius:18px;padding:13px 14px;min-height:112px;box-shadow:0 10px 22px rgba(16,24,40,.05);transition:.22s;cursor:pointer}.bi-kpi:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(16,24,40,.10)}.bi-kpi-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.bi-kpi-icon{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;color:#fff;font-size:16px;background:linear-gradient(135deg,var(--annual),var(--annual2));box-shadow:0 10px 20px rgba(92,90,237,.22)}.bi-kpi[data-tone="green"] .bi-kpi-icon{background:linear-gradient(135deg,#12B76A,#039855)}.bi-kpi[data-tone="orange"] .bi-kpi-icon{background:linear-gradient(135deg,#F97316,#F59E0B)}.bi-kpi[data-tone="cyan"] .bi-kpi-icon{background:linear-gradient(135deg,#06B6D4,#0EA5E9)}.bi-kpi .label{display:block;color:#667085;font-size:10px;font-weight:900;margin-bottom:7px}.bi-kpi .value{display:block;font-size:19px;letter-spacing:-.04em;font-weight:900;color:#101828}.bi-kpi .delta{display:inline-flex;align-items:center;gap:4px;margin-top:7px;font-size:10px;font-weight:900;color:#079455}.bi-kpi .delta.down{color:#D92D20}.spark{height:24px;margin-top:8px}.spark svg{width:100%;height:24px;display:block}.spark polyline{fill:none;stroke:var(--annual);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.bi-grid{display:grid;gap:12px;margin-bottom:12px}.bi-grid.cols-4{grid-template-columns:repeat(4,1fr)}.bi-grid.cols-3{grid-template-columns:repeat(3,1fr)}.bi-grid.cols-2{grid-template-columns:repeat(2,1fr)}.bi-grid .wide{grid-column:span 2}.bi-card{background:#fff;border:1px solid var(--line2);border-radius:18px;padding:13px;box-shadow:0 10px 24px rgba(16,24,40,.05);min-height:220px;transition:.22s}.bi-card:hover{box-shadow:0 18px 34px rgba(16,24,40,.08)}.bi-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:9px}.bi-card-head h3{margin:0;font-size:13px;letter-spacing:-.02em}.bi-card-head small{display:block;color:#667085;font-size:10px;margin-top:3px}.bi-card-head a,.bi-card-head button{border:0;background:#F3F4FF;color:var(--annual);font-size:10px;font-weight:900;border-radius:999px;padding:5px 8px;cursor:pointer}.bi-toplist{display:grid;gap:7px}.bi-rank{display:grid;grid-template-columns:24px 1fr;gap:8px;align-items:center;border:1px solid #EDF1FA;border-radius:13px;padding:7px 8px;background:#fff;cursor:pointer;transition:.18s;text-decoration:none;color:inherit}.bi-rank:hover{border-color:#CED8FF;background:#F9FAFF;transform:translateY(-1px)}.bi-rank.selected{background:#F0EEFF;border-color:var(--annual)}.bi-rank-num{font-size:10px;font-weight:900;color:#667085;text-align:center}.bi-rank-title{display:flex;justify-content:space-between;align-items:center;gap:8px}.bi-rank-title strong{font-size:11px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:210px}.bi-rank-title b{font-size:11px;white-space:nowrap}.bi-bar{height:8px;border-radius:999px;background:#EEF2FF;overflow:hidden;margin:6px 0}.bi-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--annual),var(--annual2));animation:biGrow .55s ease both}.bi-rank-meta{display:flex;justify-content:space-between;gap:8px;color:#667085;font-size:10px}.bi-rank-meta em{font-style:normal;color:#475467}.bi-empty{display:grid;place-items:center;min-height:130px;border:1px dashed #DDE5F8;border-radius:14px;color:#667085;font-size:12px;background:#FBFCFF;text-align:center;padding:18px}.bi-donut-wrap{display:grid;grid-template-columns:150px 1fr;gap:12px;align-items:center}.bi-donut{width:138px;height:138px;border-radius:50%;background:conic-gradient(var(--annual) 0 50%,#12B76A 50% 76%,#06B6D4 76% 90%,#F97316 90% 100%);position:relative;margin:auto}.bi-donut:after{content:attr(data-total);position:absolute;inset:34px;border-radius:50%;background:#fff;display:grid;place-items:center;text-align:center;font-size:12px;font-weight:900;color:#101828;box-shadow:inset 0 0 0 1px #EDF1FA}.bi-legend{display:grid;gap:7px}.bi-legend a{display:grid;grid-template-columns:10px 1fr auto;gap:8px;align-items:center;color:inherit;text-decoration:none;font-size:11px}.dot{width:10px;height:10px;border-radius:50%;background:var(--annual)}.dot.green{background:#12B76A}.dot.cyan{background:#06B6D4}.dot.orange{background:#F97316}.dot.red{background:#EF4444}.bi-compare-table table{width:100%;border-collapse:collapse;font-size:11px}.bi-compare-table th{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:#667085;background:#F5F7FE}.bi-compare-table th,.bi-compare-table td{padding:9px;border-bottom:1px solid #EDF1FA}.win{color:#079455;font-weight:900}.bad{color:#D92D20;font-weight:900}.bi-heat{display:grid;grid-template-columns:78px repeat(7,1fr);gap:5px}.bi-heat div{height:28px;border-radius:8px;display:grid;place-items:center;font-size:9px;font-weight:800}.bi-heat .label{justify-content:start;color:#475467;background:transparent}.bi-heat .v0{background:#F1F4FF;color:#667085}.bi-heat .v1{background:#DDE6FF;color:#475467}.bi-heat .v2{background:#B7C6FF;color:#fff}.bi-heat .v3{background:#7B8DFF;color:#fff}.bi-heat .v4{background:#4D57F4;color:#fff}.bi-alert-list{display:grid;gap:7px}.bi-alert{display:grid;grid-template-columns:18px 1fr auto;gap:9px;align-items:center;padding:9px 10px;border-radius:13px;border:1px solid #EDF1FA;background:#fff;cursor:pointer}.bi-alert:hover{background:#FAFBFF}.bi-alert .sev{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:10px;font-weight:900;background:#F59E0B}.bi-alert.critical .sev{background:#EF4444}.bi-alert.info .sev{background:#2E90FA}.bi-alert.ok .sev{background:#12B76A}.bi-alert strong{font-size:11px}.bi-alert span{font-size:10px;color:#667085}.bi-trend{height:230px;position:relative}.bi-trend svg{width:100%;height:210px}.bi-trend .gridline{stroke:#EEF2FF;stroke-width:1}.bi-trend polyline{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.bi-trend .sales{stroke:var(--annual)}.bi-trend .purchases{stroke:#12B76A}.bi-trend .profit{stroke:#F97316}.bi-decision{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.bi-decision a{border-radius:15px;padding:13px;background:#fff;border:1px solid #EDF1FA;text-decoration:none;color:inherit;min-height:94px;display:flex;flex-direction:column;justify-content:space-between}.bi-decision a:hover{border-color:#C9D4FF;background:#FAFBFF;transform:translateY(-2px)}.bi-decision strong{font-size:12px}.bi-decision span{font-size:10px;color:#667085}.bi-decision b{font-size:18px;color:#101828}.bi-drawer-backdrop{display:none;position:fixed;inset:0;background:rgba(16,24,40,.34);z-index:99}.bi-drawer-backdrop.open{display:block}.bi-drawer{position:fixed;right:-450px;top:0;width:430px;max-width:92vw;height:100vh;background:#fff;z-index:100;box-shadow:-24px 0 70px rgba(16,24,40,.20);transition:.25s ease;padding:24px;overflow:auto}.bi-drawer.open{right:0}.drawer-close{position:absolute;top:14px;right:14px;width:34px;height:34px;border:0;border-radius:50%;background:#F2F4F7;font-size:21px;cursor:pointer}.drawer-content h3{margin:0 0 8px}.drawer-content p{color:#667085}.drawer-actions{display:flex;gap:8px;margin-top:14px}.mini-table{width:100%;border-collapse:collapse;font-size:12px;margin-top:12px}.mini-table td{padding:9px;border-bottom:1px solid #EDF1FA}.mini-table td:last-child{text-align:right;font-weight:800}.bi-loader{opacity:.55;pointer-events:none}.bi-toast{position:fixed;right:24px;bottom:24px;background:#101828;color:#fff;border-radius:14px;padding:12px 14px;font-size:12px;font-weight:700;z-index:110;box-shadow:0 16px 40px rgba(16,24,40,.2)}@keyframes biGrow{from{width:0}to{width:var(--bar,100%)}}@media(max-width:1500px){.bi-kpi-grid{grid-template-columns:repeat(3,1fr)}.bi-grid.cols-4{grid-template-columns:repeat(2,1fr)}.bi-filter-grid{grid-template-columns:repeat(6,1fr)}.bi-filter-grid .bi-field,.bi-filter-grid .btn{grid-column:span 1}.bi-filter-grid .bi-field:nth-child(5),.bi-filter-grid .bi-field:nth-child(8){grid-column:span 2}}@media(max-width:1050px){.sidebar{position:static;width:100%;height:auto}.app-shell{display:block}.main{margin-left:0;width:100%;padding:14px}.bi-filter-panel{position:relative;top:auto}.bi-filter-grid,.bi-more-grid{grid-template-columns:1fr 1fr}.bi-hero{display:block}.bi-sync-box{width:100%;margin-top:10px}.bi-grid.cols-2,.bi-grid.cols-3,.bi-grid.cols-4,.bi-grid .wide{grid-template-columns:1fr;grid-column:auto}.bi-kpi-grid{grid-template-columns:1fr 1fr}.top-icons{display:none}.bi-donut-wrap{grid-template-columns:1fr}.bi-heat{grid-template-columns:60px repeat(4,1fr)}}@media(max-width:650px){.bi-filter-grid,.bi-more-grid,.bi-kpi-grid{grid-template-columns:1fr}.topbar{display:block}.userbox{margin-top:12px}.bi-quick-row{display:block}.bi-active-filters{margin-top:8px}.bi-rank-title strong{max-width:160px}}


/* === AnnualManage Phase 6B: BI Visual Real con gráficos compactos === */
:root{
  --am-bg:#f4f7ff; --am-card:#fff; --am-ink:#101828; --am-muted:#667085; --am-line:#e4e9f8;
  --am-primary:#5b4bff; --am-primary2:#315dff; --am-green:#16b981; --am-orange:#f97316; --am-red:#ef4444; --am-cyan:#06b6d4;
  --am-shadow:0 14px 35px rgba(24,32,79,.08);
}
body{background:var(--am-bg)!important;color:var(--am-ink);font-family:Poppins,system-ui,sans-serif;}
.main{padding:24px 28px!important;overflow-x:hidden;}
.topbar,.bi-hero,.bi-filter-panel,.visual-card,.kpi-v{border:1px solid var(--am-line);box-shadow:var(--am-shadow);background:rgba(255,255,255,.95);border-radius:20px;}
.module-tabs{display:flex;gap:10px;margin:0 0 18px;border-bottom:1px solid var(--am-line);padding-bottom:10px;overflow:auto}
.module-tabs a{display:flex;align-items:center;gap:8px;min-width:auto;padding:9px 16px;border:1px solid var(--am-line);border-radius:15px;background:#fff;color:#18233d;text-decoration:none;white-space:nowrap}
.module-tabs a small{font-size:11px;color:#667085;font-weight:600}.module-tabs a.active{background:linear-gradient(135deg,var(--am-primary),var(--am-primary2));color:#fff;box-shadow:0 10px 22px rgba(91,75,255,.22)}.module-tabs a.active small{color:#eef}
.bi-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;margin-bottom:14px}
.bi-hero h2{font-size:26px;margin:2px 0 4px}.bi-hero p{margin:0;color:var(--am-muted);font-size:13px}.sync-box{min-width:280px}.sync-box .btn{width:100%;height:48px}.sync-box small{display:block;margin-top:8px;color:var(--am-muted);font-size:11px}
.bi-filter-panel{padding:14px 16px;margin-bottom:14px}
.filter-row{display:grid;grid-template-columns:repeat(10,minmax(105px,1fr));gap:10px;align-items:end}
.filter-row label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#43506d;font-weight:800}
.filter-row input,.filter-row select{margin-top:4px;width:100%;height:40px;border:1px solid #d8e0f4;border-radius:11px;background:#fff;padding:0 10px;font-weight:700;font-size:12px;color:#15203a}
.apply-bi{height:40px!important;border-radius:12px!important}
.quick-row{display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid var(--am-line);flex-wrap:wrap}
.quick-row>span{font-size:10px;text-transform:uppercase;font-weight:900;color:#43506d}.quick,.active-filters span{display:inline-flex;align-items:center;height:30px;padding:0 12px;border:1px solid #d8e0f4;border-radius:10px;background:#fff;text-decoration:none;color:#4b43ef;font-size:11px;font-weight:800}.quick.active,.active-filters span{background:#f0edff}.quick.danger,.clear-all{color:#e11d48}.active-filters{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.active-filters strong{font-size:10px;text-transform:uppercase}.active-filters a{text-decoration:none;margin-left:6px}.clear-all{font-size:11px;font-weight:800;text-decoration:none}
.bi-kpi-strip{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:12px;margin-bottom:14px}
.kpi-v{position:relative;display:block;text-align:left;min-height:118px;padding:14px 14px 10px;overflow:hidden;border:0;cursor:pointer;transition:.18s ease}
.kpi-v:hover{transform:translateY(-3px);box-shadow:0 20px 40px rgba(24,32,79,.12)}.kpi-ico{position:absolute;left:14px;top:14px;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;color:#fff;font-size:18px;background:linear-gradient(135deg,#5b4bff,#315dff)}.kpi-green .kpi-ico{background:linear-gradient(135deg,#19c37d,#0f9f6e)}.kpi-orange .kpi-ico{background:linear-gradient(135deg,#fb923c,#f97316)}.kpi-purple .kpi-ico{background:linear-gradient(135deg,#7c3aed,#5b4bff)}.kpi-cyan .kpi-ico{background:linear-gradient(135deg,#06b6d4,#0ea5e9)}
.kpi-menu{position:absolute;right:12px;top:10px;color:#475467}.kpi-title{display:block;margin-left:50px;color:#475467;font-size:11px;font-weight:800}.kpi-value{display:block;margin:14px 0 0;font-size:24px;letter-spacing:-.04em}.kpi-sub{display:block;color:#0f9f6e;font-size:11px;font-weight:800}.mini-spark{width:100%;height:30px;margin-top:6px}.mini-spark polyline{fill:none;stroke:#5b4bff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.tone-green polyline{stroke:#16b981}.tone-orange polyline{stroke:#f97316}.tone-purple polyline{stroke:#7c3aed}.tone-cyan polyline{stroke:#06b6d4}
.visual-grid{display:grid;grid-template-columns:repeat(4,minmax(240px,1fr));gap:14px;align-items:start}
.visual-card{padding:14px;min-height:250px}.visual-card.wide,.trend-card,.heat-card{grid-column:span 2}.visual-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.visual-head h3{margin:0;font-size:14px;letter-spacing:-.02em}.visual-head span{color:#667085;font-size:11px;font-weight:600}.visual-head a,.visual-filter{font-size:11px;font-weight:900;text-decoration:none;color:#5b4bff}
.chart-bars{display:flex;flex-direction:column;gap:7px}.bar-row{display:grid;grid-template-columns:28px 1fr auto;grid-template-rows:auto 7px auto;gap:4px 8px;padding:8px 10px;border:1px solid #edf1fb;border-radius:13px;background:#fff;text-decoration:none;color:var(--am-ink);transition:.16s}.bar-row:hover{background:#f7f7ff;border-color:#cfc8ff;transform:translateX(2px)}.rank{font-size:11px;font-weight:900;color:#5b4bff}.bar-label{font-size:12px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-money{font-size:12px;font-weight:900}.bar-track{grid-column:2/4;height:7px;border-radius:999px;background:#eef1ff;overflow:hidden}.bar-track span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#5b4bff,#315dff);animation:barGrow .55s ease both}.bar-row small{grid-column:2/4;color:#667085;font-size:10px}
@keyframes barGrow{from{width:0}}
.donut-wrap{display:grid;grid-template-columns:140px 1fr;gap:10px;align-items:center}.donut-svg{width:132px;height:132px;transform:rotate(-90deg)}.donut-svg circle{transition:.2s}.donut-center{position:absolute;margin-left:38px;margin-top:0;text-align:center;pointer-events:none}.donut-center span{display:block;font-size:10px;color:#667085}.donut-center strong{font-size:12px}.donut-legend{display:flex;flex-direction:column;gap:8px}.legend-row{display:grid;grid-template-columns:10px 1fr auto;gap:8px;align-items:center;text-decoration:none;color:var(--am-ink);font-size:12px}.legend-row i{width:10px;height:10px;border-radius:50%}.legend-row strong{font-size:11px}
.dual-bars{display:flex;flex-direction:column;gap:10px}.dual-row{display:grid;grid-template-columns:160px 1fr 1fr 80px;gap:10px;align-items:center;padding:10px;border:1px solid #edf1fb;border-radius:14px;text-decoration:none;color:var(--am-ink)}.dual-line{display:grid;grid-template-columns:55px 1fr 70px;gap:8px;align-items:center}.dual-line em{font-style:normal;font-size:10px;font-weight:900;color:#667085}.dual-line i{height:8px;background:#eef1ff;border-radius:999px;overflow:hidden}.dual-line b{display:block;height:100%;border-radius:999px}.dual-line b.sales{background:#5b4bff}.dual-line b.purchases{background:#16b981}.dual-line small{font-size:11px;font-weight:800}.dual-meta{font-size:11px;font-weight:900;color:#5b4bff}
.line-chart{width:100%;height:230px}.grid-lines line{stroke:#edf1fb;stroke-width:1}.trend-line{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.line-chart text{font-size:10px;fill:#667085}.trend-legend{display:flex;gap:16px;margin-top:4px;justify-content:center}.trend-legend span{font-size:11px;font-weight:800}.trend-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}
.heat-grid{display:grid;grid-template-columns:40px repeat(8,1fr);gap:6px}.heat-grid b,.heat-grid strong{font-size:10px;color:#667085;text-align:center}.heat-cell{height:24px;border-radius:8px;background:rgba(91,75,255,calc(.08 + var(--a)*.82));border:1px solid rgba(91,75,255,.08)}.heat-cell:hover{outline:2px solid #5b4bff}
.alert-list{display:flex;flex-direction:column;gap:8px}.alert-item{display:grid;grid-template-columns:1fr auto;gap:2px 10px;text-align:left;border:1px solid #edf1fb;border-radius:12px;background:#fff;padding:10px;cursor:pointer}.alert-item strong{font-size:12px}.alert-item span{font-size:11px;color:#667085}.alert-item em{grid-row:1/3;grid-column:2;align-self:center;font-style:normal;color:#5b4bff;font-size:11px;font-weight:900}.alert-item.critical{border-left:4px solid #ef4444}.alert-item.warning{border-left:4px solid #f97316}.alert-item.ok{border-left:4px solid #16b981}.alert-item.info{border-left:4px solid #06b6d4}
.decision-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.decision-box{min-height:94px;border:1px solid #edf1fb;border-radius:14px;background:#fff;padding:12px;text-decoration:none;color:var(--am-ink)}.decision-box strong{display:block;font-size:12px}.decision-box span{font-size:11px;color:#667085}.decision-box b{display:block;margin-top:8px;font-size:24px}.decision-box.urgent{background:#fff7ed}.decision-box.good{background:#ecfdf5}.decision-box.promo{background:#eff6ff}.decision-box.risk{background:#fef2f2}
.compare-duo{display:grid;grid-template-columns:1fr 1fr;gap:12px}.compare-panel{border:1px solid #edf1fb;border-radius:16px;padding:14px;background:#fff}.compare-panel b{font-size:11px;color:#5b4bff}.compare-panel h3{margin:4px 0 10px}.compare-panel p{display:flex;justify-content:space-between;border-bottom:1px solid #f0f2fa;margin:0;padding:7px 0;font-size:12px;font-weight:700}
.empty-visual{display:grid;place-items:center;min-height:110px;border:1px dashed #d8e0f4;border-radius:14px;color:#667085;font-size:12px;background:#fafbff}
.bi-drawer{position:fixed;right:-430px;top:0;width:390px;max-width:92vw;height:100vh;background:#fff;z-index:1000;box-shadow:-25px 0 50px rgba(24,32,79,.18);transition:.22s ease;padding:24px}.bi-drawer.open{right:0}.bi-drawer-backdrop{position:fixed;inset:0;background:rgba(16,24,40,.28);opacity:0;pointer-events:none;transition:.2s;z-index:999}.bi-drawer-backdrop.open{opacity:1;pointer-events:auto}.drawer-close{position:absolute;right:16px;top:12px;border:0;background:#f2f4ff;border-radius:50%;width:32px;height:32px;font-size:20px}.drawer-content h3{margin-top:30px}
@media(max-width:1500px){.filter-row{grid-template-columns:repeat(5,1fr)}.bi-kpi-strip{grid-template-columns:repeat(3,1fr)}.visual-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.filter-row,.bi-kpi-strip,.visual-grid{grid-template-columns:1fr}.visual-card.wide,.trend-card,.heat-card{grid-column:span 1}.dual-row{grid-template-columns:1fr}.donut-wrap{grid-template-columns:1fr}.main{padding:16px!important}.bi-hero{display:block}.sync-box{margin-top:12px}.active-filters{margin-left:0}.sidebar{width:84px}.sidebar .brand img{max-width:70px}.sidebar-card,.version,.main-nav small,.main-nav span:not(.nav-ico){display:none}}


/* === AnnualManage Phase 6C: Branding UI/UX de objetos visuales reales === */
:root{
  --ap-blue:#315dff;--ap-purple:#5b4bff;--ap-purple2:#7a6cff;--ap-ink:#0f1838;--ap-muted:#667085;--ap-bg:#f6f8ff;--ap-card:#fff;--ap-line:#e4e9f8;
  --ap-green:#16b981;--ap-orange:#f97316;--ap-red:#ef4444;--ap-cyan:#06b6d4;--ap-shadow:0 16px 36px rgba(28,35,90,.08);
}
body{background:var(--ap-bg)!important;color:var(--ap-ink)!important;font-family:Poppins,system-ui,sans-serif!important}.main{padding:22px 26px!important;overflow-x:hidden}.topbar{min-height:76px!important}
.module-tabs{display:none!important}.am-bi-tabs{display:flex;gap:10px;align-items:center;margin:0 0 16px;border-bottom:1px solid var(--ap-line);padding:0 0 10px;overflow:auto}
.am-bi-tabs a{height:34px;display:inline-flex;align-items:center;padding:0 18px;border:1px solid var(--ap-line);border-radius:14px;background:#fff;color:var(--ap-ink);font-size:12px;font-weight:900;text-decoration:none;white-space:nowrap;box-shadow:0 6px 16px rgba(28,35,90,.04)}
.am-bi-tabs a.active{background:linear-gradient(135deg,var(--ap-purple),var(--ap-blue));color:#fff;box-shadow:0 10px 22px rgba(91,75,255,.22)}
.am-bi-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,#fff 0%,#f8fbff 72%,#eef3ff 100%);border:1px solid var(--ap-line);border-radius:20px;box-shadow:var(--ap-shadow);padding:18px 22px;margin-bottom:14px}
.am-bi-hero h2{font-size:26px;margin:2px 0 4px;letter-spacing:-.04em}.am-bi-hero p{margin:0;color:var(--ap-muted);font-size:13px}.hero-action{width:300px;background:#fff;border:1px solid var(--ap-line);border-radius:16px;padding:12px;box-shadow:0 10px 24px rgba(28,35,90,.06)}.hero-action button{width:100%;height:44px}.hero-action small{display:block;margin-top:8px;color:var(--ap-muted);font-size:11px}
.am-bi-filters{background:#fff;border:1px solid var(--ap-line);border-radius:20px;box-shadow:var(--ap-shadow);padding:14px;margin-bottom:14px}.filter-grid{display:grid;grid-template-columns:repeat(10,minmax(105px,1fr)) 108px;gap:9px;align-items:end}.filter-grid label{font-size:9px;text-transform:uppercase;letter-spacing:.07em;font-weight:900;color:#43506d}.filter-grid input,.filter-grid select{height:38px;width:100%;margin-top:4px;border:1px solid #d7dff3;border-radius:10px;padding:0 10px;background:#fff;color:var(--ap-ink);font-weight:800;font-size:12px}.apply-bi{height:38px!important;border-radius:12px!important}
.filter-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;padding-top:11px;border-top:1px solid var(--ap-line)}.filter-actions>span{font-size:10px;text-transform:uppercase;font-weight:900;color:#43506d}.quick,.active-filter-chips span{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:10px;border:1px solid #d7dff3;background:#fff;color:var(--ap-purple);font-size:11px;font-weight:900;text-decoration:none}.quick.active,.active-filter-chips span{background:#f0edff}.quick.danger,.clear-all{color:#e11d48}.active-filter-chips{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.active-filter-chips strong{font-size:10px;text-transform:uppercase}.active-filter-chips a{text-decoration:none;margin-left:6px}.clear-all{font-size:11px;font-weight:900;text-decoration:none}
.kpi-board{display:grid;grid-template-columns:repeat(6,minmax(160px,1fr));gap:12px;margin-bottom:14px}.kpi-card{position:relative;min-height:122px;padding:14px 14px 8px;text-align:left;background:#fff;border:1px solid var(--ap-line);border-radius:17px;box-shadow:var(--ap-shadow);cursor:pointer;transition:.18s ease;overflow:hidden}.kpi-card:hover{transform:translateY(-3px);box-shadow:0 22px 42px rgba(28,35,90,.12)}.kpi-card .ico{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;color:#fff;font-size:18px;background:linear-gradient(135deg,var(--ap-purple),var(--ap-blue));position:absolute;top:14px;right:14px}.ico.green{background:linear-gradient(135deg,#16b981,#0ea66f)}.ico.orange{background:linear-gradient(135deg,#fb923c,#f97316)}.ico.purple{background:linear-gradient(135deg,#7c3aed,#5b4bff)}.ico.cyan{background:linear-gradient(135deg,#06b6d4,#0ea5e9)}.kpi-card span{display:block;color:#475467;font-size:11px;font-weight:900}.kpi-card strong{display:block;margin-top:12px;font-size:24px;letter-spacing:-.05em}.kpi-card em{display:block;color:#10a66f;font-style:normal;font-size:11px;font-weight:900}.kpi-card .spark{width:100%;height:28px;margin-top:5px}
.chart-grid{display:grid;grid-template-columns:repeat(4,minmax(250px,1fr));gap:14px}.chart-card{background:#fff;border:1px solid var(--ap-line);border-radius:18px;box-shadow:var(--ap-shadow);padding:14px;min-height:250px;overflow:hidden}.chart-card.wide{grid-column:span 2}.chart-card header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.chart-card h3{margin:0;font-size:13px;letter-spacing:-.02em}.chart-card header button,.chart-card header a{border:0;background:#f2f0ff;color:var(--ap-purple);border-radius:10px;padding:6px 10px;text-decoration:none;font-size:10px;font-weight:900;cursor:pointer}.am-chart{width:100%;height:205px;display:block}.chart-card.wide .am-chart{height:265px}
.alerts-widget{display:flex;flex-direction:column;gap:8px}.alert-chip{width:100%;display:grid;grid-template-columns:1fr auto;gap:4px 10px;text-align:left;border:1px solid #edf1fb;border-radius:13px;background:#fff;padding:10px 12px;cursor:pointer}.alert-chip strong{font-size:12px}.alert-chip span{font-size:11px;color:var(--ap-muted)}.alert-chip:after{content:'Ver detalle';grid-column:2;grid-row:1/3;align-self:center;color:var(--ap-purple);font-size:10px;font-weight:900}.alert-chip.critical{border-left:4px solid var(--ap-red)}.alert-chip.warning{border-left:4px solid var(--ap-orange)}.alert-chip.ok{border-left:4px solid var(--ap-green)}.alert-chip.info{border-left:4px solid var(--ap-cyan)}
.decision-widget{min-height:250px}.decision-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.decision-grid button{min-height:92px;border:1px solid #e6ebf8;border-radius:14px;background:#fff;text-align:left;padding:12px;cursor:pointer}.decision-grid strong{display:block;font-size:11px}.decision-grid b{display:block;font-size:26px;margin:5px 0;color:var(--ap-purple)}.decision-grid span{font-size:10px;color:var(--ap-muted)}
.am-chart-tooltip{position:fixed;z-index:9999;background:#111827;color:#fff;border-radius:10px;padding:8px 10px;font-size:11px;font-weight:700;box-shadow:0 10px 30px rgba(0,0,0,.18);pointer-events:none;opacity:0;transform:translateY(4px);transition:.12s}.am-chart-tooltip.show{opacity:1;transform:translateY(0)}
.bi-drawer{position:fixed;right:-430px;top:0;width:390px;max-width:92vw;height:100vh;background:#fff;z-index:1000;box-shadow:-25px 0 50px rgba(24,32,79,.18);transition:.22s ease;padding:24px}.bi-drawer.open{right:0}.bi-drawer-backdrop{position:fixed;inset:0;background:rgba(16,24,40,.28);opacity:0;pointer-events:none;transition:.2s;z-index:999}.bi-drawer-backdrop.open{opacity:1;pointer-events:auto}.drawer-close{position:absolute;right:16px;top:12px;border:0;background:#f2f4ff;border-radius:50%;width:32px;height:32px;font-size:20px}.drawer-content h3{margin-top:30px}
@media(max-width:1500px){.filter-grid{grid-template-columns:repeat(5,1fr)}.kpi-board{grid-template-columns:repeat(3,1fr)}.chart-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.filter-grid,.kpi-board,.chart-grid{grid-template-columns:1fr}.chart-card.wide{grid-column:span 1}.am-bi-hero{display:block}.hero-action{width:auto;margin-top:12px}.active-filter-chips{margin-left:0}.main{padding:16px!important}.sidebar{width:84px}.sidebar-card,.version,.main-nav small,.main-nav span:not(.nav-ico){display:none}}

/* === Phase 6D: filtros avanzados + inteligencia gerencial === */
.advanced-bi-filters{margin-top:12px;border-top:1px solid var(--ap-line);padding-top:10px}
.advanced-bi-filters summary{cursor:pointer;color:var(--ap-purple);font-size:11px;font-weight:900;list-style:none}
.advanced-bi-filters summary::-webkit-details-marker{display:none}
.advanced-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:10px}
.advanced-grid label{font-size:9px;text-transform:uppercase;letter-spacing:.07em;font-weight:900;color:#43506d}
.advanced-grid input,.advanced-grid select{height:38px;width:100%;margin-top:4px;border:1px solid #d7dff3;border-radius:10px;padding:0 10px;background:#fff;color:var(--ap-ink);font-weight:800;font-size:12px}
.bi-intelligence-panel{background:#fff;border:1px solid var(--ap-line);border-radius:18px;box-shadow:var(--ap-shadow);padding:14px;margin:0 0 14px}
.bi-intelligence-panel header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.bi-intelligence-panel h3{font-size:16px;margin:2px 0 0;letter-spacing:-.03em}.bi-intelligence-panel small{max-width:460px;color:var(--ap-muted);font-size:11px;text-align:right}
.insight-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.insight-card{border:1px solid #edf1fb;border-radius:15px;background:#fff;min-height:112px;padding:12px;text-align:left;cursor:pointer;transition:.18s ease}
.insight-card:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(28,35,90,.10)}.insight-card span{display:block;font-size:10px;color:#667085;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.insight-card strong{display:block;margin:7px 0;font-size:16px;line-height:1.1;letter-spacing:-.03em}.insight-card em{display:block;font-style:normal;font-size:10.5px;color:#667085;line-height:1.35}
.insight-card.good{background:linear-gradient(180deg,#fff,#f0fdf4);border-color:#bbf7d0}.insight-card.warn{background:linear-gradient(180deg,#fff,#fff7ed);border-color:#fed7aa}.insight-card.bad{background:linear-gradient(180deg,#fff,#fef2f2);border-color:#fecaca}.insight-card.info{background:linear-gradient(180deg,#fff,#eff6ff);border-color:#bfdbfe}
@media(max-width:1500px){.insight-grid{grid-template-columns:repeat(3,1fr)}.advanced-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.insight-grid,.advanced-grid{grid-template-columns:1fr}.bi-intelligence-panel header{display:block}.bi-intelligence-panel small{text-align:left;display:block;margin-top:6px}}


/* === AnnualManage 2.3.0 stable-core: menú completo sin perder módulos === */
.main-nav{gap:8px}
.nav-sub{
  margin:-2px 0 8px 35px;
  padding:4px 0 4px 10px;
  border-left:2px solid #E1E6FF;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.nav-sub a{
  min-height:0!important;
  display:block!important;
  padding:7px 10px!important;
  border-radius:10px!important;
  font-size:11px!important;
  font-weight:800!important;
  color:#667085!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
}
.nav-sub a:hover,.nav-sub a.active{
  color:var(--annual, #5B4BFF)!important;
  background:#F3F2FF!important;
}
.module-tabs{
  display:flex!important;
  gap:8px!important;
  align-items:center!important;
  overflow:auto!important;
  margin:0 0 14px!important;
  padding:4px 0 8px!important;
  border-bottom:1px solid #E7ECF8!important;
}
.module-tabs a{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  padding:10px 12px!important;
  border-radius:13px!important;
  border:1px solid #DDE3F3!important;
  background:#fff!important;
  color:#344054!important;
  font-weight:800!important;
  font-size:12px!important;
  box-shadow:0 8px 16px rgba(16,24,40,.03)!important;
  white-space:nowrap!important;
}
.module-tabs a small{font-size:10px!important;font-weight:600!important;color:#667085!important}
.module-tabs a.active,.module-tabs a:hover{
  background:linear-gradient(135deg,#5B4BFF,#3E54FF)!important;
  color:#fff!important;
  border-color:#5B4BFF!important;
}
.module-tabs a.active small,.module-tabs a:hover small{color:#eef!important}
.field small.muted{font-size:11px;margin-top:4px;display:block}
@media(max-width:900px){
  .nav-sub{display:none}
  .module-tabs{display:flex!important}
}


/* =========================================================
   AnnualManage 2.3.1 - Menú unificado
   Objetivo: eliminar desorden de 3 menús.
   - Sidebar solo módulos principales.
   - Barra horizontal superior como único submenú.
   - Se oculta el menú interno duplicado del BI.
   ========================================================= */
.nav-sub{display:none!important}
.module-tabs.unified-tabs{
  display:flex!important;
  gap:10px!important;
  align-items:center!important;
  overflow:auto!important;
  margin:0 0 16px!important;
  padding:0 0 10px!important;
  border-bottom:1px solid #E5EAF6!important;
}
.module-tabs.unified-tabs a{
  min-height:34px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:8px 14px!important;
  border:1px solid #DDE5F3!important;
  border-radius:14px!important;
  background:#fff!important;
  color:#18233D!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  font-weight:900!important;
  font-size:12px!important;
  box-shadow:0 6px 16px rgba(28,35,90,.04)!important;
}
.module-tabs.unified-tabs a small{
  font-size:10px!important;
  color:#667085!important;
  font-weight:700!important;
}
.module-tabs.unified-tabs a.active,
.module-tabs.unified-tabs a:hover{
  background:linear-gradient(135deg,#5B4BFF,#3E54FF)!important;
  color:#fff!important;
  border-color:transparent!important;
  box-shadow:0 10px 22px rgba(91,75,255,.22)!important;
}
.module-tabs.unified-tabs a.active small,
.module-tabs.unified-tabs a:hover small{color:#EEF2FF!important}

/* BI ya tiene submenú horizontal global arriba; este menú interno era la tercera repetición. */
.am-bi-tabs{display:none!important}

/* La navegación principal queda limpia y compacta */
.main-nav a small{font-size:10px!important;opacity:.75!important}
.sidebar .version{font-size:10px!important}

/* Ajustes para que el contenido suba al quitar menú duplicado */
.bi-page .am-bi-tabs + *,
.bi-page .bi-kpi-grid{margin-top:0!important}

@media(max-width:900px){
  .module-tabs.unified-tabs{display:flex!important}
}


/* AnnualManage 2.3.4 - tiendas: eliminar y limpiar duplicados */
.btn.danger,
.btn.small.danger{background:#EF4444!important;color:#fff!important;border-color:#EF4444!important}
.btn.ghost.danger{background:#fff!important;color:#EF4444!important;border-color:#FCA5A5!important}
.actions.compact{display:flex!important;gap:7px!important;align-items:center!important;flex-wrap:wrap!important}
.delete-dialog{
  border:0;
  border-radius:20px;
  padding:0;
  max-width:520px;
  box-shadow:0 30px 90px rgba(16,24,40,.25);
}
.delete-dialog::backdrop{background:rgba(15,23,42,.45)}
.delete-dialog form{padding:24px}
.delete-dialog input{
  width:100%;
  border:1px solid #D7DEEF;
  border-radius:12px;
  padding:12px;
  margin:8px 0 16px;
}
.duplicate-box{
  border:1px solid #E2E8F0;
  border-radius:18px;
  padding:18px;
  margin:18px 0;
  background:#fff;
}
.duplicate-box table{width:100%;border-collapse:collapse}
.duplicate-box th,.duplicate-box td{padding:10px;border-bottom:1px solid #E7ECF8;text-align:left}
.alert.warning{background:#FFF7ED!important;border-color:#FDBA74!important;color:#9A3412!important}

/* AnnualManage BI Step 4: interacción viva, filtros trazables y actualización sin recarga */
.bi-step4-live .am-chart{cursor:crosshair;transition:transform .18s ease, filter .18s ease}
.bi-step4-live .chart-card:hover .am-chart{transform:translateY(-1px)}
.bi-live-dim{opacity:.55;pointer-events:none;transition:opacity .18s ease}
.bi-live-loading::after{content:'Actualizando BI trazable...';position:fixed;right:22px;bottom:22px;background:#101828;color:#fff;border-radius:16px;padding:12px 16px;font-size:12px;font-weight:800;z-index:1200;box-shadow:0 16px 44px rgba(16,24,40,.24)}
.bi-live-toast{position:fixed;right:22px;bottom:22px;background:#101828;color:#fff;border-radius:16px;padding:12px 16px;font-size:12px;font-weight:800;z-index:1300;opacity:0;transform:translateY(8px);pointer-events:none;transition:.18s ease;max-width:420px}.bi-live-toast.show{opacity:1;transform:translateY(0)}
.active-filter-chips button{border:0;background:transparent;color:#5C3AED;font-weight:900;cursor:pointer;margin-left:4px}.active-filter-chips .clear-all{border:0;background:#fff;color:#D92D20;font-weight:900;cursor:pointer;border-radius:999px;padding:6px 8px}.active-filter-chips span{display:inline-flex;align-items:center;gap:3px}
.bi-trace-head{border:1px solid #E6EAFF;background:linear-gradient(135deg,#F8F7FF,#FFFFFF);border-radius:18px;padding:14px;margin:28px 0 12px}.bi-trace-head span{display:block;text-transform:uppercase;letter-spacing:.08em;color:#5C3AED;font-size:10px;font-weight:900}.bi-trace-head h3{margin:4px 0 8px!important;line-height:1.15}.bi-trace-head strong{font-size:20px;color:#101828}.drawer-content h4{margin:18px 0 8px;font-size:13px;color:#101828}.bi-trace-pills{display:flex;gap:6px;flex-wrap:wrap}.bi-trace-pill{display:inline-flex;border:1px solid #DDE4FF;background:#F5F6FF;color:#5C3AED;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:900}.mini-table td:first-child{color:#667085;text-align:left}.mini-table td:last-child{word-break:break-word}.kpi-card[data-bi-filter-name]{cursor:pointer}.kpi-card[data-bi-filter-name]:hover{outline:2px solid rgba(92,90,237,.18)}

/* Step 4.1: panel BI trazable limpio para usuario final */
.bi-business-note{
  margin-top:16px;
  padding:14px 16px;
  border:1px solid #d9e1ff;
  border-radius:16px;
  background:#f7f8ff;
  color:#475467;
  font-size:13px;
  line-height:1.45;
}
.bi-business-note strong{color:#1f1b5f;}

/* AnnualManage BI Step 5 - detalle gerencial máximo */
.bi-detail-loading{margin:12px 0;padding:12px 14px;border-radius:14px;background:#eef2ff;color:#4338ca;font-weight:700;font-size:12px;}
.bi-deep-detail{margin-top:14px;border-top:1px solid #e5e7f4;padding-top:14px;}
.bi-deep-detail h4{margin:14px 0 8px;font-size:13px;color:#121a33;}
.bi-deep-cards{display:grid;grid-template-columns:1fr;gap:8px;margin:8px 0 12px;}
.bi-deep-card{border:1px solid #dfe5ff;background:#fbfcff;border-radius:16px;padding:12px;display:flex;flex-direction:column;gap:3px;}
.bi-deep-card span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#63708f;font-weight:800;}
.bi-deep-card strong{font-size:18px;color:#0f1730;line-height:1.1;}
.bi-deep-card small{font-size:11px;color:#62708d;font-weight:600;}
.bi-leaders{display:grid;gap:8px;margin-bottom:12px;}
.bi-leader-row{border:1px solid #dfe5ff;background:#fff;border-radius:14px;padding:10px 12px;display:grid;grid-template-columns:1fr;gap:2px;}
.bi-leader-row span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#63708f;font-weight:800;}
.bi-leader-row strong{font-size:13px;color:#121a33;}
.bi-leader-row em{font-style:normal;color:#51607d;font-size:11px;font-weight:700;}
.bi-deep-section{margin-top:12px;}
.bi-deep-list{border:1px solid #edf0fb;border-radius:16px;overflow:hidden;background:#fff;}
.bi-deep-row{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:10px 12px;border-bottom:1px solid #edf0fb;align-items:center;}
.bi-deep-row:last-child{border-bottom:0;}
.bi-deep-row strong{font-size:12px;color:#111a32;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.bi-deep-row span{font-size:12px;font-weight:900;color:#111a32;}
.bi-deep-row small{grid-column:1 / -1;font-size:10.5px;color:#60708f;font-weight:600;}
.bi-business-note ul{margin:8px 0 0 18px;padding:0;}
.bi-business-note li{margin:4px 0;}

/* Paso 5.1: contexto de detalle separado compras / ventas */
.bi-detail-subtitle{font-size:12px;line-height:1.45;color:#667085;margin:0 0 12px 0;}
.bi-deep-detail.compras .bi-deep-card strong,.bi-deep-detail.compras .bi-leader-row strong{color:#0f766e;}
.bi-deep-detail.ventas .bi-deep-card strong,.bi-deep-detail.ventas .bi-leader-row strong{color:#4f46e5;}
.bi-deep-detail.inventario .bi-deep-card strong,.bi-deep-detail.inventario .bi-leader-row strong{color:#0891b2;}

/* Paso 7 — Comparación de períodos BI */
.period-compare-shell{margin:0 0 14px;display:block}.period-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;background:#fff;border:1px solid #E4EAF7;border-radius:18px;padding:16px;box-shadow:0 10px 24px rgba(16,24,40,.05);margin-bottom:12px}.period-hero h3{margin:2px 0 4px;font-size:18px;letter-spacing:-.03em;color:#101828}.period-hero p{margin:0;color:#667085;font-size:12px}.period-select{display:flex;flex-direction:column;gap:5px;min-width:220px}.period-select span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#475467;font-weight:900}.period-select select{height:38px;border:1px solid #D9E1F2;border-radius:11px;background:#fff;padding:0 10px;font-size:11px;font-weight:800;color:#182230}.period-metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:12px}.period-metric{background:#fff;border:1px solid #E4EAF7;border-radius:18px;padding:14px;text-align:left;box-shadow:0 10px 24px rgba(16,24,40,.05);cursor:pointer;transition:.2s;min-height:128px}.period-metric:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(16,24,40,.08)}.period-metric span{display:block;font-size:10px;color:#667085;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.period-metric strong{display:block;margin-top:8px;font-size:20px;letter-spacing:-.04em;color:#101828}.period-metric em{display:block;margin-top:5px;font-style:normal;font-size:11px;color:#667085}.period-metric b{display:inline-flex;margin-top:9px;font-size:11px;border-radius:999px;padding:5px 8px}.period-metric.up b{background:#ECFDF3;color:#067647}.period-metric.down b{background:#FEF3F2;color:#B42318}.period-metric.flat b{background:#F2F4F7;color:#344054}.period-insights{background:#fff;border:1px solid #E4EAF7;border-radius:18px;padding:14px;box-shadow:0 10px 24px rgba(16,24,40,.05);margin-bottom:12px}.period-insights header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}.period-insights h3{margin:0;font-size:14px}.period-insights small{color:#667085}.period-insights>div{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.period-insight{border:1px solid #DCE6FF;border-radius:14px;padding:12px;text-align:left;background:#F8FAFF;cursor:pointer}.period-insight.warning{border-color:#FEDF89;background:#FFFCF5}.period-insight.ok{border-color:#ABEFC6;background:#F6FEF9}.period-insight strong{display:block;font-size:12px;color:#101828}.period-insight span{display:block;margin-top:6px;font-size:11px;color:#475467}.period-insight em{display:block;margin-top:8px;font-style:normal;font-size:10px;color:#667085}.period-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}.period-card{background:#fff;border:1px solid #E4EAF7;border-radius:18px;padding:14px;box-shadow:0 10px 24px rgba(16,24,40,.05);min-height:260px}.period-card header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}.period-card h3{margin:0;font-size:13px}.period-card small{color:#667085;font-size:10px}.period-rank-list{display:grid;gap:7px}.period-rank{position:relative;display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center;border:1px solid #EDF1FA;border-radius:13px;background:#fff;padding:8px;overflow:hidden;cursor:pointer;text-align:left;color:#101828}.period-rank:hover{background:#FAFBFF;border-color:#CED8FF}.period-rank span{font-size:10px;font-weight:900;color:#667085;z-index:1}.period-rank strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:1}.period-rank b{font-size:10px;z-index:1;white-space:nowrap}.period-rank b em{font-style:normal;color:#667085;margin-left:4px}.period-rank i{position:absolute;left:0;bottom:0;height:3px;background:#5C5AED;border-radius:999px}.period-rank.up i{background:#12B76A}.period-rank.down i{background:#F97316}.period-rank.flat i{background:#98A2B3}.period-note,.period-loading,.period-error{background:#fff;border:1px solid #E4EAF7;border-radius:16px;padding:13px 15px;margin-bottom:12px;color:#475467;font-size:12px}.period-error{border-color:#FDA29B;background:#FFFBFA;color:#B42318}.period-loading{background:#F8FAFF;color:#475467}@media(max-width:1200px){.period-metrics{grid-template-columns:repeat(3,1fr)}.period-grid{grid-template-columns:repeat(2,1fr)}.period-insights>div{grid-template-columns:1fr}}@media(max-width:760px){.period-hero{flex-direction:column}.period-select{width:100%}.period-metrics,.period-grid{grid-template-columns:1fr}}
