body { font-family: system-ui, -apple-system, sans-serif; margin: 0; padding: 0; background-color: #f4f6f4; color: #26332a; }
.header { display: flex; align-items: center; justify-content: space-between; min-height: 76px; padding: 0.75rem clamp(1rem, 5vw, 4rem); background: #fff; box-shadow: 0 2px 12px rgba(30,50,35,0.08); }
.header h1 { margin: 0; color: #24342a; font-size: clamp(1.35rem, 3vw, 2rem); letter-spacing: -0.03em; }
.logo { height: 54px; max-width: 150px; width: auto; object-fit: contain; }
.btn-iniciar-sesion { flex-shrink: 0; padding: 10px 14px; border: 1px solid #dce9dd; border-radius: 8px; background: #eff7ef; color: #347340; font-size: 0.88rem; font-weight: 700; text-decoration: none; transition: background 160ms ease, border-color 160ms ease; }
.btn-iniciar-sesion:hover { border-color: #b9d4bc; background: #e5f2e6; }

.login-page { display: grid; min-height: 100vh; place-items: center; box-sizing: border-box; padding: 24px; background: radial-gradient(ellipse at top, #e8f3e9 0%, #f4f6f4 55%, #edf1ed 100%); }
.login-card { width: 100%; max-width: 560px; min-height: 480px; box-sizing: border-box; padding: clamp(32px, 7vw, 56px); border: 1px solid #e5ebe5; border-radius: 20px; background: #fff; box-shadow: 0 18px 50px rgba(38, 65, 43, 0.12); display: flex; flex-direction: column; justify-content: center; }
.login-volver { display: inline-block; align-self: flex-start; margin-bottom: 42px; color: #536458; font-size: 1rem; font-weight: 650; text-decoration: none; }
.login-volver:hover { color: #2e7d32; text-decoration: underline; }
.login-etiqueta { margin: 0 0 10px; color: #398248; font-size: 0.82rem; font-weight: 800; letter-spacing: 0.13em; }
.login-card h1 { margin: 0; color: #26332a; font-size: clamp(2.2rem, 5vw, 2.8rem); letter-spacing: -0.04em; }
.login-descripcion { margin: 12px 0 30px; color: #748077; font-size: 1.05rem; line-height: 1.6; }
.login-form { display: flex; flex-direction: column; gap: 13px; }
.login-form label { margin-top: 8px; color: #46534a; font-size: 1rem; font-weight: 700; }
.login-form input { width: 100%; box-sizing: border-box; padding: 16px 17px; border: 1px solid #d8e0d9; border-radius: 9px; background: #fff; color: #29332c; font: inherit; font-size: 1rem; }
.login-form input:focus { outline: 2px solid rgba(46,125,50,0.18); border-color: #398248; }
.login-form button { margin-top: 18px; min-height: 54px; border-radius: 9px; background: #2e914b; font-size: 1.05rem; }
.login-form button:hover { background: #267940; opacity: 1; }
.login-error { margin: 0 0 18px; padding: 12px 14px; border: 1px solid #f0cfcd; border-radius: 8px; background: #fff3f2; color: #a33a36; font-size: 0.9rem; font-weight: 650; }

.catalogo { max-width: 1440px; margin: 0 auto; padding: clamp(1.5rem, 4vw, 3.5rem) clamp(1rem, 4vw, 3rem) 6rem; }
.catalogo-intro { margin-bottom: 1.75rem; }
.catalogo-intro p { margin: 0 0 0.4rem; color: #398248; font-size: 0.75rem; font-weight: 800; letter-spacing: 0.13em; }
.catalogo-intro h2 { margin: 0; color: #26332a; font-size: clamp(1.8rem, 4vw, 2.5rem); letter-spacing: -0.04em; }
.catalogo-intro > span { display: inline-block; margin-top: 0.45rem; color: #748077; font-size: 0.92rem; }
.catalogo-filtros { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(180px, 260px) auto; gap: 10px; margin: 0 0 1.5rem; padding: 14px; border: 1px solid #e5ebe5; border-radius: 12px; background: #fff; box-shadow: 0 3px 12px rgba(38, 65, 43, 0.04); }
.catalogo-filtros input, .catalogo-filtros select { min-width: 0; box-sizing: border-box; padding: 12px 13px; border: 1px solid #d8e0d9; border-radius: 8px; background: #fff; color: #29332c; font: inherit; }
.catalogo-filtros input:focus, .catalogo-filtros select:focus { outline: 2px solid rgba(46,125,50,0.18); border-color: #398248; }
.limpiar-filtros { padding: 10px 14px; border: 1px solid #dce9dd; border-radius: 8px; background: #eff7ef; color: #347340; white-space: nowrap; }
.limpiar-filtros:hover { background: #e5f2e6; opacity: 1; }
.catalogo-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 245px), 1fr)); gap: clamp(1rem, 2vw, 1.5rem); }
.producto-card[hidden] { display: none; }
.producto-card { min-width: 0; overflow: hidden; background: #fff; border: 1px solid #e9eee9; border-radius: 15px; padding: 0.9rem; box-shadow: 0 4px 14px rgba(38, 65, 43, 0.06); display: flex; flex-direction: column; transition: transform 180ms ease, box-shadow 180ms ease; }
.producto-card:hover { transform: translateY(-4px); box-shadow: 0 12px 26px rgba(38, 65, 43, 0.12); }
.producto-imagen { display: grid; place-items: center; overflow: hidden; width: 100%; aspect-ratio: 4 / 3; border-radius: 10px; background: #f7f9f7; }
.producto-card img { display: block; width: 100%; height: 100%; object-fit: contain; transition: transform 220ms ease; }
.producto-card:hover img { transform: scale(1.035); }
.badge { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 0.75rem; font-weight: 700; color: #347340; background: #eaf4eb; padding: 5px 9px; border-radius: 999px; align-self: flex-start; margin-top: 14px; }
.producto-card h3 { margin: 10px 0 0; color: #26332a; font-size: 1.08rem; line-height: 1.4; }
.desc { display: -webkit-box; overflow: hidden; min-height: 2.8em; margin: 7px 0 0; color: #727c74; font-size: 0.9rem; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.precio { margin: 18px 0 14px; color: #2e7d32; font-size: 1.45rem; font-weight: 800; letter-spacing: -0.02em; }
.btn-ver-detalle { width: 100%; margin-top: auto; padding: 10px 15px; border: 1px solid #dce9dd; border-radius: 8px; background: #eff7ef; color: #347340; }
.btn-ver-detalle:hover { background: #e5f2e6; opacity: 1; }
.btn-agregar { width: 100%; margin-top: auto; padding: 12px 15px; border-radius: 8px; background: #2e9f54; transition: background 160ms ease, transform 160ms ease; }
.producto-card .btn-agregar { margin-top: 8px; }
.btn-agregar:hover { background: #258545; opacity: 1; }
.catalogo-vacio { grid-column: 1 / -1; margin: 0; padding: 3rem 1.5rem; border: 1px dashed #cbd8cc; border-radius: 14px; background: #fff; color: #68766b; text-align: center; }

@media (max-width: 640px) {
    .catalogo-filtros { grid-template-columns: minmax(0, 1fr) minmax(0, 0.8fr); }
    .limpiar-filtros { grid-column: 1 / -1; }
}

.modal-detalle-producto { position: fixed; inset: 0; z-index: 40; display: grid; place-items: center; overflow-y: auto; padding: 20px; box-sizing: border-box; background: rgba(20,30,25,0.64); backdrop-filter: blur(4px); }
.detalle-producto-contenido { position: relative; width: 100%; max-width: 560px; max-height: min(90vh, 900px); box-sizing: border-box; overflow-y: auto; padding: clamp(20px, 5vw, 32px); border: 1px solid #e5ebe5; border-radius: 18px; background: #fff; box-shadow: 0 20px 60px rgba(0,0,0,0.24); }
.detalle-producto-cerrar { position: absolute; top: 14px; right: 14px; z-index: 1; display: grid; place-items: center; width: 42px; height: 42px; padding: 0; border: 1px solid #e4e9e5; border-radius: 50%; background: rgba(255,255,255,0.94); color: #344139; font-size: 1.7rem; line-height: 1; }
.detalle-producto-cerrar:hover { background: #eaf0eb; opacity: 1; }
.detalle-producto-imagen { display: grid; place-items: center; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 12px; background: #f7f9f7; }
.detalle-producto-imagen img { width: 100%; height: 100%; object-fit: contain; }
.detalle-producto-contenido .badge { margin-top: 18px; }
.detalle-producto-contenido h2 { margin: 12px 0 8px; color: #26332a; font-size: clamp(1.5rem, 4vw, 2rem); line-height: 1.3; overflow-wrap: anywhere; }
.detalle-producto-contenido > p:not(.precio) { color: #68766c; font-size: 1rem; line-height: 1.65; white-space: pre-line; }
.detalle-producto-contenido .precio { margin: 20px 0; font-size: 1.8rem; }
.detalle-producto-contenido > .btn-agregar { margin-top: 0; }

button { background: #25d366; color: white; border: none; padding: 10px 15px; border-radius: 5px; cursor: pointer; font-weight: bold; }
button:hover { opacity: 0.9; }

#btn-ver-carrito { position: fixed; right: 1.25rem; bottom: 1.25rem; z-index: 10; display: inline-flex; align-items: center; padding: 14px 20px; border: 1px solid rgba(255,255,255,0.24); border-radius: 999px; background: linear-gradient(135deg, #27bf5b, #1e9f4c); box-shadow: 0 7px 20px rgba(30, 126, 62, 0.34); transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease; }
#btn-ver-carrito:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(30, 126, 62, 0.4); opacity: 1; }
.carrito-boton-contenido { display: inline-flex; align-items: center; gap: 7px; }
.carrito-insignia { position: absolute; top: -8px; right: -6px; display: inline-grid; place-items: center; min-width: 27px; height: 27px; box-sizing: border-box; padding: 0 6px; border: 2px solid #fff; border-radius: 999px; background: #e53935; color: #fff; font-size: 0.78rem; font-weight: 800; line-height: 1; box-shadow: 0 2px 7px rgba(90, 12, 12, 0.28); }
.solo-lectores { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
#btn-ver-carrito.carrito-atencion { animation: carrito-atencion 650ms ease-in-out; }
#btn-ver-carrito.carrito-atencion .carrito-insignia { animation: insignia-atencion 650ms ease-in-out; }
@keyframes carrito-atencion {
    0%, 100% { transform: scale(1); }
    35% { transform: scale(1.09); }
    65% { transform: scale(0.97); }
}
@keyframes insignia-atencion {
    0%, 100% { transform: scale(1); }
    40% { transform: scale(1.35); }
}
.notificacion-carrito { position: fixed; top: 1rem; left: 50%; z-index: 20; transform: translateX(-50%); max-width: calc(100% - 2rem); padding: 12px 20px; border-radius: 6px; background: #2e7d32; color: #fff; box-shadow: 0 2px 8px rgba(0,0,0,0.2); text-align: center; }

/* Modal Carrito */
.hidden { display: none !important; }
.carrito-modal { position: fixed; top:0; left:0; z-index: 30; width:100%; height:100%; background: rgba(20, 30, 25, 0.62); backdrop-filter: blur(5px); display:flex; justify-content:flex-end; animation: aparecer-fondo 180ms ease-out; }
.carrito-contenido { display: flex; flex-direction: column; background: #fbfcfb; width: 100%; max-width: 500px; height: 100%; padding: 30px; box-sizing: border-box; overflow-y: auto; box-shadow: -16px 0 48px rgba(0,0,0,0.2); animation: entrar-carrito 240ms ease-out; }
.carrito-cabecera { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-bottom: 20px; border-bottom: 1px solid #e6ece7; }
.carrito-acciones-cabecera { display: flex; align-items: center; gap: 10px; }
.carrito-etiqueta { margin: 0 0 5px; color: #2e7d32; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.1em; }
.carrito-cabecera h2 { margin: 0; color: #202923; font-size: 1.8rem; letter-spacing: -0.03em; }
.carrito-cantidad-resumen { display: inline-block; margin-top: 5px; color: #748077; font-size: 0.88rem; }
.btn-vaciar-carrito { padding: 8px 10px; border-radius: 7px; background: transparent; color: #a33a36; font-size: 0.82rem; }
.btn-vaciar-carrito:hover { background: #fff1f0; opacity: 1; }
.btn-cerrar-carrito { display: grid; place-items: center; flex-shrink: 0; width: 42px; height: 42px; padding: 0; border: 1px solid #e4e9e5; border-radius: 50%; background: #fff; color: #344139; font-size: 1.7rem; line-height: 1; }
.btn-cerrar-carrito:hover { background: #eaf0eb; opacity: 1; }
#carrito-items { max-height: 36vh; overflow-y: auto; padding: 8px 4px 8px 0; scrollbar-color: #c8d7ca transparent; scrollbar-width: thin; }
.item-carrito { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin: 8px 0; padding: 15px 14px; border: 1px solid #e8eee8; border-radius: 11px; background: #fff; box-shadow: 0 2px 8px rgba(38, 65, 43, 0.035); }
.item-carrito-info { min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.item-carrito-info strong { color: #29332c; font-size: 0.97rem; line-height: 1.35; overflow-wrap: anywhere; }
.item-carrito-info span { color: #778078; font-size: 0.84rem; }
.item-carrito-info .item-carrito-subtotal { margin-top: 3px; color: #2e7d32; font-size: 0.96rem; font-weight: 800; }
.controles-cantidad { display: flex; align-items: center; gap: 7px; flex-shrink: 0; }
.controles-cantidad > span { min-width: 1.25rem; color: #354238; text-align: center; font-weight: 750; }
.btn-cantidad { display: grid; place-items: center; width: 32px; height: 32px; padding: 0; border: 1px solid #dce5dd; border-radius: 50%; background: #f5f8f5; color: #2e7d32; font-size: 1.1rem; }
.btn-cantidad:hover { background: #e7f3e8; opacity: 1; }
.btn-eliminar-producto { display: grid; place-items: center; width: 32px; height: 32px; padding: 0; border: 1px solid #f0d5d3; border-radius: 50%; background: #fff7f6; color: #b33c37; font-size: 1.2rem; }
.btn-eliminar-producto:hover { background: #ffe9e7; opacity: 1; }
.carrito-vacio { margin: 18px 0; padding: 32px 18px; border: 1px dashed #d6e1d7; border-radius: 12px; background: #f5f8f5; color: #6c776e; text-align: center; line-height: 1.7; }
.carrito-total { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 12px 0 22px; padding: 17px 18px; border: 1px solid #d9e9db; border-radius: 11px; background: #eff7ef; color: #435047; }
.carrito-total strong { color: #287a38; font-size: 1.65rem; letter-spacing: -0.025em; }
#form-pedido { gap: 10px; padding: 20px; border: 1px solid #e8eee8; border-radius: 12px; background: #fff; }
#form-pedido h3 { margin: 0 0 4px; color: #29332c; font-size: 1.12rem; }
#form-pedido label { margin-top: 4px; color: #49544b; font-size: 0.88rem; font-weight: 650; }
#form-pedido input, #form-pedido select { width: 100%; box-sizing: border-box; padding: 12px 13px; border: 1px solid #d8e0d9; border-radius: 8px; background: #fff; color: #29332c; font: inherit; }
#form-pedido input:focus, #form-pedido select:focus { outline: 2px solid rgba(46,125,50,0.2); border-color: #2e7d32; }
#form-pedido .btn-enviar { margin-top: 8px; padding: 14px; border-radius: 8px; background: #218c4b; font-size: 0.98rem; }
#form-pedido .btn-enviar:hover { background: #18753c; opacity: 1; }

@keyframes aparecer-fondo {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes entrar-carrito {
    from { transform: translateX(24px); opacity: 0.7; }
    to { transform: translateX(0); opacity: 1; }
}

@media (max-width: 480px) {
    .login-page { padding: 16px; }
    .login-card { min-height: 0; padding: 30px 24px; border-radius: 16px; }
    .login-volver { margin-bottom: 32px; }
    .carrito-contenido { max-width: none; padding: max(18px, env(safe-area-inset-top)) 16px max(18px, env(safe-area-inset-bottom)); }
    .carrito-cabecera h2 { font-size: 1.55rem; }
    #carrito-items { max-height: 32vh; }
    #form-pedido { padding: 16px; }
    .header { min-height: 64px; }
    .logo { height: 44px; max-width: 110px; }
    .btn-iniciar-sesion { padding: 8px 10px; font-size: 0.8rem; }
    #btn-ver-carrito { right: 1rem; bottom: 1rem; padding: 12px 15px; }
    .catalogo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }
    .catalogo-filtros { grid-template-columns: 1fr; padding: 11px; }
    .producto-card { padding: 0.65rem; border-radius: 12px; }
    .producto-card h3 { font-size: 0.95rem; }
    .desc { font-size: 0.82rem; }
    .precio { margin: 13px 0 11px; font-size: 1.2rem; }
    .btn-agregar { padding: 10px 8px; font-size: 0.84rem; }
    .btn-ver-detalle { padding: 9px 8px; font-size: 0.84rem; }
    .modal-detalle-producto { padding: 12px; }
    .detalle-producto-contenido { max-height: 94vh; padding: 18px; border-radius: 14px; }
}

@media (prefers-reduced-motion: reduce) {
    .carrito-modal, .carrito-contenido, .modal-detalle-producto, #btn-ver-carrito.carrito-atencion, #btn-ver-carrito.carrito-atencion .carrito-insignia { animation: none; }
}

/* Admin */
.admin-container { box-sizing: border-box; max-width: 1320px; margin: 0 auto; padding: clamp(1.25rem, 4vw, 3rem) clamp(1rem, 4vw, 2.5rem); }
.admin-encabezado { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1.75rem; }
.admin-encabezado h1 { margin: 0; color: #26332a; font-size: clamp(1.8rem, 4vw, 2.4rem); letter-spacing: -0.04em; }
.admin-etiqueta { margin: 0 0 0.35rem; color: #398248; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.13em; }
.admin-acciones { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.admin-negocio { padding: 9px 14px; border: 1px solid #dce9dd; border-radius: 999px; background: #eff7ef; color: #347340; font-size: 0.9rem; font-weight: 700; }
.btn-ver-catalogo, .btn-cerrar-sesion { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; box-sizing: border-box; padding: 9px 13px; border: 0; border-radius: 8px; color: #fff; font-size: 0.88rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.btn-ver-catalogo { background: #344b39; }
.btn-ver-catalogo:hover { background: #263a2b; }
.form-cerrar-sesion { margin: 0; }
.form-cerrar-sesion .btn-cerrar-sesion { background: #bd4540; }
.form-cerrar-sesion .btn-cerrar-sesion:hover { background: #a53a36; opacity: 1; }
.notificacion-admin { margin: 0 0 1.5rem; padding: 13px 16px; border: 1px solid #cde5cf; border-radius: 9px; background: #eff8f0; color: #28733a; font-weight: 700; box-shadow: 0 3px 10px rgba(38, 65, 43, 0.05); }
.card { padding: clamp(1rem, 3vw, 1.75rem); border: 1px solid #e7ede7; border-radius: 14px; background: #fff; box-shadow: 0 4px 16px rgba(38, 65, 43, 0.06); margin-bottom: 1.5rem; }
.card h2 { margin: 0 0 1.25rem; color: #29372d; font-size: 1.3rem; letter-spacing: -0.02em; }
form { display: flex; flex-direction: column; gap: 10px; }
input, textarea, select { padding: 10px; border: 1px solid #ccc; border-radius: 4px; }
.admin-container form:not(.buscador) { gap: 12px; }
.admin-container form input:not([type="checkbox"]):not([type="file"]), .admin-container form textarea, .admin-container form select, .buscador input { width: 100%; box-sizing: border-box; padding: 12px 13px; border: 1px solid #d8e0d9; border-radius: 8px; background: #fff; color: #29332c; font: inherit; }
.admin-container form textarea { min-height: 96px; resize: vertical; }
.admin-container form input:focus, .admin-container form textarea:focus, .buscador input:focus { outline: 2px solid rgba(46,125,50,0.18); border-color: #398248; }
.admin-container form input[type="file"] { width: 100%; box-sizing: border-box; padding: 10px; border: 1px dashed #bdcdbf; border-radius: 8px; background: #f8faf8; }
.admin-container form input[type="checkbox"] { width: 17px; height: 17px; margin: 0 7px 0 0; accent-color: #2e7d32; vertical-align: middle; }
.admin-container form label { color: #46534a; font-size: 0.9rem; font-weight: 650; }
.admin-container form button, .card-importacion form button { align-self: flex-start; min-height: 42px; padding: 11px 18px; border-radius: 8px; background: #2e914b; }
.admin-container form button:hover, .card-importacion form button:hover { background: #267940; opacity: 1; }
.imagen-opciones { margin: 4px 0; padding: 14px; border: 1px dashed #cbd8cc; border-radius: 10px; background: #f8faf8; }
.imagen-opciones p { margin: 0 0 10px; color: #435047; }
.imagen-separador { padding: 7px 0; color: #879189 !important; text-align: center; }
.buscador { display: flex; align-items: center; gap: 10px; margin-bottom: 1rem; }
.buscador input { flex: 1; min-width: 0; }
.buscador button { flex-shrink: 0; min-height: 44px; border-radius: 8px; background: #344b39; }
.buscador button:hover { background: #263a2b; opacity: 1; }
.link-limpiar { flex-shrink: 0; color: #526357; font-size: 0.9rem; font-weight: 650; text-decoration: none; }
.link-limpiar:hover { color: #2e7d32; text-decoration: underline; }
.tabla-contenedor { overflow-x: auto; border: 1px solid #e5ebe5; border-radius: 10px; }
.tabla-productos { width: 100%; min-width: 760px; border-collapse: collapse; }
.tabla-productos th, .tabla-productos td { padding: 12px 14px; border-bottom: 1px solid #edf0ed; text-align: left; }
.tabla-productos th { background: #f5f8f5; color: #526057; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; }
.tabla-productos tbody tr:last-child td { border-bottom: 0; }
.tabla-productos tbody tr:hover { background: #fafcfb; }
.tabla-productos img { display: block; width: 54px; height: 54px; object-fit: contain; border: 1px solid #edf0ed; border-radius: 8px; background: #f7f9f7; }
.tabla-vacia { padding: 2rem !important; color: #718077; text-align: center !important; }
.btn-stock { padding: 7px 10px; border-radius: 999px; border: none; cursor: pointer; color: white; font-size: 0.78rem; font-weight: 750; white-space: nowrap; }
.btn-stock.con-stock { background-color: #2e7d32; }
.btn-stock.sin-stock { background-color: #c62828; }
.btn-editar, .btn-eliminar { display: inline-block; padding: 8px 10px; border: 0; border-radius: 7px; color: white; text-decoration: none; font-size: 0.82rem; font-weight: 700; white-space: nowrap; }
.btn-editar { background-color: #317a9b; }
.btn-eliminar { margin-left: 5px; background-color: #bd4540; }
.btn-editar:hover, .btn-eliminar:hover { filter: brightness(0.92); opacity: 1; }
.card-importacion { box-sizing: border-box; max-width: 1320px; margin: 0 auto 2rem; }
.ayuda-importacion { color: #68766c; font-size: 0.92rem; line-height: 1.65; }
.ayuda-importacion code { display: inline-block; margin-top: 5px; padding: 5px 8px; border-radius: 5px; background: #f2f6f2; color: #425248; }
.mensaje-exito { padding: 12px 14px; border: 1px solid #cde5cf; border-radius: 8px; background: #eff8f0; color: #28733a; font-weight: 700; }
.card-importacion input[type="file"] { width: 100%; box-sizing: border-box; padding: 10px; border: 1px dashed #bdcdbf; border-radius: 8px; background: #f8faf8; }
.modal { position: fixed; top: 0; left: 0; z-index: 50; width: 100%; height: 100%; padding: 1rem; box-sizing: border-box; background: rgba(20,30,25,0.58); backdrop-filter: blur(3px); display: flex; justify-content: center; align-items: center; }
.modal-content { background: white; padding: clamp(1.25rem, 4vw, 2rem); border: 1px solid #e7ede7; border-radius: 14px; width: 100%; max-width: 520px; max-height: 90vh; overflow-y: auto; box-shadow: 0 18px 50px rgba(0,0,0,0.2); }
.modal-content h2 { margin-top: 0; color: #29372d; }
.modal-content form button { border-radius: 8px; }
.modal-content form .btn-cancelar { background: #647067; }
.modal-content form .btn-cancelar:hover { background: #4f5b52; opacity: 1; }

@media (max-width: 640px) {
    .admin-encabezado { align-items: flex-start; flex-direction: column; }
    .admin-acciones { justify-content: flex-start; }
    .admin-negocio { flex-basis: 100%; width: fit-content; }
    .buscador { flex-wrap: wrap; }
    .buscador input { flex-basis: 100%; }
    .card-importacion { margin-right: 1rem; margin-left: 1rem; }
}