:root { --hw-azul:#2454d6;--hw-tinta:#233a5d;--hw-miel:#ffcf63;--hw-crema:#fff7e8;--hw-borde:#c4d2e8;--hw-campo:#fcfdff; }
/* Shared identity for administrative forms, login and checkout. */
.interfaz-interna { background:#f6f6f4; }
.interfaz-interna .topbar { border-bottom:3px solid var(--hw-miel); }
.interfaz-interna .bienvenida { background:linear-gradient(115deg,#fffaf0,#fff3dd);border:1px solid #eeddb9;border-radius:16px;padding:18px 20px;gap:16px; }
.interfaz-interna .bienvenida h2 { color:#264b99;font-size:1.5rem; }.interfaz-interna .bienvenida p:not(.eyebrow) { color:#77664f;font-size:.85rem;line-height:1.55; }.interfaz-interna .bienvenida .eyebrow { color:#a45d28; }
.interfaz-interna form :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=hidden]),.interfaz-interna .toolbar :is(input,select,textarea):not([type=checkbox]):not([type=radio]) { border:1.5px solid var(--hw-borde);border-radius:10px;background:var(--hw-campo);color:var(--hw-tinta);min-height:44px;box-shadow:0 2px 3px #284e8b06;padding:10px 12px;transition:border-color .15s,box-shadow .15s,background .15s; }
.interfaz-interna :is(input,textarea)::placeholder { color:#7a88a0;opacity:1; }
.interfaz-interna form :is(input,select,textarea):focus-visible,.interfaz-interna .toolbar :is(input,select,textarea):focus-visible { outline:3px solid #c3d6ff;outline-offset:1px;border-color:#3a68d5;background:white;box-shadow:none; }
.interfaz-interna form :is(input,select,textarea):user-invalid { border-color:#c44b37;background:#fff8f5; }
.interfaz-interna form :is(input,select,textarea):disabled { background:#eef1f6;color:#8290a5;cursor:not-allowed; }
.interfaz-interna :is(input[type=checkbox],input[type=radio]) { accent-color:var(--hw-azul);width:18px;height:18px;min-height:18px;flex:0 0 auto;cursor:pointer; }
.interfaz-interna form label { color:#3b5273; }.interfaz-interna .form-grid label { font-size:.84rem;gap:7px; }
.interfaz-interna .btn.primary { background:linear-gradient(115deg,#2454d6,#3469e7);border:1px solid #2454d6;box-shadow:0 3px 0 #173d9c;font-weight:700;transition:transform .15s,box-shadow .15s,background .15s; }
.interfaz-interna .btn.primary:hover:not(:disabled) { background:linear-gradient(115deg,#1945bc,#245bd8);box-shadow:0 5px 10px #2454d62b;transform:translateY(-1px); }
.interfaz-interna .btn.primary:active:not(:disabled) { transform:translateY(1px);box-shadow:0 1px 0 #173d9c; }
.interfaz-interna .btn:disabled { opacity:.55;transform:none!important;box-shadow:none!important;cursor:not-allowed; }
.interfaz-interna .btn:focus-visible { outline:3px solid #a9c2ff;outline-offset:3px; }
.interfaz-interna .btn.danger { color:#ac382a;background:#fff1ec;border:1px solid #f4cfc2; }
.interfaz-interna :is(.toolbar,.buscador-productos) { border-color:#d8e2f1;box-shadow:0 3px 12px #254b8508;border-radius:14px; }
.interfaz-interna .campo-busqueda>div { border:1.5px solid #bccde8;background:#fbfcff; }.interfaz-interna .campo-busqueda>div:focus-within { background:white;outline:3px solid #c3d6ff; }.interfaz-interna .campo-busqueda input { box-shadow:none!important;padding:10px 0!important;min-height:42px!important; }
/* Product editor: numbered sections and visibly separate supplier data. */
#dialogo-producto { width:min(880px,calc(100% - 24px));border:1px solid #c7d6ed;border-radius:20px;background:#f8faff;box-shadow:0 24px 90px #1734643b; }
#form-producto { padding:0 24px 22px; }
#form-producto>.section-head { margin:0 -24px 18px;padding:20px 24px;background:linear-gradient(110deg,#fff8e9,#fff1d5);border-bottom:1px solid #efdcaf;position:sticky;top:0;z-index:3; }
#form-producto>.section-head h2 { color:#244b98;font-size:1.3rem; }
#form-producto .form-grid { counter-reset:seccion;gap:15px 18px; }
#form-producto .grupo-form { display:flex;align-items:center;gap:9px;padding:14px 0 9px;border-bottom:1px solid #dce5f2;margin:3px 0 0;color:#234c9a;font-size:.92rem;counter-increment:seccion;flex-wrap:wrap; }
#form-producto .grupo-form:before { content:'0' counter(seccion);display:grid;place-items:center;width:28px;height:28px;background:#ffdc87;color:#805015;border-radius:8px;font-size:.7rem;flex-shrink:0; }
#form-producto .grupo-form small { font-weight:400; }
#form-producto .dialog-actions { margin:20px -24px -22px;padding:15px 24px;background:#fff;border-top:1px solid #d5e0f1;z-index:3;box-shadow:0 -5px 12px #254b8507;flex-wrap:wrap; }
#datos-proveedor { background:#fff9ee;border:1px solid #eddbb5;border-left:4px solid #edbc51;border-radius:12px;padding:16px;margin-bottom:16px; }
#datos-proveedor h3 { color:#916020;font-size:.95rem; }#datos-proveedor p { color:#7b6a54;font-size:.8rem;line-height:1.6; }#datos-proveedor .datos-excel-grid { gap:10px; }
#datos-proveedor input[readonly] { border-color:#e1d5bf;background:#fcf7ed;color:#695a46;box-shadow:none;font-size:.83rem; }
#form-producto input[readonly] { background:#edf2fa;color:#647592;border-style:dashed; }
#form-producto .crear-categoria-contexto { border:1px solid #d9e4f2;border-radius:10px;background:#fff;padding:12px;margin-top:16px; }.crear-categoria-contexto summary { cursor:pointer;color:#4265a2;font-size:.82rem; }
#form-producto .vista-foto { background:#f0f5ff;border:1px dashed #b7ccec;border-radius:12px;padding:14px; }
/* Mass preparation and category editing. */
.preparacion-masiva { background:#fff;border:1px solid #d3dff1;border-top:4px solid #eeb943;box-shadow:0 4px 14px #254b8508; }
.preparacion-masiva>header { padding-bottom:13px;border-bottom:1px solid #ecdfc4; }.preparacion-masiva>header .eyebrow { color:#a3681e; }.preparacion-masiva>header h3 { color:#244b98; }
.preparacion-masiva .calculadora-lote { background:linear-gradient(110deg,#fff8e9,#fff3d7);border:1px solid #efddaf;padding:16px;border-radius:12px; }
.preparacion-masiva .calculadora-lote label { color:#7c5c2f;font-size:.8rem; }.preparacion-masiva .lote-acciones { border-top:1px solid #e0e7f3;padding-top:15px; }.preparacion-masiva .inventario-tabla th { background:#eef3ff; }
.preparacion-masiva [data-publicar-uno],#publicar-producto-excel { background:#c6440d!important;border-color:#ae3a0b!important;box-shadow:0 3px 0 #8d310f!important;color:white; }
.interfaz-interna .grupo-categorias { border:1px solid #d6e0f1;border-radius:14px;overflow:hidden;background:white;box-shadow:0 3px 12px #254b8506; }
.interfaz-interna .grupo-categorias>summary { padding:15px;background:linear-gradient(100deg,#eff4ff,#f8faff);color:#284f9c;cursor:pointer;border-left:4px solid #efc052; }
.interfaz-interna .fila-categoria { padding:14px;border-bottom:1px solid #e7edf6;gap:12px; }.interfaz-interna #alta-categoria { border-left:4px solid #efc052;background:#fffdf8; }
/* Warehouse forms and their previews. */
#vista-almacen .panel-almacen { border-color:#d5e0f1;box-shadow:0 4px 16px #254b8508; }
#vista-almacen .almacen-columnas>.panel-almacen { border-top:4px solid #7faae8; }
#vista-almacen .almacen-columnas>.panel-almacen:nth-child(2) { border-top-color:#edbf57; }
#vista-almacen .panel-almacen h3 { color:#264f99; }#vista-almacen .panel-almacen>p { font-size:.82rem; }
#vista-almacen #preview-movimiento { background:#eaf6ef;border:1px solid #cce9d8;border-radius:10px;padding:12px;color:#256749;font-size:.83rem; }
#vista-almacen #referencia-empaque { background:#fff8e9;border:1px solid #ecdcb7;border-radius:10px;padding:12px;color:#876331; }
#vista-almacen #saldo-almacen { background:linear-gradient(100deg,#edf3ff,#f3f8ff);border:1px solid #ccdcef;border-left:4px solid #edc25c; }
#vista-almacen form label { font-size:.83rem;font-weight:650; }#vista-almacen .presentaciones-lista li { background:#fafcff;border:1px solid #e1e8f4;border-radius:10px;margin-top:10px;padding:12px; }
/* Confirmation dialogs share the same visual language. */
#revision-lote,#confirmar-movimiento { background:linear-gradient(#fff7e7 0 78px,#fff 78px);border:1px solid #e5d6b9;border-radius:18px;padding:24px;box-shadow:0 24px 90px #1734643b; }
#revision-lote h2,#confirmar-movimiento h2 { color:#244b98;font-size:1.25rem;margin:0 0 26px; }#revision-lote p,#confirmar-movimiento p { color:#5e6e87;line-height:1.65;font-size:.88rem; }#revision-lote .dialog-actions,#confirmar-movimiento .dialog-actions { margin-top:18px;padding-top:16px;gap:10px; }
/* Login is warm and recognizably part of the same store. */
.pagina-acceso { background:radial-gradient(ellipse at 15% 15%,#fff0ce 0,transparent 46%),radial-gradient(ellipse at 90% 85%,#e0ebff 0,transparent 44%),#f6f6f4;min-height:100dvh; }
.pagina-acceso .acceso-card { border:1px solid #d5dff0;border-top:5px solid #f1c254;background:#fffdf9;box-shadow:0 16px 50px #254b8512;border-radius:20px;padding:30px; }
.pagina-acceso .mark { transform:rotate(-5deg);box-shadow:0 4px 0 #e6ae3255; }.pagina-acceso .acceso-card h1 { color:#244b98;font-size:1.8rem;letter-spacing:-.03em; }.pagina-acceso .eyebrow { color:#a06527; }.pagina-acceso .acceso-card>p:not(.eyebrow) { color:#69788d;line-height:1.65; }
.pagina-acceso #login { margin-top:22px;padding-top:20px;border-top:1px solid #ebdfc7;gap:15px; }.pagina-acceso #login label { font-size:.85rem;font-weight:650; }.pagina-acceso #login input { margin-top:7px;font-size:16px;min-height:48px; }.pagina-acceso #login .btn { min-height:46px; }.pagina-acceso .ayuda { font-size:.72rem; }
/* Delivery keeps its fixed actions and clear groups, with warmer accents. */
#cajon .cajon-cabeza { background:linear-gradient(110deg,#fffaf0,#fff4df);border-bottom-color:#edddbd; }
#cajon .checkout-grupo { border-color:#d2def0;background:#fff;box-shadow:0 3px 10px #254b8505; }#cajon .checkout-grupo legend:before { background:#ffe1a0;color:#885b17; }
#cajon #form-pedido .nota-pago { background:#fff7e7;border-color:#ecdab3;color:#806236; }
#cajon .pasos-pedido [aria-current] { background:#edf3ff;border-bottom-color:#2454d6; }
#cajon .checkout-footer { border-top:3px solid #f0ce7d; }#cajon .checkout-footer .btn.cta { background:linear-gradient(110deg,#2454d6,#3469e7);box-shadow:0 3px 0 #173d9c; }
@media(max-width:600px) {
 .interfaz-interna .bienvenida { padding:15px; }.interfaz-interna .bienvenida h2 { font-size:1.3rem; }
 #form-producto { padding:0 16px 16px; }#form-producto>.section-head { margin:0 -16px 14px;padding:16px; }#form-producto .dialog-actions { margin:18px -16px -16px;padding:13px 16px; }#form-producto .dialog-actions .btn { flex:1;min-width:0; }
 #form-producto .form-grid { gap:13px; }#form-producto .grupo-form { font-size:.86rem; }.pagina-acceso .acceso-card { padding:24px; }.pagina-acceso .acceso-card h1 { font-size:1.5rem; }
 .interfaz-interna form input:not([type=checkbox]):not([type=radio]),.interfaz-interna form select,.interfaz-interna form textarea { font-size:16px; }
 #revision-lote,#confirmar-movimiento { padding:20px; }
}
@media(prefers-reduced-motion:reduce) { .interfaz-interna .btn,.interfaz-interna form input,.interfaz-interna form select,.interfaz-interna form textarea { transition:none; }.interfaz-interna .btn.primary:hover { transform:none; } }
#form-producto>.section-head .icon-btn { margin-left:auto;flex:0 0 auto; }
#datos-proveedor .datos-excel-grid { grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px;margin:12px 0; }
#datos-proveedor .datos-excel-grid label:nth-child(2) { grid-column:2 / -1; }
#datos-proveedor .datos-excel-grid label { font-size:.75rem;gap:5px; }
#datos-proveedor .datos-excel-grid input[readonly] { min-height:36px;padding:7px 9px;border-style:solid;border-color:#dfd4bf;background:#fbf6ed;color:#61533e;font-size:.8rem; }
@media(max-width:600px) { #datos-proveedor .datos-excel-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }#datos-proveedor .datos-excel-grid label:nth-child(2) { grid-column:1 / -1; } }
@media(max-width:380px) { #datos-proveedor .datos-excel-grid { grid-template-columns:1fr; } }
#form-producto .vista-foto { display:none; }
.subida-fotos { border:1px solid #cddbef;border-radius:14px;background:white;padding:17px; }
.subida-fotos header { display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap; }.subida-fotos h4 { margin:0;color:#244b98;font-size:.96rem; }.subida-fotos header>span { background:#fff2d3;border-radius:6px;padding:4px 8px;font-size:.69rem;color:#8a611e; }.subida-fotos>p { font-size:.8rem;color:#68788f;line-height:1.6;margin:10px 0; }
.opciones-subida { display:grid;grid-template-columns:1fr 1fr;gap:12px; }.opciones-subida label { padding:14px;background:#f6f9ff;border:1.5px dashed #a6bde4;border-radius:11px;display:flex;flex-direction:column;gap:7px; }.opciones-subida strong { font-size:.84rem;color:#35588d; }.opciones-subida label>span { font-size:.71rem;font-weight:400;color:#75839a; }.opciones-subida input[type=file] { max-width:100%;min-width:0;box-shadow:none!important;border:0!important;background:transparent!important;padding:4px 0!important;font-size:.73rem!important; }.opciones-subida input::file-selector-button { background:#2454d6;border:0;border-radius:7px;padding:9px;color:white;cursor:pointer;margin-right:7px; }
.subida-fotos .subida-formatos { font-size:.71rem; }.subida-fotos #estado-fotos:empty { display:none; }.galeria-editor { display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px; }.galeria-editor article { min-width:0;border:1px solid #d9e3f2;border-radius:11px;overflow:hidden; }.galeria-editor img { display:block;width:100%;aspect-ratio:1;object-fit:contain;background:white; }.galeria-editor article>div { padding:10px;background:#f8faff; }.galeria-editor strong { font-size:.76rem;color:#36578d; }.galeria-editor article>div>div { display:flex;gap:6px;flex-wrap:wrap;margin-top:8px; }.galeria-editor .btn { min-height:30px;padding:6px 7px;font-size:.66rem; }
.enlaces-fotos { background:white;border:1px solid #dce4f2;border-radius:10px;padding:13px; }.enlaces-fotos summary { cursor:pointer;color:#5d7398;font-size:.8rem; }.enlaces-fotos label { margin-top:13px; }
@media(max-width:600px) { .opciones-subida { grid-template-columns:1fr; }.subida-fotos { padding:13px; } }
