/* ══════════ HOT LINE — جدول المتابعة ══════════ */
:root .view.sheet-page { max-width:none !important; }
.sh-top { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-bottom:12px; }
.sh-month { margin:0; min-width:240px; }
.sh-stats { display:flex; gap:8px; flex-wrap:wrap; flex:1; }
.sh-stat { background:var(--surface); border-radius:14px; padding:8px 14px; display:flex; flex-direction:column; min-width:84px; }
.sh-stat b { font-size:18px; font-weight:900; }
.sh-stat span { font-size:11.5px; color:var(--text-2); font-weight:700; }
.sh-stat.main { min-width:150px; }
.sh-stat .pbar { margin-top:6px; }
.sh-tools { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:12px; }
.sh-search { max-width:260px; padding:10px 14px; }
.sh-sel { max-width:200px; padding:10px 14px; }
.btn-sm { padding:9px 14px; font-size:13.5px; }

.sh-wrap { overflow:auto; max-height:calc(100vh - 230px); border-radius:16px; border:1px solid var(--hairline);
  background:var(--surface); -webkit-overflow-scrolling:touch; }
.sh-tbl { border-collapse:separate; border-spacing:0; width:max-content; min-width:100%; font-size:13.5px; }
.sh-tbl th { position:sticky; top:0; z-index:3; background:var(--bg-2); color:var(--text-2); font-weight:800;
  font-size:12.5px; padding:10px 10px; text-align:start; white-space:nowrap; border-bottom:1px solid var(--hairline); }
.sh-tbl td { border-bottom:1px solid var(--hairline-2); border-inline-start:1px solid var(--hairline-2); padding:0; vertical-align:middle; height:44px; }
.sh-tbl tr.sh-first td { border-top:1.5px solid var(--hairline); }
.sh-tbl tr.sh-odd td { background:color-mix(in srgb, var(--bg-2) 35%, transparent); }
.sh-tbl tr.sh-done td { background:var(--ok-bg, rgba(48,209,88,.12)); }

/* عمود المشروع ثابت */
.sh-tbl .sh-proj { position:sticky; inset-inline-start:0; z-index:2; background:var(--surface); min-width:140px; max-width:170px; }
.sh-tbl th.sh-proj { z-index:4; background:var(--bg-2); }
.sh-tbl tr.sh-odd td.sh-proj, .sh-tbl tr.sh-done td.sh-proj { background:var(--surface); }
.sh-proj-in { display:flex; align-items:center; gap:6px; padding:0 10px; }
.sh-name { font-weight:800; flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sh-plus { width:26px; height:26px; border-radius:8px; background:var(--bg-2); color:var(--text-2); display:flex; align-items:center; justify-content:center; flex:none; }
.sh-plus .ic { width:15px; height:15px; }

/* خانات النص */
.sh-txt { max-width:260px; }
.sh-cell { display:block; width:100%; height:100%; min-height:44px; padding:8px 10px; text-align:start; color:var(--text);
  font-size:13.5px; line-height:1.5; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.sh-cell:hover { background:var(--bg-2); }
.sh-cell.is-empty::after { content:'+'; color:var(--text-3); font-weight:800; }
.sh-link { display:flex; align-items:center; gap:6px; padding:0 10px; }
.sh-link a { color:var(--accent); font-weight:700; display:flex; align-items:center; gap:4px; }
.sh-link a .ic, .sh-edit .ic { width:14px; height:14px; }
.sh-clip { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:90px; }
.sh-edit { color:var(--text-3); padding:4px; }

/* Yes/NO · DONE/NOT */
.sh-tog { text-align:center; padding:0 8px !important; }
.sh-pill { min-width:58px; padding:5px 10px; border-radius:8px; font-weight:900; font-size:12px; letter-spacing:.3px;
  font-family:var(--font-head); transition:transform var(--t-fast) var(--spring); }
.sh-pill:active { transform:scale(.92); }
.sh-pill.on  { background:rgba(48,209,88,.18); color:var(--ok, #2E8A5E); }
.sh-pill.off { background:rgba(255,69,58,.16); color:var(--late, #B42318); }

.sh-act { width:40px; text-align:center; }
.sh-del { color:var(--text-3); padding:8px; }
.sh-del:hover { color:var(--late, #B42318); }
.sh-del .ic { width:16px; height:16px; }
.sh-hint { text-align:center; font-size:11.5px; margin-top:10px; }

@media (max-width:700px) {
  .sh-search, .sh-sel { max-width:none; flex:1 1 140px; }
  .sh-wrap { max-height:calc(100vh - 300px); }
  .sh-tbl .sh-proj { min-width:104px; max-width:120px; }
  .sh-month { min-width:0; width:100%; }
  .sh-stats { flex-wrap:nowrap; width:100%; }
  .sh-stat, .sh-stat.main { min-width:0; flex:1; padding:6px 8px; }
  .sh-stat b { font-size:15px; }
  .sh-stat .pbar { display:none; }
}

/* ── الموعد + المؤقت + التأخير ── */
.sh-tbl .sh-due { min-width:112px; }
.sh-tbl .sh-timer { min-width:150px; }
.sh-due-btn { display:flex; flex-direction:column; align-items:flex-start; gap:3px; width:100%; min-height:44px; padding:6px 10px; justify-content:center; }
.sh-due-btn:hover, .sh-timer:hover { background:var(--bg-2); }
.sh-date { font-weight:800; font-size:13px; }
.sh-date.is-empty { color:var(--text-3); font-weight:700; font-size:12px; }
.sh-timer-in { display:flex; flex-direction:column; align-items:flex-start; gap:3px; padding:6px 10px; }
.sh-stage { font-size:12.5px; font-weight:800; color:var(--text-2); }
.sh-badge { display:inline-flex; align-items:center; gap:3px; font-size:11px; font-weight:800; padding:2px 8px; border-radius:99px; white-space:nowrap; }
.sh-badge .ic { width:12px; height:12px; }
.sh-badge.b-ok    { background:rgba(48,209,88,.16); color:var(--ok, #2E8A5E); }
.sh-badge.b-soon  { background:rgba(255,159,10,.18); color:var(--risk, #B87500); }
.sh-badge.b-today { background:rgba(255,159,10,.28); color:var(--risk, #B87500); }
.sh-badge.b-late  { background:rgba(255,69,58,.2); color:var(--late, #B42318); }
.sh-tbl tr.sh-is-late td.sh-proj { box-shadow:inset -4px 0 0 var(--late, #B42318); }
[dir="rtl"] .sh-tbl tr.sh-is-late td.sh-proj { box-shadow:inset -4px 0 0 var(--late, #B42318); }
button.sh-stat { text-align:start; cursor:pointer; }
.sh-stat.sh-late b { color:var(--late, #B42318); }
.sh-stat.sh-late.on { outline:2px solid var(--late, #B42318); }
.sh-sort { max-width:190px; }

/* ── إدارة العملاء ── */
.cm-head { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:6px; }
.cm-row { gap:8px; }
.cm-name { font-weight:800; font-size:15px; }
.cm-off { opacity:.65; }
.cm-stop { color:var(--late, #B42318); }
@media (max-width:560px) { .cm-row { flex-wrap:wrap; } .cm-row .grow { flex-basis:100%; } }
@media (max-width:560px) {
  .cm-head .sh-stat { flex:1; min-width:0; }
  .cm-head .sh-stat b { font-size:14px; }
  .cm-head .grow { display:none; }
  .cm-head #add { width:100%; justify-content:center; }
}

/* ── كالندر التصوير ── */
.sc-legend { display:flex; flex-wrap:wrap; gap:10px; font-size:12px; color:var(--text-2); font-weight:700; }
.sc-legend span { display:inline-flex; align-items:center; gap:5px; }
.lg { width:10px; height:10px; border-radius:3px; display:inline-block; }
.lg.ready, .c-ready { --cc:var(--ok, #2E8A5E); }
.lg.wait, .c-wait  { --cc:var(--risk, #B87500); }
.lg.late, .c-late, .c-warn { --cc:var(--late, #B42318); }
.lg.done, .c-done  { --cc:var(--text-3); }
.c-post, .c-plan { --cc:var(--info, #0F4C6E); }
.lg { background:var(--cc); }
.sc-grid { display:grid; grid-template-columns:repeat(7, minmax(0,1fr)); gap:4px; background:var(--surface); border:1px solid var(--hairline); border-radius:16px; padding:6px; }
.sc-wd { text-align:center; font-size:12px; font-weight:800; color:var(--text-2); padding:6px 0; }
.sc-day { min-height:96px; border-radius:10px; background:var(--bg-2); padding:5px; display:flex; flex-direction:column; gap:4px; cursor:default; }
:root .sc-day[data-day] { cursor:pointer; }
.sc-day.sc-blank { background:transparent; }
.sc-day.past { opacity:.6; }
.sc-day.today { outline:2px solid var(--accent); }
.sc-num { font-size:12px; font-weight:800; color:var(--text-2); }
.sc-chip { display:flex; flex-direction:column; align-items:flex-start; text-align:start; width:100%; padding:4px 6px; border-radius:7px;
  background:color-mix(in srgb, var(--cc) 18%, transparent); border-inline-start:3px solid var(--cc); font-size:11.5px; line-height:1.35; color:var(--text); }
.sc-chip b { font-weight:800; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:100%; }
.sc-chip span { color:var(--text-2); font-size:10.5px; font-weight:700; }
.sc-chip.c-done { opacity:.7; }
.sc-dot { width:12px; height:12px; border-radius:50%; background:var(--cc); flex:none; }
.sc-ag .sh-badge { flex:none; }
.sc-info { display:flex; flex-direction:column; gap:8px; font-weight:700; margin-bottom:6px; }
.sc-info .ic { width:16px; height:16px; vertical-align:-3px; }
.sc-idea { font-size:14px; overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.sc-pick { display:flex; flex-direction:column; gap:6px; max-height:260px; overflow:auto; }
.sh-tbl .sh-shoot { min-width:130px; }
@media (max-width:700px) {
  .sc-legend { display:none; }
  .sc-day { min-height:56px; padding:3px; }
  .sc-chip { padding:2px 3px; border-inline-start-width:2px; }
  .sc-chip span { display:none; }
  .sc-chip b { font-size:10px; }
}

/* ── نظرة عامة (بطاقات العملاء) ── */
.ov-filters { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:14px; }
.ov-f { display:flex; align-items:center; gap:8px; padding:8px 14px; border-radius:99px; background:var(--surface); font-weight:800; font-size:13px; color:var(--text-2); border:1.5px solid transparent; }
.ov-f b { font-size:13px; color:var(--text); }
.ov-f.on { border-color:var(--text-2); color:var(--text); }
.ov-f.ov-late b { color:var(--late, #B42318); } .ov-f.ov-warn b { color:var(--risk, #B87500); } .ov-f.ov-ok b { color:var(--ok, #2E8A5E); }
.ov-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(290px, 1fr)); gap:12px; }
.ov-card { --cc:var(--ok, #2E8A5E); display:flex; flex-direction:column; gap:10px; text-align:start; padding:14px; border-radius:18px;
  background:var(--surface); border:1px solid var(--hairline); border-top:5px solid var(--cc); transition:transform var(--t-fast) var(--spring); }
.ov-card:active { transform:scale(.98); }
.ov-card.ov-late { --cc:var(--late, #B42318); background:color-mix(in srgb, var(--late, #B42318) 7%, var(--surface)); }
.ov-card.ov-warn { --cc:var(--risk, #B87500); }
.ov-card.ov-done { --cc:var(--text-3); opacity:.8; }
.ov-card.ov-idle { --cc:var(--hairline); opacity:.7; }
.ov-top { display:flex; align-items:center; gap:10px; }
.ov-name { flex:1; min-width:0; font-size:16px; font-weight:900; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ov-st { flex:none; display:inline-flex; align-items:center; gap:4px; font-size:11.5px; font-weight:800; padding:4px 10px; border-radius:99px;
  color:var(--cc); background:color-mix(in srgb, var(--cc) 16%, transparent); }
.ov-st .ic { width:13px; height:13px; }
.ov-prog { display:flex; align-items:center; gap:10px; }
.ov-prog .pbar { flex:1; }
.ov-prog .pbar i { background:var(--cc); }
.ov-prog span { font-size:12px; font-weight:800; color:var(--text-2); white-space:nowrap; }
.ov-lines { display:flex; flex-direction:column; gap:6px; font-size:13px; line-height:1.5; }
.ov-lines > div { display:flex; gap:7px; align-items:flex-start; }
.ov-lines .ic { width:15px; height:15px; flex:none; margin-top:3px; color:var(--text-3); }
.ov-lines b { font-weight:800; }
.ov-red { color:var(--late, #B42318); }
.ov-idea { color:var(--text-2); }
.ov-note { display:flex; flex-wrap:wrap; align-items:flex-start; gap:6px; padding:10px; border-radius:12px; background:var(--bg-2); font-size:13px; line-height:1.55; }
.ov-note .ic { width:15px; height:15px; flex:none; margin-top:3px; color:var(--accent); }
.ov-note-t { flex:1; min-width:0; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.ov-note small { flex-basis:100%; color:var(--text-3); font-weight:700; font-size:11px; padding-inline-start:21px; }
.ov-detail { display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.ov-ntext { white-space:pre-wrap; font-size:14px; line-height:1.6; margin-bottom:3px; }
@media (max-width:560px) { .ov-grid { grid-template-columns:1fr; } }

/* الملاحظات: صندوق داكن ونص فاتح عريض — يبين زين بالثيم الفاتح والداكن */
.ov-note { background:#15171C; color:#FFFFFF; border:1px solid rgba(255,255,255,.08);
  font-size:14px; font-weight:600; line-height:1.65; padding:12px; }
.ov-note .ic { color:#FF4A4D; }
.ov-note-t { -webkit-line-clamp:3; }
.ov-note small { color:#B9BCC4; font-size:11.5px; }
.ov-note .dim { color:#B9BCC4; }
.ov-nrow { background:#15171C; border-radius:12px; }
.ov-nrow .ov-ntext { color:#FFFFFF; font-weight:600; }
.ov-nrow small { color:#B9BCC4 !important; }
