/* CONAVSA ERP · Edición empresarial · Identidad original sin alterar los componentes de negocio. */
:root{--navy:#1d2024;--navy2:#171a1e;--deep:#111418;--teal:#c49312;--teal2:#f3b900;--accent:#ffc21b;--blue:#a97c00;--bg:#f5f6f8;--white:#fff;--text:#202630;--muted:#687280;--line:#e6e8ec;--shadow:0 8px 28px rgba(29,34,43,.055);--focus:#cf9910;--radius:16px}
body.conavsa-authenticated{background:#f6f7f9;color:#22272d}
body.conavsa-authenticated a:not(.nav-link):not(.btn):not(.action-card):not(.module-primary):not(.tile-action){color:#8b6510}
body.conavsa-authenticated .side{width:249px;flex:0 0 249px;padding:24px 14px 15px;background:linear-gradient(150deg,#171a1e,#24282d 85%);box-shadow:2px 0 24px rgba(14,18,22,.12);border-right:1px solid #393e44;z-index:10}
.side .brand-logo{background:transparent;border-radius:0;min-height:71px;padding:0 8px;display:flex;align-items:center;justify-content:center}
.side .brand-logo img{width:100%;height:auto;max-height:67px;object-fit:contain;filter:none}
.side .brand-note{margin:4px 2px 16px;padding:10px 0 13px;border-bottom:1px solid #ffffff1f;color:#aab2bd;letter-spacing:.16em;font-size:9px}
.side .nav{display:grid;gap:3px}
.side .nav-link{min-height:43px;gap:11px;padding:11px 12px;border-radius:9px;font-size:12.5px;color:#bfc4cc;font-weight:620;border-left:3px solid transparent}
.side .nav-link .ico{width:17px;height:17px;opacity:.88}
.side .nav-link:hover{color:#fff;background:#ffffff13}
.side .nav-link.on{color:#171a1e;background:linear-gradient(110deg,#ffc624,#edab05);font-weight:800;border-color:#ffe58d;box-shadow:0 5px 15px #0003}
.side .sidebar-bottom{border-color:#ffffff1e;margin-top:auto;padding-top:15px}
.conavsa-authenticated .main{max-width:none;padding:0 30px 20px;background:#f6f7f9}
.conavsa-authenticated .top{background:transparent;min-height:92px;padding:18px 0;border-bottom:1px solid #e0e4e9;margin-bottom:23px}
.conavsa-authenticated .top h1{color:#242932;font-size:26px;font-weight:800}
.conavsa-authenticated .page-kicker{color:#8b6b20;font-weight:850;letter-spacing:.12em}
.conavsa-authenticated .user-avatar{background:#24282c;color:#ffc21b;width:40px;height:40px;border-radius:11px}
.conavsa-authenticated .top-user{border-radius:12px;gap:11px}
.conavsa-authenticated .user-label b{color:#202328}
.conavsa-authenticated .logout-btn{background:#fff!important;color:#31353a!important;border:1px solid #e2e5eb!important;min-height:41px!important}
.conavsa-authenticated footer{color:#98a0aa;font-size:11px;margin:24px 0 6px}
.conavsa-authenticated .panel,.conavsa-authenticated .hero-stat,.conavsa-authenticated .module-tile,.conavsa-authenticated .action-card{border-radius:13px;border-color:#e7e9ed;box-shadow:0 5px 18px #0e182a0a}
.conavsa-authenticated .module-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.conavsa-authenticated .module-primary{color:#202630;min-height:90px}
.conavsa-authenticated .module-primary:hover,.conavsa-authenticated .action-card:hover{background:#fff9eb}
.conavsa-authenticated .module-glyph{color:#e2a900;background:#fff7df;border:1px solid #ffe8aa;border-radius:12px;width:50px;height:50px}
.conavsa-authenticated .module-glyph .ico{width:25px;height:25px}
.conavsa-authenticated .module-copy strong{font-size:14px}
.conavsa-authenticated .module-copy small{font-size:11px}
.conavsa-authenticated .tile-actions{border-color:#f0f1f3}
.conavsa-authenticated .tile-action{color:#4c4c4c;background:#f5f6f7;font-size:11px}
.conavsa-authenticated .tile-action:hover{background:#fff1c9}
.conavsa-authenticated button:not(.secondary):not(.danger),.conavsa-authenticated .btn:not(.secondary):not(.danger){background:#eab40f;color:#1e2228;border-color:#e0a80a;font-weight:750}
.conavsa-authenticated button:not(.secondary):not(.danger):hover,.conavsa-authenticated .btn:not(.secondary):not(.danger):hover{background:#ffca25}
.conavsa-authenticated .panel-heading{border-color:#eef0f3}
.conavsa-authenticated .field input:focus,.conavsa-authenticated .field select:focus,.conavsa-authenticated .field textarea:focus{border-color:#bd920f;box-shadow:0 0 0 3px #edb52c30}
.conavsa-authenticated .welcome-hero{background:linear-gradient(108deg,#202328 5%,#33383e 67%,#46423a);color:#fff;position:relative;isolation:isolate;min-height:202px;padding:30px 34px;border-radius:15px}
.conavsa-authenticated .welcome-hero:after{content:'';position:absolute;right:5%;bottom:0;width:210px;height:150px;opacity:.15;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0 18px,#f7c545 19px 20px),repeating-linear-gradient(0deg,transparent 0 26px,#f7c545 27px 28px);clip-path:polygon(0 36%,30% 36%,30% 0,70% 0,70% 17%,100% 17%,100% 100%,0 100%)}
.conavsa-authenticated .welcome-hero h2{color:#fff;font-size:clamp(24px,3vw,33px);margin:6px 0 7px}
.conavsa-authenticated .welcome-hero p:not(.eyebrow){color:#ced2d7;max-width:720px}
.conavsa-authenticated .welcome-hero .eyebrow{color:#ffcb39}
.conavsa-authenticated .hero-symbol{color:#ffba08;opacity:.45;transform:scale(3);margin-right:68px}
.conavsa-home-actions{display:flex;gap:12px;flex-wrap:wrap;margin:17px 0 0}
.conavsa-home-actions a{border-radius:8px;padding:9px 14px;font-size:12px;font-weight:800;background:#ffc21b;color:#15181c!important}
.conavsa-home-actions a.secondary{background:#ffffff1c;color:#fff!important;border:1px solid #ffffff52}
.conavsa-authenticated .hero-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.conavsa-authenticated .hero-stat{padding:17px;min-height:123px}
.conavsa-authenticated .hero-stat-icon{color:#c59612}
.conavsa-authenticated .hero-stat strong{font-size:clamp(16px,2.2vw,25px);color:#262a31}
.conavsa-authenticated .eyebrow{color:#91701b}
.conavsa-authenticated .mg-banner{background:linear-gradient(110deg,#23262b,#36383c)!important;border-radius:15px}
.conavsa-authenticated .mg-fill{background:#f9bc11!important}
.conavsa-authenticated .mg-track{background:#eceef0}
.conavsa-authenticated .mg-kpi{border-radius:13px;border-color:#e8eaf0;box-shadow:0 5px 20px #1018200a}
.conavsa-authenticated .mg-kpi strong{color:#282d34}
.conavsa-authenticated .module-heading{background:linear-gradient(105deg,#fff,#f8f3e7);border-color:#ebe7dd}
.conavsa-authenticated .module-heading .module-glyph{width:66px;height:66px}
/* Login · sin fotos de obras ni cifras ficticias */
body.conavsa-guest:has(.conavsa-login-shell){background:#181c20}
.conavsa-guest:has(.conavsa-login-shell) .shell{display:block;min-height:100vh}
.conavsa-guest:has(.conavsa-login-shell) .main{padding:0;max-width:none;min-height:100vh;width:100%}
.conavsa-guest:has(.conavsa-login-shell) .page-content{min-height:100vh}
.conavsa-guest:has(.conavsa-login-shell) footer{display:none}
.conavsa-login-shell{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);min-height:100vh;background:#171b20}
.conavsa-login-story{position:relative;overflow:hidden;isolation:isolate;color:#fff;background:radial-gradient(circle at 4% 95%,#6b5315 0%,transparent 40%),linear-gradient(145deg,#272b30 0%,#171a1e 53%,#0f1317 100%);padding:clamp(28px,5vw,72px);display:flex;flex-direction:column;justify-content:space-between;min-height:670px}
.conavsa-login-story:before{content:'';position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(0deg,transparent 0 62px,#ffffff09 63px 64px),repeating-linear-gradient(90deg,transparent 0 62px,#ffffff08 63px 64px);transform:perspective(700px) rotateX(23deg) scale(1.25);transform-origin:center bottom;opacity:.65}
.conavsa-login-story:after{content:'';position:absolute;right:9%;bottom:18%;width:230px;height:360px;border:1px solid #e5af1859;z-index:-1;clip-path:polygon(0 38%,35% 38%,35% 0,73% 0,73% 21%,100% 21%,100% 100%,0 100%);background:repeating-linear-gradient(90deg,transparent 0 42px,#f3bf1b24 43px 44px),repeating-linear-gradient(0deg,transparent 0 45px,#f3bf1b25 46px 47px);opacity:.9}
.conavsa-story-logo{width:min(380px,85%);height:auto;object-fit:contain}
.conavsa-login-story .story-copy{max-width:650px}
.conavsa-login-story .story-eyebrow{font-size:11px;font-weight:800;color:#ffc72a;letter-spacing:.19em}
.conavsa-login-story h2{font-size:clamp(32px,4.2vw,65px);max-width:650px;letter-spacing:-.045em;line-height:1.05;margin:16px 0 17px;color:#fff}
.conavsa-login-story .story-copy p{max-width:510px;line-height:1.7;color:#d0d2d6;font-size:15px}
.conavsa-story-meta{display:flex;flex-wrap:wrap;gap:22px;border-top:1px solid #ffffff26;padding-top:18px;color:#d6d8dd;font-size:11px;font-weight:750;letter-spacing:.05em}
.conavsa-story-meta span{display:inline-flex;align-items:center;gap:7px}
.conavsa-story-meta span:before{content:'';height:6px;width:6px;background:#f4bb17;border-radius:50%}
.conavsa-login-form-area{background:#f9fafb;display:grid;place-items:center;padding:36px clamp(20px,4vw,75px);min-width:0}
.conavsa-login-form-area .login{margin:0;width:100%;max-width:440px}
.conavsa-login-form-area .login-overline{color:#a47a08;text-align:left;letter-spacing:.18em;margin:0 0 13px;font-weight:850}
.conavsa-login-form-area .login-logo{display:none}
.conavsa-login-form-area .login .panel{border:0;box-shadow:none;background:transparent;padding:0;margin:0}
.conavsa-login-form-area .login .panel-heading{padding:0;border:0;margin:0 0 12px}
.conavsa-login-form-area .login .panel-heading h2{font-size:clamp(28px,3vw,39px);color:#23262c;letter-spacing:-.04em;font-weight:850}
.conavsa-login-form-area .login .panel-body{padding:0}
.conavsa-login-form-area .login .panel-body>p{font-size:14px;line-height:1.6;color:#6f7680;margin:0 0 30px}
.conavsa-login-form-area .field label{color:#343b46;font-weight:800}
.conavsa-login-form-area .field input{background:#fff;border-radius:10px;min-height:55px;border-color:#dfe2e8}
.conavsa-login-form-area .field input:focus{border-color:#ba8e08;box-shadow:0 0 0 3px #ffce2c25}
.conavsa-login-form-area .login .form{gap:21px}
.conavsa-login-form-area .login .form button{justify-self:stretch;background:#ffbf13;color:#181c21;border:0;min-height:56px;font-weight:850;border-radius:10px}
.conavsa-login-form-area .login .form button:hover{background:#ffd04b}
.conavsa-login-form-area .login>p.small{font-size:12px;line-height:1.6;text-align:left;margin-top:25px;color:#818892;border-top:1px solid #e1e4e9;padding-top:18px}
.conavsa-login-form-brand{display:flex;align-items:center;gap:10px;margin-bottom:37px;color:#373b42;font-weight:800;font-size:14px}
.conavsa-login-form-brand .mark{display:inline-grid;place-items:center;background:#26292d;color:#ffc21b;width:32px;height:32px;border-radius:8px;font-weight:900}
@media(max-width:1160px){.conavsa-authenticated .module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.conavsa-authenticated .hero-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.conavsa-authenticated .side{width:100%;height:auto;position:static;padding:11px 13px;display:block}.conavsa-authenticated .side .brand-logo{width:180px;min-height:45px}.conavsa-authenticated .side .brand-logo img{max-height:42px}.conavsa-authenticated .side .brand-note{display:none}.conavsa-authenticated .nav-link.on{border-left-color:#ffda6a}.conavsa-authenticated .main{padding:0 18px 18px}.conavsa-authenticated .top{min-height:75px}}
@media(max-width:760px){.conavsa-login-shell{grid-template-columns:1fr}.conavsa-login-story{min-height:245px;padding:28px 25px;gap:18px}.conavsa-login-story .story-copy h2{font-size:28px;margin:6px 0}.conavsa-login-story .story-copy p{display:none}.conavsa-story-logo{width:220px}.conavsa-story-meta{display:none}.conavsa-login-form-area{padding:30px 25px 45px}.conavsa-login-form-brand{margin-bottom:22px}.conavsa-login-story:after{bottom:-35%;transform:scale(.6)}.conavsa-authenticated .module-grid{grid-template-columns:1fr}.conavsa-authenticated .hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.conavsa-authenticated .welcome-hero{padding:20px}.conavsa-authenticated .hero-symbol{display:none}}
@media(max-width:480px){.conavsa-authenticated .hero-stats{grid-template-columns:1fr}.conavsa-authenticated .main{padding:0 12px 16px}.conavsa-authenticated .top-user .user-label{display:none}.conavsa-authenticated .top h1{font-size:20px}.conavsa-login-story{min-height:208px}.conavsa-login-story .story-copy h2{font-size:24px}}
@media print{.conavsa-login-story{display:none!important}.conavsa-authenticated .side,.conavsa-authenticated .top-user{display:none!important}.conavsa-authenticated .main{padding:0!important;background:#fff!important}.conavsa-authenticated .module-glyph{border:0!important}.conavsa-authenticated button{display:none!important}}
@media(prefers-reduced-motion:reduce){.conavsa-authenticated *, .conavsa-guest *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* ================================================================
   CONAVSA R2 — SISTEMA VISUAL ÚNICO PARA LOS FORMULARIOS Y MÓDULOS.
   No afecta lógica, mensajes de error, exportaciones ni impresión.
   Se aplican reglas solo en la interfaz autenticada.
   ================================================================ */
:root{
 --navy:#252a30;--navy2:#1c2025;--deep:#14171b;
 --teal:#b48a23;--teal2:#d5a32b;--blue:#7c838d;
 --accent:#d6a72d;--bg:#f5f6f8;--white:#ffffff;
 --text:#2a3038;--muted:#6f7782;--line:#e2e5e9;
 --focus:#bd901c;--shadow:0 6px 22px rgba(22,28,34,.065);
 --surface:#fff;--soft:#f7f8fa;--border:#e1e4e8;
}
.conavsa-authenticated .page-content{color:#292f37}
.conavsa-authenticated .side .brand-logo{background:transparent!important;border:0;box-shadow:none}
.conavsa-authenticated .side .nav-link:not(.on){color:#c9cdd3}
.conavsa-authenticated .top{background:#f6f7f9}
.conavsa-authenticated .top h1,.conavsa-authenticated .panel-heading h2,
.conavsa-authenticated .section-caption h2,.conavsa-authenticated .module-heading h2{color:#262b31}
.conavsa-authenticated .panel,.conavsa-authenticated .stat,.conavsa-authenticated .module-tile,
.conavsa-authenticated .mg-filter,.conavsa-authenticated .bank-account-card,
.conavsa-authenticated .bank-total-box,.conavsa-authenticated .receipt-preview,
.conavsa-authenticated .portfolio-note{
 background:#fff;border-color:#e2e6ea;box-shadow:0 5px 20px rgba(25,31,39,.05);
}
.conavsa-authenticated .panel-heading{background:#fff;padding:19px 23px}
.conavsa-authenticated .panel-body{background:#fff}
.conavsa-authenticated .module-heading{background:linear-gradient(115deg,#fff,#f7f5ef)}
.conavsa-authenticated .module-glyph,
.conavsa-authenticated .module-glyph.blue,
.conavsa-authenticated .module-glyph.mint{
 color:#8d6915;background:#fff5d8;border:1px solid #f0dfad;
}
.conavsa-authenticated .module-glyph svg,.conavsa-authenticated .module-glyph .ico{color:#af851e}
.conavsa-authenticated .tag{background:#f8f3e5;color:#756025;border:1px solid #ecdfc2}
.conavsa-authenticated .tile-action{border:1px solid #e6e8eb;background:#f7f8f9;color:#424a55}
.conavsa-authenticated .tile-action:hover{background:#fff4d6;border-color:#ead390;color:#6f521b}
.conavsa-authenticated .action-icon,.conavsa-authenticated .hero-stat-icon,
.conavsa-authenticated .page-kicker{color:#b28a26}
/* Formularios: mismos controles en caja, bancos, contabilidad, proyectos y DGI. */
.conavsa-authenticated .field label,
.conavsa-authenticated label:not(.nav-link){color:#3d444e;font-weight:700}
.conavsa-authenticated .field input:not([type=checkbox]):not([type=radio]),
.conavsa-authenticated .field select,
.conavsa-authenticated .field textarea,
.conavsa-authenticated .form input:not([type=checkbox]):not([type=radio]),
.conavsa-authenticated .form select,
.conavsa-authenticated .form textarea,
.conavsa-authenticated input.control,
.conavsa-authenticated .tablewrap input:not([type=checkbox]):not([type=radio]),
.conavsa-authenticated .tablewrap select,
.conavsa-authenticated .tablewrap textarea{
 background:#fff;color:#242a32;border:1px solid #ced3da;
 border-radius:9px;box-shadow:0 1px 2px rgba(10,16,25,.025);
 min-height:43px;accent-color:#b98c1c;
}
.conavsa-authenticated textarea,.conavsa-authenticated .field textarea{min-height:96px;resize:vertical}
.conavsa-authenticated input::placeholder,.conavsa-authenticated textarea::placeholder{color:#8a929c}
.conavsa-authenticated input:focus-visible,.conavsa-authenticated select:focus-visible,
.conavsa-authenticated textarea:focus-visible{
 border-color:#b48a23!important;outline:2px solid transparent;
 box-shadow:0 0 0 3px rgba(206,166,60,.20)!important;
}
.conavsa-authenticated input[type=checkbox],.conavsa-authenticated input[type=radio]{accent-color:#b58b24}
.conavsa-authenticated .field input:disabled,.conavsa-authenticated .field select:disabled,
.conavsa-authenticated .field textarea:disabled{background:#f0f1f3;color:#858b95;cursor:not-allowed}
.conavsa-authenticated fieldset{border:1px solid #e0e4e8;border-radius:12px}
.conavsa-authenticated legend{color:#343b43;font-weight:750}
.conavsa-authenticated .form-note,.conavsa-authenticated .portfolio-note{
 background:#f9f6ed;color:#5d543d;border:1px solid #eee2c5;
}
/* Acciones: dorado solo para primarias; secundarias discretas; peligros rojos. */
.conavsa-authenticated button:not(.secondary):not(.danger):not(.line-remove),
.conavsa-authenticated .btn:not(.secondary):not(.danger):not(.line-remove){
 background:#e7b638;color:#22272e;border:1px solid #d5a630;
 border-radius:9px;box-shadow:none;
}
.conavsa-authenticated button:not(.secondary):not(.danger):not(.line-remove):hover,
.conavsa-authenticated .btn:not(.secondary):not(.danger):not(.line-remove):hover{
 background:#f1c653;border-color:#dfb63d;box-shadow:0 3px 12px rgba(186,137,29,.13)
}
.conavsa-authenticated button.secondary,.conavsa-authenticated .btn.secondary{
 background:#f5f6f7;color:#373e46;border:1px solid #dce0e5;border-radius:9px;
}
.conavsa-authenticated button.secondary:hover,.conavsa-authenticated .btn.secondary:hover{
 background:#e9ebef;color:#1f252b
}
.conavsa-authenticated button.danger,.conavsa-authenticated .btn.danger,
.conavsa-authenticated .line-remove{background:#fff1f1!important;color:#a5303a!important;border-color:#ecc4c6!important}
.conavsa-authenticated button.danger:hover,.conavsa-authenticated .btn.danger:hover,
.conavsa-authenticated .line-remove:hover{background:#ffe5e5!important}
/* Tablas de documentos: cabecera uniforme gris carbón, filas neutras. */
.conavsa-authenticated .tablewrap{border:1px solid #e1e5e9;border-radius:11px;overflow-x:auto;box-shadow:none}
.conavsa-authenticated .tablewrap table{background:#fff}
.conavsa-authenticated .tablewrap thead th,
.conavsa-authenticated .bank-voucher-table thead th,
.conavsa-authenticated .portfolio-checks thead th{
 background:#30363d!important;color:#fff!important;border-color:#454b53!important;
 font-size:12px;letter-spacing:.015em;font-weight:700;
}
.conavsa-authenticated .tablewrap tbody tr:nth-child(2n){background:#fafbfc}
.conavsa-authenticated .tablewrap tbody tr:hover{background:#fcf8ee}
.conavsa-authenticated .tablewrap td{border-color:#edf0f2;color:#353c45}
.conavsa-authenticated .tablewrap tr td a:not(.btn){color:#82621a;text-decoration:underline;text-underline-offset:2px}
/* Gerencia y finanzas: mismos colores para todos los gráficos. */
.conavsa-authenticated .mg-banner{background:linear-gradient(112deg,#202429,#3a3d41)!important}
.conavsa-authenticated .mg-banner .eyebrow{color:#f4cd61}
.conavsa-authenticated .mg-banner p:not(.eyebrow){color:#e0e2e4}
.conavsa-authenticated .mg-kpi>span,.conavsa-authenticated .mg-kpi small{color:#6b727b}
.conavsa-authenticated .mg-kpi strong{color:#252b32}
.conavsa-authenticated .mg-fill,.conavsa-authenticated .mg-fill.amber{background:#d6a72d!important}
.conavsa-authenticated .mg-fill.blue{background:#737b85!important}
.conavsa-authenticated .mg-kpi>a{color:#8c691c}
.conavsa-authenticated .mg-track{background:#e9eaed}
.conavsa-authenticated .receipt-preview-net{background:#faf2df;border:1px solid #ead7a4}
.conavsa-authenticated .receipt-preview-net strong{color:#795a1d}
.conavsa-authenticated .bank-total-box{background:#f7f8f9}
.conavsa-authenticated .mg-quicklinks a:hover{background:#fff9ec;border-color:#e5d5ab}
/* Mantener semántica de avisos y estados sin colores decorativos heredados. */
.conavsa-authenticated .alert.success{background:#ebf7ef;color:#206342;border-color:#bfdfca}
.conavsa-authenticated .alert.error,.conavsa-authenticated .alert.danger{background:#fff2f2;color:#9d2f38;border-color:#f0c6c9}
.conavsa-authenticated .badge.posted{background:#edf8f0;color:#24633e}
/* No invadir los comprobantes térmicos, formatos impresos ni reglas de impresión. */
@media print {
 .conavsa-authenticated .tablewrap{overflow:visible!important;border:0!important;box-shadow:none!important}
 .conavsa-authenticated .tablewrap thead th,.conavsa-authenticated .bank-voucher-table thead th,
 .conavsa-authenticated .portfolio-checks thead th{background:#f2f2f2!important;color:#111!important;border-color:#aaa!important}
 .conavsa-authenticated .panel,.conavsa-authenticated .panel-body{box-shadow:none!important}
 .conavsa-authenticated .mg-banner{background:#fff!important;color:#111!important}
 .conavsa-authenticated .mg-banner h2{color:#111!important}
}
@media (max-width:760px){
 .conavsa-authenticated .panel-heading,.conavsa-authenticated .panel-body{padding:16px}
 .conavsa-authenticated .fields{grid-template-columns:1fr}
 .conavsa-authenticated .mg-quicklinks{scrollbar-width:thin}
}

/* CONAVSA R3: construccion como actividad principal. No altera impresiones. */
.conavsa-authenticated .nav-section-caption{font-size:9px;font-weight:850;letter-spacing:.145em;color:#929aa5;padding:17px 14px 6px;border-top:1px solid rgba(255,255,255,.075);margin-top:9px;}
.conavsa-authenticated .nav-section-caption:first-child{margin-top:0;border-top:0;padding-top:7px;}
.conavsa-authenticated .side .nav{gap:1px;}
.conavsa-authenticated .side .nav-link{min-height:41px;padding:10px 11px;font-size:12.1px;}
.conavsa-authenticated .obra-workbench{margin:18px 0 23px;padding:21px 23px;background:#fff;border:1px solid #e5e8ec;border-radius:16px;box-shadow:0 5px 20px rgba(19,24,32,.035)}
.conavsa-authenticated .obra-workbench-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:19px;}
.conavsa-authenticated .obra-workbench-heading h2{font-size:21px;color:#252a30;margin:4px 0 4px;letter-spacing:-.025em;}
.conavsa-authenticated .obra-workbench-heading p:not(.eyebrow){font-size:12px;color:#747d89;margin:0;}
.conavsa-authenticated a.obra-all-link{font-size:12px;font-weight:800;white-space:nowrap;color:#8c6609;}
.conavsa-authenticated .obra-workbench-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;}
.conavsa-authenticated .obra-workbench-grid>a{display:flex;flex-direction:column;gap:8px;min-width:0;padding:17px 16px;border-radius:11px;text-decoration:none;background:#f8f9fb;border:1px solid #e8eaed;color:#262c32;transition:background .15s,border-color .15s,transform .15s;}
.conavsa-authenticated .obra-workbench-grid>a:hover{background:#fff8e6;border-color:#edcb72;transform:translateY(-2px)}
.conavsa-authenticated .obra-workbench-grid strong{font-size:13px;font-weight:850;}
.conavsa-authenticated .obra-workbench-grid small{font-size:11px;color:#717985;line-height:1.4;}
.conavsa-authenticated .obra-step{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:#272b30;color:#ffcc40;font-weight:850;font-size:11px;}
@media(max-width:1130px){.conavsa-authenticated .obra-workbench-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:660px){.conavsa-authenticated .obra-workbench{padding:15px}.conavsa-authenticated .obra-workbench-grid{grid-template-columns:1fr}.conavsa-authenticated .obra-workbench-heading{display:block}.conavsa-authenticated a.obra-all-link{display:inline-block;margin-top:13px;}}
@media print{.conavsa-authenticated .obra-workbench{display:none!important}}

/* CONAVSA R4 | Centro de control gerencial de una constructora.
   Exclusivo de interfaz autenticada; no altera contabilidad ni impresos. */
.conavsa-authenticated .g4-executive{margin:20px 0 30px;color:#272e35}
.conavsa-authenticated .g4-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 15px}
.conavsa-authenticated .g4-title-row h2{font-size:23px;letter-spacing:-.6px;margin:3px 0 5px;color:#24292f;font-weight:800}
.conavsa-authenticated .g4-title-row p{font-size:13px;color:#6a707a;margin:0}
.conavsa-authenticated .g4-title-row .eyebrow{color:#b58a26;font-size:11px;font-weight:850;letter-spacing:1.3px}
.conavsa-authenticated .g4-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid #e2e5e9;padding:8px 12px;border-radius:12px}
.conavsa-authenticated .g4-controls label{font-size:12px;font-weight:700;white-space:nowrap}
.conavsa-authenticated .g4-controls select{min-width:110px;height:35px;border:1px solid #d9dde3;border-radius:7px;padding:0 7px;color:#30353c;background:#fff}
.conavsa-authenticated .g4-controls button{padding:8px 12px!important;min-height:35px!important;font-size:12px!important}
.conavsa-authenticated .g4-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.conavsa-authenticated .g4-sum{background:#fff;border:1px solid #e2e5e9;border-radius:13px;box-shadow:0 4px 15px #10182006;padding:17px 17px 16px;min-width:0;border-top:3px solid #d7a829}
.conavsa-authenticated .g4-sum:nth-child(2),.conavsa-authenticated .g4-sum:nth-child(3){border-top-color:#545b64}
.conavsa-authenticated .g4-sum>span{display:block;font-size:11px;font-weight:750;letter-spacing:.025em;color:#6d737d;margin-bottom:7px}
.conavsa-authenticated .g4-sum strong{display:block;color:#272d34;font-size:clamp(16px,1.8vw,24px);line-height:1.2;white-space:normal;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;letter-spacing:-.4px}
.conavsa-authenticated .g4-sum small{display:block;color:#818790;font-size:11px;margin-top:7px;line-height:1.4}
.conavsa-authenticated .g4-charts{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}
.conavsa-authenticated .g4-panel{background:#fff;border:1px solid #e2e5e9;border-radius:14px;padding:20px;min-width:0;box-shadow:0 5px 18px #10182006}
.conavsa-authenticated .g4-panel-head{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:13px;flex-wrap:wrap}
.conavsa-authenticated .g4-panel-head h3{font-size:15px;font-weight:800;color:#292f36;margin:0 0 5px}
.conavsa-authenticated .g4-panel-head p{font-size:11px;color:#737a84;margin:0;line-height:1.45;max-width:380px}
.conavsa-authenticated .g4-panel-head>a{font-size:12px;font-weight:750;color:#947324;text-decoration:none}
.conavsa-authenticated .g4-legend{display:flex;gap:7px;align-items:center;color:#626974;font-size:11px;white-space:nowrap}
.conavsa-authenticated .g4-key{width:9px;height:9px;display:inline-block;border-radius:3px}
.conavsa-authenticated .g4-key.g4-a{background:#ddb037}
.conavsa-authenticated .g4-key.g4-b{background:#626c77}
.conavsa-authenticated .g4-plot{display:grid;grid-auto-columns:minmax(30px,1fr);grid-auto-flow:column;gap:8px;min-height:203px;align-items:end;border-bottom:1px solid #e6e8ed;padding:9px 5px 0;overflow-x:auto}
.conavsa-authenticated .g4-period{display:flex;flex-direction:column;align-items:center;min-width:27px;justify-content:end;gap:8px;height:190px}
.conavsa-authenticated .g4-bars{display:flex;align-items:flex-end;justify-content:center;gap:4px;height:158px;width:100%;min-width:22px}
.conavsa-authenticated .g4-col{display:block;min-height:0;width:32%;max-width:22px;border-radius:4px 4px 0 0;transition:height .15s ease;cursor:help}
.conavsa-authenticated .g4-col.g4-a{background:linear-gradient(#eec755,#d5a020)}
.conavsa-authenticated .g4-col.g4-b{background:linear-gradient(#7e8994,#4b5561)}
.conavsa-authenticated .g4-month-label{font-size:10px;font-weight:700;color:#737983;line-height:16px}
.conavsa-authenticated .g4-sr{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.conavsa-authenticated .g4-no-data{background:#f8f8fa;border:1px dashed #dce1e6;border-radius:10px;padding:25px 12px;color:#7b818b;font-size:12px;text-align:center;line-height:1.5}
.conavsa-authenticated .g4-bottom{display:grid;grid-template-columns:1.25fr 1fr;gap:14px;margin:14px 0}
.conavsa-authenticated .g4-work{border-top:1px solid #edf0f3;padding:13px 0}
.conavsa-authenticated .g4-work:first-of-type{border-top:none;padding-top:0}
.conavsa-authenticated .g4-work-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:12px;margin-bottom:9px}
.conavsa-authenticated .g4-work-head a{font-size:12px;font-weight:800;color:#343a41;text-decoration:none}
.conavsa-authenticated .g4-work-head span{font-size:10px;margin-left:9px;color:#91969e}
.conavsa-authenticated .g4-work-head small{white-space:nowrap;border-radius:5px;padding:3px 5px;font-size:10px}
.conavsa-authenticated .g4-neutral{background:#f8f4e9;color:#967125}
.conavsa-authenticated .g4-danger{background:#fff0f1;color:#ab3d49}
.conavsa-authenticated .g4-work-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.conavsa-authenticated .g4-work-caption{display:flex;justify-content:space-between;gap:5px;color:#818791;font-size:10px;margin-bottom:6px}
.conavsa-authenticated .g4-work-caption b{color:#4b525b}
.conavsa-authenticated .g4-track{background:#eaedf0;border-radius:30px;height:7px;overflow:hidden}
.conavsa-authenticated .g4-fill{height:100%;border-radius:30px;background:#66717d}
.conavsa-authenticated .g4-fill.is-gold{background:#deb135}
.conavsa-authenticated .g4-fill.is-late{background:#d35b66}
.conavsa-authenticated .g4-aging{margin-top:9px}
.conavsa-authenticated .g4-aging+.g4-aging{margin-top:22px;padding-top:17px;border-top:1px solid #ebedf0}
.conavsa-authenticated .g4-aging h4{font-size:12px;font-weight:800;color:#434a52;margin:0 0 12px}
.conavsa-authenticated .g4-aging-row{display:grid;grid-template-columns:78px minmax(50px,1fr) 112px;gap:10px;align-items:center;margin:9px 0}
.conavsa-authenticated .g4-aging-row span{font-size:10px;color:#6d747e}
.conavsa-authenticated .g4-aging-row strong{font-size:10px;text-align:right;white-space:nowrap;color:#454a53;font-variant-numeric:tabular-nums}
.conavsa-authenticated .g4-alerts{margin-top:14px}
.conavsa-authenticated .g4-alert-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.conavsa-authenticated .g4-alert-list a{display:flex;justify-content:space-between;gap:9px;align-items:center;padding:13px 14px;border:1px solid #e7e9ec;border-radius:9px;color:#454b55;text-decoration:none;font-size:12px}
.conavsa-authenticated .g4-alert-list a:hover{border-color:#dec779;background:#fff9eb}
.conavsa-authenticated .g4-alert-list a span{display:flex;align-items:center;gap:8px}
.conavsa-authenticated .g4-alert-list strong{font-size:12px;white-space:nowrap}
.conavsa-authenticated .g4-dot{display:inline-block;flex:none;width:8px;height:8px;border-radius:50%;background:#d2a52d}
.conavsa-authenticated .g4-dot.is-red{background:#c8505b}
.conavsa-authenticated .g4-disclaimer{font-size:11px;color:#848a92;margin:11px 0;line-height:1.6}
@media(max-width:1120px){.conavsa-authenticated .g4-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.conavsa-authenticated .g4-charts,.conavsa-authenticated .g4-bottom{grid-template-columns:1fr}}
@media(max-width:700px){.conavsa-authenticated .g4-title-row{align-items:stretch;flex-direction:column}.conavsa-authenticated .g4-summary,.conavsa-authenticated .g4-alert-list{grid-template-columns:1fr}.conavsa-authenticated .g4-panel{padding:15px}.conavsa-authenticated .g4-work-head{flex-wrap:wrap}.conavsa-authenticated .g4-aging-row{grid-template-columns:66px minmax(45px,1fr) 95px;gap:6px}.conavsa-authenticated .g4-controls{justify-content:space-between}.conavsa-authenticated .g4-sum strong{font-size:23px}}
@media print{.conavsa-authenticated .g4-controls{display:none!important}.conavsa-authenticated .g4-panel,.conavsa-authenticated .g4-sum{box-shadow:none!important;border:1px solid #ccc!important}.conavsa-authenticated .g4-charts,.conavsa-authenticated .g4-bottom{break-inside:avoid}}
@media(prefers-reduced-motion:reduce){.conavsa-authenticated .g4-col{transition:none}}
.conavsa-authenticated .g4-col.is-negative{background:#ce5962!important}
.conavsa-authenticated .g4-chart-note{font-size:10px;line-height:1.4;color:#9c434b;margin:8px 0 0}

/* CONAVSA R4.1 · EXPERIENCIA MOVIL EMPRESARIAL. CSS de pantalla, no altera impresion. */
:root{--conavsa-touch:#edb62b;--conavsa-mobile-dark:#191d21}
.conavsa-mobile-menu,.conavsa-mobile-close,.conavsa-mobile-backdrop,.conavsa-mobile-bottomnav{display:none}
.conavsa-authenticated .g4-col:focus-visible{outline:3px solid #272c33;outline-offset:3px;position:relative;z-index:2}
.conavsa-authenticated .conavsa-chart-selection{font-size:12px;border-radius:8px;background:#fffae9;padding:9px 12px;color:#51411e;line-height:1.5;margin:12px 0 0}
@media screen and (max-width:900px){
 html{overflow-x:clip}
 body.conavsa-authenticated{overflow-x:clip;min-width:0}
 body.conavsa-authenticated .shell{display:block;min-width:0}
 body.conavsa-authenticated .main{width:100%;max-width:100%;min-width:0;padding:0 16px calc(100px + env(safe-area-inset-bottom,0px));margin:0}
 body.conavsa-authenticated .top{position:relative;display:flex;align-items:center;gap:10px;min-height:74px;padding:12px 0;margin-bottom:16px}
 body.conavsa-authenticated .top-main{flex:1;min-width:0;gap:10px}
 body.conavsa-authenticated .top-main>div{min-width:0}
 body.conavsa-authenticated .top h1{font-size:clamp(17px,3.5vw,24px);line-height:1.14;overflow-wrap:anywhere}
 body.conavsa-authenticated .top-user{gap:5px}
 body.conavsa-authenticated .top-user .user-label{display:none}
 body.conavsa-authenticated .logout-btn{min-height:44px!important;padding:8px 9px!important;font-size:12px}
 body.conavsa-authenticated .mobile-brand{display:none!important}
 body.conavsa-authenticated .conavsa-mobile-menu{display:flex;flex:none;align-items:center;justify-content:center;min-width:48px;min-height:48px;border-radius:12px;border:1px solid #e0e2e5;background:#fff!important;color:#252a2e!important;box-shadow:0 2px 9px #141a2210;padding:9px;font-size:23px;line-height:1}
 body.conavsa-authenticated .side{display:flex!important;flex-direction:column!important;position:fixed!important;z-index:1200!important;top:0!important;bottom:0!important;left:0!important;right:auto!important;width:min(316px,88vw)!important;height:100dvh!important;max-height:100dvh!important;padding:16px 14px calc(20px + env(safe-area-inset-bottom,0px))!important;overflow-y:auto!important;overscroll-behavior:contain!important;transform:translateX(-104%);visibility:hidden;pointer-events:none;transition:transform .22s ease,visibility .22s;box-shadow:10px 0 40px #0005;border-right:1px solid #30343a}
 body.conavsa-authenticated.conavsa-mobile-open .side{transform:translateX(0);visibility:visible;pointer-events:auto}
 body.conavsa-authenticated .side .brand-logo{display:flex!important;min-height:60px!important;width:100%!important;padding:6px 0}
 body.conavsa-authenticated .side .brand-logo img{max-height:66px!important;max-width:230px!important}
 body.conavsa-authenticated .side .brand-note{display:block!important;margin:0 0 10px;padding:3px 0 13px;font-size:9px}
 body.conavsa-authenticated .side .nav{display:grid!important;grid-auto-flow:row;overflow:visible!important;gap:4px;flex:none;scrollbar-width:initial}
 body.conavsa-authenticated .side .nav-section-caption{white-space:normal;margin-top:13px}
 body.conavsa-authenticated .side .nav-link{width:100%;min-height:48px;white-space:normal;padding:11px 13px;font-size:13px}
 body.conavsa-authenticated .side .sidebar-bottom{display:block!important;margin-top:16px}
 body.conavsa-authenticated .conavsa-mobile-close{display:flex;position:absolute;top:9px;right:9px;width:42px;height:42px;min-height:42px;padding:0;border:1px solid #ffffff30;border-radius:10px;background:#ffffff10!important;color:#fff!important;font-size:26px;z-index:2}
 body.conavsa-authenticated .conavsa-mobile-backdrop{display:block;position:fixed;inset:0;z-index:1190;background:rgba(9,12,16,.57)!important;box-shadow:none!important;border:0;border-radius:0;min-height:0;padding:0;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .2s ease,visibility .2s}
 body.conavsa-authenticated.conavsa-mobile-open .conavsa-mobile-backdrop{visibility:visible;opacity:1;pointer-events:auto}
 body.conavsa-authenticated.conavsa-mobile-open{overflow:hidden;touch-action:pan-y}
 body.conavsa-authenticated .conavsa-mobile-bottomnav{position:fixed;bottom:0;left:0;right:0;z-index:900;display:grid;grid-template-columns:repeat(var(--conavsa-nav-items,4),minmax(0,1fr));align-items:stretch;gap:2px;padding:9px max(10px,env(safe-area-inset-left,0px)) calc(9px + env(safe-area-inset-bottom,0px)) max(10px,env(safe-area-inset-right,0px));background:#1d2126;color:#f7f7f7;box-shadow:0 -8px 28px #13182127;border-top:1px solid #384047}
 body.conavsa-authenticated .conavsa-mobile-bottomnav a{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:48px;padding:4px 2px;color:#d4d7dc!important;font-size:10px;font-weight:740;text-align:center;border-radius:10px;line-height:1.2;overflow-wrap:anywhere}
 body.conavsa-authenticated .conavsa-mobile-bottomnav a .ico{width:22px;height:22px}
 body.conavsa-authenticated .conavsa-mobile-bottomnav a.active{background:#ffcc3830;color:#ffdb78!important}
 body.conavsa-authenticated .page-content, body.conavsa-authenticated .panel, body.conavsa-authenticated .module-heading{min-width:0;max-width:100%}
 body.conavsa-authenticated .g4-charts,body.conavsa-authenticated .g4-bottom{grid-template-columns:minmax(0,1fr)}
 body.conavsa-authenticated .g4-panel{min-width:0}
 body.conavsa-authenticated .g4-plot{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;gap:10px}
 body.conavsa-authenticated .g4-period{min-width:37px;scroll-snap-align:start}
 body.conavsa-authenticated .g4-controls{display:flex;flex-wrap:wrap;align-items:stretch}
 body.conavsa-authenticated .g4-controls select,body.conavsa-authenticated .g4-controls button{min-height:46px}
 body.conavsa-authenticated .g4-legend{white-space:normal;flex-wrap:wrap}
 body.conavsa-authenticated .mg-banner{padding:19px!important;gap:10px;flex-wrap:wrap}
 body.conavsa-authenticated .module-heading{padding:17px;flex-wrap:wrap}
 body.conavsa-authenticated .fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 body.conavsa-authenticated .grid,body.conavsa-authenticated .action-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
 body.conavsa-authenticated .panel-heading{padding:14px 16px;flex-wrap:wrap;gap:8px}
 body.conavsa-authenticated .panel-body{padding:15px}
 body.conavsa-authenticated .row{min-width:0;row-gap:10px}
 body.conavsa-authenticated input:not([type=checkbox]):not([type=radio]),body.conavsa-authenticated select,body.conavsa-authenticated textarea{font-size:16px!important;max-width:100%}
 body.conavsa-authenticated .field input,body.conavsa-authenticated .field select,body.conavsa-authenticated .field textarea{min-height:48px}
 body.conavsa-authenticated input[type=checkbox],body.conavsa-authenticated input[type=radio]{min-width:18px;min-height:18px}
 body.conavsa-authenticated button,body.conavsa-authenticated .btn{min-height:44px}
 body.conavsa-authenticated .tablewrap{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
 body.conavsa-authenticated .tablewrap table:not(.conavsa-mobile-cards){min-width:max-content}
 body.conavsa-authenticated .fiscal-lines,body.conavsa-authenticated .bank-voucher-scroll,body.conavsa-authenticated .portfolio-checks{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
 body.conavsa-authenticated .form-summary{flex-wrap:wrap}
 body.conavsa-authenticated .hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media screen and (max-width:620px){
 body.conavsa-authenticated .main{padding:0 12px calc(91px + env(safe-area-inset-bottom,0px))}
 body.conavsa-authenticated .top{gap:6px;min-height:68px}
 body.conavsa-authenticated .page-kicker{font-size:9px;letter-spacing:.06em}
 body.conavsa-authenticated .top h1{font-size:18px}
 body.conavsa-authenticated .top-user .user-avatar{display:none}
 body.conavsa-authenticated .logout-btn{font-size:0!important;padding:10px!important;min-width:44px}
 body.conavsa-authenticated .logout-btn .ico{width:20px;height:20px}
 body.conavsa-authenticated .welcome-hero{padding:18px;min-height:0}
 body.conavsa-authenticated .hero-stats{grid-template-columns:1fr}
 body.conavsa-authenticated .g4-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 body.conavsa-authenticated .g4-sum{padding:12px 11px}
 body.conavsa-authenticated .g4-sum strong{font-size:clamp(14px,4vw,20px);overflow-wrap:anywhere}
 body.conavsa-authenticated .g4-sum>span{font-size:10px}
 body.conavsa-authenticated .g4-sum small{font-size:10px}
 body.conavsa-authenticated .g4-plot{gap:9px}
 body.conavsa-authenticated .g4-col{min-width:10px}
 body.conavsa-authenticated .g4-work-metrics{gap:9px}
 body.conavsa-authenticated .g4-alert-list{grid-template-columns:1fr}
 body.conavsa-authenticated .fields{grid-template-columns:minmax(0,1fr)}
 body.conavsa-authenticated .cash-doc-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.conavsa-authenticated .form button[type=submit]{width:100%;min-width:0}
 body.conavsa-authenticated .form-summary button{width:100%}
 body.conavsa-authenticated .action-card{min-height:65px}
 body.conavsa-authenticated .conavsa-mobile-cards{display:block!important;min-width:0!important;width:100%!important}
 body.conavsa-authenticated .conavsa-mobile-cards thead{display:none}
 body.conavsa-authenticated .conavsa-mobile-cards tbody{display:grid;gap:10px;padding:10px}
 body.conavsa-authenticated .conavsa-mobile-cards tr{display:block;border:1px solid #e2e5ea;border-radius:11px;padding:8px 10px;background:#fff;box-shadow:0 2px 5px #0000000a}
 body.conavsa-authenticated .conavsa-mobile-cards td{display:grid;grid-template-columns:minmax(85px,35%) minmax(0,1fr);gap:8px;align-items:start;width:100%;padding:8px 2px!important;white-space:normal;overflow-wrap:anywhere;border-bottom:1px solid #eceef1;text-align:right}
 body.conavsa-authenticated .conavsa-mobile-cards td:last-child{border-bottom:0}
 body.conavsa-authenticated .conavsa-mobile-cards td::before{content:attr(data-conavsa-label);font-size:11px;text-align:left;font-weight:800;color:#757c84;text-transform:none}
 body.conavsa-authenticated .conavsa-mobile-cards td:first-child{font-weight:750}
 body.conavsa-authenticated .conavsa-mobile-cards tfoot{display:block;margin:7px}
 body.conavsa-authenticated .conavsa-mobile-cards tfoot td{display:block;text-align:left}
 body.conavsa-authenticated .g4-controls>*{max-width:100%;min-width:0}
}
@media screen and (max-width:370px){
 body.conavsa-authenticated .g4-summary{grid-template-columns:1fr}
 body.conavsa-authenticated .conavsa-mobile-bottomnav a{font-size:9px}
 body.conavsa-authenticated .top h1{font-size:16px}
}
@media print{
 .conavsa-mobile-menu,.conavsa-mobile-close,.conavsa-mobile-backdrop,.conavsa-mobile-bottomnav,.conavsa-chart-selection{display:none!important}
 .conavsa-authenticated .side{transform:none!important;visibility:visible!important}
}
@media (prefers-reduced-motion:reduce){.conavsa-mobile-backdrop,.conavsa-authenticated .side{transition:none!important}}


/* R4.2 menu añadido como extensión, sin reemplazar funciones originales */
/* CONAVSA R4.2 · Menu lateral empresarial, alineado con el prototipo R3 aprobado. */
@media screen and (min-width:901px) {
  body.conavsa-authenticated .side {
    width:245px!important;flex:0 0 245px!important;
    height:100dvh!important;max-height:100dvh!important;
    overflow:hidden!important;padding:17px 14px 14px!important;
    display:flex!important;flex-direction:column!important;gap:5px!important;
    position:sticky!important;top:0!important;
  }
  body.conavsa-authenticated .side .nav {
    flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;
    overflow-x:hidden!important;scrollbar-width:thin;scrollbar-color:#454b52 transparent;
    padding:0 3px 4px 0!important;margin-right:-4px!important;
  }
  body.conavsa-authenticated .side .sidebar-bottom {
    flex:0 0 auto!important;margin-top:5px!important;padding-top:7px!important;
    max-height:150px;overflow:auto;scrollbar-width:thin;
  }
}
body.conavsa-authenticated .side .brand-logo{
  background:transparent!important;min-height:66px!important;
  padding:2px 7px!important;border:0!important;box-shadow:none!important;
}
body.conavsa-authenticated .side .brand-logo img{
  width:100%!important;max-width:208px!important;max-height:66px!important;
  height:auto!important;object-fit:contain!important;
}
body.conavsa-authenticated .side .brand-note {
  text-align:center;letter-spacing:.15em!important;color:#adb3bb!important;
  font-size:9px!important;font-weight:800!important;line-height:1.5!important;
  margin:0 0 5px!important;padding:4px 3px 9px!important;
  border-bottom:1px solid rgba(255,255,255,.13);
}
body.conavsa-authenticated .side .nav {
  display:block!important;align-content:start!important;
  overscroll-behavior:contain;
}
body.conavsa-authenticated .side .conavsa-nav-group {margin:0;padding:0 0 4px}
body.conavsa-authenticated .side .conavsa-nav-links{display:grid;gap:2px}
body.conavsa-authenticated .side .nav-section-caption,
body.conavsa-authenticated .side .conavsa-admin-caption {
  display:block!important;font-size:9px!important;font-weight:850!important;
  letter-spacing:.11em!important;line-height:1.4!important;color:#919ba6!important;
  padding:10px 11px 5px!important;margin:6px 0 3px!important;
  border-top:1px solid rgba(255,255,255,.105)!important;
}
body.conavsa-authenticated .side .conavsa-nav-group:first-child .nav-section-caption{
  padding-top:5px!important;margin-top:0!important;border-top:0!important;
}
body.conavsa-authenticated .side .nav-link{
  min-height:37px!important;padding:8px 11px!important;gap:10px!important;
  margin:0!important;font-size:12px!important;line-height:1.35!important;
  border-radius:9px!important;font-weight:650!important;
  color:#c7cbd1!important;background:transparent!important;
  border-left:2px solid transparent!important;
  box-shadow:none!important;display:flex;align-items:center;
}
body.conavsa-authenticated .side .nav-link .ico{width:17px!important;height:17px!important;flex:0 0 17px}
body.conavsa-authenticated .side .nav-link:hover,
body.conavsa-authenticated .side .nav-link:focus-visible{
  background:rgba(255,255,255,.09)!important;color:#fff!important;
}
body.conavsa-authenticated .side .nav-link.on,
body.conavsa-authenticated .side .nav-link.active,
body.conavsa-authenticated .side .nav-link[aria-current="page"]{
  color:#161a1e!important;background:linear-gradient(105deg,#ffc525,#f4b80c)!important;
  border-left-color:#ffdb70!important;font-weight:830!important;
  box-shadow:0 3px 10px rgba(0,0,0,.16)!important;
}
body.conavsa-authenticated .side .sidebar-bottom .nav-link{font-size:11.5px!important;min-height:35px!important}
body.conavsa-authenticated .side .conavsa-admin-caption{margin-top:0!important;padding-top:4px!important;border:0!important}
body.conavsa-authenticated .side .nav a:focus-visible,
body.conavsa-authenticated .side .sidebar-bottom a:focus-visible{
  outline:2px solid #ffcf49;outline-offset:2px;
}
@media screen and (max-width:900px){
  body.conavsa-authenticated .side{padding:14px 12px calc(20px + env(safe-area-inset-bottom,0px))!important}
  body.conavsa-authenticated .side .nav {display:block!important;overflow:visible!important;flex:none!important}
  body.conavsa-authenticated .side .nav-section-caption {margin-top:10px!important;padding:13px 11px 7px!important}
  body.conavsa-authenticated .side .nav-link {min-height:45px!important;padding:11px 12px!important;font-size:13px!important}
  body.conavsa-authenticated .side .brand-logo{min-height:62px!important}
  body.conavsa-authenticated .side .brand-logo img{max-width:215px!important}
}
@media print{
  body.conavsa-authenticated .side{display:none!important}
}

