*{box-sizing:border-box}body{margin:0;background:#0e1518;color:#f2f7f7;font-family:Arial,sans-serif}header{padding:16px 18px;background:#111a1e;position:sticky;top:0;z-index:3;border-bottom:1px solid #253238}.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px}.brandrow{display:flex;gap:12px;align-items:center}.iconbtn{font-size:25px;color:#fff;background:none;border:0}.topbar h1{margin:0;font-size:22px}.topbar p{margin:3px 0;color:#829296;font-size:12px}.primary{background:#111111;color:#071112;border:0;border-radius:11px;padding:11px 14px;font-weight:800;cursor:pointer}.toolbar{display:flex;gap:10px;margin:16px 0}.toolbar input,.toolbar select,.grid input,.grid select,textarea,label>input{width:100%;padding:12px;border:1px solid #2c3b40;border-radius:10px;background:#131d21;color:#fff;font-size:15px}.toolbar input{flex:1}.hero,.panel{background:#121c20;border:1px solid #111111;border-radius:15px;padding:18px;margin:16px 0;box-shadow:0 4px 18px #0004}.hero{display:flex;justify-content:space-between;align-items:center}.hero h2{font-size:31px;color:#111111;margin:5px 0}.hero p{color:#b7c2c5;max-width:430px}.eyebrow,h3{color:#111111;font-weight:800;letter-spacing:.08em}.heroIcon{font-size:85px;color:#111111}.quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.quick button{overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#121c20;border:1px solid #111111;border-radius:13px;color:#fff;padding:17px 10px;min-height:120px;cursor:pointer}.quick button:first-letter{color:#111111}.quick b,.quick small{display:block;margin-top:8px}.quick small{color:#89979a}.cards{display:grid;gap:10px}.card{background:#121c20;border:1px solid #111111;border-radius:13px;padding:15px;cursor:pointer}.cardtop{display:flex;justify-content:space-between;gap:10px}.folio{color:#111111;font-weight:800}.meta,.hint{color:#555555;font-size:13px}.badge{padding:5px 9px;border-radius:99px;background:#20302f;color:#67d6c1;font-size:12px}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:12px}label{display:block;font-size:12px;color:#b6c1c3;font-weight:700;margin-bottom:12px}label input,label select,textarea{margin-top:6px;font-weight:400}h2{margin-top:0}.preview,.detailImage{max-width:100%;max-height:420px;display:block;margin:12px auto;border-radius:12px}.sep{display:grid;grid-template-columns:50px 1fr 1fr 1fr 42px;gap:8px;align-items:end;background:#ffffff;border:1px solid #111111;border-radius:11px;padding:10px;margin:8px 0}.sepNo{color:#111111;font-size:22px;font-weight:800;padding-bottom:10px}.sep input{padding:10px;border:1px solid #334247;border-radius:8px;background:#ffffff;color:#fff;width:100%}.remove{background:#381d20;color:#ff8e8e;border:0;border-radius:8px;padding:9px}.actions{display:flex;gap:10px;margin-top:16px}.actions button,.back,#addSep{padding:11px 14px;border:1px solid #111111;background:#ffffff;color:#fff;border-radius:9px;cursor:pointer}.back{background:none;border:0;margin:8px 0}.detailGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.detailItem{background:#ffffff;padding:12px;border-radius:9px}.detailItem b{display:block;color:#7e8c90;font-size:11px;margin-bottom:5px}.sepView{display:flex;gap:8px;overflow:auto;padding-bottom:5px}.sepCard{min-width:125px;background:#ffffff;border-radius:9px;padding:10px;border:1px solid #111111}.sepCard strong{display:block;color:#111111}.paygrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pay{background:#ffffff;padding:13px;border-radius:10px}.pay b{display:block;color:#111111;font-size:20px;margin-top:5px}footer{text-align:center;padding:30px 10px;color:#a8b4b6;border-top:1px solid #1d292d;margin-top:30px}footer img{width:110px;height:110px;object-fit:contain;display:block;margin:0 auto 12px}footer strong{color:#111111}.empty{text-align:center;padding:40px;color:#768487}main{max-width:920px;margin:auto;padding:0 15px 30px}@media(max-width:700px){.quick{grid-template-columns:repeat(2,1fr);gap:8px}.quick button{min-height:92px;padding:12px 6px}.quick b{font-size:14px}.quick small{font-size:11px}.grid,.detailGrid,.paygrid{grid-template-columns:1fr}.sep{grid-template-columns:35px 1fr 1fr 38px}.sep label:nth-child(4){display:none}.topbar{align-items:flex-start;flex-direction:column}.primary{width:100%}}
.headerActions{display:flex;gap:8px;flex-wrap:wrap}.secondary{background:#ffffff;color:#fff;border:1px solid #111111;border-radius:10px;padding:10px 12px;font-weight:700;cursor:pointer}.fixed-credit{margin-top:18px;padding:16px;text-align:center;border:1px solid #111111;border-radius:12px;background:#ffffff}.fixed-credit img{width:95px;height:auto;display:block;margin:0 auto 8px}.fixed-credit div{color:#aab5b8;font-size:13px}.fixed-credit strong{color:#111111}.fixed-credit small{display:block;color:#6f7c7f;margin-top:8px}@media(max-width:700px){.headerActions{width:100%}.headerActions button{flex:1}}


.setupOverlay{position:fixed;inset:0;background:rgba(0,0,0,.82);display:flex;align-items:center;justify-content:center;padding:20px;z-index:9999}
.setupOverlay[hidden]{display:none}
.setupCard{width:min(440px,100%);background:#ffffff;border:1px solid #2d3b40;border-radius:18px;padding:24px;box-shadow:0 20px 60px rgba(0,0,0,.45)}
.setupBrand{font-weight:800;letter-spacing:1px;color:#111111;font-size:14px}
.setupCard h2{margin:6px 0 4px;font-size:26px}
.setupCard p{color:#9aa5a8;margin:0 0 18px}
.setupCard label{display:block;margin:12px 0;font-weight:600}
.setupCard label span{font-weight:400;color:#7e898c;font-size:12px}
.setupCard input{display:block;width:100%;box-sizing:border-box;margin-top:7px;padding:12px;border-radius:10px;border:1px solid #334247;background:#ffffff;color:#fff}
.setupLogoPreview{display:block;max-width:130px;max-height:90px;margin:10px auto;border-radius:8px}
.setupCard .primary{width:100%;margin-top:12px}

.settingsTabs{display:flex;gap:8px;margin:0 0 18px}.settingsTab{flex:1;padding:11px;border-radius:10px;border:1px solid #334247;background:#ffffff;color:#fff;font-weight:700}.settingsTab.active{background:#111111;border-color:#111111;color:#ffffff}.usersList{margin-top:18px;display:grid;gap:8px}.userItem{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border:1px solid #111111;border-radius:10px;background:#ffffff}.userItem strong{display:block}.userItem small{color:#9aa5a8}.userItem button{padding:8px 10px;border-radius:8px;border:1px solid #334247;background:#ffffff;color:#fff}


@media print{
  @page{size:A4;margin:12mm}
  body{background:#fff!important;color:#111!important;font-family:Arial,sans-serif}
  header,#listView,#formView,#settingsView,.back,.actions{display:none!important}
  main{max-width:none!important;padding:0!important;margin:0!important}
  #detailView{display:block!important}
  #detailView .panel{background:#fff!important;color:#111!important;border:1px solid #bbb!important;box-shadow:none!important;margin:0 0 10px!important;break-inside:avoid}
  #detailView h2,#detailView h3{color:#111!important}
  #detailView .folio{color:#111!important}
  #detailView .badge{background:#eee!important;color:#111!important}
  #detailView .detailItem,#detailView .sepCard{background:#f7f7f7!important;color:#111!important;border:1px solid #ddd!important}
  #detailView .detailItem b,.meta,.hint{color:#555!important}
  #detailView .sepView{overflow:visible!important;flex-wrap:wrap}
  #detailView .detailImage{max-height:260px!important}
}

.welcomeUser{display:flex;align-items:center;gap:14px;min-width:0}.welcomeLogo{width:64px;height:64px;object-fit:contain;border-radius:10px;border:1px solid #111111;background:#0e1518;padding:5px}.welcomeRole{color:#555555;font-size:14px;font-weight:700;margin-top:-1px}.headerActions{justify-content:flex-end}.headerActions .primary{width:auto}@media(max-width:700px){.headerActions{width:100%}.headerActions button{flex:1}.welcomeLogo{width:58px;height:58px}}

.welcomeUser{display:flex;align-items:center;gap:10px}.welcomeUserLogo{width:42px;height:42px;border-radius:10px;object-fit:contain;border:1px solid #111111;background:#ffffff}

.sideMenu{position:fixed;top:0;left:0;width:min(320px,82vw);height:100vh;background:#ffffff;border-right:1px solid #111111;box-shadow:12px 0 35px rgba(0,0,0,.5);z-index:10000;padding:24px;box-sizing:border-box}.sideMenu[hidden]{display:none}.menuClose{float:right;background:none;border:0;color:#fff;font-size:30px}.sideMenu h3{margin-top:45px}.menuItem{width:100%;padding:14px;text-align:left;background:#ffffff;color:#fff;border:1px solid #111111;border-radius:10px;font-weight:700}

.sideMenu{position:fixed;top:0;left:0;width:min(320px,82vw);height:100vh;background:#ffffff;border-right:1px solid #111111;box-shadow:12px 0 35px rgba(0,0,0,.5);z-index:10000;padding:20px;box-sizing:border-box}.sideMenu[hidden]{display:none}.sideMenuHead{display:flex;justify-content:space-between;align-items:center;color:#fff;font-size:20px;margin-bottom:20px}.sideMenuHead button{background:none;border:0;color:#fff;font-size:30px}.menuItem{width:100%;padding:14px;text-align:left;background:#ffffff;color:#fff;border:1px solid #111111;border-radius:10px;font-weight:700}.welcomeUser{display:flex;align-items:center;gap:10px}.welcomeLogo{width:46px;height:46px;border-radius:10px;object-fit:contain;border:1px solid #111111;background:#ffffff}.settingsTabs{display:flex;gap:8px;margin-bottom:18px}.settingsTab{flex:1;padding:11px;border-radius:10px;border:1px solid #111111;background:#ffffff;color:#fff;font-weight:700}.settingsTab.active{background:#111111;color:#ffffff}.usersList{display:grid;gap:8px;margin-top:16px}.userItem{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#ffffff;border:1px solid #111111;border-radius:10px}.userItem button{padding:8px 12px;border-radius:8px;border:1px solid #111111;background:#ffffff;color:#fff}

/* V13 — MINIMALISTA FORMAL */
:root{--bg:#fff;--text:#171a1b;--muted:#687174;--line:#e3e7e8;--accent:#111111}
html,body{background:#fff!important;color:var(--text)!important}
body{font-family:Inter,Segoe UI,Arial,sans-serif}
.topbar{background:#fff!important;border-bottom:1px solid var(--line)!important;box-shadow:none!important}
.topbar h1,.topbar p{color:var(--text)!important}.topbar p{color:var(--muted)!important}
.iconbtn{background:#fff!important;color:#171a1b!important;border:1px solid var(--line)!important}
.panel,.card,.orderCard,.hero,.statCard{background:#fff!important;border:1px solid var(--line)!important;box-shadow:0 4px 18px rgba(20,30,30,.05)!important}
.primary{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}
input,select,textarea{background:#fff!important;color:#171a1b!important;border:1px solid #d7ddde!important}
.hint,.muted{color:var(--muted)!important}
.sideMenu{background:#fff!important;color:var(--text)!important;border-right:1px solid var(--line)!important;box-shadow:12px 0 30px rgba(0,0,0,.08)!important}
.sideMenuHead,.sideMenuHead button{color:var(--text)!important}
.menuItem,.settingsTab{background:#fff!important;color:var(--text)!important;border:1px solid var(--line)!important}
.settingsTab.active{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important}
.fixed-credit{background:#fafbfb!important;border:1px solid var(--line)!important}
.fixed-credit div{color:var(--muted)!important}.fixed-credit strong{color:#248a79!important}
.welcomeUser{display:flex;align-items:center;gap:18px;margin:8px 0 20px}
.welcomeLogo{width:96px!important;height:96px!important;border-radius:18px!important;border:1px solid var(--line)!important;background:#fff!important;object-fit:contain!important;padding:6px;box-shadow:0 4px 16px rgba(20,30,30,.07)}
.welcomeUser h2{font-size:34px!important;line-height:1.08!important;font-weight:700!important;letter-spacing:-.7px;color:#111!important;margin:0}
.syncNotice{margin:18px 0;padding:14px 16px;border:1px solid #dfe5e5;border-radius:12px;background:#f8faf9;display:grid;gap:4px}.syncNotice span{font-size:13px;color:var(--muted)}.syncNotice strong{font-size:14px}
@media(max-width:700px){.welcomeLogo{width:78px!important;height:78px!important}.welcomeUser h2{font-size:28px!important}}

/* V14 — MINIMALISTA MONOCROMATICO */
html,body{background:#fff!important;color:#111!important}
body{font-family:Arial,Helvetica,sans-serif!important}
.topbar,header{background:#fff!important;color:#111!important;border-bottom:1px solid #000!important;box-shadow:none!important}
.topbar h1,.topbar p,.brandrow,.iconbtn{color:#111!important}
.iconbtn{background:#fff!important;border:0!important}
.primary{background:#111!important;color:#fff!important;border:1px solid #111!important}
.hero,.panel,.card,.quick button,.toolbar input,.toolbar select,.grid input,.grid select,textarea,.sep,.detailItem,.sepCard,.userItem,.settingsTab,.fixed-credit{background:#fff!important;color:#111!important;border:1px solid #000!important;box-shadow:none!important}
.hero{display:block!important}
.welcomeUser{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px!important}
.welcomeText{flex:1!important}
.welcomeGreeting{font-size:18px!important;font-weight:400!important;color:#111!important;margin-bottom:4px!important}
.welcomeUser h2{font-size:32px!important;line-height:1.1!important;font-weight:700!important;color:#111!important;margin:0!important}
.welcomeUser p{color:#444!important}
.welcomeLogo{order:2!important;flex:0 0 auto!important;width:125px!important;height:125px!important;object-fit:contain!important;border:2px solid #000!important;border-radius:14px!important;background:#fff!important;padding:6px!important}
.heroIcon,.eyebrow,h3,.folio,.sepNo,.sepCard strong,.pay b,.fixed-credit strong{color:#111!important}
.badge{background:#fff!important;color:#111!important;border:1px solid #000!important}
.quick button:first-letter{color:#111!important}
.sideMenu{background:#fff!important;color:#111!important;border-right:1px solid #000!important;box-shadow:8px 0 25px rgba(0,0,0,.15)!important}
.sideMenuHead,.sideMenuHead button,.menuItem{color:#111!important;background:#fff!important;border-color:#000!important}
.settingsTab.active{background:#111!important;color:#fff!important;border-color:#111!important}
.actions button,.back,#addSep{background:#fff!important;color:#111!important;border-color:#000!important}
.actions .primary{background:#111!important;color:#fff!important}
.sep input{background:#fff!important;color:#111!important;border-color:#000!important}
.remove{background:#fff!important;color:#111!important;border:1px solid #000!important}
@media(max-width:700px){.welcomeLogo{width:100px!important;height:100px!important}.welcomeUser h2{font-size:28px!important}.welcomeGreeting{font-size:17px!important}}

/* V15 — INICIO COMPACTO: TODAS LAS OPCIONES VISIBLES */
.heroIcon{display:none!important}
.hero{padding:14px!important;margin:10px 0!important}
.welcomeUser{min-height:116px!important;margin:0!important}
.welcomeGreeting{font-size:17px!important}
.welcomeUser h2{font-size:30px!important}
.welcomeUser p{font-size:16px!important;line-height:1.25!important;margin:8px 0 0!important;max-width:250px!important}
.welcomeLogo{width:108px!important;height:108px!important;border:2px solid #000!important}
.toolbar{margin:10px 0!important;gap:8px!important}
.toolbar input,.toolbar select{padding:10px!important;height:44px!important}
.quick{grid-template-columns:repeat(2,1fr)!important;gap:7px!important}
.quick button{min-height:78px!important;padding:8px 5px!important;border:1px solid #000!important}
.quick b{font-size:14px!important;margin-top:4px!important}
.quick small{font-size:10px!important;margin-top:3px!important;color:#444!important}
h3{margin:10px 0 6px!important}
@media(max-width:700px){
  main{padding:0 9px 18px!important}
  .topbar{padding:10px 12px!important}
  .topbar h1{font-size:21px!important}
  .topbar p{font-size:11px!important}
  .hero{margin:8px 0!important}
  .welcomeLogo{width:92px!important;height:92px!important}
  .welcomeUser h2{font-size:27px!important}
  .welcomeUser p{font-size:15px!important}
  .quick button{min-height:74px!important}
}

/* V16: eliminar buscador innecesario */
.toolbar{grid-template-columns:1fr!important}.toolbar #statusFilter{width:100%!important}

/* V18: separación simplificada */
.sep{grid-template-columns:42px 1fr 1fr 42px!important}

/* V26 — Cotizador de serigrafía */
.quoteColors{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0 14px}
.quoteColor{padding:12px 18px;border:1px solid #111;background:#fff;color:#111;border-radius:10px;font-weight:700;cursor:pointer}
.quoteColor.active{background:#111;color:#fff}
#quoteOtherColor{width:100%;padding:12px;border:1px solid #111;border-radius:10px;margin-bottom:12px;background:#fff;color:#111}
.quoteTotal{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding:16px;border-top:2px solid #111;font-size:18px}
.quoteTotal strong{font-size:28px;color:#111}
@media(max-width:700px){.quoteColors{display:grid;grid-template-columns:1fr 1fr}.quoteColor{width:100%}.quoteTotal{gap:12px;flex-wrap:wrap}}

.syncStatus{font-size:12px;color:#555;margin-right:10px;white-space:nowrap}.syncStatus[title^="Sin conexión"]{color:#b00020}

/* V32 — diseño corregido: blanco/negro, sin verde */
body{background:#fff!important;color:#111!important}
button,input,select,textarea{font-family:Arial,sans-serif}
.welcomeUser{color:#111!important;font-size:16px!important;font-weight:400!important}
.welcomeName{color:#111!important;font-size:32px!important;font-weight:700!important;line-height:1.1!important}
.welcomeLogo{border:1px solid #111!important;background:#fff!important}
.welcomeCard{background:#fff!important;color:#111!important;border:1px solid #111!important}
.welcomeCard *{color:inherit}
.welcomeRole{color:#111!important}
.sideMenu,.panel,.menuItem,.userItem button,.settingsTab,.settingsTab.active{background:#fff!important;color:#111!important;border-color:#111!important}
.headerActions .primary,.primary{background:#111!important;color:#fff!important;border-color:#111!important}
.quoteColor{background:#fff!important;color:#111!important;border-color:#111!important}
.quoteColor.active{background:#111!important;color:#fff!important}
input,select,textarea{background:#fff!important;color:#111!important;border-color:#111!important}
.syncStatus{color:#555!important}

.costGarment{margin:18px 0;padding:14px;border:1px solid var(--border,#ddd);border-radius:12px}.costGarment h3{margin:0 0 12px}.subpanel{margin:10px 0;padding:10px;border-radius:10px;background:rgba(127,127,127,.08)}.subpanel h4{margin:0 0 8px}

/* Campos de precio compactos */
#textileCostsPanel input[type="number"],
#inkCostsPanel input[type="number"],
#designCostsPanel input[type="number"]{
  width:110px;
  max-width:110px;
  box-sizing:border-box;
}
#textileCostsPanel .grid{
  grid-template-columns:repeat(7,minmax(110px,1fr));
  gap:10px;
}
#textileCostsPanel .subpanel label{
  font-size:.85rem;
}

/* COSTOS DE TEXTIL — distribución según muestra */
#textileCostsPanel .costGarment{
  padding:12px 14px;
  margin:12px 0;
}
#textileCostsPanel .costGarment h3{
  font-size:1.15rem;
  margin:0 0 10px;
}
#textileCostsPanel .subpanel{
  background:transparent;
  padding:0;
  margin:8px 0 12px;
}
#textileCostsPanel .subpanel h4{
  display:inline-block;
  width:72px;
  margin:0;
  vertical-align:top;
  font-size:.82rem;
}
#textileCostsPanel .subpanel .grid{
  display:grid;
  grid-template-columns:repeat(7, 72px);
  column-gap:20px;
  row-gap:5px;
  margin-left:78px;
  margin-top:-18px;
}
#textileCostsPanel .subpanel label{
  display:flex;
  flex-direction:column;
  gap:3px;
  font-size:.70rem;
  color:#68727d;
}
#textileCostsPanel .subpanel input[type="number"]{
  width:58px !important;
  max-width:58px !important;
  height:22px;
  min-height:22px;
  padding:2px 5px;
  font-size:.72rem;
  box-sizing:border-box;
}

/* Ajuste definitivo de tamaño de casillas */
#textileCostsPanel .subpanel .grid{
  grid-template-columns:repeat(7, 72px) !important;
  grid-auto-columns:72px;
}
#textileCostsPanel .subpanel input[type="number"]{
  width:58px !important;
  max-width:58px !important;
  min-width:58px !important;
  height:24px !important;
  min-height:24px !important;
  padding:2px 5px !important;
  font-size:12px !important;
}
#textileCostsPanel .subpanel label{
  width:58px !important;
}
.quoteSizes{
  grid-column:1 / -1;
  margin-top:8px;
}
.quoteSizes h4{
  margin:0 0 10px;
}
.quoteSizeGrid{
  display:grid;
  grid-template-columns:repeat(7, 62px);
  gap:18px;
  align-items:end;
}
.quoteSizeGrid label{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  font-size:.8rem;
}
.quoteSizeGrid input{
  width:52px !important;
  max-width:52px !important;
  height:28px !important;
  padding:3px 5px !important;
  text-align:center;
}

/* Resumen de cotización */
.quoteSummaryTable{width:100%;border:1px solid #ddd;border-radius:10px;overflow:hidden}
.quoteSummaryTable .qrow{display:grid;grid-template-columns:1.1fr 2.3fr 1fr 1fr;gap:10px;padding:9px 12px;border-bottom:1px solid #e5e5e5;align-items:center}
.quoteSummaryTable .qrow:last-child{border-bottom:0}
.quoteSummaryTable .qhead{font-weight:700;background:rgba(127,127,127,.10)}
.quoteSummaryMeta{display:flex;justify-content:space-between;margin-top:10px;font-size:.9rem}
.quoteSummaryEmpty{padding:16px;border:1px dashed #ccc;border-radius:10px;color:#777}

/* Opciones de diseño: controles grandes y cómodos */
.quoteDesignBlock{margin-top:18px}
.quoteDesignOptions{
  display:grid;
  grid-template-columns:repeat(3,minmax(180px,1fr));
  gap:14px;
  margin-top:14px;
  padding:14px;
  border:1px solid #ddd;
  border-radius:10px;
}
.designOption{
  display:flex !important;
  flex-direction:column;
  gap:10px;
  padding:12px;
  border:1px solid #ddd;
  border-radius:9px;
  background:#fff;
}
.optionTitle{
  display:flex;
  align-items:center;
  gap:9px;
  font-weight:600;
}
.designOption input[type="checkbox"]{
  width:20px !important;
  height:20px !important;
  min-width:20px !important;
  margin:0;
  accent-color:#111;
}
.designOption input[type="number"]{
  width:100% !important;
  max-width:none !important;
  min-height:42px;
  box-sizing:border-box;
}
.designImageBox{
  grid-column:1/-1;
  border-top:1px solid #ddd;
  padding-top:14px;
}
.designImageBox input[type="file"]{width:100%;box-sizing:border-box}
#quoteDesignImagePreviewWrap{
  margin-top:12px;
  padding:10px;
  border:1px solid #ddd;
  border-radius:8px;
}
#quoteDesignImagePreview{
  display:block;
  max-width:420px;
  max-height:260px;
  object-fit:contain;
  margin-bottom:10px;
}
@media(max-width:800px){
  .quoteDesignOptions{grid-template-columns:1fr}
}

/* SOLO VISUAL: casillas de selección grandes */
#quoteDesignOptions .designOption{
  display:flex !important;
  flex-direction:column !important;
  gap:12px !important;
  padding:16px !important;
  min-height:105px !important;
  border:1px solid #ddd !important;
  border-radius:10px !important;
  background:#fff !important;
}
#quoteDesignOptions .optionTitle{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  font-weight:600 !important;
}
#quoteDesignOptions .designOption input[type="checkbox"]{
  display:inline-block !important;
  appearance:auto !important;
  -webkit-appearance:auto !important;
  width:30px !important;
  height:30px !important;
  min-width:30px !important;
  min-height:30px !important;
  margin:0 !important;
  padding:0 !important;
  cursor:pointer !important;
  accent-color:#111 !important;
}
#quoteDesignOptions .designOption input[type="number"]{
  width:100% !important;
  max-width:none !important;
  min-height:42px !important;
  box-sizing:border-box !important;
}

/* Muestra del diseño en la cotización */
.designImageBox{margin-top:12px}
#quoteDesignImagePreviewWrap{margin-top:10px}
#quoteDesignImagePreview{display:block;max-width:280px;max-height:280px;width:auto;height:auto;object-fit:contain;border:1px solid #ccc;border-radius:8px}

.sideMenuSectionTitle{
  padding:18px 18px 10px;
  font-weight:700;
  font-size:14px;
  color:inherit;
}
.sideMenu .menuItem{
  display:block;
  width:calc(100% - 20px);
  margin:7px 10px;
  padding:14px 12px;
  border:1px solid currentColor;
  border-radius:18px;
  background:transparent;
  font:inherit;
  font-size:16px;
  text-align:left;
  cursor:pointer;
}

/* V44: navegación principal, fechas y registros */
.headerCenter{position:absolute;left:50%;transform:translateX(-50%);top:50%;transform:translate(-50%,-50%);z-index:2}
.homeBtn{background:#ffe5a8;color:#111;border:0;border-radius:24px;padding:9px 24px;font-weight:800;font-size:11px;line-height:1.05;cursor:pointer}
.todayDate{font-weight:700;font-size:13px;white-space:nowrap;color:#111}
.recordTabs{display:none!important}
.recordTab{display:none!important}
.recordTab.active{background:#111;color:#fff}
.sideMenuSectionTitle{font-weight:700;font-size:14px;color:#111;padding:10px 12px 8px}
.sideMenu .menuItem{margin:6px 0;border-radius:18px;text-align:left;background:#fff;color:#111;border:1px solid #111}
@media(max-width:900px){.headerCenter{position:static;transform:none;order:2}.topbar{position:relative}.headerActions{order:3}.todayDate{display:none}}

/* V45: el menú lateral es la única navegación de Configuración. */
.settingsTabs{display:none!important}
.settingsSectionTitle{font-size:30px;font-weight:800;margin:8px 0 20px;color:#111}
.sideMenu,.sideMenuHead{color:#111!important}
.sideMenuHead button{color:#111!important}
.menuItem{color:#111!important;background:#fff!important;border:1px solid #111!important;border-radius:18px!important;font-weight:600!important}
.menuItem.active{background:#ffe3a3!important;border-color:#111!important;color:#111!important}

/* V47: Registros en dos columnas simultáneas: Cotizaciones | Órdenes de Trabajo */
.recordsColumns{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:18px;
  align-items:start;
  margin:10px 0 24px;
}
.recordsColumn{
  min-width:0;
}
.recordsColumn h4{
  margin:0 0 12px;
  padding:14px 16px;
  border:1px solid #111;
  border-radius:12px;
  text-align:center;
  font-size:20px;
  font-weight:900;
  background:#fff;
}
.recordsColumn .cards{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.recordsColumn .card{
  width:100%;
  box-sizing:border-box;
}
@media(max-width:900px){
  .recordsColumns{
    grid-template-columns:1fr;
  }
}

.infoModal{position:fixed;inset:0;background:rgba(0,0,0,.48);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.infoModal[hidden]{display:none}.infoModalCard{position:relative;background:#fff;border:1px solid #111;border-radius:14px;max-width:680px;width:100%;max-height:80vh;overflow:auto;padding:24px}.infoModalCard h2{margin:0 0 16px}.infoModalClose{position:absolute;right:12px;top:8px;border:0;background:none;font-size:30px;cursor:pointer}.infoModalList{display:grid;gap:8px}.infoModalRow{border:1px solid #bbb;border-radius:8px;padding:10px}

.quoteDetailPanel{max-width:900px;margin:0 auto}.quoteDetailPanel .detailItem{margin-bottom:6px}.quoteDetailPanel .total-row{margin-top:14px}.quoteRecord{cursor:pointer}.quoteRecord:hover{box-shadow:0 2px 8px rgba(0,0,0,.12)}

.danger{border:1px solid #111!important;background:#fff!important;color:#111!important}
.danger:hover{background:#f3f3f3!important}

.inkCostCards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.inkCostCard{border:1px solid #bbb;border-radius:12px;padding:12px}
.inkCostCard h4{margin:0 0 10px;font-size:18px}
@media(max-width:800px){.inkCostCards{grid-template-columns:1fr}}

/* V52: pantalla principal compacta */
.mainQuick{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}
.mainQuick button{min-height:62px;font-size:18px;flex-direction:row;gap:8px}
.mainQuick button b{margin:0}
.mainQuick button small{display:none}
.welcomeNameRow{display:flex;align-items:center;gap:6px;min-height:70px}
.welcomeNameRow h2{margin:0!important}
.welcomeNameRow .welcomeLogo{order:2!important;width:64px!important;height:64px!important;margin:0!important}
.welcomeUser{gap:0!important}
.welcomeText{flex:none!important}
.heroIcon{display:none!important}

/* V52: tallas de orden en casillas */
.orderSizesField{grid-column:1 / -1}
.orderSizesField>label{margin-bottom:2px}
.orderSizeGrid{display:grid;grid-template-columns:repeat(7,minmax(48px,1fr));gap:8px}
.orderSizeGrid label{font-size:12px;text-align:center;color:#555;margin:0}
.orderSizeGrid input{width:100%;box-sizing:border-box;text-align:center;padding:10px 5px}
@media(max-width:800px){.orderSizeGrid{grid-template-columns:repeat(4,minmax(55px,1fr))}}
@media(max-width:500px){.mainQuick{grid-template-columns:1fr}.orderSizeGrid{grid-template-columns:repeat(3,1fr)}}

/* V52: estados */
.badge.status-pendiente{background:#fff1b8!important;color:#5f4b00!important;border-color:#d8b63b!important}
.badge.status-produccion{background:#ffd0a0!important;color:#7a3600!important;border-color:#e58a2b!important}
.badge.status-demora{background:#ffc2c2!important;color:#8b0000!important;border-color:#d33!important}
.badge.status-terminado{background:#c8dcff!important;color:#123b78!important;border-color:#4e80c7!important}
.badge.status-entregado{background:#c7efcf!important;color:#155724!important;border-color:#43a047!important}

/* V55: logo del usuario más grande */
.welcomeNameRow{gap:10px!important}
.welcomeNameRow .welcomeLogo{
  width:110px!important;
  height:110px!important;
  max-width:110px!important;
  max-height:110px!important;
  object-fit:contain!important;
  flex:0 0 110px!important;
}

/* V57: logo grande según referencia */
.welcomeNameRow{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
}
.welcomeNameRow .welcomeLogo{
  width:170px!important;
  height:170px!important;
  max-width:170px!important;
  max-height:170px!important;
  object-fit:contain!important;
  flex:0 0 170px!important;
  margin:0!important;
}

/* V58: seguridad de instalación y usuarios */
.securityOverlay{
  position:fixed!important;inset:0!important;z-index:99999!important;
  display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.72);padding:20px;box-sizing:border-box;
}
.securityOverlay[hidden]{display:none!important}
.securityCard{
  width:min(420px,100%);background:#fff;border:1px solid #111;border-radius:18px;
  padding:28px;box-sizing:border-box;box-shadow:0 18px 50px rgba(0,0,0,.35);
}
.securityBrand{font-weight:900;letter-spacing:2px;font-size:15px;margin-bottom:18px}
.securityCard h2{margin:0 0 10px;font-size:28px}
.securityCard p{margin:0 0 18px;color:#555}
.securityCard label{display:block;font-weight:600;margin:12px 0}
.securityCard input,.securityCard select{width:100%;box-sizing:border-box;margin-top:6px;padding:12px;border:1px solid #111;border-radius:9px;background:#fff}
.securityCard button{width:100%;margin-top:10px;padding:13px;border-radius:10px}
.securityError{margin-top:12px;color:#b00020;font-weight:700}

/* V59: bienvenida de instalación y creación del usuario principal */
.installationWelcomeCard{width:min(560px,100%)!important}
.installationWelcomeCard h2{font-size:27px;line-height:1.15}
.installationWelcomeCard p{font-size:18px}

/* V60: logo elegido por el usuario principal */
.installationWelcomeCard .setupLogoPreview{
  display:block;
  width:120px;
  height:120px;
  object-fit:contain;
  margin:12px auto;
  border:1px solid #111;
  border-radius:10px;
}

/* V62: múltiples tipos de tinta por cotización */
.quoteInkHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.quoteInkTotalLabel{font-weight:700}
.quoteInkAdd{padding:8px 12px;border:1px solid #111;border-radius:8px;background:#fff;cursor:pointer}
.quoteInkRow{display:grid;grid-template-columns:110px 1fr 42px;gap:10px;align-items:end;margin:8px 0}
.quoteInkRow label{display:block}
.quoteInkRow input,.quoteInkRow select{width:100%;box-sizing:border-box}
.quoteInkRemove{height:42px;border:1px solid #111;border-radius:8px;background:#fff;font-size:20px;cursor:pointer}
@media(max-width:650px){.quoteInkRow{grid-template-columns:1fr 1fr 42px}}

/* V65: activación/licencia por instalación */
.installationWelcomeCard .hint{display:block;margin-top:10px}

/* V66: panel de administración de licencias */
.licenseAdminOverlay{position:fixed;inset:0;z-index:100000;background:rgba(0,0,0,.72);display:flex;align-items:center;justify-content:center;padding:18px;box-sizing:border-box}
.licenseAdminOverlay[hidden]{display:none!important}
.licenseAdminCard{width:min(900px,100%);max-height:92vh;overflow:auto;background:#fff;border:1px solid #111;border-radius:18px;padding:24px;box-sizing:border-box;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.licenseAdminHead{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}
.licenseAdminHead h2{margin:3px 0 15px;font-size:30px}
.licenseAdminKicker{font-size:12px;font-weight:900;letter-spacing:2px}
.licenseCreateGrid{display:grid;grid-template-columns:2fr 1fr 1.2fr;gap:12px;align-items:end}
.licenseCreateGrid label{font-weight:700}
.licenseCreateGrid input{width:100%;box-sizing:border-box;margin-top:6px;padding:11px;border:1px solid #111;border-radius:8px}
.licenseKeyRow{display:flex;gap:6px}.licenseKeyRow input{margin-top:6px}.licenseKeyRow button{margin-top:6px}
.licenseCheck{display:flex;gap:8px;align-items:center;height:42px}.licenseCheck input{width:auto!important;margin:0!important}
.licenseList{display:grid;gap:10px}
.licenseItem{border:1px solid #bbb;border-radius:10px;padding:13px}
.licenseItemTop{display:flex;justify-content:space-between;gap:10px;align-items:center}
.licenseItem strong{font-size:16px}
.licenseMeta{font-size:13px;color:#555;margin-top:7px}
.licenseActions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.licenseActions button{padding:7px 10px}
.licenseStatusActive{font-weight:800}.licenseStatusOff{font-weight:800}
@media(max-width:700px){.licenseCreateGrid{grid-template-columns:1fr}}

#appVersionLabel{padding:4px 16px 10px;font-size:12px}

.multiBar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px;margin-bottom:14px;border:1px solid #ddd;border-radius:9px;background:#fafafa}
#quoteMultiTabs,#orderMultiTabs{display:flex;gap:7px;align-items:center;flex-wrap:wrap;flex:1}
.multiTab{border:1px solid #bbb;border-radius:7px;padding:8px 12px;background:#fff;cursor:pointer;font-weight:600}
.multiTab.active{font-weight:800;box-shadow:inset 0 -3px 0 currentColor}
.quoteLocationRow,.orderLocationRow{display:grid;grid-template-columns:1fr 1fr 1fr 1fr auto;gap:8px;align-items:end;padding:10px;margin:8px 0;border:1px solid #ddd;border-radius:9px;background:#fff}
.locationThumb{width:58px;height:58px;object-fit:contain;border:1px solid #ccc;border-radius:6px;background:#fff}
.locationGallery{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px;padding:10px;border:1px solid #ddd;border-radius:9px;background:#fafafa}
.locationGalleryItem{display:flex;flex-direction:column;align-items:center;gap:5px;max-width:230px}
.locationGalleryItem img{width:220px;height:220px;object-fit:contain;border:1px solid #ccc;border-radius:8px;background:#fff}
@media(max-width:850px){.quoteLocationRow,.orderLocationRow{grid-template-columns:1fr 1fr}}

/* V90: datos del cliente son globales al pedido; solo aparecen en Prenda 1 */
#quoteMultiBar + .grid .quoteClientGlobalHidden{display:none !important}

.quoteDetailedPreview{margin-top:16px;padding:16px;border:1px solid #d7d7d7;border-radius:10px;background:#fff}
.quoteDetailHeader{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.quoteGarmentCard{border:1px solid #ccc;border-radius:10px;padding:14px;margin:12px 0;background:#fafafa;break-inside:avoid}
.quoteGarmentTitle{font-size:18px;font-weight:800;margin-bottom:10px}
.quoteGarmentMeta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
.quoteLocationDetail{border-top:1px solid #ddd;padding-top:10px;margin-top:10px;break-inside:avoid}
.quoteLocationDetailGrid{display:grid;grid-template-columns:1fr 240px;gap:14px;align-items:start}
.quoteLocationDetail img{width:230px;height:230px;object-fit:contain;background:#fff;border:1px solid #ccc;border-radius:8px}
.quoteLocationDetail .detailLines div{margin:4px 0}
.quoteDetailCost{margin-top:12px;padding-top:8px;border-top:1px solid #bbb;text-align:right;font-weight:700}
@media(max-width:850px){.quoteDetailHeader,.quoteGarmentMeta,.quoteLocationDetailGrid{grid-template-columns:1fr}}

.quoteBreakdown{border:1px solid #ccc;border-radius:6px;overflow:hidden;margin:8px 0 12px}
.quoteBreakdown .qrow{display:grid;grid-template-columns:1fr 2fr 1fr 1fr;gap:6px;padding:7px;border-bottom:1px solid #ddd;font-size:12px}
.quoteBreakdown .qrow:last-child{border-bottom:0}
.breakdown{border:1px solid #ccc;border-radius:5px;overflow:hidden;margin:7px 0 10px}
.break-row{display:grid;grid-template-columns:1.1fr 2.2fr .8fr .8fr;gap:6px;padding:6px;border-bottom:1px solid #ddd;font-size:8.5px}
.break-row:last-child{border-bottom:0}


/* V211: separación de colores independiente por estampado */
.locationSeparations{
  grid-column:1 / -1;
  width:100%;
  box-sizing:border-box;
  margin:12px 0 0;
  padding:14px;
  border:1px solid #222;
  border-radius:8px;
  background:#fff;
}
.locationSepTitle{
  display:block;
  font-size:17px;
  line-height:1.25;
  font-weight:800;
  margin:0 0 5px;
}
.locationSepHint{
  display:block;
  font-size:13px;
  line-height:1.35;
  margin:0 0 10px;
}
.locationSepRows{
  display:flex;
  flex-direction:column;
  gap:7px;
  width:100%;
}
.locationSep{
  display:grid;
  grid-template-columns:32px minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) 42px;
  gap:8px;
  align-items:center;
  width:100%;
  box-sizing:border-box;
}
.locationSep input{
  width:100%;
  min-width:0;
  box-sizing:border-box;
}
.locationSepRemove{
  width:42px;
  min-width:42px;
}
.locationSepAdd{
  margin-top:10px;
  width:auto;
}
.orderLocationSeparations{
  margin-top:10px;
  padding-top:9px;
  border-top:1px solid #aaa;
}

.quoteGarmentTabWrap{display:inline-flex;align-items:center;margin-right:6px;margin-bottom:4px}
.quoteGarmentTabWrap .multiTab{margin-right:2px}
.quoteGarmentDelete{width:28px;height:28px;border:1px solid #999;border-radius:4px;background:#fff;font-weight:900;cursor:pointer;line-height:1}
.quoteGarmentDelete:hover:not(:disabled){background:#eee}
.quoteGarmentDelete:disabled{opacity:.35;cursor:not-allowed}

.quoteSummaryTable .qrow span:nth-child(2){white-space:normal;word-break:break-word;line-height:1.25}

.quoteCostSectionTitle{margin:0 0 14px;font-size:18px;font-weight:900;text-transform:uppercase;letter-spacing:.3px}
.quoteSizes{margin:14px 0 18px}
.quoteSizes h4{margin:0 0 12px;font-size:18px;font-weight:900}
.locationInkHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 6px;font-weight:800}
.locationInkRows{display:grid;gap:6px;margin-bottom:8px}
.locationMainFields{display:grid;grid-template-columns:1.2fr 1fr 1.3fr 1fr;gap:8px;align-items:end}
.locationInkHeader button{font-size:12px;padding:6px 10px}
.quoteLocationRemove{margin-top:8px}

/* V234 — layout limpio de estampados y tintas */
.quoteSizes{grid-column:1 / -1;width:100%;box-sizing:border-box}
.quoteLocationsBlock{grid-column:1 / -1;width:100%;box-sizing:border-box;margin-top:4px}
.quoteLocationsBlock > .quoteInkHeader{width:100%;box-sizing:border-box}
.quoteLocationRow{
  display:block;
  width:100%;
  box-sizing:border-box;
  padding:12px;
  margin:10px 0;
  border:1px solid #ddd;
  border-radius:9px;
  background:#fff;
}
.quoteLocationRow .locationMainFields{
  display:grid;
  grid-template-columns:1.15fr 1fr 1.25fr 1fr;
  gap:10px;
  align-items:end;
  width:100%;
}
.quoteLocationRow .locationInkHeader{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:12px 0 7px;
  padding-top:9px;
  border-top:1px solid #e2e2e2;
}
.quoteLocationRow .locationInkRows{
  display:grid;
  grid-template-columns:1fr;
  gap:7px;
  width:100%;
}
.quoteLocationRow .quoteInkRow{
  display:grid;
  grid-template-columns:minmax(90px,120px) minmax(180px,1fr) 42px;
  gap:10px;
  align-items:end;
  width:100%;
  box-sizing:border-box;
  padding:7px 0;
}
.quoteLocationRow .quoteLocationRemove{
  display:block;
  margin:9px 0 0 auto;
}
@media(max-width:850px){
  .quoteLocationRow .locationMainFields{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .quoteLocationRow .quoteInkRow{grid-template-columns:1fr 1fr 42px}
}

/* V235 — encabezado y ubicación de estampados */
.quoteInkTotalLabel{
  display:block;
  margin:0;
  color:#111;
  font-size:22px;
  line-height:1.15;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.3px;
}
.quoteLocationsBlock > .quoteInkHeader{align-items:center;margin-bottom:10px}
.quoteLocationsBlock > .quoteInkHeader .quoteInkAdd{margin-left:auto}
.quoteLocationRow .locationInkHeader{min-height:34px}
.quoteLocationRow .locationInkHeader > span{flex:1}
.quoteLocationRow .quoteLocationName{width:100%;box-sizing:border-box}

/* V237 — selector de zonas: orden inverso, mayúsculas y negritas */
.quoteLocationName,
.quoteLocationName option{
  text-transform:uppercase;
  font-weight:800;
}

/* V240 — layout integrado por estampado */
.quoteStampSectionHeader{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin:18px 0 14px;
}
.quoteStampSectionHeader h3{
  margin:0;
  font-size:24px;
  font-weight:900;
  text-transform:uppercase;
}
.quoteStampSectionHeader p{
  margin:7px 0 0;
  font-size:13px;
  color:#1f5f9d;
}
.quoteStampSectionHeader .quoteInkAdd{
  flex:0 0 auto;
}
.quoteStampCard{
  border:1px solid #d8d8d8;
  border-radius:10px;
  background:#fff;
  padding:12px;
  margin:0 0 14px;
}
.quoteStampTop{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin:0 2px 10px;
}
.quoteStampTop strong{
  font-size:16px;
  font-weight:900;
}
.quoteStampTop button{
  margin:0;
}
.quoteStampContent{
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  gap:36px;
  align-items:start;
}
.quoteStampImage{
  min-height:255px;
  border:1px solid #d5d5d5;
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#fff;
}
.quoteStampImage img{
  width:100%;
  height:255px;
  object-fit:contain;
  display:block;
}
.quoteStampImageEmpty{
  color:#888;
  font-size:13px;
  font-weight:700;
}
.quoteStampData{
  min-width:0;
}
.quoteStampData .locationMainFields{
  display:grid;
  grid-template-columns:1.05fr .9fr 1.15fr 1.35fr;
  gap:18px;
  align-items:end;
}
.quoteStampData .locationMainFields label{
  min-width:0;
}
.quoteStampData .locationMainFields input,
.quoteStampData .locationMainFields select{
  width:100%;
  box-sizing:border-box;
}
.quoteStampCosts{
  margin-top:16px;
  padding-top:13px;
  border-top:1px solid #ddd;
}
.quoteStampCosts h4{
  margin:0 0 12px;
  font-size:15px;
  font-weight:900;
  text-transform:uppercase;
}
.quoteStampCostGrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
}
.quoteStampCostGrid>label{
  min-width:0;
}
.quoteStampCostGrid>label>span{
  display:block;
  margin-bottom:7px;
  font-size:13px;
  font-weight:700;
}
.costInputLine{
  display:flex;
  align-items:center;
  gap:10px;
}
.costInputLine input[type="checkbox"]{
  width:24px;
  height:24px;
  margin:0;
  accent-color:#111;
  flex:0 0 auto;
}
.costInputLine input[type="number"]{
  width:100%;
  min-width:0;
  box-sizing:border-box;
}
.quoteStampInkHeader{
  margin-top:16px;
  padding-top:12px;
  border-top:1px solid #ddd;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
}
.quoteStampInkHeader strong{
  font-size:17px;
  font-weight:900;
  text-transform:uppercase;
}
.quoteStampInkHeader button{
  flex:0 0 auto;
}
.quoteStampCard .locationInkRows{
  margin-top:9px;
}
.quoteStampCard .locationInkRow{
  display:grid;
  grid-template-columns:145px minmax(220px,1fr) 52px;
  gap:12px;
  align-items:end;
}
@media(max-width:1000px){
  .quoteStampContent{grid-template-columns:190px minmax(0,1fr);gap:22px}
  .quoteStampData .locationMainFields{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .quoteStampSectionHeader{align-items:flex-start;flex-direction:column}
  .quoteStampContent{grid-template-columns:1fr}
  .quoteStampImage{max-width:280px}
  .quoteStampCostGrid{grid-template-columns:1fr}
  .quoteStampData .locationMainFields{grid-template-columns:1fr}
}
/* S.G.W.S. — logo oficial en el botón de pantalla principal */
.topbar .homeBtn{width:68px!important;height:68px!important;min-width:68px!important;min-height:68px!important;padding:3px!important;border-radius:50%!important;background:transparent!important;border:0!important;overflow:hidden!important;cursor:pointer!important;transition:transform .16s ease,filter .16s ease,box-shadow .16s ease!important}
.topbar .homeBtn img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;border-radius:50%!important}
.topbar .homeBtn:hover{transform:scale(1.08)!important;filter:brightness(1.12)!important;box-shadow:0 0 0 3px rgba(255,193,74,.35),0 4px 12px rgba(0,0,0,.25)!important}
.topbar .homeBtn:active{transform:scale(.98)!important}
@media(max-width:700px){.topbar .homeBtn{width:60px!important;height:60px!important;min-width:60px!important;min-height:60px!important}}

.sgws-precios-bar{display:flex;align-items:center;gap:14px;margin:12px 0 20px;padding:12px 14px;border:1px solid #222;border-radius:10px;background:#fafafa}
.sgws-precios-bar button{font-weight:800;padding:10px 16px;border:1px solid #111;border-radius:8px;background:#111;color:#fff;cursor:pointer}
.sgws-precios-modal{position:fixed;inset:0;z-index:100000;background:#0008;display:flex;align-items:center;justify-content:center;padding:20px}
.sgws-precios-modal[hidden]{display:none}
.sgws-precios-card{position:relative;background:#fff;color:#111;width:min(900px,96vw);max-height:90vh;overflow:auto;border-radius:14px;padding:26px;box-shadow:0 20px 70px #0008}
.sgws-precios-close{position:absolute;right:16px;top:12px;border:0;background:none;font-size:30px;cursor:pointer}
.sgws-precios-selects{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.sgws-precios-selects label,.sgws-precios-save{display:flex;flex-direction:column;gap:6px}
.sgws-precios-selects select,.sgws-precios-save input,.sgws-precios-save select{padding:10px;border:1px solid #222;border-radius:8px}
.sgws-precios-tallas{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:18px 0}
.sgws-precios-tallas span{display:flex;flex-direction:column;gap:5px;text-align:center}
.sgws-precios-tallas input{width:100%;box-sizing:border-box;padding:8px;border:1px solid #bbb;border-radius:7px;text-align:center}
.sgws-precios-card button:not(.sgws-precios-close){padding:10px 16px;border:1px solid #111;border-radius:8px;background:#111;color:#fff;font-weight:800;cursor:pointer}
.sgws-precios-save{display:grid;grid-template-columns:1fr 1.5fr 1fr auto;align-items:end;gap:10px}
@media(max-width:800px){.sgws-precios-selects,.sgws-precios-save{grid-template-columns:1fr}.sgws-precios-tallas{grid-template-columns:repeat(4,1fr)}}

/* SGWS HOVER UI V269 — WEB */
/* Botones: misma interacción visual que la versión Electron */
button:not(:disabled), .btn:not(:disabled), [role="button"]:not([aria-disabled="true"]){
  transition:transform .12s ease,box-shadow .12s ease,filter .12s ease,background-color .12s ease,color .12s ease!important;
  -webkit-tap-highlight-color:transparent;
  cursor:pointer;
}
button:not(:disabled):hover, .btn:not(:disabled):hover, [role="button"]:not([aria-disabled="true"]):hover{
  filter:brightness(.97);
  box-shadow:0 2px 8px rgba(0,0,0,.12);
}
button:not(:disabled):active, .btn:not(:disabled):active, [role="button"]:not([aria-disabled="true"]):active{
  transform:translateY(2px) scale(.985);
  box-shadow:inset 0 2px 5px rgba(0,0,0,.22),0 1px 1px rgba(0,0,0,.08);
  filter:brightness(.94);
}
/* Menú lateral: hover de la versión Electron */
.sideMenu button,
.sideMenu a,
.sideMenu .menuItem,
.sideMenu [role="menuitem"]{
  transition:background-color .16s ease,color .16s ease,transform .12s ease,box-shadow .16s ease!important;
  cursor:pointer!important;
}
.sideMenu button:hover,
.sideMenu a:hover,
.sideMenu .menuItem:hover,
.sideMenu [role="menuitem"]:hover{
  background:#eeeeee!important;
  color:#111!important;
  box-shadow:inset 4px 0 0 #111!important;
  transform:translateX(2px);
}
.sideMenu button:active,
.sideMenu a:active,
.sideMenu .menuItem:active,
.sideMenu [role="menuitem"]:active{
  transform:translateX(2px) scale(.985);
}


/* SGWS — HOVER DEL BOTÓN MENÚ ☰ */
#menuBtn.iconbtn{
  cursor:pointer!important;
  transition:background-color .16s ease,color .16s ease,
             transform .12s ease,box-shadow .16s ease,
             filter .12s ease!important;
}
#menuBtn.iconbtn:hover{
  background:#eeeeee!important;
  color:#111!important;
  box-shadow:0 2px 8px rgba(0,0,0,.14)!important;
  transform:translateY(-1px);
}
#menuBtn.iconbtn:active{
  transform:translateY(2px) scale(.96)!important;
  box-shadow:inset 0 2px 5px rgba(0,0,0,.22)!important;
  filter:brightness(.94);
}


/* SGWS — BOTONES PRINCIPALES NEGROS (implementación anterior) */
.headerActions button,
.headerActions .btn,
button.actionBtn,
.actionBtn{
  background:#111!important;
  color:#fff!important;
  border:1px solid #111!important;
  border-radius:16px!important;
  font-weight:800!important;
  cursor:pointer!important;
  transition:transform .12s ease,box-shadow .14s ease,
             background-color .14s ease,filter .12s ease!important;
}
.headerActions button:hover,
.headerActions .btn:hover,
button.actionBtn:hover,
.actionBtn:hover{
  background:#222!important;
  color:#fff!important;
  transform:translateY(-2px);
  box-shadow:0 5px 14px rgba(0,0,0,.22)!important;
  filter:none!important;
}
.headerActions button:active,
.headerActions .btn:active,
button.actionBtn:active,
.actionBtn:active{
  background:#000!important;
  transform:translateY(1px) scale(.985);
  box-shadow:inset 0 2px 5px rgba(0,0,0,.35)!important;
}


/* SGWS — ACCIONES PRINCIPALES DEL INICIO: POSICIÓN Y HOVER */
.mainQuick{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
  width:100%!important;
  margin:18px 0 24px!important;
}
.mainQuick button{
  width:100%!important;
  min-height:72px!important;
  padding:16px 22px!important;
  background:#111!important;
  color:#fff!important;
  border:1px solid #111!important;
  border-radius:14px!important;
  font-size:20px!important;
  font-weight:800!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  cursor:pointer!important;
  transition:transform .14s ease,box-shadow .14s ease,
             background-color .14s ease,filter .14s ease!important;
}
.mainQuick button b{
  color:#fff!important;
  margin:0!important;
}
.mainQuick button:hover{
  background:#222!important;
  color:#fff!important;
  transform:translateY(-3px)!important;
  box-shadow:0 7px 16px rgba(0,0,0,.22)!important;
  filter:none!important;
}
.mainQuick button:active{
  background:#000!important;
  color:#fff!important;
  transform:translateY(1px) scale(.985)!important;
  box-shadow:inset 0 3px 6px rgba(0,0,0,.35)!important;
}
@media(max-width:700px){
  .mainQuick{grid-template-columns:1fr!important}
}


/* SGWS — HOVER REAL DEL BOTÓN DE TRES LÍNEAS */
#menuBtn{
  cursor:pointer!important;
  transition:background-color .16s ease,transform .12s ease,
             box-shadow .16s ease,filter .12s ease!important;
}
#menuBtn:hover{
  background:#eeeeee!important;
  color:#111!important;
  transform:scale(1.06)!important;
  box-shadow:0 3px 10px rgba(0,0,0,.18)!important;
  filter:none!important;
}
#menuBtn:active{
  transform:scale(.96)!important;
  background:#e4e4e4!important;
  box-shadow:inset 0 2px 5px rgba(0,0,0,.22)!important;
}

/* SGWS V246/V247 — ACCIONES: los botones originales de la derecha viven ahora en el centro */
.mainQuick{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(260px,360px))!important;
  justify-content:center!important;
  gap:18px!important;
  width:100%!important;
  margin:18px auto 24px!important;
}
.mainQuick #newQuoteBtn,
.mainQuick #newBtn{
  width:100%!important;
  min-height:72px!important;
  padding:16px 22px!important;
  background:#111!important;
  color:#fff!important;
  border:1px solid #111!important;
  border-radius:14px!important;
  font-size:20px!important;
  font-weight:800!important;
  cursor:pointer!important;
  transition:transform .14s ease,box-shadow .14s ease,background-color .14s ease!important;
}
.mainQuick #newQuoteBtn:hover,
.mainQuick #newBtn:hover{
  background:#222!important;
  color:#fff!important;
  transform:translateY(-3px)!important;
  box-shadow:0 7px 16px rgba(0,0,0,.22)!important;
}
.mainQuick #newQuoteBtn:active,
.mainQuick #newBtn:active{
  background:#000!important;
  transform:translateY(1px) scale(.985)!important;
  box-shadow:inset 0 3px 6px rgba(0,0,0,.35)!important;
}
@media(max-width:700px){
  .mainQuick{grid-template-columns:1fr!important}
}


/* SGWS V247 — ENCABEZADO EXACTO DE LA REFERENCIA */
.topbar{
  position:relative!important;
  min-height:140px!important;
  height:140px!important;
  padding:0!important;
  display:block!important;
  background:#fff!important;
  color:#111!important;
  border-bottom:1px solid #111!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}
.topbar .brandrow{
  position:absolute!important;
  left:18px!important;
  top:25px!important;
  z-index:20!important;
  display:block!important;
  width:auto!important;
}
.topbar .brandrow #menuBtn{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:38px!important;
  height:38px!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  color:#111!important;
  border:0!important;
  font-size:28px!important;
  line-height:1!important;
}
#sgwsSystemHeader{
  position:absolute!important;
  left:50%!important;
  top:18px!important;
  transform:translateX(-50%)!important;
  width:min(900px,60vw)!important;
  text-align:center!important;
  z-index:5!important;
  pointer-events:none!important;
}
.sgwsSystemName{
  margin:0!important;
  font-family:Arial,sans-serif!important;
  font-size:31px!important;
  line-height:1.05!important;
  font-weight:900!important;
  letter-spacing:1px!important;
  color:#111!important;
  white-space:nowrap!important;
}
.sgwsSystemSubtitle{
  margin:2px 0 0!important;
  font-family:Arial,sans-serif!important;
  font-size:10px!important;
  line-height:1.1!important;
  font-weight:700!important;
  color:#111!important;
}
.sgwsHeaderRule{
  position:absolute!important;
  left:50%!important;
  top:85px!important;
  transform:translateX(-50%)!important;
  width:min(850px,52vw)!important;
  height:42px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
}
.sgwsRuleLine{
  height:1px!important;
  background:#777!important;
  flex:1 1 auto!important;
}
.sgwsRuleLogoSlot{
  width:82px!important;
  height:82px!important;
  flex:0 0 82px!important;
}
.topbar .headerCenter{
  position:absolute!important;
  left:50%!important;
  top:106px!important;
  transform:translate(-50%,-50%)!important;
  z-index:10!important;
  width:46px!important;
  height:46px!important;
  margin:0!important;
}
.topbar .homeBtn{
  width:78px!important;
  height:78px!important;
  min-width:78px!important;
  min-height:78px!important;
  padding:2px!important;
  background:#fff!important;
  border:0!important;
  border-radius:50%!important;
}
.topbar .homeBtn img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:contain!important;
  border-radius:50%!important;
}
.topbar .headerActions{
  position:absolute!important;
  right:20px!important;
  top:31px!important;
  z-index:20!important;
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  width:auto!important;
  margin:0!important;
}
.topbar .todayDate{
  display:inline-block!important;
  font-size:13px!important;
  font-weight:700!important;
  color:#111!important;
  white-space:nowrap!important;
}
.topbar .syncStatus{
  font-size:13px!important;
  color:#555!important;
  white-space:nowrap!important;
}
@media(max-width:900px){
  .topbar{min-height:125px!important;height:125px!important}
  #sgwsSystemHeader{width:70vw!important;top:16px!important}
  .sgwsSystemName{font-size:25px!important}
  .sgwsHeaderRule{top:76px!important;width:60vw!important}
  .topbar .headerCenter{top:97px!important}
  .topbar .headerActions{right:14px!important;top:24px!important}
}
@media(max-width:650px){
  .topbar .headerActions{top:8px!important;right:10px!important}
  .topbar .todayDate{font-size:11px!important}
  .topbar .syncStatus{font-size:11px!important}
  #sgwsSystemHeader{top:25px!important;width:90vw!important}
  .sgwsSystemName{font-size:18px!important}
  .sgwsSystemSubtitle{font-size:8px!important}
  .sgwsHeaderRule{top:74px!important;width:75vw!important}
}

/* SGWS V247 — LOGO PRINCIPAL DESTACADO */
.topbar .headerCenter{
  width:82px!important;
  height:82px!important;
}
.topbar .homeBtn{
  width:82px!important;
  height:82px!important;
  min-width:82px!important;
  min-height:82px!important;
  padding:2px!important;
}
.topbar .homeBtn img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}
.sgwsRuleLogoSlot{
  width:86px!important;
  height:86px!important;
  flex:0 0 86px!important;
}
@media(max-width:900px){
  .topbar .headerCenter{
    width:68px!important;
    height:68px!important;
    top:97px!important;
  }
  .topbar .homeBtn{
    width:68px!important;
    height:68px!important;
    min-width:68px!important;
    min-height:68px!important;
  }
  .sgwsRuleLogoSlot{
    width:72px!important;
    height:72px!important;
    flex-basis:72px!important;
  }
}

/* SGWS V41 — selector simple de precios capturados */
.sgws-precios-card{width:min(720px,92vw);max-height:82vh;padding:20px}
.sgws-simple-loader{display:grid;gap:10px}
.sgws-loader-title{font-size:22px;font-weight:900;letter-spacing:.5px}
.sgws-loader-help{margin:0 0 6px;color:#555}
.sgws-simple-loader label{display:flex;flex-direction:column;gap:5px;font-weight:800}
.sgws-simple-loader select{padding:10px;border:1px solid #222;border-radius:8px;font-size:15px}
.sgws-main-load,.sgws-secondary-load{padding:11px 16px;border:1px solid #111;border-radius:8px;background:#111;color:#fff;font-weight:900;cursor:pointer}
.sgws-secondary-load{background:#eee;color:#111}
.sgws-custom-divider{border-top:1px solid #bbb;margin:6px 0}
.sgws-empty{padding:10px;border:1px dashed #aaa;border-radius:8px;color:#666}
#sgwsCustomArea{display:grid;gap:10px;padding-top:6px}
#sgwsCustomProducts{display:grid;gap:10px}

.sgws-precios-bar #sgwsListasPersonalizadasAbrir{font-weight:800;padding:10px 16px;border:1px solid #111;border-radius:8px;background:#eee;color:#111;cursor:pointer}
.sgws-price-mode{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px 0}
.sgws-mode-btn{padding:11px 16px!important;border:1px solid #111!important;border-radius:8px!important;background:#eee!important;color:#111!important;font-weight:900!important;cursor:pointer}
.sgws-mode-btn.active{background:#111!important;color:#fff!important}
.sgws-lista-aviso{padding:11px 14px;border:2px solid #111;border-radius:8px;font-weight:900;text-align:center;background:#f5f5f5}
.sgws-carga-resultado{min-height:20px;padding:8px 0;font-size:14px}
.sgws-warning{display:inline-block;margin-top:5px}
@media(max-width:800px){.sgws-precios-bar{flex-wrap:wrap}.sgws-precios-bar span{width:100%}}

.sgws-precios-card{width:min(620px,92vw)}
.sgws-simple-loader{gap:12px}
.sgws-loader-help{font-size:15px;line-height:1.35}
.sgws-lista-aviso{font-size:16px}

/* SGWS V250 */
.sgws-lista-estado{margin:10px 0 14px;padding:10px 14px;border-radius:10px;font-weight:700;letter-spacing:.3px}

/* SGWS V251 — lista exacta capturada */
#sgwsDynamicTextileCosts .sgws-dynamic-cost{display:block}

/* SGWS V257 — un producto, una tarjeta; Color y Blanca visibles */
#sgwsDynamicTextileCosts .sgws-dynamic-cost{padding:10px 12px;margin-bottom:10px}
#sgwsDynamicTextileCosts .sgws-dynamic-cost>h3{margin-bottom:6px}
#sgwsDynamicTextileCosts .sgws-captured-row{display:grid;grid-template-columns:68px 1fr;align-items:center;gap:8px;margin:2px 0}
#sgwsDynamicTextileCosts .sgws-captured-label{font-weight:700}
#sgwsDynamicTextileCosts .sgws-captured-row .grid{margin:0}

/* SGWS V257 */
#sgwsDynamicTextileCosts .sgws-dynamic-cost{padding:10px 12px;margin:0 0 10px}
#sgwsDynamicTextileCosts .sgws-dynamic-cost>h3{margin:0 0 6px}
#sgwsDynamicTextileCosts .sgws-captured-row{display:grid;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:8px;margin:2px 0}
#sgwsDynamicTextileCosts .sgws-captured-label{font-weight:700;font-size:14px}
#sgwsDynamicTextileCosts .sgws-captured-row .grid{margin:0;display:grid;grid-template-columns:repeat(7,minmax(45px,1fr));gap:8px}

/* SGWS V259 */
.quotePriceListRow{margin:8px 0 12px}.quotePriceListRow label{display:block}#quotePriceList{font-weight:700}
