
:root{--nm2-navy:#0B1733;--nm2-navy-2:#0F1E42;--nm2-navy-3:#15264F;--nm2-amber:#F5A623;--nm2-ink:#FFFFFF;--nm2-ink-2:#C8D2E8;--nm2-line:rgba(255,255,255,0.10);--nm2-line-2:rgba(255,255,255,0.14);--nm2-green:#10B981;--nm2-orange:#F59E0B;}

/* Full-bleed: rompe el container parent */
.nm2-portal-hero,.nm2-kpi-bar{
  position:relative;
  width:100vw;
  left:50%;right:50%;
  margin-left:-50vw;margin-right:-50vw;
}

.nm2-portal-hero{background:linear-gradient(180deg,#0B1733 0%,#0F1E42 100%) !important;color:#FFFFFF !important;padding:48px 0 56px;overflow:hidden;border-bottom:1px solid rgba(255,255,255,0.14);margin-bottom:0;margin-top:-1rem;}
.nm2-portal-hero::before{content:"";position:absolute;top:-40%;right:-10%;width:600px;height:600px;background:radial-gradient(circle,rgba(245,166,35,0.08) 0%,transparent 60%);pointer-events:none;}
.nm2-portal-hero .container{position:relative;max-width:1200px;margin:0 auto;padding:0 24px;}
.nm2-hero-grid{display:flex !important;justify-content:space-between !important;align-items:flex-end !important;gap:40px;flex-wrap:wrap;}
.nm2-hero-eyebrow{font-family:"SF Mono",Menlo,Consolas,monospace !important;font-size:12px !important;letter-spacing:2.4px !important;color:#F5A623 !important;text-transform:uppercase !important;margin-bottom:14px !important;display:flex !important;align-items:center;gap:10px;}
.nm2-hero-eyebrow::before{content:"";width:6px;height:6px;background:#F5A623;border-radius:50%;box-shadow:0 0 12px #F5A623;display:inline-block;}
.nm2-portal-hero .nm2-hero-title{font-size:44px !important;font-weight:700 !important;letter-spacing:-0.02em;margin:0 0 10px 0 !important;line-height:1.05;color:#FFFFFF !important;}
.nm2-portal-hero .nm2-hero-title em{font-style:italic !important;color:#F5A623 !important;font-weight:400 !important;}
.nm2-hero-bc{font-size:13px !important;color:#C8D2E8 !important;display:flex !important;gap:8px;align-items:center;}
.nm2-hero-bc a{color:#C8D2E8 !important;text-decoration:none;}
.nm2-hero-bc a:hover{color:#FFFFFF !important;}
.nm2-hero-bc .sep{opacity:0.5;}
.nm2-portal-hero .nm2-hero-meta{font-family:"SF Mono",Menlo,Consolas,monospace !important;font-size:11px !important;color:#C8D2E8 !important;letter-spacing:1.5px;text-align:right;text-transform:uppercase;}
.nm2-portal-hero .nm2-hero-meta strong{color:#FFFFFF !important;display:block !important;font-size:14px !important;margin-top:4px;letter-spacing:0.5px;font-weight:700 !important;}

.nm2-kpi-bar{background:#0B1733 !important;color:#FFFFFF !important;border-top:1px solid rgba(255,255,255,0.08);border-bottom:1px solid rgba(255,255,255,0.14);margin-bottom:32px;padding:0;}
.nm2-kpi-bar .container{max-width:1200px;margin:0 auto;padding:0 24px;}
.nm2-kpi-row{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:0;}
@media (max-width:768px){.nm2-kpi-row{grid-template-columns:1fr !important;}}
.nm2-kpi-cell{padding:24px 28px !important;border-right:1px solid rgba(255,255,255,0.10);position:relative;}
.nm2-kpi-cell:last-child{border-right:none;}
.nm2-kpi-cell.pagado{background:linear-gradient(180deg,rgba(16,185,129,0.06) 0%,rgba(16,185,129,0.02) 100%) !important;}
.nm2-kpi-cell.pagado::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#10B981;}
.nm2-kpi-cell.pendiente{background:linear-gradient(180deg,rgba(245,158,11,0.06) 0%,rgba(245,158,11,0.02) 100%) !important;}
.nm2-kpi-cell.pendiente::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#F59E0B;}
.nm2-kpi-label{font-family:"SF Mono",Menlo,Consolas,monospace !important;font-size:10px !important;letter-spacing:2px;color:#C8D2E8 !important;text-transform:uppercase;margin-bottom:10px;font-weight:600 !important;}
.nm2-kpi-value{font-size:28px !important;font-weight:700 !important;letter-spacing:-0.01em;color:#FFFFFF !important;}
.nm2-kpi-value, .nm2-kpi-value span, .nm2-kpi-value > span:not(.cur){color:#FFFFFF !important;}
.nm2-kpi-value .cur, .nm2-kpi-bar .nm2-kpi-value .cur{font-size:13px !important;color:#C8D2E8 !important;font-weight:500 !important;margin-right:4px;}
.nm2-kpi-value.pos, .nm2-kpi-value.pos span, .nm2-kpi-value.pos > span:not(.cur){color:#10B981 !important;}
.nm2-kpi-value.pos .cur{color:#10B981 !important;opacity:0.75;}
.nm2-kpi-value.pend, .nm2-kpi-value.pend span, .nm2-kpi-value.pend > span:not(.cur){color:#F59E0B !important;}
.nm2-kpi-value.pend .cur{color:#F59E0B !important;opacity:0.75;}
/* máxima especificidad para vencer cualquier tema */
#wrapwrap.o_portal .nm2-kpi-bar .nm2-kpi-value, 
#wrapwrap.o_portal .nm2-kpi-bar .nm2-kpi-value span{color:#FFFFFF !important;}
#wrapwrap.o_portal .nm2-kpi-bar .nm2-kpi-value.pos, 
#wrapwrap.o_portal .nm2-kpi-bar .nm2-kpi-value.pos span{color:#10B981 !important;}
#wrapwrap.o_portal .nm2-kpi-bar .nm2-kpi-value.pend, 
#wrapwrap.o_portal .nm2-kpi-bar .nm2-kpi-value.pend span{color:#F59E0B !important;}
#wrapwrap.o_portal .nm2-kpi-bar .nm2-kpi-value .cur{color:#C8D2E8 !important;}
#wrapwrap.o_portal .nm2-kpi-bar .nm2-kpi-value.pos .cur{color:#10B981 !important;opacity:0.75;}
#wrapwrap.o_portal .nm2-kpi-bar .nm2-kpi-value.pend .cur{color:#F59E0B !important;opacity:0.75;}
.nm2-kpi-trend{font-size:11px !important;color:#C8D2E8 !important;margin-top:6px;font-family:"SF Mono",Menlo,Consolas,monospace !important;letter-spacing:0.5px;}

.nm2-empty{background:#0B1733 !important;color:#FFFFFF !important;border-radius:8px;padding:48px 32px;text-align:center;margin:24px 0;}
.nm2-empty-icon{font-size:48px;color:#F5A623;margin-bottom:16px;}
.nm2-empty h3{color:#FFFFFF !important;font-size:22px;margin:0 0 8px 0;font-weight:600;}
.nm2-empty p{color:#C8D2E8 !important;font-size:14px;margin:0 0 24px 0;}
.nm2-empty .btn-cta{display:inline-flex;align-items:center;gap:8px;background:#F5A623;color:#0B1733 !important;padding:12px 24px;border-radius:6px;text-decoration:none;font-weight:600;font-size:14px;}
.nm2-empty .btn-cta:hover{background:#FFB840;color:#0B1733 !important;}

/* Suprimir el navbar searchbar viejo en páginas con hero */
.nm2-has-hero .o_portal_navbar{display:none !important;}
/* El container del portal_layout debe perder su padding-top porque el hero ya vino */
.nm2-has-hero #wrap > .container.pt-3{padding-top:0 !important;}

/* Tabla portal: blanca, hover suave */
.nm2-has-hero .o_portal_table,
.nm2-has-hero .table{background:#FFF !important;border:1px solid #E5E7EB;border-radius:8px;overflow:hidden;color:#111827;}
.nm2-has-hero .table thead th{font-family:"SF Mono",Menlo,Consolas,monospace !important;font-size:10px !important;letter-spacing:1.5px;color:#6B7280 !important;text-transform:uppercase;font-weight:600;padding:14px 16px;border-bottom:1px solid #E5E7EB;background:#F9FAFB !important;}
.nm2-has-hero .table tbody td{padding:16px;border-bottom:1px solid #F3F4F6;vertical-align:middle;color:#111827 !important;}
.nm2-has-hero .table tbody tr:last-child td{border-bottom:none;}
.nm2-has-hero .badge.rounded-pill{font-family:"SF Mono",Menlo,Consolas,monospace !important;letter-spacing:1px;font-weight:600 !important;padding:5px 11px;}

