/* ===========================================================================
   نِی‌باکس — گروه سازمانی (نسخهٔ ۱٫۶٫۰)
   چت گروهی + فایل مشترک: قاب‌های نازک، فاصله‌گذاری آرام، هم‌خوان با پوستهٔ استودیو
   =========================================================================== */

/* ── زبانه‌های بخش‌ها ─────────────────────────────────────────────────── */

.group-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 18px;
  padding: 4px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-2);
}

.group-tab {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 14px;
  border-radius: var(--radius-sm);
  border: 1px solid transparent;
  color: var(--ink-2);
  font-size: 13.5px;
  text-decoration: none;
  transition: background .16s ease, border-color .16s ease, color .16s ease;
}

.group-tab:hover {
  background: var(--surface);
  border-color: var(--line);
}

.group-tab.is-active {
  background: var(--surface);
  border-color: var(--line-2);
  color: var(--ink);
  box-shadow: var(--shadow);
}

.group-tab .ic {
  width: 16px;
  height: 16px;
  color: var(--muted);
}

.group-tab.is-active .ic {
  color: var(--accent);
}

/* ── چیدمان دوستونه ───────────────────────────────────────────────────── */

.group-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 306px;
  gap: 20px;
  align-items: start;
}

.group-main {
  display: flex;
  flex-direction: column;
  gap: 20px;
  min-width: 0;
}

.group-side {
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: sticky;
  top: 78px;
}

@media (max-width: 1000px) {
  .group-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .group-side {
    position: static;
  }
}

/* ── چت گروهی: نام فرستنده و کارت پیوست ───────────────────────────────── */

.bubble-author {
  display: block;
  margin-bottom: 4px;
  font-size: 11.5px;
  color: var(--accent-ink);
}

.bubble-file {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
  padding: 9px 11px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface);
  text-decoration: none;
  color: var(--ink);
}

.bubble-file:hover {
  border-color: var(--line-2);
}

.bubble-file .ic {
  width: 16px;
  height: 16px;
  color: var(--muted);
  flex: none;
}

.bubble-file-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: var(--radius-sm);
  background: var(--accent-soft);
  color: var(--accent-ink);
  flex: none;
}

.bubble-file-body {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

.bubble-file-body strong {
  font-size: 13px;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bubble-file-body small {
  font-size: 11.5px;
  color: var(--muted);
}

.bubble-delete {
  margin-inline-start: 8px;
  display: inline;
}

.link-danger {
  border: 0;
  padding: 0;
  background: none;
  color: var(--danger);
  font: inherit;
  font-size: 11.5px;
  cursor: pointer;
}

.link-danger:hover {
  text-decoration: underline;
}

/* ── فهرست فایل‌های مشترک ─────────────────────────────────────────────── */

.gfile-list {
  display: flex;
  flex-direction: column;
}

.gfile {
  padding: 16px 18px;
  border-top: 1px solid var(--line);
}

.gfile:first-child {
  border-top: 0;
}

.gfile-top {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

.gfile-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: var(--radius);
  border: 1px solid var(--line);
  background: var(--surface-2);
  color: var(--muted);
  flex: none;
}

.gfile-thumb {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: var(--radius);
  border: 1px solid var(--line);
  overflow: hidden;
  flex: none;
  background: var(--surface-2);
}

.gfile-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.gfile-icon .ic {
  width: 19px;
  height: 19px;
}

.gfile-info {
  flex: 1;
  min-width: 0;
}

.gfile-name-row {
  display: flex;
  align-items: center;
  gap: 9px;
  flex-wrap: wrap;
}

.gfile-name {
  font-size: 14.5px;
  font-weight: 500;
  color: var(--ink);
  text-decoration: none;
  overflow-wrap: anywhere;
}

.gfile-name:hover {
  color: var(--accent-ink);
  text-decoration: underline;
}

.gfile-meta {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 7px;
  font-size: 12px;
  color: var(--muted);
}

.gfile-meta > span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.gfile-meta .ic {
  width: 13px;
  height: 13px;
  color: var(--muted-2, var(--muted));
}

.gfile-meta .avatar {
  width: 22px;
  height: 22px;
}

.gfile-share-note {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  margin: 9px 0 0;
  padding: 8px 11px;
  border-radius: var(--radius-sm);
  background: var(--accent-soft);
  color: var(--ink-2);
  font-size: 12.5px;
  line-height: 1.75;
}

.gfile-share-note .ic {
  width: 14px;
  height: 14px;
  margin-top: 3px;
  color: var(--accent-ink);
  flex: none;
}

.gfile-expiry {
  margin: 7px 0 0;
  font-size: 11.5px;
  color: var(--muted);
}

.gfile-actions {
  display: flex;
  align-items: center;
  gap: 7px;
  flex: none;
}

.gfile-note {
  display: flex;
  align-items: flex-end;
  gap: 9px;
  margin-top: 13px;
  padding-top: 13px;
  border-top: 1px dashed var(--line);
}

.gfile-note-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
  min-width: 0;
}

.gfile-note-field .field-label {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11.5px;
  color: var(--muted);
}

.gfile-note-field .field-label .ic {
  width: 12px;
  height: 12px;
}

.gfile-note .input {
  font-size: 12.5px;
}

@media (max-width: 640px) {
  .gfile-top {
    flex-wrap: wrap;
  }

  .gfile-actions {
    width: 100%;
  }

  .gfile-note {
    flex-wrap: wrap;
  }
}

/* ── ویرایش درون جدول (پنل مدیریت) ─────────────────────────────────────── */

.group-edit {
  align-items: center;
}

.group-name-input {
  width: 150px;
  padding: 6px 9px;
  font-size: 12.5px;
}

.group-edit .check {
  font-size: 12px;
  white-space: nowrap;
}

@media (max-width: 900px) {
  .group-edit {
    flex-wrap: wrap;
  }

  .group-name-input {
    width: 100%;
  }
}

/* ── اعضای گروه و مشخصات ──────────────────────────────────────────────── */

.member-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.member-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 18px;
  border-top: 1px solid var(--line);
}

.member-item:first-child {
  border-top: 0;
}

.member-body {
  display: flex;
  flex-direction: column;
  gap: 1px;
  flex: 1;
  min-width: 0;
}

.member-body strong {
  font-size: 13px;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.member-body small {
  font-size: 11px;
  color: var(--muted);
}

.member-item .btn-sm {
  padding: 5px 8px;
}

.group-facts {
  display: flex;
  flex-direction: column;
  gap: 11px;
  margin: 0;
}

.group-facts > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
}

.group-facts > div:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.group-facts dt {
  font-size: 12px;
  color: var(--muted);
  flex: none;
}

.group-facts dd {
  margin: 0;
  font-size: 12.5px;
  color: var(--ink);
  text-align: end;
  overflow-wrap: anywhere;
}

/* ۱٫۶٫۹ — نشان مدیر + مجوزها + سلسله‌مراتب */
.manager-badge{ display:inline-flex; align-items:center; gap:4px; background:#9C6A0E; color:#fff; border-radius:999px; padding:2px 8px; font-size:10px; font-weight:600; }
.manager-badge-dot{ width:6px; height:6px; background:#fff; border-radius:50%; opacity:.9; }
.manager-badge-inline{ display:inline-flex; align-items:center; background:#FEF3C7; border:1px solid #F59E0B; color:#92400E; border-radius:999px; padding:1px 7px; font-size:10px; font-weight:700; }
.perm-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
@media(max-width:700px){ .perm-grid{ grid-template-columns:1fr; } }
.perm-card{ display:flex; align-items:center; gap:10px; border:1px solid #E7E0D4; border-radius:12px; padding:12px 14px; background:#FFFDFA; cursor:pointer; transition:.15s; }
.perm-card.is-off{ opacity:.7; border-color:#FDE68A; background:#FFFBEB; }
.perm-icon{ width:30px; height:30px; display:grid; place-items:center; background:#F3F0EB; border-radius:8px; flex-shrink:0; }
.perm-text{ flex:1; display:flex; flex-direction:column; gap:2px; }
.perm-text strong{ font-size:12.5px; }
.perm-text small{ color:#7C7466; font-size:11px; }
.perm-toggle{ width:40px; height:22px; border-radius:999px; background:#E7E0D4; position:relative; flex-shrink:0; transition:.2s; }
.perm-knob{ position:absolute; top:3px; left:3px; width:16px; height:16px; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.2); transition:.2s; }
.perm-card.is-on .perm-toggle{ background:#1F4E79; }
.perm-card.is-on .perm-knob{ transform:translateX(18px); }
.perm-card input{ position:absolute; opacity:0; pointer-events:none; }
.hierarchy-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media(max-width:700px){ .hierarchy-grid{ grid-template-columns:1fr; } }
.hierarchy-card{ border:1px solid #E7E0D4; border-radius:12px; padding:16px; background:#FFFDFA; }
.hierarchy-card.is-super{ border-color:#1F4E79; background:#F0F6FF; }
.hierarchy-card.is-general{ border-color:#0F6F6A; background:#ECFDF5; }
.h-badge{ display:inline-block; font-size:10px; font-weight:600; background:#1F4E79; color:#fff; border-radius:999px; padding:2px 8px; margin-bottom:8px; }
.hierarchy-card.is-general .h-badge{ background:#0F6F6A; }
.h-list{ margin:8px 0 0; padding:0; list-style:none; display:flex; flex-direction:column; gap:4px; font-size:12px; color:#444; }
.h-list li::before{ content:"✓ "; color:#059669; font-weight:700; }
.h-perms{ display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.h-perm{ display:inline-flex; align-items:center; gap:4px; border-radius:999px; padding:3px 8px; font-size:10px; border:1px solid #E7E0D4; background:#fff; }
.h-perm.is-on{ border-color:#A7F3D0; background:#ECFDF5; color:#065F46; }
.h-perm.is-off{ border-color:#FDE68A; background:#FFFBEB; color:#92400E; }
.badge-pr-general{ background:#0F6F6A; color:#fff; }
.badge-pr-manager{ background:#9C6A0E; color:#fff; }
.perm-locked{ border:1px dashed #F59E0B; background:#FFFBEB; }
.perm-locked-head{ display:flex; align-items:center; gap:8px; font-size:13px; }

/* ۱٫۷٫۲ — پاک‌سازی محتوای گروه توسط پشتیبان */
.purge-form{ display:inline-flex; align-items:center; gap:6px; margin-inline-start:6px; }
.purge-scope{ min-width:96px; padding-block:4px; font-size:12px; }
.purge-scope option{ font-size:12px; }
@media(max-width:820px){ .purge-form{ flex-wrap:wrap; } }

/* ۱٫۷٫۲ — پروفایل عمومی همکار (user.php) */
.profile-hero{ position:relative; overflow:hidden; border-color:#E7E0D4; background:#FFFDFA; }
.profile-hero-glow{ position:absolute; inset-inline-start:-60px; inset-block-start:-60px; width:260px; height:260px; border-radius:50%; background:radial-gradient(circle, rgba(31,78,121,.10), rgba(31,78,121,0) 70%); pointer-events:none; }
.profile-hero-main{ position:relative; display:flex; align-items:flex-start; gap:18px; padding:22px 24px; flex-wrap:wrap; }
.profile-hero .avatar-xl{ width:96px; height:96px; font-size:30px; }
.profile-hero-text{ flex:1; min-width:220px; display:flex; flex-direction:column; gap:7px; }
.profile-hero-name{ display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
.profile-hero-name h1{ margin:0; font-size:21px; font-weight:700; letter-spacing:-.2px; }
.profile-hero-role,
.profile-hero-company{ display:flex; align-items:center; gap:7px; margin:0; font-size:13px; color:#575047; }
.profile-hero-presence{ display:flex; align-items:center; gap:7px; margin:2px 0 0; font-size:12px; color:#7C7466; }
.profile-hero-presence.is-online{ color:#2F7D57; }
.profile-hero-actions{ display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.profile-facts{ margin:0; display:grid; gap:2px; }
.profile-fact{ display:flex; align-items:center; justify-content:space-between; gap:14px; padding:10px 2px; border-bottom:1px dashed #EFE8DC; }
.profile-fact:last-child{ border-bottom:0; }
.profile-fact dt{ display:flex; align-items:center; gap:7px; font-size:12.5px; color:#7C7466; margin:0; }
.profile-fact dd{ margin:0; font-size:13px; font-weight:600; text-align:end; }
.ltr-text{ direction:ltr; unicode-bidi:embed; }
.avatar-link{ display:inline-flex; border-radius:50%; transition:transform .15s ease, box-shadow .15s ease; }
.avatar-link:hover{ transform:translateY(-1px) scale(1.04); box-shadow:0 6px 16px rgba(0,0,0,.14); }
.avatar-link:focus-visible{ outline:2px solid #1F4E79; outline-offset:3px; }
/* ── ۱٫۸٫۰ — کارتابل وظایف ─────────────────────────────────────────────── */
.task-list{ display:flex; flex-direction:column; gap:10px; }
.task-card{ display:flex; flex-direction:column; gap:6px; padding:14px 16px; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); border-inline-start-width:4px; text-decoration:none; color:inherit; transition:border-color .15s, box-shadow .15s; }
.task-card:hover{ border-color:var(--line-2); box-shadow:var(--shadow); }
.task-priority-border-urgent{ border-inline-start-color:#DC2626; }
.task-priority-border-soon{ border-inline-start-color:#CA8A04; }
.task-priority-border-normal{ border-inline-start-color:#16A34A; }
.task-card-head{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.task-card-title{ font-size:14.5px; font-weight:600; }
.task-card-body{ margin:0; font-size:12.5px; color:var(--muted); line-height:1.8; }
.task-card-meta{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; font-size:11.5px; color:var(--muted); }
.task-priority{ display:inline-flex; align-items:center; padding:2px 8px; border-radius:999px; font-size:11px; font-weight:700; border:1px solid transparent; }
.task-priority-urgent{ background:#FEF2F2; color:#991B1B; border-color:#FECACA; }
.task-priority-soon{ background:#FEFCE8; color:#854D0E; border-color:#FDE68A; }
.task-priority-normal{ background:#F0FDF4; color:#166534; border-color:#BBF7D0; }
.task-status{ display:inline-flex; padding:2px 8px; border-radius:999px; font-size:11px; border:1px solid var(--line); background:var(--surface-2); color:var(--muted); }
.task-status-new{ background:#EFF6FF; color:#1E40AF; border-color:#BFDBFE; }
.task-status-seen{ background:#F5F3FF; color:#5B21B6; border-color:#DDD6FE; }
.task-status-progress{ background:#FFFBEB; color:#92400E; border-color:#FDE68A; }
.task-status-review{ background:#FEF2F2; color:#991B1B; border-color:#FECACA; }
.task-status-approved{ background:#F0FDF4; color:#166534; border-color:#BBF7D0; }
.task-status-revision{ background:#FFF7ED; color:#9A3412; border-color:#FDBA74; }
.task-category{ display:inline-flex; padding:2px 7px; border-radius:999px; font-size:11px; background:var(--surface-2); border:1px solid var(--line); color:var(--muted); }
.task-detail-hero{ border-inline-start-width:4px; }
.task-body{ font-size:14px; line-height:1.9; color:var(--ink-2); background:var(--bg-tint); border-radius:var(--radius-sm); padding:10px 14px; }
.task-meta-row{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; font-size:12.5px; }
.task-meta-person{ display:inline-flex; align-items:center; gap:8px; }
.task-timeline{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:0; }
.task-tl-item{ display:flex; align-items:center; gap:10px; padding:8px 0; border-bottom:1px dashed var(--line); }
.task-tl-item:last-child{ border-bottom:0; }
.task-tl-dot{ width:10px; height:10px; border-radius:50%; background:var(--line-2); flex:none; }
.task-tl-item.is-done .task-tl-dot{ background:#16A34A; }
.task-tl-item.is-revision .task-tl-dot{ background:#EA580C; }
.task-tl-label{ font-size:13px; font-weight:600; }
.task-result-box{ margin-top:12px; padding:12px 14px; background:#FFFBEB; border:1px solid #FDE68A; border-radius:var(--radius-sm); }
.task-result-box strong{ font-size:13px; }
.task-result-box p{ margin:6px 0 0; font-size:13px; line-height:1.9; }
.task-file-list{ list-style:none; margin:0; padding:0; }
.task-file-item{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 14px; border-top:1px solid var(--line); }
.task-file-item:first-child{ border-top:0; }
.task-file-name{ font-size:13px; }
.task-file-actions{ display:flex; gap:6px; flex:none; }
.task-comment-list{ list-style:none; margin:0; padding:0; }
.task-comment{ padding:12px 14px; border-top:1px solid var(--line); }
.task-comment:first-child{ border-top:0; }
.task-comment-head{ display:flex; align-items:center; gap:8px; font-size:12.5px; }
.task-comment p{ margin:6px 0 0; font-size:13px; line-height:1.9; }

@media(max-width:760px){
  .profile-hero-main{ padding:18px; }
  .profile-hero-actions{ width:100%; }
  .profile-fact{ flex-direction:column; align-items:flex-start; gap:4px; }
  .profile-fact dd{ text-align:start; }
}

/* ── ۱٫۹٫۰ — ارجاع چرخه‌ای + پولیش UX ─────────────────────────────────── */
.task-refer-chain{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; }
.task-refer-step{ display:flex; align-items:center; gap:8px; padding:8px 10px; border-radius:var(--radius-sm); border:1px solid var(--line); background:var(--surface-2); }
.task-refer-step.is-current{ border-color:var(--accent); background:var(--accent-soft); box-shadow:var(--shadow); }
.task-refer-link{ display:flex; align-items:center; gap:8px; flex:1; min-width:0; text-decoration:none; color:inherit; }
.task-refer-num{ width:22px; height:22px; border-radius:50%; display:grid; place-items:center; background:var(--surface); border:1px solid var(--line); font-size:11px; font-weight:700; flex:none; }
.task-refer-step.is-current .task-refer-num{ background:var(--accent); color:#fff; border-color:var(--accent); }
.task-refer-title{ font-size:13px; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.task-refer-list{ list-style:none; margin:0; padding:0; }
.task-refer-item{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding:8px 14px; border-top:1px solid var(--line); font-size:12.5px; }
.task-refer-item:first-child{ border-top:0; }
.task-refer-item em{ color:var(--muted); font-style:normal; background:var(--bg-tint); padding:2px 7px; border-radius:999px; font-size:11.5px; }
.task-refer-item small{ margin-inline-start:auto; }

/* — کارتابل: hover شفاف و اکشن شناور — */
.task-list .task-card{ position:relative; overflow:visible; }
.task-list .task-card:hover{ transform:translateY(-1px); }

/* — چت و گروه: دکمهٔ حذف تاریخچه — */
.page-head-actions .btn[style*="var(--danger)"]{ border-color:#FECACA; }
.page-head-actions .btn[style*="var(--danger)"]:hover{ background:#FEF2F2; }

/* — فرمت کلی: ورودی‌ها و دکمهٔ اصلی — */
.input:focus{ outline:none; border-color:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent); }
.btn-primary{ box-shadow:0 1px 2px rgba(0,0,0,.06); }
.btn-primary:hover{ filter:brightness(1.03); transform:translateY(-1px); }
.btn-primary:active{ transform:translateY(0); }

/* — stat-row: فاصلهٔ نرم — */
.stat-row{ gap:12px; }
.stat{ transition:transform .14s ease, box-shadow .14s ease; }
.stat:hover{ transform:translateY(-1px); box-shadow:var(--shadow); }

/* — toolbar: فیلتر کارتابل — */
.toolbar{ display:flex; gap:8px; flex-wrap:wrap; align-items:center; padding:10px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface-2); margin-bottom:12px; }

/* — ریسپانسیو پولیش — */
@media(max-width:760px){
  .page-head{ flex-direction:column; align-items:stretch; gap:12px; }
  .page-head-actions{ width:100%; flex-wrap:wrap; }
  .toolbar{ padding:8px; }
  .group-tabs{ padding:3px; }
  .task-card-meta{ font-size:11px; }
}



/* ═══════════════════════════════════════════════════════════════════════════
   ۱٫۱۰ — چرخهٔ بستهٔ بسته‌شونده: ارجاع اختیاری، بازگشت انتخابی، تأیید نهایی
   زنجیرهٔ چسبان، درخت، تایم‌لاین غنی، باکس نتیجه — همه بدون گیج‌کردن کاربر
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── زنجیرهٔ چسبان (بالای task.php — نمای افقی خرده‌نان چرخه) ─────────── */
.task-chainbar{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding:9px 12px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface-2); margin-bottom:10px; }
.task-chainbar .chainbar-label{ display:inline-flex; align-items:center; gap:6px; font-size:11.5px; font-weight:600; color:var(--muted); flex:none; }
.task-chainbar .chainbar-list{ list-style:none; margin:0; padding:0; display:flex; align-items:center; gap:4px; flex-wrap:wrap; flex:1; min-width:0; }
.task-chainbar .chainbar-item{ display:inline-flex; align-items:center; gap:4px; }
.task-chainbar .chainbar-link{ display:inline-flex; align-items:center; gap:6px; padding:4px 8px; border-radius:999px; border:1px solid var(--line); background:var(--surface); color:var(--ink-2); font-size:12px; text-decoration:none; transition:border-color .15s, background .15s; }
.task-chainbar .chainbar-link:hover{ border-color:var(--line-2); background:var(--surface); }
.task-chainbar .chainbar-item.is-cur .chainbar-link{ border-color:var(--accent); background:var(--accent-soft); box-shadow:0 1px 4px rgba(0,0,0,.06); color:var(--ink); }
.task-chainbar .chainbar-name{ max-width:120px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:600; font-size:12px; }
.task-chainbar .chainbar-arrow{ color:var(--muted); font-size:14px; line-height:1; }
.task-chainbar .chainbar-status{ font-size:10px; padding:1px 6px; }

/* — هدر جزئیات وظیفه: شبکهٔ متا — */
.task-meta-grid{ display:flex; flex-wrap:wrap; gap:10px 18px; align-items:center; margin-top:6px; }
.task-detail-hero .task-meta-grid .task-meta-person{ font-size:12.5px; }

/* ── تایم‌لاین غنی ───────────────────────────────────────────────────── */
.task-timeline.is-rich .task-tl-item{ gap:12px; padding:10px 0; }
.task-timeline.is-rich .task-tl-dot{ width:22px; height:22px; border-radius:50%; display:grid; place-items:center; background:var(--surface-2); border:1px solid var(--line); position:relative; }
.task-timeline.is-rich .task-tl-dot::after{ content:""; width:7px; height:7px; border-radius:50%; background:var(--accent); opacity:.9; }
.task-timeline.is-rich .task-tl-dot.is-check::after{ background:#16A34A; }
.task-timeline.is-rich .task-tl-dot.is-edit::after{ background:#CA8A04; }
.task-timeline.is-rich .task-tl-dot.is-trash::after{ background:#DC2626; }
.task-timeline.is-rich .task-tl-dot.is-share::after{ background:#0F6F6A; }
.task-timeline.is-rich .task-tl-dot.is-chat::after{ background:#2563EB; }
.task-timeline.is-rich .task-tl-dot.is-alert::after{ background:#EA580C; }
.task-timeline.is-rich .task-tl-dot.is-send::after{ background:#7C3AED; }
.task-tl-desc{ font-size:12px; color:var(--muted); flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.task-history-details{ margin-top:14px; border:1px solid var(--line); border-radius:var(--radius-sm); padding:10px 12px; background:var(--surface-2); }
.task-history-details > summary{ cursor:pointer; font-size:12.5px; font-weight:600; color:var(--ink-2); }
.task-history-list{ list-style:none; margin:10px 0 0; padding:0; display:flex; flex-direction:column; gap:6px; }
.task-history-item{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding:7px 10px; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--surface); font-size:12.5px; }
.task-history-item .task-hist-badge{ display:inline-flex; padding:2px 7px; border-radius:999px; font-size:10.5px; font-weight:700; border:1px solid var(--line); }
.task-history-item.is-submit .task-hist-badge{ background:#ECFDF5; color:#065F46; border-color:#A7F3D0; }
.task-history-item.is-edit .task-hist-badge{ background:#FFFBEB; color:#92400E; border-color:#FDE68A; }
.task-history-item.is-delete .task-hist-badge{ background:#FEF2F2; color:#991B1B; border-color:#FECACA; }

/* — باکس نتیجه با اکشن — */
.task-result-box .task-result-head{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.task-result-box .task-result-meta{ font-size:11.5px; color:var(--muted); }
.task-result-box .task-result-actions{ margin-inline-start:auto; display:inline-flex; gap:6px; }
.task-result-box.is-approved{ background:#F0FDF4; border-color:#BBF7D0; }

/* — درخت چرخه — */
.task-tree{ list-style:none; margin:0; padding:0; }
.tree-root{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.tree-node{ position:relative; }
.tree-branch{ display:flex; align-items:center; gap:10px; padding:10px 12px; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--surface); text-decoration:none; color:inherit; transition:border-color .14s, box-shadow .14s, transform .14s; }
.tree-branch:hover{ border-color:var(--line-2); box-shadow:var(--shadow); transform:translateY(-1px); }
.tree-node.is-cur .tree-branch{ border-color:var(--accent); background:var(--accent-soft); box-shadow:var(--shadow); }
.tree-line{ position:absolute; inset-inline-start:18px; top:-8px; bottom:50%; width:1px; background:var(--line); content:""; }
.tree-root > .tree-node > .tree-branch .tree-line{ display:none; }
.tree-dot{ width:10px; height:10px; border-radius:50%; flex:none; border:2px solid var(--line); background:var(--surface); }
.tree-dot.is-new{ border-color:#3B82F6; background:#EFF6FF; }
.tree-dot.is-seen{ border-color:#8B5CF6; background:#F5F3FF; }
.tree-dot.is-progress{ border-color:#F59E0B; background:#FFFBEB; }
.tree-dot.is-review{ border-color:#DC2626; background:#FEF2F2; }
.tree-dot.is-approved{ border-color:#16A34A; background:#F0FDF4; }
.tree-dot.is-revision{ border-color:#EA580C; background:#FFF7ED; }
.tree-card{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; flex:1; min-width:0; }
.tree-title{ font-weight:600; font-size:13px; flex:1; min-width:0; }
.tree-meta{ font-size:11.5px; color:var(--muted); }
.tree-children{ list-style:none; margin:8px 32px 0 0; padding:0; display:flex; flex-direction:column; gap:8px; border-inline-start:1px dashed var(--line); padding-inline-start:16px; }

/* — فیلد مسیر بازگشت — */
.check input[type="radio"]{ accent-color:var(--accent); }

/* — ریسپانسیو — */
@media(max-width:760px){
  .task-chainbar{ padding:8px 10px; }
  .task-meta-grid{ gap:8px; }
  .tree-children{ margin-inline-start:12px; padding-inline-start:12px; }
  .task-result-box .task-result-actions{ width:100%; margin-top:6px; }
}
@media(max-width:520px){
  .task-chainbar .chainbar-name{ max-width:86px; }
  .tree-branch{ padding:8px 10px; }
}


/* انتخاب آزادانه متن حباب‌ها */
.chat-thread, .bubble-row, .bubble, .bubble-text {
  user-select: text !important;
  -webkit-user-select: text !important;
}
