:root{--navy:#1f3448;--blue:#1976d2;--green:#168b4b;--bg:#f3f6fa;--line:#d8e0e8;--text:#172033;--muted:#64748b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px 'Segoe UI',Arial,sans-serif}button,input,select,textarea{font:inherit}button{border:1px solid var(--line);background:white;border-radius:7px;padding:11px 16px;color:var(--navy);cursor:pointer;font-weight:600}button:hover{filter:brightness(.96)}button:disabled{opacity:.55;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid #82b8ee;outline-offset:3px}[hidden]{display:none!important}header{background:linear-gradient(90deg,#20364a,#2d4256);min-height:76px;display:flex;align-items:center;padding:12px 28px;gap:20px;color:white;box-shadow:0 2px 8px #0002}.brand{display:flex;align-items:center;gap:10px;font-size:28px;font-weight:800;color:white;text-decoration:none;white-space:nowrap}.brand span{font-size:23px}.brand small{display:block;font-size:9px;letter-spacing:2px;font-weight:500;color:#c2d3e3}nav{display:flex;gap:5px;flex:1;overflow:auto;margin-left:18px}header button{background:transparent;border:0;color:#eef5fb;white-space:nowrap}nav .active{background:var(--blue)}main{max-width:1600px;margin:auto;padding:26px}.work-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:4px 0 22px}h1{font-size:30px;margin:7px 0}h2{font-size:23px;margin:0}p{color:var(--muted);line-height:1.5;margin:8px 0}.eyebrow{font-size:10px;letter-spacing:1.5px;font-weight:700;color:var(--muted)}.sync-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;max-width:410px}.sync-actions small{color:var(--muted);flex-basis:100%;text-align:right}.primary{background:var(--blue);border-color:var(--blue);color:white}.green{background:var(--green);border-color:var(--green);color:white}.danger{color:#a52b22;border-color:#efc5c0}.badge{display:inline-block;border-radius:30px;padding:6px 10px;background:#fff4cf;color:#76520a;font-size:12px;font-weight:600;white-space:nowrap}.badge.ok{color:#12703c;background:#e6f5ec}.badge.error{background:#fee9e7;color:#aa2920}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.metrics article{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 20px}.metrics span{color:var(--muted);font-size:12px}.metrics strong{display:block;font-size:27px;margin-top:7px}.panel{background:#fff;border:1px solid #e0e7ef;border-radius:12px;box-shadow:0 4px 18px #20364a0a;overflow:hidden}.panel-head{padding:19px 22px;display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid var(--line)}.toolbar{padding:16px 22px;display:flex;align-items:center;justify-content:space-between;gap:12px}.toolbar input{max-width:420px}.toolbar span{color:var(--muted);font-size:12px}.table-wrap{overflow:auto;margin:0 14px 16px;border:1px solid var(--line);border-radius:7px}table{border-collapse:collapse;width:100%;white-space:nowrap}th{background:#378486;color:#fff;font-size:12px;font-weight:700;text-align:center}td,th{padding:10px 9px;border:1px solid var(--line)}td{font-size:13px}tbody tr:hover{background:#f7fbff}.num{text-align:right;font-variant-numeric:tabular-nums}.material{font-weight:600}.footnote{margin:0 20px 18px;font-size:12px}.notice{padding:13px 18px;background:#fff4cf;border:1px solid #ebd89a;border-radius:8px;margin-bottom:18px}.login{max-width:440px;margin:65px auto;padding:32px}.login button{width:100%;margin-top:8px}label{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;font-size:12px;font-weight:600;color:#344054}input,select,textarea{width:100%;padding:10px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:var(--text);min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #93c5fd;border-color:var(--blue)}textarea{min-height:70px;resize:vertical}dialog{border:1px solid var(--line);border-radius:12px;padding:26px;width:510px;max-width:calc(100vw - 24px);max-height:90dvh;overflow:auto;box-shadow:0 20px 80px #0003}dialog::backdrop{background:#132b426e}.dialog-head{display:flex;align-items:center;justify-content:space-between}.dialog-head button{border:0;font-size:24px;padding:0 5px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.error{color:#aa2920}#message{min-height:24px}.empty{text-align:center;padding:35px;color:var(--muted)}.autocomplete{position:relative}.suggestions{position:absolute;z-index:20;top:calc(100% + 3px);left:0;right:0;max-height:230px;overflow:auto;background:#fff;border:1px solid #b8c6d6;border-radius:7px;box-shadow:0 10px 28px #20364a26}.suggestions button{display:block;width:100%;border:0;border-radius:0;text-align:left;padding:10px 12px;font-weight:500;color:var(--text);background:#fff}.suggestions button:hover,.suggestions button.active{background:#eaf4ff}.suggestions button+button{border-top:1px solid #edf1f5}.panel-actions,.row-actions{display:flex;gap:7px;flex-wrap:wrap}.row-actions button{padding:6px 9px;font-size:12px}.receive-input{width:105px;text-align:center;padding:6px 7px}.pending-cell{background:#fff4cf}.pedido-dialog{width:min(1220px,calc(100vw - 24px));max-width:none}.pedido-head-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 14px;margin-top:18px}.pedido-head-grid .pedido-wide{grid-column:span 3}.pedido-lines-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:10px 0}.pedido-lines-wrap{overflow:auto;border:1px solid var(--line);border-radius:7px;max-height:45vh}#pedido-lines{min-width:980px}#pedido-lines th{position:sticky;top:0;z-index:2}#pedido-lines td,#pedido-lines th{padding:7px 8px}#pedido-lines td input{padding:8px;border-radius:4px}#pedido-lines td:nth-child(1){min-width:130px}#pedido-lines td:nth-child(2){min-width:140px}#pedido-lines td:nth-child(3){min-width:290px}#pedido-lines td:nth-child(4),#pedido-lines td:nth-child(5){min-width:120px}#pedido-lines td:nth-child(6){min-width:115px;text-align:right}.pedido-concepto .suggestions{min-width:320px}.line-remove{padding:5px 9px;border-color:#efc5c0;color:#a52b22}.pedido-total{display:flex;justify-content:flex-end;align-items:center;gap:22px;padding:14px 8px 18px;font-size:16px}.pedido-total strong{font-size:21px}#print-order{background:white;color:#111}.print-sheet{padding:20px;font-family:Arial,sans-serif}.print-sheet h1{font-size:24px}.print-meta{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px;margin-bottom:18px}.print-sheet table{white-space:normal}.print-sheet th{background:#ddd;color:#111}.print-total{text-align:right;font-size:18px;margin-top:15px}.print-sign{display:flex;justify-content:space-between;margin-top:50px}
@media(max-width:800px){header{padding:12px;gap:10px;flex-wrap:wrap}.brand{flex:1}.brand span{font-size:20px}nav{order:3;flex-basis:100%;overflow:auto}nav button{padding:9px 10px}main{padding:12px}.work-heading{align-items:flex-start;flex-direction:column;gap:12px}.sync-actions{max-width:none;justify-content:flex-start}.sync-actions small{text-align:left}.metrics{grid-template-columns:1fr 1fr;gap:8px}.metrics article{padding:12px}.panel-head{padding:15px;align-items:flex-start;flex-direction:column}.toolbar{padding:12px}.table-wrap{margin:0 6px 12px}.form-grid{grid-template-columns:1fr 1fr}.pedido-dialog{padding:18px 10px;width:calc(100vw - 8px)}.pedido-head-grid{grid-template-columns:1fr}.pedido-head-grid .pedido-wide{grid-column:span 1}.pedido-lines-wrap{max-height:50vh}.row-actions{min-width:260px}}
@media print{body.printing-order>*:not(#print-order){display:none!important}body.printing-order #print-order{display:block!important;position:static!important}body.printing-order{background:white}.print-sheet{padding:0}.print-sheet table{font-size:11px}.print-sheet th,.print-sheet td{padding:6px}}

/* Vista compacta para trabajar con muchas líneas */
header{min-height:48px;padding:5px 14px;gap:10px}.brand{font-size:20px}.brand span{font-size:18px}.brand small{font-size:7px}.header-sync{display:flex;align-items:center;gap:6px;margin-left:auto}.header-sync #sync{padding:5px 9px;font-size:16px}.header-sync .badge{padding:4px 8px;font-size:10px}nav button,header>#logout,header>#install{padding:7px 10px;font-size:12px}main{max-width:none;padding:8px 12px}.data-panel{border-radius:6px}.compact-toolbar{padding:5px 8px;border-bottom:1px solid var(--line);min-height:38px}.compact-toolbar input{max-width:360px;padding:6px 8px;height:30px}.toolbar-actions{display:flex;gap:6px}.toolbar-actions button{padding:6px 10px;font-size:12px}.compact-table{margin:0;border:0;border-radius:0;max-height:calc(100vh - 100px);overflow:auto}#main-table{width:max-content!important;min-width:0!important;table-layout:fixed}#main-table th{position:relative;overflow:visible;user-select:none}#main-table td,#main-table th{padding:3px 6px;height:25px;line-height:16px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#main-table th{font-size:11px}.receive-input{height:22px;min-height:22px;padding:1px 4px;font-size:12px;border-radius:3px}.row-actions{gap:3px}.row-actions button{padding:3px 6px;font-size:11px;border-radius:4px}.compact-notice{margin:0 0 5px;padding:5px 8px;font-size:11px}.col-resizer{position:absolute;top:0;right:-3px;width:7px;height:100%;cursor:col-resize;z-index:5}.col-resizer:hover,.resizing-columns .col-resizer{background:#ffffff55}.resizing-columns{cursor:col-resize!important;user-select:none!important}

/* Pedido en pantalla completa y minimizable */
.fullscreen-dialog{width:calc(100vw - 10px)!important;height:calc(100vh - 10px);max-width:none!important;max-height:none!important;margin:5px!important;padding:10px 12px!important;border-radius:5px}.fullscreen-dialog form{height:100%;display:flex;flex-direction:column;min-height:0}.pedido-window-head{flex:0 0 auto;padding-bottom:4px;border-bottom:1px solid var(--line)}.pedido-window-head h2{font-size:18px}.pedido-window-head p{margin:2px 0;font-size:11px}.window-actions{display:flex;gap:4px}.window-actions button{font-size:20px;padding:0 8px}.fullscreen-dialog .pedido-head-grid{flex:0 0 auto;margin-top:8px}.fullscreen-dialog .pedido-lines-toolbar{flex:0 0 auto;margin:4px 0}.fullscreen-dialog .pedido-lines-wrap{flex:1 1 auto;max-height:none;min-height:120px}.fullscreen-dialog #pedido-lines td,.fullscreen-dialog #pedido-lines th{padding:3px 5px}.fullscreen-dialog #pedido-lines td input{padding:4px 5px;height:26px}.fullscreen-dialog .pedido-total{padding:5px 4px;font-size:13px}.fullscreen-dialog .pedido-total strong{font-size:16px}.fullscreen-dialog label{margin-bottom:5px;gap:3px}.fullscreen-dialog input,.fullscreen-dialog textarea{padding:5px 6px}.fullscreen-dialog textarea{min-height:42px}.fullscreen-dialog .dialog-actions{margin-top:5px}.pedido-minimized{position:fixed;right:14px;bottom:14px;z-index:1000;background:var(--navy);color:#fff;border-color:var(--navy);box-shadow:0 6px 24px #0004}

@media(max-width:800px){header{padding:5px 8px}.brand span{font-size:16px}main{padding:5px}.compact-table{max-height:calc(100vh - 140px)}.compact-toolbar{gap:5px}.compact-toolbar input{max-width:none;flex:1}.toolbar-actions button{padding:5px 7px}.fullscreen-dialog{width:100vw!important;height:100vh;margin:0!important;border-radius:0!important}.pedido-minimized{right:8px;bottom:8px}}

.compact-table{display:block}.compact-table>table{margin:0;width:max-content!important;min-width:0!important}





/* Filtros y ordenación estilo Excel */
#main-table thead{display:table-header-group!important}
#main-table thead tr.header-row{display:table-row!important}
#main-table thead tr.header-row th{display:table-cell!important;overflow:visible!important}
.th-header-wrap{display:flex;align-items:center;justify-content:center;gap:3px;min-width:0;height:100%}
.th-label{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.excel-filter-btn{position:relative;flex:0 0 18px;width:18px;height:18px;padding:0!important;border:0!important;border-radius:3px!important;background:transparent!important;color:#fff!important;font-size:9px!important;line-height:18px!important;opacity:.78}
.excel-filter-btn:hover{background:#ffffff2b!important;opacity:1}
.excel-filter-btn.active,.excel-filter-btn.sorted{background:#fff!important;color:#2f6f72!important;opacity:1}
.excel-filter-btn.active::after{content:"";position:absolute;right:2px;bottom:2px;width:4px;height:4px;border-radius:50%;background:#ffcf33}
.excel-filter-menu{position:fixed;z-index:5000;background:#fff;color:var(--text);border:1px solid #aebdcc;border-radius:6px;box-shadow:0 10px 32px #0003;padding:7px;font-size:12px}
.excel-filter-title{font-weight:700;padding:3px 5px 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.excel-filter-menu>button.excel-sort,.excel-clear-sort{display:block;width:100%;text-align:left;border:0;border-radius:3px;padding:6px 7px;font-size:12px;font-weight:500;background:#fff}
.excel-filter-menu>button.excel-sort:hover,.excel-clear-sort:hover{background:#eef5fb}
.excel-filter-separator{height:1px;background:#d9e1e9;margin:5px 0}
.excel-filter-search{height:28px!important;padding:4px 7px!important;font-size:12px!important;margin:2px 0 5px}
.excel-select-all,.excel-filter-values label{display:flex;flex-direction:row;align-items:center;gap:7px;margin:0;padding:4px 5px;font-size:12px;font-weight:400;color:var(--text);cursor:pointer}
.excel-select-all{border-bottom:1px solid #e4e9ee;margin-bottom:2px;font-weight:600}
.excel-select-all input,.excel-filter-values input{width:auto;min-width:auto;margin:0}
.excel-filter-values{max-height:230px;overflow:auto;border-bottom:1px solid #e4e9ee}
.excel-filter-values label:hover{background:#f1f6fb}
.excel-filter-hint{padding:5px;color:var(--muted);font-size:10px}
.excel-filter-actions{display:flex;justify-content:space-between;gap:6px;padding-top:7px}
.excel-filter-actions button{padding:5px 8px;font-size:11px;border-radius:4px}

/* Formato base de todas las celdas */
#main-table tbody td{
  font-family:Tahoma,Arial,sans-serif!important;
  font-size:11px!important;
  color:#000!important;
  vertical-align:middle!important;
}
#main-table tbody td.cell-center,
#main-table tbody td.cell-center *{
  text-align:center!important;
}
#main-table tbody td.cell-left,
#main-table tbody td.cell-left *{
  text-align:left!important;
}
#main-table tbody td input,
#main-table tbody td select,
#main-table tbody td textarea{
  font-family:Tahoma,Arial,sans-serif!important;
  font-size:11px!important;
  color:#000!important;
}

/* Rec. pedidos: Pendiente distinto de cero */
#main-table td.pending-highlight{background:#fff3bf!important}

/* Celda editable estilo hoja de cálculo */
#main-table .excel-editable{
  cursor:text;
}
#main-table .excel-editable:focus{
  outline:2px solid #2f7de1!important;
  outline-offset:-1px;
}


/* =========================================================
   PEDIDO A4 — reconstrucción limpia desde ObraStock v19
   Un único sistema geométrico para editor y documento impreso.
   ========================================================= */

#pedido-dialog.pedido7-dialog{
  width:100vw!important;height:100vh!important;max-width:none!important;max-height:none!important;
  margin:0!important;padding:0!important;border:0!important;border-radius:0!important;
  background:#d4d9df!important;overflow:hidden!important;
}
#pedido-dialog.pedido7-dialog::backdrop{background:#c8ced5!important}
#pedido-dialog #pedido-form{
  width:100%!important;height:100%!important;min-height:0!important;margin:0!important;padding:0!important;
  display:flex!important;flex-direction:column!important;background:#d4d9df!important;
  font-family:Tahoma,Arial,sans-serif!important;
}
#pedido-dialog .pedido7-toolbar{
  flex:0 0 58px!important;height:58px!important;min-height:58px!important;
  display:flex!important;align-items:center!important;gap:8px!important;padding:8px 12px!important;
  box-sizing:border-box!important;background:#fff!important;border-bottom:1px solid #b8c1ca!important;
  box-shadow:0 1px 4px #0001!important;position:relative!important;z-index:1000!important;
}
#pedido-dialog .pedido7-title{display:flex!important;flex-direction:column!important;margin-right:auto!important;min-width:220px!important}
#pedido-dialog .pedido7-title strong{font:700 15px Tahoma,Arial,sans-serif!important;color:#111!important}
#pedido-dialog .pedido7-title span{font:10px Tahoma,Arial,sans-serif!important;color:#65727f!important}
#pedido-dialog .pedido7-actions{display:flex!important;align-items:center!important;gap:6px!important;flex-wrap:wrap!important;justify-content:flex-end!important}
#pedido-dialog .pedido7-actions button{
  min-height:30px!important;height:30px!important;padding:5px 10px!important;margin:0!important;
  border:1px solid #b8c3cf!important;border-radius:6px!important;background:#fff!important;color:#111!important;
  font:12px Tahoma,Arial,sans-serif!important;
}
#pedido-dialog .pedido7-actions button.primary{background:var(--green)!important;color:#fff!important;border-color:var(--green)!important}
#pedido-dialog #pedido-zoom-label{min-width:46px!important;text-align:center!important;font:12px Tahoma,Arial,sans-serif!important;color:#111!important}

#pedido-dialog .pedido7-viewer{
  flex:1 1 auto!important;min-height:0!important;position:relative!important;overflow:auto!important;
  padding:24px!important;box-sizing:border-box!important;background:#cfd4da!important;
}
#pedido-dialog .pedido7-stage{position:relative!important;display:block!important;margin:0 auto!important}
#pedido-dialog .pedido7-pages{
  position:absolute!important;left:0!important;top:0!important;display:flex!important;flex-direction:column!important;
  gap:24px!important;align-items:flex-start!important;transform:none!important;transform-origin:top left!important;
}

/* A4: 210x297, márgenes 8 mm => área útil 194x281 mm */
.pedido7-sheet{
  position:relative!important;width:210mm!important;height:297mm!important;min-width:210mm!important;min-height:297mm!important;
  padding:8mm!important;box-sizing:border-box!important;background:#fff!important;overflow:hidden!important;flex:0 0 auto!important;
  font-family:Tahoma,Arial,sans-serif!important;color:#000!important;
  --form-w:194mm;
  --c1:15.52mm;--c2:25.22mm;--c3:83.42mm;--c4:23.28mm;--c5:23.28mm;--c6:23.28mm;
  --row-unit:3.954545mm;
}
#pedido-dialog .pedido7-sheet{box-shadow:0 4px 18px #0003!important}

.pedido7-form{
  position:relative!important;width:194mm!important;height:281mm!important;margin:0!important;
  display:grid!important;grid-template-rows:56mm 181mm 44mm!important;background:#fff!important;
  box-sizing:border-box!important;min-width:194mm!important;min-height:281mm!important;max-height:281mm!important;
}
/* Primera página de un pedido multipágina: sin pie, usa el espacio inferior para líneas. */
.pedido7-first:not(.pedido7-final-page) .pedido7-form{grid-template-rows:56mm 225mm!important}
/* Página intermedia: solo tabla. */
.pedido7-continuation:not(.pedido7-final-page) .pedido7-form{grid-template-rows:281mm!important}
/* Última continuación: tabla + pie. */
.pedido7-continuation.pedido7-final-page .pedido7-form{grid-template-rows:237mm 44mm!important}

/* ÚNICO marco exterior, continuo. */
.pedido7-form::after{
  content:""!important;position:absolute!important;inset:0!important;border:.35mm solid #111!important;
  box-sizing:border-box!important;pointer-events:none!important;z-index:50!important;
}

.pedido7-top{
  width:194mm!important;height:56mm!important;display:grid!important;
  grid-template-columns:var(--c1) var(--c2) var(--c3) var(--c4) var(--c5) var(--c6)!important;
  box-sizing:border-box!important;border-bottom:.28mm solid #111!important;min-width:0!important;
}
.pedido7-left-top{grid-column:1 / 4!important;display:grid!important;grid-template-rows:29mm 27mm!important;min-width:0!important;border-right:.28mm solid #111!important}
.pedido7-right-top{grid-column:4 / 7!important;display:grid!important;grid-template-rows:14mm 12mm 12mm 18mm!important;min-width:0!important}
.pedido7-logo-cell{display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;border-bottom:.28mm solid #111!important;background:#fff!important}
.pedido7-logo-cell img{display:block!important;max-width:68%!important;max-height:23mm!important;object-fit:contain!important}
.pedido7-ship-cell,.pedido7-requested,.pedido7-provider,.pedido7-contact,.pedido7-date-list>label,.pedido7-ordered-row,.pedido7-sign-row{
  margin:0!important;min-width:0!important;display:block!important;box-sizing:border-box!important;
}
.pedido7-requested{border-bottom:.28mm solid #111!important}
.pedido7-date-list{display:grid!important;grid-template-columns:1fr 1fr!important;border-bottom:.28mm solid #111!important}
.pedido7-date-list>label:first-child{border-right:.28mm solid #111!important}
.pedido7-provider{border-bottom:.28mm solid #111!important}
.pedido7-label{display:block!important;padding:1.2mm 1.5mm .6mm!important;font:700 10px Tahoma,Arial,sans-serif!important;line-height:normal!important;color:#000!important}
.pedido7-center-label{text-align:center!important}

/* Editor: campos dentro del A4. */
#pedido-dialog .pedido7-sheet input,#pedido-dialog .pedido7-sheet textarea{
  width:100%!important;min-width:0!important;margin:0!important;border:0!important;border-radius:0!important;outline:0!important;
  box-shadow:none!important;box-sizing:border-box!important;background:transparent!important;color:#000!important;
  font-family:Tahoma,Arial,sans-serif!important;font-size:11px!important;
}
#pedido-dialog .pedido7-sheet input:focus,#pedido-dialog .pedido7-sheet textarea:focus{
  background:#fffbe8!important;outline:.35mm solid #3979d8!important;outline-offset:-.35mm!important;
}
#pedido-dialog .pedido7-requested input{height:8mm!important;text-align:center!important;font-weight:700!important;padding:0 1mm!important}
#pedido-dialog .pedido7-date-list input{height:6.8mm!important;text-align:center!important;padding:0 1mm!important}
#pedido-dialog .pedido7-provider .autocomplete{position:relative!important;height:6.5mm!important}
#pedido-dialog .pedido7-provider input{height:6.5mm!important;text-align:center!important;font-weight:700!important;padding:0 1mm!important}
#pedido-dialog .pedido7-provider .suggestions{top:100%!important;font-size:11px!important}
#pedido-dialog .pedido7-contact textarea{height:11.5mm!important;min-height:0!important;resize:none!important;padding:0 1.5mm!important;line-height:4.4mm!important}
#pedido-dialog .pedido7-ship-cell textarea{height:20.5mm!important;min-height:0!important;resize:none!important;padding:0 1.5mm!important;line-height:5mm!important}

/* Zona de líneas: grid, no tabla HTML. La tabla nunca puede empujar el pie. */
.pedido7-lines-region{min-width:0!important;min-height:0!important;overflow:hidden!important;display:grid!important;grid-template-rows:7mm 1fr!important;background:#fff!important}
.pedido7-grid-head,.pedido7-line-row{
  width:194mm!important;display:grid!important;
  grid-template-columns:var(--c1) var(--c2) var(--c3) var(--c4) var(--c5) var(--c6)!important;
  box-sizing:border-box!important;min-width:194mm!important;
}
.pedido7-grid-head{height:7mm!important;background:#d9edf3!important;border-bottom:.25mm solid #111!important}
.pedido7-grid-head>div{
  display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;
  padding:.35mm .7mm!important;border-right:.25mm solid #111!important;box-sizing:border-box!important;
  color:#000!important;font:700 9.5px Tahoma,Arial,sans-serif!important;line-height:3.1mm!important;
}
.pedido7-grid-head>div:last-child{border-right:0!important}
.pedido7-grid-body{min-height:0!important;overflow:hidden!important;background:#fff!important}
.pedido7-line-row{
  position:relative!important;height:calc(var(--row-unit) * var(--units,1))!important;min-height:calc(var(--row-unit) * var(--units,1))!important;
  border-bottom:.25mm solid #111!important;background:#fff!important;
}
.pedido7-line-cell{
  position:relative!important;min-width:0!important;min-height:0!important;overflow:hidden!important;
  border-right:.25mm solid #111!important;box-sizing:border-box!important;background:#fff!important;
}
.pedido7-line-cell:last-child{border-right:0!important}
#pedido-dialog .pedido7-line-cell input,#pedido-dialog .pedido7-line-cell textarea{
  display:block!important;width:100%!important;height:100%!important;min-height:0!important;margin:0!important;
  padding:0 .8mm!important;border:0!important;outline:0!important;background:transparent!important;
  font:10.5px Tahoma,Arial,sans-serif!important;line-height:3.55mm!important;box-sizing:border-box!important;
}
#pedido-dialog .pedido7-line-cell textarea[data-k="concepto"]{
  resize:none!important;overflow:hidden!important;white-space:pre-wrap!important;text-align:left!important;vertical-align:top!important;
  padding:.12mm .8mm!important;
}
#pedido-dialog .pedido7-line-cell[data-col="grupo"] input,
#pedido-dialog .pedido7-line-cell[data-col="codigo"] input,
#pedido-dialog .pedido7-line-cell[data-col="unidades"] input,
#pedido-dialog .pedido7-line-cell[data-col="precio"] input{text-align:center!important}
.pedido7-total-cell{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;font:10.5px Tahoma,Arial,sans-serif!important}
.pedido7-total-cell [data-total]{display:block!important;width:100%!important;padding:0 .8mm!important;box-sizing:border-box!important;text-align:center!important}
.pedido7-total-cell .line-remove{
  display:none!important;position:absolute!important;right:.3mm!important;top:50%!important;transform:translateY(-50%)!important;
  width:4mm!important;height:4mm!important;min-width:0!important;padding:0!important;border:1px solid #d99!important;border-radius:50%!important;
  background:#fff!important;color:#a22!important;font-size:9px!important;line-height:1!important;z-index:4!important;
}
.pedido7-total-cell:hover .line-remove{display:block!important}

/* Pie exacto: 44 mm y nunca superpuesto con la zona de líneas. */
.pedido7-bottom{
  width:194mm!important;height:44mm!important;min-height:44mm!important;max-height:44mm!important;
  display:grid!important;grid-template-columns:var(--c1) var(--c2) var(--c3) var(--c4) var(--c5) var(--c6)!important;
  border-top:0!important;box-sizing:border-box!important;overflow:hidden!important;background:#fff!important;
}
.pedido7-bottom-left{
  grid-column:1 / 5!important;display:flex!important;flex-direction:column!important;min-width:0!important;min-height:0!important;
  border-right:.28mm solid #111!important;box-sizing:border-box!important;overflow:hidden!important;
}
.pedido7-bottom-right{
  grid-column:5 / 7!important;height:44mm!important;display:grid!important;grid-template-rows:10mm 15mm 19mm!important;
  min-width:0!important;min-height:0!important;overflow:hidden!important;box-sizing:border-box!important;
}
.pedido7-total-row,.pedido7-ordered-row{border-bottom:.28mm solid #111!important;box-sizing:border-box!important;min-height:0!important}
.pedido7-total-line{height:100%!important;display:grid!important;grid-template-columns:1fr 1fr!important}
.pedido7-total-line .pedido7-label{display:flex!important;align-items:center!important;justify-content:center!important;border-right:.28mm solid #111!important}
#pedido-dialog .pedido7-total-line input{text-align:center!important;font-weight:700!important}
#pedido-dialog .pedido7-observations-text{flex:1 1 auto!important;min-height:0!important;resize:none!important;padding:1.2mm 1.8mm 1.8mm!important;line-height:5mm!important}
#pedido-dialog .pedido7-ordered-row,#pedido-dialog .pedido7-sign-row{display:flex!important;flex-direction:column!important;min-height:0!important;overflow:hidden!important}
#pedido-dialog .pedido7-ordered-row .pedido7-label,#pedido-dialog .pedido7-sign-row .pedido7-label{flex:0 0 auto!important}
#pedido-dialog .pedido7-ordered-row input,#pedido-dialog .pedido7-sign-row input{flex:1 1 auto!important;height:auto!important;min-height:0!important;padding:1mm!important}
.pedido7-page-note{position:absolute!important;left:0!important;right:0!important;bottom:1.3mm!important;text-align:center!important;color:#777!important;font:8px Tahoma,Arial,sans-serif!important}

/* Barra de estado exterior al A4. */
#pedido-dialog .pedido7-status{
  flex:0 0 24px!important;min-height:24px!important;display:flex!important;align-items:center!important;gap:12px!important;
  padding:3px 10px!important;box-sizing:border-box!important;background:#fff!important;border-top:1px solid #b8c1ca!important;
  font:10px Tahoma,Arial,sans-serif!important;position:relative!important;z-index:1000!important;
}
#pedido-dialog .pedido7-status .error{margin:0!important;font-size:10px!important}

/* Desplegable inteligente de material: capa flotante fuera de la celda. */
#pedido-dialog .pedido7-material-flyout{
  position:fixed!important;z-index:5000!important;max-height:260px!important;overflow:auto!important;
  background:#fff!important;border:1px solid #aebdce!important;border-radius:5px!important;box-shadow:0 8px 24px #0003!important;
  font:11px Tahoma,Arial,sans-serif!important;
}
#pedido-dialog .pedido7-material-flyout[hidden]{display:none!important}
#pedido-dialog .pedido7-material-flyout button{
  display:block!important;width:100%!important;min-height:29px!important;margin:0!important;padding:5px 8px!important;
  border:0!important;border-bottom:1px solid #e5eaf0!important;border-radius:0!important;background:#fff!important;color:#111!important;
  text-align:left!important;font:11px Tahoma,Arial,sans-serif!important;white-space:normal!important;
}
#pedido-dialog .pedido7-material-flyout button:last-child{border-bottom:0!important}
#pedido-dialog .pedido7-material-flyout button:hover,#pedido-dialog .pedido7-material-flyout button.active{background:#eaf4ff!important}

/* Documento aislado de impresión. */
body.pedido7-print-body{margin:0!important;padding:0!important;width:210mm!important;min-width:210mm!important;background:#fff!important;font-family:Tahoma,Arial,sans-serif!important;overflow:visible!important}
body.pedido7-print-body .pedido7-print-document{width:210mm!important;min-width:210mm!important;margin:0!important;padding:0!important}
body.pedido7-print-body .pedido7-pages{display:block!important;position:static!important;width:210mm!important;min-width:210mm!important;margin:0!important;padding:0!important;zoom:1!important;transform:none!important}
body.pedido7-print-body .pedido7-sheet{box-shadow:none!important;margin:0!important;page-break-after:always!important;break-after:page!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
body.pedido7-print-body .pedido7-sheet:last-child{page-break-after:auto!important;break-after:auto!important}
.pedido7-static-value{width:100%!important;box-sizing:border-box!important;color:#000!important;font:11px Tahoma,Arial,sans-serif!important;white-space:pre-wrap!important}
.pedido7-static-requested{height:8mm!important;padding:1.5mm 1mm 0!important;text-align:center!important;font-weight:700!important}
.pedido7-static-date{height:6.8mm!important;padding:1.2mm 1mm 0!important;text-align:center!important}
.pedido7-static-provider{height:6.5mm!important;padding:1mm!important;text-align:center!important;font-weight:700!important}
.pedido7-static-contact{height:11.5mm!important;padding:0 1.5mm!important;line-height:4.4mm!important}
.pedido7-static-shipping{height:20.5mm!important;padding:0 1.5mm!important;line-height:5mm!important}
.pedido7-cell-text{width:100%!important;height:100%!important;box-sizing:border-box!important;padding:0 .8mm!important;font:10.5px Tahoma,Arial,sans-serif!important;line-height:3.55mm!important;white-space:pre-wrap!important;overflow:hidden!important}
.pedido7-cell-center{text-align:center!important}
.pedido7-static-observations{flex:1 1 auto!important;min-height:0!important;padding:1.2mm 1.8mm 1.8mm!important;font:11px Tahoma,Arial,sans-serif!important;line-height:5mm!important;white-space:pre-wrap!important}
.pedido7-static-bottom{padding:1mm!important;font:11px Tahoma,Arial,sans-serif!important;white-space:pre-wrap!important}

@page{size:A4 portrait;margin:0}
@media print{
  html,body.pedido7-print-body{margin:0!important;padding:0!important;width:210mm!important;min-width:210mm!important;background:#fff!important}
  body.pedido7-print-body .pedido7-print-document,body.pedido7-print-body .pedido7-pages{width:210mm!important;min-width:210mm!important}
  body.pedido7-print-body .pedido7-sheet{
    width:210mm!important;height:297mm!important;min-width:210mm!important;min-height:297mm!important;
    padding:8mm!important;margin:0!important;box-shadow:none!important;overflow:hidden!important;
  }
}

@media(max-width:800px){
  #pedido-dialog .pedido7-toolbar{height:auto!important;min-height:58px!important;align-items:flex-start!important}
  #pedido-dialog .pedido7-title{display:none!important}
  #pedido-dialog .pedido7-actions{justify-content:flex-start!important}
}


/* v26 — navegación entre páginas del pedido */
#pedido-dialog .pedido7-page-controls{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  margin:0 2px!important;
}
#pedido-dialog .pedido7-page-controls button{
  min-width:auto!important;
  white-space:nowrap!important;
}
#pedido-dialog #pedido-page-nav{
  min-width:90px!important;
  text-align:center!important;
  font:11px Tahoma,Arial,sans-serif!important;
  color:#111!important;
  white-space:nowrap!important;
}

/* Impresión: Alt+Enter conserva todos los renglones en la misma línea. */
.pedido7-print-concept{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:100%!important;
  padding:.12mm .8mm!important;
  margin:0!important;
  box-sizing:border-box!important;
  white-space:pre-wrap!important;
  overflow-wrap:anywhere!important;
  line-height:3.55mm!important;
  overflow:visible!important;
  text-align:left!important;
  color:#000!important;
  background:#fff!important;
  font:10.5px Tahoma,Arial,sans-serif!important;
}

/* Selección de una salida para modificarla, sin añadir columnas de acciones. */
#table-body tr[data-salida-id]{cursor:pointer}
#table-body tr.salida-row-selected td{background:#dceeff!important}


/* Stock v41: mínimo editable y alarma visual. */
.stock-min-input{width:100%;min-width:90px;height:22px;padding:1px 5px;text-align:center;border:1px solid #b8c6d6;border-radius:3px;background:#fff;color:var(--text);font:inherit}
.stock-min-input:focus{outline:2px solid #7fb7e6;outline-offset:-1px}
.stock-alarm-cell{background:#fff1bf!important;text-align:center!important}
.stock-alarm{display:inline-block;padding:2px 7px;border-radius:4px;font-weight:700;color:#9d1f13;background:#ffd9d4;white-space:nowrap}

/* Total de Pedidos visible y recalculado según búsqueda/filtros activos. */
.toolbar-search-group{display:flex;align-items:center;gap:8px;min-width:0;flex:1}
.toolbar-search-group>#search{flex:0 1 360px}
.pedidos-total-box{height:30px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:#fff;white-space:nowrap;font-variant-numeric:tabular-nums}
.pedidos-total-box span{font-size:11px;color:var(--muted)}
.pedidos-total-box strong{font-size:13px;color:var(--text)}
@media(max-width:800px){
 .toolbar-search-group{flex-wrap:wrap}
 .toolbar-search-group>#search{flex:1 1 180px}
 .pedidos-total-box{flex:0 0 auto}
}


/* =========================================================
   Impresión común de módulos v43
   No afecta a la impresión A4 de pedidos.
   ========================================================= */
.header-print{
  position:relative;
  flex:0 0 auto;
  margin-left:5px;
  padding-left:9px;
  border-left:1px solid #ffffff45;
}
header .header-print-button{
  width:34px;
  height:32px;
  padding:0;
  border:1px solid #ffffff35;
  border-radius:6px;
  background:#ffffff10;
  color:#fff;
  font-size:18px;
  line-height:30px;
}
header .header-print-button:hover{background:#ffffff20}
.print-modules-menu{
  position:absolute;
  z-index:5000;
  top:calc(100% + 7px);
  right:0;
  width:270px;
  padding:12px;
  border:1px solid #cbd5df;
  border-radius:8px;
  background:#fff;
  color:var(--text);
  box-shadow:0 12px 34px #10243b38;
  font:12px Tahoma,Arial,sans-serif;
}
.print-modules-menu>strong{
  display:block;
  margin-bottom:9px;
  font-size:14px;
}
.print-modules-menu label{
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:7px;
  margin:0;
  padding:5px 4px;
  color:var(--text);
  font-size:12px;
  font-weight:500;
  cursor:pointer;
}
.print-modules-menu input{margin:0}
.print-all-option{font-weight:700!important}
.print-module-options{padding-left:10px}
.print-menu-separator{height:1px;background:var(--line);margin:8px 0}
.print-menu-caption{display:block;margin:2px 0 4px;color:var(--muted);font-size:11px;font-weight:700}
.print-orientation-options{display:flex;gap:12px}
.print-menu-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:10px}
.print-menu-actions button{padding:6px 10px;font-size:11px}

/* Documento de impresión común. */
.module-print-body{
  margin:0!important;
  padding:0!important;
  background:#fff!important;
  color:#000!important;
  font:10px Tahoma,Arial,sans-serif!important;
}
.module-print-document{width:100%!important;margin:0!important;padding:0!important}
.module-print-section{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  break-before:page;
  page-break-before:always;
}
.module-print-section:first-child{
  break-before:auto;
  page-break-before:auto;
}
.module-print-section h1{
  margin:0 0 4mm!important;
  padding:0!important;
  color:#000!important;
  font:700 15px Tahoma,Arial,sans-serif!important;
}
.module-print-body .module-print-table{
  border-collapse:collapse!important;
  table-layout:fixed!important;
  width:auto;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  white-space:normal!important;
  color:#000!important;
}
.module-print-body .module-print-table thead{display:table-header-group!important}
.module-print-body .module-print-table tbody{display:table-row-group!important}
.module-print-body .module-print-table tr{
  break-inside:avoid;
  page-break-inside:avoid;
}
.module-print-body .module-print-table th,
.module-print-body .module-print-table td{
  box-sizing:border-box!important;
  border:0.25mm solid #8c949c!important;
  padding:1.3mm 1.4mm!important;
  height:auto!important;
  min-height:0!important;
  line-height:1.25!important;
  white-space:normal!important;
  overflow:visible!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  text-overflow:clip!important;
  vertical-align:middle!important;
  color:#000!important;
  background:#fff!important;
  font:10px Tahoma,Arial,sans-serif!important;
}
.module-print-body .module-print-table th{
  background:#378486!important;
  color:#fff!important;
  text-align:center!important;
  font-weight:700!important;
}
.module-print-body .module-print-table td.module-print-center{text-align:center!important}
.module-print-empty{text-align:center!important;padding:5mm!important;color:#555!important}

@media(max-width:800px){
 .header-print{margin-left:0;padding-left:7px}
 .print-modules-menu{position:fixed;top:54px;right:8px;width:min(290px,calc(100vw - 16px))}
}


/* =========================================================
   Impresión común v44 — selector visual mejorado
   ========================================================= */
.header-print{
  margin-left:8px!important;
  padding-left:10px!important;
  border-left:1px solid #ffffff55!important;
}
header .header-print-button{
  width:auto!important;
  min-width:86px!important;
  height:30px!important;
  padding:0 13px!important;
  border:1px solid #ffffff55!important;
  border-radius:6px!important;
  background:#ffffff12!important;
  color:#fff!important;
  font:700 11px Tahoma,Arial,sans-serif!important;
  letter-spacing:.35px!important;
  line-height:28px!important;
}
header .header-print-button:hover{background:#ffffff22!important}

.print-modules-menu{
  width:330px!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid #c7d2de!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#172033!important;
  box-shadow:0 16px 40px #10243b38!important;
  font:12px Tahoma,Arial,sans-serif!important;
}
.print-menu-head{
  padding:14px 16px 12px!important;
  background:#f5f8fb!important;
  border-bottom:1px solid #dce4ec!important;
}
.print-menu-head strong{
  display:block!important;
  margin:0 0 3px!important;
  color:#172033!important;
  font:700 15px Tahoma,Arial,sans-serif!important;
}
.print-menu-head span{
  display:block!important;
  color:#6b7786!important;
  font:11px Tahoma,Arial,sans-serif!important;
}
.print-select-card{
  margin:12px 14px 10px!important;
  padding:5px 0!important;
  border:1px solid #dde5ed!important;
  border-radius:8px!important;
  background:#fff!important;
}
.print-modules-menu label{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:100%!important;
  min-height:34px!important;
  margin:0!important;
  padding:7px 12px!important;
  gap:10px!important;
  box-sizing:border-box!important;
  color:#172033!important;
  font:500 12px Tahoma,Arial,sans-serif!important;
  text-align:left!important;
  cursor:pointer!important;
}
.print-modules-menu label span{
  display:block!important;
  flex:1 1 auto!important;
  min-width:0!important;
  text-align:left!important;
  color:inherit!important;
}
.print-modules-menu input[type="checkbox"],
.print-modules-menu input[type="radio"]{
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  flex:0 0 16px!important;
  margin:0!important;
  padding:0!important;
  accent-color:#2f7de1!important;
}
.print-all-option{
  font-weight:700!important;
  background:#f8fbff!important;
  border-bottom:1px solid #e6edf4!important;
}
.print-module-options{padding:0!important}
.print-module-options label+label{border-top:1px solid #f0f3f6!important}

.print-orientation-card{
  margin:0 14px 12px!important;
  padding:10px 12px 8px!important;
  border:1px solid #dde5ed!important;
  border-radius:8px!important;
  background:#fafcff!important;
}
.print-menu-caption{
  display:block!important;
  margin:0 0 5px!important;
  color:#526173!important;
  font:700 11px Tahoma,Arial,sans-serif!important;
}
.print-orientation-options{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:6px!important;
}
.print-orientation-options label{
  min-height:30px!important;
  padding:5px 6px!important;
  border:0!important;
  border-radius:5px!important;
}
.print-menu-actions{
  display:flex!important;
  justify-content:flex-end!important;
  gap:8px!important;
  margin:0!important;
  padding:11px 14px 13px!important;
  border-top:1px solid #e1e8ef!important;
  background:#f8fafc!important;
}
header .print-menu-actions button{
  min-width:82px!important;
  height:31px!important;
  padding:0 12px!important;
  border:1px solid #c7d2de!important;
  border-radius:6px!important;
  background:#fff!important;
  color:#243447!important;
  font:700 11px Tahoma,Arial,sans-serif!important;
}
header .print-menu-actions button.primary{
  border-color:#2f7de1!important;
  background:#2f7de1!important;
  color:#fff!important;
}
header .print-menu-actions button:hover{filter:brightness(.97)!important}


/* Filtro de Fecha v45: rango Desde / Hasta */
.excel-date-range{
  padding:8px 10px 9px;
  background:#f8fbff;
  border:1px solid #dce7f2;
  border-radius:6px;
}
.excel-date-range-title{
  margin-bottom:6px;
  color:#344054;
  font-size:11px;
  font-weight:700;
}
.excel-date-range-fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.excel-date-range-fields label{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin:0;
  color:#526173;
  font-size:10px;
  font-weight:600;
}
.excel-date-range-fields input{
  width:100%;
  height:29px;
  padding:3px 5px;
  border:1px solid #b8c6d6;
  border-radius:4px;
  background:#fff;
  color:#172033;
  font:11px Tahoma,Arial,sans-serif;
}
.excel-date-range-error{
  margin-top:6px;
  color:#a52b22;
  font-size:10px;
  font-weight:600;
}


/* =========================================================
   Vista previa PDF temporal v46
   ========================================================= */
.print-paper-card{
  margin:0 14px 10px!important;
  padding:10px 12px 8px!important;
  border:1px solid #dde5ed!important;
  border-radius:8px!important;
  background:#fafcff!important;
}
.print-paper-options{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:6px!important;
}
.print-paper-options label{
  min-height:30px!important;
  padding:5px 6px!important;
  border:0!important;
  border-radius:5px!important;
}
#module-print-preview.module-print-preview{
  width:calc(100vw - 28px)!important;
  height:calc(100vh - 28px)!important;
  max-width:none!important;
  max-height:none!important;
  margin:14px!important;
  padding:0!important;
  border:0!important;
  border-radius:10px!important;
  overflow:hidden!important;
  background:#e4e9ee!important;
}
#module-print-preview::backdrop{background:#1b2633aa!important}
.module-print-preview-shell{
  width:100%!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
}
.module-print-preview-head{
  flex:0 0 auto!important;
  min-height:54px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:9px 13px!important;
  border-bottom:1px solid #c5ced8!important;
  background:#fff!important;
}
.module-print-preview-head>div{display:flex!important;flex-direction:column!important;gap:2px!important}
.module-print-preview-head strong{font:700 15px Tahoma,Arial,sans-serif!important;color:#172033!important}
.module-print-preview-head span{font:11px Tahoma,Arial,sans-serif!important;color:#65727f!important}
.module-print-preview-head button{
  width:32px!important;height:32px!important;padding:0!important;
  border:1px solid #cbd5df!important;border-radius:6px!important;
  background:#fff!important;color:#172033!important;font-size:20px!important;
}
.module-print-progress{
  flex:0 0 auto!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  padding:9px 14px!important;
  border-bottom:1px solid #cbd5df!important;
  background:#f8fafc!important;
}
.module-print-progress-bar{
  flex:1 1 auto!important;
  height:7px!important;
  border-radius:20px!important;
  overflow:hidden!important;
  background:#dce4ec!important;
}
.module-print-progress-bar span{
  display:block!important;
  width:0;
  height:100%!important;
  background:#2f7de1!important;
  transition:width .12s linear!important;
}
.module-print-progress>span{
  flex:0 0 auto!important;
  min-width:170px!important;
  color:#526173!important;
  font:11px Tahoma,Arial,sans-serif!important;
  text-align:right!important;
}
.module-print-pdf-frame{
  flex:1 1 auto!important;
  width:100%!important;
  min-height:0!important;
  border:0!important;
  background:#cfd4da!important;
}
.module-print-preview-actions{
  flex:0 0 auto!important;
  display:flex!important;
  justify-content:flex-end!important;
  gap:8px!important;
  padding:9px 13px!important;
  border-top:1px solid #c5ced8!important;
  background:#fff!important;
}
.module-print-preview-actions button{
  min-width:92px!important;
  height:32px!important;
  padding:0 14px!important;
  border-radius:6px!important;
  font:700 11px Tahoma,Arial,sans-serif!important;
}


/* =========================================================
   v47 — Encabezados adaptables al ancho de columna
   ========================================================= */
#main-table thead tr.header-row th{
  height:auto!important;
  min-height:25px!important;
  padding-top:4px!important;
  padding-bottom:4px!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  vertical-align:middle!important;
}
#main-table thead .th-header-wrap{
  height:auto!important;
  min-height:17px!important;
  align-items:center!important;
}
#main-table thead .th-label{
  min-width:0!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  line-height:13px!important;
  text-align:center!important;
}
#main-table tbody td{
  white-space:nowrap!important;
}


/* =========================================================
   v48 — Filas de datos compactas a 20 px
   Los encabezados NO se modifican.
   ========================================================= */
#main-table tbody tr{
  height:20px!important;
}
#main-table tbody td{
  height:20px!important;
  min-height:20px!important;
  padding:1px 6px!important;
  line-height:16px!important;
  font-size:11px!important;
  vertical-align:middle!important;
}

/* Rec. pedidos: Cantidad recibida se ve y se edita como la propia celda,
   sin recuadro/campo interior visible. */
#main-table tbody td .receive-input{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  height:18px!important;
  min-height:18px!important;
  margin:0!important;
  padding:0 3px!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  color:inherit!important;
  font:inherit!important;
  line-height:18px!important;
  text-align:center!important;
}
#main-table tbody td .receive-input:focus{
  outline:0!important;
  box-shadow:inset 0 0 0 1px #7fb7e6!important;
  background:transparent!important;
}

/* Evitar que controles internos obliguen a superar los 20 px de fila. */
#main-table tbody .stock-min-input{
  height:18px!important;
  min-height:18px!important;
  padding:0 4px!important;
  line-height:18px!important;
  font-size:11px!important;
}
#main-table tbody .row-actions{
  flex-wrap:nowrap!important;
  align-items:center!important;
  height:18px!important;
  gap:3px!important;
}
#main-table tbody .row-actions button{
  height:18px!important;
  min-height:18px!important;
  padding:0 5px!important;
  line-height:16px!important;
  font-size:10px!important;
  white-space:nowrap!important;
}
#main-table tbody .badge{
  padding:0 5px!important;
  line-height:16px!important;
  font-size:10px!important;
}
#main-table tbody .stock-alarm{
  padding:0 5px!important;
  line-height:16px!important;
}


/* =========================================================
   v49 — Rec. pedidos: Material con peso normal
   ========================================================= */
#main-table tbody td.material{
  font-weight:400!important;
}

/* =========================================================
   v50 — Importación de Nuevo pedido y Exportación común
   ========================================================= */
.header-export{margin-left:0!important;padding-left:0!important;border-left:0!important}
.header-export>.header-print-button{min-width:86px!important}
.export-modules-menu{right:0;left:auto}
#export-pdf-options[hidden]{display:none!important}

.pedido-import-dialog{
  width:min(1180px,calc(100vw - 28px))!important;
  max-width:none!important;
  height:min(900px,calc(100vh - 28px))!important;
  max-height:none!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:10px!important;
}
.pedido-import-shell{height:100%;display:flex;flex-direction:column;overflow:auto;background:#f4f7fa}
.pedido-import-head{position:sticky;top:0;z-index:5;padding:13px 16px;background:#fff;border-bottom:1px solid var(--line)}
.pedido-import-head h2{margin:0;font-size:18px}
.pedido-import-head p{margin:3px 0 0;font-size:11px}
.pedido-import-section{margin:10px 12px 0;padding:12px 14px;background:#fff;border:1px solid #dce4ec;border-radius:8px}
.pedido-import-section h3{margin:0 0 10px;font-size:14px;color:#1e2f41}
.pedido-import-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}
.pedido-import-row label{min-width:180px;flex:1 1 180px;margin:0;gap:4px}
.pedido-import-rule-row label:nth-child(2){flex:2 1 320px}
.pedido-import-rule-row label:nth-child(3){flex:1 1 210px}
.pedido-import-row input,.pedido-import-row select{height:31px;padding:4px 7px;font-size:12px}
.pedido-import-row button{height:31px;padding:0 10px;font-size:11px}
.pedido-import-note{color:#687586;font-size:11px;margin:4px 0 0}
.pedido-import-table-wrap{margin-top:9px;max-height:230px;overflow:auto;border:1px solid #dde5ed;border-radius:6px;background:#fff}
.pedido-import-table-wrap table{width:100%;min-width:680px;white-space:nowrap}
.pedido-import-table-wrap th,.pedido-import-table-wrap td{padding:5px 7px;height:27px;font:11px Tahoma,Arial,sans-serif}
.pedido-import-table-wrap th{background:#378486;color:#fff;text-align:center}
.pedido-import-table-wrap td{background:#fff;color:#111}
.pedido-import-table-wrap button{height:22px;padding:0 7px;font-size:10px}
.pedido-import-preview-section{margin-bottom:10px}
.pedido-import-actions{position:sticky;bottom:0;z-index:5;display:flex;justify-content:flex-end;gap:8px;padding:10px 14px;border-top:1px solid #ccd6df;background:#fff}
.pedido-import-actions button{min-width:110px;height:32px;padding:0 12px;font-size:11px}
#pedido-import-error{margin:0;padding:0 14px 10px;background:#fff;min-height:0}
#pedido-import-preview-result table{min-width:900px}
#pedido-import-preview-result .preview-empty{padding:14px;text-align:center;color:#687586}

@media(max-width:800px){
 .pedido-import-dialog{width:100vw!important;height:100vh!important;margin:0!important;border-radius:0!important}
}


/* v52 — confirmación visual tras importar líneas en Nuevo pedido */
#pedido-dialog-state{
  min-height:14px;
}


/* v57 — acciones de reglas de importación */
.import-rule-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  flex-wrap:nowrap;
}
.import-rule-actions button{
  white-space:nowrap;
}

/* v59 — gestión de obras */
.obra-switcher{display:flex;align-items:center;gap:5px;min-width:0;max-width:310px}
.obra-switcher select{height:31px;min-width:140px;max-width:220px;padding:4px 28px 4px 8px;border:1px solid #ffffff45;border-radius:6px;background:#ffffff12;color:#fff;font-size:11px;font-weight:700}
.obra-switcher select option{color:#172033;background:#fff}
header #manage-obras{height:31px;padding:0 8px;border:1px solid #ffffff35;border-radius:6px;background:#ffffff10;font-size:10px;letter-spacing:.4px}
.obras-dialog{width:min(920px,calc(100vw - 24px));max-width:none}
.obras-dialog .dialog-head{align-items:flex-start;gap:18px}
.obras-dialog .dialog-head h2{margin-bottom:3px}
.obras-dialog .dialog-head p{margin:0;max-width:680px;font-size:12px}
#obra-form{margin-top:18px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#f8fafc}
#obra-form label{margin-bottom:0}
.obra-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}
.obras-list-head{display:flex;justify-content:space-between;align-items:end;gap:10px;margin:18px 0 7px}
.obras-list-head span{font-size:11px;color:var(--muted)}
.obras-table-wrap{max-height:48vh;overflow:auto;border:1px solid var(--line);border-radius:7px}
.obras-table{min-width:690px}
.obras-table th,.obras-table td{padding:7px 8px;font-size:11px}
.obras-table td:last-child{white-space:normal}
.obras-actions{display:flex;gap:5px;flex-wrap:wrap}
.obras-actions button{padding:4px 7px;font-size:10px}
.obra-status{display:inline-block;padding:2px 7px;border-radius:20px;font-weight:700}
.obra-status.active{background:#e6f5ec;color:#12703c}
.obra-status.archived{background:#edf0f3;color:#5e6875}
.obra-current{font-weight:700}
@media(max-width:980px){.obra-switcher{order:2;max-width:none;flex:1}.obra-switcher select{max-width:none;flex:1}nav{order:3;flex-basis:100%}}
@media(max-width:800px){.obras-dialog{width:100vw!important;height:100vh!important;max-height:none!important;margin:0!important;border-radius:0!important}.obras-dialog .form-grid{grid-template-columns:1fr}.obras-list-head{align-items:flex-start;flex-direction:column}.obra-switcher{order:2;flex-basis:100%}nav{order:3}}
.obra-pending{display:inline-block;margin-left:4px;padding:2px 6px;border-radius:20px;background:#fff4cf;color:#76520a;font-size:9px;font-weight:700}

/* v60 — usuarios y dispositivos */
.obra-switcher{max-width:430px}
header #manage-users{height:31px;padding:0 8px;border:1px solid #ffffff35;border-radius:6px;background:#ffffff10;font-size:10px;letter-spacing:.4px}
.users-dialog{width:min(1120px,calc(100vw - 24px));max-width:none}
.users-dialog .dialog-head{align-items:flex-start;gap:18px}
.users-dialog .dialog-head h2{margin-bottom:3px}
.users-dialog .dialog-head p{margin:0;max-width:760px;font-size:12px}
#user-form{margin-top:18px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#f8fafc}
.user-main-grid{grid-template-columns:1.3fr 1fr 1.2fr}
.user-flags{display:flex;gap:18px;align-items:center;margin:10px 0 8px}
.user-flags label{display:flex;align-items:center;gap:6px;margin:0;font-size:11px;font-weight:700}
#user-obras-fieldset{margin:8px 0 0;padding:10px 12px;border:1px solid var(--line);border-radius:7px;background:#fff}
#user-obras-fieldset legend{padding:0 5px;font-size:11px;font-weight:700}
#user-obras-fieldset small{display:block;margin-top:7px;color:var(--muted)}
.user-obras-options{display:flex;flex-wrap:wrap;gap:7px 12px}
.user-obras-options label{display:flex;align-items:center;gap:5px;margin:0;font-size:11px;font-weight:400}
.users-section-head{display:flex;justify-content:space-between;align-items:end;gap:10px;margin:18px 0 7px}
.users-section-head span{font-size:11px;color:var(--muted)}
.devices-head{margin-top:20px}
.users-table-wrap{max-height:28vh;overflow:auto;border:1px solid var(--line);border-radius:7px}
.users-table{min-width:860px}
.users-table th,.users-table td{padding:7px 8px;font-size:11px}
.users-table td:last-child{white-space:normal}
.users-actions{display:flex;gap:5px;flex-wrap:wrap}
.users-actions button{padding:4px 7px;font-size:10px}
.user-role,.user-state,.device-state{display:inline-block;padding:2px 7px;border-radius:20px;font-weight:700}
.user-role.admin{background:#e7efff;color:#234a98}
.user-role.user{background:#eef1f4;color:#52606d}
.user-state.active,.device-state.active{background:#e6f5ec;color:#12703c}
.user-state.inactive,.device-state.inactive{background:#fbe9e9;color:#9a2b2b}
.device-current{font-weight:700;color:#12703c}
@media(max-width:800px){
 .users-dialog{width:100vw!important;height:100vh!important;max-height:none!important;margin:0!important;border-radius:0!important}
 .user-main-grid{grid-template-columns:1fr}
 .users-section-head{align-items:flex-start;flex-direction:column}
 .users-table-wrap{max-height:30vh}
}

/* v61 · permisos por módulo y obra */
.user-permissions-wrap{overflow:auto;border:1px solid var(--line);border-radius:7px;background:#fff}
.user-permissions-table{width:100%;min-width:980px;border-collapse:collapse}
.user-permissions-table th,.user-permissions-table td{padding:6px 7px;border-bottom:1px solid var(--line);font-size:10px;vertical-align:middle}
.user-permissions-table th{position:sticky;top:0;z-index:1;background:#eef4f7;color:#000!important;text-align:center;white-space:nowrap}
.user-permissions-table th:first-child,.user-permissions-table td:first-child{text-align:left;min-width:190px}
.user-permissions-table select{width:100%;min-width:132px;padding:5px 6px;font:10px Tahoma,Arial,sans-serif}
.permission-work{display:flex!important;align-items:center;gap:6px;margin:0!important;font-weight:700!important}
#user-obras-fieldset:disabled .user-permissions-table{opacity:.62}
@media(max-width:800px){.user-permissions-table{min-width:920px}}

/* v62 · Copias de seguridad y restauración */
.backups-dialog{width:min(980px,calc(100vw - 24px));max-width:none}
.backups-dialog .dialog-head{align-items:flex-start;gap:18px}
.backups-dialog .dialog-head h2{margin-bottom:3px}
.backups-dialog .dialog-head p{margin:0;max-width:720px;font-size:12px}
.backups-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:18px 0 12px}
.backups-toolbar>div{display:flex;flex-direction:column;gap:4px}
.backups-toolbar span{color:var(--muted);font-size:12px;max-width:700px;line-height:1.45}
.backups-table-wrap{max-height:48vh;overflow:auto;border:1px solid var(--line);border-radius:7px}
.backups-table{min-width:760px}
.backups-table th,.backups-table td{padding:8px 9px;font-size:11px}
.backups-table td:last-child{white-space:normal}
.backup-type{display:inline-block;padding:4px 8px;border-radius:20px;font-weight:700;background:#eef3f8;color:#334155}
.backup-type.auto{background:#e7f3ff;color:#155f9b}.backup-type.manual{background:#e7f6ed;color:#17683d}.backup-type.pre_restore{background:#fff0dc;color:#8b4e09}
.backups-warning{margin:12px 0 0;padding:10px 12px;border:1px solid #ecd5a8;background:#fff9e9;border-radius:7px;color:#6f4d13;font-size:12px}
@media(max-width:800px){.backups-dialog{width:100vw!important;height:100vh!important;max-height:none!important;margin:0!important;border-radius:0!important}.backups-toolbar{flex-direction:column}.backups-toolbar button{width:100%}}

/* ObraStock 1.0 — distribución final de la barra superior */
header #manage-obras,
header #manage-users,
header #manage-backups{
  height:31px;
  padding:0 8px;
  border:1px solid #ffffff35;
  border-radius:6px;
  background:#ffffff10;
  color:#eef5fb;
  font-size:10px;
  letter-spacing:.4px;
}
header #manage-obras:hover,
header #manage-users:hover,
header #manage-backups:hover{background:#ffffff20}

/* Los módulos forman el bloque izquierdo; obra y administración quedan a la derecha,
   inmediatamente antes de Imprimir/Exportar. */
header nav{min-width:0}
header .obra-switcher{flex:0 0 auto;margin-left:auto}

@media(max-width:980px){
  header nav{order:3;flex:1 1 100%;margin-left:0}
  header .obra-switcher{order:2;flex:1 1 auto;margin-left:auto;max-width:none}
  header .obra-switcher select{max-width:none;flex:1}
}
@media(max-width:800px){
  header nav{order:3;flex-basis:100%;margin-left:0}
  header .obra-switcher{order:2;flex:1 1 100%;margin-left:0}
}

