
/* Espacio de trabajo de administración. */
.administracion { background-color:#f5edf8; background-image:url('../img/fondo-flamitas-web.png'); background-size:cover; background-position:center; background-repeat:no-repeat; background-attachment:fixed; color:#403648; line-height:1.6; text-align:left; }
.administracion * { box-sizing:border-box; }.administracion h1,.administracion h2 { font-family:'AmsterdamTwo',serif; font-weight:normal; }
.administracion .menu { background:#fffc; border-bottom:1px solid #e3dbe8; min-height:66px; }
.administracion .admin-header { align-items:flex-start; max-width:1400px; margin:auto; padding:16px 32px 6px; }
.administracion .admin-header h1 { font-size:2rem; line-height:1.5; margin:0; }.administracion .admin-header p { margin:8px 0; text-transform:none; letter-spacing:0; font-size:.9rem; }
.administracion .admin-panel { max-width:1400px; margin:16px auto 48px; padding:0 24px; gap:24px; grid-template-columns:200px minmax(0,1fr); align-items:start; }
.administracion .admin-menu-lateral { background:#ece5f1; padding:12px; border-radius:16px; top:88px; }
.administracion .admin-menu-boton { border-radius:10px; min-height:48px; font-size:.88rem; color:#58436b; background:transparent; border:0; }
.administracion .admin-menu-boton.active { background:#72518a; color:white; }.administracion .admin-menu-boton:hover { background:#e0d3e9; color:#403648; }
.administracion .admin-bloque { background:white; border:1px solid #e6dfeb; box-shadow:0 6px 24px #47354e06; border-radius:18px; padding:28px; }
.administracion .admin-bloque h2 { font-size:1.75rem; line-height:1.5; margin:0 0 12px; }.administracion .admin-ayuda { color:#6d6372; line-height:1.7; text-align:left; font-size:.9rem; }
.administracion .dashboard-resumen-admin { gap:12px; }.administracion .dashboard-card { background:#faf7fc; border:1px solid #e9e0ed; border-top:3px solid #9c7bbe; border-radius:12px; padding:20px; min-height:112px; }.administracion .dashboard-card strong { font-size:1.65rem; color:#604777; }.administracion .dashboard-card span { font-size:.82rem; }
.administracion .dashboard-panel { border:1px solid #e6dfeb; background:white; border-radius:12px; padding:20px; }.administracion .dashboard-panel h3 { font-size:1rem; }.administracion .notificaciones-admin { background:#faf8fb; font-size:.88rem; }
.administracion input,.administracion select,.administracion textarea,.administracion button { font-family:'Montserrat',sans-serif; }.administracion input:not([type=button]):not([type=submit]),.administracion select,.administracion textarea { border:1px solid #d8ccdf; background:white; border-radius:8px; min-height:44px; color:#403648; }
.administracion :focus-visible { outline:3px solid #9573ad; outline-offset:3px; }
.administracion .btn-tabla-admin,.administracion .btn-form-admin,.administracion input[type=submit] { background:#72518a!important; border-radius:8px!important; min-height:44px; padding:10px 16px!important; font-size:.85rem!important; }.administracion .btn-eliminar-admin { background:#fff4f4!important; color:#9a3949; border:1px solid #eccbd0; }
.administracion .producto-admin-nuevo { max-width:none; border:1px solid #e6dfeb; border-radius:12px; background:white; }.administracion .producto-admin-nuevo summary { text-align:left; background:#f1eaf6; color:#604777; padding:16px 20px; }
.administracion .producto-admin-selector { grid-template-columns:160px minmax(0,1fr); }.administracion .producto-admin-edicion-card { grid-template-columns:160px minmax(0,1fr); gap:14px 20px; padding:24px; }
.producto-admin-preview { grid-column:1/-1; display:flex; gap:20px; align-items:center; margin-bottom:8px; }.producto-admin-preview img { width:88px; height:88px; object-fit:cover; border-radius:12px; background:#f5f1f8; }.producto-admin-preview strong { font-size:1.1rem; }.producto-admin-preview p { margin:4px 0; color:#796c82; font-size:.85rem; }
.editor-grupo { grid-column:1/-1; margin:16px 0 0; padding-top:18px; border-top:1px solid #eee7f1; font-size:.95rem; color:#654c78; }.editor-estado { grid-column:1/-1; margin:8px 0 0; font-size:.9rem; }.editor-estado[data-estado=ok] { color:#246b48; }.editor-estado[data-estado=error] { color:#a03343; background:#fff1f2; padding:12px; border-radius:8px; }.editor-estado[data-estado=pendiente] { color:#886020; }
.administracion .producto-admin-acciones { grid-column:1/-1; flex-direction:row; justify-content:space-between; gap:12px; padding-top:12px; border-top:1px solid #eee7f1; }.administracion .textarea-tabla-admin { min-width:0; }
.admin-buscador { margin:24px 0; }.admin-buscador label { display:block; font-size:.9rem; font-weight:500; margin-bottom:8px; }.admin-buscador input { width:100%; padding:12px; font-size:1rem; }
#resultadosProductosAdmin { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; max-height:260px; overflow:auto; padding:12px 3px; }
.resultado-producto { display:grid; grid-template-columns:48px minmax(0,1fr); gap:2px 12px; align-items:center; text-align:left; padding:10px; border:1px solid #e3d9ea; border-radius:10px; background:white; color:#403648; cursor:pointer; }.resultado-producto img { width:48px; height:48px; object-fit:cover; border-radius:8px; grid-row:1/3; }.resultado-producto span { font-size:.85rem; overflow-wrap:anywhere; }.resultado-producto small { color:#716079; }.resultado-producto:hover { background:#f6f0fa; }
.administracion .pedido-admin { border:1px solid #e6dfeb; border-radius:14px; padding:24px; background:white; margin-bottom:16px; }.administracion .pedido-admin-encabezado { flex-wrap:wrap; gap:12px; }.administracion .pedido-admin-encabezado h3 { margin:0; }.etiqueta-pedido { padding:5px 12px; border-radius:999px; font-size:.78rem; font-weight:500; }.pedido-nuevo { background:#ede4fc; color:#65418d; }.pedido-preparacion { background:#fff1d8; color:#805718; }.pedido-listo { background:#e0eff9; color:#245f85; }.pedido-entregado { background:#e1f2e7; color:#246640; }.pedido-cancelado { background:#f9e3e6; color:#96394c; }
.administracion .estado-pedido { padding:12px; background:#faf7fc; border-radius:10px; display:flex; flex-wrap:wrap; align-items:center; gap:12px; }.administracion .estado-pedido select { flex:1; min-width:0; max-width:100%; }.administracion .acciones-pedido-admin { display:flex; flex-wrap:wrap; gap:10px; }
@media(max-width:1000px) { .administracion .admin-panel { grid-template-columns:1fr; }.administracion .admin-menu-lateral { position:static; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }.administracion .admin-menu-boton { width:100%; white-space:normal; padding:10px 6px; }.administracion .dashboard-resumen-admin { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .administracion .admin-header { padding:16px 16px 0; }.administracion .admin-header h1 { font-size:1.7rem; }.administracion .admin-panel { padding:0 12px; gap:14px; }.administracion .admin-bloque { padding:18px 14px; }.administracion .admin-menu-lateral { grid-template-columns:repeat(2,minmax(0,1fr)); }.administracion .producto-admin-edicion-card,.administracion .producto-admin-selector { grid-template-columns:minmax(0,1fr); padding:16px; gap:10px; }.administracion .producto-admin-acciones { grid-column:1; }.administracion input:not([type=button]):not([type=submit]),.administracion textarea,.administracion select { font-size:16px; width:100%; }.administracion .dashboard-card { padding:14px; min-width:0; }.administracion .dashboard-card strong { font-size:1.35rem; }#resultadosProductosAdmin { grid-template-columns:1fr; }.administracion .pedido-admin { padding:16px; }.administracion .pedido-admin-encabezado { align-items:flex-start; }.administracion .tabla-admin { font-size:.85rem; }.administracion .producto-admin-acciones input { flex:1; } }
@media(prefers-reduced-motion:reduce) { .administracion * { animation:none!important; transition:none!important; } }

@media(max-width:768px) { .administracion { background-attachment:scroll; } }

#seccionGastos form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:18px 0; }#seccionGastos label { display:flex; flex-direction:column; gap:6px; font-size:.9rem; }#seccionGastos input,#seccionGastos select { width:100%; padding:10px; }#seccionGastos button { min-height:44px; border:1px solid #72518a; border-radius:8px; background:#faf6fd; color:#604176; padding:10px 16px; cursor:pointer; font:inherit; margin:6px; }#seccionGastos form>p,#cuotasGasto { grid-column:1/-1; }.finanzas-bloque { padding:18px; margin:20px 0; border:1px solid #ded1e6; border-radius:12px; }.finanzas-bloque summary { cursor:pointer; font-weight:500; }#cuotasGasto fieldset { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; border:1px solid #ded1e6; border-radius:10px; margin:12px 0; }.finanzas-item { padding:16px; border-bottom:1px solid #ded1e6; overflow-wrap:anywhere; }.saldo-negativo { color:#a33e4a!important; }.finanzas-aviso { grid-column:1/-1; background:#fff3d9; padding:14px; border-radius:10px; }#resumenFinanzas { grid-template-columns:repeat(3,minmax(0,1fr)); }#resumenFinanzas .dashboard-card strong { font-size:1.3rem; }.administracion .admin-menu-lateral { grid-auto-rows:min-content; }@media(max-width:1000px){.administracion .admin-menu-lateral { grid-template-columns:repeat(3,minmax(0,1fr)); }}@media(max-width:600px){#seccionGastos form,#cuotasGasto fieldset { grid-template-columns:minmax(0,1fr); }#resumenFinanzas { grid-template-columns:repeat(2,minmax(0,1fr)); }.administracion .admin-menu-lateral { grid-template-columns:repeat(2,minmax(0,1fr)); }}

#seccionCobros button,#seccionCobros select { padding:12px; min-height:44px; margin:8px; border:1px solid #72518a; border-radius:8px; background:#faf6fd; color:#604176; font:inherit; } #seccionCobros label { display:block; }

/* Finanzas: navegación y registros compactos, también en celular. */
.finanzas-tabs,.finanzas-filtros{display:flex;gap:.65rem;flex-wrap:wrap;margin:1rem 0}
.finanzas-tabs button[aria-pressed="true"]{background:#624868;color:white}
[data-fin-panel][hidden]{display:none!important}
.finanzas-tabla{overflow-x:auto}.finanzas-tabla table{width:100%;border-collapse:collapse;font-size:.92rem}
.finanzas-tabla td,.finanzas-tabla th{text-align:left;padding:.8rem;border-bottom:1px solid #ded3e3;vertical-align:top}
.finanzas-tabla button{margin:.2rem}.fin-estado{display:inline-block;padding:.2rem .6rem;border-radius:1rem;background:#eee7f4}
.fin-estado.vencida{background:#ffe4dd;color:#80311f}.fin-estado.pagada{background:#e2f1e4;color:#265b30}
#historialFinanzas details{padding:.6rem;border-bottom:1px solid #ded3e3}#historialFinanzas pre{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:600px){#resumenFinanzas{grid-template-columns:repeat(2,minmax(0,1fr))}.finanzas-tabs button{flex:1 1 40%}.finanzas-tabla td,.finanzas-tabla th{padding:.5rem}}

/* En celular cada fila conserva sus etiquetas y acciones sin desplazamiento lateral. */
@media(max-width:600px){
 .finanzas-tabla table,.finanzas-tabla tbody{display:block;width:100%}
 .finanzas-tabla thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .finanzas-tabla tr{display:block;border:1px solid #ded3e3;border-radius:12px;margin:0 0 14px;padding:10px}
 .finanzas-tabla td{display:block;border:0;padding:6px;overflow-wrap:anywhere}
 .finanzas-tabla td::before{content:attr(data-label);display:block;font-weight:600;font-size:.8rem;margin-bottom:4px;color:#705188}
 .finanzas-tabla td:empty{display:none}
 .finanzas-tabla button{max-width:100%;white-space:normal}
}
.tabla-usuarios td{overflow-wrap:anywhere}
