.watchpro-page { width: min(100%, 940px); scroll-margin-top: 115px; }
.watchpro-page .button { display: inline-flex; align-items: center; justify-content: center; line-height: 1.4; text-decoration: none; }
.watchpro-page .button:not(.button--secondary) { background: var(--pine-dark); color: #fff; }
.watchpro-intro { margin: 22px 4px 18px; }
.watchpro-intro h2 { font-size: 1.4rem; margin: 0 0 8px; }
.watchpro-intro p { max-width: 760px; line-height: 1.6; margin: 0; }
.watchpro-nav ol { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); padding: 0; margin: 0; list-style: none; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; background: #fff; }
.watchpro-nav a { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 66px; padding: 10px 6px; color: var(--pine); text-decoration: none; font-size: .875rem; }
.watchpro-nav li + li { border-left: 1px solid var(--line); }
.watchpro-nav b { font-size: 1.2rem; }
.watchpro-nav a[aria-current="step"] { background: var(--pine-dark); color: #fff; }
.watchpro-nav a:hover { text-decoration: underline; }
.watchpro-position { font-weight: 700; font-size: .875rem; margin: 12px 4px; color: #b42318; }
.watchpro-step { padding: 28px; scroll-margin-top: 135px; }
.watchpro-step[hidden] { display: none; }
.watchpro-step h3 { font-size: 1.1rem; margin-top: 22px; }
.watchpro-step .watch-step-title { font-size: 1.35rem; }
.watchpro-step .watch-step-number { font-size: 1.65rem; }
.watchpro-step .watch-provider-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.watchpro-qr-target { display: grid; gap: 4px; margin: 18px 0; padding: 18px; border: 2px solid #b42318; border-radius: 14px; background: #fff1ed; color: #7a271a; }
.watchpro-qr-target span { font-size: .875rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.watchpro-qr-target strong { font-size: 1.65rem; line-height: 1.25; }
.watchpro-qr-target small { font-size: .925rem; line-height: 1.5; }
.watchpro-page .watch-provider--target { display: flex; width: 100%; min-height: 118px; margin: 18px 0; border: 3px solid #b42318; background: #fff1ed; color: #7a271a; font-size: 1.5rem; box-shadow: 0 6px 18px rgb(180 35 24 / 16%); }
.watchpro-page .watch-provider--target span { font-size: 1rem; color: #7a271a; }
.watchpro-other-providers { margin: 20px 0; padding: 14px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.watchpro-other-providers > summary { cursor: pointer; font-weight: 700; }
.watchpro-other-providers[open] > summary { margin-bottom: 14px; }
.watchpro-controls { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; border-top: 1px solid var(--line); margin-top: 26px; padding-top: 22px; }
.watchpro-controls a { text-decoration: none; text-align: center; }
.watchpro-safe { border-left: 4px solid var(--pine); background: #eef5f2; padding: 12px 16px; font-size: .875rem; }
.watchpro-guide { border: 1px solid var(--line); border-radius: 14px; margin-top: 24px; padding: 18px; background: #fff; }
.watchpro-guide > summary, .watchpro-choice > summary { font-weight: 750; font-size: 1.05rem; cursor: pointer; line-height: 1.5; }
.watchpro-guide[open] > summary { margin-bottom: 18px; }
.watchpro-instructions { padding-left: 23px; line-height: 1.6; }
.watchpro-instructions li { padding-left: 4px; margin: 12px 0; }
.watchpro-figures { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
.watchpro-figures figure, .watchpro-wide-figure { margin: 0; min-width: 0; }
.watchpro-figures img, .watchpro-wide-figure img { display: block; width: 100%; height: auto; border-radius: 10px; border: 1px solid var(--line); background: #fff; }
.watchpro-figures a, .watchpro-wide-figure a { display: block; }
.watchpro-figures figcaption, .watchpro-wide-figure figcaption { font-size: .875rem; line-height: 1.5; padding: 10px 0; }
.watchpro-substep { display: block; margin: 22px 0; padding: 20px; border: 1px solid #f1c9c5; border-left: 5px solid #b42318; border-radius: 12px; background: #fffafa; }
.watchpro-substep > b { display: block; color: #b42318; font-size: 1.65rem; line-height: 1.3; margin-bottom: 8px; }
.watchpro-substep h3 { margin: 4px 0 12px; color: #9f2117; font-size: 1.2rem; }
.watchpro-intervals-intro { color: #9f2117; font-weight: 700; line-height: 1.6; }
.watchpro-coach-actions { list-style: none; padding: 0; counter-reset: coach-action; }
.watchpro-coach-actions > li { counter-increment: coach-action; background: #fff; border: 1px solid #f1c9c5; border-radius: 10px; padding: 16px; margin: 12px 0; }
.watchpro-coach-actions > li::before { content: "Действие " counter(coach-action); display: block; color: #b42318; font-weight: 800; font-size: 1.15rem; margin-bottom: 6px; }
.watchpro-coach-actions > li > strong:first-child { display: block; margin-bottom: 6px; }
.watchpro-page .watchpro-substep .button, .watchpro-page .watchpro-coach-actions .button { background: #b42318; }
.watchpro-page .watchpro-substep .button:hover, .watchpro-page .watchpro-coach-actions .button:hover { background: #8f1c13; }
.watchpro-choice { border-bottom: 1px solid var(--line); padding: 15px 0; }
.watchpro-choice:first-of-type { border-top: 1px solid var(--line); }
.watchpro-finish { border-left: 4px solid var(--pine); padding: 4px 20px; margin: 20px 0; background: #f5f8f6; }
.watchpro-finish h3 { margin-top: 14px; }
.watchpro-success { display: flex; align-items: flex-start; gap: 16px; margin: 20px 0 24px; padding: 22px; border: 2px solid #15803d; border-radius: 16px; background: #dcfce7; color: #14532d; }
.watchpro-success > div { min-width: 0; }
.watchpro-success .watchpro-success-icon { flex: 0 0 46px; width: 46px; height: 46px; display: grid; place-items: center; border-radius: 50%; background: #15803d; color: #fff; font-size: 1.8rem; font-weight: 800; }
.watchpro-success h3 { margin: 0 0 10px; font-size: 1.7rem; color: #14532d; line-height: 1.3; }
.watchpro-success p { margin: 8px 0; line-height: 1.5; }
.watchpro-success-services { font-weight: 800; font-size: 1.15rem; }
.watchpro-success .watchpro-success-note { font-size: .875rem; }
.watchpro-status-badge { align-self: start; border-radius: 9px; padding: 7px 12px; background: #f1f5f9; color: #334155; font-weight: 700; line-height: 1.4; }
.watchpro-status-badge--connected { background: #15803d; color: #fff; }
.watchpro-page a { overflow-wrap: anywhere; }
@media (max-width: 680px) {
  .watchpro-nav a { flex-direction: column; gap: 3px; min-height: 76px; font-size: .875rem; }
  .watchpro-nav a span { text-align: center; }
  .watchpro-step { padding: 20px; }
  .watchpro-step .watch-provider-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .watchpro-page .watch-provider--target { font-size: 1.3rem; }
  .watchpro-figures { grid-template-columns: 1fr; }
  .watchpro-guide { padding: 14px; }
  .watchpro-controls .button { width: 100%; }
  .watchpro-substep { padding: 14px; }
  .watchpro-substep > b { font-size: 1.55rem; }
  .watchpro-coach-actions > li { padding: 12px; }
  .watchpro-success { padding: 16px; gap: 12px; }
  .watchpro-success h3 { font-size: 1.4rem; }
  .watchpro-success .watchpro-success-icon { flex-basis: 34px; width: 34px; height: 34px; font-size: 1.35rem; }
  .watchpro-status-badge { justify-self: start; }
  .watchpro-step .watch-status-list li { grid-template-columns: 1fr; gap: 8px; }
}
@media (max-width: 380px) {
  .watchpro-step .watch-provider-grid, .watchpro-step .watch-fields { grid-template-columns: 1fr; }
  .watchpro-step { padding: 16px; }
}
@media (prefers-reduced-motion: no-preference) { .watchpro-nav a { transition: background .15s, color .15s; } }
@media print { .watchpro-step[hidden] { display: block; } .watchpro-controls, .watchpro-nav { display: none; } }
