:root{--azul:#0b4569;--btn:#0d7fc0;--bg:#eef4f8;--card:#fff;--txt:#0b1d2a;--mut:#657586}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--txt)}.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#063455,#0e80bc)}.login .box{background:white;border-radius:22px;padding:34px;width:min(460px,92vw);box-shadow:0 20px 50px #0004}.logo{display:flex;gap:18px;align-items:center}.asse{background:white;border-radius:12px;padding:10px;border:1px solid #e5eef4;color:#1099d6;font-weight:bold;font-size:28px}.title{font-size:34px;font-weight:800}.sub{color:#d8eefb}.login .sub{color:#667}input,select,textarea{width:100%;padding:13px;border:1px solid #cbd6df;border-radius:10px;font-size:16px;background:white}textarea{min-height:70px}.btn{background:var(--btn);color:white;border:0;border-radius:10px;padding:13px 18px;font-weight:700;cursor:pointer}.btn.red{background:#c82127}.btn.gray{background:#60798e}.btn.green{background:#168449}.btn.orange{background:#e68021}.btn:disabled{opacity:.5}.top{background:var(--azul);color:white;padding:25px 28px;display:flex;gap:25px;align-items:center;justify-content:space-between;flex-wrap:wrap}.top .left{display:flex;gap:16px;align-items:center}.top .title{font-size:32px}.top input{max-width:360px}.wrap{padding:22px}.cards{display:grid;grid-template-columns:repeat(5,minmax(160px,1fr));gap:16px}.card{background:white;border-radius:16px;padding:23px;box-shadow:0 6px 18px #0001;border-left:7px solid #1589c9}.card.low{border-color:#f0b500}.card.crit{border-color:#df2630}.card.zero{border-color:#111}.card.orange{border-color:#ff7a18}.card.alert{border-color:#7d3cff}.num{font-size:36px;font-weight:800}.tabs{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.panel{background:white;border-radius:16px;padding:22px;margin:16px 0;box-shadow:0 6px 18px #0001}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.notice{background:#dff1fb;border-left:5px solid #1187c6;padding:14px;border-radius:10px;margin:12px 0}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.hidden{display:none!important}table{width:100%;border-collapse:collapse;background:white}th,td{text-align:left;padding:12px;border-bottom:1px solid #e7edf2}th{font-weight:800}.badge{display:inline-block;padding:6px 10px;border-radius:8px;font-weight:700;font-size:12px}.pendiente{background:#fff0b3}.aprobado,.preparado{background:#cfe8ff}.entregado{background:#c9f4d6}.rechazado{background:#ffd1d1}.observado{background:#ffd9b3}.normal{background:#c9f4d6}.bajo{background:#fff0b3}.critico{background:#ffd1d1}.sinexistencia{background:#ddd}.footer{text-align:center;color:#657586;padding:25px}.err{color:#c82127;font-weight:700}.ok{color:#168449;font-weight:700}.manual{line-height:1.6;font-size:17px}.small{font-size:13px;color:#667}@media(max-width:900px){.cards{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}.grid2{grid-template-columns:1fr}.top{display:block}.top .row{margin-top:12px}}@media print{.top,.tabs,.btn,.cards{display:none}.panel{box-shadow:none}.wrap{padding:0}}

.pendiente_control{background:#fff0b3}.solicitado{background:#cfe8ff}.recibido_economato{background:#c9f4d6}
.orangeBtn{background:#f59e0b!important;color:white!important}


/* Ajustes v23: móvil y tablas imprimibles/responsive */
.panel{max-width:100%;overflow-x:auto}
.toastBox{position:fixed;top:14px;right:14px;z-index:9999;max-width:min(360px,92vw)}
.toast{background:#0b4569;color:white;border-radius:12px;padding:14px 16px;margin-bottom:10px;box-shadow:0 12px 30px #0004;font-weight:700}
.toast small{display:block;font-weight:400;opacity:.9;margin-top:4px}.tableWrap{width:100%;overflow-x:auto}
@media(max-width:700px){
  .top{padding:18px}.top .left{align-items:flex-start}.top .title{font-size:30px}.asse{font-size:22px}
  .wrap{padding:14px}.tabs .btn{font-size:15px;padding:12px 14px}.panel{padding:18px;border-radius:14px}
  table{min-width:760px;font-size:15px} th,td{padding:10px;vertical-align:top}
  .cards{grid-template-columns:1fr 1fr;gap:10px}.card{padding:16px}.num{font-size:28px}
  input,select,textarea{font-size:16px}.btn{font-size:15px}
}

/* v35 - buscador real para solicitudes de secciones */
.reqRow{display:block;background:#f8fbfd;border:1px solid #dce8f0;border-radius:14px;padding:12px;margin:12px 0}
.reqSearchWrap{position:relative;margin-bottom:10px}
.reqSuggestions{position:relative;margin-top:6px;border-radius:12px;overflow:hidden;box-shadow:0 8px 22px #0002;z-index:20;background:white;max-height:340px;overflow-y:auto}
.reqSuggestion{display:grid;grid-template-columns:120px 1fr 180px;gap:10px;width:100%;border:0;border-bottom:1px solid #e8eef3;background:white;color:#0b1d2a;text-align:left;padding:12px;cursor:pointer;font-size:15px}
.reqSuggestion:hover,.reqSuggestion:focus{background:#dff1fb;outline:2px solid #0d7fc0}
.reqCode{font-weight:800;color:#0b4569}.reqName{font-weight:700}.reqCat{color:#657586}.reqNoResult{padding:12px;color:#c82127;background:#fff3f3}.pickedItem{margin-top:6px;padding:8px 10px;background:#eef7ff;border-radius:9px}.pickedItem b{color:#168449}
@media(max-width:700px){.reqSuggestion{grid-template-columns:1fr;gap:4px;padding:14px}.reqSuggestions{max-height:300px}.reqCode{font-size:14px}.reqName{font-size:16px}.reqCat{font-size:14px}.reqRow .grid2{grid-template-columns:1fr}}

/* v35 */
.cardClick{cursor:pointer;transition:.15s transform,.15s box-shadow}.cardClick:hover{transform:translateY(-2px);box-shadow:0 10px 24px #0002}.smallBtn{padding:8px 10px;font-size:12px}.muted{color:#657586}code{background:#eef4f8;padding:3px 6px;border-radius:6px}

/* v45 Resilience */
.conn{position:fixed;right:14px;bottom:14px;z-index:9999;padding:8px 12px;border-radius:999px;font-weight:800;box-shadow:0 6px 18px #0003;background:#0b1d2a;color:white;font-size:13px}.conn.ok{background:#126b3a}.conn.bad{background:#9b1c20}.reconnect{display:none;position:fixed;inset:0;z-index:9998;background:rgba(6,12,20,.78);align-items:center;justify-content:center;padding:20px}.reconnect>div{background:white;color:#0b1d2a;border-radius:18px;padding:26px;max-width:560px;box-shadow:0 20px 60px #0008}.cardClick{cursor:pointer}.cardClick:hover{transform:translateY(-2px)}
