/* ============================================================
   hf-refine.css — لایهٔ پایانی نظم‌دهی به ظاهر همفکران
   بدون تغییر هویت برند (سرمه‌ای #3C01AF · فیروزه‌ای #49CFF8 · طلایی #D3A524)
   هدف‌ها: ۱) کم‌کردن شلوغی  ۲) سلسله‌مراتب روشن  ۳) تایپوگرافی فارسی
            ۴) یکدستی بین صفحه‌ها  ۵) موبایل قابل استفاده
   این فایل باید آخرین stylesheet در head باشد.
   ============================================================ */

:root {
  --rf-ink:        #13152C;
  --rf-ink-2:      #565E70;   /* متن دوم — کنتراست کافی (قبلاً خیلی روشن بود) */
  --rf-ink-3:      #7A8394;   /* متن سوم */
  --rf-line:       #E7EAF1;
  --rf-line-2:     #D6DBE6;
  --rf-tint:       rgba(60, 1, 175, .07);
  --rf-radius:     14px;
  --rf-radius-sm:  10px;
  --rf-pad:        22px;
  --rf-gap:        20px;
  --rf-shadow:     0 1px 2px rgba(19, 21, 44, .05);
}
html[data-theme="dark"] {
  --rf-ink:   #F4F6FA;
  --rf-ink-2: #B9C0CE;
  --rf-ink-3: #8E96A6;
  --rf-line:  rgba(255, 255, 255, .10);
  --rf-line-2:rgba(255, 255, 255, .18);
  --rf-tint:  rgba(124, 77, 255, .16);
  --rf-shadow:none;
}

/* ---------- ۱) تایپوگرافی فارسی ----------
   اندازه‌های قبلی (۱۰٫۵ تا ۱۲٫۸px) برای فارسی کوچک بودند؛
   مقیاس زیر خوانا و در همهٔ صفحه‌ها یکسان است. */
body {
  font-family: 'Vazirmatn', system-ui, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.85 !important;
  color: var(--rf-ink-2) !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, .bn-tile-head h3, .topbar h1 {
  color: var(--rf-ink) !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
  text-wrap: pretty;
}
.topbar h1        { font-size: 21px !important; font-weight: 800 !important; }
.topbar-sub       { font-size: 13.5px !important; color: var(--rf-ink-3) !important; }
.bn-tile-head h3  { font-size: 15px !important; font-weight: 800 !important; }
.bn-row-title     { font-size: 14.5px !important; font-weight: 600 !important; line-height: 1.7 !important; }
.bn-row-sub       { font-size: 12.5px !important; color: var(--rf-ink-3) !important; margin-top: 3px !important; }
.bn-sub, .bn-meta { font-size: 12.5px !important; color: var(--rf-ink-3) !important; }
.bn-tag, .bn-pill { font-size: 12px !important; font-weight: 700 !important; }
.bn-btn           { font-size: 13.5px !important; font-weight: 700 !important; }
.nav-link         { font-size: 14px !important; }
.bn-empty, .bn-dashed { font-size: 13.5px !important; color: var(--rf-ink-3) !important; }
/* اعداد فارسی در یک خط و بدون شکستگی */
.bn-clock b, .bn-ring span, .kpi-num { font-variant-numeric: tabular-nums; white-space: nowrap; }

/* ---------- ۲) کم‌کردن شلوغی: کارت آرام ---------- */
.bn-tile, .card, .nw-card {
  border-radius: var(--rf-radius) !important;
  border: 1px solid var(--rf-line) !important;
  box-shadow: var(--rf-shadow) !important;
  padding: var(--rf-pad) !important;
  gap: 14px !important;
}
/* نوار رنگی بالای کارت‌ها و پرش هنگام هوور حذف می‌شود — نویز بصری بود */
.bn-tile::before, .nw-card::before { display: none !important; }
.bn-tile, .nw-card, .card, .board-col-body .card { transform: none !important; }
@media (hover: hover) {
  .bn-tile:hover, .nw-card:hover, .board-col-body .card:hover {
    transform: none !important;
    border-color: var(--rf-line-2) !important;
    box-shadow: var(--rf-shadow) !important;
  }
}
/* انیمیشن ورود کارت‌ها فقط یک‌بار و بسیار ملایم */
.bn-tile, .nw-card, .card { animation-duration: .22s !important; }

/* جعبهٔ تودرتو → فقط یک فاصله و خط نازک بالا (جعبه در جعبه حذف شد) */
.bn-inner {
  border: 0 !important;
  border-top: 1px solid var(--rf-line) !important;
  border-radius: 0 !important;
  padding: 16px 0 0 !important;
  margin-top: 4px !important;
}

/* ---------- ۳) رنگ: فقط یک لهجه در هر کارت ----------
   قبلاً هر کاشی یک آیکن رنگی متفاوت داشت (بنفش، فیروزه‌ای، صورتی، طلایی، سبز)
   و صفحه رنگین‌کمان می‌شد. حالا پیش‌فرض سرمه‌ای است و صورتی فقط برای نامه‌ها. */
.bn-ico {
  width: 32px !important; height: 32px !important;
  border-radius: var(--rf-radius-sm) !important;
  background: var(--rf-tint) !important;
  color: #3C01AF !important;
}
.bn-ico.is-cyan, .bn-ico.is-green, .bn-ico.is-purple,
.bn-ico.is-amber, .bn-ico.is-orange {
  background: var(--rf-tint) !important;
  color: #3C01AF !important;
}
.bn-ico.is-pink { background: rgba(214, 0, 108, .10) !important; color: #B00058 !important; }
html[data-theme="dark"] .bn-ico,
html[data-theme="dark"] .bn-ico.is-cyan,
html[data-theme="dark"] .bn-ico.is-green,
html[data-theme="dark"] .bn-ico.is-purple,
html[data-theme="dark"] .bn-ico.is-amber,
html[data-theme="dark"] .bn-ico.is-orange { color: #9F7CFF !important; }

/* برچسب‌ها: کنتراست کافی برای خواندن، نه رنگ پررنگ */
.bn-tag           { background: var(--rf-tint) !important; color: #35019B !important; }
.bn-tag.is-late   { background: rgba(180, 35, 24, .10) !important; color: #B42318 !important; }
.bn-tag.is-soon   { background: rgba(211, 165, 36, .16) !important; color: #7A5C0B !important; }
.bn-tag.is-week   { background: rgba(19, 21, 44, .06)  !important; color: var(--rf-ink-2) !important; }
html[data-theme="dark"] .bn-tag { color: #C9B8FF !important; }

/* ---------- ۴) سلسله‌مراتب دکمه‌ها ----------
   در هر کارت فقط یک دکمهٔ پر؛ بقیه ساده. گرادیان و سایهٔ رنگی حذف شد. */
.bn-btn, .btn {
  border-radius: var(--rf-radius-sm) !important;
  min-height: 44px !important;
  box-shadow: none !important;
  background-image: none !important;
}
.bn-btn { border-color: var(--rf-line) !important; background-color: #fff !important; color: var(--rf-ink-2) !important; }
html[data-theme="dark"] .bn-btn { background-color: rgba(255,255,255,.05) !important; }
.bn-btn:hover { background-color: rgba(60, 1, 175, .05) !important; color: var(--rf-ink) !important; border-color: var(--rf-line-2) !important; }
.bn-btn-purple, .btn-primary { background: #3C01AF !important; color: #fff !important; border: 0 !important; }
.bn-btn-purple:hover, .btn-primary:hover { background: #2E0186 !important; filter: none !important; }
.bn-btn-orange, .bn-btn-amber { background: #D3A524 !important; color: #241700 !important; border: 0 !important; }
.bn-btn-orange:hover, .bn-btn-amber:hover { background: #BC9019 !important; filter: none !important; }
.bn-btn-cyan { background: #E4F7FE !important; color: #0A5D79 !important; border: 1px solid #B6E9FA !important; }
.bn-btn-cyan:hover { background: #D2F1FC !important; filter: none !important; }
:focus-visible { outline: 2px solid #3C01AF !important; outline-offset: 2px !important; }

/* ---------- ۵) ردیف‌ها: هدف لمس بزرگ‌تر، جداکنندهٔ نازک ---------- */
.bn-row {
  padding: 12px 4px !important;
  border-radius: var(--rf-radius-sm) !important;
  border-top: 1px solid var(--rf-line);
  align-items: flex-start !important;
}
.bn-row + .bn-row { margin-top: 0 !important; }
.bn-tile > .bn-row:first-of-type { border-top: 0; }
.bn-check { width: 22px !important; height: 22px !important; margin-top: 2px; }
.bn-bar { height: 6px !important; }
.bn-bar i { background: #3C01AF !important; }

/* ---------- ۶) سایدبار ---------- */
.sidebar { padding-inline: 12px !important; }
.nav-label {
  font-size: 11.5px !important; font-weight: 700 !important;
  color: var(--rf-ink-3) !important; padding: 18px 10px 6px !important;
}
.nav-link {
  padding: 11px 12px !important; border-radius: var(--rf-radius-sm) !important;
  min-height: 44px; font-weight: 500 !important; color: var(--rf-ink-2) !important;
}
.nav-link:hover { background: rgba(60, 1, 175, .05) !important; color: var(--rf-ink) !important; }
.nav-link.active {
  background: var(--rf-tint) !important; color: #3C01AF !important; font-weight: 700 !important;
  border-color: transparent !important;
}
html[data-theme="dark"] .nav-link.active { color: #B9A2FF !important; }

/* ---------- ۷) نوار بالا: چسبان و آرام ---------- */
.topbar {
  position: sticky !important; top: 0; z-index: 40;
  background: rgba(255, 255, 255, .88) !important;
  backdrop-filter: saturate(1.1) blur(8px);
  border-bottom: 1px solid var(--rf-line) !important;
}
html[data-theme="dark"] .topbar { background: rgba(11, 12, 27, .88) !important; }

/* ---------- ۸) شبکهٔ داشبورد ----------
   سه ستون تنها روی نمایشگر پهن؛ فاصلهٔ یکسان با بقیهٔ صفحه‌ها. */
.bn-grid { gap: var(--rf-gap) !important; }
.bn-col  { gap: var(--rf-gap) !important; }
@media (max-width: 1180px) { .bn-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 900px)  { .bn-grid { grid-template-columns: minmax(0, 1fr) !important; } }

/* ---------- ۹) موبایل ---------- */
@media (max-width: 860px) {
  body { font-size: 15px !important; }
  .content { padding: 16px 14px 96px !important; }
  .bn-tile, .card, .nw-card { padding: 18px !important; border-radius: 14px !important; }
  .topbar { padding: 12px 14px !important; }
  .topbar h1 { font-size: 18px !important; }
  .topbar-sub { display: none; }           /* زیرعنوان روی گوشی فقط جا می‌گیرد */
  .bn-stack-2 { grid-template-columns: minmax(0, 1fr) !important; }
  /* هر دکمه/لینک قابل لمس */
  .bn-btn, .btn, .nav-link, .tabbar a { min-height: 46px !important; }
  .bn-btn-grow { min-width: 0 !important; flex: 1 1 46% !important; }
  /* ردیف‌ها روی گوشی نمی‌شکنند */
  .bn-row { flex-wrap: nowrap !important; }
  .bn-row-title { font-size: 15px !important; }
  .bn-row-sub { font-size: 12.5px !important; }
  /* جلوگیری از بیرون‌زدگی افقی */
  .app-shell, .main, .content { max-width: 100vw; overflow-x: hidden; }
  img, video, table, pre { max-width: 100% !important; }
  /* نوار پایین خواناتر */
  .tabbar a { font-size: 11px !important; gap: 5px !important; }
  .tabbar svg { width: 23px !important; height: 23px !important; }
  .tabbar a.active { color: #3C01AF !important; }
}
@media (max-width: 420px) {
  .content { padding: 14px 12px 96px !important; }
  .bn-tile, .card, .nw-card { padding: 16px !important; }
  .bn-btn-grow { flex: 1 1 100% !important; }
}

/* ---------- ۱۰) یکدستی بین صفحه‌ها ----------
   همان شعاع، همان خط، همان فاصله برای جدول‌ها، تخته‌ها و فرم‌ها. */
.board-col, .task-card, .board-col-body .card, .letter-card, .nw-card {
  border-radius: var(--rf-radius) !important;
  border-color: var(--rf-line) !important;
  box-shadow: var(--rf-shadow) !important;
}
input, select, textarea, .input {
  border-radius: var(--rf-radius-sm) !important;
  border: 1px solid var(--rf-line-2) !important;
  font-family: inherit !important; font-size: 14.5px !important;
  min-height: 44px;
}
input:focus, select:focus, textarea:focus, .input:focus {
  border-color: #3C01AF !important; outline: 2px solid rgba(60, 1, 175, .18) !important; outline-offset: 0 !important;
}
table th { font-size: 13px !important; color: var(--rf-ink-3) !important; font-weight: 700 !important; }
table td { font-size: 14px !important; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

/* پاپ‌آپ زنگ نامه‌ها: همیشه داخل صفحه */
#hfBell .hf-bell-pop,
#hfBell .hf-bell-pop.hf-bell-pop-fixed,
.hf-bell-pop,
.hf-bell-pop.hf-bell-pop-fixed{
  inset-inline:auto !important;
  right:auto !important;
  left:8px !important;
  width:min(340px, calc(100vw - 16px)) !important;
  max-width:calc(100vw - 16px) !important;
  max-height:min(70dvh, 460px) !important;
  overflow:auto !important;
  overscroll-behavior:contain !important;
}
@media (max-width: 620px){
  #hfBell .hf-bell-pop,
  #hfBell .hf-bell-pop.hf-bell-pop-fixed,
  .hf-bell-pop,
  .hf-bell-pop.hf-bell-pop-fixed{
    left:10px !important; right:10px !important; width:auto !important;
  }
}

/* ---------- اخبار: سقف عرض کارت‌ها ---------- */
.nw-grid{
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 360px)) !important;
  justify-content: start !important;
  align-items: start !important;
}
.nw-card{ max-width:360px !important; }
.nw-plate{ height:112px !important; font-size:30px !important; }
.nw-card p{
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
@media (min-width: 1600px){
  .nw-grid{ grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 380px)) !important; }
  .nw-card{ max-width:380px !important; }
}
@media (max-width: 700px){
  .nw-grid{ grid-template-columns: minmax(0,1fr) !important; }
  .nw-card{ max-width:none !important; }
  .nw-plate{ height:96px !important; font-size:26px !important; }
}

/* ---------- تایپوگرافی سراسری ---------- */
html,body,button,input,select,textarea,
.ch-wrap,.ch-wrap *,.nw-card,.nw-card *{
  font-family:'Vazirmatn','Vazir Metric',system-ui,-apple-system,'Segoe UI',sans-serif !important;
}
html,body{
  font-feature-settings:"ss01" 1,"ss02" 1;
  font-variant-ligatures:common-ligatures;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
/* اعداد در متن فارسی هم‌تراز بمانند */
.ch-when,.nw-card-meta,.nw-views,[class*="count"],[class*="badge"]{
  font-variant-numeric:tabular-nums;
}
