*{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#f5f6f8;--panel:#fff;--card:#fff;--line:#e5e7eb;
  --text:#111827;--muted:#6b7280;--primary:#16a34a;--primary-2:#15803d;
  --danger:#dc2626;--radius:14px;--shadow:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);
}
html,body{background:var(--bg);color:var(--text)}
body{font-family:system-ui,-apple-system,"Segoe UI",Tahoma,sans-serif;min-height:100vh;padding-bottom:90px;line-height:1.5}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;border-radius:10px;padding:9px 14px;background:#eef0f3;color:var(--text);transition:.15s}
button:hover{background:#e3e6ea}
button.primary{background:var(--primary);color:#fff;font-weight:700}
button.primary:hover{background:var(--primary-2)}
button.ghost{background:#fff;border:1px solid var(--line)}
button.danger{background:var(--danger);color:#fff}
input,select,textarea{font:inherit;background:#fff;color:var(--text);border:1px solid var(--line);border-radius:10px;padding:9px 12px;width:100%;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(22,163,74,.12)}
label{display:block;font-size:13px;color:var(--muted);margin:8px 0 4px}
input[type=checkbox],input[type=color]{width:auto}
input[type=color]{height:38px;padding:2px;cursor:pointer}

.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:10px;padding:12px 14px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.topbar h1{font-size:17px;font-weight:700;flex:1}
.iconbtn{background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 11px;position:relative;line-height:1}
.badge{position:absolute;top:-6px;left:-6px;background:var(--primary);color:#fff;border-radius:999px;font-size:11px;font-weight:700;padding:2px 6px}

.container{max-width:1100px;margin:0 auto;padding:14px}
.section{margin:14px 0}
.section h2{font-size:15px;margin-bottom:10px;color:var(--muted);font-weight:600}

/* Stores as cards */
.branches-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}
.store-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px;text-align:center;transition:.15s;position:relative;overflow:hidden}
.store-card:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--store-color,#16a34a)}
.store-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.08);border-color:var(--store-color,#16a34a)}
.store-logo{width:64px;height:64px;margin:6px auto 10px;border-radius:50%;background:var(--store-color,#16a34a);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:24px;overflow:hidden;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.1)}
.store-logo img{width:100%;height:100%;object-fit:cover}
.store-name{font-weight:700;font-size:14px}
.store-slug{font-size:11px;color:var(--muted);margin-top:2px}

/* Branch header */
.branch-header{background:var(--store-color,#16a34a);color:#fff;padding:24px 20px;display:flex;align-items:center;gap:14px}
.branch-header .logo{width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.2);border:2px solid rgba(255,255,255,.6);display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:700;overflow:hidden;flex-shrink:0}
.branch-header .logo img{width:100%;height:100%;object-fit:cover}
.branch-header .info h1{font-size:20px;font-weight:700;margin:0}
.branch-header .info p{opacity:.85;font-size:13px;margin-top:4px}

.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.toolbar select{width:auto;min-width:170px}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;cursor:pointer;box-shadow:var(--shadow);transition:.15s}
.card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.08)}
.card .thumb{aspect-ratio:1;background:#f3f4f6;overflow:hidden}
.card .thumb img{width:100%;height:100%;object-fit:cover}
.card .info{padding:10px}
.card .sku{font-size:12px;color:var(--muted)}
.card .price{margin-top:4px;font-weight:700;color:var(--primary)}

.empty{padding:40px 20px;text-align:center;color:var(--muted)}

.modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:50;padding:14px}
.modal{background:#fff;border-radius:var(--radius);max-width:680px;width:100%;max-height:92vh;overflow:auto;box-shadow:0 10px 40px rgba(0,0,0,.2)}
.modal .gallery{aspect-ratio:1;background:#f3f4f6}
.modal .gallery img{width:100%;height:100%;object-fit:contain}
.modal .thumbs{display:flex;gap:6px;padding:8px;overflow-x:auto}
.modal .thumbs img{width:60px;height:60px;object-fit:cover;border-radius:8px;border:2px solid transparent;cursor:pointer}
.modal .thumbs img.active{border-color:var(--primary)}
.modal .body{padding:14px}
.modal .row{display:flex;gap:8px;align-items:center;margin-top:12px}

.cart-panel{position:fixed;inset:auto 0 0 0;background:#fff;border-top:1px solid var(--line);transform:translateY(100%);transition:transform .25s;z-index:40;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 -4px 20px rgba(0,0,0,.08)}
.cart-panel.open{transform:translateY(0)}
.cart-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line)}
.cart-list{overflow:auto;padding:8px 14px}
.cart-item{display:flex;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}
.cart-item img{width:52px;height:52px;border-radius:8px;object-fit:cover;background:#f3f4f6}
.cart-item .meta{flex:1}
.cart-item .meta .sku{font-size:12px;color:var(--muted)}
.qty{display:flex;align-items:center;gap:6px}
.qty button{padding:4px 10px}
.cart-foot{padding:12px 14px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px}
.total{display:flex;justify-content:space-between;font-weight:700;font-size:16px}
.actions{display:flex;gap:8px}
.actions button{flex:1}

.admin-form{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:14px;box-shadow:var(--shadow)}
.admin-form h3{font-size:16px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
@media(max-width:560px){.grid2,.grid3{grid-template-columns:1fr}}
.branch-checks{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.branch-checks label{display:flex;align-items:center;gap:6px;background:#f9fafb;padding:6px 12px;border-radius:999px;border:1px solid var(--line);cursor:pointer;margin:0;font-size:14px;color:var(--text)}
.list-item{display:flex;gap:10px;align-items:center;padding:10px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.list-item img{width:52px;height:52px;border-radius:8px;object-fit:cover;background:#f3f4f6}
.list-item .meta{flex:1;min-width:140px}
.list-item .meta .sku{font-size:12px;color:var(--muted)}
.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#111827;color:#fff;padding:12px 20px;border-radius:10px;z-index:100;box-shadow:0 4px 20px rgba(0,0,0,.2)}

.dropzone{border:2px dashed #cbd5e1;background:#f9fafb;border-radius:var(--radius);padding:34px 20px;text-align:center;cursor:pointer;transition:.2s;color:var(--muted)}
.dropzone:hover,.dropzone.over{border-color:var(--primary);background:#f0fdf4;color:var(--primary)}
.dropzone .big{font-size:16px;font-weight:700;color:var(--text);margin-bottom:6px}
.dropzone.over .big{color:var(--primary)}

.global-stores{background:#f0fdf4;border:1px solid #86efac;border-radius:var(--radius);padding:12px;margin-top:12px}
.global-stores .title{font-weight:700;margin-bottom:8px;font-size:14px;color:#166534}

.bulk-list{margin-top:14px}
.bulk-row{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:12px;margin-bottom:10px;display:flex;gap:12px;flex-wrap:wrap;align-items:flex-start;box-shadow:var(--shadow)}
.bulk-row .preview{width:80px;height:80px;border-radius:10px;background:#f3f4f6;flex-shrink:0;overflow:hidden}
.bulk-row .preview img{width:100%;height:100%;object-fit:cover}
.bulk-row .fields{flex:1;min-width:220px}
.bulk-row .sku-line{font-weight:700;font-size:15px;margin-bottom:6px}
.bulk-row .sku-line .count{font-weight:400;color:var(--muted);font-size:13px;margin-inline-start:8px}
.bulk-row .row-inputs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.bulk-row .row-inputs label{margin:0 0 2px;font-size:12px}
.bulk-row .row-inputs input{padding:8px 10px;font-size:14px}

.edit-modal-images{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;margin-top:8px}
.edit-image{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;background:#f3f4f6}
.edit-image img{width:100%;height:100%;object-fit:cover}
.edit-image .del{position:absolute;top:4px;left:4px;background:rgba(220,38,38,.9);color:#fff;border-radius:50%;width:24px;height:24px;padding:0;display:flex;align-items:center;justify-content:center;font-size:14px;line-height:1}

.color-dot{display:inline-block;width:14px;height:14px;border-radius:50%;vertical-align:middle;margin-inline-end:6px;border:1px solid rgba(0,0,0,.1)}