:root{--lims-blue:#14617b;--lims-blue-dark:#22313d;--lims-bg:#f2f6f8;--lims-muted:#647786;--cl-teal:#19a1a8;--cl-ink:#22313d;--table-border:#dbe5e9;--nav-bg-1:#22313d;--nav-bg-2:#14617b;--navbar-h:56px!important;--lc-brand:#14617b;--lc-dark:#22313d;--ec-brand:#14617b;--ec-primary:#14617b;--lp-primary:#14617b}
body{background:var(--lims-bg)!important;color:var(--cl-ink);font-family:Arial,sans-serif;zoom:1!important;font-size:12px!important}
body>.container-fluid{padding:0 12px}body>.container-fluid>.row{--bs-gutter-x:0}
.cl-navbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:7px 16px!important;background:linear-gradient(105deg,#22313d,#16435a 70%,#17677b);border-bottom:3px solid var(--cl-teal);color:white;width:100%;flex-wrap:wrap}
.cl-navbar-brand{display:flex;align-items:center;gap:12px}.cl-navbar-brand>a{background:white;border-radius:4px;padding:3px 9px;display:flex;align-items:center}.cl-navbar-brand img{width:183px;height:39px;object-fit:contain}.cl-menu-button{border:1px solid #ffffff55;color:white;background:#ffffff0c;border-radius:5px;width:30px;height:30px;font-size:19px}.cl-navbar-title{flex:1;text-align:center;font-size:12px;color:#edf7f9}.cl-navbar-user{display:flex;gap:12px;align-items:center;font-size:11px}.cl-navbar-user a{color:white;text-decoration:none}.cl-navbar-user small{color:#c2dce3;display:block;font-size:10px}
#div_menu1{display:none!important}#div_menu1+div{width:100%!important;max-width:100%!important;flex:0 0 100%!important;padding:12px 16px!important;border:0!important;min-height:calc(100vh - 56px)!important}
.lc-module-title,.lm-page-heading,.lims-table-toolbar{background:linear-gradient(100deg,var(--lims-blue-dark),var(--lims-blue))!important;color:white!important;border-radius:6px;padding:9px 12px!important;display:flex;gap:9px;align-items:center;margin-bottom:10px}
.lc-module-title h2,.lc-module-title h5,.lm-page-heading h1,.lims-table-title{font-size:15px!important;color:white!important;margin:0!important;font-weight:600}.lc-title-icon{width:26px;height:26px;flex-basis:26px;font-size:13px}.lm-page-heading p{display:none}.lc-action{width:26px!important;height:26px!important;font-size:13px!important}.lc-action i{font-size:13px!important}.badge,.lc-status{font-size:10px!important;font-weight:500!important}
.btn-primary,.lp-button.primary:not(.ec-action),.ec-button-primary{background-color:var(--lims-blue)!important;border-color:var(--lims-blue)!important}.btn-outline-primary{color:var(--lims-blue);border-color:var(--lims-blue)}.btn-outline-primary:hover{background:var(--lims-blue);color:#fff}
.form-control,.form-select{font-size:12px!important;min-height:30px;padding:4px 8px;border-color:#d6e1e7;border-radius:5px}.form-control:focus,.form-select:focus{border-color:var(--cl-teal);box-shadow:0 0 0 2px #19a1a820}.btn{font-size:12px!important;border-radius:5px}.modal-header{background:linear-gradient(100deg,var(--lims-blue-dark),var(--lims-blue));color:white;padding:10px 14px!important}.modal-header .modal-title{font-size:15px!important;color:white}.modal-header .btn-close{filter:invert(1)}.modal-footer{padding:8px 12px!important}.modal-body{font-size:12px}
table{font-size:11.5px!important}table thead th{background-color:var(--lims-blue)!important;color:#fff!important}table td,table th{vertical-align:middle}table tbody tr:hover td{background-color:#f0f8fa}.alert-success,.bg-success.toast{background:#edf5f8!important;color:#24536b!important;border-color:#cbdfe8!important}
.menu-mallay .offcanvas-header{background:linear-gradient(100deg,#22313d,#14617b)!important;color:white}.menu-mallay .menu-eyebrow{color:#99e1e5}.menu-mallay{--bs-offcanvas-width:320px}
/* El texto del submenú debe respetar el contraste de la opción seleccionada. */
.menu-mallay .menu-icon{color:#73d9df!important}
.menu-mallay .menu-link.is-active{background:#e7f5f6!important;color:#145269!important;border-color:#b6dfe3!important;box-shadow:inset 3px 0 #19a1a8}
.menu-mallay .menu-link.is-active :is(.menu-title,.menu-icon,.menu-caret){color:#145269!important}
.menu-mallay .menu-link.is-active .menu-title{font-weight:700}
.menu-mallay .menu-link:not(.is-active):hover{background:#214b5f;border-color:#73d9df}
.menu-mallay .menu-link:focus-visible{outline:2px solid #73d9df;outline-offset:2px}
.cl-home{max-width:1300px;margin:20px auto;padding:0 20px}.cl-welcome{display:flex;justify-content:space-between;align-items:center;padding:22px 0 24px}.cl-welcome h1{font-size:25px;margin:0 0 5px;font-weight:700}.cl-welcome p{margin:0;color:#647786;font-size:13px}.cl-date{font-size:12px;color:#647786}.cl-access-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.cl-access{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid #dbe5e9;border-radius:7px;background:#fff;text-decoration:none;color:#22313d;transition:border-color .15s,box-shadow .15s}.cl-access:hover{border-color:#19a1a8;box-shadow:0 4px 14px #183e5410;color:#14617b}.cl-access>i{display:grid;place-items:center;width:42px;height:42px;background:#eaf5f7;color:#16838d;border-radius:8px;font-size:22px}.cl-access strong{display:block;font-size:13px;margin-bottom:3px}.cl-access small{color:#647786;font-size:11px}.cl-home-group{margin-bottom:22px}.cl-footer{padding:20px;text-align:center;color:#7a8993;font-size:10px}
.cl-login{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr;background:#fff!important}.cl-login-art{background:linear-gradient(140deg,#22313d 10%,#154b61 70%,#178d98);color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:50px 60px;position:relative;overflow:hidden}.cl-login-art:after{content:'';position:absolute;width:440px;height:440px;border:1px solid #ffffff15;border-radius:50%;right:-170px;bottom:-80px;box-shadow:0 0 0 70px #ffffff05,0 0 0 140px #ffffff04}.cl-login-art .cl-overline{font-size:11px;letter-spacing:2px;color:#bde5e9}.cl-login-art h1{font-size:42px;line-height:1.13;max-width:440px;font-weight:600;margin:20px 0}.cl-login-art h1 span{color:#67d5d9}.cl-login-art p{font-size:14px;line-height:1.7;color:#c4dce4;max-width:360px}.cl-login-art footer{font-size:11px;color:#a9ccd3}.cl-login-panel{display:flex;align-items:center;justify-content:center;padding:40px}.cl-login-form{width:100%;max-width:360px}.cl-login-form>img{width:100%;margin-bottom:43px}.cl-login-form h2{font-size:23px;font-weight:600;margin-bottom:6px}.cl-login-form>p{color:#75838d;font-size:12px;margin-bottom:27px}.cl-login-form label{display:block;font-weight:600;margin:16px 0 7px;font-size:12px}.cl-login-form input{height:42px!important;font-size:13px!important}.cl-login-form .cl-submit{width:100%;height:42px;margin-top:23px;font-weight:600;background:linear-gradient(100deg,#17667d,#169ca5)!important;border:0;color:white}.cl-login-error{background:#fff3ef;color:#98442b;padding:10px;border-radius:5px;margin-top:15px;font-size:12px}.cl-login-help{margin-top:25px!important;text-align:center;font-size:11px!important}.cl-password{position:relative}.cl-password input{padding-right:42px}.cl-password button{position:absolute;right:4px;top:4px;width:34px;height:34px;background:transparent;border:0;color:#687c88}.cl-busy{opacity:.65;cursor:wait}
@media(max-width:900px){.cl-access-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cl-login-art{padding:38px 32px}.cl-login-art h1{font-size:32px}.cl-navbar-title{display:none}}
@media(max-width:600px){.cl-login{grid-template-columns:1fr}.cl-login-art{display:none}.cl-login-panel{padding:30px}.cl-access-grid{grid-template-columns:1fr}.cl-welcome{align-items:flex-start;gap:12px;flex-direction:column}.cl-navbar{gap:8px;padding:6px 10px!important}.cl-navbar-brand img{width:140px;height:32px}.cl-navbar-user{margin-left:auto}.cl-navbar-user .cl-user-name{display:none}#div_menu1+div{padding:8px!important}.cl-home{padding:0 12px}.cl-home h1{font-size:22px}}

#div_cabecera_prev,#div_detalle_prev{background:#edf4f7!important;color:#647786!important;min-height:360px}#div_detalle_prev>label{color:#647786!important}#div_detalle_prev{margin:0}.cl-navbar-brand img{min-width:140px}.lc-module-title>label{color:white!important;font-size:14px!important;font-weight:600}

body.aas-config-page .aas-legacy-title,body.aas-config-page .aas-section-title{background:linear-gradient(100deg,#22313d,#14617b)!important;color:#fff!important;border:0!important;padding:8px 12px!important}body.aas-config-page .aas-legacy-title h5{color:#fff!important;font-size:14px!important;margin:0!important}.aas-title-subtitle,.aas-panel-subtitle{display:none!important}.aas-title-icon{width:26px!important;height:26px!important;font-size:13px!important}body.aas-config-page .btn-sm{min-height:26px!important;padding:3px 8px!important;font-size:11px!important}

body.aas-config-page .aas-config-card .btn-info,body.aas-config-page .btn{min-width:0!important;font-size:11px!important;min-height:26px!important;padding:4px 8px!important}body.aas-config-page .table th,body.aas-config-page .table td{font-size:11px!important;padding:5px!important}.aas-config-card{min-width:0}body>.container-fluid>.row{margin-left:0;margin-right:0}

/* Densidad compartida y acciones semánticas: referencia Clientes. */
:root{--cl-edit:#4c8b44;--cl-state:#f29f05;--cl-history:#17212b;--cl-delete:#d94b50}
html:root body :is(.lc-action,.ec-action,.lims-action,.aas-btn-tabla,.aas-rack-action-btn,.cp-btn-icon,.vol-batch-action-btn,.vol-batch-traza-btn,.aas-peso-traza-btn){display:inline-flex!important;align-items:center!important;justify-content:center!important;width:26px!important;height:26px!important;min-width:26px!important;min-height:26px!important;flex:0 0 26px!important;padding:0!important;border-radius:5px!important;font-size:13px!important;color:#fff!important;border:1px solid #ffffff77!important;vertical-align:middle}
html:root body :is(.lc-action,.ec-action,.lims-action,.aas-btn-tabla,.aas-rack-action-btn,.cp-btn-icon,.vol-batch-action-btn,.vol-batch-traza-btn,.aas-peso-traza-btn) i{font-size:13px!important;line-height:1!important}
html:root body :is(.lc-actions,.ec-list-actions,.lims-td-actions,.lqe-actions,.vol-batch-actions){white-space:nowrap;gap:4px}
html:root body :is(.lc-action-edit,.ec-action[data-action=edit],.ep-edit,.lims-action-edit,.aas-btn-tabla-edit,.aas-rack-action-btn.is-edit,.vol-batch-action-edit),html:root body :is(table,.ec-list-actions) :is(button,a):has(> .bi-pencil,> .bi-pencil-square){background:var(--cl-edit)!important;border-color:var(--cl-edit)!important;color:#fff!important}
html:root body :is(.lc-action-toggle,.ec-action[data-action=state],.ep-state,.lims-action-state,.aas-btn-tabla-toggle,.vol-batch-action-reopen),html:root body :is(table,.ec-list-actions) :is(button,a):has(> .bi-power,> .bi-dash-circle,> .bi-check-circle){background:var(--cl-state)!important;border-color:var(--cl-state)!important;color:#fff!important}
html:root body :is(.lc-action-history,.ec-action[data-action=history],.ep-history,.aas-btn-tabla-traza,.aas-btn-traza,.vol-batch-traza-btn,.aas-peso-traza-btn),html:root body :is(table,.ec-list-actions) :is(button,a):has(> .bi-clock-history){background:var(--cl-history)!important;border-color:var(--cl-history)!important;color:#fff!important}
html:root body :is(.lc-action-revoke,.ec-action[data-action=delete],.ep-delete,.lims-action-delete,.aas-rack-action-btn.is-delete,.vol-batch-action-delete),html:root body :is(table,.ec-list-actions) :is(button,a):has(> .bi-trash,> .bi-trash3,> .bi-x-lg){background:var(--cl-delete)!important;border-color:var(--cl-delete)!important;color:#fff!important}
html:root body :is(.ec-action[data-action=duplicate],.ep-copy){background:#647786!important;border-color:#647786!important;color:white!important}
html:root body :is(.lc-action,.ec-action,.lims-action,.aas-btn-tabla,.cp-btn-icon):hover{filter:brightness(.9)}
html:root body :is(.lc-status,.lp-status,.lqe-badge){font-size:10px!important;font-weight:500!important;line-height:1.15!important;padding:2px 7px!important;min-width:0!important}
html:root body :is(.lc-primary,.lp-button,.ec-button-primary){font-size:12px!important;min-height:28px;padding:4px 9px;border-radius:5px}
html:root body :is(.lc-panel-head,.lqe-panel-head){padding:8px 10px;min-height:0}
html:root body :is(.lc-panel-head,.lqe-panel-head) h3{font-size:13px}
body table :is(th,td){padding:5px 8px}
body .lqe-actions .btn{width:26px;height:26px;padding:0;display:inline-flex;align-items:center;justify-content:center}
/* Ensayos y paquetes comparten proporciones con Clientes. */
body.ec-page #ec-app{--lp-accent:#14617b;--lp-soft:#edf5f8;margin:0;padding:8px;font-size:12px;line-height:1.35;background:#fff;border-color:#dbe5e9;box-shadow:0 2px 5px #15344c0f}
#ec-app .lm-page-heading{border:0;margin:0 0 8px;align-items:center;flex-direction:row}
#ec-app .lc-title-icon{display:inline-flex;align-items:center;justify-content:center;border:1px solid #ffffff65;border-radius:5px;background:#ffffff16}
#ec-app :is(h2,h3){font-size:13px}
#ec-app small{font-size:10px}
#ec-app .lp-taxnote{padding:4px 8px;font-size:10px;border:0;background:transparent;color:#647786}
#ec-app .lp-tabs{margin-bottom:8px;gap:4px}
#ec-app .lp-tab{padding:6px 10px;font-size:12px}
#ec-app .lp-tab[aria-pressed=true]{color:#14617b;background:#edf5f8;border-bottom-color:#14617b}
#ec-app :is(.lp-tab,.lp-clientpick):hover{background:#edf5f8}
#ec-app .ec-panel-heading{margin:0 10px;padding:8px 0;min-height:42px;gap:6px}
#ec-app .ec-panel-heading>div:first-child{min-width:0}
#ec-app .ec-panel-heading small,#ec-app .ec-context-note{display:none}
#ec-app .ec-catalog-panel{padding-bottom:8px}
#ec-app :is(.ec-panel-search,.lp-toolbar){padding:8px 10px;gap:8px}
#ec-app :is(.ec-master-scroll,.ec-results){margin:0 10px}
#ec-app .ec-rate-panel .ec-context{margin:8px 10px 0;gap:8px}
#ec-app label.lp-field{font-size:11px;min-width:0;gap:3px}
#ec-app input:not([type=checkbox]),#ec-app select{font-size:12px;min-height:30px;padding:4px 8px}
#ec-app .lp-button{font-size:12px;min-height:28px;padding:4px 8px}
#ec-app .lp-button.primary{min-width:0}
#ec-app :is(thead th,tbody td,.ec-catalog-panel td,.ep-table th,.ep-table td){font-size:11px;padding:5px 6px;border-color:#dbe5e9}
#ec-app thead th{box-shadow:none}
#ec-app td small{font-size:10px}
#ec-app .ec-order{width:30px}
#ec-app :is(.ec-selected>td,.ep-selected,.lp-clientpick[aria-pressed=true]){background:#edf5f8!important}
#ec-app :is(.ec-classpick[aria-pressed=true],#ec-rate-title,.lp-code,.lp-tags span){color:#14617b}
#ec-app :is(.lp-code,.lp-tags span,.lp-preview,.ep-components>span){background:#edf5f8;border-color:#dbe5e9}
#ec-app .ec-catalog-grid{grid-template-columns:minmax(280px,1fr) minmax(285px,1fr) minmax(350px,1.4fr);gap:8px}
#ec-app .ec-master-scroll{max-height:calc(100vh - 310px);min-height:140px}
#ec-app .ec-rate-panel .lp-tablewrap{max-height:calc(100vh - 360px)}
#ec-app :is(.ep-heading,.ec-form-title){padding:8px 10px;min-height:0}
#ec-app .ep-layout{padding:0 10px 10px;gap:8px;grid-template-columns:minmax(300px,1fr) minmax(350px,1.25fr)}
#ec-app .ep-layout.ep-clients{grid-template-columns:minmax(200px,.75fr) minmax(320px,1fr) minmax(350px,1.2fr)}
#ec-app :is(.ep-panel,.lp-packcard,.lp-formsection,.lp-classitem){padding:10px}
#ec-app .ep-panel h3{font-size:13px;margin:0 0 8px}
#ec-app .ep-panel h4{font-size:12px;margin:10px 0 6px}
#ec-app .ep-table td:has(>.ec-list-actions){min-width:154px}
#ec-app .ep-client-table td:has(>.ec-list-actions){min-width:94px;width:94px}
#ec-app .ep-scroll{margin-top:8px;max-height:calc(100vh - 310px)}
#ec-app .ep-fields,#ec-app .ec-grid-fields{gap:8px;margin:8px 0}
#ec-app .ep-name{background:transparent!important;color:#22313d;padding:0;min-height:0}
#ec-app .lp-packprice{font-size:16px}
@media(max-width:1250px){#ec-app .ec-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#ec-app .ec-rate-panel{grid-column:1/-1}#ec-app .ep-layout.ep-clients{grid-template-columns:repeat(2,minmax(0,1fr))}#ec-app .ep-layout.ep-clients>.ep-panel:last-child{grid-column:1/-1}}
@media(min-width:1251px){#ec-app .ec-rate-panel{grid-column:auto}}
@media(max-width:760px){#ec-app .ec-catalog-grid,#ec-app .ep-layout,#ec-app .ep-layout.ep-clients{grid-template-columns:minmax(0,1fr)}#ec-app .ec-rate-panel,#ec-app .ep-layout.ep-clients>.ep-panel:last-child{grid-column:auto}#ec-app .ec-master-scroll,#ec-app .ec-rate-panel .lp-tablewrap{max-height:360px}#ec-app .lp-clientlayout{grid-template-columns:minmax(0,1fr)}}

/* Marco común: una sola separación exterior, como Clientes. */
:root{--cl-page-x:16px;--cl-page-y:12px}
html:root body>.container-fluid:has(.cl-navbar){width:100%!important;max-width:none!important;padding:0!important;margin:0!important}
html:root body>.container-fluid:has(.cl-navbar)>.row{--bs-gutter-x:0;--bs-gutter-y:0;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
html:root body>.container-fluid>.row>.lims-navbar-skin{width:100%!important;padding:0!important;margin:0!important}
html:root body :is(#div_menu1 + div,#div_menu1 + main,body>.container-fluid>.row>.lims-page-content){box-sizing:border-box;width:100%!important;max-width:100%!important;flex:0 0 100%!important;border:0!important;margin:0!important;padding:var(--cl-page-y) var(--cl-page-x) 28px!important;zoom:1!important}
html:root body>.lims-config-page,html:root body>main#ma-app{width:100%!important;max-width:none!important;margin:0!important;padding:var(--cl-page-y) var(--cl-page-x) 28px!important}
html:root body :is(#div_menu1 + div,#div_menu1 + main)>.row{margin-left:0!important;margin-right:0!important}
html:root body #div_menu1 + div>.d-flex.row{padding-left:0!important;padding-right:0!important}
html:root body #div_menu1 + div>.d-flex.row>.row{margin-left:0!important;margin-right:0!important}
html:root body :is(#div_menu1 + div,#div_menu1 + main)>.lims-config-page{padding:0!important;margin:0!important}
@media(max-width:600px){:root{--cl-page-x:8px;--cl-page-y:8px}}
