/* Respuesta visible al tocar y navegación plegable (16/10/2026). */
button,.sidebar nav a{transition:background-color .15s,border-color .15s,box-shadow .15s,transform .08s}
button:active:not(:disabled),.sidebar nav a:active{transform:scale(.97)}
button.primary:hover:not(:disabled),.primary:hover:not(:disabled){background:#00699a;border-color:#00699a}
button:disabled{opacity:.55;cursor:not-allowed}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #0098d966;outline-offset:2px}
.sidebar nav a:hover{background:#f2f8fc;color:#007db5}
.sidebar nav a b{font-weight:inherit}

/* Botón para plegar el menú en computador. */
.collapse{position:absolute;top:26px;right:-14px;width:28px;height:28px;padding:0;border-radius:50%;font-size:16px;line-height:1;box-shadow:0 2px 8px #1b2a3826;z-index:4}
@media(min-width:761px){
 .sidebar{transition:width .2s,padding .2s}.shell{transition:margin-left .2s}
 .nav-collapsed .sidebar{width:76px;padding:28px 10px}
 .nav-collapsed .shell,.nav-collapsed .demo-banner{margin-left:76px}
 .nav-collapsed .sidebar nav a{justify-content:center;padding:11px 0}
 .nav-collapsed .sidebar nav b,.nav-collapsed .sidebar>small,.nav-collapsed .sidebar-foot,.nav-collapsed .logo strong{display:none}
 .nav-collapsed .logo img{max-width:52px}
 .nav-collapsed .collapse{transform:rotate(180deg)}
}

/* Celular: fondo que se toca para cerrar, áreas táctiles de 44 px y tablas con desplazamiento propio. */
@media(max-width:760px){
 .collapse{display:none}
 .menu-open .shell::before{content:"";position:fixed;inset:0;background:#1b2a3852;z-index:2}
 button,.sidebar nav a,input,select{min-height:44px}
 .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
 .actions{flex-wrap:wrap}
 dialog{width:100vw;max-width:100vw;max-height:100dvh;margin:0;border-radius:0}
}

/* Agente rendidor: una tarjeta por informe propuesto. */
.agent-intro{color:#536f86}
.agent-plan{border:1px solid var(--line);border-left:4px solid #0098d9;border-radius:16px;padding:16px 18px;margin:14px 0;background:#fbfdff}
.agent-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;margin-bottom:6px}.agent-head span{color:#6f879a;font-size:12px}
.agent-total{font-size:15px;font-weight:600;color:#0a7a4b;margin:6px 0 10px}
.agent-hint{color:#6f879a;font-size:12px;margin:4px 0 10px}
.agent-plan details{margin-top:10px}.agent-plan summary{cursor:pointer;color:#a15c00;font-weight:600}
.agent-plan li{margin:8px 0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.agent-plan li small{flex-basis:100%;color:#6f879a}

/* Reportes: barras con <progress> (la CSP no admite estilos en línea). */
.bars{display:flex;flex-direction:column;gap:9px}
.bar-row{display:grid;grid-template-columns:minmax(120px,1.2fr) 2fr auto;gap:10px;align-items:center}
.bar-row span{font-size:12px;line-height:1.3}.bar-row small{display:block;color:#6f879a;font-size:10px}
.bar-row progress{height:12px;accent-color:#0098d9}.bar-row strong{font-size:12px;white-space:nowrap}
@media(max-width:760px){.bar-row{grid-template-columns:1fr auto}.bar-row progress{grid-column:1/-1;grid-row:2}}

/* Agente revisor. */
.ai-review{border:1px solid var(--line);border-left:4px solid #10b981;border-radius:14px;padding:12px 16px;margin:12px 0;background:#f8fcfa}
.ai-review.risk-medio{border-left-color:#f59f00;background:#fffaf0}.ai-review.risk-alto{border-left-color:#e03131;background:#fff5f5}
.ai-review h3{margin:0 0 6px;font-size:14px;text-transform:capitalize}.ai-review ul{margin:8px 0;padding-left:4px;list-style:none}.ai-review li{margin:5px 0}
.ai-review li.lvl-alto{color:#c92a2a}.ai-review small{color:#6f879a}

/* Solicitudes de fondos y vencimiento. */
.fund-request,.fund-due{font-size:12px;margin:6px 0;padding:6px 10px;border-radius:8px;background:#eef6fb;color:#0a6a99}
.fund-request.approved{background:#ebfbee;color:#2b8a3e}.fund-request.rejected,.fund-due.expired{background:#fff5f5;color:#c92a2a}

/* Conciliación. */
.bank-suggestion{display:block;color:#0a6a99;margin-bottom:6px}

/* Próximo paso tras guardar un gasto. */
.next-done{font-size:15px;font-weight:600;color:#0a7a4b}
.next-steps{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
@media(max-width:760px){.next-steps button{flex:1 1 100%}}
.ask-log{max-height:46vh;overflow:auto;display:grid;gap:8px;margin-bottom:10px}.ask-q{justify-self:end;background:#e7f5fd;border-radius:12px 12px 2px 12px;padding:8px 12px;margin:0;max-width:85%}.ask-a{justify-self:start;background:#f3f6f8;border-radius:12px 12px 12px 2px;padding:8px 12px;margin:0;max-width:92%;white-space:pre-wrap}.ask-wait{color:#6f879a;font-style:italic}.ask-tips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.chip{border:1px solid #bfcfdc;background:#fff;border-radius:999px;padding:5px 10px;font-size:12px;cursor:pointer}.chip:hover{background:#e7f5fd}
.tf-secret{font-size:15px;letter-spacing:.06em;background:#e7f5fd;padding:2px 6px;border-radius:4px;word-break:break-all}.tf-codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding-left:18px}.tf-codes code{font-size:14px}
