
 @media(max-width:600px){input,textarea,select{font-size:16px !important}}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html,body{overflow-x:hidden;max-width:100vw}html{scrollbar-gutter:stable}
body{
  font-family:'Prompt','Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  background:#f5f5f7;color:#1d1d1f;
  -webkit-font-smoothing:antialiased;
}
:root{
  --ink:#1d1d1f;--muted:#6e6e73;--hair:#e5e5ea;
  --canvas:#fff;--parchment:#f5f5f7;
  --green:#059669;--red:#e63946;--blue:#2563eb;
  --r-sm:8px;--r-md:11px;--r-lg:16px;--r-pill:9999px;
}


.g-nav{background:#111;height:calc(56px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 20px 0;position:sticky;top:0;z-index:300;display:flex;align-items:center;justify-content:space-between}
.nav-logo img{height:32px;filter:brightness(0) invert(1);display:block}
.nav-right{display:flex;align-items:center;gap:12px}
.nav-shop-name{color:rgba(255,255,255,.8);font-size:13px;font-weight:600}
.btn-logout{background:rgba(255,255,255,.12);color:#fff;border:none;border-radius:var(--r-pill);padding:5px 14px;font-family:inherit;font-size:12px;cursor:pointer;transition:background .2s}

.shop-prof{display:flex;align-items:center;gap:6px;cursor:pointer;position:relative;background:rgba(255,255,255,.1);border-radius:9999px;padding:4px 11px 4px 6px;transition:background .2s}
.shop-prof:hover{background:rgba(255,255,255,.18)}
.shop-caret{color:rgba(255,255,255,.7);font-size:10px}
.shop-menu{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border-radius:12px;box-shadow:0 10px 36px rgba(0,0,0,.22);min-width:210px;overflow:hidden;display:none;z-index:50}
.shop-menu.open{display:block}
.shop-close{display:none;position:absolute;top:12px;right:12px;width:32px;height:32px;border:none;border-radius:50%;background:#f0f0f2;color:#1d1d1f;font-size:14px;line-height:1;cursor:pointer;align-items:center;justify-content:center;z-index:2}
.shop-close:active{background:#e2e2e6}
.shop-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1290;display:none;opacity:0;transition:opacity .2s;will-change:opacity;transform:translateZ(0)}
@media(max-width:600px){
  
  .shop-menu{
    position:fixed;top:0;right:0;left:auto;bottom:0;
    width:84vw;max-width:340px;min-width:0;
    border-radius:20px 0 0 20px;overflow-y:auto;overflow-x:hidden;
    box-shadow:-6px 0 20px rgba(0,0,0,.18);z-index:1300;
    transform:translate3d(102%,0,0);transition:transform .27s cubic-bezier(.2,.7,.3,1);will-change:transform;backface-visibility:hidden;display:block;
    padding-bottom:calc(env(safe-area-inset-bottom,0px) + 12px)
  }
  .shop-menu.open{transform:translate3d(0,0,0)}
  .shop-close{display:flex !important}
  .shop-menu-h{padding-right:46px}
  .shop-backdrop.open{display:block;opacity:1}
  body.shop-lock{overflow:hidden}
}
.shop-menu-h{padding:10px 14px;font-size:11px;font-weight:700;color:#6e6e73;background:#f5f5f7;letter-spacing:.04em}
.shop-menu-i{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:13px 14px;font-family:inherit;font-size:14px;font-weight:600;color:#1d1d1f;background:none;border:none;cursor:pointer;text-decoration:none}
.shop-menu-i:hover{background:#f5f5f7}
.shop-menu-i.danger{color:#e63946;border-top:1px solid #f0f0f5}
.btn-logout:hover{background:rgba(255,255,255,.22)}


#loginScreen{
  min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 20px;
}
.login-card{
  background:var(--canvas);border-radius:20px;
  box-shadow:0 4px 32px rgba(0,0,0,.1);
  width:100%;max-width:400px;overflow:hidden;
}
.login-header{background:#111;padding:28px 28px 24px;text-align:center}
.login-header h1{color:#fff;font-size:20px;font-weight:700;margin-bottom:4px}
.login-header p{color:rgba(255,255,255,.6);font-size:13px}
.login-body{padding:28px}


.fg{margin-bottom:16px}
.fg label{display:block;font-size:13px;font-weight:600;color:#3a3a3c;margin-bottom:5px}
.fg input,.fg select,.fg textarea{
  width:100%;background:var(--parchment);border:1.5px solid var(--hair);
  border-radius:10px;color:var(--ink);font-family:inherit;font-size:14px;
  padding:0 12px;height:40px;outline:none;transition:border-color .2s,background .2s;
}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--ink);background:var(--canvas)}
.fg textarea{height:auto;padding:10px 12px;resize:vertical;min-height:64px}
.form-row{display:flex;gap:12px}
.form-row .fg{flex:1}

.name-ac-wrap{position:relative}
.name-dropdown{
  position:absolute;top:calc(100% + 4px);left:0;right:0;
  background:#fff;border:1.5px solid #e5e5ea;border-radius:12px;
  box-shadow:0 8px 24px rgba(0,0,0,.13);z-index:999;
  max-height:300px;overflow-y:auto;
}
.name-dd-item{
  display:flex;align-items:center;gap:10px;padding:8px 12px;
  cursor:pointer;border-bottom:1px solid #f5f5f7;transition:background .12s;
}
.name-dd-item:last-child{border-bottom:none}
.name-dd-item:hover,.name-dd-item.focused{background:#f5f5f7}
.name-dd-thumb{width:36px;height:50px;object-fit:cover;border-radius:4px;flex-shrink:0;background:#f5f5f7}

.name-dd-thumb-ph{width:36px;height:50px;border-radius:4px;flex-shrink:0;
  background:linear-gradient(135deg,#2b2b30,#141416);border:1px solid rgba(255,255,255,.08);
  display:flex;align-items:center;justify-content:center;font-size:15px;opacity:.75}
.name-dd-info{flex:1;min-width:0}
.name-dd-name{font-size:13px;font-weight:600;color:#1d1d1f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.name-dd-sub{font-size:11px;color:#6e6e73;margin-top:2px}
.name-dd-msg{padding:14px 16px;font-size:13px;color:#6e6e73;text-align:center}


.btn-primary{
  background:var(--ink);color:#fff;border:none;border-radius:var(--r-pill);
  padding:9px 20px;font-family:inherit;font-size:14px;font-weight:600;
  cursor:pointer;transition:background .2s,transform .15s;
  display:inline-flex;align-items:center;gap:6px;
}
.btn-primary:hover{background:#3a3a3c}
.btn-primary:active{transform:scale(0.97)}
.btn-primary:disabled{background:#c7c7cc;cursor:default}
.btn-ghost-sm{
  background:transparent;color:var(--muted);border:1px solid var(--hair);
  border-radius:var(--r-pill);padding:5px 12px;font-family:inherit;font-size:12px;
  cursor:pointer;transition:all .2s;
}
.btn-ghost-sm:hover{border-color:var(--ink);color:var(--ink)}
.btn-danger{background:#fff0f0;color:var(--red);border:1px solid #ffc9c9;border-radius:var(--r-pill);padding:5px 12px;font-family:inherit;font-size:12px;cursor:pointer;transition:background .2s}
.btn-danger:hover{background:#ffe0e0}
.btn-line{background:#06C755;color:#fff;border:none;border-radius:var(--r-pill);padding:9px 20px;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px}


#shopScreen{display:none}
.shop-inner{max-width:1100px;margin:0 auto;padding:28px 20px}


.stats{display:flex;gap:14px;margin-bottom:24px;flex-wrap:wrap}
.stat{background:var(--canvas);border-radius:var(--r-lg);padding:16px 20px;flex:1;min-width:120px;box-shadow:0 1px 4px rgba(0,0,0,.06)}
.stat-n{font-size:28px;font-weight:700;color:var(--ink)}
.stat-l{font-size:12px;color:var(--muted);margin-top:2px}


.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:16px}
.search-wrap{position:relative;flex:1;min-width:180px}
.search-wrap input{width:100%;height:36px;background:var(--canvas);border:1px solid var(--hair);border-radius:var(--r-pill);color:var(--ink);font-family:inherit;font-size:13px;padding:0 14px 0 34px;outline:none;transition:border-color .2s}
.search-wrap input:focus{border-color:var(--ink)}
.search-wrap svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:14px;height:14px;stroke:var(--muted);fill:none;pointer-events:none}
.t-sel{height:36px;background:var(--canvas);border:1px solid var(--hair);border-radius:var(--r-pill);color:var(--ink);font-family:inherit;font-size:13px;padding:0 10px;outline:none;cursor:pointer}


.tbl-wrap{background:var(--canvas);border-radius:var(--r-lg);overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.06)}
table{width:100%;border-collapse:collapse;font-size:13px}
thead tr{background:var(--parchment)}
th{padding:10px 14px;text-align:left;font-size:11px;font-weight:700;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--hair)}
td{padding:10px 14px;border-bottom:1px solid rgba(0,0,0,.04);vertical-align:middle}
tr:last-child td{border-bottom:none}
tr:hover td{background:#fafafa}
.td-img{width:36px;height:50px;object-fit:cover;border-radius:4px;display:block}
.td-img-ph{width:36px;height:50px;background:var(--parchment);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:18px}
.td-name{font-weight:600;color:var(--ink)}
.td-actions{display:flex;gap:6px;justify-content:flex-end}
.hdsm{display:none}
@media(min-width:640px){.hdsm{display:table-cell}}


.rbadge{display:inline-block;padding:2px 7px;border-radius:5px;font-size:10px;font-weight:700;letter-spacing:.03em}
.rSEC{background:#7c3aed;color:#fff}.rL{background:linear-gradient(135deg,#f59e0b,#d97706);color:#000}
.rSR{background:#dc2626;color:#fff}.rR{background:#2563eb;color:#fff}
.rUC{background:#059669;color:#fff}.rC{background:#4b5563;color:#fff}.rP{background:linear-gradient(135deg,#ec4899,#8b5cf6);color:#fff}

.rU{background:#0d9488;color:#fff}.rRR{background:#b91c1c;color:#fff}.rRRR{background:#7f1d1d;color:#fff}
.rAR{background:#0891b2;color:#fff}.rSAR{background:linear-gradient(135deg,#f59e0b,#ec4899);color:#fff}
.rUR{background:linear-gradient(135deg,#f59e0b,#ec4899,#8b5cf6);color:#fff}
.rS{background:linear-gradient(135deg,#cbd5e1,#f8fafc);color:#111}.rACE{background:linear-gradient(135deg,#111827,#f59e0b);color:#fff}
.rPROMO{background:linear-gradient(135deg,#ec4899,#8b5cf6);color:#fff}
.stock-ok{color:var(--green);font-weight:600}.stock-out{color:var(--red);font-weight:600}
.stock-hold{color:#b45309;font-weight:600}
.stock-res{display:inline-block;margin-left:6px;font-size:11px;font-weight:700;color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:9999px;padding:1px 8px;white-space:nowrap}
.stock-res-note{display:block;font-size:11px;color:#b45309;margin-top:2px}
.stock-low{display:inline-block;margin-left:6px;font-size:11px;font-weight:700;color:#e63946;background:#fff0f0;border:1px solid #ffc9c9;border-radius:9999px;padding:1px 8px;white-space:nowrap}


.overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);z-index:500;display:none;align-items:center;justify-content:center;padding:20px;overflow-y:auto}
.overlay.on{display:flex}
.form-modal{background:var(--canvas);border-radius:20px;width:100%;max-width:560px;max-height:92vh;overflow-y:auto;position:relative}
.form-hdr{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--hair);position:sticky;top:0;background:var(--canvas);z-index:1}
.form-hdr h3{font-size:17px;font-weight:700}
.form-x{background:none;border:none;font-size:18px;cursor:pointer;color:var(--muted);padding:4px;border-radius:50%;transition:background .2s}
.form-x:hover{background:var(--parchment)}
.form-body{padding:20px 24px 28px}


.img-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;margin-top:10px}
.img-slot{aspect-ratio:3/4;border-radius:8px;overflow:hidden;position:relative;background:var(--parchment);border:1.5px dashed var(--hair);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s}
.img-slot:hover{border-color:var(--ink)}
.img-ov{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.55);font-size:22px;pointer-events:none}
.img-slot.is-up img{opacity:.6}
.img-slot.is-fail{border-color:#e63946}
.img-slot img{width:100%;height:100%;object-fit:cover;display:block}
.img-slot .rm{position:absolute;top:3px;right:3px;background:rgba(0,0,0,.6);color:#fff;border:none;border-radius:50%;width:20px;height:20px;font-size:10px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.img-add{font-size:24px;color:var(--hair)}
.img-slot:hover .img-add{color:var(--muted)}


.prog-wrap{height:4px;background:var(--hair);border-radius:2px;margin-top:10px;display:none}
.prog-bar{height:100%;background:var(--ink);border-radius:2px;transition:width .2s}


.alert{padding:10px 14px;border-radius:10px;font-size:13px;margin-bottom:14px;display:none}
.alert-err{background:#fff0f0;color:var(--red);border:1px solid #ffc9c9}


.spin{width:24px;height:24px;border:2px solid var(--hair);border-top-color:var(--ink);border-radius:50%;animation:spin .7s linear infinite;margin:40px auto}
.ov-rbtn{background:#f0f0f2;color:#3a3a3c;border:none;border-radius:9999px;padding:6px 13px;font-family:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:.15s;white-space:nowrap}
.ov-rbtn:hover{background:#e5e5ea}
.ov-rbtn.on{background:#1d1d1f;color:#fff}
@keyframes spin{to{transform:rotate(360deg)}}
.state-msg{text-align:center;padding:48px 20px;color:var(--muted);font-size:15px}


.shop-info-box{background:var(--canvas);border-radius:var(--r-lg);padding:16px 20px;margin-bottom:20px;box-shadow:0 1px 4px rgba(0,0,0,.06);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.shop-info-box h2{font-size:18px;font-weight:700}
.shop-info-box p{font-size:13px;color:var(--muted);margin-top:3px}


.toast{position:fixed;bottom:max(24px, calc(24px + env(safe-area-inset-bottom)));left:50%;transform:translateX(-50%) translateY(80px);background:var(--ink);color:#fff;border-radius:var(--r-pill);padding:10px 20px;font-size:13px;z-index:999;transition:transform .3s;pointer-events:none;white-space:nowrap}
.color-swatch.selected{border-color:#fff!important;transform:scale(1.25);box-shadow:0 0 0 2px #1d1d1f}
.toast.show{transform:translateX(-50%) translateY(0)}
.field-err{border-color:#e63946!important;box-shadow:0 0 0 3px rgba(230,57,70,.18)!important}


@media(max-width:640px){
  
  .g-nav{height:calc(48px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 14px 0}
  .nav-logo img{height:30px}
  .nav-shop-name{font-size:11px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .btn-logout{font-size:11px;padding:4px 9px}
  
  .shop-tabs{overflow-x:hidden !important;gap:3px !important}
  .shop-tab{flex:1 1 0 !important;padding:9px 4px !important;font-size:11px !important;min-width:0;overflow:hidden;text-overflow:ellipsis}

  
  #loginScreen{padding:24px 14px}
  .login-card{border-radius:14px}
  .login-header{padding:20px 18px 16px}
  .login-body{padding:18px}

  
  .shop-inner{padding:16px 12px}

  
  .stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
  .stat{padding:12px 14px}
  .stat-n{font-size:22px}

  
  .shop-info-box{flex-direction:column;align-items:flex-start;gap:10px}
  .shop-info-box h2{font-size:16px}

  
  #shopTabCards,#shopTabOrders{font-size:13px;padding:8px 12px}

  
  .toolbar{gap:6px}
  .search-wrap{min-width:0;flex:1}

  
  th.hdsm,td.hdsm{display:none !important}
  td{padding:8px 10px}
  .td-actions{flex-wrap:wrap;gap:4px}

  
  .overlay{padding:0;align-items:flex-end}
  .form-modal{
    border-radius:20px 20px 0 0;max-width:100%;
    max-height:92dvh;overflow-y:auto;
    padding-bottom:env(safe-area-inset-bottom,0px);
  }
  .form-body{padding:16px 16px 24px}
  .form-row{flex-direction:column;gap:0}

  .btn-line{font-size:13px;padding:7px 14px}
}



input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}


@media(max-width:600px){
  .btn-logout,.btn-ghost-sm,.btn-danger{min-height:40px;padding-top:10px;padding-bottom:10px}
  .tab-btn{min-height:44px}
}


.perks-card{
  background:linear-gradient(135deg,#fffbeb,#fef9ee);border:1.5px solid #fde68a;
  border-radius:14px;padding:14px 18px;margin-bottom:16px;
}
.perks-title{font-size:12px;font-weight:700;color:#92400e;margin-bottom:10px;letter-spacing:.04em}
.perks-grid{display:flex;flex-wrap:wrap;gap:8px}
.perk-chip{
  display:inline-flex;align-items:center;justify-content:center;gap:5px;
  background:#fff;border:1px solid #fde68a;border-radius:99px;
  padding:5px 12px;font-size:12px;font-weight:600;color:#92400e;white-space:nowrap;
}

@media(max-width:600px){
  .perks-card{padding:12px 12px;border-radius:12px;margin-bottom:12px}
  .perks-title{margin-bottom:8px;font-size:11.5px}
  .perks-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
  .perk-chip{
    padding:7px 8px;font-size:11.5px;gap:4px;
    justify-content:flex-start;overflow:hidden;text-overflow:ellipsis;
  }
}


#btnAutofill{
  display:flex;align-items:center;gap:12px;width:100%;
  background:#1d1d1f;color:#fff;border:none;border-radius:12px;
  padding:13px 15px;margin-bottom:16px;cursor:pointer;text-align:left;
  font-family:inherit;transition:transform .12s,background .2s;
}
#btnAutofill:hover{background:#000}
#btnAutofill:active{transform:scale(.985)}
#btnAutofill[disabled]{opacity:.6;cursor:progress}
#btnAutofill .af-ic{font-size:21px;line-height:1;flex-shrink:0}
#btnAutofill .af-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
#btnAutofill .af-txt b{font-size:14px;font-weight:700}
#btnAutofill .af-txt small{font-size:11.5px;color:#b9b9be;line-height:1.35}
@media(max-width:600px){
  #btnAutofill{padding:12px 13px;gap:10px}
  #btnAutofill .af-txt b{font-size:13.5px}
  #btnAutofill .af-txt small{font-size:11px}
}


.img-slot .img-main{
  position:absolute;top:3px;left:3px;z-index:2;
  background:#e63946;color:#fff;font-size:9.5px;font-weight:700;
  border-radius:5px;padding:2px 6px;letter-spacing:.3px;
}
.img-slot .img-tools{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  display:flex;background:rgba(0,0,0,.62);
  opacity:0;transition:opacity .15s;
}
.img-slot:hover .img-tools{opacity:1}
.img-slot .img-tools button{
  flex:1;border:none;background:none;color:#fff;
  font-size:11px;line-height:1;padding:5px 0;cursor:pointer;
}
.img-slot .img-tools button:disabled{opacity:.3;cursor:default}
.img-slot .img-tools button:not(:disabled):active{background:rgba(255,255,255,.2)}

@media(hover:none),(max-width:600px){
  .img-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr))}
  .img-slot .img-tools{opacity:1}
  .img-slot .img-tools button{padding:7px 0;font-size:12px}
  .img-slot .rm{width:24px;height:24px;font-size:11px}
}


.btn-addcard{white-space:nowrap;flex:0 0 auto}
@media(max-width:600px){
  
  .btn-addcard{flex:1 0 100%;justify-content:center;height:44px;font-size:15px}
  .toolbar{gap:8px}
  .search-wrap{flex:1 1 100%}
  .search-wrap input{height:40px}
  .t-sel{flex:1 1 auto;height:40px}
}


.name-dd-thumb-ph.is-don{
  display:flex;align-items:center;justify-content:center;
  background:#1d1d1f;color:#fff;font-size:9px;font-weight:800;letter-spacing:.3px;
}


@keyframes koySpin { to { transform: rotate(360deg); } }


.img-tips{display:none;flex-wrap:wrap;gap:6px 14px;margin-top:9px;font-size:11.5px;color:#8a8a8e;line-height:1.5}
.img-tips.on{display:flex}
.img-tips b{font-weight:400;color:#1d1d1f;margin-right:2px}


.koy-noimgmenu{
  -webkit-touch-callout:none;   
  -webkit-user-select:none;user-select:none;
  -webkit-user-drag:none;user-drag:none;
  pointer-events:none;          
}
