:root{--olive:#444c24;--olive-dark:#333a1c;--cream:#dde4b8;--orange:#ff4b13;--white:#fdfcf9;--ink:#2b2b22;--ink-soft:#6b6a58;--bg:#e7e6dd;--panel:#fdfcf9;--line:rgba(43,43,34,.14);--ok:#2e7d32;--err:#c62828;}
*{box-sizing:border-box;}
html,body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;}
body.noscroll{overflow:hidden;}
h1,h2,h3{font-family:Georgia,"Aleo",serif;margin:0;}
h1{font-size:22px;} h2{font-size:19px;} h3{font-size:16px;margin:18px 0 4px;}
a{color:var(--olive);}
.muted{color:var(--ink-soft);} .small{font-size:13px;}
.err{color:var(--err);font-weight:600;}
code{background:#eee;padding:1px 5px;border-radius:4px;font-size:12px;}
input,select,textarea{font:inherit;color:inherit;width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;}
input:focus,select:focus,textarea:focus{outline:2px solid var(--olive);outline-offset:0;border-color:transparent;}
label{display:block;font-size:13px;font-weight:600;color:var(--ink-soft);margin:8px 0;}
label>input,label>select,label>textarea{margin-top:4px;font-weight:400;color:var(--ink);}
.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--olive);background:#fff;color:var(--olive-dark);font:600 14px/1 system-ui,sans-serif;padding:10px 14px;border-radius:999px;cursor:pointer;white-space:nowrap;}
.btn:hover{background:var(--cream);}
.btn--main{background:var(--olive-dark);color:#fff;border-color:var(--olive-dark);} .btn--main:hover{background:var(--olive);}
.top .btn--main{background:var(--cream);color:var(--olive-dark);border-color:var(--cream);} .top .btn--main:hover{background:#fff;}
.btn--pub{background:var(--orange);border-color:var(--orange);color:#fff;} .btn--pub:disabled{background:#fff;color:var(--ink-soft);border-color:var(--line);cursor:default;}
.btn--ghost{border-color:transparent;background:transparent;} .btn--ghost:hover{background:rgba(0,0,0,.05);}
.btn--danger{color:var(--err);}
.btn--sm{padding:7px 11px;font-size:13px;}
.btn:disabled{opacity:.7;}
.ico{border:0;background:rgba(0,0,0,.06);width:26px;height:26px;border-radius:6px;cursor:pointer;font-size:11px;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;flex:none;}
.ico:hover{background:var(--cream);} .ico--x:hover{background:#fde0dc;color:var(--err);}
.card{background:var(--panel);border-radius:16px;padding:28px;box-shadow:0 10px 40px rgba(0,0,0,.08);}
.login{min-height:100vh;display:grid;place-items:center;padding:16px;}
.login .card{width:100%;max-width:360px;} .login .btn{width:100%;justify-content:center;margin-top:8px;}
.top{background:var(--olive-dark);color:#fff;position:sticky;top:0;z-index:5;}
.top a{color:var(--cream);} .top .muted{color:#cfd3b5;}
.top-in{max-width:1100px;margin:auto;padding:14px 16px;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;}
.top-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.menu{position:relative;} .menu summary{list-style:none;} .menu summary::-webkit-details-marker{display:none;}
.menu-box{position:absolute;right:0;top:44px;background:#fff;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.2);padding:6px;display:flex;flex-direction:column;min-width:210px;}
.menu-box .btn{justify-content:flex-start;color:var(--ink);}
.aviso{max-width:1100px;margin:14px auto 0;padding:12px 16px;background:#fff3cd;border:1px solid #f0d58a;border-radius:10px;}
.aviso ul{margin:6px 0 0;padding-left:20px;font-size:13px;word-break:break-all;}
.filtros{max-width:1100px;margin:16px auto 8px;padding:0 16px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.filtros input{max-width:280px;} .filtros select{max-width:220px;}
.lista{max-width:1100px;margin:0 auto 60px;padding:0 16px;display:flex;flex-direction:column;gap:6px;}
.fila{display:grid;grid-template-columns:30px 64px 1fr auto auto;gap:12px;align-items:center;background:var(--panel);border-radius:12px;padding:8px 12px;}
.fila--oculto{opacity:.55;}
.ord{display:flex;flex-direction:column;gap:3px;}
.th{width:64px;height:64px;object-fit:cover;border-radius:8px;background:#ddd;}
.info{display:flex;flex-direction:column;min-width:0;} .info b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.precio{font-weight:700;font-size:16px;}
.acc{display:flex;gap:4px;}
.tag{display:inline-block;font-style:normal;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;background:#ddd;padding:2px 7px;border-radius:999px;margin-right:4px;}
.tag--new{background:var(--orange);color:#fff;}
.modal{position:fixed;inset:0;background:rgba(20,20,14,.55);z-index:20;display:flex;align-items:flex-start;justify-content:center;padding:24px 12px;overflow:auto;}
.modal-box{background:var(--panel);border-radius:16px;width:100%;max-width:860px;box-shadow:0 20px 60px rgba(0,0,0,.3);}
.ed-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line);}
.ed-body{padding:12px 20px 18px;}
.ed-foot{display:flex;gap:10px;justify-content:flex-end;align-items:center;padding:14px 20px;border-top:1px solid var(--line);position:sticky;bottom:0;background:var(--panel);border-radius:0 0 16px 16px;}
.ed-foot .err{margin-right:auto;}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;} .grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 14px;align-items:end;}
fieldset{border:0;padding:0;margin:8px 0;} legend{font-size:13px;font-weight:600;color:var(--ink-soft);padding:0;margin-bottom:6px;}
.chips{display:flex;flex-wrap:wrap;gap:6px;}
.chip{display:inline-flex;align-items:center;gap:6px;margin:0;background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 12px;color:var(--ink);font-weight:600;cursor:pointer;}
.chip input{width:auto;margin:0;} .chip--txt input{width:110px;padding:2px 6px;}
.chk{display:flex;align-items:center;gap:8px;color:var(--ink);font-weight:400;} .chk input{width:auto;margin:0;}
.col{border:1px solid var(--line);border-radius:12px;padding:10px;margin:10px 0;background:#fff;}
.col-head{display:flex;gap:8px;align-items:center;}
.col-head .cn{flex:1.2;} .col-head .chex{flex:1;font-size:12px;color:var(--ink-soft);}
.col-head .cpick{width:42px;height:38px;padding:2px;flex:none;}
.sw{width:22px;height:22px;border-radius:50%;flex:none;border:1px solid var(--line);}
.fotos{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.ft{position:relative;width:108px;height:108px;border-radius:10px;overflow:hidden;background:#eee;}
.ft img{width:100%;height:100%;object-fit:cover;display:block;}
.ft .tag{position:absolute;top:5px;left:5px;}
.ft-b{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;padding:4px;background:linear-gradient(transparent,rgba(0,0,0,.45));}
.ft-b .ico{background:rgba(255,255,255,.9);}
.ft--add{display:flex;align-items:center;justify-content:center;border:2px dashed var(--olive);color:var(--olive);font-weight:700;cursor:pointer;margin:0;background:transparent;}
.ft--add:hover{background:var(--cream);}
.idline{margin-top:14px;}
.crop-body{display:flex;gap:18px;flex-wrap:wrap;}
.crop-main canvas{display:block;border-radius:8px;touch-action:none;cursor:move;max-width:100%;}
.crop-side canvas{width:220px;height:220px;border-radius:10px;background:#eee;display:block;}
.zoom{display:flex;align-items:center;gap:10px;} .zoom input{max-width:260px;}
.copias{list-style:none;padding:0;margin:0;} .copias li{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,30px);opacity:0;background:var(--ink);color:#fff;padding:12px 18px;border-radius:12px;z-index:50;transition:.3s;max-width:90vw;box-shadow:0 10px 30px rgba(0,0,0,.25);}
.toast.on{opacity:1;transform:translate(-50%,0);} .toast--ok{background:var(--ok);} .toast--err{background:var(--err);}
@media (max-width:720px){
  .grid2,.grid3{grid-template-columns:1fr;}
  .fila{grid-template-columns:26px 54px 1fr auto;} .th{width:54px;height:54px;}
  .acc{grid-column:2/-1;justify-content:flex-start;}
  .top-in{padding:10px 16px;}
}

/* ───────── TIENDA (MC) 27-oct: pestaña «Pedidos» ───────── */
.pedidos { list-style: none; padding: 0; margin: 12px 0 0; }
.ped { border-top: 1px solid rgba(43, 43, 34, .14); padding: 10px 0; }
.ped summary { cursor: pointer; line-height: 1.5; }
.ped--entregado, .ped--cancelado, .ped--no_reconocido { opacity: .65; }
.ped-aviso { color: #c0392b; font-weight: 700; }
.ped-notas { white-space: pre-wrap; background: #e7e6dd; padding: 8px; border-radius: 6px; }
