/* Кнопки — один набор на всю программу.
   .btn — обычная (белая с рамкой); .primary — главная тёмная; .dawn — главное действие экрана;
   .ghost — тихая без рамки; .danger — опасная (контур), .danger-fill / .danger.sure — подтверждение удаления.
   Размеры: .small, .big. Значок-кнопка: .icobtn. Текстовое действие: .linkbtn. Ряд действий: .rowacts. */
.btn { min-height: var(--btn-h); padding: 0 16px; border-radius: 12px; border: 1px solid #C9CEE0; background: #fff; color: var(--ink);
  font-family: inherit; font-size: 15px; font-weight: 600; line-height: 1.2; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  text-decoration: none; box-sizing: border-box; transition: background .12s, border-color .12s, color .12s, box-shadow .12s, transform .06s; }
.btn:hover { border-color: #9CA3C4; background: #F7F8FC; color: var(--ink); }
.btn:active { transform: translateY(1px); }
.btn:focus-visible, .icobtn:focus-visible, .linkbtn:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(30,42,85,.18); }
.btn svg { flex-shrink: 0; }

.btn.primary { background: var(--night); border-color: var(--night); color: #fff; }
.btn.primary:hover { background: #2A3870; border-color: #2A3870; color: #fff; }
.btn.dawn { background: var(--dawn); border-color: var(--dawn); color: #fff; box-shadow: 0 2px 8px rgba(242,107,58,.25); }
.btn.dawn:hover { background: #E05A2A; border-color: #E05A2A; color: #fff; }
.btn.ghost { background: transparent; border-color: transparent; color: var(--ink-2); }
.btn.ghost:hover { background: var(--ground); border-color: transparent; color: var(--ink); }
.btn.danger { color: var(--bad-ink); border-color: #E7B9B5; background: #fff; }
.btn.danger:hover { background: var(--bad-soft); border-color: var(--bad); color: var(--bad-ink); }
.btn.danger-fill, .btn.danger.sure { background: var(--bad); border-color: var(--bad); color: #fff; }
.btn.danger-fill:hover, .btn.danger.sure:hover { background: #B3302B; border-color: #B3302B; color: #fff; }

.btn.small { min-height: 36px; padding: 0 12px; border-radius: 10px; font-size: 14px; gap: 6px; }
.btn.big { flex: 1; min-height: 56px; font-size: 17px; border-radius: 16px; }
.btn[disabled], .btn.is-busy { opacity: .55; cursor: default; transform: none; box-shadow: none; }
.btn.is-busy { cursor: progress; }

/* Значок-кнопка: изменить, убрать, закрыть. Подпись — в title и aria-label. */
.icobtn { width: 34px; height: 34px; padding: 0; border: 0; border-radius: 10px; background: transparent; color: var(--muted);
  display: inline-flex; align-items: center; justify-content: center; cursor: pointer; flex-shrink: 0; transition: background .12s, color .12s; }
.icobtn:hover { background: var(--ground); color: var(--ink); }
.icobtn.danger:hover { background: var(--bad-soft); color: var(--bad-ink); }
.icobtn[disabled] { opacity: .45; cursor: default; }
.rowacts { display: inline-flex; align-items: center; gap: 2px; margin-left: auto; flex-shrink: 0; }

/* Текстовое действие внутри строки или блока: «Сбросить фильтры», «← Все дойки». */
.linkbtn { align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; border: 0; background: none; padding: 4px 6px;
  border-radius: 8px; color: var(--night); font: inherit; font-weight: 600; text-decoration: none; cursor: pointer; transition: background .12s; }
.linkbtn:hover { background: var(--ground); color: var(--night); }
.linkbtn.danger { color: var(--bad-ink); }
.linkbtn.danger:hover { background: var(--bad-soft); }

/* Действие внутри предложения («…— отметьте вручную») — ссылкой в строку. */
p .linkbtn, .note .linkbtn { display: inline; padding: 0; border-radius: 0; text-decoration: underline; text-underline-offset: 2px; }
p .linkbtn:hover, .note .linkbtn:hover { background: none; text-decoration-thickness: 2px; }

@media (prefers-reduced-motion: reduce) { .btn, .icobtn, .linkbtn { transition: none; } }

/* Подвал панели: главное действие слева во всю ширину, второе — той же высоты. */
.sheet-foot { align-items: stretch; }
.sheet-foot .btn:not(.big) { min-height: 56px; border-radius: 16px; padding: 0 18px; }
.sheet-x { color: var(--ink-2); transition: background .12s, color .12s; }
.sheet-x:hover { background: var(--line-2); color: var(--ink); }
.dz-btn { align-self: flex-start; margin-top: 4px; }
