/* Общие правила страницы и узкого экрана — из prototype/proto.css. Стили блоков — только в shared/ui.js. */
:root { color-scheme: light; }
body { margin: 0; background: #F2F5F1; color: #153B2D; }
button { font: inherit; cursor: pointer; }
a { text-decoration: none; color: #153B2D; }
a:hover { color: #0F6B33; }
input, select, textarea { font: inherit; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid #127A3A; outline-offset: 2px; }
.nv-toast { position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%); background: #153B2D; color: #fff; padding: 10px 16px; border-radius: 14px;
  font: 15px "Helvetica Neue", Helvetica, "Golos Text", sans-serif; z-index: 30; max-width: calc(100% - 32px); }
.nv-toast.bad { background: #9A3524; }
.nv-phone { background: #F2F5F1; }
@media (min-width: 561px) { body.ph { background: #E3E9E4; } }
@media (max-width: 760px) {
  .nv-desk { flex-wrap: wrap !important; }
  .nv-desk > .nv-nav { flex: 1 1 100% !important; min-width: 0 !important; padding: 14px 12px !important; gap: 10px !important; border-right: 0 !important; border-bottom: 1px solid #E1E8E2; }
  .nv-desk > .nv-nav > .nv-menu { flex-direction: row !important; overflow-x: auto; gap: 4px !important; }
  .nv-desk > .nv-nav > .nv-menu > a { white-space: nowrap; }
  .nv-desk > .nv-main { padding: 18px 14px 40px !important; }
  .nv-desk h1 { font-size: 25px !important; }
  .nv-desk .nv-grid { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important; }
  .nv-desk .nv-grid > * { min-width: 0; overflow-wrap: anywhere; }
  .nv-toast { bottom: 96px; }
}
