/* ───────── الکتریکالا · تم برند (قرمز لوگو + خاکستری ذغالی) ───────── */
@font-face{font-family:"Vazirmatn Local";src:local("Vazirmatn"),url(fonts/Vazirmatn.woff2?v=1) format("woff2");font-weight:100 900;font-display:swap}
:root{
  --red:#dd1414;--red-d:#b80f0f;--char:#3d3d40;--char-d:#2a2a2d;
  --bg:#f5f5f7;--card:#fff;--ink:#1d1d20;--muted:#6b6b73;--line:#e5e5ea;
  --pri:#dd1414;--pri-ink:#fff;--pri-text:#c20f0f;--pri-soft:#dd141414;
  --ok:#16794c;--warn:#b26a00;--bad:#c0262d;--side:#2a2a2d;--side-ink:#d8d8de;
  --r:14px;--shadow:0 1px 2px #0000000d,0 6px 20px -8px #00000022;
  --stripes:repeating-linear-gradient(0deg,#ffffff1f 0 1px,transparent 1px 5px);
  --nav-h:62px;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#111113;--card:#1b1b1f;--ink:#ececf0;--muted:#9a9aa5;--line:#2c2c33;
  --pri:#e8281f;--pri-text:#ff6a62;--pri-soft:#ff6a621c;--side:#0c0c0e;--shadow:0 1px 2px #0006,0 8px 24px -10px #000a;
  --ok:#3ecf8e;--warn:#f0a530;--bad:#ff6b6b}}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{font-size:15px;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Vazirmatn","Vazirmatn Local",Tahoma,"Segoe UI",sans-serif;line-height:1.75;direction:rtl;-webkit-text-size-adjust:100%;overflow-x:hidden}
a{color:var(--pri-text);text-decoration:none}a:hover{text-decoration:underline}
img{max-width:100%}
h1{font-size:1.55rem;margin:.2rem 0 1rem;font-weight:700}h2{font-size:1.1rem;margin:.2rem 0 .8rem;font-weight:700}h3{font-size:1rem;margin:1rem 0 .4rem}
.muted{color:var(--muted)}small{font-size:.82rem}.center{text-align:center}.pre{white-space:pre-line}
::selection{background:var(--red);color:#fff}

/* ───── نوار بالا ───── */
.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:.8rem;padding:.5rem 1rem;background:color-mix(in srgb,var(--card) 88%,transparent);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line);border-top:3px solid var(--red)}
.brand{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:1.08rem;color:var(--ink)}.brand:hover{text-decoration:none}
.logo-tile{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#fff;border:1px solid var(--line);flex:none;overflow:hidden}
.logo-tile img{width:30px;height:30px;object-fit:contain}
.menu-btn{display:none;background:none;border:0;font-size:1.5rem;color:var(--ink);cursor:pointer;width:42px;height:42px;border-radius:10px}
.menu-btn:active{background:var(--pri-soft)}
.gsearch{flex:1;max-width:520px}.gsearch input{width:100%;background:var(--bg);border-radius:99px;padding:.45rem 1rem}
.who{display:flex;gap:.6rem;align-items:center;margin-inline-start:auto;font-size:.9rem}.who form{margin:0}
.avatar{width:32px;height:32px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font-weight:700;font-size:.9rem;flex:none}

/* ───── منوی کناری ───── */
.side{position:fixed;top:0;bottom:0;right:0;width:236px;background:var(--side);padding:4.6rem .7rem 1rem;overflow:auto;z-index:30}
.side::before{content:"";position:absolute;inset:0 0 auto 0;height:100%;background:var(--stripes);opacity:.35;pointer-events:none;mask-image:linear-gradient(180deg,#000,transparent 40%);-webkit-mask-image:linear-gradient(180deg,#000,transparent 40%)}
.side a{position:relative;display:flex;align-items:center;gap:.5rem;color:var(--side-ink);padding:.5rem .85rem;border-radius:10px;margin:2px 0;transition:background .15s}
.side a:hover{background:#ffffff14;text-decoration:none}
.side a.on{background:var(--red);color:#fff;font-weight:600;box-shadow:0 6px 16px -8px var(--red)}
.grp{color:#8c8c99;font-size:.74rem;margin:1.1rem .85rem .3rem;letter-spacing:.02em}
.side-search{display:none;margin:0 0 .8rem}.side-search input{width:100%;background:#ffffff12;border-color:#ffffff22;color:#fff}
.scrim{display:none}
main{padding:1.3rem;max-width:1400px}main.with-side{margin-right:236px}

/* ───── کارت‌ها و شبکه ───── */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.05rem 1.15rem;margin:0 0 1rem;box-shadow:var(--shadow)}
.grid{display:grid;gap:1rem;margin-bottom:1rem}.cols2{grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr))}.cols4{grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr))}
.grid>.card{margin:0}
.stat{display:block;color:var(--ink);position:relative;overflow:hidden}.stat:hover{text-decoration:none;border-color:var(--red);transform:translateY(-1px)}.stat{transition:transform .15s,border-color .15s}
.stat .num{font-size:2.1rem;font-weight:800;line-height:1.2}
.stat.accent{background:linear-gradient(135deg,var(--red),var(--red-d));color:#fff;border-color:var(--red)}
.stat.accent::after{content:"";position:absolute;inset:0;background:var(--stripes);opacity:.6;pointer-events:none}
.stat.accent .muted,.stat.accent small{color:#ffffffcc}
.head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:.8rem}.head h1{margin:0}
.kv{display:flex;justify-content:space-between;gap:1rem;padding:.4rem 0;border-bottom:1px dashed var(--line)}.kv:last-of-type{border:0}
.ok{color:var(--ok)}.warn{color:var(--warn)}.bad{color:var(--bad)}

/* ───── فرم‌ها و دکمه‌ها ───── */
input,select,textarea{font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.5rem .75rem;max-width:100%;min-height:40px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--red);outline-offset:-1px;border-color:transparent}
textarea{width:100%;resize:vertical}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:10px;padding:.45rem 1rem;min-height:40px;transition:border-color .15s,background .15s}
.btn:hover{text-decoration:none;border-color:var(--red)}.btn:active{transform:scale(.98)}
.btn.primary{background:var(--red);color:#fff;border-color:var(--red);font-weight:600}.btn.primary:hover{background:var(--red-d)}
.btn.ok{background:var(--ok);color:#fff;border-color:var(--ok)}.btn.danger{background:var(--bad);color:#fff;border-color:var(--bad)}.btn.block{width:100%}.btn.sm{min-height:32px;padding:.2rem .7rem;font-size:.85rem}
.btn[disabled]{opacity:.55;cursor:wait}
.link{background:none;border:0;color:var(--pri-text);cursor:pointer;font:inherit;padding:0}
.filters{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.grow{flex:1;min-width:180px}
.formcol{display:flex;flex-direction:column;gap:.8rem;max-width:560px}.formcol label,.formgrid label{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem;color:var(--muted)}
.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:.8rem;align-items:end;margin-top:.8rem}
.inline{display:inline-flex;gap:.4rem;align-items:center;flex-wrap:wrap;margin:0}.btns{display:flex;gap:.5rem;flex-wrap:wrap}

/* ───── جدول ───── */
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:10px}
table{width:100%;border-collapse:collapse}th,td{padding:.55rem .65rem;text-align:right;border-bottom:1px solid var(--line);vertical-align:top}
thead th{font-size:.82rem;color:var(--muted);font-weight:600;white-space:nowrap;background:color-mix(in srgb,var(--bg) 60%,var(--card))}
tbody tr:hover td{background:var(--pri-soft)}
tfoot th{border-top:2px solid var(--line)}.model{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.92rem;white-space:nowrap}
table.specs th{width:34%;color:var(--muted);font-weight:500}.cmp-table th:first-child{position:sticky;right:0;background:var(--card)}
tr.dim{opacity:.55}.note-cell{max-width:280px;color:var(--muted)}
.badge{display:inline-block;font-size:.75rem;padding:.05rem .6rem;border-radius:99px;background:#8882;color:var(--ink);white-space:nowrap}
.q-full{background:#16794c22;color:var(--ok)}.q-partial{background:#b26a0022;color:var(--warn)}.q-empty{background:#c0262d22;color:var(--bad)}
.s-open{background:var(--pri-soft);color:var(--pri-text)}.s-done{background:#16794c22;color:var(--ok)}.s-deleted{background:#c0262d22;color:var(--bad)}
.tabs{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:.8rem}.tabs a{padding:.3rem .95rem;border-radius:99px;border:1px solid var(--line);background:var(--card);color:var(--ink)}
.tabs a:hover{text-decoration:none;border-color:var(--red)}
.tabs a.on{background:var(--red);color:#fff;border-color:var(--red)}.tabs .sp{flex:1}
.pager{display:flex;gap:1rem;justify-content:center;align-items:center;margin:1rem 0}.pager a{padding:.35rem .95rem;border:1px solid var(--line);border-radius:10px;background:var(--card)}
.timeline{list-style:none;margin:0;padding:0}.timeline li{padding:.55rem 0;border-bottom:1px dashed var(--line)}.timeline li:last-child{border:0}
.note{background:#8881;border-inline-start:3px solid var(--red);padding:.35rem .7rem;margin:.35rem 0;border-radius:6px;white-space:pre-line}
.row-item{padding:.35rem 0;border-bottom:1px dashed var(--line)}
.chips{display:flex;flex-wrap:wrap;gap:.4rem}.chip{border:1px solid var(--line);border-radius:8px;padding:.1rem .6rem;font-size:.85rem;font-family:ui-monospace,Menlo,monospace}
.flash{padding:.65rem 1rem;border-radius:12px;margin-bottom:1rem;border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow)}.flash.ok{border-color:var(--ok);color:var(--ok)}.flash.error{border-color:var(--bad);color:var(--bad)}.flash.warn{border-color:var(--warn);color:var(--warn)}
.cmpbar{position:sticky;top:3.8rem;z-index:10;background:var(--card);border:1px solid var(--red);border-radius:var(--r);padding:.5rem 1rem;margin-bottom:.8rem;display:flex;gap:.8rem;align-items:center;flex-wrap:wrap}
details summary{cursor:pointer;color:var(--pri-text);margin:.6rem 0}
code{background:#8882;border-radius:6px;padding:.05rem .4rem;font-size:.85em}

/* ───── قیمت و موجودی ───── */
.live-stats{display:flex;gap:.6rem;flex-wrap:wrap;margin:.3rem 0 1rem}
.pill{display:inline-flex;align-items:center;gap:.4rem;padding:.2rem .8rem;border-radius:99px;border:1px solid var(--line);background:var(--card);font-size:.85rem}
.dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}.dot.ok{background:var(--ok)}.dot.bad{background:var(--bad)}
.rcards{display:none}
.rcard{border:1px solid var(--line);border-radius:12px;padding:.7rem .9rem;margin-bottom:.6rem;background:var(--card)}
.rcard .t{font-weight:700;margin-bottom:.3rem}.rcard .kv{padding:.2rem 0;font-size:.9rem}.rcard .kv span{color:var(--muted)}
.rtable td{max-width:320px}
.alert{border-inline-start:4px solid var(--bad);background:#c0262d12;padding:.6rem .9rem;border-radius:10px;margin-bottom:1rem}

/* ───── صفحه‌ی ورود ───── */
.auth-wrap{min-height:100dvh;display:grid;place-items:center;padding:1rem;background:radial-gradient(1200px 500px at 90% -10%,var(--pri-soft),transparent),var(--bg)}
.auth{display:grid;grid-template-columns:1.05fr 1fr;width:min(920px,100%);background:var(--card);border-radius:22px;overflow:hidden;box-shadow:0 30px 70px -30px #0006;border:1px solid var(--line)}
.auth-brand{position:relative;padding:2.4rem 2rem;color:#fff;background:linear-gradient(160deg,var(--red) 0%,var(--red-d) 55%,var(--char-d) 100%);display:flex;flex-direction:column;justify-content:space-between;gap:2rem;min-height:440px}
.auth-brand::before{content:"";position:absolute;inset:0;background:var(--stripes);opacity:.7;pointer-events:none}
.auth-brand>*{position:relative}
.auth-brand .logo-tile{width:84px;height:84px;border-radius:20px;border:0;box-shadow:0 14px 30px -12px #0008}.auth-brand .logo-tile img{width:68px;height:68px}
.auth-brand h2{font-size:1.5rem;line-height:1.5;margin:1rem 0 .3rem}.auth-brand p{margin:0;color:#ffffffd9}
.auth-brand ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem;font-size:.92rem}.auth-brand li::before{content:"⚡";margin-inline-end:.5rem}
.auth-form{padding:2.4rem 2rem;display:flex;flex-direction:column;justify-content:center}
.auth-form h1{margin:0 0 .2rem}.auth-form form{display:flex;flex-direction:column;gap:.95rem;margin-top:1.2rem}
.auth-form label{display:flex;flex-direction:column;gap:.25rem;color:var(--muted);font-size:.9rem}
.auth-form .btn{min-height:46px;font-size:1rem}
.pw{position:relative}.pw input{width:100%;padding-inline-end:3rem}.pw button{position:absolute;inset-block:0;inset-inline-end:.3rem;background:none;border:0;cursor:pointer;color:var(--muted);padding:0 .6rem;font-size:1.1rem}
.back-home{margin-top:1.2rem;text-align:center;font-size:.9rem}
.login-card{max-width:400px;margin:8vh auto}.login-card form{display:flex;flex-direction:column;gap:.9rem;margin-top:1rem}.login-card label{display:flex;flex-direction:column;gap:.25rem;color:var(--muted);font-size:.9rem}

/* ───── صفحه‌ی اول (معرفی) ───── */
.lp-head{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem max(1rem,calc((100% - 1160px)/2));background:color-mix(in srgb,var(--card) 86%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);border-top:3px solid var(--red)}
.lp-nav{display:flex;gap:1.2rem;align-items:center}.lp-nav a.t{color:var(--muted);font-size:.92rem}.lp-nav a.t:hover{color:var(--ink);text-decoration:none}
.lp{max-width:1160px;margin:0 auto;padding:0 1rem}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center;padding:3.5rem 0 3rem}
.eyebrow{display:inline-flex;gap:.5rem;align-items:center;padding:.2rem .9rem;border-radius:99px;background:var(--pri-soft);color:var(--pri-text);font-size:.85rem;font-weight:600}
.hero h1{font-size:clamp(1.9rem,4.4vw,3rem);line-height:1.35;margin:.9rem 0;font-weight:800;letter-spacing:-.01em}
.hero h1 em{font-style:normal;color:var(--red)}
.hero p.lead{font-size:1.08rem;color:var(--muted);max-width:34rem;margin:0 0 1.6rem}
.hero .btns .btn{min-height:48px;padding:.5rem 1.5rem;font-size:1rem}
.hero-art{position:relative;aspect-ratio:1;max-width:430px;width:100%;margin-inline:auto;border-radius:32px;background:linear-gradient(150deg,var(--char) 0%,var(--char-d) 100%);display:grid;place-items:center;overflow:hidden;box-shadow:0 40px 80px -40px #000a}
.hero-art::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,#ffffff14 0 1px,transparent 1px 6px)}
.hero-art::after{content:"";position:absolute;width:75%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,#dd141455,transparent);inset-block-start:-20%;inset-inline-end:-20%}
.hero-art .tile{position:relative;z-index:1;width:56%;aspect-ratio:1;background:#fff;border-radius:28px;display:grid;place-items:center;box-shadow:0 30px 60px -20px #000c}
.hero-art .tile img{width:82%;height:auto;aspect-ratio:1}
.float{position:absolute;z-index:2;background:var(--card);color:var(--ink);border-radius:14px;padding:.45rem .85rem;font-size:.85rem;font-weight:600;box-shadow:0 14px 30px -12px #0009;display:flex;gap:.4rem;align-items:center;animation:bob 6s ease-in-out infinite}
.float:nth-of-type(1){top:9%;inset-inline-start:6%}.float:nth-of-type(2){bottom:14%;inset-inline-start:4%;animation-delay:-2s}.float:nth-of-type(3){top:20%;inset-inline-end:5%;animation-delay:-4s}
@keyframes bob{50%{transform:translateY(-8px)}}
@media (prefers-reduced-motion:reduce){.float{animation:none}}
.sec{padding:2.2rem 0}.sec h2{font-size:1.5rem;text-align:center;margin:0 0 .4rem}.sec .sub{text-align:center;color:var(--muted);margin:0 auto 1.8rem;max-width:34rem}
.feat{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:1rem}
.feat .card{margin:0;transition:transform .15s,border-color .15s}.feat .card:hover{transform:translateY(-3px);border-color:var(--red)}
.feat .ic{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;font-size:1.4rem;background:var(--pri-soft);margin-bottom:.7rem}
.feat h3{margin:.2rem 0}.feat p{margin:0;color:var(--muted);font-size:.93rem}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:1rem;counter-reset:s}
.step{position:relative;padding:1.2rem 1.2rem 1.2rem 1rem;border-radius:var(--r);background:var(--card);border:1px solid var(--line)}
.step::before{counter-increment:s;content:counter(s,persian);display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--red);color:#fff;font-weight:800;margin-bottom:.6rem}
.step b{display:block;margin-bottom:.2rem}.step span{color:var(--muted);font-size:.93rem}
.cta{margin:2rem 0 3rem;border-radius:26px;padding:2.4rem 1.6rem;text-align:center;color:#fff;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--red),var(--red-d) 60%,var(--char-d))}
.cta::before{content:"";position:absolute;inset:0;background:var(--stripes);opacity:.7}.cta>*{position:relative}
.cta h2{margin:0 0 .4rem;font-size:1.6rem}.cta p{margin:0 0 1.3rem;color:#ffffffd9}
.cta .btn{background:#fff;color:var(--red-d);border-color:#fff;font-weight:700;min-height:48px;padding:.5rem 2rem}
.lp-foot{border-top:1px solid var(--line);padding:1.3rem 1rem 1.6rem;text-align:center;color:var(--muted);font-size:.88rem}

/* ───── ناوبری پایین موبایل ───── */
.bottomnav{display:none}

/* ───── تبلت و موبایل ───── */
@media (max-width:900px){
  .menu-btn{display:grid;place-items:center}
  .side{transform:translateX(100%);transition:transform .22s ease;z-index:60;width:min(300px,84vw);padding-top:1.2rem;box-shadow:-20px 0 60px #0008}
  .side.open{transform:none}
  .scrim{position:fixed;inset:0;background:#0007;z-index:55;opacity:0;pointer-events:none;transition:opacity .2s;display:block;backdrop-filter:blur(2px)}
  .scrim.open{opacity:1;pointer-events:auto}
  main.with-side{margin-right:0;padding-bottom:calc(var(--nav-h) + 1.2rem + env(safe-area-inset-bottom))}
  .gsearch{display:none}.side-search{display:block}
  .who .nm{display:none}
  .bottomnav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;inset:auto 0 0 0;z-index:50;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:color-mix(in srgb,var(--card) 92%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line)}
  .bottomnav a,.bottomnav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;color:var(--muted);font-size:.7rem;background:none;border:0;font-family:inherit;cursor:pointer;position:relative}
  .bottomnav a:hover{text-decoration:none}
  .bottomnav .i{font-size:1.3rem;line-height:1}
  .bottomnav a.on{color:var(--red)}.bottomnav a.on::before{content:"";position:absolute;top:0;width:26px;height:3px;border-radius:0 0 4px 4px;background:var(--red)}
  .hero{grid-template-columns:1fr;padding:2rem 0 1.5rem;text-align:center}.hero p.lead{margin-inline:auto}.hero .btns{justify-content:center}
  .hero-art{max-width:300px;order:-1}
  .lp-nav a.t{display:none}
  .auth{grid-template-columns:1fr}.auth-brand{min-height:0;padding:1.6rem 1.4rem}.auth-brand ul{display:none}.auth-form{padding:1.6rem 1.4rem}
}
@media (max-width:700px){
  .rtable{display:none}.rcards{display:block}
}
@media (max-width:600px){
  html{font-size:14.5px}.topbar{padding:.4rem .65rem;gap:.4rem}.brand{font-size:1rem}main{padding:.8rem}.card{padding:.85rem;margin-bottom:.75rem}
  .cols2{grid-template-columns:minmax(0,1fr)}.cols4{grid-template-columns:repeat(2,minmax(0,1fr))}.stat .num{font-size:1.7rem}
  .head{align-items:flex-start}.head h1{font-size:1.25rem}.formgrid{grid-template-columns:minmax(0,1fr)}.formcol{max-width:none}
  .btns .btn{flex:1 1 42%}.who{gap:.3rem}.tablewrap table{min-width:560px}
  input,select,textarea{font-size:16px;min-height:44px}.btn{min-height:44px}
  .attachment-card input[type=file]{max-width:100%;width:100%}.upload-form{align-items:stretch;flex-direction:column}
  .filters>*{flex:1 1 100%}.filters .btn{flex:1 1 100%}
  .tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.3rem;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs a{white-space:nowrap}
  .cmpbar{top:3.6rem}
  .hero h1{font-size:1.75rem}.lp-head .btn.ghost{display:none}.sec h2{font-size:1.25rem}
}
@media print{.topbar,.side,.bottomnav,.scrim,.btn,.tabs,.filters{display:none!important}main.with-side{margin:0}.card{box-shadow:none;break-inside:avoid}}

/* ───── دسترسی کاربران ───── */
.permform{display:grid;gap:.25rem;margin-top:.6rem}.permgroup{margin:.9rem 0 .2rem;color:var(--muted);font-size:.85rem}
.permrow{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.35rem 0;border-bottom:1px dashed var(--line)}
.permrow select{min-width:min(280px,55%)}
details.card>summary{cursor:pointer}

.refer-path{unicode-bidi:isolate;white-space:nowrap}

/* ───── سرعت و حس سرعت ───── */
a,button,summary,label,select,input[type=checkbox],input[type=radio]{touch-action:manipulation}   /* بدون تأخیر ۳۰۰ms لمس در موبایل */
body{overscroll-behavior-y:none;text-rendering:optimizeSpeed}
img{max-width:100%;height:auto}
#nprog{position:fixed;inset:0 0 auto 0;height:3px;z-index:999;pointer-events:none;background:linear-gradient(90deg,var(--red),#ff6a62);transform-origin:right center;transform:scaleX(0);opacity:0}
#nprog.on{opacity:1;transform:scaleX(.82);transition:transform 8s cubic-bezier(.1,.7,.2,1)}
.tablewrap{-webkit-overflow-scrolling:touch}
.tablewrap tbody tr,.timeline li,.row-item{content-visibility:auto;contain-intrinsic-size:auto 48px}   /* رندر فقط ردیف‌های دیده‌شده در لیست‌های بلند */
@media (hover:hover) and (pointer:fine){.card,.btn{transition:box-shadow .15s,transform .15s,background-color .15s}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}#nprog.on{transition:none}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
