/* PUSK — «Сегодня» Variant A (timeline + tasks) */
body.pusk-enabled.approved-desktop-page main.with-side {
  background: var(--bg-warm) !important;
}

body.pusk-enabled .today-desktop.pusk-variant-a:not(.pusk-calendar-page):not(.pusk-mail-page):not(.pusk-tasks-page):not(.pusk-case-page) {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  font-family: var(--font-tnr, "Times New Roman", Times, serif) !important;
  color: var(--text-primary);
}

body.pusk-enabled .today-desktop.pusk-variant-a:not(.pusk-calendar-page):not(.pusk-mail-page):not(.pusk-tasks-page):not(.pusk-case-page) :is(
  button, input, select, textarea, a, h1, h2, h3, h4, p, span, label, li, div, strong, small, em, b
) {
  font-family: var(--font-tnr, "Times New Roman", Times, serif) !important;
}

.pusk-variant-a .today-title h1 {
  font-family: var(--font-tnr, "Times New Roman", Times, serif);
  font-size: 32px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--text-primary);
}

.pusk-variant-a .today-title p,
.pusk-variant-a .today-next-hint {
  margin: 6px 0 0;
  font-size: 14px;
  color: var(--text-secondary);
}

.pusk-variant-a .today-next-hint a {
  color: var(--text-accent);
  text-decoration: none;
}

.pusk-week-strip {
  display: flex;
  align-items: center;
  gap: var(--space-12);
  padding: var(--space-8) 0;
}

.pusk-week-days {
  display: flex;
  flex: 1 1 auto;
  gap: var(--space-6);
  min-width: 0;
  overflow-x: visible;
  scrollbar-width: none;
}

.pusk-week-day {
  flex: 0 0 52px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  min-height: 60px;
  padding: 6px 4px;
  border-radius: var(--radius-lg);
  text-decoration: none;
  color: var(--text-secondary);
  background: transparent;
  border: 1px solid transparent;
}

.pusk-week-day small {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
}

.pusk-week-day b {
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary);
}

.pusk-week-day.is-today {
  background: var(--bg-accent);
  color: var(--text-on-accent);
}

.pusk-week-day.is-today b,
.pusk-week-day.is-today small {
  color: var(--text-on-accent);
}

.pusk-week-day .dots {
  display: flex;
  gap: 3px;
  height: 4px;
}

.pusk-week-day .dots i {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--text-accent);
}

.pusk-week-day.is-today .dots i {
  background: rgba(255, 255, 255, 0.85);
}

.pusk-week-day .dots i.court {
  background: var(--text-court);
}

.pusk-calendar-link {
  flex: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md);
  background: var(--bg-surface);
  color: var(--text-accent);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  box-shadow: var(--shadow-xs);
}

.pusk-team-strip {
  display: flex;
  gap: var(--space-10);
  overflow-x: auto;
  padding-bottom: 4px;
  scrollbar-width: thin;
}

.pusk-team-card {
  flex: 0 0 min(220px, 42vw);
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px 12px;
  padding: 12px 14px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-lg);
  background: var(--bg-surface);
  text-decoration: none;
  color: inherit;
  box-shadow: var(--shadow-xs);
  transition: border-color 120ms, box-shadow 120ms;
}

.pusk-team-card:hover {
  border-color: var(--border-accent);
  box-shadow: var(--shadow-sm);
}

.pusk-team-card.is-active {
  border-color: var(--border-accent);
  box-shadow: 0 0 0 1px var(--border-accent);
}

.pusk-team-card .avatar {
  grid-row: 1 / span 2;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--bg-accent-subtle);
  color: var(--text-accent);
  font-weight: 700;
  font-size: 13px;
}

.pusk-team-card b {
  font-size: 13px;
  font-weight: 600;
}

.pusk-team-card span {
  font-size: 12px;
  color: var(--text-secondary);
  line-height: 1.35;
}

body.pusk-today-shell .pusk-team-chips.pusk-team-strip {
  justify-content: flex-start;
  margin: 0 0 12px;
  gap: 8px;
}

body.pusk-today-shell .pusk-team-chips .pusk-team-card {
  flex: 0 1 auto;
  max-width: min(200px, 100%);
  gap: 6px 8px;
  padding: 6px 10px;
  border-radius: var(--radius-md);
}

body.pusk-today-shell .pusk-today-people.pusk-team-chips {
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 10px;
}

body.pusk-today-shell .pusk-today-people .pusk-team-card {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  max-width: none;
  padding: 3px 10px 3px 8px;
  border-radius: var(--radius-sm);
  box-shadow: none;
  grid-template-columns: unset;
  grid-template-rows: unset;
}

body.pusk-today-shell .pusk-today-people .pusk-team-card .avatar {
  grid-row: auto;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  border-radius: var(--radius-sm);
  font-size: 9px;
  font-weight: 700;
}

body.pusk-today-shell .pusk-today-people .pusk-team-card b {
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
}

body.pusk-today-shell .pusk-today-people .pusk-team-card.is-active {
  background: var(--bg-accent-subtle);
  border-color: var(--border-accent);
  box-shadow: inset 0 0 0 1px var(--border-accent);
}

body.pusk-today-shell .pusk-team-chips .pusk-team-card .avatar {
  width: 28px;
  height: 28px;
  font-size: 12px;
}

body.pusk-today-shell .pusk-team-chips .pusk-team-card b {
  font-size: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.pusk-today-shell .pusk-team-chips .pusk-team-card-meta {
  display: block;
  font-size: 12px;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pusk-main-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: var(--space-16);
  align-items: start;
  min-height: 0;
  width: 100%;
  max-width: 100%;
}

body.pusk-today-shell .pusk-main-grid > * {
  min-width: 0;
}

body.pusk-today-shell .today-figma .today-task-filters,
body.pusk-today-shell .today-task-filters {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  align-content: flex-start !important;
  gap: 8px 10px !important;
  height: auto !important;
  min-height: 48px !important;
  max-height: none !important;
  max-width: 100%;
  padding: 10px 14px 12px !important;
  box-sizing: border-box;
  overflow: visible !important;
  border-bottom: 1px solid var(--border-default);
}

body.pusk-today-shell .today-task-filters button[data-today-filter],
body.pusk-today-shell .today-task-filters .today-task-sort {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  flex: 0 0 auto;
  min-height: 32px;
  margin: 0;
  padding: 0 11px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-sm);
  background: var(--bg-muted);
  color: var(--text-secondary);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  cursor: pointer;
}

body.pusk-today-shell .today-task-filters button[data-today-filter] b,
body.pusk-today-shell .today-task-filters .today-task-sort span {
  font-weight: 700;
}

body.pusk-today-shell .today-task-filters button[data-today-filter].on {
  border-color: var(--border-accent);
  background: var(--bg-accent-subtle);
  color: var(--text-accent);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--bg-accent) 18%, transparent);
}

body.pusk-today-shell .today-task-filters button[data-today-filter].danger.on {
  border-color: var(--border-danger);
  background: var(--bg-danger-subtle);
  color: var(--text-danger);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--text-danger) 15%, transparent);
}

body.pusk-today-shell .today-task-filters button[data-today-filter].is-favorite.on {
  border-color: var(--border-warning);
  background: var(--bg-warning-subtle);
  color: var(--text-warning);
}

body.pusk-today-shell .today-task-filters .today-task-sort[aria-pressed="true"] {
  border-color: var(--border-accent);
  background: var(--bg-surface);
  color: var(--text-primary);
}

body.pusk-today-shell .today-task-filters .today-group {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1 1 100%;
  min-width: 0;
  max-width: 100%;
  margin: 4px 0 0;
  font-size: 12px;
  color: var(--text-secondary);
}

@media (min-width: 900px) {
  body.pusk-today-shell .today-task-filters .today-group {
    flex: 1 1 200px;
    margin: 0 0 0 auto;
    justify-content: flex-end;
  }
}

body.pusk-today-shell .today-task-filters select {
  max-width: 100%;
  min-height: 32px;
}

.pusk-timeline-card,
.pusk-variant-a .today-tasks {
  border: 1px solid var(--border-default);
  border-radius: var(--radius-lg);
  background: var(--bg-surface);
  box-shadow: var(--shadow-xs);
  min-height: 0;
}

.pusk-timeline-head,
.pusk-variant-a .today-tasks-head {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  flex-wrap: nowrap;
  gap: 10px;
  min-height: 52px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--border-default);
}

body.pusk-today-shell .pusk-timeline-head {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 12px;
}

body.pusk-today-shell .pusk-timeline-head .pusk-timeline-section-title {
  flex: 0 0 auto;
  margin: 0;
}

body.pusk-today-shell .pusk-timeline-head .pusk-day-pager {
  flex: 1 1 280px;
}

/* Расписание дня: дата ‹ › на всю ширину карточки, без обрезки слева */
body.pusk-today-shell #today-schedule.pusk-timeline-card {
  overflow: visible;
}

body.pusk-today-shell #today-schedule .pusk-timeline-head {
  flex-direction: column;
  align-items: stretch;
  overflow: visible;
}

body.pusk-today-shell #today-schedule .pusk-timeline-head .pusk-day-pager {
  flex: none;
  width: 100%;
  min-width: 0;
  margin-left: 0;
  flex-wrap: wrap;
  justify-content: flex-end;
  overflow: visible;
}

body.pusk-today-shell #today-schedule .pusk-pager-core {
  display: flex;
  flex: 1 1 100%;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: nowrap;
  gap: 6px;
}

body.pusk-today-shell #today-schedule .pusk-pager-date {
  flex: 0 0 auto;
  min-width: 0;
  max-width: none;
  display: inline-flex;
  align-items: center;
  margin: 0;
  padding: 0;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
  height: 1.3em;
}

/* Day schedule ‹ ›: same vertical mid-line as the date */
body.pusk-today-shell #today-schedule .pusk-pager-core .pusk-pager-arrow,
body.pusk-today-shell #today-schedule .pusk-pager-core .pusk-day-nav-prev,
body.pusk-today-shell #today-schedule .pusk-pager-core .pusk-day-nav-next {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  box-sizing: border-box;
  width: 1.25em;
  height: 1.3em;
  min-width: 1.25em;
  min-height: 1.3em;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  font-family: inherit;
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
  color: var(--text-secondary);
  text-decoration: none;
  vertical-align: middle;
}

/* Optical nudge: ‹ sits high / › sits low in most UI fonts */
body.pusk-today-shell #today-schedule .pusk-pager-core .pusk-day-nav-prev {
  transform: translateY(0.02em);
}
body.pusk-today-shell #today-schedule .pusk-pager-core .pusk-day-nav-next {
  transform: translateY(-0.02em);
}

.pusk-timeline-head h2,
.pusk-variant-a .today-card-title h2 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
}

body.pusk-today-shell .pusk-day-nav-row {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  align-items: stretch;
  gap: 8px;
  flex: 1 1 280px;
  min-width: 0;
}

body.pusk-today-shell .pusk-day-nav {
  display: grid;
  place-items: center;
  width: 44px;
  min-height: 56px;
  margin: 0;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md);
  background: var(--bg-surface);
  color: var(--text-primary);
  font-size: 26px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
}

body.pusk-today-shell .pusk-day-nav:hover {
  border-color: var(--border-accent);
  background: var(--bg-accent-subtle);
  color: var(--text-accent);
}

body.pusk-today-shell .pusk-day-nav:focus-visible {
  outline: 2px solid var(--border-accent);
  outline-offset: 2px;
}

body.pusk-today-shell .pusk-day-nav-center {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-width: 0;
  text-align: center;
}

body.pusk-today-shell .pusk-day-nav-title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

body.pusk-today-shell .pusk-day-date-label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

body.pusk-today-shell .pusk-day-picker {
  min-height: 32px;
  padding: 4px 8px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md);
  background: var(--bg-surface);
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
}

body.pusk-today-shell .pusk-day-nav-meta {
  margin: 0;
  font-size: 12px;
  color: var(--text-tertiary);
}

body.pusk-today-shell .pusk-day-today-btn {
  font-size: 12px;
}

/* Строка навигации: ‹ дата ›, Сегодня, поле даты — по правому краю контента */
body.pusk-today-shell .pusk-pager-bar {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px 12px;
  width: auto;
  max-width: 100%;
  margin: 0;
  margin-left: auto;
}

body.pusk-today-shell .pusk-pager-core {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 6px;
  max-width: 100%;
}

body.pusk-today-shell .pusk-pager-bar .pusk-pager-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: auto;
  min-width: 0;
  max-width: none;
  height: auto;
  min-height: 0;
  margin: 0;
  padding: 0 3px;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--text-secondary);
  font-size: 22px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
  cursor: pointer;
  position: static;
}

body.pusk-today-shell .pusk-pager-bar .pusk-pager-arrow::before,
body.pusk-today-shell .pusk-pager-core .pusk-pager-arrow::before {
  content: none;
  display: none;
}

body.pusk-today-shell .pusk-pager-core .pusk-pager-arrow,
body.pusk-today-shell .pusk-pager-core button.pusk-pager-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 0;
  height: auto;
  min-height: 0;
  padding: 0 3px;
  border: none;
  background: transparent;
  box-shadow: none;
  color: var(--text-secondary);
  font-size: 22px;
  font-weight: 600;
  line-height: 1.3;
  cursor: pointer;
}

body.pusk-today-shell.today-web .pusk-pager-bar .today-tool.pusk-pager-arrow,
body.pusk-today-shell.today-web .pusk-pager-bar a.pusk-pager-arrow {
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  border: none !important;
  background: transparent !important;
}

body.pusk-today-shell .pusk-pager-bar .pusk-pager-arrow:hover {
  border: none;
  background: transparent;
  color: var(--text-accent);
}

body.pusk-today-shell .pusk-variant-a .pusk-pager-bar .pusk-pager-arrow.today-tool,
body.pusk-today-shell .pusk-pager-bar a.pusk-pager-arrow {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 3px !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.pusk-today-shell .pusk-pager-date,
body.pusk-today-shell .pusk-pager-range {
  white-space: nowrap;
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--text-primary);
  text-align: center;
  white-space: nowrap;
}

body.pusk-today-shell .pusk-pager-today {
  flex: none;
  display: inline-flex;
  align-items: center;
  height: 28px;
  padding: 0 10px;
  border: 1px solid var(--border-accent);
  border-radius: var(--radius-md);
  background: var(--bg-surface);
  color: var(--text-accent);
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}

body.pusk-today-shell .pusk-pager-picker {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  font-size: 12px;
  color: var(--text-secondary);
}

body.pusk-today-shell .pusk-pager-action {
  flex: none;
  white-space: nowrap;
}

body.pusk-today-shell .pusk-timeline-viewport {
  position: relative;
  overflow: visible;
}

body.pusk-today-shell #today-schedule.is-day-sliding .pusk-timeline-viewport {
  overflow: hidden;
}

body.pusk-today-shell .pusk-timeline-body.is-day-slide-incoming {
  position: absolute;
  inset: 0;
  z-index: 2;
  transition: transform 260ms ease-out;
  background: var(--bg-surface);
}

body.pusk-today-shell .pusk-timeline-body.is-day-slide-outgoing {
  position: relative;
  z-index: 1;
  transition: transform 260ms ease-out;
}

@media (prefers-reduced-motion: reduce) {
  body.pusk-today-shell .pusk-timeline-body.is-day-slide-outgoing,
  body.pusk-today-shell .pusk-timeline-body.is-day-slide-incoming {
    transition: none !important;
  }
}

.pusk-timeline-body {
  position: relative;
  max-height: none;
  overflow-y: visible;
  padding: 12px 16px 16px;
}

.pusk-all-day {
  margin-bottom: 12px;
  padding: 10px 12px;
  border-radius: var(--radius-md);
  background: var(--bg-muted);
  font-size: 12px;
}

.pusk-all-day b {
  display: block;
  margin-bottom: 6px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-tertiary);
}

.pusk-slot {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  min-height: 44px;
  padding: 8px 0;
  border-bottom: 1px dashed var(--border-default);
}

.pusk-slot time {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-tertiary);
  padding-top: 6px;
  line-height: 1.3;
}

.pusk-slot-free {
  font-size: 12px;
  color: var(--text-tertiary);
  padding: 6px 0;
}

.pusk-slot-free button {
  margin-left: 8px;
  border: 0;
  background: none;
  color: var(--text-accent);
  font-size: 12px;
  cursor: pointer;
  text-decoration: underline;
}

body.pusk-today-shell .pusk-slot-free {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 28px;
  padding: 0 0 0 0;
  align-self: center;
}

body.pusk-today-shell .pusk-slot:has(.pusk-slot-free) {
  align-items: center;
}

body.pusk-today-shell .pusk-slot-free-label {
  flex: 1 1 auto;
  min-width: 0;
  line-height: 1.3;
}

body.pusk-today-shell .pusk-slot-free-add {
  flex: 0 0 auto;
  margin: 0;
  padding: 0 4px;
  min-width: 0;
  width: auto;
  height: auto;
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--text-tertiary);
  font-size: 18px;
  line-height: 1;
  font-weight: 400;
  text-decoration: none !important;
  cursor: pointer;
}

body.pusk-today-shell .pusk-slot-free-add:hover {
  color: var(--text-secondary);
  background: transparent !important;
}

.pusk-event-block {
  margin-bottom: 8px;
  padding: 10px 12px;
  border-radius: var(--radius-md);
  border: 1px solid var(--border-default);
  border-left: 3px solid var(--border-accent);
  background: var(--bg-surface);
}

.pusk-event-block.is-court {
  border-left-color: var(--text-court);
  background: var(--bg-court-subtle);
}

.pusk-event-block.is-call {
  border-left-color: #3a9b6e;
  background: var(--bg-success-subtle);
}

.pusk-event-block b {
  display: block;
  font-size: 13px;
  font-weight: 600;
  overflow: visible;
  text-overflow: unset;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
}

.pusk-event-block small {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  color: var(--text-secondary);
  overflow: visible;
  text-overflow: unset;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
  line-height: 1.4;
}

.pusk-event-summary {
  list-style: none;
  cursor: pointer;
}

.pusk-event-block.is-task {
  border-left-color: var(--text-accent);
  background: color-mix(in srgb, var(--bg-accent-subtle) 55%, var(--bg-surface));
}

body.pusk-today-shell .pusk-slot-main {
  min-width: 0;
  width: 100%;
}

body.pusk-today-shell .pusk-slot-events {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  width: 100%;
}

body.pusk-today-shell #today-schedule .pusk-schedule-card {
  position: relative;
  width: 100%;
  max-width: 100%;
  margin-bottom: 0;
  padding: 7px 10px;
}

body.pusk-today-shell #today-schedule .pusk-schedule-card.is-skipped {
  opacity: 0.88;
}

body.pusk-today-shell #today-schedule .pusk-schedule-card-body {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  min-width: 0;
}

body.pusk-today-shell #today-schedule .pusk-schedule-card-copy {
  flex: 1 1 auto;
  min-width: 0;
}

body.pusk-today-shell #today-schedule .pusk-schedule-chip {
  display: inline-block;
  margin-top: 4px;
  padding: 1px 6px;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 600;
  color: var(--text-court);
  background: var(--bg-court-subtle);
}

body.pusk-today-shell #today-schedule .pusk-schedule-chip.is-call {
  color: var(--text-accent);
  background: var(--bg-accent-subtle);
}

body.pusk-today-shell #today-schedule .pusk-schedule-assignee {
  display: block;
  margin-top: 2px;
  font-size: 12px;
  line-height: 1.3;
  color: var(--text-secondary);
}

body.pusk-today-shell #today-schedule .pusk-schedule-act-reveal {
  opacity: 0;
  pointer-events: none;
  transition: opacity 120ms ease;
}

body.pusk-today-shell #today-schedule .pusk-schedule-card:hover .pusk-schedule-act-reveal,
body.pusk-today-shell #today-schedule .pusk-schedule-card:focus-within .pusk-schedule-act-reveal {
  opacity: 1;
  pointer-events: auto;
}

body.pusk-today-shell #today-schedule .pusk-schedule-menu {
  position: absolute;
  top: 28px;
  right: 0;
  z-index: 4;
  min-width: 168px;
  padding: 4px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md);
  background: var(--bg-surface);
  box-shadow: var(--shadow-md);
}

body.pusk-today-shell #today-schedule .pusk-schedule-card-actions {
  position: relative;
}

body.pusk-today-shell #today-schedule .pusk-schedule-menu button {
  display: block;
  width: 100%;
  padding: 8px 10px;
  border: 0;
  border-radius: var(--radius-sm);
  background: transparent;
  text-align: left;
  font-size: 12px;
  cursor: pointer;
}

body.pusk-today-shell #today-schedule .pusk-schedule-menu-danger {
  color: var(--text-danger);
}

body.pusk-today-shell .pusk-day-picker-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  font-size: 12px;
  color: var(--text-secondary);
}

body.pusk-today-shell .pusk-day-picker-inline {
  min-height: 28px;
  padding: 2px 6px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md);
  background: var(--bg-surface);
  font-size: 12px;
}

body.pusk-today-shell .pusk-timeline-section-title {
  margin: 0;
  width: auto;
}

body.pusk-today-shell #today-schedule .pusk-schedule-card-actions {
  flex: none;
  align-self: flex-start;
  padding-top: 0;
  gap: 0;
}

body.pusk-today-shell #today-schedule .pusk-schedule-card-actions form {
  margin: 0;
}

body.pusk-today-shell #today-schedule .pusk-schedule-card-actions button,
body.pusk-today-shell #today-schedule .pusk-schedule-card-actions a.more {
  flex: none;
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  min-height: 24px;
  padding: 0;
  border: 0 !important;
  border-radius: var(--radius-sm);
  background: transparent !important;
  box-shadow: none !important;
  color: var(--text-secondary);
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
  text-decoration: none;
}

body.pusk-today-shell #today-schedule .pusk-schedule-card-actions button:hover,
body.pusk-today-shell #today-schedule .pusk-schedule-card-actions a.more:hover {
  color: var(--text-primary);
  background: var(--bg-muted) !important;
}

body.pusk-today-shell #today-schedule .pusk-schedule-skip.is-on {
  color: var(--text-court);
}

body.pusk-today-shell #today-schedule .pusk-schedule-card-actions .trow-act-delete-wrap {
  margin-left: 1px;
  padding-left: 4px;
  border-left: 1px solid var(--border-default);
}

body.pusk-today-shell #today-schedule .pusk-schedule-card-actions .trow-act-delete:hover {
  color: var(--text-danger);
  background: var(--bg-danger-subtle) !important;
}

body.pusk-today-shell #today-schedule .pusk-schedule-time {
  display: block;
  flex: 1 1 auto;
  min-width: 0;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
  color: var(--text-accent);
  margin-bottom: 0;
}

body.pusk-today-shell #today-schedule .pusk-schedule-event.is-court .pusk-schedule-time {
  color: var(--text-court);
}

body.pusk-today-shell #today-schedule .pusk-schedule-title-open {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left;
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--text-primary);
  cursor: pointer;
}

body.pusk-today-shell #today-schedule .pusk-schedule-title-open:hover {
  color: var(--text-accent);
}

body.pusk-today-shell #today-schedule .pusk-schedule-title {
  display: block;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--text-primary);
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
}

body.pusk-today-shell #today-schedule .pusk-schedule-meta {
  display: block;
  margin-top: 2px;
  font-size: 12px;
  line-height: 1.35;
  color: var(--text-secondary);
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
}

body.pusk-today-shell #today-schedule .pusk-slot-events .pusk-event-block + .pusk-event-block {
  margin-top: 8px;
}

body.pusk-today-shell #today-schedule .pusk-timeline-body {
  position: relative;
  overflow: visible;
}

body.pusk-today-shell #today-schedule .pusk-now-line {
  z-index: 1;
}

.pusk-event-details {
  margin: 0 0 8px;
  font-size: 12px;
  line-height: 1.45;
  color: var(--text-secondary);
  white-space: normal;
  overflow-wrap: break-word;
}

.pusk-now-line {
  position: absolute;
  left: 16px;
  right: 16px;
  height: 0;
  border-top: 2px solid var(--timeline-now);
  pointer-events: none;
  z-index: 2;
}

.pusk-now-line em {
  position: absolute;
  left: 0;
  top: -10px;
  padding: 2px 6px;
  border-radius: var(--radius-sm);
  background: var(--timeline-now);
  color: #fff;
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
}

/* Legacy week strip + KPI tiles removed on Today (compact row only) */
body.pusk-today-shell .pusk-top-dashboard,
body.pusk-today-shell .pusk-week-strip,
body.pusk-today-shell .pusk-week-panel,
body.pusk-today-shell .today-desktop > .today-stats,
body.pusk-today-page .pusk-mob-week,
body.pusk-today-page .pusk-mob-kpis,
body.pusk-mobile-today .pusk-mob-week,
body.pusk-mobile-today .pusk-mob-kpis {
  display: none !important;
}

body.pusk-today-shell .pusk-today-top .pusk-week-schedule.pusk-ws-desktop {
  display: block;
}

body.pusk-today-shell .pusk-today-top .pusk-week-schedule.pusk-ws-mobile {
  display: none;
}

/* Далее на неделе — до почасового расписания */
.pusk-ahead-section {
  width: 100%;
  max-width: 100%;
  margin: 16px 0 20px;
  padding: 14px 16px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-lg);
  background: var(--bg-surface);
  box-shadow: var(--shadow-xs);
  min-width: 0;
  box-sizing: border-box;
}

.pusk-ahead-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
  min-width: 0;
  position: relative;
  z-index: 2;
}

.pusk-ahead-head-title {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  min-width: 0;
}

.pusk-ahead-head h2 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary);
}

.pusk-ahead-today-btn {
  flex: none;
  display: inline-flex;
  align-items: center;
  height: 28px;
  padding: 0 10px;
  border: 1px solid var(--border-accent);
  border-radius: var(--radius-md);
  background: var(--bg-surface);
  color: var(--text-accent);
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}

.pusk-ahead-today-btn:hover {
  background: var(--bg-accent-subtle);
}

.pusk-ahead-row {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  align-items: stretch;
  gap: 8px;
  min-width: 0;
  width: 100%;
}

.pusk-ahead-week-nav {
  flex: none;
  align-self: stretch;
  display: grid;
  place-items: center;
  width: 44px;
  min-width: 44px;
  height: auto;
  min-height: 72px;
  margin: 0;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md);
  background: var(--bg-surface);
  color: var(--text-primary);
  font-size: 26px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  box-shadow: var(--shadow-xs);
  cursor: pointer;
  transition: border-color 120ms, background 120ms, color 120ms;
}

.pusk-ahead-week-prev {
  grid-column: 1;
  grid-row: 1;
}

.pusk-ahead-week-next {
  grid-column: 3;
  grid-row: 1;
}

.pusk-ahead-week-nav:hover {
  border-color: var(--border-accent);
  background: var(--bg-accent-subtle);
  color: var(--text-accent);
}

.pusk-ahead-week-nav:focus-visible {
  outline: 2px solid var(--border-accent);
  outline-offset: 2px;
}

.pusk-ahead-all {
  flex: none;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-accent);
  text-decoration: none;
  white-space: nowrap;
}

.pusk-ahead-all:hover {
  text-decoration: underline;
}

body.pusk-today-shell .pusk-ahead-days-viewport {
  grid-column: 2;
  grid-row: 1;
  position: relative;
  min-width: 0;
  overflow: hidden;
}

body.pusk-today-shell .pusk-ahead-days,
body.pusk-today-shell .pusk-ahead-days-track {
  display: grid;
  grid-template-columns:
    minmax(0, 2fr) minmax(0, 2fr) minmax(0, 2fr) minmax(0, 2fr) minmax(0, 2fr)
    minmax(0, 1fr) minmax(0, 1fr);
  align-items: stretch;
  gap: 4px;
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
}

body.pusk-today-shell .pusk-ahead-days.is-week-slide-incoming {
  position: absolute;
  inset: 0;
  z-index: 2;
  transition: transform 260ms ease-out;
}

body.pusk-today-shell .pusk-ahead-days.is-week-slide-outgoing {
  position: relative;
  z-index: 1;
  transition: transform 260ms ease-out;
}

@media (prefers-reduced-motion: reduce) {
  body.pusk-today-shell .pusk-ahead-days.is-week-slide-outgoing,
  body.pusk-today-shell .pusk-ahead-days.is-week-slide-incoming {
    transition: none !important;
  }
}

body.pusk-today-shell .pusk-ahead-day {
  display: flex;
  flex-direction: column;
  width: auto;
  min-width: 0;
  max-width: none;
  min-height: 72px;
  padding: 8px 6px;
  border-radius: var(--radius-md);
  background: var(--bg-muted);
  border: 1px solid var(--border-default);
  box-sizing: border-box;
}

body.pusk-today-shell .pusk-ahead-day.is-weekend {
  width: auto;
  min-height: 56px;
}

.pusk-ahead-day-head {
  flex-wrap: wrap;
  row-gap: 2px;
}

.pusk-ahead-date {
  font-size: 12px;
}

.pusk-ahead-empty {
  font-size: 12px;
  line-height: 1.3;
}

@media (max-width: 760px) {
  body.pusk-today-page .pusk-ahead-days,
  body.pusk-mobile-today .pusk-ahead-days {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
  }

  body.pusk-today-page .pusk-ahead-day,
  body.pusk-mobile-today .pusk-ahead-day {
    flex: 0 0 132px;
    width: 132px;
    min-width: 132px;
  }
}

.pusk-ahead-day-head {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 2px 4px;
  margin-bottom: 6px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-secondary);
}

.pusk-ahead-dow {
  color: var(--text-accent);
}

.pusk-ahead-events {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1 1 auto;
  min-height: 0;
  max-height: 168px;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: thin;
}

.pusk-ahead-events::-webkit-scrollbar {
  width: 5px;
}

.pusk-ahead-events::-webkit-scrollbar-thumb {
  border-radius: 4px;
  background: color-mix(in srgb, var(--text-secondary) 35%, transparent);
}

.pusk-ahead-item {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.pusk-ahead-event {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 3px;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left;
  color: var(--text-primary);
  font-family: inherit;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.4;
  cursor: pointer;
}

.pusk-ahead-item.is-open .pusk-ahead-event {
  border-radius: var(--radius-sm);
  background: color-mix(in srgb, var(--bg-accent) 8%, var(--bg-muted));
  padding: 4px 6px;
  margin: -4px -6px;
}

.pusk-ahead-event time {
  display: block;
  flex: none;
  font-weight: 600;
  font-size: 12px;
  color: var(--text-secondary);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.pusk-ahead-event.is-court time {
  color: var(--text-court);
}

.pusk-ahead-event-copy {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  width: 100%;
}

.pusk-ahead-event-title {
  display: block;
  min-width: 0;
  font-weight: 600;
  color: var(--text-primary);
  overflow-wrap: break-word;
  word-break: normal;
  line-height: 1.4;
}

.pusk-ahead-court {
  display: block;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.4;
  color: var(--text-secondary);
  overflow-wrap: break-word;
  word-break: normal;
}

.pusk-ahead-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  align-items: stretch;
  min-width: 0;
}

.pusk-ahead-actions[hidden] {
  display: none !important;
}

.pusk-ahead-act,
.pusk-ahead-act-edit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  margin: 0;
  padding: 0 6px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-sm);
  background: var(--bg-surface);
  color: var(--text-primary);
  font-size: 16px;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
}

.pusk-ahead-act.skip.on {
  border-color: var(--border-danger);
  background: var(--bg-danger-subtle);
}

.pusk-ahead-act-arch {
  margin: 0;
}

body.pusk-today-shell .pusk-ahead-day-link,
.pusk-ahead-day-link {
  display: none !important;
}

.pusk-ahead-empty {
  margin: 0;
  padding: 8px 0 4px;
  font-size: 12px;
  color: var(--text-tertiary);
  list-style: none;
}

.pusk-ahead-more {
  font-size: 12px;
}

.pusk-ahead-more a {
  color: var(--text-accent);
  text-decoration: none;
  font-weight: 600;
}

@media (max-width: 900px) {
  body.pusk-today-shell .pusk-ahead-day {
    flex: unset !important;
    flex-basis: auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
  }
}

.pusk-variant-a .today-stats {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  border: 1px solid var(--border-default) !important;
  border-radius: var(--radius-lg) !important;
  overflow: hidden;
  background: var(--bg-surface) !important;
  box-shadow: var(--shadow-xs) !important;
}

.pusk-variant-a .today-stat {
  border-right: 1px solid var(--border-default) !important;
  background: var(--bg-surface) !important;
}

.pusk-variant-a .today-stat:last-child {
  border-right: 0 !important;
}

.pusk-variant-a .today-stat-icon {
  background: var(--bg-accent-subtle) !important;
  color: var(--text-accent) !important;
}

.pusk-variant-a .today-stat.danger .today-stat-icon {
  background: var(--bg-danger-subtle) !important;
  color: var(--text-danger) !important;
}

.pusk-variant-a .today-stat.court .today-stat-icon {
  background: var(--bg-court-subtle) !important;
  color: var(--text-court) !important;
}

.pusk-variant-a .today-stat.approval .today-stat-icon {
  background: var(--bg-warning-subtle) !important;
  color: var(--text-warning) !important;
}

.pusk-variant-a .today-tool,
.pusk-variant-a .today-primary {
  border: 1px solid var(--border-default);
  background: var(--bg-surface);
  color: var(--text-primary);
}

.pusk-variant-a .today-primary {
  background: var(--bg-accent);
  border-color: var(--bg-accent);
  color: var(--text-on-accent);
}

.pusk-variant-a .today-task-filters button.on {
  background: var(--bg-accent-subtle);
  border-color: var(--border-accent);
  color: var(--text-accent);
}

.pusk-variant-a .today-task-filters button.danger.on {
  background: var(--bg-danger-subtle);
  border-color: var(--border-danger);
  color: var(--text-danger);
}

.pusk-variant-a .today-event-list {
  display: none !important;
}

.pusk-variant-a .today-month-card {
  display: none !important;
}

.pusk-variant-a .today-tasks {
  display: flex;
  flex-direction: column;
  min-height: 0;
  max-height: none;
  height: auto !important;
}

.pusk-variant-a .today-tasks-scroll {
  flex: none;
  min-height: 0;
  overflow-y: visible;
  height: auto !important;
}

.pusk-variant-a .feed.tasks .trow {
  border-color: var(--border-default);
}

.pusk-variant-a .feed.tasks .trow.is-overdue {
  border-left-color: var(--text-danger);
}

@media (max-width: 1100px) {
  .pusk-main-grid {
    grid-template-columns: 1fr;
  }
  .pusk-variant-a .today-tasks {
    max-height: none;
  }
}

.pusk-top-dashboard {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: 16px;
  align-items: stretch;
  margin-bottom: 4px;
}

.pusk-week-panel {
  border: 1px solid var(--border-default);
  border-radius: var(--radius-lg);
  background: var(--bg-surface);
  padding: 12px 14px;
  box-shadow: var(--shadow-xs);
}

.pusk-week-range {
  font-size: 12px;
  color: var(--text-tertiary);
  margin-bottom: 8px;
}

body.pusk-today-shell .pusk-top-dashboard .today-stats {
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
  height: auto !important;
  min-height: 132px;
}

body.pusk-today-shell .pusk-top-dashboard .today-stat {
  min-height: 64px !important;
}

body.pusk-today-shell .crm-notification-wrap .approved-icon-button {
  width: 36px;
  height: 36px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md);
  background: var(--bg-surface);
}

body.pusk-today-shell .feed.tasks .trow {
  --pusk-trow-actions-w: 108px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) var(--pusk-trow-actions-w);
  grid-template-areas: "tick body acts";
  gap: 10px 12px;
  align-items: start;
  min-height: 56px;
  padding: 10px 12px;
  margin: 0;
  border: 0;
  border-bottom: 1px solid var(--border-default);
  border-left: 3px solid transparent;
  background: var(--bg-surface);
  position: relative;
}

body.pusk-today-shell .feed.tasks .trow .tick {
  grid-area: tick;
}

body.pusk-today-shell .feed.tasks .trow .tbody {
  grid-area: body;
  min-width: 0;
  overflow: visible;
}

body.pusk-today-shell .feed.tasks .is-pusk-today-row {
  --pusk-trow-actions-w: 76px;
  min-height: 0;
  height: auto !important;
  align-items: start;
}

body.pusk-today-shell .today-figma .today-task-list.feed.tasks li.is-pusk-today-row,
body.pusk-today-shell .today-figma .feed.tasks li.is-pusk-today-row {
  grid-template-columns: 20px minmax(0, 1fr) var(--pusk-trow-actions-w) !important;
  grid-template-areas: "tick body acts" !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 8px 10px !important;
}

body.pusk-today-shell .feed.tasks .trow .trow-acts-pusk-desktop {
  grid-area: acts;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 2px;
  width: var(--pusk-trow-actions-w);
  max-width: var(--pusk-trow-actions-w);
  flex: none;
}

body.pusk-today-shell .feed.tasks .is-pusk-today-row .trow-acts-pusk-mobile {
  display: none;
}

body.pusk-today-shell li.trow-host.is-pusk-today-row .trow-acts,
body.pusk-today-shell li.trow-host.is-pusk-today-row .trow-acts-pusk-desktop {
  position: static !important;
  top: auto !important;
  right: auto !important;
  inset: auto !important;
  opacity: 1;
  z-index: 1;
}

body.pusk-today-shell .feed.tasks .trow.is-overdue {
  border-left-color: var(--text-danger);
}

body.pusk-today-shell .feed.tasks .trow.is-favorite {
  background: var(--bg-warning-subtle);
  border-left-color: var(--text-warning);
}

body.pusk-today-shell .feed.tasks .trow .thead {
  display: flex;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
}

body.pusk-today-shell .feed.tasks .is-pusk-today-row .tbody {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
  min-width: 0;
}

body.pusk-today-shell .feed.tasks .is-pusk-today-row .thead {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px 12px;
  min-width: 0;
}

body.pusk-today-shell .feed.tasks .trow .what {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  cursor: pointer;
}

body.pusk-today-shell .feed.tasks .is-pusk-today-row .what {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 100%;
  display: block !important;
  overflow: visible !important;
  text-overflow: unset !important;
  white-space: normal !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: unset !important;
  overflow-wrap: anywhere;
  word-break: break-word;
  line-height: 1.35;
  padding-right: 0;
}

body.pusk-today-shell .feed.tasks .trow .ctx {
  margin-top: 2px;
  font-size: 12px;
  color: var(--text-secondary);
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
}

body.pusk-today-shell .feed.tasks .is-pusk-today-row .ctx {
  margin-top: 0;
  width: 100%;
  flex: none;
  overflow: visible !important;
  text-overflow: unset !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: break-word;
  line-height: 1.4;
}

body.pusk-today-shell .feed.tasks .trow .due {
  flex: none;
  font-size: 12px;
  white-space: nowrap;
}

body.pusk-today-shell .feed.tasks .is-pusk-today-row .due {
  flex: 0 0 auto;
  align-self: flex-start;
  text-align: right;
  font-size: 12px;
  line-height: 1.3;
  max-width: 42%;
}

body.pusk-today-shell .feed.tasks .is-pusk-today-row .trow-acts-pusk-desktop {
  align-self: start;
  padding-top: 2px;
  gap: 0;
}

body.pusk-today-shell .feed.tasks .is-pusk-today-row .trow-acts-pusk-desktop button {
  flex: none;
  width: 24px;
  height: 24px;
  min-height: 24px;
  padding: 0;
  border: 0;
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--text-secondary);
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
}

body.pusk-today-shell .is-pusk-today-row .trow-acts-pusk-desktop .favorite.on {
  color: var(--text-warning, #b8860b);
}

body.pusk-today-shell .is-pusk-today-row .trow-act-reveal {
  opacity: 0;
  pointer-events: none;
  transition: opacity 120ms ease;
}

body.pusk-today-shell .is-pusk-today-row:hover .trow-act-reveal,
body.pusk-today-shell .is-pusk-today-row:focus-within .trow-act-reveal {
  opacity: 1;
  pointer-events: auto;
}

body.pusk-today-shell .is-pusk-today-row .is-pinned-visible {
  opacity: 1;
  pointer-events: auto;
}

body.pusk-today-shell .is-pusk-today-row .trow-act-delete-wrap {
  margin-left: 1px;
  padding-left: 4px;
  border-left: 1px solid var(--border-default);
}

body.pusk-today-shell .is-pusk-today-row .trow-act-delete:hover {
  color: var(--text-danger);
  background: var(--bg-danger-subtle);
}

body.pusk-today-shell .is-pusk-today-row .trow-acts-pusk-desktop [data-hint]::after,
body.pusk-today-shell .is-pusk-today-row [data-hint]::after {
  content: none !important;
  display: none !important;
}

body.pusk-today-shell .approved-desktop-page.today-web .today-tasks li.is-pusk-today-row .trow-acts,
body.pusk-today-shell .approved-desktop-page.today-web .today-tasks li.is-pusk-today-row .trow-acts-pusk-desktop {
  position: static !important;
  top: auto !important;
  right: auto !important;
}

body.pusk-today-shell .today-pinned-head,
body.pusk-today-shell .today-regular-head,
body.pusk-today-shell .today-task-group-heading {
  padding: 10px 14px;
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-tertiary);
  background: var(--bg-muted);
  border-bottom: 1px solid var(--border-default);
}

@media (max-width: 1100px) {
  .pusk-top-dashboard {
    grid-template-columns: 1fr;
  }
}

/* Appearance (Profile → Оформление) — same Variant A shell */
body.pusk-today-shell .pusk-appearance-page .pusk-main-pane > .pusk-appearance {
  max-width: 960px;
}

.pusk-appearance-crumb {
  margin: 0 0 12px;
  font-size: 12px;
  color: var(--text-tertiary);
}

.pusk-appearance-crumb a {
  color: var(--text-accent);
  text-decoration: none;
}

.pusk-appearance-layout {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}

.pusk-settings-nav {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.pusk-settings-nav a {
  padding: 10px 12px;
  border-radius: var(--radius-md);
  text-decoration: none;
  color: var(--text-secondary);
  font-size: 14px;
}

.pusk-settings-nav a.on {
  background: var(--bg-accent-subtle);
  color: var(--text-accent);
  font-weight: 600;
}

.pusk-theme-picker--rich {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pusk-theme-blurb {
  margin: 0;
  font-size: 12px;
  line-height: 1.4;
  color: var(--text-secondary);
  text-align: left;
}

.pusk-theme-note {
  grid-column: 1 / -1;
  margin: 4px 0 0;
  font-size: 13px;
  color: var(--text-secondary);
}

.pusk-appearance {
  padding: 4px 0 40px;
  font-family: var(--font-sans);
}

.pusk-appearance-nav {
  display: flex;
  gap: 8px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}

.pusk-appearance-nav a {
  padding: 8px 12px;
  border-radius: var(--radius-md);
  border: 1px solid var(--border-default);
  text-decoration: none;
  color: var(--text-secondary);
  font-size: 13px;
  background: var(--bg-surface);
}

.pusk-appearance-nav a.on {
  background: var(--bg-accent-subtle);
  border-color: var(--border-accent);
  color: var(--text-accent);
  font-weight: 600;
}

.pusk-appearance-head h1 {
  font-family: var(--font-display);
  font-size: 28px;
  margin: 0 0 8px;
  color: var(--text-primary);
}

.pusk-appearance-head p {
  margin: 0;
  color: var(--text-secondary);
  font-size: 14px;
}

.pusk-appearance h2 {
  font-size: 16px;
  margin: 24px 0 0;
  color: var(--text-primary);
}

.pusk-theme-picker {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 12px;
  margin-top: 16px;
}

.pusk-theme-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-lg);
  background: var(--bg-surface);
  cursor: pointer;
}

.pusk-theme-card input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.pusk-theme-card.is-selected {
  border-color: var(--border-accent);
  box-shadow: 0 0 0 1px var(--border-accent);
}

.pusk-theme-preview {
  display: flex;
  flex-direction: column;
  gap: 4px;
  height: 56px;
  padding: 8px;
  border-radius: var(--radius-md);
  background: var(--bg-warm);
}

.pusk-theme-preview .bar {
  display: block;
  height: 8px;
  border-radius: 4px;
}

.pusk-theme-card b {
  font-size: 13px;
  text-align: center;
  color: var(--text-primary);
}

.pusk-theme-save {
  grid-column: 1 / -1;
  justify-self: start;
  min-height: 40px;
  padding: 0 18px;
  border: 0;
  border-radius: var(--radius-md);
  background: var(--bg-accent);
  color: var(--text-on-accent);
  font-weight: 600;
  cursor: pointer;
}

body.pusk-today-shell .today-user-button.is-active {
  box-shadow: 0 0 0 2px var(--border-accent);
}

body.pusk-today-shell .today-task-group-heading.danger,
body.pusk-today-shell .today-task-group-heading.danger em {
  color: var(--text-danger);
}

/* Overdue tasks: surface stays theme; danger only on edge, date, badge */
body.pusk-today-shell .feed.tasks li.trow.is-overdue,
body.pusk-mobile-today .pusk-mob-tasks .trow.is-overdue,
body.pusk-mobile-settings .pusk-mob-tasks .trow.is-overdue {
  background: var(--bg-surface) !important;
  border-left: 3px solid var(--text-danger) !important;
  box-shadow: none !important;
}

body.pusk-today-shell .feed.tasks li.trow.is-overdue .what,
body.pusk-mobile-today .pusk-mob-tasks .trow.is-overdue .what {
  color: var(--text-primary) !important;
  font-weight: 600;
}

body.pusk-today-shell .feed.tasks li.trow.is-overdue .d.is-late,
body.pusk-today-shell .feed.tasks li.trow.is-overdue .late,
body.pusk-mobile-today .pusk-mob-tasks .trow.is-overdue .d.is-late,
body.pusk-mobile-today .pusk-mob-tasks .trow.is-overdue .late {
  color: var(--text-danger) !important;
  font-weight: 600;
}

body.pusk-today-shell .chat-panel {
  display: none;
}

.pusk-appearance--mobile {
  padding: 0 16px 88px;
}

/* --- Variant A overflow hotfix: single page scroll, no legacy figma fixed heights --- */
body.pusk-today-shell .today-desktop.pusk-variant-a.today-figma {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

body.pusk-today-shell .pusk-variant-a.today-figma .today-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
  margin: 0 0 16px;
}

body.pusk-today-shell .pusk-variant-a.today-figma .today-head-tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex: 1 1 280px;
  min-width: 0;
  max-width: 100%;
}

/* Extra filters (Поиск / Исполнитель): in-flow panel, no overlay on header tools */
body.pusk-today-shell .today-extra-filters {
  position: relative;
  margin: 0 0 18px;
  padding: 14px 16px 16px;
  background: var(--bg-surface);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-xs);
}

body.pusk-today-shell .today-extra-filters[hidden] {
  display: none !important;
}

body.pusk-today-shell .today-extra-filters__grid {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch;
  gap: 14px;
  grid-template-columns: none !important;
}

body.pusk-today-shell .today-filter-actions {
  margin-top: 2px;
}

body.pusk-today-shell .today-filter-field {
  display: grid;
  grid-template-rows: auto minmax(40px, auto);
  gap: 6px;
  min-width: 0;
  margin: 0;
}

body.pusk-today-shell .today-filter-label {
  display: block;
  margin: 0;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 600;
  color: var(--text-secondary);
  text-transform: none;
  letter-spacing: 0;
}

body.pusk-today-shell .today-filter-field input,
body.pusk-today-shell .today-filter-field select {
  box-sizing: border-box;
  width: 100%;
  min-height: 40px;
  margin: 0;
  padding: 8px 12px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-sm);
  background: var(--bg-surface);
  color: var(--text-primary);
  font: inherit;
}

body.pusk-today-shell .today-filter-field--person {
  position: static;
}

body.pusk-today-shell .today-person-picker {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  position: static;
  overflow: visible;
}

body.pusk-today-shell .today-person-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  box-sizing: border-box;
  width: 100%;
  min-height: 40px;
  margin: 0;
  padding: 8px 12px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-sm);
  background: var(--bg-surface);
  color: var(--text-primary);
  font: inherit;
  text-align: left;
  cursor: pointer;
}

body.pusk-today-shell .today-person-caret {
  color: var(--text-secondary);
  font-size: 12px;
}

body.pusk-today-shell .today-person-menu {
  position: static !important;
  inset: auto !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  z-index: auto !important;
  flex: 0 0 auto;
  width: 100%;
  max-height: min(240px, 40vh);
  overflow-y: auto;
  margin: 10px 0 0;
  padding: 6px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-sm);
  background: var(--bg-surface);
  box-shadow: var(--shadow-sm);
}

body.pusk-today-shell .today-person-menu[hidden] {
  display: none !important;
}

body.pusk-today-shell .today-person-menu [role="option"] {
  display: block;
  width: 100%;
  margin: 0;
  padding: 9px 10px;
  border: 0;
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--text-primary);
  font: inherit;
  text-align: left;
  cursor: pointer;
}

body.pusk-today-shell .today-person-menu [role="option"]:hover,
body.pusk-today-shell .today-person-menu [role="option"].is-selected {
  background: var(--bg-muted);
}

body.pusk-today-shell .today-filter-actions {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 0;
  padding-bottom: 0;
}

body.pusk-today-shell .today-filter-reset {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto !important;
  min-width: max-content;
  white-space: nowrap;
  min-height: 40px;
  padding: 0 14px;
}


body.pusk-today-shell .pusk-variant-a .today-tasks-head {
  flex-wrap: wrap;
  row-gap: 10px;
  min-width: 0;
}

body.pusk-today-shell .pusk-variant-a .today-task-head-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  min-width: 0;
  max-width: 100%;
}

body.pusk-today-shell .pusk-variant-a .today-card-head {
  min-width: 0;
}

body.pusk-today-shell .today-figma .today-task-list,
body.pusk-today-shell .today-figma .today-task-list.with-pinned {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

body.pusk-today-shell .pusk-week-strip {
  display: flex;
  align-items: stretch;
  gap: 8px;
  min-width: 0;
  overflow: visible;
}

body.pusk-today-shell .pusk-week-panel {
  min-width: 0;
  overflow: visible;
}

/* Desktop Today shell: 7 equal columns, no inner horizontal scroll */
body.pusk-today-shell .pusk-week-days {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  flex: 1 1 0;
  min-width: 0;
  overflow: visible;
  overflow-x: clip;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

body.pusk-today-shell .pusk-week-days::-webkit-scrollbar {
  display: none;
  height: 0;
}

body.pusk-today-shell .pusk-week-day {
  flex: unset !important;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  padding: 6px 2px;
}

body.pusk-today-shell .pusk-calendar-link {
  flex: 0 0 auto;
  align-self: center;
  padding: 0 10px;
  font-size: 12px;
  white-space: nowrap;
}

body.pusk-today-shell .pusk-top-dashboard {
  min-width: 0;
  width: 100%;
}

body.pusk-today-shell .pusk-main-grid {
  width: 100%;
  min-width: 0;
}

@media (min-width: 768px) {
  body.pusk-today-shell .pusk-team-strip {
    margin-top: 0;
    flex-wrap: wrap;
    overflow-x: visible;
  }

  body.pusk-today-shell .pusk-team-strip:not(.pusk-team-chips) .pusk-team-card {
    flex: 1 1 180px;
    max-width: min(240px, 100%);
  }
}

@media (max-width: 1100px) {
  body.pusk-today-shell .pusk-timeline-body,
  body.pusk-today-shell .pusk-variant-a .today-tasks-scroll {
    max-height: none;
    overflow-y: visible;
  }
}

/* Task rows: semantic surfaces (overrides style.css #fff on .today-task-list) */
body.pusk-today-shell .today-figma .feed.tasks li.trow,
body.pusk-today-shell .today-figma .today-task-list.feed.tasks li.trow,
body.pusk-today-shell .today-pinned-tasks .feed.tasks li.trow {
  background: var(--bg-surface) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--border-default) !important;
  border-left: 3px solid transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--text-primary);
}

body.pusk-today-shell .today-figma .feed.tasks li.trow:hover,
body.pusk-today-shell .today-figma .today-task-list.feed.tasks li.trow:hover {
  background: var(--bg-muted) !important;
}

body.pusk-today-shell .today-figma .feed.tasks li.trow.is-favorite,
body.pusk-today-shell .today-figma .today-task-list .trow.is-favorite {
  background: var(--bg-warning-subtle) !important;
  border-left-color: var(--text-warning) !important;
  box-shadow: none !important;
}

body.pusk-today-shell .today-figma .today-task-list .what,
body.pusk-today-shell .today-figma .feed.tasks li.trow .what {
  color: var(--text-primary) !important;
}

body.pusk-today-shell .today-figma .today-task-list li.is-pusk-today-row .what,
body.pusk-today-shell .today-figma .feed.tasks li.is-pusk-today-row .what {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
}

body.pusk-today-shell .today-figma .today-task-list li.is-pusk-today-row .ctx,
body.pusk-today-shell .today-figma .feed.tasks li.is-pusk-today-row .ctx {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
}

body.pusk-today-shell .today-figma .today-task-list .ctx,
body.pusk-today-shell .today-figma .today-task-list .due,
body.pusk-today-shell .today-figma .today-task-list .ctx a {
  color: var(--text-secondary) !important;
}

body.pusk-today-shell .today-figma .today-task-list .late,
body.pusk-today-shell .today-figma .today-task-list .due .is-late {
  color: var(--text-danger) !important;
}

body.pusk-today-shell .today-figma .today-task-list .soon {
  color: var(--text-warning) !important;
}

body.pusk-today-shell .today-figma .today-task-list .tickbox {
  border-color: var(--border-control);
  background: var(--bg-muted);
  color: var(--text-primary);
}

body.pusk-today-shell .today-figma .today-tasks-scroll {
  background: var(--bg-surface);
}

/* --- Расписание недели --- */
.pusk-week-schedule {
  margin: 0 0 18px;
  padding: 16px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-lg);
  background: var(--bg-surface);
  box-shadow: var(--shadow-xs);
  min-width: 0;
}

.pusk-ws-mobile {
  display: none;
}

.pusk-ws-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.pusk-ws-head h2 {
  margin: 0;
  font-size: 18px;
  color: var(--text-primary);
}

.pusk-ws-range {
  margin: 4px 0 0;
  font-size: 13px;
  color: var(--text-secondary);
}

.pusk-ws-nav,
.pusk-ws-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

body.pusk-today-shell .pusk-ws-nav {
  display: grid;
  grid-template-columns: 38px max-content 38px;
  align-items: center;
  column-gap: 8px;
  flex: 0 0 auto;
  min-width: max-content;
}

body.pusk-today-shell .pusk-ws-nav .pusk-ws-nav-arrow {
  box-sizing: border-box;
  width: 38px !important;
  min-width: 38px !important;
  max-width: 38px !important;
  height: 38px;
  min-height: 38px;
  margin: 0;
  padding: 0 !important;
  font-size: 16px;
  line-height: 1;
  justify-self: center;
}

body.pusk-today-shell .pusk-ws-nav .pusk-ws-today-btn {
  box-sizing: border-box;
  width: auto !important;
  min-width: max-content;
  max-width: none;
  height: auto;
  min-height: 38px;
  margin: 0;
  padding: 8px 14px !important;
  overflow: visible;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
  white-space: normal;
  text-align: center;
  word-break: normal;
  overflow-wrap: normal;
  justify-self: center;
  position: relative;
  z-index: 0;
}

@media (max-width: 1180px) {
  body.pusk-today-shell .pusk-ws-nav {
    grid-template-columns: 38px 38px;
    grid-template-rows: auto auto;
    row-gap: 6px;
    justify-items: center;
  }

  body.pusk-today-shell .pusk-ws-nav .pusk-ws-today-btn {
    grid-column: 1 / -1;
    width: 100% !important;
    max-width: 12rem;
  }

  body.pusk-today-shell .pusk-ws-nav .pusk-ws-nav-arrow[data-pusk-ws-prev] {
    grid-column: 1;
    grid-row: 1;
  }

  body.pusk-today-shell .pusk-ws-nav .pusk-ws-nav-arrow[data-pusk-ws-next] {
    grid-column: 2;
    grid-row: 1;
  }
}

.pusk-ws-hint {
  margin: 0 0 10px;
  font-size: 12px;
  color: var(--text-secondary);
}

.pusk-ws-track {
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  max-height: 280px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md);
  background: var(--bg-muted);
}

.pusk-ws-track::-webkit-scrollbar {
  display: none;
}

.pusk-ws-columns {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  width: 100%;
  min-height: 240px;
  min-width: 0;
}

.pusk-ws-col {
  display: flex;
  flex-direction: column;
  min-width: 0;
  border-right: 1px solid var(--border-default);
  scroll-snap-align: start;
}

.pusk-ws-col-head {
  padding: 8px 10px;
  border-bottom: 1px solid var(--border-default);
  background: var(--bg-surface);
  font-size: 12px;
  font-weight: 700;
  color: var(--text-primary);
}

.pusk-ws-col-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-height: 0;
  max-height: 220px;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 6px;
  scrollbar-width: thin;
}

.pusk-ws-col-empty {
  display: block;
  width: 100%;
  min-height: 120px;
  padding: 12px;
  border: 1px dashed var(--border-default);
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--text-secondary);
  font-size: 12px;
  cursor: pointer;
}

.pusk-ws-event {
  display: block;
  box-sizing: border-box;
  width: 100%;
  padding: 8px;
  margin: 0;
  border-radius: var(--radius-sm);
  background: var(--bg-surface);
  border: 1px solid var(--border-default);
  min-width: 0;
}

.pusk-ws-event.is-court {
  border-left: 3px solid var(--text-court);
}

.pusk-ws-event-time {
  display: block;
  margin: 0 0 4px;
  font-size: 12px;
  font-weight: 700;
  color: var(--text-accent);
  white-space: nowrap;
}

.pusk-ws-event-body {
  display: block;
  width: 100%;
  min-width: 0;
}

.pusk-ws-event-title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  background: transparent;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--text-primary);
  text-align: left;
  overflow-wrap: anywhere;
  word-break: normal;
  white-space: normal;
  hyphens: manual;
}

.pusk-ws-event-title.pusk-ws-event-open {
  cursor: pointer;
}

.pusk-ws-event-title.pusk-ws-event-open:hover,
.pusk-ws-event-title.pusk-ws-event-open:focus-visible {
  color: var(--text-accent);
  text-decoration: underline;
  text-underline-offset: 2px;
  outline: none;
}

.pusk-ws-event-acts {
  grid-column: 3;
  grid-row: 1 / -1;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 4px;
  flex-shrink: 0;
  justify-self: end;
  align-self: start;
}

.pusk-ws-act,
.pusk-ws-more {
  opacity: 0;
  pointer-events: none;
}

.pusk-ws-event:hover .pusk-ws-act,
.pusk-ws-event:focus-within .pusk-ws-act,
.pusk-ws-event:hover .pusk-ws-more,
.pusk-ws-event:focus-within .pusk-ws-more {
  opacity: 1;
  pointer-events: auto;
}

.pusk-ws-act-edit {
  box-sizing: border-box;
  flex: 0 0 auto;
  font-size: 12px;
  line-height: 1.2;
  padding: 4px 6px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-sm);
  background: var(--bg-muted);
  color: var(--text-primary);
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}

.pusk-ws-more {
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: var(--radius-sm);
  background: var(--bg-muted);
  cursor: pointer;
}

.pusk-ws-more-menu {
  position: absolute;
  right: 0;
  top: 100%;
  min-width: 140px;
  padding: 4px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-sm);
  background: var(--bg-surface);
  box-shadow: var(--shadow-md);
}

.pusk-ws-event-acts {
  position: relative;
}

body.pusk-today-shell .today-calendar-panel.pusk-cal-modal {
  position: fixed;
  inset: 5% 5%;
  width: auto;
  height: auto;
  max-width: none;
  border-radius: var(--radius-lg);
  z-index: 90;
  display: flex;
  flex-direction: column;
}

body.pusk-today-shell .today-calendar-panel.pusk-cal-modal.open {
  transform: none;
}

body.pusk-today-shell .pusk-cal-sheet-body {
  flex: 1;
  min-height: 0;
  overflow: auto;
}

body.pusk-today-shell .pusk-cal-sheet-foot {
  padding: 12px 16px;
  border-top: 1px solid var(--border-default);
}

body.pusk-today-shell .pusk-cal-full-link {
  color: var(--text-accent);
  font-weight: 700;
  text-decoration: none;
}

body.pusk-today-shell .today-calendar-back:not([hidden]) {
  position: fixed;
  inset: 0;
  z-index: 85;
  background: color-mix(in srgb, var(--bg-base) 55%, transparent);
}

@media (max-width: 760px) {
  body.pusk-today-page .pusk-ws-desktop,
  body.pusk-mobile-today .pusk-ws-desktop {
    display: none;
  }

  body.pusk-today-page .pusk-ws-mobile,
  body.pusk-mobile-today .pusk-ws-mobile {
    display: block;
  }

  .pusk-ws-mob-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
  }

  .pusk-ws-mob-days {
    display: flex;
    flex: 1;
    gap: 6px;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .pusk-ws-mob-chip {
    flex: 0 0 auto;
    padding: 8px 10px;
    border: 1px solid var(--border-default);
    border-radius: var(--radius-sm);
    background: var(--bg-muted);
    font-size: 12px;
  }

  .pusk-ws-mob-chip.on {
    border-color: var(--border-accent);
    background: var(--bg-accent-subtle);
    color: var(--text-accent);
  }

  .pusk-ws-mob-events .pusk-ws-event .pusk-ws-act,
  .pusk-ws-mob-events .pusk-ws-event .pusk-ws-more {
    opacity: 1;
    pointer-events: auto;
  }
}

/* Create sheet (PUSK Today — same add form as approved desktop) */
body.pusk-today-shell .sheet-back {
  position: fixed;
  inset: 0;
  z-index: 185;
  border: 0;
  background: rgba(20, 24, 28, 0.45);
  cursor: pointer;
}

body.pusk-today-shell .sheet-back[hidden],
body.pusk-today-shell .add-sheet[hidden] {
  display: none !important;
}

body.pusk-today-shell.pusk-create-open {
  overflow: hidden;
}

body.pusk-today-shell .add-sheet {
  position: fixed;
  z-index: 190;
  top: 56px;
  right: 0;
  bottom: 0;
  left: auto;
  width: min(620px, calc(100vw - 248px));
  padding: 20px;
  overflow: auto;
  border-left: 1px solid var(--border-default);
  background: var(--bg-surface);
  box-shadow: -8px 0 30px rgba(20, 24, 28, 0.12);
}

body.pusk-today-shell .add-sheet .sheet-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

body.pusk-today-shell .add-sheet .add-any > summary {
  display: none;
}

body.pusk-today-shell .add-sheet .add-any {
  padding: 0 !important;
  border: 0;
  background: transparent;
  box-shadow: none;
}

body.pusk-today-shell .add-sheet form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 14px;
}

body.pusk-today-shell .add-sheet form > div {
  min-width: 0 !important;
  width: auto !important;
}

body.pusk-today-shell .add-sheet form > div:has(#add-title),
body.pusk-today-shell .add-sheet form > div:has(textarea) {
  grid-column: 1 / -1;
}

body.pusk-today-shell .add-sheet form > button {
  grid-column: 1 / -1;
  justify-self: start;
}

body.pusk-today-shell .add-sheet [hidden] {
  display: none !important;
}

body.pusk-today-shell .add-sheet label {
  display: block;
  margin-bottom: 6px;
  font-size: 13px;
  color: var(--text-secondary);
}

body.pusk-today-shell .add-sheet input,
body.pusk-today-shell .add-sheet select,
body.pusk-today-shell .add-sheet textarea {
  width: 100%;
  box-sizing: border-box;
}

/* --- Today target layout (week Mon–Fri + weekend arrow) --- */
body.pusk-today-shell .pusk-today-top {
  margin-bottom: 16px;
}

body.pusk-today-shell .pusk-today-head {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px 16px;
  margin-bottom: 8px;
  padding: 0;
  border: 0;
  background: transparent;
}

body.pusk-today-shell .pusk-today-head .today-title {
  flex: 0 1 auto;
  min-width: 0;
}

body.pusk-today-shell .pusk-today-view-toggle {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--bg-surface);
  flex: none;
}

body.pusk-today-shell .pusk-today-view-toggle .on {
  padding: 6px 14px;
  font-size: 12px;
  font-weight: 600;
  background: var(--bg-accent);
  color: var(--text-on-accent);
}

body.pusk-today-shell .pusk-today-view-toggle button {
  min-height: 32px;
  padding: 0 14px !important;
  font-size: 12px;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.pusk-today-shell .pusk-team-label--short {
  display: none;
}

@media (max-width: 720px) {
  body.pusk-today-shell .pusk-team-label--full {
    display: none;
  }
  body.pusk-today-shell .pusk-team-label--short {
    display: inline;
  }
  body.pusk-today-shell .pusk-today-head {
    flex-direction: column;
    align-items: stretch;
  }
  body.pusk-today-shell .pusk-today-view-toggle {
    align-self: flex-start;
  }
}

body.pusk-today-shell .pusk-today-people {
  margin-bottom: 10px;
}

body.pusk-today-shell .pusk-week-pager .pusk-ws-today-btn,
body.pusk-today-shell .pusk-week-pager .pusk-ws-cal-btn {
  min-height: 28px;
  height: 28px;
  padding: 0 10px !important;
  font-size: 12px;
  line-height: 1.2;
}

body.pusk-today-shell .pusk-week-pager .pusk-ws-nav-arrow {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
}

body.pusk-today-shell .pusk-ws-section-head {
  margin-bottom: 8px;
}

body.pusk-today-shell .pusk-ws-title-line {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 12px;
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  min-width: 0;
}

body.pusk-today-shell .pusk-ws-title-text {
  flex: none;
}

body.pusk-today-shell .pusk-ws-inline-pager {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: baseline;
  gap: 6px;
  flex: 1 1 auto;
  min-width: 0;
  overflow: visible;
}

body.pusk-today-shell .pusk-ws-inline-pager .pusk-ws-nav-arrow {
  flex: none;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.25rem;
  padding: 0 2px;
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
  color: var(--text-secondary);
  text-decoration: none;
}

body.pusk-today-shell .pusk-ws-inline-pager .pusk-ws-nav-arrow:hover {
  color: var(--text-accent);
}

body.pusk-today-shell .pusk-ws-inline-pager .pusk-pager-range {
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-secondary);
  white-space: nowrap;
  flex-shrink: 1;
  min-width: 0;
}

body.pusk-today-shell .pusk-ws-row {
  display: flex;
  align-items: stretch;
  gap: 0;
  min-width: 0;
}

body.pusk-today-shell .pusk-ws-work-panel,
body.pusk-today-shell .pusk-ws-weekend-panel,
body.pusk-today-shell .pusk-ws-scroll-panel {
  flex: 1 1 auto;
  min-width: 0;
}

body.pusk-today-shell .pusk-ws-row .pusk-ws-track {
  min-width: 0;
  border-radius: 0;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  cursor: grab;
  touch-action: pan-x;
}

body.pusk-today-shell .pusk-ws-row .pusk-ws-track.is-dragging {
  cursor: grabbing;
  scroll-behavior: auto;
  scroll-snap-type: none;
  user-select: none;
}

body.pusk-today-shell .pusk-ws-row .pusk-ws-track::-webkit-scrollbar {
  display: none;
}

/* 7 equal day cols; track shows 5 (Mon–Fri). width 140% = 7/5 of viewport */
body.pusk-today-shell .pusk-ws-columns.pusk-ws-columns--week,
body.pusk-today-shell .pusk-ws-columns.pusk-ws-columns--weekend {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  width: 140%;
  min-width: 140%;
  max-width: none;
}

body.pusk-today-shell .pusk-ws-columns.pusk-ws-columns--week .pusk-ws-col {
  scroll-snap-align: start;
  scroll-snap-stop: normal;
  min-width: 0;
}

body.pusk-today-shell .pusk-ws-edge-nav {
  flex: none;
  width: 36px;
  min-height: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  border: 1px solid var(--border-default);
  background: var(--bg-surface);
  color: var(--text-accent);
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
}

body.pusk-today-shell .pusk-ws-edge-nav--prev {
  border-right: 0;
  border-radius: var(--radius-md) 0 0 var(--radius-md);
}

body.pusk-today-shell .pusk-ws-edge-nav--next {
  border-left: 0;
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
}

body.pusk-today-shell .pusk-ws-edge-nav:hover:not(:disabled) {
  background: var(--bg-accent-subtle);
}

body.pusk-today-shell .pusk-ws-edge-nav:disabled {
  opacity: 0.4;
  cursor: default;
  color: var(--text-tertiary);
}

body.pusk-today-shell .pusk-ws-col-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}

body.pusk-today-shell .pusk-ws-col-count {
  display: inline-grid;
  place-items: center;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  color: var(--text-secondary);
  background: var(--bg-muted);
}

body.pusk-today-shell .pusk-ws-event-court {
  display: block;
  width: 100%;
  margin-top: 4px;
  font-size: 12px;
  line-height: 1.35;
  color: var(--text-secondary);
  overflow-wrap: anywhere;
  word-break: normal;
  white-space: normal;
}

body.pusk-today-shell .pusk-ws-col-empty {
  margin: 0;
  padding: 16px 8px;
  font-size: 12px;
  color: var(--text-secondary);
  text-align: center;
}

body.pusk-today-shell .trow-menu-sheet-desktop {
  position: absolute;
  top: 100%;
  right: 0;
  z-index: 5;
  margin-top: 2px;
}

body.pusk-today-shell .trow-menu-sheet-desktop .trow-menu-panel {
  min-width: 200px;
  padding: 4px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md);
  background: var(--bg-surface);
  box-shadow: var(--shadow-md);
}

body.pusk-today-shell .trow-menu-sheet-desktop .trow-menu-item button {
  width: 100%;
  padding: 8px 10px;
  border: 0;
  border-radius: var(--radius-sm);
  background: transparent;
  text-align: left;
  font-size: 12px;
  cursor: pointer;
}

body.pusk-today-shell .today-show-more {
  display: block;
  width: 100%;
  margin: 8px 0 0;
  padding: 10px;
  border: 0;
  border-radius: var(--radius-md);
  background: transparent;
  color: var(--text-accent);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  text-align: center;
}

body.pusk-today-shell .today-show-more:hover {
  background: var(--bg-muted);
}

body.pusk-today-shell .is-pusk-today-row .trow-acts-pusk-desktop {
  position: relative;
}

body.pusk-today-shell .hearing-card-panel .what,
body.pusk-today-shell .hearing-card-tasks .what {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
  -webkit-line-clamp: unset !important;
}

body.pusk-today-shell .hearing-card-panel .ctx {
  white-space: normal !important;
  overflow: visible !important;
}

/* Today tasks panel: no priority/court plaques or assignee initials */
body.pusk-today-shell #today-tasks .task-card-top,
body.pusk-today-shell #today-tasks .task-priority,
body.pusk-today-shell #today-tasks .task-court,
body.pusk-today-shell #today-tasks .task-card-bottom,
body.pusk-today-shell #today-tasks .task-avatar,
body.pusk-today-shell .today-tasks .task-card-top,
body.pusk-today-shell .today-tasks .task-card-bottom,
body.pusk-today-shell .today-tasks .task-avatar {
  display: none !important;
}

/* Times New Roman for the Задачи block (and all its UI text) */
body.pusk-today-shell #today-tasks,
body.pusk-today-shell #today-tasks :is(
  h1, h2, h3, h4, p, span, a, button, input, select, textarea, label,
  li, div, strong, small, em, b
) {
  font-family: var(--font-tnr, "Times New Roman", Times, serif) !important;
}

/* Kill grey plate under ★ and ⋯ — icons only */
body.pusk-today-shell #today-tasks .trow-acts button.favorite,
body.pusk-today-shell #today-tasks .trow-acts button.more,
body.pusk-today-shell #today-tasks .trow-acts button.del,
body.pusk-today-shell #today-tasks .trow-acts button.read,
body.pusk-today-shell .today-tasks .trow-acts button.favorite,
body.pusk-today-shell .today-tasks .trow-acts button.more,
body.pusk-today-shell .today-tasks .trow-acts button.del,
body.approved-desktop-page.pusk-today-shell #today-tasks .trow-acts button.favorite,
body.approved-desktop-page.pusk-today-shell #today-tasks .trow-acts button.more,
body.approved-desktop-page.pusk-today-shell .today-tasks .trow-acts button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 1.15em !important;
  height: 1.15em !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  color: #9a948a !important;
  font-size: 16px !important;
  line-height: 1 !important;
  opacity: 1 !important;
}

body.pusk-today-shell #today-tasks .trow-acts button.favorite:hover,
body.pusk-today-shell #today-tasks .trow-acts button.more:hover,
body.pusk-today-shell #today-tasks .trow-acts button.del:hover,
body.pusk-today-shell .today-tasks .trow-acts button.favorite:hover,
body.pusk-today-shell .today-tasks .trow-acts button.more:hover,
body.approved-desktop-page.pusk-today-shell #today-tasks .trow-acts button:hover {
  background: transparent !important;
  box-shadow: none !important;
  opacity: 0.85 !important;
}

body.pusk-today-shell #today-tasks .trow-acts button.favorite.on,
body.pusk-today-shell .today-tasks .trow-acts button.favorite.on {
  color: #c9a227 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Preference: ★ ⋯ ✕ always far top-right of the Today task row.
   Date stays on the top text line (left of icons via padding); icons never drop under the date. */
body.pusk-today-shell #today-tasks li.trow.is-pusk-today-row,
body.pusk-today-shell .today-tasks li.trow.is-pusk-today-row,
body.pusk-today-shell .today-figma .today-task-list.feed.tasks li.is-pusk-today-row,
body.pusk-today-shell .today-figma .feed.tasks li.is-pusk-today-row,
body.approved-desktop-page.pusk-today-shell #today-tasks li.trow.is-pusk-today-row {
  position: relative !important;
  align-items: start !important;
  grid-template-columns: 20px minmax(0, 1fr) !important;
  grid-template-areas: "tick body" !important;
  column-gap: 12px !important;
  row-gap: 0 !important;
  gap: 0 12px !important;
  padding-right: 70px !important;
}

/* Space between checkbox and task title (~8–12px; lock 12px) */
body.pusk-today-shell #today-tasks li.trow.is-pusk-today-row .tick,
body.pusk-today-shell .today-tasks li.trow.is-pusk-today-row .tick {
  margin-right: 0 !important;
}

body.pusk-today-shell #today-tasks li.trow.is-pusk-today-row .tbody,
body.pusk-today-shell .today-tasks li.trow.is-pusk-today-row .tbody {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

body.pusk-today-shell #today-tasks li.trow.is-pusk-today-row .trow-acts,
body.pusk-today-shell #today-tasks li.trow.is-pusk-today-row .trow-acts-pusk-desktop,
body.pusk-today-shell .today-tasks li.trow.is-pusk-today-row .trow-acts,
body.pusk-today-shell .today-tasks li.trow.is-pusk-today-row .trow-acts-pusk-desktop,
body.pusk-today-shell .approved-desktop-page.today-web .today-tasks li.is-pusk-today-row .trow-acts,
body.pusk-today-shell .approved-desktop-page.today-web .today-tasks li.is-pusk-today-row .trow-acts-pusk-desktop,
body.approved-desktop-page.pusk-today-shell #today-tasks li.trow .trow-acts,
body.approved-desktop-page.pusk-today-shell .today-tasks li.trow .trow-acts {
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  left: auto !important;
  bottom: auto !important;
  inset: 8px 8px auto auto !important;
  margin: 0 !important;
  margin-top: 0 !important;
  align-self: start !important;
  justify-self: end !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 4px !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  opacity: 1 !important;
  z-index: 3;
  grid-area: unset !important;
}

body.pusk-today-shell #today-tasks li.trow.is-pusk-today-row .due,
body.pusk-today-shell .today-tasks li.trow.is-pusk-today-row .due {
  max-width: none;
  padding-right: 0;
}

/* Today tasks list: −0.5px step vs pre-+1 baseline (keep Times New Roman)
   baseline was title 14 / meta+due 12 (due today-row 11) → 13.5 / 11.5 / 10.5 */
body.pusk-today-shell #today-tasks .what,
body.pusk-today-shell #today-tasks li.trow .what,
body.pusk-today-shell .today-tasks .what,
body.pusk-today-shell .today-figma #today-tasks .what,
body.pusk-today-shell .today-figma .today-task-list .what {
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-family: var(--font-tnr, "Times New Roman", Times, serif) !important;
}

body.pusk-today-shell #today-tasks .ctx,
body.pusk-today-shell #today-tasks .ctx a,
body.pusk-today-shell #today-tasks .ctx .late,
body.pusk-today-shell #today-tasks .ctx .soon,
body.pusk-today-shell #today-tasks .ctx .muted,
body.pusk-today-shell #today-tasks .ctx .clips,
body.pusk-today-shell .today-tasks .ctx,
body.pusk-today-shell .today-figma .today-task-list .ctx,
body.pusk-today-shell .today-figma .today-task-list .ctx a {
  font-size: 12px !important;
  line-height: 1.4 !important;
  font-family: var(--font-tnr, "Times New Roman", Times, serif) !important;
}

body.pusk-today-shell #today-tasks .due,
body.pusk-today-shell #today-tasks .due .d,
body.pusk-today-shell #today-tasks .due .muted,
body.pusk-today-shell .today-tasks .due,
body.pusk-today-shell .today-figma .today-task-list .due {
  font-size: 12px !important;
  line-height: 1.3 !important;
  font-family: var(--font-tnr, "Times New Roman", Times, serif) !important;
}

body.pusk-today-shell #today-tasks .today-card-title h2,
body.pusk-today-shell #today-tasks .today-card-title p,
body.pusk-today-shell #today-tasks .today-task-filters button,
body.pusk-today-shell #today-tasks .today-task-filters select,
body.pusk-today-shell #today-tasks .today-task-filters label,
body.pusk-today-shell #today-tasks .today-task-group-heading,
body.pusk-today-shell #today-tasks .today-layout-switch,
body.pusk-today-shell #today-tasks .today-primary,
body.pusk-today-shell #today-tasks .today-all,
body.pusk-today-shell #today-tasks .today-empty,
body.pusk-today-shell #today-tasks .today-task-filter-empty {
  font-family: var(--font-tnr, "Times New Roman", Times, serif) !important;
}

/* Beat style.css .today-figma .today-task-list .{what,ctx,due} !important (11.5/9.5) */
body.pusk-today-shell .today-figma .today-task-list .what,
body.pusk-today-shell .today-figma #today-tasks .today-task-list .what,
body.pusk-today-shell .today-figma #today-tasks li.trow .what,
body.approved-desktop-page.pusk-today-shell .today-figma .today-task-list .what {
  font-size: 14px !important;
  font-family: var(--font-tnr, "Times New Roman", Times, serif) !important;
}

body.pusk-today-shell .today-figma .today-task-list .ctx,
body.pusk-today-shell .today-figma .today-task-list .due,
body.pusk-today-shell .today-figma #today-tasks .today-task-list .ctx,
body.pusk-today-shell .today-figma #today-tasks .today-task-list .due,
body.pusk-today-shell .today-figma #today-tasks li.trow .ctx,
body.pusk-today-shell .today-figma #today-tasks li.trow .due,
body.approved-desktop-page.pusk-today-shell .today-figma .today-task-list .ctx,
body.approved-desktop-page.pusk-today-shell .today-figma .today-task-list .due {
  font-size: 12px !important;
  font-family: var(--font-tnr, "Times New Roman", Times, serif) !important;
}

/* Beat style.css gap:8px on today-figma task rows */
body.pusk-today-shell .today-figma .today-task-list.feed.tasks li.trow,
body.pusk-today-shell .today-figma #today-tasks li.trow.is-pusk-today-row,
body.approved-desktop-page.pusk-today-shell .today-figma .today-task-list.feed.tasks li.trow {
  column-gap: 12px !important;
  gap: 0 12px !important;
}

/* Перетаскивание задачи в «Расписание дня» */
body.pusk-today-shell .pusk-timeline-drop-hint {
  margin: 0;
  padding: 8px 16px 4px;
  color: var(--text-tertiary);
  font-size: 12px;
}

body.pusk-today-shell li.trow[draggable="true"] {
  cursor: grab;
}

body.pusk-task-dragging li.trow[draggable="true"] {
  cursor: grabbing;
}

body.pusk-task-dragging .pusk-slot {
  transition: background-color .1s;
}

body.pusk-today-shell .pusk-slot.is-drop-target {
  position: relative;
  outline: 2px dashed var(--bg-accent);
  outline-offset: -2px;
  border-radius: 8px;
  background: var(--bg-accent-subtle);
}

body.pusk-today-shell .pusk-slot.is-drop-target::after {
  content: attr(data-drop-label);
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  padding: 4px 10px;
  border-radius: 6px;
  background: var(--bg-accent);
  color: var(--text-on-accent, #fff);
  font-size: 13px;
  font-weight: 600;
  pointer-events: none;
}

body.pusk-today-shell .pusk-slot.is-saving {
  opacity: .6;
}

body.pusk-today-shell .pusk-schedule-task {
  border-left: 3px solid var(--bg-accent) !important;
  cursor: grab;
}

body.pusk-today-shell .pusk-schedule-chip.is-task {
  background: var(--bg-accent-subtle);
  color: var(--text-accent);
}

body.pusk-today-shell .pusk-schedule-task .pusk-schedule-card-body {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}

body.pusk-today-shell .pusk-schedule-task-unplan {
  margin: 0;
}

body.pusk-today-shell .pusk-schedule-task-unplan button {
  display: grid !important;
  place-items: center !important;
  width: 28px !important;
  height: 28px !important;
  padding: 0 !important;
  border: 1px solid var(--border-default) !important;
  border-radius: 6px !important;
  background: var(--bg-surface) !important;
  color: var(--text-secondary) !important;
  font-size: 13px !important;
  cursor: pointer !important;
}

body.pusk-today-shell .pusk-schedule-task-unplan button:hover {
  background: var(--bg-muted) !important;
  color: var(--text-primary) !important;
}

/* ==================================================================
   Строка задачи в списке «Сегодня»: галочка | текст и срок | кнопки.
   Кнопки ★ ⋯ ✕ — отдельной колонкой, поэтому не налезают на дату.
   ================================================================== */
body.pusk-today-shell .today-desktop ul.feed.tasks > li.trow {
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr) auto !important;
  grid-template-areas: "tick body side" !important;
  column-gap: 12px !important;
  align-items: start !important;
  padding: 12px 12px 12px 8px !important;
}

body.pusk-today-shell .today-desktop ul.feed.tasks > li.trow > form.tick {
  grid-area: tick;
  margin: 2px 0 0 !important;
  align-self: start;
}

body.pusk-today-shell .today-desktop ul.feed.tasks > li.trow > .tbody {
  grid-area: body;
  min-width: 0;
  display: grid;
  gap: 4px;
}

body.pusk-today-shell .today-desktop ul.feed.tasks > li.trow > .task-card-bottom {
  display: none !important;
}

body.pusk-today-shell .today-desktop ul.feed.tasks > li.trow > .trow-acts {
  grid-area: side;
  position: static !important;
  inset: auto !important;
  display: flex !important;
  align-items: center;
  gap: 2px;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  box-shadow: none !important;
  transform: none !important;
  opacity: .55;
  transition: opacity .12s;
}

body.pusk-today-shell .today-desktop ul.feed.tasks > li.trow:hover > .trow-acts,
body.pusk-today-shell .today-desktop ul.feed.tasks > li.trow:focus-within > .trow-acts {
  opacity: 1;
}

body.pusk-today-shell .today-desktop ul.feed.tasks > li.trow > .trow-acts form {
  margin: 0;
}

body.pusk-today-shell .today-desktop ul.feed.tasks > li.trow > .trow-acts button {
  display: grid !important;
  place-items: center;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: none !important;
  color: var(--text-tertiary) !important;
  font-size: 16px !important;
  line-height: 1 !important;
}

body.pusk-today-shell .today-desktop ul.feed.tasks > li.trow > .trow-acts button:hover {
  background: var(--bg-muted) !important;
  color: var(--text-primary) !important;
}

body.pusk-today-shell .today-desktop ul.feed.tasks > li.trow > .trow-acts button.favorite.on {
  color: #b58100 !important;
}

/* Плашки приоритета и суда — одного размера */
body.pusk-today-shell .today-desktop ul.feed.tasks > li.trow .task-card-top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 0;
}

body.pusk-today-shell .today-desktop ul.feed.tasks > li.trow :is(.task-priority, .task-court) {
  display: inline-flex;
  align-items: center;
  height: 20px;
  padding: 0 8px;
  border-radius: 6px;
  background: var(--bg-muted);
  color: var(--text-secondary);
  font-size: 12px !important;
  font-weight: 600;
  line-height: 1;
}

body.pusk-today-shell .today-desktop ul.feed.tasks > li.trow .task-priority.high {
  background: var(--bg-warning-subtle, #fdf8ee);
  color: var(--text-warning, #8c5a0e);
}

body.pusk-today-shell .today-desktop ul.feed.tasks > li.trow .task-priority.low {
  background: var(--bg-muted);
  color: var(--text-tertiary);
}

body.pusk-today-shell .today-desktop ul.feed.tasks > li.trow .task-court {
  background: var(--bg-court-subtle, #f4f3fe);
  color: var(--text-court, #4a3ca6);
}

/* Заголовок и срок: срок справа, не переносится и не наезжает */
body.pusk-today-shell .today-desktop ul.feed.tasks > li.trow .thead {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  column-gap: 12px;
}

body.pusk-today-shell .today-desktop ul.feed.tasks > li.trow .thead .what {
  font-size: 14px !important;
  line-height: 1.35 !important;
}

body.pusk-today-shell .today-desktop ul.feed.tasks > li.trow .thead .due {
  position: static !important;
  white-space: nowrap;
  font-size: 13px !important;
  line-height: 1.35;
}

/* Контекст одной строкой: статус · клиент · дело · исполнитель */
body.pusk-today-shell .today-desktop ul.feed.tasks > li.trow .ctx {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 2px 6px;
  margin: 0;
  font-size: 12px !important;
  line-height: 1.4;
}

body.pusk-today-shell .today-desktop ul.feed.tasks > li.trow .ctx * {
  font-size: inherit !important;
  margin: 0 !important;
}

/* Расписание недели: значки участия в правом верхнем углу карточки */
body.pusk-today-shell .pusk-ws-event {
  position: relative;
}

body.pusk-today-shell .pusk-ws-event .pusk-ws-event-body {
  padding-right: 0;
}

body.pusk-today-shell .pusk-ws-event > .pusk-attend {
  position: absolute;
  top: 6px;
  right: 6px;
}

body.pusk-today-shell .pusk-ws-event .pusk-ws-event-time {
  padding-right: 92px;
}

/* Название заседания — ссылка, а не кнопка с тенью */
body.pusk-today-shell .pusk-ws-event button.pusk-ws-event-title {
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: left;
}

body.pusk-today-shell .pusk-ws-event.is-skipped {
  opacity: .72;
}

body.pusk-today-shell .pusk-ws-event-del {
  position: absolute;
  top: 6px;
  right: 6px;
  margin: 0;
}

body.pusk-today-shell .pusk-ws-event-del button {
  display: grid !important;
  place-items: center;
  width: 24px !important;
  height: 24px !important;
  min-height: 24px !important;
  padding: 0 !important;
  border: 1px solid var(--border-default) !important;
  border-radius: 6px !important;
  background: var(--bg-surface) !important;
  box-shadow: none !important;
  color: var(--text-tertiary) !important;
  font-size: 12px !important;
  line-height: 1 !important;
  opacity: .7;
  cursor: pointer;
}

body.pusk-today-shell .pusk-ws-event:hover .pusk-ws-event-del button,
body.pusk-today-shell .pusk-ws-event-del button:focus-visible {
  opacity: 1;
}

body.pusk-today-shell .pusk-ws-event-del button:hover {
  border-color: var(--border-danger, #efa79f) !important;
  color: var(--text-danger, #b42318) !important;
}

/* ==================================================================
   Расписание недели: одна лента на 7 дней, прокрутка влево-вправо,
   высоту тянут за нижний правый угол (запоминается в браузере)
   ================================================================== */
body.pusk-today-shell .pusk-ws-row .pusk-ws-resizable {
  display: flex;
  height: 300px;
  min-height: 180px;
  max-height: 1400px;
  overflow: hidden;
  resize: vertical;
  border: 1px solid var(--border-default);
  background: var(--bg-muted);
}

body.pusk-today-shell .pusk-ws-row .pusk-ws-resizable .pusk-ws-track {
  flex: 1 1 auto;
  height: 100%;
  max-height: none;
  border: 0;
  scroll-snap-type: x proximity;
}

body.pusk-today-shell .pusk-ws-resizable .pusk-ws-columns.pusk-ws-columns--week {
  height: 100%;
  min-height: 0;
}

body.pusk-today-shell .pusk-ws-resizable .pusk-ws-col {
  min-height: 0;
  height: 100%;
}

body.pusk-today-shell .pusk-ws-resizable .pusk-ws-col-body {
  max-height: none;
}

body.pusk-today-shell .pusk-ws-col.is-weekend .pusk-ws-col-head {
  color: var(--text-secondary);
}

body.pusk-today-shell .pusk-ws-row .pusk-ws-edge-nav {
  height: auto;
  min-height: 0;
  box-shadow: none;
}

/* Лента дней без конца: колонок сколько угодно, на экране пять */
body.pusk-today-shell .pusk-ws-resizable .pusk-ws-columns.pusk-ws-columns--week {
  grid-template-columns: none;
  grid-auto-flow: column;
  grid-auto-columns: var(--ws-col, 200px);
  width: max-content;
  min-width: 0;
}

body.pusk-today-shell .pusk-ws-track.is-jumping {
  scroll-behavior: auto !important;
  scroll-snap-type: none !important;
}

body.pusk-today-shell .pusk-ws-col.is-today .pusk-ws-col-head {
  background: var(--bg-accent-subtle, #e6f4f3);
  color: var(--text-accent, #117a74);
}

body.pusk-today-shell .pusk-ws-range-wrap {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-left: auto;
  font-size: 13px;
  font-weight: 600;
}

body.pusk-today-shell .pusk-ws-title-line {
  display: flex;
  align-items: center;
  gap: 12px;
}

body.pusk-today-shell button.pusk-ws-today-btn {
  height: auto;
  min-height: 0;
  margin: 0;
  padding: 4px 10px;
  border: 1px solid var(--border-accent, #c5e0de);
  border-radius: 999px;
  background: var(--bg-accent-subtle, #e6f4f3);
  box-shadow: none;
  color: var(--text-accent, #117a74);
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
}

body.pusk-today-shell button.pusk-ws-today-btn[hidden] {
  display: none;
}

/* Заголовки групп тем на странице «Оформление»: во всю ширину сетки */
.pusk-theme-picker .pusk-theme-group {
  grid-column: 1 / -1;
  margin: 12px 0 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-secondary);
}
.pusk-theme-picker .pusk-theme-group:first-child { margin-top: 0; }

/* Личный кабинет: профиль и настройки в одной оболочке с левым меню */
.pusk-cabinet-nav {
  position: sticky;
  top: 12px;
  gap: 2px;
}

.pusk-cabinet-group {
  margin: 14px 12px 4px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--text-tertiary);
}

.pusk-cabinet-group:first-child {
  margin-top: 0;
}

/* общий style.css рисует всем «nav a» рамку и фон — в меню кабинета их нет */
.pusk-settings-nav.pusk-cabinet-nav a {
  padding: 8px 12px;
  border: 0;
  background: transparent;
  box-shadow: none;
  margin: 0;
}

.pusk-settings-nav.pusk-cabinet-nav a.on {
  background: var(--bg-accent-subtle);
}

.pusk-settings-nav.pusk-cabinet-nav a:hover {
  background: var(--bg-muted);
  color: var(--text-primary);
}

.pusk-settings-nav.pusk-cabinet-nav a.on:hover {
  background: var(--bg-accent-subtle);
  color: var(--text-accent);
}

.pusk-cabinet {
  max-width: 1280px;
}

.pusk-cabinet-main {
  min-width: 0;
}

.pusk-cabinet-main > h1:first-child {
  margin-top: 0;
}

.pusk-cabinet-card {
  background: var(--bg-surface);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-lg, 12px);
  padding: 20px 22px;
  margin: 16px 0 0;
}

body.pusk-generic .pusk-generic-pane .pusk-cabinet .pusk-cabinet-card h2,
body.page-cabinet main .pusk-cabinet-card h2,
.pusk-appearance-main .pusk-cabinet-card h2 {
  margin: 0 0 4px;
  font-size: 16px;
}

.pusk-cabinet-card > p.pusk-cabinet-sub {
  margin: 0 0 16px;
  font-size: 13px;
  color: var(--text-secondary);
}

.pusk-cabinet-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 18px;
}

.pusk-cabinet-fields label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 12px;
  color: var(--text-secondary);
}

.pusk-cabinet-fields label.wide {
  grid-column: 1 / -1;
}

.pusk-cabinet-fields input[type="text"],
.pusk-cabinet-fields input[type="email"],
.pusk-cabinet-fields input[type="password"] {
  font: inherit;
  font-size: 14px;
  color: var(--text-primary);
  background: var(--bg-surface);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md);
  padding: 9px 11px;
}

body.pusk-generic .pusk-cabinet .pusk-cabinet-fields input {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}

.pusk-cabinet-fields input:focus {
  outline: 2px solid var(--border-accent);
  outline-offset: 0;
}

.pusk-cabinet-check {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-top: 14px;
  font-size: 14px;
  color: var(--text-primary);
}

.pusk-cabinet-actions {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-top: 18px;
}

.pusk-cabinet-actions button {
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  padding: 9px 16px;
  border-radius: var(--radius-md);
  border: 0;
  cursor: pointer;
  background: var(--bg-accent, var(--text-accent));
  color: var(--text-on-accent, #fff);
}

.pusk-cabinet-note {
  display: inline-block;
  margin: 12px 0 0;
  padding: 8px 12px;
  border-radius: var(--radius-md);
  background: var(--bg-accent-subtle);
  color: var(--text-accent);
  font-size: 13px;
}

.pusk-cabinet-note.is-bad {
  background: var(--bg-danger-subtle, #fdecec);
  color: var(--text-danger, #b42318);
}

.pusk-cabinet-me {
  display: flex;
  gap: 16px;
  align-items: center;
}

.pusk-cabinet-me i {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--bg-accent-subtle);
  color: var(--text-accent);
  font-size: 22px;
  font-weight: 700;
  font-style: normal;
  flex: none;
}

.pusk-cabinet-me b {
  display: block;
  font-size: 18px;
  color: var(--text-primary);
}

.pusk-cabinet-me span {
  font-size: 13px;
  color: var(--text-secondary);
}

.pusk-cabinet-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0 0;
}

.pusk-cabinet-facts div {
  padding: 12px 14px;
  border-radius: var(--radius-md);
  background: var(--bg-warm, var(--bg-canvas, transparent));
  border: 1px solid var(--border-default);
}

.pusk-cabinet-facts dt {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--text-tertiary);
}

.pusk-cabinet-facts dd {
  margin: 4px 0 0;
  font-size: 14px;
  color: var(--text-primary);
}

.pusk-cabinet-tiles {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 12px;
  margin-top: 16px;
}

.pusk-cabinet-tiles a {
  display: block;
  padding: 14px 16px;
  border-radius: var(--radius-md);
  border: 1px solid var(--border-default);
  background: var(--bg-surface);
  text-decoration: none;
}

.pusk-cabinet-tiles a:hover {
  border-color: var(--border-accent);
}

.pusk-cabinet-tiles b {
  display: block;
  font-size: 14px;
  color: var(--text-primary);
}

.pusk-cabinet-tiles span {
  font-size: 12px;
  color: var(--text-secondary);
}

body.pusk-today-shell .today-side-foot a.pusk-side-user {
  text-decoration: none;
  color: inherit;
}

.today-side-foot .pusk-side-foot-links {
  display: flex;
  gap: 14px;
}

@media (max-width: 1000px) {
  .pusk-appearance-layout.pusk-cabinet {
    grid-template-columns: 1fr;
  }
  .pusk-cabinet-nav {
    position: static;
    flex-direction: row;
    flex-wrap: wrap;
  }
  .pusk-cabinet-group {
    width: 100%;
    margin: 8px 4px 2px;
  }
  .pusk-cabinet-fields,
  .pusk-cabinet-facts {
    grid-template-columns: 1fr;
  }
}

/* версия: 2026-09-29 — новый адрес week-schedule.js для офлайн-кэша */
