/* CUMBRE V36 - identidad compartida tierra + verde */
:root{
  --cumbre-green:#1d5a4b;
  --cumbre-green-dark:#123f35;
  --cumbre-green-soft:#e7f0ec;
  --cumbre-brown:#6d5846;
  --cumbre-brown-dark:#4e3d31;
  --cumbre-beige:#efe4d7;
  --cumbre-sand:#c8a56c;
  --cumbre-ink:#4f4034;
  --cumbre-line:#dfd4c7;
}
body{font-family:'Manrope',sans-serif !important;color:var(--cumbre-ink)}
/* Sidebar compartido: verde + detalles tierra */
.cumbre-desktop-sidebar,
.sidebar.shared-module-sidebar{
  background:linear-gradient(180deg,#164c40 0%,#123f35 72%,#5e4a3b 100%) !important;
}
.cumbre-sidebar-brand,.sidebar-logo{border-color:rgba(239,228,215,.18) !important}
.cumbre-sidebar-brand .eyebrow-panel,.menu-title{color:#d9be87 !important}
.cumbre-module-link:hover,.cumbre-module-link.active{background:rgba(255,255,255,.11) !important;border-color:rgba(255,255,255,.13) !important}
.cumbre-module-icon{background:rgba(239,228,215,.13) !important;color:#f5eee6 !important}
.cumbre-module-copy small{color:rgba(255,255,255,.62) !important}
.sidebar-bottom{background:linear-gradient(180deg,transparent 0%,rgba(92,72,56,.22) 100%) !important}
/* Encabezado común de todos los módulos */
.cumbre-module-banner{
  margin:0 0 18px;
  min-height:112px;
  border-radius:22px;
  padding:24px 28px;
  background:linear-gradient(120deg,#164c40 0%,#1f6554 58%,#6d5846 100%);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  box-shadow:0 16px 32px rgba(60,75,62,.13);
  position:relative;
  overflow:hidden;
}
.cumbre-module-banner::after{
  content:'⌁';
  position:absolute;
  right:22px;
  bottom:-38px;
  font-size:150px;
  line-height:1;
  opacity:.12;
}
.cumbre-module-banner .banner-kicker{position:relative;z-index:2;text-transform:uppercase;letter-spacing:1.8px;font-size:9px;font-weight:800;color:#dec48c}
.cumbre-module-banner h1{position:relative;z-index:2;font-family:'Sora',sans-serif;font-size:28px;line-height:1.08;margin:6px 0 6px;color:#fff}
.cumbre-module-banner p{position:relative;z-index:2;font-size:12px;line-height:1.55;color:rgba(255,255,255,.82);max-width:760px;margin:0}
.cumbre-module-banner .banner-tag{position:relative;z-index:2;border:1px solid rgba(255,255,255,.20);background:rgba(255,255,255,.08);border-radius:16px;padding:12px 16px;min-width:150px;text-align:left}
.cumbre-module-banner .banner-tag span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:1.5px;color:#ead8b4;font-weight:800}
.cumbre-module-banner .banner-tag strong{display:block;margin-top:6px;font-family:'Sora',sans-serif;font-size:13px;color:#fff}
.legacy-module-hero{display:none !important}
.module-real .real-head > div:first-child{display:none !important}
.module-real .real-head{justify-content:flex-end !important;margin-top:0 !important}
/* Botones y estados comparten paleta */
button.real-btn.primary,.btn-main,.create-save,.inventory-primary,.finance-primary,.employee-primary,.provider-primary,.config-save{background:var(--cumbre-green-dark) !important;border-color:var(--cumbre-green-dark) !important;color:#fff !important}
.btn-soft,.finance-secondary,.employee-secondary,.provider-secondary,.config-card{border-color:var(--cumbre-line) !important}
/* Menú en todos los módulos */
.app-header .brand-wrap strong{color:var(--cumbre-brown-dark) !important}
.app-header .brand-wrap span{color:#7b6d61 !important}
.app-header .brand-mark{background:var(--cumbre-green-dark) !important}
.user-avatar{background:var(--cumbre-green-soft) !important;color:var(--cumbre-green-dark) !important}
/* Tipografía compartida: Sora títulos / Manrope cuerpo */
h1,h2,h3,h4,.brand-wrap strong,.module-card h3,.desktop-module-copy strong,.drawer-module-text strong,.finance-toolbar h2,.finance-card-head h3,.employee-toolbar h2,.provider-toolbar h2,.receipt-dialog-head h2,.detail-head h2,.exc-card-top h3,.real-head h1{font-family:'Sora',sans-serif !important}
/* Verde suelto de módulos heredados -> verde Cumbre */
.module-real .money,.module-real .badge.blue,.module-real .close-modal{color:var(--cumbre-green-dark) !important}
.module-real .badge.blue{background:var(--cumbre-green-soft) !important}
.finance-stat.positive strong{color:var(--cumbre-green-dark) !important}
.finance-primary{color:#fff !important}
/* Responsive */
@media(max-width:900px){
  .cumbre-module-banner{min-height:98px;border-radius:16px;padding:18px 18px;margin-bottom:14px}
  .cumbre-module-banner h1{font-size:22px}
  .cumbre-module-banner p{font-size:10px;max-width:85%}
  .cumbre-module-banner .banner-tag{display:none}
}
/* V36 - panel lateral a la izquierda y contenido fluido */
body.module-page{padding-left:224px !important;padding-right:0 !important;overflow-x:hidden}
body.module-page .app-header{width:100% !important;margin:0 !important}
.cumbre-desktop-sidebar,.sidebar.shared-module-sidebar{left:0 !important;right:auto !important;width:224px !important;position:fixed !important;top:0 !important;height:100vh !important;z-index:1200 !important}
body.module-page main{max-width:100%}
body.module-page .panel-main,
body.module-page .real-main,
body.module-page .provider-main,
body.module-page .employee-main,
body.module-page .receipt-shell,
body.module-page .config-shell,
body.module-page .exc-shell{width:100% !important;max-width:none !important;margin:0 !important;padding:22px 28px 60px !important}
body.module-page .cumbre-module-banner{width:100% !important}
@media(max-width:1240px) and (min-width:901px){body.module-page{padding-left:205px !important}.cumbre-desktop-sidebar,.sidebar.shared-module-sidebar{width:205px !important}body.module-page .panel-main,body.module-page .real-main,body.module-page .provider-main,body.module-page .employee-main,body.module-page .receipt-shell,body.module-page .config-shell,body.module-page .exc-shell{padding-left:20px !important;padding-right:20px !important}}
@media(max-width:900px){body.module-page{padding-left:0 !important}.cumbre-desktop-sidebar,.sidebar.shared-module-sidebar{width:min(320px,88vw) !important;transform:translateX(-105%) !important;transition:transform .22s ease !important;display:block !important}.cumbre-desktop-sidebar.open,.sidebar.shared-module-sidebar.open{transform:translateX(0) !important}body.module-page .panel-main,body.module-page .real-main,body.module-page .provider-main,body.module-page .employee-main,body.module-page .receipt-shell,body.module-page .config-shell,body.module-page .exc-shell{padding:16px !important}.module-menu-button{display:flex !important}}
/* V36 - verdes residuales en módulos específicos */
.inventory-progress i{background:var(--cumbre-green) !important}.inventory-card-actions button.primary-lite{background:var(--cumbre-green-soft) !important;color:var(--cumbre-green-dark) !important}
.module-real .real-btn.primary{background:var(--cumbre-green-dark) !important}.module-real .badge.blue{background:var(--cumbre-green-soft) !important;color:var(--cumbre-green-dark) !important}
/* tarjetas y detalles: verde como acento, tierra como estructura */
.module-card .module-card-icon{background:var(--cumbre-green-soft) !important;color:var(--cumbre-green-dark) !important}
/* navegación: verde con detalles marrones */
.sidebar-bottom{border-top:1px solid rgba(239,228,215,.10)}
@media print{body.module-page{padding-left:0!important}.cumbre-desktop-sidebar,.app-header{display:none!important}}
/* Panel principal: misma barra a la izquierda */
body:not(.module-page) .sidebar{left:0 !important;right:auto !important;width:224px !important;background:linear-gradient(180deg,#164c40 0%,#123f35 72%,#5e4a3b 100%) !important}
body:not(.module-page) .content{width:calc(100% - 224px) !important;margin-left:224px !important;margin-right:0 !important}
body:not(.module-page) .topbar{width:100% !important}
@media(max-width:1240px) and (min-width:901px){body:not(.module-page) .sidebar{width:205px !important}body:not(.module-page) .content{width:calc(100% - 205px) !important;margin-left:205px !important}}
@media(max-width:900px){body:not(.module-page) .sidebar{left:0 !important;right:auto !important;width:min(320px,88vw) !important;transform:translateX(-105%) !important}.sidebar.open{transform:translateX(0) !important}body:not(.module-page) .content{width:100% !important;margin:0 !important}}
.page-leaving{pointer-events:none}.page-leaving .app-header,.page-leaving main{opacity:.72;transition:opacity .12s ease}
