/* Final shared polish. Loaded after the existing brand styles. */
[hidden] { display: none !important; }
html { scroll-padding-top: 100px; }
main { min-width: 0; }
img { max-width: 100%; }
input, select, button { font: inherit; }
a, button, input, select, summary { -webkit-tap-highlight-color: transparent; }
button:focus-visible, input:focus-visible, select:focus-visible, a:focus-visible, summary:focus-visible {
  outline: 3px solid #17855a;
  outline-offset: 4px;
}
.v3-mobile-nav { max-height: calc(100dvh - 72px); overflow-y: auto; overscroll-behavior: contain; }
.v4-pane, .v4-tool-tile, .v4-field, .v3-tool-card { min-width: 0; }
.v4-field select, .v4-field input { min-width: 0; }
.v4-compare-table { overflow-wrap: anywhere; }
.v4-doc a, .simple-prose a { overflow-wrap: anywhere; }
.v4-result { scroll-margin-top: 100px; }
.v4-doc [id], .guide-body [id] { scroll-margin-top: 110px; }
.v4-doc nav[aria-label="Содержание статьи"] {
  padding: 18px 22px;
  margin: 0 0 28px;
  border: 1px solid #dce9dd;
  border-radius: 12px;
  background: #f6f9f4;
}
.v4-doc nav[aria-label="Содержание статьи"] ol { margin-bottom: 0; }
.article-table-scroll { overflow-x: auto; max-width: 100%; margin: 22px 0; }
.article-table-scroll table { min-width: 440px; }
.v4-compare-table caption { text-align: left; font-weight: 700; padding: 0 8px 12px; color: #25492e; }
.v3-footer .analytics-settings {
  display: inline-block;
  width: fit-content;
  padding: 8px 0;
  border: 0;
  background: none;
  color: #c2cfca;
  text-align: left;
  font-size: 13px;
  line-height: 1.5;
  cursor: pointer;
}
.v3-footer .analytics-settings:hover { color: #fff; text-decoration: underline; }
.analytics-panel {
  position: fixed;
  z-index: 100;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  width: min(780px, calc(100% - 32px));
  max-height: calc(100dvh - 32px);
  overflow-y: auto;
  box-sizing: border-box;
  background: #fff;
  color: #203b2a;
  border: 1px solid #b6cdbb;
  border-radius: 16px;
  box-shadow: 0 10px 50px #0c281e30;
  padding: 22px;
}
.analytics-panel h2 { font-size: 19px !important; line-height: 1.3; margin: 0 0 8px !important; letter-spacing: -.02em !important; }
.analytics-panel p { font-size: 14px; line-height: 1.6; margin: 0; }
.analytics-panel a { color: #145a36; text-decoration: underline; text-underline-offset: 3px; }
.analytics-panel .analytics-current { font-size: 12px; margin-top: 7px; }
.analytics-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.analytics-actions button {
  min-height: 44px;
  border-radius: 8px;
  border: 1px solid #205437;
  background: #fff;
  color: #205437;
  padding: 10px 15px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}
.analytics-actions button[data-analytics-choice="accepted"] { background: #205437; color: #fff; }
.analytics-actions .analytics-dismiss { margin-left: auto; border-color: #c8d7cd; }
.analytics-actions button:hover { filter: brightness(.94); }
@media (max-width: 980px) {
  .v3-nav, .v3-header-cta { display: none; }
  .v3-menu { display: flex; margin-left: auto; flex: 0 0 46px; }
  .v3-mobile-nav:not([hidden]) {
    display: flex;
    flex-direction: column;
    padding: 8px 21px 22px;
    background: #fff;
    border-top: 1px solid #e5ece7;
  }
  .v3-mobile-nav a { padding: 15px 5px; border-bottom: 1px solid #edf2ed; color: #20362b; font-size: 15px; font-weight: 700; }
}
@media (max-width: 600px) {
  .v4-field input, .v4-field select, .v3-field select { font-size: 16px; }
  .v4-page-hero h1 { overflow-wrap: anywhere; }
  .analytics-panel { bottom: 10px; width: calc(100% - 20px); padding: 17px; }
  .analytics-actions button { flex: 1 1 140px; }
  .analytics-actions .analytics-dismiss { flex: 0 0 auto; margin-left: 0; }
}
@media print {
  .analytics-panel, .analytics-settings, .v3-menu, .v3-mobile-nav, .skip { display: none !important; }
  .v4-result button, .v4-result .v4-button { display: none !important; }
  .v4-result, .v4-pane { break-inside: auto; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}
