/* =====================================================================
 *  اپلیکیشن ساز شاه‌لینک — استایل سایت و پنل کاربر (تم سفید و بنفش)
 *  پایه: app.css (توکن‌ها، دکمه‌ها، فرم‌ها، مودال، تقویم)
 * ===================================================================== */
:root,[data-theme=classic]{
  --p:#6d28d9;--p-2:#8b5cf6;--p-ink:#5b21b6;--p-soft:#f1ebff;--p-softer:#f8f5ff;
  --grad:linear-gradient(135deg,#5b21b6 0%,#7c3aed 45%,#a78bfa 100%);
  --grad-soft:linear-gradient(135deg,#f5f0ff 0%,#eef2ff 100%);
  --blob1:rgba(124,58,237,.16);--blob2:rgba(167,139,250,.14);--blob3:rgba(99,102,241,.10);
  --bg:#fbfaff;
}
body{background:var(--bg)}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.brand{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none}
.brand .lg{width:44px;height:44px;border-radius:14px;background:var(--grad);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 22px -10px var(--p)}
.brand .lg img{width:30px;height:30px}
.brand b{display:block;font-size:1.02rem;font-weight:900;line-height:1.2}
.brand small{display:block;font-size:.72rem;color:var(--p-ink);font-weight:800}
.brand.light b{color:#fff}.brand.light small{color:#c4b5fd}

/* ---------- Public nav ---------- */
.pnav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,#fff 82%,transparent);backdrop-filter:blur(18px) saturate(180%);-webkit-backdrop-filter:blur(18px) saturate(180%);border-bottom:1px solid var(--line)}
.pnav .wrap{display:flex;align-items:center;gap:12px;height:72px}
.pnav-links{display:flex;gap:2px;margin-right:auto}
.pnav-links a{color:var(--text-2);font-weight:700;font-size:.9rem;padding:9px 12px;border-radius:11px;text-decoration:none}
.pnav-links a:hover{background:var(--p-soft);color:var(--p-ink)}

/* ---------- Landing ---------- */
.lhero{position:relative;overflow:hidden;padding:70px 0 90px;isolation:isolate}
.lhero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60rem 30rem at 85% 0%,rgba(124,58,237,.16),transparent 60%),radial-gradient(40rem 26rem at 0% 80%,rgba(167,139,250,.18),transparent 60%)}
.lhero .grid{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}
.pill{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 14px 6px 6px;font-size:.82rem;font-weight:800;color:var(--p-ink);box-shadow:var(--shadow-sm)}
.pill b{background:var(--grad);color:#fff;border-radius:999px;padding:3px 10px;font-size:.72rem}
.lhero h1{font-size:clamp(2.1rem,5vw,3.6rem);font-weight:900;line-height:1.3;letter-spacing:-1.2px;margin:18px 0 14px}
.lhero h1 .g{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.lhero .lead{font-size:1.12rem;color:var(--text-2);line-height:2;max-width:560px}
.lhero .cta{display:flex;gap:10px;flex-wrap:wrap;margin:26px 0 22px}
.btn-xl{padding:16px 28px;font-size:1.02rem;border-radius:16px}
.ticks{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.88rem;font-weight:700;color:var(--text-2)}
.ticks span::before{content:"✓";display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:7px;background:var(--p-soft);color:var(--p-ink);font-size:.72rem;margin-left:6px;font-weight:900}
.try{display:flex;gap:8px;background:#fff;border:1.5px solid var(--line);border-radius:18px;padding:7px;max-width:560px;box-shadow:var(--shadow);margin-top:6px}
.try input{flex:1;border:none;outline:none;font-size:16px;padding:0 12px;min-width:0;background:transparent}
.hero-visual{position:relative;display:flex;justify-content:center}
.float-card{position:absolute;background:#fff;border:1px solid var(--line);border-radius:16px;padding:10px 14px;box-shadow:var(--shadow);font-size:.8rem;font-weight:800;display:flex;align-items:center;gap:8px;animation:float 4s ease-in-out infinite;z-index:2}
.float-card small{display:block;color:var(--muted);font-weight:600}

/* phone mockup */
.phone{width:270px;height:550px;border-radius:44px;background:#0f0b1f;padding:12px;box-shadow:0 40px 80px -30px rgba(76,29,149,.55),inset 0 0 0 2px #2a2440;position:relative}
.phone-notch{position:absolute;top:12px;left:50%;transform:translateX(-50%);width:100px;height:24px;background:#0f0b1f;border-radius:0 0 16px 16px;z-index:3}
.phone-screen{height:100%;border-radius:34px;overflow:hidden;background:var(--app,#6d28d9);position:relative;display:flex;flex-direction:column}
.ph-status{display:flex;justify-content:space-between;color:#fff;font-size:.7rem;font-weight:800;padding:12px 22px 0;direction:ltr}
.ph-splash{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#fff}
.ph-icon{width:96px;height:96px;border-radius:26px;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:44px;overflow:hidden;box-shadow:0 14px 30px -10px rgba(0,0,0,.4);animation:float 3s ease-in-out infinite}
.ph-icon img{width:100%;height:100%;object-fit:cover}
.ph-name{font-size:1.15rem;font-weight:900;text-shadow:0 2px 10px rgba(0,0,0,.2);max-width:200px;text-align:center}
.ph-load{width:34px;height:34px;border:3px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite;margin-top:18px}
.ph-bar{display:flex;justify-content:center;gap:6px;padding:16px}
.ph-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.5)}
.ph-dot:first-child{width:18px;border-radius:6px;background:#fff}
.phone.web .phone-screen{background:#fff}
.phone iframe{border:0;width:100%;flex:1;background:#fff}

/* sections */
.ls{padding:84px 0}
.ls.alt{background:linear-gradient(180deg,#fff,var(--p-softer))}
.ls-head{text-align:center;max-width:680px;margin:0 auto 44px}
.ls-head .eyebrow{display:inline-flex;gap:8px;font-size:.78rem;font-weight:800;color:var(--p-ink);background:var(--p-soft);padding:6px 14px;border-radius:999px;margin-bottom:12px}
.ls-head h2{font-size:clamp(1.6rem,3.2vw,2.4rem);font-weight:900;letter-spacing:-.6px;line-height:1.4}
.ls-head h2 .g{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.ls-head p{color:var(--muted);margin-top:10px;font-size:1.02rem}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;counter-reset:st}
.step{background:#fff;border:1px solid var(--line);border-radius:24px;padding:26px;position:relative;counter-increment:st;transition:transform .25s,box-shadow .25s}
.step:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.step::before{content:counter(st);position:absolute;top:18px;left:20px;font-size:3rem;font-weight:900;color:var(--p-soft);line-height:1}
.step .si{width:56px;height:56px;border-radius:18px;background:var(--grad);display:flex;align-items:center;justify-content:center;font-size:1.6rem;margin-bottom:14px;box-shadow:0 12px 24px -12px var(--p)}
.step h3{font-weight:900;font-size:1.1rem;margin-bottom:6px}
.step p{color:var(--muted);font-size:.92rem;line-height:1.9}
.feats{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.feat{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;transition:all .2s}
.feat:hover{border-color:color-mix(in srgb,var(--p) 35%,var(--line));box-shadow:var(--shadow)}
.feat .fi{width:46px;height:46px;border-radius:14px;background:var(--p-soft);display:flex;align-items:center;justify-content:center;font-size:1.35rem;flex-shrink:0}
.feat b{display:block;font-size:.95rem}
.feat small{color:var(--muted);font-size:.8rem;line-height:1.8}

/* pricing */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
.plan{background:#fff;border:1.5px solid var(--line);border-radius:28px;padding:28px 24px;display:flex;flex-direction:column;position:relative;transition:transform .25s,box-shadow .25s}
.plan:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.plan.hot{border-color:var(--p);box-shadow:0 30px 60px -28px rgba(109,40,217,.55);background:linear-gradient(180deg,#fff,#faf7ff)}
.plan .ribbon{position:absolute;top:-14px;right:50%;transform:translateX(50%);background:var(--grad);color:#fff;font-size:.76rem;font-weight:900;padding:6px 16px;border-radius:999px;box-shadow:0 10px 20px -10px var(--p);white-space:nowrap}
.plan h3{font-size:1.25rem;font-weight:900}
.plan .pd{color:var(--muted);font-size:.86rem;min-height:2.6em;margin:4px 0 16px}
.plan .price{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.plan .price b{font-size:2.2rem;font-weight:900;letter-spacing:-1px}
.plan .price s{color:var(--faint);font-size:.95rem}
.plan .once{font-size:.76rem;color:var(--ok-ink);font-weight:800;margin:4px 0 18px}
.plan ul{list-style:none;display:flex;flex-direction:column;gap:9px;margin-bottom:22px;flex:1}
.plan li{display:flex;gap:9px;font-size:.88rem;line-height:1.7;align-items:flex-start}
.plan li .x{opacity:.35;text-decoration:line-through}
.plan li i{font-style:normal;width:22px;height:22px;border-radius:7px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:900;margin-top:2px}
.plan li i.y{background:var(--ok-soft);color:var(--ok-ink)} .plan li i.n{background:var(--card-3);color:var(--faint)}
.cmp{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;font-size:.88rem}
.cmp th,.cmp td{padding:13px 14px;text-align:center;border-bottom:1px solid var(--line)}
.cmp th:first-child,.cmp td:first-child{text-align:right}
.cmp thead th{background:var(--p-softer);font-weight:900}
.cmp tr:last-child td{border-bottom:none}
.cmp .y{color:var(--ok-ink);font-weight:900}.cmp .n{color:var(--faint)}
.faq2 details{background:#fff;border:1px solid var(--line);border-radius:18px;margin-bottom:10px;overflow:hidden}
.faq2 summary{padding:17px 20px;font-weight:800;cursor:pointer;list-style:none;display:flex;gap:10px;align-items:center}
.faq2 summary::-webkit-details-marker{display:none}
.faq2 summary::after{content:"+";margin-right:auto;width:28px;height:28px;border-radius:9px;background:var(--p-soft);color:var(--p-ink);display:flex;align-items:center;justify-content:center;font-weight:900;transition:transform .3s;flex-shrink:0}
.faq2 details[open] summary::after{transform:rotate(45deg)}
.faq2 p{padding:0 20px 18px;color:var(--text-2);line-height:2}
.cta-band{background:var(--grad);border-radius:32px;padding:46px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;box-shadow:0 30px 60px -30px rgba(91,33,182,.7);position:relative;overflow:hidden}
.cta-band::after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.12);top:-120px;left:-80px}
.cta-band h3{font-size:1.6rem;font-weight:900}
.cta-band .btn{background:#fff;color:var(--p-ink);position:relative;z-index:1}
.stats-band{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:-46px;position:relative;z-index:3}
.stats-band div{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;text-align:center;box-shadow:var(--shadow)}
.stats-band b{display:block;font-size:1.6rem;font-weight:900;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.stats-band span{font-size:.8rem;color:var(--muted);font-weight:700}

/* footer */
.pfoot{background:linear-gradient(135deg,#1e1048,#2e1065 60%,#3b0764);color:#ddd6fe;padding:56px 0 calc(24px + var(--safe-b));margin-top:60px}
.pfoot-g{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}
.pfoot h4{color:#fff;font-size:1rem;margin-bottom:12px}
.pfoot a{color:#c4b5fd;text-decoration:none;display:block;padding:4px 0;font-size:.9rem}
.pfoot a:hover{color:#fff}
.pfoot p{color:#b9aee6;font-size:.88rem;line-height:2}
.pfoot-c{border-top:1px solid rgba(255,255,255,.12);margin-top:28px;padding-top:18px;text-align:center;font-size:.8rem;color:#a79bd8}
.trust{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.trust img{background:#fff;border-radius:12px;padding:4px;max-height:96px}
.trust-ph{background:rgba(255,255,255,.08);border:1px dashed rgba(255,255,255,.25);border-radius:12px;padding:10px 12px;font-size:.8rem;color:#ddd6fe}

/* legal page */
.legal{max-width:820px;margin:40px auto;background:#fff;border:1px solid var(--line);border-radius:26px;padding:34px}
.legal h1{font-size:1.6rem;font-weight:900;margin-bottom:16px}
.legal h2{font-size:1.1rem;font-weight:900;margin:22px 0 8px;color:var(--p-ink)}
.legal p,.legal li{line-height:2.1;color:var(--text-2)}
.legal ul{padding-right:20px}

/* auth */
.auth{min-height:calc(100vh - 72px);display:flex;align-items:center;justify-content:center;padding:30px 16px}
.auth-card{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:30px;padding:32px;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}
.auth-card::before{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:var(--grad);opacity:.1;top:-90px;left:-90px}
.auth-card h1{font-size:1.4rem;font-weight:900}
.auth-card .sub{color:var(--muted);margin:6px 0 20px;font-size:.9rem}
.code-in{font-size:2rem!important;letter-spacing:14px;text-align:center;font-weight:900;min-height:66px!important}

/* ---------- User panel ---------- */
.ptop{position:sticky;top:0;z-index:50;background:color-mix(in srgb,#fff 88%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.ptop .wrap{display:flex;align-items:center;gap:14px;height:68px}
.ptabs{display:flex;gap:4px;margin-right:auto;background:var(--card-3);padding:4px;border-radius:15px}
.ptabs a{display:flex;align-items:center;gap:6px;padding:8px 13px;border-radius:11px;font-weight:800;font-size:.85rem;color:var(--muted);text-decoration:none;position:relative}
.ptabs a.on{background:#fff;color:var(--p-ink);box-shadow:var(--shadow-sm)}
.ptabs .nb,.pbar .nb{font-style:normal;background:var(--bad);color:#fff;border-radius:999px;font-size:.62rem;padding:0 6px;line-height:1.6}
.wallet-chip{display:flex;align-items:center;gap:6px;background:var(--p-soft);color:var(--p-ink);padding:8px 13px;border-radius:13px;text-decoration:none;font-size:.85rem;white-space:nowrap}
.wallet-chip small{font-size:.7rem}
.pmain{padding-top:1.4rem}
.pbar{display:none}
.app-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:16px;display:flex;gap:14px;align-items:center;transition:all .2s;text-decoration:none;color:var(--text)}
.app-card:hover{box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--p) 30%,var(--line));transform:translateY(-2px)}
.app-ic{width:60px;height:60px;border-radius:18px;object-fit:cover;flex-shrink:0;background:var(--p-soft);box-shadow:0 10px 20px -12px rgba(0,0,0,.4)}
.app-card .ai{flex:1;min-width:0}
.app-card b{display:block;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-card small{color:var(--muted);font-size:.78rem;direction:ltr;display:block;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wiz-steps{display:flex;gap:6px;margin-bottom:20px}
.wiz-steps span{flex:1;height:6px;border-radius:6px;background:var(--card-3)}
.wiz-steps span.on{background:var(--grad)}
.wiz{display:grid;grid-template-columns:1fr 320px;gap:24px;align-items:start}
.wiz .sticky{position:sticky;top:90px;display:flex;flex-direction:column;align-items:center;gap:12px}
.color-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.color-row button{width:34px;height:34px;border-radius:11px;border:2px solid #fff;box-shadow:0 0 0 1px var(--line-2);cursor:pointer}
.color-row button.on{box-shadow:0 0 0 2px var(--p)}
.color-row input[type=color]{width:44px;height:36px;border:none;background:none;padding:0;cursor:pointer}
.plan-pick{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.plan-pick label{position:relative;border:2px solid var(--line);border-radius:18px;padding:14px;cursor:pointer;background:#fff;transition:all .15s}
.plan-pick input{position:absolute;opacity:0}
.plan-pick label:has(input:checked){border-color:var(--p);background:var(--p-softer);box-shadow:0 10px 24px -14px var(--p)}
.plan-pick b{display:block;font-weight:900}
.plan-pick .pp{font-weight:900;color:var(--p-ink);margin-top:4px}
.plan-pick small{color:var(--muted);font-size:.74rem}
.inv{background:var(--grad-soft);border-radius:18px;padding:14px 16px;display:grid;gap:8px}
.inv div{display:flex;justify-content:space-between;font-size:.9rem}
.inv .tot{border-top:1px dashed color-mix(in srgb,var(--p) 30%,var(--line));padding-top:8px;font-weight:900;font-size:1.05rem}
.dl-box{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dl{border:1px solid var(--line);border-radius:20px;padding:18px;background:#fff;display:flex;flex-direction:column;gap:8px}
.dl .di{font-size:1.8rem}
.qr{width:150px;height:150px;border-radius:14px;background:#fff;border:1px solid var(--line);padding:8px}
.ticket-msg{display:flex;gap:10px;margin-bottom:12px}
.ticket-msg .bub{max-width:80%;padding:12px 14px;border-radius:18px;line-height:1.9;font-size:.9rem;white-space:pre-line;word-break:break-word}
.ticket-msg.user{justify-content:flex-start}.ticket-msg.user .bub{background:var(--p-soft);border-bottom-right-radius:6px}
.ticket-msg.admin{justify-content:flex-end}.ticket-msg.admin .bub{background:#fff;border:1px solid var(--line);border-bottom-left-radius:6px}
.ticket-msg small{display:block;font-size:.68rem;color:var(--muted);margin-top:4px}

@media (max-width:980px){
  .lhero .grid,.wiz{grid-template-columns:1fr}
  .wiz .sticky{position:static;order:-1}
  .plans{grid-template-columns:1fr;max-width:460px;margin:0 auto}
  .steps{grid-template-columns:1fr}
  .pfoot-g{grid-template-columns:1fr 1fr}
  .stats-band{grid-template-columns:1fr 1fr}
  .hero-visual{margin-top:10px}
}
@media (max-width:760px){
  .wrap{padding:0 16px}
  .pnav .wrap{height:64px}
  .pnav-links,.hide-m{display:none!important}
  .pnav .btn{margin-right:auto}
  .lhero{padding:38px 0 70px}
  .lhero .lead{font-size:1rem}
  .btn-xl{padding:14px 20px;flex:1}
  .float-card{display:none}
  .phone{width:230px;height:470px;border-radius:38px}
  .ls{padding:56px 0}
  .cmp{font-size:.76rem}.cmp th,.cmp td{padding:9px 6px}
  .cta-band{padding:28px;border-radius:24px}.cta-band h3{font-size:1.25rem}
  .pfoot-g{grid-template-columns:1fr}
  .legal{margin:20px 12px;padding:22px}
  body.panel{padding-bottom:calc(70px + var(--safe-b))}
  .ptabs,.ptop .wallet-chip{display:none}
  .ptop .wrap{height:60px}
  .pbar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:60;height:calc(66px + var(--safe-b));padding-bottom:var(--safe-b);background:color-mix(in srgb,#fff 92%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-top:1px solid var(--line)}
  .pbar a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;font-size:.66rem;font-weight:800;color:var(--muted);text-decoration:none}
  .pbar a span{font-size:1.2rem}
  .pbar a.on{color:var(--p-ink)}
  .pbar .pbar-new{flex:0 0 58px;height:52px;margin:7px 4px;border-radius:17px;background:var(--grad);color:#fff;font-size:1.8rem;font-weight:300;box-shadow:0 10px 20px -10px var(--p)}
  .plan-pick{grid-template-columns:1fr}
  .dl-box{grid-template-columns:1fr}
}

/* =====================================================================
   پنل مدیریت (admin) — منوی کناری دسکتاپ، کشوی موبایل و نوار پایین
   ===================================================================== */
.phone-screen{transition:background .4s}
.sl-grid.g-2{grid-template-columns:1fr 1fr}
.d-block{display:block}
body.adm{background:var(--bg);padding-right:262px}
.aside{position:fixed;top:0;right:0;bottom:0;width:262px;background:var(--card);border-left:1px solid var(--line);display:flex;flex-direction:column;z-index:60;padding:1rem .8rem;overflow-y:auto}
.aside-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.2rem .4rem 1rem;border-bottom:1px solid var(--line);margin-bottom:.8rem}
.aside nav{display:flex;flex-direction:column;gap:.2rem;flex:1}
.aside nav a,.aside-foot a{display:flex;align-items:center;gap:.65rem;padding:.7rem .8rem;border-radius:14px;font-weight:700;font-size:.9rem;color:var(--text-2);transition:background .15s,color .15s}
.aside nav a:hover,.aside-foot a:hover{background:var(--p-softer);color:var(--p-ink)}
.aside nav a.on{background:var(--grad);color:#fff;box-shadow:0 10px 22px -10px var(--p)}
.aside .mi{width:30px;height:30px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:var(--p-soft);font-size:1rem;flex-shrink:0}
.aside nav a.on .mi{background:rgba(255,255,255,.22)}
.aside .nb{margin-inline-start:auto;font-style:normal;background:var(--bad);color:#fff;border-radius:999px;font-size:.66rem;padding:0 7px;line-height:1.7}
.aside-foot{border-top:1px solid var(--line);padding-top:.6rem;margin-top:.6rem}
.aside-bg{display:none}
.atop{display:none}
.amain{max-width:1240px;margin:0 auto;padding:1.4rem 1.4rem 3rem}
.abar{display:none}
.chk{display:flex;flex-direction:column;gap:.4rem}
.chk a{display:flex;align-items:center;gap:.6rem;padding:.65rem .85rem;border-radius:12px;background:var(--warn-soft);color:var(--warn-ink);font-weight:700;font-size:.84rem}
.chk a b{margin-inline-start:auto;font-size:.76rem;white-space:nowrap}
.bars{display:flex;align-items:flex-end;gap:3px;height:170px;padding:.4rem 0;border-bottom:1px dashed var(--line-2)}
.bar{flex:1;height:100%;display:flex;align-items:flex-end;cursor:default}
.bar i{display:block;width:100%;height:max(var(--h),2px);border-radius:6px 6px 2px 2px;background:var(--grad);opacity:.88;transition:opacity .15s,transform .15s;transform-origin:bottom}
.bar:hover i{opacity:1;transform:scaleY(1.03)}
.bars-x{display:flex;justify-content:space-between;font-size:.7rem;color:var(--muted);margin-top:.35rem}
.mix{margin-bottom:.8rem}
.mix-bar{height:10px;border-radius:999px;background:var(--card-3);overflow:hidden;margin-top:.3rem}
.mix-bar span{display:block;height:100%;border-radius:999px;min-width:4px}
.list{display:flex;flex-direction:column}
.li{display:flex;align-items:center;gap:.7rem;padding:.7rem .3rem;border-bottom:1px solid var(--line);color:inherit;border-radius:10px;transition:background .15s}
.li:last-child{border-bottom:none}
.li:hover{background:var(--p-softer)}
.li b{display:block;font-size:.88rem}
.li small{display:block;color:var(--muted);font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.li .grow{min-width:0}
.li-ic{width:36px;height:36px;border-radius:11px;object-fit:cover;flex-shrink:0;background:var(--p-soft);box-shadow:var(--shadow-sm)}
.li-ic.lg{width:48px;height:48px;border-radius:14px}
.li-ic.xl{width:64px;height:64px;border-radius:18px}
.app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:.9rem}
.app-card2{color:inherit;transition:transform .15s,box-shadow .15s}
.app-card2:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.app-card2 b{font-size:.95rem}
.bld{border:1px solid var(--line);border-radius:14px;padding:.7rem .9rem;margin-bottom:.6rem;background:var(--card-2)}
.bld summary{display:flex;align-items:center;gap:.5rem;cursor:pointer;flex-wrap:wrap;list-style:none}
.bld summary::-webkit-details-marker{display:none}
.bld[open]{background:var(--card)}
.log{background:#1d1640;color:#e8e4ff;border-radius:12px;padding:.8rem;font-size:.72rem;line-height:1.9;white-space:pre-wrap;word-break:break-word;max-height:300px;overflow:auto;margin:.7rem 0;direction:rtl;font-family:inherit}
.feat-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.4rem}
.feat-pick label{position:relative;cursor:pointer}
.feat-pick input{position:absolute;opacity:0}
.feat-pick span{display:block;padding:.55rem .75rem;border-radius:12px;border:1.5px solid var(--line);font-size:.8rem;font-weight:700;background:var(--card-2);transition:all .15s}
.feat-pick input:checked + span{border-color:var(--p);background:var(--p-soft);color:var(--p-ink)}
.feat-pick input:checked + span::before{content:"✓ ";font-weight:900}
.feat-pick input:disabled + span{opacity:.75}
.plan-ed summary{cursor:pointer;list-style:none}
.plan-ed summary::-webkit-details-marker{display:none}
.plan-ed[open]{border-color:color-mix(in srgb,var(--p) 40%,var(--line))}
.lg-t{font-size:1.1rem;font-weight:900}
.danger-zone{border-color:color-mix(in srgb,var(--bad) 30%,var(--line))}
.set-jump{position:sticky;top:0;z-index:5;background:var(--bg);padding:.5rem 0}
.card[id],form[id]{scroll-margin-top:70px}
.hero-actions form{display:inline-flex}
@media (max-width:980px){
  body.adm{padding-right:0;padding-bottom:calc(70px + var(--safe-b))}
  .aside{transform:translateX(105%);transition:transform .28s cubic-bezier(.2,.8,.2,1);box-shadow:var(--shadow-lg)}
  body.aside-open .aside{transform:none}
  body.aside-open .aside-bg{display:block;position:fixed;inset:0;background:rgba(20,16,50,.42);z-index:55;backdrop-filter:blur(2px)}
  .atop{display:flex;align-items:center;gap:.6rem;position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--card) 92%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding:.55rem .8rem;padding-top:calc(.55rem + var(--safe-t))}
  .atop b{font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .amain{padding:1rem .9rem 2rem}
  .abar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:45;background:var(--card);border-top:1px solid var(--line);padding:.35rem .3rem calc(.35rem + var(--safe-b));box-shadow:0 -8px 24px -12px rgba(29,33,64,.18)}
  .abar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.66rem;font-weight:800;color:var(--muted);padding:.3rem 0;border-radius:12px}
  .abar a span{font-size:1.2rem;line-height:1.2}
  .abar a.on{color:var(--p-ink);background:var(--p-softer)}
  .sl-grid.g-2{grid-template-columns:1fr}
  .set-jump{top:56px}
}
@media (max-width:560px){
  .hero h1{font-size:1.25rem}
  .bars{height:120px;gap:2px}
  .hero-actions{width:100%}
  .hero-actions > *{flex:1}
  .hero-actions .btn{width:100%;justify-content:center}
}
@media (min-width:981px){ .amain .kpis:has(> :nth-child(6)){grid-template-columns:repeat(3,1fr)} .amain .kpis:has(> :nth-child(4)):not(:has(> :nth-child(5))){grid-template-columns:repeat(4,1fr)} }
.toggle.field{flex-direction:row;align-items:center;text-align:right;gap:.8rem}
.toggle.field > span:last-child{flex:1}
