:root{--jade:#00a88f;--jade-dark:#008e79;--bg:#f4f7f6;--surface:#fff;--text:#263238;--muted:#667085;--danger:#c62828;--danger-bg:#fdecea;--warn:#a86d00;--warn-bg:#fff5dd;--ok:#21843b;--ok-bg:#e8f8ed;--line:#e4ebe8}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}.sidebar{width:265px;min-height:100vh;background:#16332f;color:#fff;position:fixed;left:0;top:0;padding:24px;z-index:20}.brand{font-size:1.45rem;font-weight:800}.brand b{color:#45d4bf}.user-box{padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.04)}.nav-link{color:#dce9e7;border-radius:10px;margin:.28rem 0;padding:.7rem .85rem;cursor:pointer}.nav-link i{width:1.5rem;margin-right:.55rem;text-align:center}.sidebar .nav-link:hover,.sidebar .nav-link.active{background:var(--jade);color:#fff}.main{margin-left:265px;padding:28px;max-width:1800px}.section{display:none}.section.active{display:block}.page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.page-head h2{font-weight:800;margin:0}.page-head p{color:var(--muted);margin:.25rem 0 0}.card{border:0;border-radius:16px;box-shadow:0 6px 20px rgba(38,50,56,.07);background:var(--surface)}.metric{padding:18px}.metric .n{font-size:1.8rem;font-weight:800}.metric .icon{width:42px;height:42px;border-radius:12px;background:#e8f8f4;color:var(--jade-dark);display:grid;place-items:center}.badge-low{background:var(--danger-bg);color:var(--danger)}.badge-warn{background:var(--warn-bg);color:var(--warn)}.badge-ok{background:var(--ok-bg);color:var(--ok)}.btn-jade{background:var(--jade);color:#fff;border-color:var(--jade)}.btn-jade:hover{background:var(--jade-dark);color:#fff;border-color:var(--jade-dark)}.btn-wa{background:#25d366;color:#0b2e13;font-weight:700;border:0}.btn-wa:hover{background:#1fbd5a;color:#0b2e13}.section-tabs{border-bottom-color:var(--line)}.section-tabs .nav-link{color:var(--muted);border:0;border-bottom:3px solid transparent;border-radius:0;margin:0}.section-tabs .nav-link.active{color:var(--jade-dark);font-weight:700;border-bottom-color:var(--jade);background:transparent}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:14px}.toolbar .form-control{max-width:360px}.table thead th{font-size:.76rem;text-transform:uppercase;letter-spacing:.035em;color:var(--muted);font-weight:700;border-bottom-color:var(--line);white-space:nowrap}.table td{vertical-align:middle}.code-chip{font-family:ui-monospace,Consolas,monospace;font-size:.84rem;background:#f1f3f2;border:1px solid #e3e7e5;border-radius:6px;padding:.15rem .45rem}.quick-actions{display:flex;gap:5px;align-items:center}.quick-actions button{width:32px;height:32px;padding:0}.quick-card{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff;height:100%}.quick-card .stock{font-size:1.25rem;font-weight:800}.shelf-card{border-left:4px solid var(--jade)}.sticky-card{position:sticky;top:20px}.quote-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #edf1ef}.quote-row:last-child{border-bottom:0}.price-best{background:#effaf4}.kit-item{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.kit-item:last-child{border-bottom:0}.kit-alert{font-size:.78rem}.equip-state{padding:.35rem .65rem;border-radius:999px;font-size:.82rem;font-weight:600}.toastish{position:fixed;right:24px;top:20px;z-index:2000;padding:12px 16px;border-radius:10px;background:#173c36;color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.15)}.text-jade{color:var(--jade-dark)}.audit-undone{text-decoration:line-through;opacity:.6}.modal-content{border:0;border-radius:16px}.form-control,.form-select{border-color:#dbe4e1}.form-control:focus,.form-select:focus{border-color:var(--jade);box-shadow:0 0 0 .2rem rgba(0,168,143,.12)}
@media(max-width:1100px){.sidebar{width:230px}.main{margin-left:230px;padding:20px}.toolbar{flex-wrap:wrap}}
@media(max-width:820px){.sidebar{position:static;width:100%;min-height:auto;padding:16px}.sidebar nav{display:flex;overflow-x:auto;gap:6px}.sidebar .nav-link{white-space:nowrap}.main{margin-left:0;padding:16px}.page-head{align-items:flex-start;flex-direction:column}.toolbar .form-control{max-width:none;flex:1 1 100%}.section-tabs{flex-wrap:nowrap;overflow-x:auto}.section-tabs .nav-link{white-space:nowrap}.kit-item{grid-template-columns:1fr}.sticky-card{position:static}}
/* Requerimientos 2026-10: sidebar contraíble, almacenes y operaciones múltiples */
.sidebar-toggle{min-width:34px}.warehouse-nav{margin:.15rem 0 .45rem;padding-left:2.05rem}.warehouse-sub{display:block;color:#b9cfcb;text-decoration:none;font-size:.78rem;padding:.28rem .45rem;border-radius:7px;cursor:pointer;margin:.1rem 0}.warehouse-sub:hover,.warehouse-sub.active{background:rgba(0,168,143,.2);color:#fff}.money-value{white-space:nowrap;font-size:clamp(1.25rem,2vw,1.8rem)!important;letter-spacing:-.03em}.min-w-0{min-width:0}.badge-info{background:#eaf3ff;color:#205c9e}.operation-row{padding:.65rem;border:1px solid var(--line);border-radius:12px;background:#fbfdfc}.quote-row .panel-quote-qty{flex:0 0 auto}
body.sidebar-collapsed .sidebar{width:82px;padding:20px 14px}body.sidebar-collapsed .main{margin-left:82px}body.sidebar-collapsed .sidebar-label,body.sidebar-collapsed .sidebar-brand-text{display:none}body.sidebar-collapsed .user-box{padding:8px}body.sidebar-collapsed .sidebar .nav-link{display:flex;justify-content:center;padding:.7rem .5rem}body.sidebar-collapsed .sidebar .nav-link i{margin:0}body.sidebar-collapsed .warehouse-nav{display:none}body.sidebar-collapsed .sidebar-toggle{margin:auto}
@media(max-width:820px){body.sidebar-collapsed .sidebar{width:100%;padding:16px}body.sidebar-collapsed .main{margin-left:0}body.sidebar-collapsed .sidebar-label,body.sidebar-collapsed .sidebar-brand-text{display:initial}.warehouse-sub{white-space:nowrap}}

/* Ajustes 2026-10: cabecera con logo, submenú de almacenes, filas compactas */
.sidebar-head{display:flex;align-items:center;gap:12px;cursor:pointer;border-radius:12px;padding:4px;margin:-4px;user-select:none;transition:background .15s}.sidebar-head:hover{background:rgba(255,255,255,.06)}.sidebar-head:focus-visible{outline:2px solid #45d4bf}
.brand-logo{flex:0 0 44px;width:44px;height:44px;border-radius:12px;background:#fff;display:grid;place-items:center}.brand-logo img{width:26px;height:auto;display:block}
.sidebar-brand-text{line-height:1.15}.sidebar-brand-text .brand{font-size:1.25rem}
.nav-parent{display:flex;align-items:center}.nav-parent .nav-caret{margin:0 0 0 auto;width:auto;font-size:.7rem;opacity:.7;transition:transform .2s}.nav-parent.expanded .nav-caret{transform:rotate(180deg)}.nav-parent.in-zone{background:rgba(0,168,143,.18);color:#fff}
.warehouse-nav{display:none;margin:.1rem 0 .45rem;padding-left:1.1rem;border-left:1px solid rgba(255,255,255,.14);margin-left:1.35rem}.warehouse-nav.open{display:block}
.warehouse-sub{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;font-size:.84rem}.warehouse-sub i{font-size:.72rem;opacity:.7;width:1rem;text-align:center}
.operation-row{padding:.4rem .5rem}.operation-row .form-select,.operation-row .form-control{margin:0}
body.sidebar-collapsed .sidebar-head{justify-content:center;padding:4px 0;margin:-4px 0}
body.sidebar-collapsed .nav-parent .nav-caret{display:none}
@media(max-width:820px){.sidebar-head{pointer-events:none}.warehouse-nav.open{display:flex;overflow-x:auto;margin-left:0;padding-left:0;border-left:0;gap:4px}.warehouse-sub{white-space:nowrap}body.sidebar-collapsed .sidebar-head{justify-content:flex-start}}

/* ===== Tema con color (paleta SAE) ===== */
:root{--jade:#00a88f;--jade-hover:#008f79;--jade-dark:#008f79;--jade-soft:#e7f8f5;--bg:#f4f7f6;--surface:#fff;--surface-muted:#f8faf9;--border:#dce5e2;--line:#dce5e2;--text:#263238;--text-secondary:#667085;--muted:#667085;
--rojo-txt:#c62828;--rojo-bg:#fdecea;--rojo-border:#f4c8c4;--amarillo-txt:#a86d00;--amarillo-bg:#fff5dd;--amarillo-border:#f5dfaa;--verde-txt:#21843b;--verde-bg:#e8f8ed;--verde-border:#c9ecd2;--azul-txt:#1d5fae;--azul-bg:#eaf1fb;--azul-border:#c7dbf5;
--danger:var(--rojo-txt);--danger-bg:var(--rojo-bg);--warn:var(--amarillo-txt);--warn-bg:var(--amarillo-bg);--ok:var(--verde-txt);--ok-bg:var(--verde-bg);
--shadow-sm:0 10px 24px rgba(30,54,48,.05);--radius-lg:16px;--radius-md:12px}
body{background:var(--bg)}
.sidebar{background:#12302b}
.user-box{background:rgba(0,168,143,.18);border-color:rgba(69,212,191,.25)}

/* acentos por tipo */
.ac-jade{--ac:var(--jade);--acs:var(--jade-soft);--aci:#c9f0e9;--acf:var(--jade-hover)}
.ac-rojo{--ac:#d9534f;--acs:var(--rojo-bg);--aci:var(--rojo-border);--acf:var(--rojo-txt)}
.ac-amarillo{--ac:#e3a41a;--acs:var(--amarillo-bg);--aci:var(--amarillo-border);--acf:var(--amarillo-txt)}
.ac-verde{--ac:#2e9e4f;--acs:var(--verde-bg);--aci:var(--verde-border);--acf:var(--verde-txt)}
.ac-azul{--ac:#3b82d6;--acs:var(--azul-bg);--aci:var(--azul-border);--acf:var(--azul-txt)}
#dashboard .col-xl-7>.card{--ac:var(--jade);--acs:var(--jade-soft);--aw:3px}
#dashboard .col-xl-5>.card{--ac:#3b82d6;--acs:var(--azul-bg);--aw:3px}
#dashboard>.card{--ac:#d9534f;--acs:var(--rojo-bg);--aw:3px}
#operations .col-xl-7>.card{--ac:#2e9e4f;--acs:var(--verde-bg);--aw:3px}
#operations .col-xl-5>.card{--ac:#3b82d6;--acs:var(--azul-bg);--aw:3px}
#buy-quote .col-lg-7>.card{--ac:var(--jade);--acs:var(--jade-soft);--aw:3px}
#buy-quote .sticky-card{--ac:#25d366;--acs:#e6f9ee;--aw:3px}
#inv-stock>.card,#buy-compare>.card,#buy-suppliers>.card,#buy-history>.card{--ac:var(--jade);--acs:var(--jade-soft);--aw:3px}
#inv-movements>.card{--ac:#3b82d6;--acs:var(--azul-bg);--aw:3px}
#adm-audit>.card{--ac:#7a6bd6;--acs:#f1effc;--aw:3px}
#adm-codes .card,#adm-ppe>.card:first-child{--ac:var(--jade);--acs:var(--jade-soft);--aw:3px}
#safe-ext>.card,#equipment>.card{--ac:#e3a41a;--acs:var(--amarillo-bg);--aw:3px}

.card{border:1px solid var(--border);border-top:var(--aw,1px) solid var(--ac,var(--border));background:var(--surface);box-shadow:var(--shadow-sm)}
.card.metric{padding:18px;background:var(--acs);border-top:1px solid var(--aci);border-left:5px solid var(--ac)}
.metric .icon{background:var(--ac);color:#fff;box-shadow:0 6px 14px color-mix(in srgb,var(--ac) 35%,transparent)}
.metric .n{color:var(--acf)}

.page-head{background:var(--jade-soft);border:1px solid var(--border);border-left:5px solid var(--jade);border-radius:var(--radius-lg);padding:18px 22px;box-shadow:var(--shadow-sm)}
.page-head h2{color:#16332f}

.table thead th{background:var(--jade-soft);color:#0b6f5f;border-bottom:2px solid #bfe9e1}
.table>tbody>tr:hover>*{--bs-table-bg-state:#eefaf7}
.table>tbody>tr>*{border-bottom-color:#e8eeec}
.code-chip{background:var(--jade-soft);border-color:#bfe9e1;color:#0b6f5f}

.badge{font-weight:600;border:1px solid transparent}
.badge-low{background:var(--rojo-bg);color:var(--rojo-txt);border-color:var(--rojo-border)}
.badge-warn{background:var(--amarillo-bg);color:var(--amarillo-txt);border-color:var(--amarillo-border)}
.badge-ok{background:var(--verde-bg);color:var(--verde-txt);border-color:var(--verde-border)}
.badge-info{background:var(--azul-bg);color:var(--azul-txt);border-color:var(--azul-border)}

.section-tabs{border-bottom:2px solid var(--border)}.section-tabs .nav-link{border-radius:10px 10px 0 0;padding:.6rem 1rem}.section-tabs .nav-link:hover{background:var(--jade-soft);color:var(--jade-hover)}.section-tabs .nav-link.active{background:var(--jade-soft);border-bottom:3px solid var(--jade)}

.operation-row{background:var(--surface-muted);border-color:var(--border)}
#operations .col-xl-7 .operation-row{background:#f3fbf5;border-color:var(--verde-border)}
#operations .col-xl-5 .operation-row{background:#f2f7fd;border-color:var(--azul-border)}
.quote-row:hover{background:var(--jade-soft)}.price-best{background:var(--verde-bg)!important}
.alert-light{background:var(--amarillo-bg);border-color:var(--amarillo-border)!important;color:#6b4700}
.btn-outline-secondary{border-color:#c5d3cf;color:#44575a}.btn-outline-secondary:hover{background:var(--jade-soft);border-color:var(--jade);color:var(--jade-hover)}
.modal-header{background:var(--jade-soft);border-bottom:1px solid var(--border);border-radius:16px 16px 0 0}
.form-control,.form-select{background-color:#fcfdfd;border-color:#d3e0dc}
.warehouse-sub.active{background:rgba(69,212,191,.22);color:#fff}

/* Sidebar con scroll interno oculto (escritorio): cabecera y sesión fijas, el menú se desplaza */
@media(min-width:821px){
.sidebar{height:100vh;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.sidebar>.sidebar-head,.sidebar>.user-box{flex:0 0 auto}
.sidebar>nav{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior:contain;padding-bottom:12px}
.sidebar>nav::-webkit-scrollbar{display:none}
}

/* Componentes reutilizables de los nuevos requerimientos */
.supplier-item-picker{max-height:310px;overflow:auto;border:1px solid var(--border);border-radius:12px;background:#fbfdfc;padding:.35rem}
.supplier-item-option{display:flex;align-items:center;gap:.6rem;padding:.55rem .65rem;border-radius:9px;cursor:pointer}
.supplier-item-option:hover{background:var(--jade-soft)}
.quote-supplier-card{border:1px solid var(--border);border-left:4px solid var(--jade);border-radius:12px;padding:14px;margin-bottom:12px;background:#fff}
.catalog-list{max-height:430px;overflow:auto;border-top:1px solid var(--border)}
.catalog-list .catalog-row{display:flex;align-items:center;gap:.5rem;padding:.6rem 0;border-bottom:1px solid var(--border)}
.catalog-list .catalog-row .form-control{min-width:0}

/* Select buscable: apariencia coherente con .form-select, sin usar el datalist nativo. */
.search-select{position:relative;width:100%}
.search-select::after{content:"";position:absolute;right:.9rem;top:50%;width:.55rem;height:.55rem;border-right:2px solid #66706e;border-bottom:2px solid #66706e;transform:translateY(-68%) rotate(45deg);pointer-events:none;transition:transform .16s ease,margin-top .16s ease}
.search-select.open::after{transform:translateY(-32%) rotate(225deg);margin-top:.18rem}
.search-select .search-select-input{padding-right:2.6rem;background-color:#fff;cursor:pointer}
.search-select .search-select-input:focus{cursor:text}
.search-select-menu{position:absolute;z-index:1085;left:0;right:0;top:calc(100% + 4px);max-height:240px;overflow:auto;background:#fff;border:1px solid #ced4da;border-radius:.5rem;box-shadow:0 .5rem 1.25rem rgba(25,42,39,.14);padding:.3rem 0;color:#26302f}
.search-select.open-up .search-select-menu{top:auto;bottom:calc(100% + 4px)}
.search-select-option{display:block;width:100%;border:0;background:#fff;color:#26302f;text-align:left;padding:.58rem .85rem;font:inherit;line-height:1.35;cursor:pointer}
.search-select-option:hover,.search-select-option.active{background:#edf8f5;color:#173c36}
.search-select-option[aria-selected="true"]{font-weight:600}
.search-select-empty{padding:.65rem .85rem;color:#6c757d;font-size:.92rem}
.search-select-menu::-webkit-scrollbar{width:9px}
.search-select-menu::-webkit-scrollbar-thumb{background:#c9d2cf;border:2px solid #fff;border-radius:999px}
.search-select-menu::-webkit-scrollbar-track{background:#fff}
.modal .search-select-menu{z-index:1095}
