


body{font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
h1{font-family:var(--serif);font-size:30px;font-weight:600;letter-spacing:-.012em;line-height:1.15;color:var(--ink);font-optical-sizing:auto}
h2{font-weight:600;letter-spacing:-.003em}
.eyebrow,.m-grp,.mpw-pop legend,.mpw-grid-sec th,.di-fin tr.di-sec td,.ia-dl dt,.ia-area,.tip .h,.alerts .src{font-family:var(--sans);font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.eyebrow{font-size:10.5px;color:var(--accent-text)}
:focus-visible{outline-color:var(--focus)}
::selection{background:color-mix(in srgb,var(--brand-yellow) 26%,transparent)}


.u-card-h h2,.card-head h2,.panel-head h2,.panel > h2,.cfg-card h2,.ke-head h2,.drawer-h h2,.mpw-dlg-h h2,.ia-intro h2,.int-how h2,.kpi-title,.op-pf-h h2,.ab-grupo h3,.int-h h3,.per-h,.notif-pop header b{
  font-family:var(--serif);font-weight:600;letter-spacing:-.006em;color:var(--ink)}
.u-card-h h2,.card-head h2,.panel-head h2,.panel > h2,.cfg-card h2,.ia-intro h2,.int-how h2{font-size:18px;line-height:1.25}
.card-head h2 svg.lucide,.u-card-h h2 svg.lucide{width:18px;height:18px;color:var(--muted)}
.kpi-title{font-size:19px}
.u-card-h p,.panel-head p,.hint{color:var(--muted)}


.side{background:var(--evg-900);border-right:1px solid rgba(255,255,255,.04);scrollbar-width:thin;scrollbar-color:#1f4a35 transparent}
.side-logo{padding:18px 16px 16px;margin-bottom:6px;border-bottom:1px solid rgba(255,255,255,.07)}
.side-logo img{height:auto;width:100%;max-width:204px;background:#fff;border-radius:var(--r);padding:8px 10px;box-sizing:border-box;box-shadow:0 1px 0 rgba(0,0,0,.2)}
.nav{gap:1px;padding:8px 10px}
.nav a{grid-template-columns:20px minmax(0,1fr) 12px;gap:12px;padding:8px 10px;border-radius:var(--r);color:#e3ebe6;position:relative;transition:background .15s ease,color .15s ease}
.nav a svg.lucide{width:18px;height:18px;stroke-width:1.75;color:#8fb3a0}
.nav a .t{font-size:13.5px;font-weight:600;letter-spacing:.003em}
.nav a .s{font-size:11px;color:#93ab9e;margin-top:1px}
.nav a .chev{width:12px;height:12px;color:#5f8270}
.nav a:hover{background:rgba(255,255,255,.05);color:#fff}
.nav a:hover svg.lucide{color:#b9d3c4}
.nav a[aria-current="page"]{background:rgba(143,220,179,.10);color:#fff;box-shadow:inset 2px 0 0 #6fcf9b}
.nav a[aria-current="page"] svg.lucide{color:#8fdcb3}
.nav a[aria-current="page"] .s{color:#b9d3c4}
.nav a[aria-current="page"] .chev{color:#8fdcb3}
.nav a:focus-visible{outline:2px solid #8fdcb3;outline-offset:1px}
.nav .new{font-family:var(--sans);font-weight:700;background:#c2410c;border-radius:var(--r-sm)}
.side-foot{padding:24px 18px 0;gap:18px}

.side-slogan{font-family:var(--serif);font-style:italic;font-weight:400;color:#c9dbd0;font-size:15.5px;line-height:1.35;letter-spacing:.005em;transform:none;margin:0;padding:2px 0 2px 12px;border-left:2px solid #3fae78}

.side-credit{margin:0 -18px;padding:14px 18px 16px;background:#000;border-top:1px solid rgba(255,255,255,.08);align-items:center;gap:8px;font-family:var(--sans);font-weight:600;font-size:9.5px;letter-spacing:.2em;color:#8e9a93}
.side-credit img{width:120px;height:auto;margin:0;mix-blend-mode:normal}


.topbar{background:color-mix(in srgb,var(--surface) 92%,transparent);border-bottom:1px solid var(--line);padding:11px 28px;min-height:62px}
.search input{border-radius:var(--r);background:var(--surface-2);border:1px solid var(--line);padding:9px 14px 9px 40px;height:38px;font-size:13.5px}
.search input:hover{border-color:var(--line-2)}
.search input:focus-visible{outline:none;border-color:var(--focus);box-shadow:var(--focus-ring);background:var(--surface)}
.search svg.lucide{width:16px;height:16px}
.search-res{border-radius:var(--r-lg);border-color:var(--line-2);box-shadow:var(--shadow-pop)}
.search-res a{border-radius:var(--r)}
.top-right{gap:14px}
.per-btn{height:36px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line-2);font-weight:600;font-size:12.5px;color:var(--ink)}
.per-btn:hover{border-color:var(--evg-600);background:var(--surface)}
.per-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.per-btn svg{color:var(--accent-text)}
.bell{border-radius:var(--r);color:var(--ink-2)}
.bell:hover{background:var(--surface-2);color:var(--ink)}
.bell svg.lucide{width:21px;height:21px}
.bell .badge{background:#c2410c;color:#fff;border-radius:9px;font-size:10px;border-color:var(--surface)}
.user{border-left-color:var(--line);padding-left:16px}
.avatar{width:36px;height:36px;background:var(--evg-900);color:#fff;font-size:12.5px;letter-spacing:.04em;box-shadow:0 0 0 2px var(--surface),0 0 0 3px var(--line-2)}
.user .n{font-size:13.5px}
.user .r{font-size:11.5px;letter-spacing:.02em}
.menu-btn{border-radius:var(--r)}


.wrap{padding-block:26px 48px;gap:22px;padding-inline:28px}
.mod-h,header.top,.cfg-head{position:relative;padding-bottom:16px;border-bottom:1px solid var(--line);align-items:flex-end}
.mod-h::after,header.top::after,.cfg-head::after{content:"";position:absolute;left:0;bottom:-1px;width:64px;height:2px;background:var(--brand-yellow-2)}
.mod-h > div:first-child::before,header.top .brand::before{content:var(--mp-marca,"Empresa A");display:block;font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-text);margin-bottom:6px}
.cfg-head.mod-h{flex-direction:row;justify-content:space-between}
.mod-h .sub,.cfg-head .sub,header.top .sub{color:var(--muted);font-size:13.5px;margin-top:4px}
.mod-a .btn.ghost{background:var(--surface)}


.m-nav a,.cfg-nav a{border-radius:var(--r);font-size:13px;font-weight:500;color:var(--ink-2);padding:7px 12px;transition:background .15s ease,color .15s ease}
.m-nav a svg.lucide,.cfg-nav a svg.lucide{width:16px;height:16px;color:var(--muted)}
.m-nav a:hover,.cfg-nav a:hover{background:var(--surface-3);color:var(--ink)}
.m-nav a[aria-current="page"],.cfg-nav a[aria-current="page"]{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:inset 2px 0 0 var(--brand-yellow-2),0 0 0 1px var(--line)}
.m-nav a[aria-current="page"] svg.lucide,.cfg-nav a[aria-current="page"] svg.lucide{color:var(--accent-text)}
.m-grp{font-size:10px;letter-spacing:.16em;color:var(--muted);padding:14px 12px 5px}
.mod-b.top .m-nav{gap:2px;border-bottom:1px solid var(--line);margin-bottom:-4px}
.mod-b.top .m-nav a{border-radius:0;padding:9px 14px;background:transparent}
.mod-b.top .m-nav a:hover{background:transparent;color:var(--ink);box-shadow:inset 0 -2px 0 var(--line-2)}
.mod-b.top .m-nav a[aria-current="page"]{background:transparent;box-shadow:inset 0 -2px 0 var(--brand-yellow-2)}
@media (max-width:900px){
  .m-nav a,.cfg-nav a{background:var(--surface);border:1px solid var(--line)}
  .m-nav a[aria-current="page"],.cfg-nav a[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--brand-yellow-2);border-color:var(--line-2)}
  .mod-b.top .m-nav a{border:0}
}


.card,.panel,.u-kpi,.ia-h,.ia-intro,.vd-filtros,.ab-grupo,.int-card,.conn-it,.p2-curso,.p2-pl,.di-qb-tile,.pos-card,.di-ind,.kpis{border-color:var(--line);box-shadow:var(--shadow)}
.card,.panel{padding:20px;border-radius:var(--r-lg)}
.card.form-card,.card.kpi-editor,.panel.importer,.importer{box-shadow:inset 0 3px 0 var(--brand-yellow-2),var(--shadow)}
.card-head,.u-card-h{margin-bottom:14px}
.u-card-h{padding-bottom:0}
.card-head .more,.int-go{font-weight:600;color:var(--accent-text)}
.u-note,.map-note,.turn-note,.stock-note{color:var(--muted)}


.u-kpi,.h-kpi{border-top:3px solid var(--brand-yellow-2)}
.u-kpi{padding:14px 16px 14px;gap:4px}
.u-kpi .l,.h-kpi .l,.kpi .l{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);line-height:1.35}
.u-kpi .v,.h-kpi .v,.kpi .v,.di-ind-v{font-weight:700;letter-spacing:-.015em;font-variant-numeric:tabular-nums lining-nums}
.u-kpi .v{font-size:24px}
.h-kpi .v{font-size:27px}
.u-kpi .d,.h-kpi .d{color:var(--muted)}
.u-kpi .ico,.h-kpi .ico{margin-bottom:8px}
.h-kpi.propio{border-color:var(--line);border-top-color:var(--s2)}
.di-ind{border-radius:var(--r-lg)}
.di-ind-h h3{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.net-stats b,.ip-g b,.weather .temp{font-variant-numeric:tabular-nums lining-nums}


.t-table thead th,.cfg-table thead th,.tbl-wrap thead th,.di-fin thead th,.h-table thead th,.pos-tbl thead th,.imp-prev thead th,.mpw-grid thead th{
  font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);background:var(--surface-2);border-bottom:1px solid var(--line-2);padding-top:8px;padding-bottom:8px}
.t-table thead th button:hover,.tbl-wrap thead th button:hover{color:var(--ink)}
.tbl-wrap th[aria-sort] button{color:var(--ink)}
.t-table td,.cfg-table td,.tbl-wrap td,.di-fin td,.h-table td,.pos-tbl td{border-bottom-color:var(--line)}
.t-table td.r,.cfg-table td.r,.tbl-wrap td.r,.h-table td.r,.pos-tbl .r,.di-fin td{font-variant-numeric:tabular-nums lining-nums}
.t-table tbody tr:hover,.tbl-wrap tbody tr:hover,.cfg-table tbody tr:hover{background:color-mix(in srgb,var(--accent-soft) 45%,transparent)}
.t-table tfoot td,.h-table tfoot td{font-weight:700;border-top:1px solid var(--ink-2)}
.di-fin tr.di-gran td{border-top:1.5px solid var(--ink)}
.di-fin tr.di-sec td{font-size:10.5px}
.h-turn{border-radius:var(--r)}
.hm th{font-weight:600;font-size:10.5px;letter-spacing:.04em;text-transform:uppercase}
.hm td{border-radius:2px}
.hm-legend i{border-radius:1px}
.mpw-grid-s{border-radius:var(--r)}


.chip{border-radius:var(--r-sm);font-size:11.5px;font-weight:600;padding:2px 7px;letter-spacing:.005em}
.chip::before{width:6px;height:6px}
.chip.neutral{border-color:var(--line)}
.sample,.pend,.ke-tag,.mpw-mchip,.mpw-badge,.op-asof,.ab-asof{border-radius:var(--r-sm)}
.sample{font-family:var(--sans);font-weight:600;letter-spacing:.02em}
.count{background:#c2410c;color:#fff;border-radius:var(--r-sm);font-size:10.5px;min-width:18px;height:18px}
.mpw-chip,.ia-chip,.imp-stores li,.ab-item,.ia-fwd{border-radius:var(--r-sm)}


.btn{min-height:34px;padding:7px 14px;border-radius:var(--r);border:1px solid var(--btn-bg);background:var(--btn-bg);color:var(--btn-ink);font-size:13px;font-weight:600;letter-spacing:.005em;justify-content:center;transition:background .15s ease,border-color .15s ease,color .15s ease;text-decoration:none}
.btn:hover{filter:none;background:var(--btn-bg-h);border-color:var(--btn-bg-h)}
.btn.ghost{background:var(--surface);color:var(--ink);border:1px solid var(--line-2)}
.btn.ghost:hover{background:var(--surface-2);border-color:var(--axis)}
.btn.small{min-height:28px;padding:4px 10px;font-size:12px;font-weight:600}
.btn.danger{background:#b3372f;border-color:#b3372f;color:#fff}
.btn.danger:hover{background:#9a2c25;border-color:#9a2c25}
.btn.danger-text,.btn.danger-t{color:var(--crit-ink)}
.btn:focus-visible,.icon-btn:focus-visible,.seg button:focus-visible,.per-o:focus-visible,.mpw-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.btn:disabled,.btn:disabled:hover{opacity:.45;background:var(--btn-bg);border-color:var(--btn-bg)}
.btn.ghost:disabled,.btn.ghost:disabled:hover{background:var(--surface);border-color:var(--line-2)}
.icon-btn{border-radius:var(--r);color:var(--ink-2)}
.icon-btn:hover{color:var(--ink)}

.seg{border-radius:var(--r);border-color:var(--line-2);background:var(--surface);padding:2px}
.seg button{border-radius:var(--r-sm);font-weight:500}
.seg button[aria-pressed="true"]{background:var(--btn-bg);color:var(--btn-ink);font-weight:600}
.seg button:hover:not([aria-pressed="true"]){background:var(--surface-2);color:var(--ink)}
.mz{border-radius:var(--r);border-color:var(--line-2)}
.mz button{border-radius:var(--r-sm)}
.di-esc-sel button[aria-pressed="true"]{background:var(--btn-bg);color:var(--btn-ink);border-color:var(--btn-bg)}


:is(.app,.drawer-wrap,.mpw-modal,.rp-wrap) :is(input[type="text"],input[type="email"],input[type="tel"],input[type="number"],input[type="date"],input[type="time"],input[type="datetime-local"],input[type="url"],input[type="password"],input[type="search"]:not(#q),select,textarea){
  border-color:var(--line-2);border-radius:var(--r);transition:border-color .15s ease,box-shadow .15s ease}
:is(.app,.drawer-wrap,.mpw-modal) :is(input,select,textarea):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not(#q):hover{border-color:var(--axis)}
:is(.app,.drawer-wrap,.mpw-modal) :is(input,select,textarea):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not(#q):focus-visible{outline:none;border-color:var(--focus);box-shadow:var(--focus-ring)}
.fld label,.mpw-fl,.ab-lbl,.op-lbl,.ctl label,.ctl .lbl{font-size:12px;font-weight:600;color:var(--ink-2);letter-spacing:.005em}
.f-sec{font-family:var(--sans);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-top:14px}
.chk input,.tasks input,.ke-list label input,.cfg-table.perm input{accent-color:var(--evg-600)}
:root[data-theme="dark"] .chk input{accent-color:var(--brand-yellow)}


.drawer-bg,.mpw-modal-bg{background:rgba(7,24,15,.48);backdrop-filter:blur(1.5px)}
.drawer,.mpw-dlg{box-shadow:-18px 0 48px rgba(7,24,15,.22)}
.drawer-h,.mpw-dlg-h{padding:18px 22px 16px;box-shadow:inset 0 3px 0 var(--evg-900)}
.drawer-h h2,.mpw-dlg-h h2{font-size:21px;line-height:1.2}
.drawer-h p,.mpw-dlg-h p{color:var(--muted)}
.dl dt{font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding-top:2px}
.per-pop,.notif-pop,.mpw-pop,.ab-sy-m,.mpw-ms-l{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-lg);box-shadow:var(--shadow-pop)}
.per-pop{padding:16px}
.per-h{font-size:16px;margin-bottom:12px}
.per-h2{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.per-o{border-radius:var(--r-sm);border-color:var(--line-2);font-size:12.5px}
.per-o:hover{border-color:var(--evg-600);background:var(--surface-2)}
.per-row input{border-color:var(--line-2);border-radius:var(--r)}
.u-per-chip,.per-chip,.op-per,.ab-per,.rh-perchip{border-radius:var(--r);border-color:var(--line-2);background:var(--surface)}
.u-per-chip:hover,.per-chip:hover,.op-per:hover,.ab-per:hover,.rh-perchip:hover{border-color:var(--evg-600)}
.u-per-av{border-radius:var(--r)}
.notif-pop header{border-bottom:1px solid var(--line)}
.notif-pop li a{border-radius:var(--r)}
.tip{border-radius:var(--r);border-color:var(--line-2);box-shadow:var(--shadow-pop);font-size:12.5px}
.tip .h{font-size:10px;letter-spacing:.1em;color:var(--muted)}
.toast{background:var(--evg-900);color:#fff;border-radius:var(--r);border-left:3px solid #6fcf9b;box-shadow:var(--shadow-pop);font-weight:500;padding:11px 18px}
.preview-bar{font-weight:500}


.u-empty{border:1px dashed var(--line-2);border-radius:var(--r-lg);background:var(--surface-2);padding:30px 16px}
.u-empty svg.lucide{color:var(--axis)}
.h-empty,.map-off,.callout,.late-note,.k-cob,.op-dev,.di-check,.di-qb-con,.di-qb-av,.ia-aviso,.int-res{border-radius:var(--r)}
.callout{background:var(--accent-soft);border-left:3px solid var(--brand-yellow-2)}
.callout.green{background:var(--good-bg);border-left-color:var(--good)}


.mpw-btn{border-radius:var(--r-sm);width:26px;height:26px;color:var(--muted);opacity:.85}
.mpw-btn:hover,.mpw-btn[aria-expanded="true"],.mpw-btn.mpw-act{opacity:1}
.mpw-btn svg.lucide{width:14px;height:14px}
.mpw-fp{border-radius:var(--r-lg)}
.mpw-pop legend{font-size:10px}
.ch-legend{font-size:12px}
.ch-legend i,.legend-dots i{border-radius:2px}
svg.ch text,.home .chart text,.panel .chart text{font-family:var(--sans);font-size:10.5px;fill:var(--muted)}
.prog-bar,.hb-bar,.stock .bar,.single,.h-prod-t .pbar{border-radius:2px}
.prog-bar span,.hb-bar span,.stock .bar div,.h-prod-t .pbar i{border-radius:2px}


.hero{isolation:isolate;background:radial-gradient(120% 160% at 100% 0%,#14432d 0%,#0b2419 58%) #0b2419;border-radius:var(--r-lg);min-height:118px;padding:22px 120px 22px 26px;gap:14px 26px;box-shadow:inset 0 -3px 0 var(--brand-yellow)}
.hero .peaks,.foot-banner .peaks{position:absolute;right:0;bottom:0;height:100%;width:auto;z-index:0;pointer-events:none;opacity:.5}
.hero img.logo,.foot-banner img{background:#fff;border-radius:var(--r);padding:6px 10px;box-sizing:content-box}
.hero img.logo{height:48px}
.hero .div{background:rgba(255,255,255,.16)}
.hero .msg::before{content:"Command Center · Executive overview";display:block;font-size:10.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#8fdcb3;margin-bottom:6px}
.hero .msg b{font-family:var(--serif);font-size:23px;font-weight:500;letter-spacing:-.005em;line-height:1.2}
.hero .msg b span{color:#a6e3c2}
.hero .msg small{display:block;margin-top:4px;color:#b9d3c4;font-size:12.5px;letter-spacing:.01em}
.hero .stroke,.foot-banner .stroke{display:none}
.foot-banner{background:radial-gradient(120% 160% at 100% 0%,#14432d 0%,#0b2419 58%) #0b2419;border-radius:var(--r-lg)}
.foot-banner img{height:32px}
.foot-banner b{font-family:var(--serif);font-weight:500;font-size:18px}
.foot-banner .crown{color:#8fdcb3}
@media (max-width:1560px){.hero img.logo{height:42px}}
@media (max-width:820px){.hero{padding:20px 22px 22px}.hero .msg b{font-size:20px}}
.when .row{color:var(--ink-2)}
.weather .sun{color:var(--s3)}
.weather .temp{font-family:var(--serif);font-weight:600}
.alist .ai,.prio .n{border-radius:var(--r)}
.late-i{background:var(--copper);box-shadow:0 0 0 3px color-mix(in srgb,var(--copper) 25%,transparent)}
.map .pulse{stroke:var(--copper)}
.map .state.has{fill:color-mix(in srgb,var(--brand-yellow) 12%,var(--surface-2))}
.net-stats b{font-family:var(--serif);font-weight:600;font-size:22px}
.ke-list li{border-radius:var(--r)}
.ke-list li.on{border-color:var(--brand-yellow-2)}
.k-fil{border-radius:var(--r-sm)}


.int-card{padding:18px;gap:12px}
.int-h h3{font-size:16.5px}
.int-logo{border-radius:var(--r);width:36px;height:36px;border:1px solid color-mix(in srgb,var(--brand-yellow-2) 25%,transparent)}
.int-f{border-top-color:var(--line)}
.int-last dt{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding-top:1px}
.logo-box{border-radius:var(--r-lg)}
.swatches span{border-radius:var(--r-sm)}


.ia-av{border:1px solid color-mix(in srgb,var(--brand-yellow-2) 25%,transparent)}
.ia-n{border-radius:var(--r);font-family:var(--serif)}
.ia-bub{border-radius:var(--r-lg)}
.ia-form input{border-radius:var(--r)}
.op-opt span{border-radius:var(--r-sm)}
.v2-doc{border-radius:var(--r)}
.dropzone{background:rgba(7,24,15,.82)}
:root:not([data-theme="dark"]) .h-kpi .ico{color:var(--accent-text)}


@media (max-width:980px){.topbar{padding:10px 16px;min-height:56px}}
@media (max-width:640px){
  .wrap{padding-inline:16px;padding-block:18px 36px}
  h1{font-size:25px}
  .card,.panel{padding:16px}
  .mod-h > div:first-child::before,header.top .brand::before{font-size:9.5px;letter-spacing:.14em}
}
@media print{
  h1{font-size:20px}
  .mod-h::after,header.top::after,.cfg-head::after,.mod-h > div:first-child::before,header.top .brand::before{display:none}
}
