/* «امروز» (Figma 278:5921, 281:1619, 281:7658, 281:8456, 281:9278) + quick-activity modal (shared partial). */

/* ---------- page ---------- */
.today__head { margin-bottom: 24px; }
.today__head .page-header__sub { margin-top: 4px; }
.today__grid { display: grid; grid-template-columns: minmax(0, 1fr) 358px; gap: 24px; align-items: start; }
.today__main, .today__side { display: flex; flex-direction: column; gap: 24px; min-width: 0; }
.today__side { gap: 20px; }

.today .count, .qa .count { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px;
  background: var(--color-gray-100); color: var(--color-text-secondary); font: var(--text-caption); }
.today .count--danger { background: var(--color-danger-bg); color: var(--color-danger); }
.today .count--amber { background: var(--color-brand-amber-50); color: var(--color-brand-orange); }

/* ---------- tasks card ---------- */
.today-tasks { padding: 8px 20px 0; }
.tsec-head, .today-sec__head { display: flex; align-items: center; gap: 8px; min-height: 56px; }
.tsec-head h2, .today-sec__head h2, .side-card__head h2 { margin: 0; font: var(--text-h3); color: var(--color-text-primary); }
.tsec-head + .task-list { margin-top: 0; }
.task-list + .tsec-head { margin-top: 8px; }
.tsec-head__link { margin-inline-start: auto; font: var(--text-body-strong); color: var(--color-text-primary); padding: 0 12px; }
.tsec-head__link:hover { color: var(--color-text-brand); }
.task-list__empty { margin: 0; padding: 16px 0 20px; color: var(--color-text-muted); font: var(--text-small); }

:is(.today, .done-modal) .task-item { display: flex; align-items: center; gap: 12px; min-height: 85px; padding: 12px 16px; border-bottom: 1px solid var(--color-border); }
.today .task-list:last-child .task-item:last-child { border-bottom: 0; }
:is(.today, .done-modal) .task-item__check { display: contents; }
:is(.today, .done-modal) .tcheck { flex: none; width: 18px; height: 18px; display: grid; place-items: center; padding: 0; border: 1.5px solid var(--color-gray-400);
  border-radius: 4px; background: var(--color-surface-card); cursor: pointer; color: #fff; }
:is(.today, .done-modal) .tcheck:hover { border-color: var(--color-brand-navy); }
:is(.today, .done-modal) .tcheck:focus-visible { outline: 0; box-shadow: var(--focus-ring); }
:is(.today, .done-modal) .tcheck.is-checked { background: var(--color-brand-navy); border-color: var(--color-brand-navy); cursor: default; }
:is(.today, .done-modal) .tcheck .icon { width: 14px; height: 14px; color: #fff; }
:is(.today, .done-modal) .task-item__main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
:is(.today, .done-modal) .task-item__title { font: var(--text-body-strong); color: var(--color-text-primary); }
:is(.today, .done-modal) .task-item.is-done .task-item__title { color: var(--color-text-muted); text-decoration: line-through; }
:is(.today, .done-modal) .ctx-link { display: inline-flex; align-items: center; gap: 4px; align-self: flex-start; font: var(--text-small); color: var(--color-info); }
:is(.today, .done-modal) .ctx-link .icon { width: 14px; height: 14px; }
:is(.today, .done-modal) a.ctx-link:hover { text-decoration: underline; }
:is(.today, .done-modal) .task-item__meta { flex: none; display: flex; align-items: center; gap: 12px; }
:is(.today, .done-modal) .due-pill { display: inline-flex; align-items: center; gap: 4px; height: 24px; padding: 0 8px; border-radius: 999px;
  background: var(--color-danger-bg); color: var(--color-danger); font: var(--text-small); white-space: nowrap; }
:is(.today, .done-modal) .due-pill .icon, :is(.today, .done-modal) .due-time .icon { width: 14px; height: 14px; }
:is(.today, .done-modal) .due-time { display: inline-flex; align-items: center; gap: 4px; color: var(--color-text-secondary); font: var(--text-small); white-space: nowrap; }
:is(.today, .done-modal) .due-time .icon { color: var(--color-gray-400); }
:is(.today, .done-modal) .task-flag { display: inline-grid; color: var(--color-brand-amber); }
:is(.today, .done-modal) .task-flag .icon { width: 16px; height: 16px; }
:is(.today, .done-modal) .task-flag--danger { color: var(--color-danger); }
:is(.today, .done-modal) .task-flag--muted { color: var(--color-gray-400); }
:is(.today, .done-modal) .task-flag--done { color: var(--color-brand-amber); opacity: .45; }
:is(.today, .done-modal) .avatar-xs { width: 20px; height: 20px; font: 500 10px/16px var(--font-family); background: var(--color-brand-navy-50); color: var(--color-text-brand); }
.done-modal .task-item--preview { padding: 0 0 16px; min-height: 0; }

/* snooze popover (Popover/Snooze, 264 wide) */
.today .snooze { position: relative; }
.today .snooze > summary { list-style: none; width: 28px; height: 28px; color: var(--color-gray-500); }
.today .snooze > summary::-webkit-details-marker { display: none; }
.today .snooze > summary .icon { width: 16px; height: 16px; }
.today .snooze[open] > summary { background: var(--color-gray-100); color: var(--color-text-primary); }
.today .snooze__pop { position: absolute; top: calc(100% + 6px); left: -8px; z-index: 30; width: 264px; padding: 4px; background: var(--color-surface-card);
  border: 1px solid var(--color-border); border-radius: var(--radius-md); box-shadow: var(--shadow-md); }
.today .snooze__head { padding: 8px 12px 6px; font: var(--text-caption); color: var(--color-text-muted); }
.today .snooze__opt { width: 100%; display: flex; align-items: center; gap: 8px; min-height: 36px; padding: 0 12px; border: 0; border-radius: 6px; background: none;
  font: var(--text-body); color: var(--color-text-primary); text-align: right; cursor: pointer; list-style: none; }
.today .snooze__opt::-webkit-details-marker { display: none; }
.today .snooze__opt:hover, .today .snooze__custom[open] > .snooze__opt { background: var(--color-gray-50); }
.today .snooze__opt .icon { width: 18px; height: 18px; color: var(--color-gray-600); }
.today .snooze__opt small { font: var(--text-small); color: var(--color-text-muted); white-space: nowrap; }
.today .snooze__custom { border-top: 1px solid var(--color-border); margin-top: 4px; padding-top: 4px; }
.today .snooze__custom[open] > .snooze__opt .icon:last-child { transform: rotate(-90deg); }
.today .snooze__form { display: flex; flex-direction: column; gap: 8px; padding: 8px; }
.today .snooze__form .btn { align-self: flex-end; }

/* ---------- next actions ---------- */
.today-sec__head { min-height: 32px; margin-bottom: 16px; }
.today-sec__head h2 { font: var(--text-h3); }
.today .na-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.today .na-grid > * { margin: 0; }

/* ---------- side cards ---------- */
.today .side-card { padding: 12px 20px 4px; }
.today .side-card__head { display: flex; align-items: center; gap: 8px; min-height: 44px; }
.today .today-list { list-style: none; margin: 0; padding: 0; }
.today .side-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--color-border); }
.today .side-row:last-child { border-bottom: 0; }
.today .side-row__main { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.today .side-row__title { font: var(--text-body-strong); color: var(--color-text-primary); }
.today a.side-row__title:hover { color: var(--color-text-brand); }
.today .side-row__sub { font: var(--text-small); color: var(--color-text-secondary); white-space: nowrap; }
.today .side-row--demo { flex-direction: column; align-items: stretch; gap: 10px; }
.today .side-row__line { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.today .side-row .btn-sm { flex: none; }

/* ---------- empty states (281:9278) ---------- */
.today-empty { min-height: 466px; display: grid; place-items: center; padding: 40px; }
.today-empty .empty { max-width: 440px; }
.today-empty .empty .row { margin-top: 8px; flex-direction: row-reverse; }
.today-side-empty { padding: 24px 20px 32px; }
.today-side-empty .empty__icon { width: 64px; height: 64px; }
.today-side-empty .empty__icon .icon { width: 24px; height: 24px; }
.today-side-empty .empty__title { font: var(--text-h3); }
.today-side-empty .empty p { font: var(--text-body); }

/* ---------- quick activity modal (281:1619) ---------- */
.qa { width: min(800px, 100%); }
.qa .modal__header, .done-modal .modal__header { padding: 20px 24px 18px; }
.qa .modal__title, .done-modal .modal__title { font: var(--text-h2); }
.qa__body { display: flex; flex-direction: column; gap: 16px; }
.qa .field__label .req, .done-modal .field__label .req { color: var(--color-danger); }
.qa .segmented, .done-modal .segmented { display: inline-flex; gap: 4px; padding: 4px; border-radius: var(--radius-md); background: var(--color-gray-100); }
.qa .segmented--fill { display: flex; }
.qa .segmented--fill .segmented__item { flex: 1; justify-content: center; }
.qa .segmented__item { position: relative; height: 32px; padding: 0 12px; display: inline-flex; align-items: center; border-radius: 6px;
  color: var(--color-text-secondary); font: var(--text-body); cursor: pointer; white-space: nowrap; }
.qa .segmented__item input { position: absolute; opacity: 0; pointer-events: none; }
.qa .segmented__item:hover { color: var(--color-text-primary); }
.qa .segmented__item:has(input:checked) { background: var(--color-surface-card); color: var(--color-text-brand); font: var(--text-body-strong); box-shadow: 0 1px 1px rgba(15, 23, 42, .06); }
.qa .segmented__item:has(input:focus-visible) { box-shadow: var(--focus-ring); }
.qa__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.qa__grid [hidden] { display: none; }
.qa__span { grid-column: 1 / -1; }
.qa .combo { position: relative; }
.qa .combo .input { padding-inline: 38px 38px; }
.qa .combo.is-fixed .input { padding-inline-end: 12px; background: var(--color-gray-50); color: var(--color-text-primary); }
.qa .combo.is-fixed .combo__chev { display: none; }
.qa .combo__icon, .qa .combo__chev { position: absolute; top: 11px; width: 18px; height: 18px; color: var(--color-gray-500); pointer-events: none; display: grid; }
.qa .combo__icon { inset-inline-start: 12px; }
.qa .combo__chev { inset-inline-end: 12px; color: var(--color-gray-600); }
.qa .combo__icon .icon, .qa .combo__chev .icon { width: 18px; height: 18px; }
.qa .combo__list { position: absolute; inset-inline: 0; top: calc(100% + 4px); z-index: 40; max-height: 260px; overflow: auto; padding: 4px; background: var(--color-surface-card);
  border: 1px solid var(--color-border); border-radius: var(--radius-md); box-shadow: var(--shadow-md); }
.qa .combo__opt { width: 100%; display: flex; align-items: center; gap: 8px; min-height: 36px; padding: 6px 12px; border: 0; border-radius: 6px; background: none;
  text-align: right; font: var(--text-body); color: var(--color-text-primary); cursor: pointer; }
.qa .combo__opt small { font: var(--text-small); color: var(--color-text-muted); }
.qa .combo__opt:hover, .qa .combo__opt.is-active { background: var(--color-gray-50); }
.qa .combo__empty { padding: 10px 12px; font: var(--text-small); color: var(--color-text-muted); }
.qa .input-affix input { font: var(--text-body); }
.qa .input-affix__fix { direction: rtl; font: var(--text-body); }
.counted { position: relative; }
.counted .textarea { width: 100%; min-height: 96px; padding-bottom: 28px; resize: none; }
.counted__n { position: absolute; left: 12px; bottom: 8px; font: var(--text-caption); color: var(--color-text-muted); pointer-events: none; }
.qa__footer { align-items: center; }
.qa__close { margin-inline-end: auto; font: var(--text-body); color: var(--color-text-secondary); }

/* «اقدام بعدی» panel */
.na-panel { margin: 0; padding: 20px 16px 20px; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-gray-50); min-width: 0; }
.na-panel[hidden] { display: none; }
.na-panel__title { float: right; width: 100%; padding: 0; margin: 0 0 12px; font: var(--text-h3); color: var(--color-text-primary); }
.na-panel__modes { clear: both; display: flex; flex-wrap: wrap; gap: 12px 32px; margin-bottom: 16px; }
.na-panel .radio { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; font: var(--text-body); color: var(--color-text-primary); }
.na-panel .radio input { width: 18px; height: 18px; margin: 0; accent-color: var(--color-brand-navy); }
.na-panel__grid { display: grid; gap: 16px 12px; }
.na-panel__grid[hidden] { display: none; }
.na-panel__grid--row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.na-panel__grid--stack { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.na-panel__grid--stack .span-2 { grid-column: 1 / -1; }
.na-panel .select, .na-panel .input { background-color: var(--color-surface-card); }

/* date + time in one control («۱۴ مهر ۱۴۰۵، ساعت ۱۰:۰۰») */
.dt-field { display: flex; align-items: center; height: 40px; border: 1px solid var(--color-gray-300); border-radius: var(--radius-md); background: var(--color-surface-card); }
.dt-field:focus-within { border: 1.5px solid var(--color-brand-navy); box-shadow: var(--focus-ring); }
.dt-field .input { border: 0; box-shadow: none; height: 38px; background: transparent; min-width: 0; }
.dt-field .input:focus { box-shadow: none; border: 0; }
.dt-field .jdp { flex: 1; min-width: 0; }
.dt-field .jdp .input { width: 100%; }
.dt-field__sep { flex: none; font: var(--text-body); color: var(--color-text-secondary); white-space: nowrap; }
.dt-field .dt-field__time { flex: none; width: 64px; padding: 0 8px; text-align: center; }

.done-modal { width: min(560px, 100%); overflow: visible; }
.done-modal .modal__body { overflow: visible; }
.done-modal .na-panel__title { font: var(--text-h3); }
