/* Café 7 — manager panel (same visual language as the menu) */
.adm{position:relative;min-height:100%;background:#F4F4F6;color:#000;font-family:var(--font,"Vazirmatn",Tahoma,sans-serif);direction:rtl;letter-spacing:0}
.adm *{box-sizing:border-box;letter-spacing:0!important}
.adm button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.adm-btn{display:inline-grid;place-items:center;height:46px;padding:0 18px;border-radius:12px;border:1.5px solid #000!important;background:#fff!important;font:700 14px/1 var(--font,Vazirmatn)!important;white-space:nowrap;cursor:pointer}
.adm-btn.primary{background:#AF52DF!important;border-color:#AF52DF!important;color:#fff!important;box-shadow:0 10px 22px -12px rgba(175,82,223,.9)}
.adm-btn.danger{border-color:#DA2827!important;color:#DA2827!important}
.adm-btn.sm{height:38px;padding:0 14px;font-size:13px!important}
.adm-btn:active{transform:scale(.97)}.adm-btn[disabled]{opacity:.6}
.adm-in{width:100%;height:44px;padding:0 12px;border:1.5px solid #000;border-radius:12px;background:#fff;font:500 14px/1.6 var(--font,Vazirmatn);color:#000;outline:none}
textarea.adm-in{height:auto;padding:10px 12px;resize:vertical}
.adm-in:focus{border-color:#AF52DF;box-shadow:0 0 0 3px rgba(175,82,223,.18)}
.adm-login{min-height:100vh;display:grid;place-items:center;padding:20px}
.adm-card{width:100%;max-width:380px;display:grid;gap:12px;padding:26px 22px;border:1.5px solid #000;border-radius:24px;background:#fff;text-align:center;box-shadow:0 30px 60px -36px rgba(0,0,0,.35)}
.adm-card h1{margin:0;font:900 22px/1.4 var(--font,Vazirmatn)}.adm-card p{margin:0;font:400 13px/1.9 var(--font,Vazirmatn);color:#5E5E5E}
.adm-demo{padding:10px 12px;border-radius:12px;background:#FBF7FE;border:1.5px dashed #AF52DF;color:#4a2a63!important}
.adm-badge{width:64px;height:64px;margin:0 auto;border-radius:50%;overflow:hidden}.adm-badge svg,.adm-badge img{width:100%;height:100%;display:block}
.adm-badge.sm{width:40px;height:40px;margin:0;flex:none}
.adm-top{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border-bottom:1.5px solid #000}
.adm-tt{flex:1;display:flex;flex-direction:column;min-width:0}.adm-tt b{font:800 15px/1.5 var(--font,Vazirmatn)}.adm-tt small{font:500 11.5px/1.4 var(--font,Vazirmatn);color:#5E5E5E}
.adm-save{height:40px;padding:0 16px;border-radius:12px;background:#EFEFF2!important;color:#5E5E5E!important;font:700 13px/1 var(--font,Vazirmatn)!important;transition:background .2s,color .2s}
.adm-save.on{background:#AF52DF!important;color:#fff!important;box-shadow:0 10px 22px -10px rgba(175,82,223,.9);animation:admPulse 1.6s ease-in-out infinite}
@keyframes admPulse{50%{box-shadow:0 0 0 6px rgba(175,82,223,.25),0 10px 22px -10px rgba(175,82,223,.9)}}
.adm-tabs{position:sticky;top:65px;z-index:4;display:flex;gap:8px;padding:10px 16px;overflow-x:auto;background:#F4F4F6;scrollbar-width:none}
.adm-tabs button{flex:none;height:36px;padding:0 16px;border-radius:999px;border:1.5px solid #000!important;background:#fff!important;font:700 13px/1 var(--font,Vazirmatn)!important}
.adm-tabs button.on{background:#000!important;color:#fff!important}
.adm-body{padding:6px 16px 90px;max-width:900px;margin:0 auto}
.adm-foot{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:center;gap:10px;padding:10px;background:rgba(244,244,246,.94);backdrop-filter:blur(8px);border-top:1px solid #ddd;z-index:5}
.adm-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0}.adm-tools .adm-in{flex:1 1 180px}
.adm-hint{margin:6px 2px 10px;font:400 12.5px/1.9 var(--font,Vazirmatn);color:#5E5E5E}
.adm-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.adm-list li{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px;border:1.5px solid #000;border-radius:16px;background:#fff}
.adm-list li.off{opacity:.55}.adm-list li.empty{display:block;text-align:center;color:#5E5E5E}
.adm-list li>img{width:52px;height:52px;border-radius:12px;object-fit:cover;border:1.5px solid #000;flex:none}
.adm-name{flex:1 1 140px;min-width:0}.adm-name b{display:block;font:800 14px/1.5 var(--font,Vazirmatn)}.adm-name small{font:500 11.5px/1.4 var(--font,Vazirmatn);color:#5E5E5E}
.adm-price{display:flex;align-items:center;gap:6px}.adm-price input{width:120px;height:38px;padding:0 10px;border:1.5px solid #000;border-radius:10px;font:800 14px/1 var(--font,Vazirmatn);text-align:center}
.adm-price span{font:500 12px/1 var(--font,Vazirmatn);color:#5E5E5E}
.adm-sw{position:relative;display:inline-flex;align-items:center;gap:8px;cursor:pointer;font:600 12.5px/1.6 var(--font,Vazirmatn);user-select:none}
.adm-sw input{position:absolute;opacity:0;width:1px;height:1px}
.adm-sw i{position:relative;flex:none;width:42px;height:26px;border-radius:13px;background:#D8D8DE;transition:background .2s}
.adm-sw i::after{content:"";position:absolute;top:3px;right:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .25s cubic-bezier(.25,1.35,.5,1)}
.adm-sw input:checked+i{background:#34C759}.adm-sw input:checked+i::after{transform:translateX(-16px)}
.adm-sw input:focus-visible+i{outline:2px solid #AF52DF;outline-offset:2px}
.adm-sw.big{margin:8px 0;font-size:13px}
.adm-ops{display:flex;gap:4px;margin-inline-start:auto}
.adm-ops button{height:34px;min-width:34px;padding:0 10px;border-radius:9px;border:1.5px solid #000!important;background:#fff!important;font:700 11.5px/1 var(--font,Vazirmatn)!important}
.adm-ops .ed{background:#000!important;color:#fff!important}.adm-ops .del{border-color:#DA2827!important;color:#DA2827!important}
.adm-list.cats li .adm-in{flex:1 1 140px;height:40px}
.adm-list.cats small{font:500 11.5px/1 var(--font,Vazirmatn);color:#5E5E5E}
.adm-ic{width:48px;height:48px;border-radius:12px;border:1.5px dashed #000!important;background:#fff!important;display:grid;place-items:center;flex:none}.adm-ic img{width:30px;height:30px}
.adm-icons{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding:12px;border:1.5px dashed #AF52DF;border-radius:16px;background:#FBF7FE}
.adm-icons button{width:46px;height:46px;border-radius:12px;background:#fff!important;border:1.5px solid #000!important;display:grid;place-items:center}.adm-icons img{width:30px;height:30px}
.adm-panel{display:grid;gap:10px;margin-top:8px;padding:18px 16px;border:1.5px solid #000;border-radius:20px;background:#fff}
.adm-panel h3{margin:8px 0 0;font:800 15px/1.5 var(--font,Vazirmatn)}
.adm-f{display:grid;gap:5px}.adm-f span{font:600 12.5px/1.6 var(--font,Vazirmatn);color:#333}
.adm-2{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:end}
.adm-preview{display:grid;gap:4px;padding:10px 12px;border-radius:12px;background:#F7F7F7;font:500 12.5px/1.8 var(--font,Vazirmatn)}
.adm-verdict{min-height:24px;font:800 15px/1.6 var(--font,Vazirmatn)}.adm-verdict.ok{color:#1F9D55}.adm-verdict.bad{color:#DA2827}
.adm-likes{display:grid;gap:6px}.adm-likes div{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:12px;background:#F7F7F7}
.adm-likes span{width:22px;text-align:center;font:800 13px/1 var(--font,Vazirmatn);color:#AF52DF}.adm-likes img{width:34px;height:34px;border-radius:9px;object-fit:cover}
.adm-likes b{flex:1;font:700 13px/1.5 var(--font,Vazirmatn)}.adm-likes em{font:700 12.5px/1 var(--font,Vazirmatn);font-style:normal;color:#DA2827}
.adm-photo{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.adm-photo img{width:84px;height:118px;object-fit:cover;border-radius:14px;border:1.5px solid #000}
.adm-photo small{flex-basis:100%;font:400 11.5px/1.6 var(--font,Vazirmatn);color:#5E5E5E}
.adm-acts{display:flex;gap:8px;align-items:center;margin-top:6px}.adm-acts span{flex:1}
.adm-toast{position:fixed;left:50%;top:14px;z-index:40;transform:translate(-50%,-90px);padding:10px 16px;border-radius:14px;background:#000;color:#fff;font:700 13px/1.6 var(--font,Vazirmatn);transition:transform .35s cubic-bezier(.25,1.2,.4,1);max-width:90vw;text-align:center}
.adm-toast.show{transform:translate(-50%,0)}.adm-toast.bad{background:#DA2827}
/* ---- sheets, pickers, dialogs: fast spring, soft fade ---- */
.adm-layer{position:fixed;inset:0;z-index:30;display:grid;place-items:end center}
.adm-layer[hidden]{display:none}
.adm-scrim{position:absolute;inset:0;background:rgba(10,8,20,.42);opacity:0;transition:opacity .2s ease;backdrop-filter:blur(2px)}
.adm-layer.open .adm-scrim{opacity:1}
.adm-sheet{position:relative;width:100%;max-width:520px;max-height:88vh;overflow-y:auto;overscroll-behavior:contain;display:grid;gap:10px;padding:8px 16px 20px;border-radius:26px 26px 0 0;background:#fff;
  transform:translateY(105%);transition:transform .32s cubic-bezier(.2,.95,.25,1);box-shadow:0 -20px 50px -20px rgba(0,0,0,.35)}
.adm-sheet.wide{max-width:640px}
.adm-layer.open .adm-sheet{transform:none}
.adm-grab{width:100%;height:22px;display:grid;place-items:center;cursor:grab;touch-action:none}
.adm-grab::before{content:"";width:42px;height:5px;border-radius:3px;background:#D5D5DC}
.adm-sheet h2{margin:0 0 2px;font:900 17px/1.5 var(--font,Vazirmatn)}
.adm-opts{display:grid;gap:8px}
.adm-opts.grid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr))}
.adm-opt{position:relative;display:flex;align-items:center;gap:12px;min-height:54px;padding:8px 12px;border-radius:16px;border:1.5px solid #E6E6EC!important;background:#fff!important;text-align:right;
  opacity:0;transform:translateY(10px);animation:admIn .28s cubic-bezier(.2,.95,.25,1) forwards;animation-delay:calc(var(--i) * 22ms);transition:border-color .15s,background-color .15s,transform .12s}
.adm-opt:active{transform:scale(.98)}
.adm-opt.on{border-color:#AF52DF!important;background:#FBF7FE!important}
.adm-opt .ic{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#F4F4F6;font-size:22px;line-height:1}
.adm-opt .ic img{width:30px;height:30px;border-radius:8px;object-fit:cover}
.adm-opt .tx{flex:1;display:flex;flex-direction:column;min-width:0}.adm-opt .tx b{font:800 14px/1.6 var(--font,Vazirmatn)}.adm-opt .tx small{font:400 12px/1.6 var(--font,Vazirmatn);color:#5E5E5E}
.adm-opt .ck{flex:none;width:22px;height:22px;border-radius:50%;border:1.5px solid #CFCFD6;transition:all .18s}
.adm-opt.on .ck{border-color:#AF52DF;background:#AF52DF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/14px no-repeat;transform:scale(1.08)}
.adm-opts.grid .adm-opt{flex-direction:column;justify-content:center;min-height:64px;padding:8px}.adm-opts.grid .ck{display:none}.adm-opts.grid .ic{background:none}
@keyframes admIn{to{opacity:1;transform:none}}
.adm-inpick{position:absolute;inset:0;z-index:4;display:flex;align-items:flex-end;justify-content:center;background:rgba(10,8,20,.28);opacity:0;transition:opacity .18s}
.adm-inpick.open{opacity:1}
.adm-inpick-card{width:100%;max-width:560px;max-height:84vh;overflow-y:auto;display:grid;gap:10px;padding:12px 16px 18px;border-radius:24px 24px 0 0;background:#fff;box-shadow:0 -14px 40px -16px rgba(0,0,0,.3);transform:translateY(40px);transition:transform .28s cubic-bezier(.2,.95,.25,1)}
.adm-inpick.open .adm-inpick-card{transform:none}
.adm-back{justify-self:start;height:30px;padding:0 10px;border-radius:9px;background:#F4F4F6!important;font:700 12.5px/1 var(--font,Vazirmatn)!important}
.adm-pick{position:relative;display:flex;align-items:center;gap:8px;width:100%;min-height:44px;padding:0 12px 0 34px;border:1.5px solid #000!important;border-radius:12px;background:#fff!important;text-align:right;transition:box-shadow .15s}
.adm-pick b{flex:1;font:700 13.5px/1.5 var(--font,Vazirmatn);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.adm-pick i{position:absolute;left:12px;top:50%;width:9px;height:9px;margin-top:-7px;border-left:2px solid #000;border-bottom:2px solid #000;transform:rotate(-45deg)}
.adm-pick:active{box-shadow:0 0 0 3px rgba(175,82,223,.18)}
.adm-tools .adm-pick{flex:1 1 150px;width:auto}
.adm-ask{display:flex;flex-direction:column;align-items:center;gap:10px;padding:8px 4px 4px;text-align:center}
.adm-ask p{margin:0;font:600 14.5px/1.9 var(--font,Vazirmatn)}
.adm-ask-ic{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#F1E6F9;color:#AF52DF;font:900 24px/1 var(--font,Vazirmatn);animation:admPop .4s cubic-bezier(.25,1.4,.5,1)}
.adm-ask-ic.danger{background:#FDE8E8;color:#DA2827}
@keyframes admPop{from{transform:scale(.4);opacity:0}}
.adm-btn.danger.solid{background:#DA2827!important;color:#fff!important}
.adm-btn.big{height:54px;font-size:15px!important}
.adm-body.in{animation:admBody .26s ease}
@keyframes admBody{from{opacity:0;transform:translateY(6px)}}
.adm-list li{animation:admIn .3s cubic-bezier(.2,.95,.25,1) backwards;animation-delay:calc(var(--i,0) * 18ms);opacity:1;transform:none}
/* ---- prices ---- */
.adm-pct{display:flex;align-items:center;justify-content:center;gap:12px}
.adm-pct button{width:52px;height:52px;border-radius:50%;border:1.5px solid #000!important;background:#fff!important;font:800 24px/1 var(--font,Vazirmatn)!important}
.adm-pct label{display:flex;align-items:baseline;gap:4px}.adm-pct input{width:110px;height:56px;border:1.5px solid #000;border-radius:16px;text-align:center;font:900 26px/1 var(--font,Vazirmatn)}
.adm-pct span{font:900 22px/1 var(--font,Vazirmatn);color:#AF52DF}
.adm-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.adm-chips button{height:38px;padding:0 14px;border-radius:999px;border:1.5px solid #000!important;background:#fff!important;font:700 13px/1 var(--font,Vazirmatn)!important;transition:all .15s}
.adm-chips button.on{background:#000!important;color:#fff!important}
.adm-scope{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.adm-scope button{display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 6px;border-radius:16px;border:1.5px solid #E6E6EC!important;background:#fff!important;animation:admIn .3s cubic-bezier(.2,.95,.25,1) backwards;animation-delay:calc(var(--i) * 40ms);transition:all .15s}
.adm-scope button i{font-style:normal;font-size:22px}.adm-scope b{font:800 13px/1.5 var(--font,Vazirmatn)}.adm-scope small{font:500 11px/1.4 var(--font,Vazirmatn);color:#5E5E5E}
.adm-scope button.on{border-color:#AF52DF!important;background:#FBF7FE!important;box-shadow:0 8px 20px -12px rgba(175,82,223,.8)}
/* ---- cashier ---- */
.adm-code{display:flex;gap:8px}.adm-code .adm-in{flex:1;font:800 18px/1 ui-monospace,Menlo,monospace!important;letter-spacing:3px!important;text-transform:uppercase;text-align:center}
.adm-verdict .ok{color:#1F9D55}.adm-verdict .bad{color:#DA2827}
.adm-pos{display:grid;gap:6px}
.adm-pos.chosen{padding:8px;border-radius:16px;background:#FBF7FE;border:1.5px dashed #AF52DF}
.adm-posi{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:14px;background:#F7F7F7;transition:background .15s}
.adm-posi.on{background:#fff;box-shadow:0 0 0 1.5px #AF52DF inset}
.adm-posi img{width:40px;height:40px;border-radius:10px;object-fit:cover;flex:none}
.adm-posi span{flex:1;display:flex;flex-direction:column;min-width:0}.adm-posi b{font:700 13px/1.5 var(--font,Vazirmatn)}.adm-posi small{font:500 11.5px/1.4 var(--font,Vazirmatn);color:#5E5E5E}
.adm-step{display:flex;align-items:center;gap:6px}
.adm-step button{width:32px;height:32px;border-radius:50%;border:1.5px solid #000!important;background:#fff!important;font:800 17px/1 var(--font,Vazirmatn)!important}
.adm-step output{min-width:20px;text-align:center;font:800 14px/1 var(--font,Vazirmatn)}
.adm-bill{display:grid;gap:6px;padding:12px 14px;border-radius:16px;background:#000;color:#fff}
.adm-bill div{display:flex;justify-content:space-between;align-items:center;font:600 13px/1.6 var(--font,Vazirmatn)}
.adm-bill .muted{opacity:.5}.adm-bill .off b{color:#7CF0B1}
.adm-bill .final{padding-top:8px;border-top:1px dashed rgba(255,255,255,.35)}.adm-bill .final b{font:900 22px/1.3 var(--font,Vazirmatn);color:#E9CCFA}
/* ---- label icons with small motions (also used on the menu) ---- */
.adm-tg{display:inline-block;margin-inline-start:2px}
.tg-flame{animation:tgFlame 1.1s ease-in-out infinite;transform-origin:50% 90%}
.tg-sparkle{animation:tgSpark 1.6s ease-in-out infinite}
.tg-steam{animation:tgSteam 2s ease-in-out infinite}
.tg-twinkle{animation:tgTwinkle 1.4s ease-in-out infinite}
.tg-wiggle{animation:tgWiggle 1.2s ease-in-out infinite;transform-origin:50% 20%}
.tg-sway{animation:tgSway 2.2s ease-in-out infinite;transform-origin:50% 100%}
.tg-beat{animation:tgBeat 1.1s ease-in-out infinite}
.tg-bounce{animation:tgBounce 1.2s cubic-bezier(.3,1.4,.5,1) infinite}
.tg-float{animation:tgFloat 2.4s ease-in-out infinite}
.tg-fall{animation:tgFall 2.6s ease-in-out infinite}
@keyframes tgFlame{0%,100%{transform:scale(1) rotate(-3deg)}50%{transform:scale(1.12,1.18) rotate(3deg)}}
@keyframes tgSpark{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.2) rotate(18deg)}}
@keyframes tgSteam{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@keyframes tgTwinkle{0%,100%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.18);filter:brightness(1.3)}}
@keyframes tgWiggle{0%,100%{transform:rotate(0)}25%{transform:rotate(-14deg)}75%{transform:rotate(14deg)}}
@keyframes tgSway{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}
@keyframes tgBeat{0%,100%{transform:scale(1)}15%{transform:scale(1.22)}30%{transform:scale(1)}45%{transform:scale(1.14)}}
@keyframes tgBounce{0%,100%{transform:translateY(0)}40%{transform:translateY(-4px)}}
@keyframes tgFloat{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-3px) rotate(4deg)}}
@keyframes tgFall{0%{transform:translateY(-2px) rotate(-10deg)}50%{transform:translateY(2px) rotate(10deg)}100%{transform:translateY(-2px) rotate(-10deg)}}
@media (prefers-reduced-motion:reduce){[class*="tg-"],.adm-opt,.adm-list li,.adm-scope button{animation:none!important;opacity:1;transform:none}}
@media (min-width:760px){.adm-layer{place-items:center}.adm-sheet{border-radius:26px;transform:translateY(24px) scale(.97);opacity:0;transition:transform .26s cubic-bezier(.2,.95,.25,1),opacity .2s}.adm-layer.open .adm-sheet{opacity:1}}
@media (min-width:760px){.adm-inpick{align-items:center}.adm-inpick-card{border-radius:24px}}
