:root{
  --hp-bg:#f6f7f9;
  --hp-surface:#ffffff;
  --hp-surface-2:#f1f4f7;
  --hp-surface-3:#e9eef4;
  --hp-border:#dce4ed;
  --hp-border-strong:#c9d5e2;
  --hp-text:#102033;
  --hp-muted:#66758a;
  --hp-muted-2:#8a97a7;
  --hp-primary:#092a46;
  --hp-primary-2:#135c9b;
  --hp-accent:#b9892e;
  --hp-danger:#b42318;
  --hp-success:#087a52;
  --hp-warning:#9a6400;
  --hp-radius:8px;
  --hp-radius-sm:6px;
  --hp-shadow:0 20px 60px rgba(16,32,51,.08);
  --hp-shadow-soft:0 8px 24px rgba(16,32,51,.06);
  --hp-focus:0 0 0 4px rgba(19,92,155,.16);
  --hp-chile:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 980'%3E%3Cg fill='none' stroke='%23135c9b' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M116 14c-16 35-9 66-25 104-13 31-27 47-25 85 2 34 20 58 12 91-8 34-29 55-24 92 5 36 25 62 14 99-10 35-33 61-25 99 8 39 36 61 28 101-8 43-43 70-34 113 8 37 41 60 35 93-4 23-23 38-17 58 5 18 29 22 39 8 9-12 3-34 15-47 12-13 36-10 49-25 16-19 0-43 10-65 8-19 32-27 30-47-2-24-35-27-40-52-5-27 27-47 22-75-5-31-43-44-42-76 1-30 34-48 28-80-5-29-36-45-31-75 5-31 37-46 30-78-6-28-36-43-31-72 5-31 38-48 31-82-7-32-40-48-35-82 5-35 43-57 31-94-8-25-31-38-45-64z'/%3E%3Cpath d='M93 80c-12 44-18 92-12 137 5 37 18 67 8 106-12 49-28 90-18 143 7 38 24 70 15 111-9 43-30 78-23 124 7 47 35 75 29 121-4 31-18 58-8 89' opacity='.5'/%3E%3Cpath d='M154 824c22 13 34 31 35 52 2 29-24 48-53 46' opacity='.65'/%3E%3Cpath d='M139 906l34 33M111 920l18 39M78 906l-16 38' opacity='.45'/%3E%3C/g%3E%3C/svg%3E");
}
:root{--hp-chile:url("chile-map.svg")}

*{box-sizing:border-box}
html,body{background:var(--hp-bg)!important;color:var(--hp-text)!important}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Inter","Segoe UI",system-ui,sans-serif!important;
  letter-spacing:0!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4{letter-spacing:0!important;color:var(--hp-primary)}
p{line-height:1.55}
a{color:var(--hp-primary-2)}
:focus-visible{outline:0;box-shadow:var(--hp-focus)!important}

.panel,.card,.metric,.info,.stage-card,.section-card,.gihp-card,.project-card,.summary-card,.module-card,
.form-section,.proposal-card,.admin-card,.hub-card,.status-card,.client-shell,.client-card,.project,
.tile,.minimal-module-card,.minimal-login-card{
  border:1px solid var(--hp-border)!important;
  border-radius:var(--hp-radius)!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:var(--hp-shadow-soft)!important;
}
.panel:hover,.card:hover,.tile:hover,.minimal-module-card:hover{border-color:var(--hp-border-strong)!important}

button,.btn,a.btn,input,select,textarea,.field,.select{
  border-radius:var(--hp-radius)!important;
  letter-spacing:0!important;
}
button,.btn,a.btn{
  min-height:38px;
  font-weight:750!important;
  transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
button:hover,.btn:hover,a.btn:hover{transform:translateY(-1px)}
.btn.primary,button.primary,.minimal-submit,.subnav button.active,.request-tabs button.active{
  background:var(--hp-primary)!important;
  border-color:var(--hp-primary)!important;
  color:#fff!important;
  box-shadow:0 12px 28px rgba(9,42,70,.16)!important;
}
.btn.secondary,button.secondary,.back{
  background:#fff!important;
  border:1px solid var(--hp-border)!important;
  color:var(--hp-primary)!important;
  box-shadow:none!important;
}
.btn.danger,button.danger,.btn.red,button.red{
  background:var(--hp-danger)!important;
  border-color:var(--hp-danger)!important;
  color:#fff!important;
}

input,select,textarea,.field,.select{
  border:1px solid var(--hp-border)!important;
  background:#fff!important;
  color:var(--hp-text)!important;
  box-shadow:inset 0 1px 0 rgba(16,32,51,.02)!important;
}
input::placeholder,textarea::placeholder{color:var(--hp-muted-2)}

.table,table{border-collapse:separate!important;border-spacing:0!important}
.table th,table th{
  background:var(--hp-surface-2)!important;
  color:var(--hp-muted)!important;
  border-bottom:1px solid var(--hp-border)!important;
  letter-spacing:0!important;
}
.table td,table td{border-bottom:1px solid #edf1f5!important}
.table tr:hover td,table tr:hover td{background:#fbfcfe}
.tag,.badge,.chip,.status-chip,.client-badge{
  border-radius:999px!important;
  border:1px solid rgba(102,117,138,.14);
  font-weight:800!important;
}

.sidebar,.topbar,.top,header.top{
  background:rgba(255,255,255,.88)!important;
  border-color:var(--hp-border)!important;
  box-shadow:none!important;
  backdrop-filter:blur(18px);
}
.sidebar{color:var(--hp-text)!important}
.navitem.active,.nav button.active{
  background:#edf4fa!important;
  color:var(--hp-primary-2)!important;
  box-shadow:none!important;
}

.minimal-login,.minimal-gateway{
  background:
    radial-gradient(circle at 18% 14%,rgba(19,92,155,.09),transparent 28%),
    radial-gradient(circle at 84% 24%,rgba(185,137,46,.12),transparent 24%),
    linear-gradient(135deg,#fbfcfd 0%,#f4f7fa 46%,#eef3f7 100%)!important;
}
.minimal-login-card{
  width:min(440px,92vw)!important;
  padding:42px 44px!important;
  backdrop-filter:blur(20px);
}
.login-stage{
  position:relative;
  z-index:2;
  width:min(1080px,94vw);
  display:grid;
  grid-template-columns:minmax(300px,.9fr) minmax(360px,440px);
  gap:32px;
  align-items:center;
}
.chile-map-card{
  min-height:560px;
  border:1px solid rgba(220,228,237,.86);
  border-radius:14px;
  background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(247,250,253,.76));
  box-shadow:var(--hp-shadow);
  display:grid;
  grid-template-columns:minmax(0,1fr) 210px;
  gap:24px;
  align-items:center;
  padding:34px;
  overflow:hidden;
}
.chile-map-card img{
  width:100%;
  max-height:470px;
  object-fit:contain;
  filter:drop-shadow(0 18px 32px rgba(9,42,70,.12));
}
.chile-map-copy span,.gateway-map span{
  display:block;
  color:var(--hp-primary-2);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}
.chile-map-copy strong,.gateway-map strong{
  display:block;
  margin-top:8px;
  color:var(--hp-primary);
  font-size:28px;
  line-height:1.08;
}
.chile-map-copy p,.gateway-map p{color:var(--hp-muted);margin:12px 0 0}
.minimal-login-card h1{font-size:28px!important}
.minimal-login-card label{letter-spacing:0!important;color:var(--hp-muted)!important}
.premium-error,.form-error,.error{
  border:1px solid #f1c9c4!important;
  background:#fff3f1!important;
  color:#9f2318!important;
  border-radius:var(--hp-radius)!important;
  padding:12px 14px!important;
}
.chile-outline,.gateway-chile,.chile{
  background-image:var(--hp-chile)!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  opacity:.11!important;
}
.chile-outline path,.gateway-chile path,.chile path{opacity:0!important}
.login-rings{opacity:.45}
.gateway-layout{
  display:grid;
  grid-template-columns:270px minmax(0,1fr);
  gap:30px;
  align-items:start;
}
.gateway-map{
  position:sticky;
  top:110px;
  min-height:560px;
  display:grid;
  grid-template-rows:1fr auto;
  gap:18px;
  padding:22px;
  border:1px solid var(--hp-border);
  border-radius:14px;
  background:rgba(255,255,255,.82);
  box-shadow:var(--hp-shadow-soft);
}
.gateway-map img{
  width:100%;
  height:390px;
  object-fit:contain;
  filter:drop-shadow(0 16px 26px rgba(9,42,70,.12));
}
.gateway-copy h1{font-size:clamp(34px,4vw,56px)!important}
.gateway-copy>span,.eyebrow,.brand-sub,.brandsub,.panel-sub,.muted{letter-spacing:0!important}
.minimal-modules-grid{gap:16px!important}
.minimal-module-card{min-height:248px!important}
.module-symbol,.icon,.navicon,.avatar{
  border-radius:var(--hp-radius)!important;
  background:#edf4fa!important;
  color:var(--hp-primary-2)!important;
}
.module-open,.go{border-color:#edf1f5!important}

.connection-status,.pwa-guide-toast,.toast{
  border:1px solid var(--hp-border)!important;
  background:rgba(255,255,255,.96)!important;
  color:var(--hp-text)!important;
  box-shadow:var(--hp-shadow)!important;
  border-radius:var(--hp-radius)!important;
}
.pwa-guide-toast{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:9999;
  max-width:min(360px,calc(100vw - 36px));
  padding:14px 16px;
  font-size:14px;
}

.content,main.wrap{max-width:1500px}
.hero,.dashboard-hero,.proposal-hero,.module-hero,.truck-hero{
  border-radius:var(--hp-radius)!important;
  box-shadow:var(--hp-shadow-soft)!important;
}

/* Reading-focused dashboard refinements */
.dashboard-hero,.hero{
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(242,246,250,.94))!important;
  border:1px solid var(--hp-border)!important;
  padding:22px 24px!important;
}
.dashboard-hero h1,.hero h1{font-size:clamp(26px,2.3vw,38px)!important}
.executive-cards,.cards{
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;
}
.metric,.edp-kpi,.client-card{
  min-height:108px!important;
  display:flex!important;
  flex-direction:column;
  justify-content:center;
}
.metric-value,.edp-kpi strong{
  font-size:clamp(22px,2vw,30px)!important;
  line-height:1.1!important;
}
.v8-alert-strip,.edp-alert-grid{
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;
}
.v8-project-grid{
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr))!important;
}
.v8-project-card,.contract-portfolio-card,.document-library-card,.approval-card,.task-card{
  border-radius:10px!important;
}
.v8-project-stats,.edp-project-summary,.edp-client-summary{
  gap:8px!important;
}
.v8-project-stats>div,.edp-project-summary span,.edp-client-summary span{
  background:#f8fafc;
  border:1px solid #eef2f6!important;
  border-radius:8px;
  padding:8px!important;
}
.edp-kpis{
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;
  gap:12px!important;
}
.edp-kpi:after{display:none!important}
.edp-client-group>summary,.edp-project summary,.oc-project summary{
  background:#fbfcfe!important;
}
.edp-client-group:not([open]),.edp-project:not([open]),.oc-project:not([open]){
  box-shadow:none!important;
}
.executive-hero{
  align-items:center!important;
  margin-bottom:14px!important;
}
.exec-kpis{
  display:grid;
  grid-template-columns:1.1fr .8fr .8fr;
  gap:12px;
  margin-bottom:12px;
}
.exec-kpis .metric{
  min-height:116px!important;
  padding:20px 22px!important;
}
.exec-kpis .metric:after{display:none!important}
.exec-kpis .metric:first-child{
  background:linear-gradient(135deg,#ffffff,#eef5fb)!important;
  border-color:#cad9e8!important;
}
.exec-alert-panel{
  background:#fff;
  border:1px solid var(--hp-border);
  border-radius:var(--hp-radius);
  box-shadow:var(--hp-shadow-soft);
  padding:16px;
  margin-bottom:14px;
}
.exec-alert-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  margin-bottom:12px;
}
.exec-alert-head h2{margin:3px 0 0;font-size:18px}
.exec-alert-list{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}
.exec-alert-card{
  min-height:112px;
  display:grid;
  grid-template-columns:14px minmax(0,1fr);
  grid-template-rows:1fr auto;
  align-items:start;
  gap:8px 10px;
  padding:13px;
  text-align:left;
  border:1px solid var(--hp-border);
  border-radius:var(--hp-radius);
  background:#fbfcfe;
  color:var(--hp-text);
  box-shadow:none;
}
.exec-alert-card.rojo{border-left:4px solid var(--hp-danger)}
.exec-alert-card.amarillo{border-left:4px solid #d89218}
.exec-alert-card.verde{border-left:4px solid var(--hp-success)}
.exec-alert-card strong,.exec-alert-card small,.exec-alert-card em,.exec-alert-card b{display:block}
.exec-alert-card strong{
  color:var(--hp-primary);
  line-height:1.2;
  font-size:13px;
}
.exec-alert-card small{
  color:var(--hp-muted);
  font-size:10px;
  margin-top:4px;
}
.exec-alert-card em{
  color:#8b610f;
  font-size:10px;
  font-style:normal;
  margin-top:8px;
}
.exec-alert-card b{
  grid-column:2;
  color:var(--hp-primary);
  font-size:13px;
}
.exec-panel-head{
  align-items:flex-start!important;
}
.segmented{
  display:flex;
  gap:3px;
  padding:3px;
  border:1px solid var(--hp-border);
  border-radius:var(--hp-radius);
  background:#f3f6f9;
}
.segmented button{
  min-height:34px;
  border:0;
  border-radius:6px!important;
  background:transparent;
  color:var(--hp-muted);
  padding:7px 10px;
  cursor:pointer;
  font-size:12px;
}
.segmented button.active{
  background:#fff;
  color:var(--hp-primary);
  box-shadow:0 4px 12px rgba(16,32,51,.08);
}
.exec-table-wrap{
  overflow:auto;
}
.exec-project-table{
  min-width:1040px!important;
}
.exec-project-table th{
  background:#f8fafc!important;
  color:#748197!important;
}
.exec-project-table td{
  vertical-align:middle;
}
.exec-project-table tbody tr{
  transition:background .14s ease;
}
.exec-project-table tbody tr:hover{
  background:#f7fbff!important;
}
.exec-project-name strong,.exec-project-name small{display:block}
.exec-project-name strong{
  color:var(--hp-primary);
  font-size:13px;
  line-height:1.25;
  max-width:430px;
}
.exec-project-name small{
  color:var(--hp-muted);
  font-size:10px;
  margin-top:4px;
}
.exec-progress{
  display:grid;
  gap:6px;
  min-width:130px;
}
.exec-progress span{
  color:var(--hp-primary);
  font-weight:800;
  font-size:12px;
}
.exec-progress i{
  display:block;
  height:6px;
  border-radius:999px;
  overflow:hidden;
  background:#e8eef4;
}
.exec-progress b{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--hp-primary-2),#55a7df);
}
.empty.compact{
  padding:18px!important;
  text-align:left!important;
}
.table-wrap{
  border-radius:10px!important;
  overflow:auto!important;
}
.table th,.table td,table th,table td{
  padding:10px 12px!important;
}
.empty,.empty-block,.client-empty{
  border:1px dashed var(--hp-border)!important;
  border-radius:10px!important;
  background:#fbfcfe!important;
}
.system-data-banner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  border:1px solid var(--hp-border);
  border-radius:12px;
  padding:18px 20px;
  margin-bottom:16px;
  background:#fff;
  box-shadow:var(--hp-shadow-soft);
}
.system-data-banner h2{margin:4px 0 6px}
.system-data-banner p{margin:0;color:var(--hp-muted)}
.system-data-banner.ok-state{border-left:4px solid var(--hp-success)}
.system-data-banner.warn-state{border-left:4px solid var(--hp-warning)}
.system-module-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:12px;
}
.system-module-card{
  border:1px solid var(--hp-border);
  border-radius:10px;
  background:#fff;
  padding:15px;
}
.system-module-card>div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.system-module-card strong{color:var(--hp-primary)}
.system-module-card b{
  display:block;
  font-size:28px;
  color:var(--hp-primary);
  margin-top:13px;
}
.system-module-card small{display:block;color:var(--hp-muted);margin-top:4px}

@media(max-width:900px){
  .minimal-modules-grid,.grid,.cards,.status-cards,.hub-grid{grid-template-columns:1fr!important}
  .gateway-main,.content,main.wrap{padding-left:18px!important;padding-right:18px!important}
  .minimal-login-card{padding:30px 24px!important}
  .exec-kpis{grid-template-columns:1fr!important}
  .exec-alert-list{grid-template-columns:1fr 1fr}
  .exec-panel-head,.exec-panel-head .toolbar{width:100%}
  .segmented{width:100%;overflow:auto}
  .login-stage{grid-template-columns:1fr}
  .chile-map-card{min-height:auto;grid-template-columns:1fr 120px;padding:20px}
  .chile-map-copy strong{font-size:22px}
  .gateway-layout{grid-template-columns:1fr}
  .gateway-map{position:relative;top:auto;min-height:auto;grid-template-columns:120px minmax(0,1fr);grid-template-rows:auto;align-items:center}
  .gateway-map img{height:230px;grid-row:1}
  .gateway-account strong{display:none}
  .chile-outline,.gateway-chile,.chile{display:none!important}
}
@media(max-width:560px){
  .chile-map-card,.gateway-map{grid-template-columns:1fr;text-align:left}
  .chile-map-card img,.gateway-map img{height:260px;order:-1}
  .minimal-login{padding-top:92px!important}
  .executive-hero{align-items:flex-start!important}
  .exec-alert-list{grid-template-columns:1fr}
  .exec-alert-card{min-height:auto}
  .system-data-banner{align-items:flex-start;flex-direction:column}
}

/* ======================================================================
   V12.10.10 — Ajuste visual estable Grupo HP
   Objetivo: corregir desplazamientos sin tocar lógica ni datos.
   ====================================================================== */

/* Selector general de módulos: mapa institucional contenido, nunca dominante */
.minimal-gateway .gateway-main{
  width:min(1240px,calc(100% - 48px));
  max-width:1240px;
  margin:0 auto;
  padding:44px 0 64px!important;
}
.minimal-gateway .gateway-layout{
  grid-template-columns:210px minmax(0,1fr)!important;
  gap:44px!important;
  align-items:start!important;
}
.minimal-gateway .gateway-map{
  position:sticky!important;
  top:112px!important;
  min-height:0!important;
  height:auto!important;
  padding:22px 18px!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.72)!important;
  box-shadow:none!important;
  text-align:left;
}
.minimal-gateway .gateway-map img{
  display:block!important;
  width:100%!important;
  height:390px!important;
  max-height:44vh!important;
  object-fit:contain!important;
  object-position:center!important;
  opacity:.72!important;
  margin:0 auto 18px!important;
}
.minimal-gateway .gateway-map>div{padding:0 4px 4px}
.minimal-gateway .gateway-map span{font-size:10px!important;letter-spacing:.12em!important}
.minimal-gateway .gateway-map strong{font-size:20px!important;margin-top:5px!important}
.minimal-gateway .gateway-map p{font-size:12px!important;margin-top:7px!important}
.minimal-gateway .gateway-copy{max-width:760px;margin-bottom:24px}
.minimal-gateway .gateway-copy h1{font-size:clamp(34px,3.6vw,48px)!important;margin:8px 0 8px!important;line-height:1.03!important}
.minimal-gateway .gateway-copy p{font-size:15px!important;margin:0!important}
.minimal-gateway .minimal-modules-grid{
  max-width:none!important;
  margin:0!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
}
.minimal-gateway .minimal-module-card{
  min-height:190px!important;
  padding:22px!important;
  border-radius:16px!important;
  box-shadow:none!important;
}
.minimal-gateway .minimal-module-card .module-symbol{
  width:44px!important;height:44px!important;margin:25px 0 13px!important;border-radius:12px!important;
}
.minimal-gateway .minimal-module-card strong{font-size:19px!important}
.minimal-gateway .minimal-module-card p{font-size:12px!important;line-height:1.45!important;margin:6px 0 10px!important}
.minimal-gateway .minimal-module-card .module-open{padding-top:14px!important;font-size:12px!important}

/* Financiero: ancho y jerarquía ejecutiva */
.app-shell{grid-template-columns:210px minmax(0,1fr)!important}
.workspace{min-width:0!important;background:#f6f8fb!important}
.topbar{height:60px!important;padding:0 20px!important}
.content{
  width:min(1480px,calc(100% - 40px))!important;
  max-width:1480px!important;
  margin:0 auto!important;
  padding:28px 0 56px!important;
}
.sidebar .navgroup{padding:12px 8px!important}
.sidebar .navitem{padding:9px 10px!important;font-size:12px!important;margin-bottom:2px!important}
.sidebar .navlabel{padding:9px 10px 5px!important;font-size:9px!important}
.sidebar .brandbox{padding:18px 14px 14px!important}

.executive-hero{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:20px!important;
  margin:0 0 18px!important;
  padding:0!important;
}
.executive-hero h1{font-size:30px!important;margin:4px 0 4px!important}
.executive-hero p{font-size:13px!important;margin:0!important;color:#65788d!important}
.executive-hero .actions{flex:0 0 auto!important}

.exec-kpis{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  margin:0 0 20px!important;
}
.exec-kpis .metric{
  min-height:112px!important;
  padding:18px 20px!important;
  border-radius:15px!important;
  box-shadow:none!important;
}
.exec-kpis .metric-value{font-size:28px!important;margin-top:6px!important}
.exec-kpis .metric-foot{font-size:10px!important}

.exec-alert-panel{
  margin:0 0 20px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.exec-alert-head{
  display:flex!important;
  justify-content:space-between!important;
  align-items:end!important;
  gap:16px!important;
  margin-bottom:10px!important;
}
.exec-alert-head h2{font-size:18px!important;margin:4px 0 0!important}
.exec-alert-list{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:9px!important;
}
.exec-alert-card{
  min-width:0!important;
  min-height:124px!important;
  padding:13px 14px!important;
  border:1px solid #e0e7ef!important;
  border-radius:14px!important;
  background:#fff!important;
  display:grid!important;
  grid-template-columns:8px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:10px!important;
  row-gap:8px!important;
  align-items:start!important;
  text-align:left!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.exec-alert-card:hover{border-color:#bdccda!important;transform:translateY(-1px)!important}
.exec-alert-card .traffic{width:7px!important;height:7px!important;margin-top:5px!important}
.exec-alert-card>div{min-width:0!important}
.exec-alert-card strong{
  font-size:12px!important;
  line-height:1.3!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
.exec-alert-card small{font-size:9px!important;line-height:1.3!important;margin-top:4px!important;white-space:normal!important}
.exec-alert-card em{font-size:9px!important;line-height:1.3!important;margin-top:6px!important;font-style:normal!important;color:#9a6400!important}
.exec-alert-card b{grid-column:2!important;font-size:13px!important;color:#102f4d!important;align-self:end!important}

.exec-project-panel{border-radius:16px!important;box-shadow:none!important}
.exec-panel-head{padding:16px 18px!important;align-items:center!important}
.exec-panel-head .toolbar{justify-content:flex-end!important}
#execProjects .exec-table-wrap{overflow:auto!important}
.exec-project-table{min-width:980px!important}
.exec-project-table th{padding:10px 12px!important;font-size:9px!important}
.exec-project-table td{padding:11px 12px!important;font-size:11px!important;vertical-align:middle!important}
.exec-project-name strong{font-size:11px!important;line-height:1.3!important}
.exec-project-name small{font-size:9px!important}
.v8-reasons{display:flex!important;gap:4px!important;flex-wrap:wrap!important;margin-top:5px!important}
.v8-reasons span{font-size:8px!important;padding:3px 6px!important;border-radius:999px!important;background:#fff4dd!important;color:#8a5900!important}
.exec-progress{min-width:82px!important}
.exec-progress span{font-size:10px!important}
.exec-progress i{display:block!important;height:5px!important;background:#e7edf3!important;border-radius:999px!important;overflow:hidden!important;margin-top:5px!important}
.exec-progress i b{display:block!important;height:100%!important;background:#367fb8!important;border-radius:999px!important}

/* Mandantes: bajar la sensación de cajas dentro de cajas */
.contract-portfolio-kpis{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  margin-bottom:14px!important;
}
.contract-portfolio-kpis .metric{min-height:96px!important;padding:15px 16px!important;box-shadow:none!important;border-radius:14px!important}
.contract-portfolio-kpis .metric-value{font-size:24px!important;margin-top:5px!important}
.contract-portfolio-panel{box-shadow:none!important;border-radius:16px!important}
.contract-portfolio-panel>.panel-head{padding:14px 16px!important}
.contract-portfolio-panel .toolbar{gap:7px!important}
.contract-portfolio-panel .search{min-width:260px!important}
.contract-year-groups{padding:12px!important;gap:10px!important}
.contract-year{
  border:1px solid #dbe4ec!important;
  border-radius:14px!important;
  box-shadow:none!important;
}
.contract-year>summary{padding:12px 14px!important;background:#f8fafc!important}
.contract-year[open]>summary{background:#f4f8fb!important;border-bottom:1px solid #e5ebf1!important}
.contract-year-badge{min-width:54px!important;height:36px!important;border-radius:9px!important;font-size:12px!important}
.contract-year>summary strong{font-size:13px!important}
.contract-year>summary small{font-size:9px!important}
.contract-year>summary b{font-size:10px!important;font-weight:800!important}
.contract-year-body{padding:10px!important;background:#fff!important}
.contract-client{
  border:0!important;
  border-bottom:1px solid #e8edf2!important;
  border-radius:0!important;
  margin:0!important;
  background:#fff!important;
}
.contract-client:last-child{border-bottom:0!important}
.contract-client>summary{
  padding:12px 8px!important;
  background:#fff!important;
}
.contract-client[open]>summary{background:#fff!important;border-bottom:0!important}
.contract-client>summary strong{font-size:12px!important}
.contract-client>summary small,.contract-client>summary span{font-size:9px!important}
.contract-card-grid{
  grid-template-columns:1fr!important;
  gap:6px!important;
  padding:0 8px 10px!important;
}
.contract-portfolio-card{
  min-height:58px!important;
  padding:9px 10px!important;
  border:1px solid #e3e9ef!important;
  border-radius:11px!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:8px 12px!important;
  box-shadow:none!important;
}
.contract-code{min-width:42px!important;height:34px!important;font-size:9px!important;border-radius:8px!important}
.contract-portfolio-main h3{font-size:11px!important}
.contract-portfolio-main p{font-size:9px!important}
.contract-portfolio-meta{font-size:9px!important;gap:5px!important}
.contract-portfolio-card>.btn{padding:7px 10px!important;font-size:10px!important;align-self:center!important}

/* Mantener filtros respirables */
.segmented{display:inline-flex!important;padding:3px!important;border-radius:10px!important;background:#eef2f6!important;gap:2px!important}
.segmented button{border:0!important;background:transparent!important;padding:7px 10px!important;border-radius:8px!important;font-size:10px!important;min-height:30px!important}
.segmented button.active{background:#fff!important;color:#0d4f86!important;box-shadow:0 2px 7px rgba(16,32,51,.06)!important}

@media(max-width:1180px){
  .exec-alert-list{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .content{width:calc(100% - 28px)!important}
  .minimal-gateway .gateway-layout{grid-template-columns:180px minmax(0,1fr)!important;gap:28px!important}
  .minimal-gateway .gateway-map img{height:330px!important}
}
@media(max-width:900px){
  .app-shell{grid-template-columns:1fr!important}
  .exec-kpis{grid-template-columns:1fr!important}
  .exec-alert-list{grid-template-columns:1fr 1fr!important}
  .minimal-gateway .gateway-layout{grid-template-columns:1fr!important}
  .minimal-gateway .gateway-map{position:relative!important;top:auto!important;display:grid!important;grid-template-columns:115px minmax(0,1fr)!important;align-items:center!important;padding:14px!important}
  .minimal-gateway .gateway-map img{height:180px!important;max-height:none!important;margin:0!important}
  .minimal-gateway .minimal-modules-grid{grid-template-columns:1fr!important}
  .contract-portfolio-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .contract-portfolio-panel>.panel-head{align-items:flex-start!important;flex-direction:column!important}
  .contract-portfolio-panel .toolbar{width:100%!important}
  .contract-portfolio-panel .toolbar>*{flex:1 1 180px!important}
}
@media(max-width:620px){
  .minimal-gateway .gateway-main{width:calc(100% - 28px)!important;padding-top:24px!important}
  .minimal-gateway .gateway-map{display:none!important}
  .exec-alert-list{grid-template-columns:1fr!important}
  .executive-hero{align-items:flex-start!important;flex-direction:column!important}
  .executive-hero .actions{width:100%!important}
  .executive-hero .actions .btn{flex:1!important}
  .contract-portfolio-kpis{grid-template-columns:1fr!important}
  .contract-portfolio-card{grid-template-columns:1fr!important}
  .contract-portfolio-card>.btn{grid-column:1!important;grid-row:auto!important;width:100%!important}
  .contract-portfolio-meta{grid-column:1!important}
}
