 :root{font:15px system-ui,-apple-system,sans-serif;color:#efe9de;background:#101114}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;background:#323941;border:1px solid #68727c;color:#f4e0b4;border-radius:7px;padding:10px 14px}button:disabled{opacity:.4;cursor:not-allowed}.gold{background:#c9a65d;color:#17120a;font-weight:750;border:0}.fixed{position:sticky;top:0;z-index:9;background:#111216;border-bottom:2px solid #c9a65d}.brand{display:flex;align-items:center;gap:18px;padding:13px 24px;border-bottom:1px solid #383838}.brand strong{color:#e1b967;font-size:22px;letter-spacing:.14em}.brand span{color:#b2ac9e;font-size:11px}.right{margin-left:auto;display:flex;align-items:center;gap:12px}nav{display:flex;flex-wrap:wrap;padding:0 18px}nav button{border:0;border-radius:0;background:transparent;color:#eee0c3;font-size:12px;font-weight:650;padding:14px 12px}nav button.on,nav button:not(:disabled):hover{background:#393020;color:#f4d18b}main{max-width:1500px;margin:0 auto;padding:25px}h1{font-size:26px;color:#e6c27a}h2{font-size:18px;color:#e9c784;margin:0 0 16px}.muted{color:#aaaeb5}.homegrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.homegrid button{background:#20252c;color:#eacb8a;border:1px solid #50473a;border-radius:12px;text-align:left;padding:26px;font-size:20px}.homegrid small{display:block;margin-top:10px;color:#babfc6;font-size:13px}.panel{background:#1d2229;border:1px solid #414850;border-radius:12px;padding:20px;margin-bottom:20px}.line{display:flex;justify-content:space-between;align-items:center;gap:15px}.searchrow{display:flex;gap:10px}.searchrow input{flex:1;min-width:0}.searchrow input,.field input,.field textarea,.field select,.login input{background:#10151b;border:1px solid #5e6673;border-radius:7px;color:#fff;padding:12px;width:100%}.tablewrap{overflow:auto;max-height:232px;margin:14px 0}table{border-collapse:collapse;width:100%;min-width:650px}thead{position:sticky;top:0;background:#2a313b}th,td{padding:11px;border-bottom:1px solid #3c444c;text-align:left}th{color:#e4c17d;font-size:12px}tbody tr{cursor:pointer}tbody tr:hover,tbody tr.selected{background:#363325}.pager{display:flex;align-items:center;justify-content:flex-end;gap:14px}.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.field{display:block;color:#d5b779;font-size:12px}.field input,.field select,.field textarea{display:block;margin-top:7px;color:#fff}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px}.login{max-width:460px;margin:9vh auto}.login label{display:block;margin:14px 0;color:#e9c784}.login input{display:block;margin-top:6px}#loginError{color:#f7a39b}@media(max-width:650px){main{padding:14px}.brand{flex-wrap:wrap}.right{margin-left:0}nav button{font-size:11px;padding:10px 8px}.searchrow{flex-wrap:wrap}}

.mainnav{border-bottom:1px solid #4b412b}.mainnav button{white-space:nowrap}.subnav{display:flex;flex-wrap:wrap;gap:0;padding:0 18px;background:#1a1b1e;border-bottom:1px solid #54482d}.subnav button{border:none;border-radius:0;background:transparent;color:#eee0c3;font-weight:650;font-size:12px;padding:12px 18px}.subnav button.on,.subnav button:hover{background:#393020;color:#f4d18b}#pending{max-width:1100px}

/* Listado compacto con desplazamiento interno */
#master>.panel:first-of-type{padding:14px 18px;margin-bottom:12px}
#master>.panel:first-of-type h2{margin-bottom:9px}
#master .tablewrap{max-height:232px;margin:8px 0;overflow-y:auto}
#master th,#master td{padding:7px 10px}
#master .pager{gap:9px;font-size:12px}
#master .pager button{padding:6px 10px}
.detailtabs{display:flex;flex-wrap:wrap;padding:0;margin:0 0 16px;border-bottom:1px solid #655536}
.detailtabs[hidden]{display:none}
.detailtabs button{border:0;border-radius:5px 5px 0 0;background:#151a20;margin:0 3px 0 0;padding:11px 18px;font-size:13px}
.detailtabs button.on{background:#aa8747;color:#121212}
.fieldwide{grid-column:1/-1}.field textarea{min-height:78px}
.fieldcheck{display:flex;align-items:center;gap:9px}.fieldcheck input{width:auto;margin:0}
#details .subtitle{grid-column:1/-1;font-weight:750;color:#dfbd7a;border-bottom:1px solid #464139;padding:8px 0}

/* VENTAS: diseño visual independiente, sin persistencia ni cambios de BBDD */
:is(#ventasDiseno,#comprasDiseno) .vd-head{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}
:is(#ventasDiseno,#comprasDiseno) .vd-fields{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px}
:is(#ventasDiseno,#comprasDiseno) label{display:flex;flex-direction:column;gap:5px;color:#d5b779;font-size:12px}
:is(#ventasDiseno,#comprasDiseno) input,:is(#ventasDiseno,#comprasDiseno) select,:is(#ventasDiseno,#comprasDiseno) textarea{background:#10151b;color:white;border:1px solid #59616c;border-radius:6px;padding:9px;min-width:0;width:100%}
:is(#ventasDiseno,#comprasDiseno) .vd-wide{grid-column:span 2}:is(#ventasDiseno,#comprasDiseno) .vd-full{grid-column:1/-1}
:is(#ventasDiseno,#comprasDiseno) .vd-tabs{display:flex;gap:5px;border-bottom:1px solid #79683f;margin:12px 0 18px}
:is(#ventasDiseno,#comprasDiseno) .vd-tabs button{border-radius:6px 6px 0 0}:is(#ventasDiseno,#comprasDiseno) .vd-tabs button.on{background:#c9a65d;color:#15120e}
:is(#ventasDiseno,#comprasDiseno) .vd-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin:12px 0}
:is(#ventasDiseno,#comprasDiseno) .vd-toolbar label{min-width:135px;flex:1}
:is(#ventasDiseno,#comprasDiseno) .vd-table{overflow:auto;max-height:220px;border:1px solid #444e57;border-radius:7px}
:is(#ventasDiseno,#comprasDiseno) table{min-width:790px}:is(#ventasDiseno,#comprasDiseno) td input{min-width:65px;padding:7px}
:is(#ventasDiseno,#comprasDiseno) .vd-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
:is(#ventasDiseno,#comprasDiseno) .vd-actions button{padding:9px 13px}
:is(#ventasDiseno,#comprasDiseno) .vd-total{display:flex;justify-content:flex-end;align-items:center;gap:24px;border-top:1px solid #50483a;margin-top:12px;padding-top:12px;font-size:17px}
:is(#ventasDiseno,#comprasDiseno) .vd-note{font-size:12px;color:#b4bdc7}:is(#ventasDiseno,#comprasDiseno) .vd-check{display:flex;flex-direction:row;align-items:center;gap:8px}:is(#ventasDiseno,#comprasDiseno) .vd-check input{width:auto}
@media(max-width:850px){:is(#ventasDiseno,#comprasDiseno) .vd-fields{grid-template-columns:repeat(2,minmax(120px,1fr))}}
@media(max-width:510px){:is(#ventasDiseno,#comprasDiseno) .vd-fields{grid-template-columns:1fr}:is(#ventasDiseno,#comprasDiseno) .vd-wide{grid-column:span 1}}

/* Cabeceras documentales: usa el logo real cuando exista en assets/logo-bernabe.png */
.document-brand{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.document-brand .doc-logo{width:52px;max-height:52px;object-fit:contain}.doc-logo:not([src]){display:none}
#comprasDiseno .cd-checks{display:flex;flex-wrap:wrap;gap:15px;margin:15px 0}#comprasDiseno .cd-checks label{display:flex;flex-direction:row;align-items:center}#comprasDiseno .cd-checks input{width:auto}#comprasDiseno .cd-subhead{margin:16px 0 8px;color:#d5b779}#comprasDiseno .vd-table{max-height:270px}
@media print{.fixed,.subnav,.vd-actions,.vd-toolbar button{display:none!important}.panel{background:white;color:black}body{background:white;color:black}}

/* INFORMES · diseños visuales; conexiones pendientes */
#informesDiseno .id-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}#informesDiseno .id-top h1{margin:0;flex:1}#informesDiseno .id-grid{display:grid;grid-template-columns:minmax(340px,1.2fr) minmax(270px,1fr);gap:22px}#informesDiseno .id-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}#informesDiseno label{display:flex;flex-direction:column;gap:5px;color:#e1c88d;font-size:13px}#informesDiseno label.id-toggle{flex-direction:row;align-items:center;gap:10px;color:inherit}#informesDiseno .id-row{display:grid;grid-template-columns:22px minmax(110px,1fr);gap:9px;align-items:center;padding:5px 0}#informesDiseno input:not([type=checkbox]),#informesDiseno select{width:100%;box-sizing:border-box;border:1px solid #5c6570;border-radius:6px;padding:9px;color:#fff;background:#10151b}#informesDiseno .id-row input[type=checkbox]{width:17px;height:17px}#informesDiseno .id-formats{width:100%;min-height:230px;background:#111820;color:#fff;padding:9px;border:1px solid #5c6570;border-radius:6px}#informesDiseno .id-formats option{padding:6px}#informesDiseno .id-preview{min-height:90px;background:#111820;border:1px solid #5c6570;border-radius:6px;padding:12px;font-size:13px;color:#bdc6d0}#informesDiseno .id-footer{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin-top:18px}#informesDiseno .id-footer button{padding:10px 16px}#informesDiseno .id-note{color:#afb9c7;font-size:12px}#informesDiseno .id-group{margin-bottom:13px}#informesDiseno .id-dates{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}@media(max-width:850px){#informesDiseno .id-grid{grid-template-columns:1fr}}

/* EFECTOS · diseñados sin persistencia ni movimientos reales */
#efectosDiseno .ef-shell{background:#181e25;color:#f1f2f5;padding:20px;border:1px solid #5a6069;border-radius:12px;max-width:1400px;margin:auto}#efectosDiseno h2{margin:0 0 15px;color:#edcc81;font-size:22px}#efectosDiseno h3{font-size:16px;color:#ebca85;margin:13px 0 10px}#efectosDiseno .ef-filters{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;margin:12px 0}#efectosDiseno label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#dbc896}#efectosDiseno input,#efectosDiseno select,#efectosDiseno textarea{box-sizing:border-box;min-width:0;width:100%;background:#0f1419;color:#fff;border:1px solid #59646c;border-radius:5px;padding:9px;font:inherit}#efectosDiseno input[type=checkbox]{width:auto;accent-color:#b99654}#efectosDiseno .ef-checkbox{display:flex;flex-direction:row;align-items:center;gap:8px;color:#f1f2f5}#efectosDiseno .ef-panel{border:1px solid #48525d;border-radius:7px;padding:13px;margin-top:15px}#efectosDiseno .ef-scroll{overflow:auto;max-height:320px;min-height:220px;border:1px solid #55616d;border-radius:6px}#efectosDiseno table{border-collapse:collapse;min-width:850px;width:100%;font-size:13px}#efectosDiseno th{position:sticky;top:0;background:#343d48;text-align:left;padding:9px;color:#f1d394}#efectosDiseno td{padding:9px;border-bottom:1px solid #3d4550}#efectosDiseno .ef-fields{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px}#efectosDiseno .ef-wide{grid-column:span 2}#efectosDiseno .ef-buttons{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:15px}#efectosDiseno button{padding:9px 15px;border:1px solid #987d45;background:#292a2b;color:#f3d497;border-radius:6px;cursor:pointer}#efectosDiseno button:disabled{opacity:.5;cursor:not-allowed}#efectosDiseno .ef-spacer{flex:1}#efectosDiseno .ef-notice{color:#c0c8d0;font-size:12px;margin-top:14px}#efectosDiseno .ef-report{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}#efectosDiseno .ef-report-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}#efectosDiseno .ef-format{min-height:180px}#efectosDiseno .ef-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}@media(max-width:850px){#efectosDiseno .ef-filters,#efectosDiseno .ef-fields{grid-template-columns:repeat(2,minmax(0,1fr))}#efectosDiseno .ef-report{grid-template-columns:1fr}}@media(max-width:500px){#efectosDiseno .ef-fields,#efectosDiseno .ef-options{grid-template-columns:1fr}#efectosDiseno .ef-wide{grid-column:span 1}}

/* CONTROL ECONOMICO · diseño sin persistencia */
#economicoDiseno .eco-shell{max-width:1350px;margin:auto;border:1px solid #505965;border-radius:12px;background:#1a2027;color:#f2f3f4;padding:18px}#economicoDiseno h2{color:#edcd85;font-size:22px;margin:0 0 15px}#economicoDiseno h3{color:#e4c88d;margin:16px 0 9px;font-size:16px}#economicoDiseno .eco-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}#economicoDiseno .eco-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}#economicoDiseno label{display:flex;flex-direction:column;gap:4px;color:#e3d3b1;font-size:12px}#economicoDiseno input,#economicoDiseno textarea,#economicoDiseno select{box-sizing:border-box;width:100%;min-width:0;border:1px solid #667382;border-radius:5px;background:#10161d;color:#fff;padding:9px;font:inherit}#economicoDiseno label.eco-check{flex-direction:row;align-items:center;color:#e5e5e5}#economicoDiseno input[type=checkbox]{width:auto}#economicoDiseno .eco-wide{grid-column:span 2}#economicoDiseno .eco-panel{border:1px solid #4e5a66;border-radius:8px;padding:13px;margin-top:15px}#economicoDiseno .eco-list{overflow:auto;min-height:170px;max-height:260px;border:1px solid #5a6570;border-radius:5px}#economicoDiseno table{width:100%;border-collapse:collapse;min-width:690px}#economicoDiseno th,#economicoDiseno td{padding:9px;border-bottom:1px solid #3a4550;text-align:left}#economicoDiseno th{color:#e5c889;background:#343e4a}#economicoDiseno .eco-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:16px}#economicoDiseno button{padding:10px 14px;background:#333239;color:#f0d18d;border:1px solid #958052;border-radius:6px;cursor:pointer}#economicoDiseno button:disabled{opacity:.55;cursor:not-allowed}#economicoDiseno .eco-spacer{flex:1}#economicoDiseno .eco-note{font-size:12px;color:#c0c7d0;margin-top:14px}#economicoDiseno .eco-subgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}#economicoDiseno .eco-options{display:flex;gap:15px;flex-wrap:wrap}#economicoDiseno .eco-format{min-height:120px}#economicoDiseno .eco-total{font-size:18px;font-weight:700;color:#f6d58a;text-align:right;margin-top:10px}@media(max-width:850px){#economicoDiseno .eco-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#economicoDiseno .eco-subgrid{grid-template-columns:1fr}}@media(max-width:500px){#economicoDiseno .eco-grid,#economicoDiseno .eco-grid.two{grid-template-columns:1fr}#economicoDiseno .eco-wide{grid-column:span 1}}


/* Logo y marca Bernabé */
.brand-left{display:flex;align-items:center;gap:12px}.brand-text{display:flex;flex-direction:column}.brand-logo{width:124px;max-height:54px;object-fit:contain}.brand-login{display:flex;align-items:center;gap:18px;margin-bottom:18px}.brand-login p{margin:4px 0 0;color:#a9afbb}.document-brand.doc-surface{background:#fff;padding:10px 14px;border-radius:10px}.doc-logo.yellow{width:120px;max-height:50px}.tpv-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:14px}.tpv-note{font-size:12px;color:#bac3cf}
/* TPV */
#tpvDiseno .tpv-shell,#almacenesDiseno .alm-shell,#auxiliaresDiseno .aux-shell,#encargosDiseno .enc-shell{max-width:1450px;margin:auto;background:#1b2027;border:1px solid #4f5863;border-radius:12px;padding:18px;color:#f3f4f5}#tpvDiseno label,#almacenesDiseno label,#auxiliaresDiseno label,#encargosDiseno label{display:flex;flex-direction:column;gap:4px;color:#e3d3b1;font-size:12px}#tpvDiseno input,#tpvDiseno select,#tpvDiseno textarea,#almacenesDiseno input,#almacenesDiseno select,#almacenesDiseno textarea,#auxiliaresDiseno input,#auxiliaresDiseno select,#auxiliaresDiseno textarea,#encargosDiseno input,#encargosDiseno select,#encargosDiseno textarea{box-sizing:border-box;width:100%;min-width:0;border:1px solid #657280;border-radius:6px;background:#10161d;color:#fff;padding:9px;font:inherit}#tpvDiseno table,#almacenesDiseno table,#auxiliaresDiseno table,#encargosDiseno table{width:100%;border-collapse:collapse;min-width:640px}#tpvDiseno th,#tpvDiseno td,#almacenesDiseno th,#almacenesDiseno td,#auxiliaresDiseno th,#auxiliaresDiseno td,#encargosDiseno th,#encargosDiseno td{padding:9px;border-bottom:1px solid #3d4550;text-align:left}#tpvDiseno th,#almacenesDiseno th,#auxiliaresDiseno th,#encargosDiseno th{background:#343e4a;color:#ebcc84}.tpv-top,.tpv-search,.alm-grid,.enc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.tpv-top-conv{grid-template-columns:repeat(4,minmax(0,1fr))}.tpv-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px}.tpv-grid.tactile{grid-template-columns:1.25fr 1fr}.tpv-lines,.tpv-side,.alm-list,.aux-list,.enc-whatsapp{border:1px solid #4b5662;border-radius:8px;padding:12px;background:#171d24}.tpv-lines{overflow:auto}.tpv-side h3,.enc-whatsapp h3{margin-top:0;color:#eccd88}.tpv-actions-grid,.tpv-products-grid,.tpv-keypad{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tpv-products-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.tpv-keypad{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:12px}.tpv-total-box{border:1px solid #8d7548;border-radius:8px;padding:14px;background:#24262a;margin:12px 0;display:flex;justify-content:space-between;align-items:center}.tpv-total-box strong{font-size:28px;color:#f2d38a}.tpv-total-box.big strong{font-size:34px}.tpv-accept{font-size:20px;font-weight:800;padding:14px 18px}.tpv-footer-actions,.alm-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px}.spacer{flex:1}.alm-card-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.alm-card{border:1px solid #4b5662;border-radius:8px;padding:14px;background:#171d24}.aux-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:18px}.aux-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.aux-check{flex-direction:row !important;align-items:center;gap:8px}.aux-check input{width:auto !important}.aux-perms{grid-column:1/-1;border:1px solid #4b5662;border-radius:8px;padding:12px;background:#171d24}.enc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.enc-wide{grid-column:1/-1}.alm-list,.aux-list{overflow:auto;max-height:280px}
@media (max-width:1000px){.tpv-grid,.tpv-grid.tactile,.aux-layout,.alm-card-row{grid-template-columns:1fr}.tpv-products-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tpv-top,.tpv-search,.alm-grid,.enc-grid,.aux-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:650px){.tpv-top,.tpv-search,.alm-grid,.enc-grid,.aux-form{grid-template-columns:1fr}.tpv-products-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tpv-keypad{grid-template-columns:repeat(3,minmax(0,1fr))}.brand-logo{width:100px}.document-brand .doc-logo{width:100px}}

#encargosDiseno .enc-filter{display:flex;margin:0 0 14px}#encargosDiseno .enc-filter label{width:min(100%,320px)}#encargosDiseno #encLista tr[hidden]{display:none}


/* Ajuste marca: solo logo, sin texto junto al logo */
.brand-only{display:flex;align-items:center}.brand-login-only{justify-content:center;margin-bottom:18px}.brand-login-only .brand-logo{width:180px;max-height:78px}.brand-only .brand-logo{width:140px;max-height:58px}.brand-left.brand-only+.right{margin-left:auto}

/* Logo dorado reforzado: color más intenso para igualarlo a la tipografía */

.brand-logo,.doc-logo.yellow{filter:brightness(1.08) saturate(1.08);}

.brand-only .brand-logo{width:150px;max-height:64px}.brand-login-only .brand-logo{width:190px;max-height:82px}.doc-logo.yellow{width:130px;max-height:56px}

/* Refuerzo fuerte del logo */
.brand-logo,.doc-logo.yellow,.doc-logo{filter:brightness(1.18) saturate(1.15) contrast(1.1);}
.brand-only .brand-logo{width:170px;max-height:72px}
.brand-login-only .brand-logo{width:210px;max-height:92px}
.doc-logo.yellow{width:145px;max-height:64px}

/* v4 logo fix */
.brand{background:linear-gradient(180deg,#111216 0%,#0f1218 100%)}
.brand-only .brand-logo{width:180px;max-height:78px;display:block}
.brand-login-only .brand-logo{width:220px;max-height:95px;display:block}
.brand-logo,.doc-logo,.doc-logo.yellow{opacity:1 !important;filter:none !important}
.document-brand{gap:14px}

/* Cabecera original restaurada: sin imágenes de marca */
.brand-text-restored{display:flex;flex-direction:column;gap:3px}.brand-text-restored strong{color:#e1b967;font-size:24px;font-weight:800;letter-spacing:.13em}.brand-text-restored span{color:#b2ac9e;font-size:11px;letter-spacing:.16em}.brand-login-only .brand-text-restored{text-align:center}.brand-login-only .brand-text-restored strong{font-size:34px}.brand-left.brand-only{min-height:48px}
/* Controles de gestión; conservan el estilo de las pantallas. */
.gestion-picker{width:min(850px,94vw);max-height:85vh;overflow:auto;background:#f8f8f8;color:#111;border:2px solid #bd983d;border-radius:8px;padding:20px}.gestion-picker::backdrop{background:#0009}.gestion-picker tr{cursor:pointer}.gestion-picker tr:hover,.gestion-picker tr:focus{background:#f5e7ba}.gestion-close{float:right}.gestion-error{color:#a10f0f}.gestion-status{min-height:1.5em}.gestion-choice{display:flex;gap:8px;align-items:end}.gestion-choice input{flex:1;min-width:0}.gestion-grid-line{cursor:pointer} [data-budget-line] td input{min-width:70px} [data-budget-line] td:nth-child(3) input{min-width:180px}.gestion-readonly{background:#eee!important}dialog table{background:white}dialog label{display:block}dialog input{width:100%}.gestion-document-list{margin-top:14px}

/* Presupuestos: fondo oscuro en pantalla, también en datos no editables. */
@media screen {
 #ventasDiseno .budget-brand{background:#1d2229;padding:10px 14px;border:1px solid #414850;border-radius:10px}
 #ventasDiseno #bgForm .gestion-readonly{background:#171d24!important;color:#efe9de;border-color:#59616c}
 #ventasDiseno #bgForm .gestion-readonly:disabled{color:#efe9de;-webkit-text-fill-color:#efe9de;opacity:1}
}

/* Cuadrados de familias reales y accesos separados de las familias. */
#tpvDiseno .tpv-products-grid{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));align-content:start}
#tpvDiseno .tpv-family-tile{aspect-ratio:1;min-height:110px;padding:10px;background:#20252c;border:1px solid #8d7548;color:#f2d38a;font-weight:700;white-space:normal;overflow-wrap:anywhere}
#tpvDiseno .tpv-family-tile:focus-visible{outline:3px solid #e6c27a;outline-offset:2px}
#tpvDiseno .tpv-family-tools{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}

.pos-checkout{background:#1d2229;color:#efe9de}
.pos-checkout label{margin:12px 0;color:#e4c17d}
.pos-checkout input,.pos-checkout select{display:block;width:100%;margin-top:6px;padding:10px;background:#10151b;color:#fff;border:1px solid #59616c;border-radius:6px}
.pos-checkout [hidden]{display:none!important}

.article-stock{grid-column:1/-1;min-width:0;border-top:1px solid #414850;margin-top:12px;padding-top:14px}
.article-stock h3{color:#e6c27a}
.article-stock-table{max-height:none}
.article-stock input,.article-stock select{background:#10151b;color:#efe9de;border:1px solid #59616c;border-radius:6px;padding:10px;max-width:100%}
.article-stock-table input{width:130px}
.stock-warning{color:#f2ca76;font-weight:700}

.mail-composer{width:min(900px,94vw)}
.mail-composer textarea{display:block;width:100%;background:#10151b;color:#efe9de;border:1px solid #59616c;padding:10px;border-radius:6px}

/* Listado agrupado por TPV: filtros compactos y hoja preliminar independiente. */
#informesDiseno.tpv-report-view .id-filters{grid-template-columns:1fr}
#informesDiseno.tpv-report-view .id-row{grid-template-columns:20px minmax(0,1fr) auto}
#informesDiseno.tpv-report-view .id-row label{display:grid;grid-template-columns:100px minmax(0,1fr);align-items:center}
#informesDiseno.tpv-report-view .id-format-summary{padding:12px;border:1px solid #5c6570;border-radius:6px;color:#bdc6d0}
#informesDiseno.tpv-report-view .id-preview{margin-top:20px;background:#fff;color:#222;padding:24px;border-radius:3px;overflow:auto}
#informesDiseno .tpv-report-sheet h2{color:#9a6b12;font-size:20px;margin:0 0 16px}
#informesDiseno .tpv-report-sheet table{width:100%;border-collapse:collapse;min-width:760px}
#informesDiseno .tpv-report-sheet th{background:#fff;color:#6b501d;border-bottom:2px solid #b58a37}
#informesDiseno .tpv-report-sheet th,#informesDiseno .tpv-report-sheet td{padding:10px 8px;text-align:right;white-space:nowrap}
#informesDiseno .tpv-report-sheet th:first-child,#informesDiseno .tpv-report-sheet td:first-child{text-align:left}
#informesDiseno .tpv-report-sheet tbody td{border-bottom:1px solid #e6e2d9}
#informesDiseno .tpv-report-sheet tfoot td{font-weight:700;border-top:2px solid #b58a37;background:#f6f1e7}
#informesDiseno .tpv-report-sheet p,#informesDiseno .tpv-report-period{font-size:12px;color:#555}
@media(max-width:500px){#informesDiseno.tpv-report-view .id-row label{grid-template-columns:1fr}#informesDiseno.tpv-report-view .id-preview{padding:12px}}

#informesDiseno .tpv-report-sheet td{color:#222}
#informesDiseno .tpv-report-sheet tbody tr,#informesDiseno .tpv-report-sheet tbody tr:hover{background:#fff;color:#222}

/* Revisión 29: distribución táctil basada en la referencia del usuario. */
#tpvDiseno.tpv-touch .tpv-shell{background:#edece7;color:#242724;border:1px solid #a7a79e;border-radius:5px;padding:0;max-width:1450px}
#tpvDiseno.tpv-touch .tpv-head{background:linear-gradient(90deg,#c38914,#dba634);padding:10px 14px;margin:0;color:#fff}
#tpvDiseno.tpv-touch .tpv-head h1{font-size:18px;color:#fff;margin:0}
#tpvDiseno.tpv-touch .tpv-note{color:#fff}
#tpvDiseno.tpv-touch [data-pos-status]{font-size:12px;padding:8px 14px;margin:0;background:#f7f4eb;color:#54503f;min-height:30px}
#tpvDiseno.tpv-touch .panel{background:transparent;border:0;padding:12px;margin:0}
#tpvDiseno.tpv-touch .tpv-top{grid-template-columns:190px 220px minmax(0,1fr);gap:18px;margin-bottom:12px}
#tpvDiseno.tpv-touch label{color:#4b4d43}
#tpvDiseno.tpv-touch input,#tpvDiseno.tpv-touch select{color:#222;background:#fff;border:1px solid #aaa99c;border-radius:2px;padding:7px}
#tpvDiseno.tpv-touch .tpv-ticket label{display:grid;grid-template-columns:65px minmax(0,1fr);align-items:center;margin-bottom:4px}
#tpvDiseno.tpv-touch .tpv-customer h3{font-size:12px;margin:0;color:#666}
#tpvDiseno.tpv-touch .tpv-customer p{font-weight:bold;margin:8px 0}
#tpvDiseno.tpv-touch .tpv-customer button{font-size:11px;padding:6px}
#tpvDiseno.tpv-touch .tpv-touch-shop{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-content:start}
#tpvDiseno.tpv-touch .tpv-touch-shop small{grid-column:1/-1;color:#777;font-size:10px}
#tpvDiseno.tpv-touch .tpv-grid.tactile{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
#tpvDiseno.tpv-touch .tpv-lines{background:transparent;border:0;border-radius:0;padding:0;overflow:visible}
#tpvDiseno.tpv-touch .tpv-ticket-scroll{height:305px;overflow:auto;border:1px solid #aaa99c;background:#fff}
#tpvDiseno.tpv-touch table{min-width:0;width:100%;table-layout:fixed;font-size:12px}
#tpvDiseno.tpv-touch th{background:#deded3;color:#35382f;padding:7px 4px}
#tpvDiseno.tpv-touch td{color:#222;padding:6px 4px;border-bottom:1px solid #ddd}
#tpvDiseno.tpv-touch th:nth-child(2){width:40%}
#tpvDiseno.tpv-touch tbody tr:hover,#tpvDiseno.tpv-touch tbody tr.selected{background:#f8ecd0}
#tpvDiseno.tpv-touch .tpv-lines input{padding:6px 2px;font-size:12px}
#tpvDiseno.tpv-touch .tpv-total-search{display:grid;grid-template-columns:1fr 90px;gap:10px;margin-top:8px}
#tpvDiseno.tpv-touch .tpv-total-box{background:#e3e4d9;border:1px solid #aaa99c;border-radius:0;padding:10px;margin:0;color:#555}
#tpvDiseno.tpv-touch .tpv-total-box strong{font-size:32px;color:#202920}
#tpvDiseno.tpv-touch button{background:#e5e8dc;border:1px solid #a0a68e;color:#333e29;border-radius:2px;padding:8px;touch-action:manipulation}
#tpvDiseno.tpv-touch button:not(:disabled):hover{background:#fff5d9;border-color:#bd922e}
#tpvDiseno.tpv-touch button:focus-visible{outline:3px solid #c38a16;outline-offset:2px}
#tpvDiseno.tpv-touch button:disabled{opacity:.45}
#tpvDiseno.tpv-touch .tpv-keypad{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin-top:12px;max-width:370px}
#tpvDiseno.tpv-touch .tpv-keypad button{min-height:54px;font-size:23px}
#tpvDiseno.tpv-touch .tpv-keypad button:nth-child(5n-1),#tpvDiseno.tpv-touch .tpv-keypad button:last-child{font-size:15px}
#tpvDiseno.tpv-touch .tpv-touch-catalog{display:grid;grid-template-columns:minmax(0,1fr) 76px;gap:10px;min-width:0}
#tpvDiseno.tpv-touch .tpv-products{min-width:0}
#tpvDiseno.tpv-touch .tpv-product-heading,#tpvDiseno.tpv-touch .tpv-family-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px}
#tpvDiseno.tpv-touch .tpv-product-heading h3,#tpvDiseno.tpv-touch .tpv-family-heading h3{font-size:11px;color:#666;margin:0}
#tpvDiseno.tpv-touch .tpv-product-heading button,#tpvDiseno.tpv-touch .tpv-family-heading button{min-width:34px;min-height:32px;padding:4px}
#tpvDiseno.tpv-touch .tpv-products-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;height:360px;overflow:auto;align-content:start}
#tpvDiseno.tpv-touch .tpv-product-tile{min-height:82px;font-size:10px;display:flex;flex-direction:column;justify-content:space-between;gap:5px;white-space:normal;overflow-wrap:anywhere;padding:7px 4px}
#tpvDiseno.tpv-touch .tpv-product-tile small{color:#737c65;font-size:10px}
#tpvDiseno.tpv-touch [data-products-status]{font-size:11px;color:#777;margin:5px 0;min-height:15px}
#tpvDiseno.tpv-touch .tpv-family-heading{margin-top:12px}
#tpvDiseno.tpv-touch .tpv-families-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}
#tpvDiseno.tpv-touch .tpv-family-tile{min-height:62px;aspect-ratio:auto;background:#dee4d2;color:#415032;font-size:10px;padding:5px}
#tpvDiseno.tpv-touch .tpv-family-tile.on{background:#ead19a;border:2px solid #ae7b10;color:#33270a}
#tpvDiseno.tpv-touch .tpv-touch-rail{display:flex;flex-direction:column;gap:7px}
#tpvDiseno.tpv-touch .tpv-touch-rail button{min-height:65px;font-size:11px;padding:6px 2px}
#tpvDiseno.tpv-touch .tpv-footer-actions{gap:5px;margin-top:14px;padding-top:10px;border-top:1px solid #bcbcaf}
#tpvDiseno.tpv-touch .tpv-footer-actions button{min-height:52px;font-size:11px;padding:7px 9px}
#tpvDiseno.tpv-touch .tpv-footer-actions .gold{background:#d4deb9;color:#344316;border:2px solid #8c9b64;font-size:13px}
@media(max-width:1100px){#tpvDiseno.tpv-touch .tpv-products-grid,#tpvDiseno.tpv-touch .tpv-families-grid{grid-template-columns:repeat(4,minmax(0,1fr))}#tpvDiseno.tpv-touch .tpv-top{grid-template-columns:170px 180px minmax(0,1fr)}}
@media(max-width:800px){#tpvDiseno.tpv-touch .tpv-grid.tactile{grid-template-columns:1fr}#tpvDiseno.tpv-touch .tpv-top{grid-template-columns:1fr 1fr}#tpvDiseno.tpv-touch .tpv-touch-shop{grid-column:1/-1}#tpvDiseno.tpv-touch .tpv-ticket-scroll{height:230px}#tpvDiseno.tpv-touch .tpv-products-grid{height:300px}}
@media(max-width:450px){#tpvDiseno.tpv-touch .tpv-top{grid-template-columns:1fr}#tpvDiseno.tpv-touch .tpv-touch-shop{grid-column:auto}#tpvDiseno.tpv-touch .tpv-products-grid,#tpvDiseno.tpv-touch .tpv-families-grid{grid-template-columns:repeat(3,minmax(0,1fr))}#tpvDiseno.tpv-touch .tpv-touch-catalog{grid-template-columns:minmax(0,1fr) 65px}#tpvDiseno.tpv-touch .tpv-keypad button{min-height:48px}#tpvDiseno.tpv-touch .tpv-footer-actions .spacer{display:none}}

#tpvDiseno.tpv-touch .tpv-action-icon{display:block;width:25px;height:25px;margin:0 auto 5px;fill:none;stroke:#b17b18;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#tpvDiseno.tpv-touch .tpv-footer-actions button{min-height:67px}
#tpvDiseno.tpv-touch .tpv-touch-rail button{min-height:75px}
#tpvDiseno.tpv-touch .tpv-footer-actions .gold .tpv-action-icon{stroke:#6b8639}
