:root { --app-verde: #0b6b5f; --app-verde-claro: #e7f4f1; }
body { background: #f4f6f8; }
.app-nav { background: var(--app-verde); }
.app-nav .nav-link.active { background: rgba(255,255,255,.15); border-radius: .375rem; }
.card { border: 0; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.btn-wa { background: #25d366; border-color: #25d366; color: #fff; }
.btn-wa:hover { background: #1ebe5b; color: #fff; }
.stat { font-size: 2rem; font-weight: 600; line-height: 1; }
.login-wrap { min-height: 100vh; display: flex; align-items: center; justify-content: center; background: linear-gradient(160deg, #0b6b5f, #0a3d36); }
.login-card { width: 100%; max-width: 380px; }

/* Selector de archivos */
.archivo-op { cursor: pointer; }
.archivo-op input { position: absolute; opacity: 0; }
.archivo-op .card { transition: box-shadow .15s, outline-color .15s; outline: 3px solid transparent; height: 100%; }
.archivo-op input:checked + .card { outline-color: #25d366; box-shadow: 0 0 0 4px var(--app-verde-claro); }
.archivo-thumb { height: 110px; display: flex; align-items: center; justify-content: center; background: #eef1f3; border-radius: .375rem .375rem 0 0; overflow: hidden; }
.archivo-thumb img { width: 100%; height: 100%; object-fit: cover; }
.archivo-thumb i { font-size: 2.6rem; color: #6c757d; }
.archivo-titulo { font-size: .85rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.lista-scroll { max-height: 380px; overflow-y: auto; }
.resumen-envio { position: sticky; bottom: .75rem; z-index: 10; background: #fff; border-radius: .75rem; box-shadow: 0 4px 18px rgba(0,0,0,.15); padding: .75rem 1rem !important; }
.resumen-envio .stat { font-size: 1.6rem; }
@media (max-width: 575px) { .resumen-envio #resArchivo { display: none; } .resumen-envio .btn-lg { padding: .5rem 1rem; font-size: 1rem; } }
.table td, .table th { vertical-align: middle; }
.text-mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
