/* ============================================================
   استایل صفحات عمومی — نسخه‌ی بازطراحی‌شده (پریمیوم/کلینیکی)
   همه‌ی کلاس‌های قبلی حفظ شده‌اند؛ فقط ظاهر ارتقا یافته است.
   سیستم فاصله ۸px | بدون کتابخانه | انیمیشن فقط transition کوتاه
   ============================================================ */
:root{
  --primary:#152a4e; --primary-700:#0d1b36; --primary-050:#eef2f8;
  --gold:#b8912f; --gold-100:#f3e8cf;
  --ink:#1c2434; --muted:#6a7284; --line:#e6e2d8;
  --bg:#f7f5f0; --card:#ffffff;
  --ok:#177a4c; --err:#b3372f;
  --r:14px; --r-sm:11px;
  --shadow:0 10px 30px rgba(20,40,40,.07);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  font-family:IRANSans,Tahoma,Arial,sans-serif !important;
  background:
    radial-gradient(900px 420px at 85% -10%, rgba(184,145,47,.07), transparent 60%),
    radial-gradient(700px 380px at -10% 110%, rgba(21,42,78,.06), transparent 60%),
    var(--bg);
  color:var(--ink); line-height:1.9; font-size:15px;
  min-height:100vh; padding:32px 16px;
}
a{color:var(--primary);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%}

/* ---------- قاب اصلی ---------- */
.wrap{max-width:920px;margin:0 auto}
.wrap.narrow{max-width:480px}

/* ---------- کارت شیت ---------- */
.sheet{background:var(--card);border:1px solid var(--line);border-radius:var(--r);
  overflow:hidden;box-shadow:var(--shadow)}
.sheet-top{
  background:linear-gradient(135deg,var(--primary) 0%,var(--primary-700) 100%);
  color:#fff;text-align:center;padding:32px 24px 28px;position:relative}
.sheet-top::after{content:"";position:absolute;inset-inline:0;bottom:0;height:3px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.9}
.sheet-top b{display:block;font-size:19px;font-weight:800;letter-spacing:.2px;margin-top:10px}
.sheet-top .mark{width:52px;height:52px;display:inline-block}
.eyebrow{font-size:12.5px;color:#e7cf95;font-weight:600;letter-spacing:.6px;margin-top:4px}
.sheet-body{padding:28px 24px 32px}

/* ---------- تایپوگرافی کمکی ---------- */
.lead{font-size:15.5px;font-weight:600;color:var(--ink);margin-bottom:16px}
.note{font-size:13px;color:var(--muted);text-align:center;margin-top:16px;line-height:1.9}
.muted{color:var(--muted)}
.day-label,.section-t{font-size:13.5px;font-weight:700;color:var(--primary);margin:8px 0 10px}
.empty{color:var(--muted);text-align:center;padding:32px 8px;font-size:14px}

/* ---------- فرم ---------- */
.fld{margin-bottom:16px}
.fld label{display:block;font-size:13px;font-weight:600;color:var(--muted);margin-bottom:6px}
.fld input,.fld textarea,.fld select{
  width:100%;min-height:46px;padding:11px 14px;font:inherit;color:var(--ink);
  background:#fff;border:1.5px solid var(--line);border-radius:var(--r-sm);
  transition:border-color .15s, box-shadow .15s}
.fld textarea{min-height:96px;resize:vertical}
.fld input:focus,.fld textarea:focus,.fld select:focus{
  outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(21,42,78,.12)}
.fld input::placeholder,.fld textarea::placeholder{color:#a9b3b3}
.otp{font-size:26px !important;letter-spacing:12px;text-align:center;direction:ltr;font-weight:800}

/* ---------- دکمه ---------- */
.btn{
  display:inline-block;width:100%;min-height:48px;padding:12px 20px;
  background:var(--primary);color:#fff;border:0;border-radius:var(--r-sm);
  font:inherit;font-size:15px;font-weight:700;cursor:pointer;text-align:center;
  transition:background .15s, transform .05s, box-shadow .15s;
  box-shadow:0 6px 18px rgba(21,42,78,.22)}
.btn:hover{background:var(--primary-700);text-decoration:none;color:#fff}
.btn:active{transform:translateY(1px)}
.btn:focus-visible{outline:3px solid rgba(184,145,47,.55);outline-offset:2px}

/* ---------- پیام‌ها ---------- */
.alert{padding:12px 16px;border-radius:var(--r-sm);font-size:13.5px;margin-bottom:16px;
  border:1px solid transparent}
.alert.err{background:#fbeeec;color:var(--err);border-color:#f0d4d0}
.alert.ok{background:#ecf6f0;color:var(--ok);border-color:#cfe7d9}

/* ---------- موفقیت ---------- */
.success{text-align:center;padding:16px 0 8px}
.success .big{font-size:52px;line-height:1;color:var(--ok);margin-bottom:12px}
.success .sub{font-size:13.5px;color:var(--muted);margin-top:8px}
.success .when{font-size:17px;font-weight:800;color:var(--primary);margin:8px 0}

/* ---------- انتخاب روز و ساعت (نوبت) ---------- */
.day{margin-bottom:20px}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:10px}
.slot input{position:absolute;opacity:0;pointer-events:none}
.slot label{display:block;text-align:center;padding:12px 0;border:1.5px solid var(--line);
  border-radius:var(--r-sm);font-size:15px;font-weight:700;cursor:pointer;color:var(--ink);
  transition:border-color .15s,color .15s,background .15s,box-shadow .15s;background:#fff}
.slot label:hover{border-color:var(--primary);color:var(--primary)}
.slot input:checked + label{background:var(--primary);border-color:var(--primary);color:#fff;
  box-shadow:0 6px 16px rgba(21,42,78,.26)}
.slot input:focus-visible + label{outline:3px solid rgba(184,145,47,.55);outline-offset:2px}

/* ---------- ستاره‌های نظرسنجی ---------- */
.stars{display:flex;flex-direction:row-reverse;justify-content:center;gap:10px;margin:16px 0 24px}
.stars input{display:none}
.stars label{font-size:42px;color:#e4ddca;cursor:pointer;transition:color .12s,transform .12s;line-height:1}
.stars label:hover{transform:scale(1.08)}
.stars input:checked ~ label,.stars label:hover,.stars label:hover ~ label{color:var(--gold)}

/* ---------- فاکتور ---------- */
.inv-amt{font-size:32px;font-weight:800;color:var(--primary);text-align:center;margin:16px 0;
  letter-spacing:.3px}
.inv-row{display:flex;justify-content:space-between;gap:12px;padding:11px 2px;
  border-bottom:1px dashed var(--line);font-size:14px}
.inv-row b{font-weight:700}
.paid{color:var(--ok);font-weight:800;text-align:center;font-size:18px;margin:8px 0}

/* ---------- گزارش پرونده ---------- */
.rep{background:var(--primary-050);border:1px solid var(--line);border-radius:var(--r-sm);
  padding:14px 16px;margin-bottom:12px;white-space:pre-wrap;font-size:14px}
.files{display:flex;flex-wrap:wrap;gap:10px}
.files img{width:104px;height:104px;object-fit:cover;border-radius:var(--r-sm);
  border:1px solid var(--line)}
.files a.doc{display:flex;align-items:center;justify-content:center;width:104px;height:104px;
  background:var(--primary-050);border-radius:var(--r-sm);border:1px solid var(--line);font-size:26px}

/* ---------- سوییچر زبان و تب‌ها ---------- */
.lang-switch a{display:inline-block;padding:6px 14px;margin:0 3px;border:1.5px solid var(--line);
  border-radius:999px;font-size:13px;font-weight:600;color:var(--muted);transition:all .15s}
.lang-switch a:hover{border-color:var(--primary);color:var(--primary);text-decoration:none}
.tabs{display:flex;gap:8px;margin-bottom:20px}
.tabs a{flex:1;text-align:center;padding:11px;border:1.5px solid var(--line);border-radius:var(--r-sm);
  font-size:13.5px;font-weight:700;color:var(--muted);cursor:pointer;transition:all .15s;background:#fff}
.tabs a:hover{border-color:var(--primary);color:var(--primary);text-decoration:none}
.tabs a.on{background:var(--primary);color:#fff;border-color:var(--primary)}

/* ---------- خروج (گالری/گزارش) ---------- */
.logout{position:absolute;top:16px;left:16px;background:none;border:0;color:#e7cf95;
  cursor:pointer;font-family:inherit;font-size:13px}

/* ---------- موبایل ---------- */
@media(max-width:520px){
  body{padding:16px 10px}
  .sheet-top{padding:26px 16px 22px}
  .sheet-body{padding:22px 16px 26px}
  .slots{grid-template-columns:repeat(auto-fill,minmax(74px,1fr))}
  .inv-amt{font-size:27px}
}
@media(prefers-reduced-motion:reduce){*{animation:none !important;transition:none !important}}
