:root{
  --ink:#10140f;
  --paper:#f2f1ea;
  --lime:#b7f33d;
  --muted:#778071;
  --line:#d8dbd3;
  --card:#ffffff;
}
*{box-sizing:border-box}
html{font-family:Inter,Arial,sans-serif;background:var(--paper);color:var(--ink)}
body{margin:0}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
.wrap{width:min(1180px,calc(100% - 36px));margin:auto}
.header{background:var(--ink);color:white;position:sticky;top:0;z-index:10}
.nav{min-height:74px;display:flex;align-items:center;gap:18px}
.brand{font-size:1.4rem;font-weight:900;margin-right:auto}.brand span{color:var(--lime)}
.nav a{font-size:.9rem;font-weight:700}
.nav .admin{border:1px solid #4b5347;padding:10px 12px;border-radius:5px}
.hero{padding:76px 0 44px}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:900;color:#62705c}
h1{font-size:clamp(3.2rem,7vw,6.3rem);line-height:.95;letter-spacing:-.065em;margin:12px 0 24px;max-width:900px}
.lead{font-size:1.1rem;line-height:1.55;max-width:680px;color:#50584c}
.toolbar{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;margin:22px 0 28px}
.search{width:100%;padding:13px 14px;border:1px solid var(--line);background:white;border-radius:5px}
.filters{display:flex;gap:7px;flex-wrap:wrap}
.chip{border:1px solid #bfc5b9;background:transparent;padding:8px 10px;border-radius:999px;cursor:pointer}
.chip.active{background:var(--ink);color:white;border-color:var(--ink)}
.layout{display:grid;grid-template-columns:1fr 330px;gap:24px;align-items:start;padding-bottom:80px}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.product{background:var(--card);border:1px solid var(--line);border-radius:8px;overflow:hidden}
.product.disabled{opacity:.58}
.product-img{height:180px;background:linear-gradient(135deg,#dbe7b9,#f7f5e9);display:grid;place-items:center}
.product-img span{font-weight:900;font-size:2.6rem;color:#566548}
.product-body{padding:18px}.product small{color:#697263;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.product h3{font-size:1.35rem;margin:8px 0}.product p{color:#66705f;min-height:44px}.product-bottom{display:flex;align-items:center;gap:12px}.product-bottom strong{font-size:1.2rem;margin-right:auto}.product-bottom button{background:var(--lime);border:0;padding:9px 12px;border-radius:4px;font-weight:900;cursor:pointer}.product-bottom button:disabled{background:#d5d8d1}
.cart{position:sticky;top:94px;background:var(--ink);color:white;border-radius:8px;padding:20px}.cart h2{margin-top:0}.muted{color:#aeb5aa}.cart-row{display:flex;gap:10px;padding:11px 0;border-bottom:1px solid #30372d}.cart-row span{margin-right:auto}.cart-row button{border:1px solid #485144;background:none;color:white;width:28px;height:28px;border-radius:4px}.wa{display:block;background:var(--lime);color:var(--ink);font-weight:900;text-align:center;padding:12px;border-radius:5px;margin-top:18px}
.empty{color:#697263}
.notice{background:#e8f7be;border:1px solid #cade99;padding:12px 14px;border-radius:5px;margin:20px 0;font-size:.9rem}

/* Admin */
.admin-shell{padding:52px 0 90px}
.admin-title{display:flex;gap:20px;align-items:end;margin-bottom:26px}.admin-title h1{font-size:clamp(2.4rem,5vw,4.4rem);margin:0}.admin-title p{margin-left:auto;max-width:460px;color:#5e6858}
.panel{background:white;border:1px solid var(--line);border-radius:8px;padding:22px;margin-bottom:18px}
.panel h2{margin-top:0}
.fields{display:grid;gap:14px}.fields.two{grid-template-columns:1fr 1fr}
label{display:grid;gap:7px;font-size:.82rem;font-weight:800}
input,textarea{width:100%;border:1px solid #cfd4cb;border-radius:4px;padding:10px 11px;background:#fff}
.check{display:flex;align-items:center;justify-content:space-between;border:1px solid #cfd4cb;padding:10px;border-radius:4px}.check input{width:auto}
.admin-product{border:1px solid var(--line);border-radius:6px;padding:16px;margin-top:12px}.admin-product-head{display:flex;align-items:center;margin-bottom:12px}.admin-product-head b{margin-right:auto}
.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.btn{border:0;background:var(--ink);color:white;padding:11px 14px;border-radius:5px;font-weight:800;cursor:pointer}.btn.lime{background:var(--lime);color:var(--ink)}.ghost-btn{background:none;border:1px solid #c9cec5;padding:7px 9px;border-radius:4px}.danger{color:#a52929}
.status{margin:14px 0 0;font-weight:700}.status.ok{color:#2d721f}.status.error{color:#a52929}
.file-btn{display:inline-flex;align-items:center;gap:8px}.file-btn input{display:none}
.footer{border-top:1px solid var(--line);padding:30px 0;color:#697263;font-size:.85rem}
@media(max-width:850px){.layout{grid-template-columns:1fr}.cart{position:static}.grid{grid-template-columns:1fr}.toolbar{grid-template-columns:1fr}.fields.two{grid-template-columns:1fr}.admin-title{display:block}.admin-title p{margin-left:0}.nav{flex-wrap:wrap;padding:12px 0}}


/* v0.3 — panel: autosave sin botón redundante + barra de herramientas consistente */

.admin-footer-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:18px;
  padding:14px 16px;
  border:1px solid var(--line);
  background:#f7f6f0;
  border-radius:7px;
}

.autosave-state{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:230px;
}

.autosave-dot{
  width:9px;
  height:9px;
  border-radius:50%;
  background:#73c75b;
  box-shadow:0 0 0 4px rgba(115,199,91,.14);
  flex:0 0 auto;
}

.admin-footer-bar .status{
  margin:0;
  font-size:.82rem;
  color:#50604a;
  font-weight:750;
}

.utility-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}

.utility-btn{
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:10px 13px;
  border:1px solid #c7ccc3;
  background:#fff;
  color:var(--ink);
  border-radius:5px;
  font:inherit;
  font-size:.82rem;
  font-weight:800;
  line-height:1;
  cursor:pointer;
  transition:transform .12s ease,border-color .12s ease,background .12s ease;
}

.utility-btn:hover{
  transform:translateY(-1px);
  border-color:#9da697;
  background:#f1f2ed;
}

.file-btn{
  margin:0;
}

.file-btn input{
  display:none;
}

.danger-btn{
  color:#a12e2e;
  border-color:#dfc3c3;
  background:#fffafa;
}

.danger-btn:hover{
  border-color:#c88e8e;
  background:#fff2f2;
}

.admin-product-head .ghost-btn{
  min-width:84px;
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0;
}

#add-product{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

@media(max-width:760px){
  .admin-footer-bar{
    align-items:flex-start;
    flex-direction:column;
  }

  .utility-actions{
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .utility-btn{
    width:100%;
  }

  .danger-btn{
    grid-column:span 2;
  }
}


/* v0.4 — workflow borrador → publicar */
.draft-label{
  display:block;
  margin-bottom:4px;
  color:#75806e;
  text-transform:uppercase;
  letter-spacing:.09em;
  font-size:.62rem;
  font-weight:900;
}

.publish-actions{
  display:flex;
  align-items:center;
  gap:8px;
  margin-left:auto;
}

.publish-btn{
  appearance:none;
  min-height:42px;
  padding:11px 16px;
  border:1px solid var(--ink);
  background:var(--ink);
  color:white;
  border-radius:5px;
  font:inherit;
  font-size:.84rem;
  font-weight:900;
  cursor:pointer;
}

.publish-btn:disabled{
  border-color:#c7ccc3;
  background:#d8dcd4;
  color:#7a8274;
  cursor:default;
}

.has-pending .autosave-dot{
  background:#f0b84b;
  box-shadow:0 0 0 4px rgba(240,184,75,.15);
}

.data-tools{
  margin-top:12px;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:7px;
  background:#fbfaf6;
}

.data-tools summary{
  cursor:pointer;
  font-size:.8rem;
  font-weight:850;
  color:#65705f;
}

.data-tools .utility-actions{
  margin-top:12px;
  justify-content:flex-start;
}

@media(max-width:760px){
  .publish-actions{
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
    margin-left:0;
  }

  .publish-actions > *{
    width:100%;
  }
}


/* v0.5 — administración por producto */
.compact-panel{padding-bottom:18px}
.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.panel-heading h2{margin:3px 0 0}
.mini-kicker{display:block;color:#707b69;text-transform:uppercase;letter-spacing:.1em;font-size:.64rem;font-weight:900}
.panel-actions{display:flex;justify-content:flex-end;margin-top:14px}
.primary-btn,.secondary-btn{
  appearance:none;min-height:40px;padding:10px 14px;border-radius:5px;font:inherit;font-size:.84rem;font-weight:850;cursor:pointer
}
.primary-btn{border:1px solid var(--ink);background:var(--ink);color:white}
.secondary-btn{border:1px solid #c7ccc3;background:white;color:var(--ink)}
.product-list{display:grid;gap:8px}
.product-row{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;border:1px solid var(--line);border-radius:6px;padding:12px 14px;background:#fff}
.product-row-main{display:flex;align-items:center;gap:12px;min-width:0}
.product-avatar{width:42px;height:42px;display:grid;place-items:center;background:#e8eddc;color:#536147;border-radius:5px;font-weight:900}
.product-row-main small{color:#737d6d;text-transform:uppercase;letter-spacing:.08em;font-size:.62rem;font-weight:850}
.product-row-main h3{margin:3px 0 0;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.product-row-meta{display:flex;align-items:center;gap:14px}
.product-row-meta strong{min-width:96px;text-align:right}
.availability{min-width:58px;text-align:center;font-size:.68rem;font-weight:850;padding:5px 7px;border-radius:999px}
.availability.on{background:#e5f6cf;color:#3c6927}.availability.off{background:#eceee9;color:#687164}
.row-action{border:1px solid #c9cec5;background:#fff;padding:8px 10px;border-radius:4px;font-weight:800;cursor:pointer}
.editor{scroll-margin-top:92px;border:1px solid #b4bdab;box-shadow:0 20px 50px rgba(16,20,15,.08)}
.editor-help{margin:8px 0 0;color:#697363;font-size:.86rem;max-width:720px}
.editor-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.editor-actions-right{display:flex;gap:8px;margin-left:auto}
.text-danger{border:0;background:transparent;color:#a12e2e;padding:8px 0;font-weight:800;cursor:pointer}
.admin-status-bar{display:flex;align-items:center;gap:14px;margin-top:12px;padding:11px 2px}
.admin-status-bar .status{margin:0;margin-right:auto}
.reset-link{border:0;background:transparent;color:#7d675f;text-decoration:underline;cursor:pointer;font-size:.78rem}
@media(max-width:760px){
  .product-row{grid-template-columns:1fr}
  .product-row-meta{justify-content:space-between}
  .product-row-meta strong{min-width:0;text-align:left}
  .editor-actions{align-items:stretch;flex-direction:column-reverse}
  .editor-actions-right{width:100%;margin-left:0;display:grid;grid-template-columns:1fr 1fr}
  .editor-actions-right>*{width:100%}
  .text-danger{text-align:left}
  .panel-heading{align-items:stretch;flex-direction:column}
}


/* v0.6 — carrito de selección */
.cart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid #30372d}.cart-head small{display:block;color:#9fa89a;text-transform:uppercase;letter-spacing:.08em;font-size:.62rem;font-weight:850}.cart-head h2{margin:3px 0 0}.cart-count{display:grid;place-items:center;min-width:30px;height:30px;padding:0 8px;border-radius:999px;background:var(--lime);color:var(--ink);font-weight:900}.cart-items{display:grid}.cart-item{display:grid;grid-template-columns:1fr auto;gap:10px 14px;padding:14px 0;border-bottom:1px solid #30372d}.cart-item-copy{min-width:0}.cart-item-copy b{display:block;font-size:.9rem}.cart-item-copy small{display:block;margin-top:4px;color:#aeb5aa;font-size:.72rem}.qty-control{display:flex;align-items:center;gap:7px}.qty-control button{width:28px;height:28px;border:1px solid #465044;background:#1a2019;color:white;border-radius:4px;cursor:pointer}.qty-control span{min-width:20px;text-align:center;font-weight:800}.cart-item>strong{grid-column:1/-1;justify-self:end;font-size:.88rem}.cart-total{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0 4px}.cart-total span{color:#aeb5aa;font-size:.78rem}.cart-total strong{font-size:1.2rem}.cart-note{margin:10px 0 0;color:#98a294;font-size:.72rem;line-height:1.45}.clear-cart{width:100%;margin-top:9px;border:0;background:transparent;color:#9fa89a;text-decoration:underline;font-size:.74rem;cursor:pointer}
