/* Owner editor: big controls, one thumb, no surprises. */
.demo-note{background:var(--mustard);border-bottom:2px solid var(--ink)}
.demo-note .wrap{padding-top:12px;padding-bottom:12px}
.dn-h{font-weight:800;font-size:1.02rem;line-height:1.3}
.dn-p{margin-top:4px;font-size:.92rem;line-height:1.4}

.ed{padding-top:16px}
.bar{display:grid;gap:8px}
.bar .btn{width:100%}
.status{min-height:1.5em;font-size:.9rem;font-weight:650;color:var(--olive)}
.status.bad{color:var(--tomato)}
.loading{padding:30px 0;font-weight:600}

.panel{margin-top:18px;background:var(--card);border:2px solid var(--ink);padding:16px}
.panel h2{font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:1.7rem;line-height:.95}
.panel > p{margin-top:6px;font-size:.95rem;color:var(--ink-2)}
.panel form{display:grid;gap:10px;margin-top:12px}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fld{display:grid;gap:4px;font-size:.84rem;font-weight:650;min-width:0}
.fld input,.fld select{width:100%;min-height:48px;padding:0 12px;border:2px solid var(--ink);border-radius:0;background:#fff;font-size:1rem;font-weight:500;-webkit-appearance:none;appearance:none}
.fld select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2316180F' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 12px center/12px 8px;padding-right:32px}
.fld input[aria-invalid="true"]{border-color:var(--tomato);background:#fdf0ed}
.err{min-height:0;font-size:.9rem;font-weight:650;color:var(--tomato)}
.err:empty{display:none}
.btn.full{width:100%}
.reset .btn{margin-top:12px}

/* category blocks */
.ecat{margin-top:26px}
.ecat-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:3px solid var(--ink)}
.ecat-h h2{font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:2.2rem;line-height:.9}
.ecat-h span{font-size:.84rem;font-weight:650;color:var(--ink-2)}

.row{background:var(--card);border:2px solid var(--ink);margin-top:10px;padding:12px}
.row.is-out{background:#f7e3dd}
.row-top{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}
.row-name{font-weight:750;font-size:1.06rem;line-height:1.25;min-width:0;overflow-wrap:anywhere}
.row-name small{display:block;font-weight:500;font-size:.84rem;color:var(--ink-2);margin-top:2px}
.price{display:flex;align-items:center;border:2px solid var(--ink);background:#fff;min-height:48px}
.price span{padding-left:10px;font-weight:700}
.price input{width:4.6em;min-height:44px;border:0;background:transparent;padding:0 10px 0 4px;font-size:1.06rem;font-weight:700;font-variant-numeric:tabular-nums;text-align:right}
.price input:focus{outline:none}
.price:focus-within{outline:3px solid var(--tomato);outline-offset:2px}
.price.bad{border-color:var(--tomato);background:#fdf0ed}

.row-ctl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.row-foot{display:grid;grid-template-columns:1fr auto auto;gap:8px;margin-top:8px}
.tog{display:flex;align-items:center;gap:6px;min-height:48px;padding:0 10px;border:2px solid var(--ink);background:#fff;font-weight:700;font-size:.92rem;text-align:left}
.tog::before{content:"+";width:16px;font-size:1.15rem}
.tog[aria-expanded="true"]::before{content:"\2212"}
.sw{display:flex;align-items:center;gap:8px;min-height:48px;padding:0 10px;border:2px solid var(--ink);background:#fff;font-weight:700;font-size:.88rem;line-height:1.15;text-align:left}
.sw .knob{position:relative;width:38px;height:22px;flex:none;border:2px solid var(--ink);background:var(--paper-2)}
.sw .knob::after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background:var(--ink);transition:transform .2s}
.sw[aria-checked="true"] .knob::after{transform:translateX(16px);background:#fff}
.sw.out[aria-checked="true"]{background:var(--tomato);border-color:var(--tomato);color:#fff}
.sw.out[aria-checked="true"] .knob{border-color:#fff;background:var(--tomato)}
.sw.sp[aria-checked="true"]{background:var(--mustard);border-color:var(--ink)}
.sw.sp[aria-checked="true"] .knob{background:var(--ink)}
.mv{width:48px;min-height:48px;border:2px solid var(--ink);background:#fff;display:grid;place-items:center}
.mv svg{width:20px;height:20px}
.mv:disabled{opacity:.3;cursor:default}

.more{display:grid;gap:10px;margin-top:10px;padding-top:12px;border-top:1.5px solid var(--line)}
.more[hidden]{display:none}
.del{color:var(--tomato);border-color:var(--tomato)}

@media (min-width:560px){
  .bar{grid-template-columns:auto 1fr;align-items:center}
  .bar .btn{width:auto}
}
