/* جاب کارینو — استایل پایه (مشترک موبایل و دسکتاپ) — v0.3.1
   شامل: فونت، متغیرهای طراحی، اجزای مشترک (کارت، فرم، دکمه، نشان، هشدار، صفحه‌بندی، رسانه، ورود).
   چیدمان‌ها در desktop.css و mobile.css هستند؛ layout مناسب فقط یکی از آن‌ها را بارگذاری می‌کند.
   بدون وابستگی خارجی (سرعت و CSP). */
@font-face{font-family:Vazirmatn;src:url(../fonts/Vazirmatn-subset.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:Lalezar;src:url(../fonts/Lalezar-arabic.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
:root{
  --font-d:Lalezar,Vazirmatn,Tahoma,sans-serif;
  --bg:#f4f6f9;--card:#fff;--text:#0f172a;--muted:#64748b;--line:#e5e9f0;
  --brand:#0d9488;--brand-d:#0f766e;--brand-l:#ccfbf1;--side:#0f172a;--side-t:#cbd5e1;
  --ok:#16a34a;--err:#dc2626;--warn:#d97706;--r:14px;--r-s:10px;
  --shadow:0 1px 2px #0f172a0d,0 4px 14px #0f172a0a;
  --font:Vazirmatn,Tahoma,"Segoe UI",system-ui,sans-serif
}
*{box-sizing:border-box}
html{font-size:15px;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.85;-webkit-font-smoothing:antialiased}
a{color:var(--brand-d);text-decoration:none}a:hover{text-decoration:none}
h1,h2,h3{margin:0 0 .6rem;line-height:1.5;font-weight:700}h2{font-size:1.1rem}h3{font-size:1rem;margin-top:1.2rem}
.muted{color:var(--muted)}small{font-size:.8em}
code{background:#eef2f6;padding:.05rem .4rem;border-radius:6px;direction:ltr;display:inline-block;font-size:.88em}

/* --- کارت‌ها --- */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.2rem 1.4rem;margin-bottom:1.2rem;box-shadow:var(--shadow)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem;margin-bottom:1.2rem}
.cards .card{margin:0}.stat-n{font-size:2rem;font-weight:800;color:var(--brand-d);line-height:1.3}
.bar{background:var(--line);border-radius:99px;height:9px;overflow:hidden}.bar span{display:block;height:100%;background:var(--brand)}
.badge{display:inline-block;padding:.05rem .7rem;border-radius:99px;font-size:.8rem;background:#e8edf3;white-space:nowrap}
.badge-ok{background:#dcfce7;color:#166534}.badge-err{background:#fee2e2;color:#991b1b}.badge-warn{background:#fef3c7;color:#92400e}
.alert{padding:.75rem 1rem;border-radius:var(--r-s);margin-bottom:1rem;border:1px solid}
.alert-success{background:#f0fdf4;border-color:#86efac;color:#166534}
.alert-error{background:#fef2f2;border-color:#fca5a5;color:#991b1b}
.alert-warning{background:#fffbeb;border-color:#fcd34d;color:#92400e}
.alert-info{background:#eff6ff;border-color:#93c5fd;color:#1e40af}
.feature-list{padding-right:1.3rem;margin:.4rem 0}.feature-list li{margin:.35rem 0}
.planned-head{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.planned-head h2{margin:0}
.ltr{direction:ltr;text-align:right;unicode-bidi:plaintext}
.saved{color:var(--ok)}

/* --- فرم‌ها و دکمه‌ها --- */
label{display:block;margin:.8rem 0 .25rem;font-weight:600;font-size:.93rem}
input[type=text],input[type=password],input[type=file],input:not([type]),select,textarea{width:100%;padding:.55rem .75rem;border:1px solid #cbd5e1;border-radius:var(--r-s);font:inherit;background:#fff;color:inherit}
input:focus,select:focus,textarea:focus{outline:3px solid #99f6e44d;border-color:var(--brand)}
.input-sm{width:9rem;padding:.25rem .5rem}
form.inline{display:flex;gap:.4rem;align-items:center;margin:0}
.btn{display:inline-block;padding:.55rem 1.3rem;border:0;border-radius:var(--r-s);font:inherit;font-weight:600;cursor:pointer;margin-top:1rem;line-height:1.7}
.btn:hover{text-decoration:none}
.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-d)}
.btn-light{background:#e8edf3;color:#0f172a;margin-top:0}.btn-light:hover{background:#d8e0ea}
.btn-danger{background:#fee2e2;color:#991b1b;margin-top:0}.btn-danger:hover{background:#fecaca}
.btn-sm{padding:.2rem .8rem;font-size:.85rem}.btn-block{display:block;width:100%}
.btn[disabled]{opacity:.6;cursor:wait}
.check{display:flex;gap:.5rem;align-items:center;font-weight:400;margin:.35rem 0}.check input{width:auto}
.inline-form{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.inline-form .btn{margin-top:0}
.logo-preview{max-height:70px;max-width:240px;border:1px solid var(--line);border-radius:8px;padding:.3rem;background:#fff}

/* --- صفحه‌بندی --- */
.pager{display:flex;gap:.3rem;align-items:center;flex-wrap:wrap;margin-top:1rem}
.pg{padding:.2rem .7rem;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text)}
a.pg:hover{background:#f1f5f9;text-decoration:none}
.pg.cur{background:var(--brand);border-color:var(--brand);color:#fff}.pg.gap{border:0}
.pg-info{margin-right:auto;color:var(--muted);font-size:.85rem}

/* --- دسترسی‌ها / رسانه --- */
.perm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.8rem;margin:.6rem 0 1rem}
.perm-grid fieldset{border:1px solid var(--line);border-radius:var(--r-s);padding:.5rem .9rem}
.perm-grid legend{font-weight:700;padding:0 .4rem}
.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1rem}
.media-item{margin:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
.media-thumb{display:grid;place-items:center;height:150px;background:#f1f5f9}
.media-thumb img{max-width:100%;max-height:150px;width:auto;height:auto;object-fit:contain}
.pdf-ico{font-weight:800;color:#b91c1c;border:2px solid #b91c1c;border-radius:8px;padding:.3rem .8rem}
.media-item figcaption{padding:.6rem .8rem}
.media-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.media-actions{display:flex;gap:.4rem;margin-top:.5rem}.media-actions form{margin:0}
.brand img{max-height:38px;max-width:100%;display:block}

/* --- ورود / نصب --- */
.auth-page{display:grid;place-items:center;min-height:100vh;padding:1rem}
.auth-card{background:#fff;border-radius:18px;box-shadow:0 10px 44px #0f172a1a;padding:2rem 2.2rem;width:100%;max-width:410px}
.auth-card.wide{max-width:760px}
.auth-card h1{text-align:center;color:var(--brand-d)}.auth-card>.muted{text-align:center;margin-top:-.4rem}
@media(max-width:480px){.auth-card{padding:1.5rem 1.2rem;border-radius:16px}}
.badge-mute{background:#e5e7eb;color:#4b5563}

/* 0.5.0 — انتخابگر قابل‌جستجو، ورودی با واحد، ارتباط بیرونی */
.ss{position:relative}.ss-native{display:none}
.ss-input{width:100%}
.ss-list{position:absolute;z-index:30;top:100%;right:0;left:0;margin:.15rem 0 0;padding:.2rem 0;list-style:none;background:#fff;border:1px solid #d1d5db;border-radius:.4rem;box-shadow:0 6px 18px rgba(0,0,0,.12);max-height:15rem;overflow:auto}
.ss-list li{padding:.4rem .8rem;cursor:pointer}.ss-list li:hover,.ss-list li.act{background:#eef2ff}.ss-list li.sel{font-weight:700}.ss-list li.none{color:#6b7280;cursor:default}
.input-unit{display:flex;align-items:center;gap:.5rem}.input-unit input{flex:1;min-width:0}.input-unit .unit{color:#6b7280;white-space:nowrap;font-size:.9rem}
.contact-ext{margin-top:.6rem;padding:.8rem;border:1px dashed #d1d5db;border-radius:.5rem}.lbl{display:block;font-weight:500;margin-bottom:.3rem}
.badge-special{background:#fff4d6;color:#8a5a00;border:1px solid #f0c75e;font-weight:700}

/* v0.7.1 — نشان تعداد روی منوی ادمین */
.nav-badge{display:inline-grid;place-items:center;min-width:1.35rem;height:1.35rem;padding:0 .35rem;margin-right:.5rem;border-radius:99px;background:#dc2626;color:#fff;font-size:.72rem;font-weight:700;line-height:1;vertical-align:middle}

/* ===== تقویم شمسی (jdate.js) — v0.8.1 ===== */
.jd-pop{position:absolute;z-index:9999;width:250px;background:#fff;border:1px solid #cbd5e1;border-radius:12px;box-shadow:0 10px 30px #0f172a33;padding:.5rem;font-family:inherit;font-size:.85rem;color:#0f172a}
.jd-h{display:flex;align-items:center;justify-content:space-between;gap:.3rem;margin-bottom:.4rem}
.jd-h span{display:flex;gap:.25rem}.jd-h select{font:inherit;font-size:.8rem;padding:.1rem .2rem;border:1px solid #cbd5e1;border-radius:6px;background:#fff;width:auto;min-width:0}
.jd-h button,.jd-f button{font:inherit;border:0;background:#f1f5f9;border-radius:8px;padding:.15rem .6rem;cursor:pointer;color:#0f172a}
.jd-g{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.jd-g b{color:#64748b;font-weight:600;font-size:.75rem;padding:.2rem 0}
.jd-d{font:inherit;border:0;background:transparent;border-radius:8px;padding:.3rem 0;cursor:pointer;color:#0f172a}
.jd-d:hover{background:#e6f4f2}.jd-d.td{border:1px solid #0d9488}.jd-d.on{background:#0f766e;color:#fff}
.jd-f{display:flex;justify-content:space-between;margin-top:.4rem}
input[data-jdate]{direction:ltr;text-align:right}

/* ===== نشان وضعیت پرداخت/فاکتور (همه‌جا: پیشخوان و پنل‌ها) — v0.8.1 ===== */
.st{display:inline-block;padding:.1rem .75rem;border-radius:99px;font-size:.8rem;font-weight:700;border:1px solid transparent}
.st-paid{background:#dcfce7;color:#166534;border-color:#86efac}
.st-unpaid{background:#fef3c7;color:#92400e;border-color:#fcd34d}
.st-refunded{background:#fee2e2;color:#991b1b;border-color:#fca5a5}

/* متن چندخطی (rich_text) */
.rich p{margin:0 0 .8rem;line-height:2;overflow-wrap:anywhere}.rich ul{margin:0 0 .8rem;padding-inline-start:1.4rem;line-height:2}.rich li{margin:.1rem 0}

/* ===== v0.10.1: لایت‌باکس تصاویر (assets/js/lightbox.js) ===== */
.lbx-lock{overflow:hidden}
.lbx{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:rgba(8,15,24,.92);backdrop-filter:blur(3px);animation:lbxIn .15s ease}
.lbx[hidden]{display:none}
.lbx-f{margin:0;max-width:94vw;max-height:92vh;display:flex;flex-direction:column;align-items:center;gap:.6rem}
.lbx-i{max-width:94vw;max-height:84vh;object-fit:contain;border-radius:12px;background:#fff;box-shadow:0 20px 60px #000a}
.lbx-c{color:#e2e8f0;font-size:.9rem;text-align:center;max-width:80vw;overflow-wrap:anywhere}
.lbx-x,.lbx-n{position:absolute;border:0;cursor:pointer;color:#fff;background:#ffffff26;border-radius:50%;width:46px;height:46px;font-size:1.5rem;line-height:1;display:grid;place-items:center;transition:background .15s}
.lbx-x:hover,.lbx-n:hover,.lbx-x:focus-visible,.lbx-n:focus-visible{background:#ffffff55;outline:2px solid #fff}
.lbx-x{top:14px;inset-inline-end:14px}
.lbx-n{top:50%;transform:translateY(-50%);display:none;font-size:2rem}.lbx-multi .lbx-n{display:grid}
.lbx-next{left:14px}.lbx-prev{right:14px}
.lbx-k{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);color:#cbd5e1;font-size:.85rem;background:#00000066;border-radius:99px;padding:.1rem .8rem}
@keyframes lbxIn{from{opacity:0}to{opacity:1}}
@media (max-width:640px){.lbx-n{width:40px;height:40px}.lbx-i{max-height:78vh;border-radius:8px}}
[hidden]{display:none!important}   /* v0.17.1: فیلدهای شرطی با hidden حتی روی گرید/فلکس پنهان شوند */
a,a:hover,a:focus,a:visited{text-decoration:none}   /* v0.17.2: بدون زیرخط در همهٔ پیوندها */

/* ===== v0.18.0: تبلیغات (قاب زیر باکس پرداخت، پیشخوان و گزارش) ===== */
.ad-slot{border:1px solid #e3eaee;border-radius:16px;background:#fff;padding:.7rem;display:grid;gap:.6rem;position:relative}
.ad-tag{position:absolute;inset-block-start:-.6rem;inset-inline-start:.9rem;background:#e2e8f0;color:#475569;font-size:.68rem;border-radius:999px;padding:.05rem .6rem}
.ad-box{display:grid;gap:.5rem;max-width:100%;overflow:hidden;border-radius:12px}
.ad-frame{display:block;width:100%;max-width:100%;border:0;border-radius:12px;background:#f8fafc}.ad-img{display:block;width:100%;max-width:100%;height:auto;border-radius:12px}
.ad-btn{display:block;text-align:center;background:linear-gradient(135deg,#0d9488,#0f766e);color:#fff!important;font-weight:700;border-radius:12px;padding:.55rem .8rem}
a.ad-btn:hover{filter:brightness(1.08)}
.ad-prev{max-width:340px}
.ad-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:.9rem}
.ad-item{display:grid;gap:.4rem}.ad-head{display:flex;justify-content:space-between;gap:.5rem;align-items:flex-start}.ad-meta{margin:0;color:#475569}
.ad-cats{display:flex;flex-wrap:wrap;gap:.25rem;margin:0}.ad-cats em{font-style:normal;font-size:.74rem;background:#f1f5f9;border-radius:999px;padding:.05rem .55rem}
.ad-nums{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;margin:.2rem 0}.ad-nums div{background:#f8fafc;border-radius:12px;text-align:center;padding:.4rem}.ad-nums b{display:block;font-size:1.1rem}.ad-nums span{font-size:.74rem;color:#64748b}
.ad-act{display:flex;flex-wrap:wrap;gap:.4rem}.ad-act form{margin:0}.ad-ended{opacity:.75}
.ar-wrap{max-width:1000px;margin:0 auto;background:#fff;border:1px solid #e2e8f0;border-radius:22px;padding:1.2rem}.ar h3{margin:1.2rem 0 .5rem}
.ar-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:.6rem;margin:.8rem 0}.ar-kpis div{background:linear-gradient(160deg,#f0fdfa,#ecfeff);border:1px solid #bae6fd;border-radius:16px;padding:.7rem;text-align:center}.ar-kpis b{display:block;font-size:1.4rem}.ar-kpis span{font-size:.76rem;color:#475569}
.ar-hours,.ar-days{display:flex;align-items:flex-end;gap:3px;height:150px;padding:.4rem .2rem;background:#f8fafc;border-radius:14px;overflow-x:auto}
.ar-hours div,.ar-days div{flex:1;min-width:14px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}
.ar-hours u,.ar-days u{display:block;width:100%;min-height:2px;background:linear-gradient(180deg,#14b8a6,#0f766e);border-radius:5px 5px 0 0;text-decoration:none}.ar-hours small,.ar-days small{font-size:.62rem;color:#64748b}
.ar-two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.ar-tb{width:100%;border-collapse:collapse;font-size:.86rem}.ar-tb th,.ar-tb td{padding:.4rem .5rem;border-bottom:1px solid #eef2f6;text-align:start}.ar-tb th{color:#64748b;font-weight:600}.ar-foot{text-align:center;margin-top:1rem}
@media (max-width:760px){.ar-kpis{grid-template-columns:repeat(2,1fr)}.ar-two{grid-template-columns:1fr}.ar-wrap{border-radius:16px;padding:.8rem}.ar-tb{display:block;overflow-x:auto}}
