/* ==========================================================================
   АВТОВЫПИСКА — оформление
   Визуальный язык документа, а не лендинга: бумага, линейные разделители,
   серифные заголовки, ни одного скругления, тени или градиента.
   Разделы: 1 токены · 2 база · 3 набор · 4 шапка · 5 подвал · 6 бланк
            7 таблица · 8 поток · 9 перечни · 10 статьи · 11 документы
            12 кабинет · 13 службы · 14 узкие экраны
   ========================================================================== */

/* --- 1. токены --------------------------------------------------------- */

:root {
  --paper:#fbfaf7;
  --paper-2:#f3efe7;
  --card:#fff;
  --ink:#171412;
  --ink-2:#3d372f;
  --muted:#6e6558;
  --rule:#dcd5c8;
  --rule-2:#ece7dd;
  --oxblood:#8c2f2f;
  --blue:#1f4e6b;
  --ok:#3f6b52;
  --display:"Commissioner","Golos Text",system-ui,sans-serif;
  --sans:"Golos Text","PT Sans",system-ui,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;
  --measure:62ch;
  --col:1020px
}

/* --- 2. база ----------------------------------------------------------- */

*,*::before,*::after { box-sizing:border-box }

html { -webkit-text-size-adjust:100% }

body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font:15.5px/1.5 var(--sans);
  -webkit-font-smoothing:antialiased
}

a {
  color:inherit;
  text-decoration:none;
  border-bottom:1px solid var(--rule);
  transition:color .15s ease,border-color .15s ease
}

a:hover { color:var(--blue);border-color:var(--blue) }

p { margin:0 0 12px }

p:last-child { margin-bottom:0 }

h1,h2,h3,h4 {
  font-family:var(--display);
  font-weight:600;
  letter-spacing:-.022em;
  line-height:1.12;
  margin:0 0 12px
}

h1 { font-size:clamp(28px,3.6vw,40px) }
h2 { font-size:clamp(22px,2.6vw,30px) }
h3 { font-size:18px }
h4 { font-size:16px }

em { font-style:italic }

ul,ol { margin:0; padding:0; list-style:none }

table { border-collapse:collapse; width:100% }

:focus-visible {
  outline:2px solid var(--blue);
  outline-offset:3px
}

::selection { background:#e8dfc9 }

[hidden] { display:none !important }

.skip {
  position:absolute;
  left:-9999px
}

.skip:focus { left:16px;top:12px;z-index:20;background:var(--card);padding:8px 12px;border:1px solid var(--ink) }

/* --- 3. набор ---------------------------------------------------------- */

.wrap {
  width:min(var(--col),calc(100% - 44px));
  margin-inline:auto
}

.measure { max-width:var(--measure) }

.band {
  border-top:1px solid var(--rule);
  padding:38px 0
}

.band--flush { border-top:0;padding-top:0 }

.band__head {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,320px);
  gap:28px;
  align-items:end;
  margin-bottom:22px
}

.band__head p { color:var(--muted);font-size:15px;margin:0 }

.label {
  display:block;
  font:500 11px/1 var(--mono);
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:10px
}

.label--rule::before {
  content:"";
  display:inline-block;
  width:26px;
  height:1px;
  background:var(--ink);
  vertical-align:middle;
  margin-right:10px
}

.footnote {
  font-size:13px;
  line-height:1.6;
  color:var(--muted)
}

/* --- 4. шапка ---------------------------------------------------------- */

.site-head {
  border-bottom:3px double var(--ink);
  padding:14px 0 12px;
  background:var(--paper)
}

.site-head__row {
  display:flex;
  align-items:center;
  gap:26px;
  flex-wrap:wrap
}

.brand {
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:var(--display);
  font-weight:600;
  font-size:19px;
  letter-spacing:-.01em;
  border:0
}

.brand:hover { color:var(--ink) }

.brand__seal {
  width:26px;height:26px;flex:none;
  border:1.5px solid var(--ink);
  position:relative
}

.brand__seal::before {
  content:"";
  position:absolute;
  inset:4px;
  border:1px solid var(--rule)
}

.brand__seal::after {
  content:"";
  position:absolute;
  right:-1px;bottom:-1px;
  width:9px;height:9px;
  background:var(--paper);
  border-left:1.5px solid var(--ink);
  border-top:1.5px solid var(--ink)
}

.brand__sub {
  display:block;
  font:500 9.5px/1 var(--mono);
  letter-spacing:.18em;
  color:var(--muted);
  margin-top:4px
}

.nav {
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:0;
  font-size:14px;
  min-width:0
}

.nav a {
  border:0;
  padding:4px 0;
  color:var(--ink-2);
  position:relative
}

.nav a + a { margin-left:26px }

.nav a + a::before {
  content:"";
  display:inline-block;
  width:1px;height:13px;
  background:var(--rule);
  vertical-align:-2px;
  margin-right:26px
}

.nav a:hover,.nav a.is-current { color:var(--blue) }

.nav a.is-current::after {
  content:"";
  position:absolute;
  left:0;right:0;bottom:-2px;
  height:1px;background:var(--blue)
}

.head-aside {
  display:flex;
  align-items:center;
  gap:14px
}

.nav-toggle {
  display:none;
  background:none;border:1px solid var(--ink);
  font:500 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;
  padding:9px 12px;cursor:pointer;color:var(--ink)
}



/* --- 5. подвал (колофон) ------------------------------------------------ */

.colophon {
  border-top:3px double var(--ink);
  margin-top:40px;
  padding:24px 0 44px;
  font-size:13px;
  color:var(--muted)
}

.colophon__grid {
  display:grid;
  grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));
  gap:26px
}

.colophon h4 {
  font:500 10.5px/1 var(--mono);
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--ink);
  margin:0 0 14px
}

.colophon li { margin-bottom:8px }

.colophon a { border-color:var(--rule-2) }

.colophon__mark { margin-bottom:14px }

.colophon__legal { margin:0 0 12px;max-width:44ch;line-height:1.6 }

.colophon__bottom {
  margin-top:22px;
  padding-top:12px;
  border-top:1px solid var(--rule);
  display:flex;
  gap:22px;
  flex-wrap:wrap;
  font:500 10.5px/1.6 var(--mono);
  letter-spacing:.1em;
  text-transform:uppercase
}

/* --- 6. бланк заявки ---------------------------------------------------- */

.plate {
  background:var(--card);
  border:1px solid var(--ink);
  padding:22px
}

.plate__title {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:18px;
  border-bottom:1px solid var(--rule);
  padding-bottom:10px;
  margin-bottom:14px
}

.plate__title h2 { margin:0;font-size:21px }

.plate__code { font:500 10.5px/1 var(--mono);letter-spacing:.14em;color:var(--muted);text-transform:uppercase }

.intro {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,380px);
  gap:34px;
  align-items:start;
  padding-top:26px
}

.intro__copy h1 { margin-bottom:14px }

.intro__copy p.lead { font-size:16.5px;line-height:1.5;color:var(--ink-2);max-width:44ch }

.facts {
  margin-top:20px;
  border-top:1px solid var(--rule)
}

.facts div {
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:7px 0;
  border-bottom:1px solid var(--rule-2);
  font-size:14px
}

.facts dt { color:var(--muted) }
.facts dd { margin:0;font-family:var(--mono);font-size:13.5px;letter-spacing:.02em }

/* рисунок-схема мест, где нанесено обозначение */
.mark {
  margin:18px 0 0;
  padding-top:12px;
  border-top:1px solid var(--rule)
}

.mark__head {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:16px;
  margin-bottom:4px
}

.mark__head .label { margin-bottom:0 }

.mark__note { font:500 10.5px/1.2 var(--mono);letter-spacing:.04em;color:var(--muted) }

.mark__art { display:block;width:100%;height:auto;color:var(--ink) }

.mark__cap {
  margin:6px 0 0;
  font-size:13px;
  line-height:1.5;
  color:var(--muted);
  max-width:52ch
}

.mk-body,.mk-glass,.mk-wheel,.mk-sheet,.mk-lead,.mk-ring,.mk-line,.mk-ground,.mk-det { fill:none }

.mk-body { stroke:currentColor;stroke-width:1.5 }
.mk-glass { stroke:currentColor;stroke-width:1;opacity:.6 }
.mk-det { stroke:currentColor;stroke-width:1.4;opacity:.5 }
.mk-wheel { stroke:currentColor;stroke-width:1.2 }
.mk-hub { fill:currentColor }
.mk-ground { stroke:var(--rule);stroke-width:1;stroke-dasharray:3 5 }
.mk-lead { stroke:var(--muted);stroke-width:1;stroke-dasharray:2 3 }
.mk-ring { stroke:var(--oxblood);stroke-width:1.2 }
.mk-dot { fill:var(--oxblood) }
.mk-txt { font:500 11px var(--sans);fill:var(--ink-2) }
.mk-sheet { stroke:currentColor;stroke-width:1.2;fill:var(--paper-2) }
.mk-line { stroke:var(--rule);stroke-width:1 }
.mk-line-hi { fill:none;stroke:var(--oxblood);stroke-width:1;opacity:.65 }

/* поля */

.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px }

.field { margin-bottom:14px }

.field__name {
  display:block;
  font:500 10.5px/1 var(--mono);
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:9px
}

.field input[type=text]:not(.cells__input),.field input[type=email],.field input[type=password],
.field input[type=tel],.field select,.field textarea {
  width:100%;
  padding:10px 12px;
  font:14.5px/1.4 var(--sans);
  color:var(--ink);
  background:var(--card);
  border:1px solid var(--rule);
  border-radius:0;
  transition:border-color .15s ease
}

.field textarea { resize:vertical;min-height:74px }

.field select {
  appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);
  background-position:calc(100% - 16px) 19px,calc(100% - 11px) 19px;
  background-size:5px 5px;
  background-repeat:no-repeat;
  padding-right:38px
}

.field input:focus,.field select:focus,.field textarea:focus { outline:none;border-color:var(--ink) }

.field.has-error input,.field.has-error select,.field.has-error textarea,.cells.has-error { border-color:var(--oxblood) }

.field__note { margin:8px 0 0;font-size:12.5px;color:var(--muted);line-height:1.5 }

.field__error { margin:8px 0 0;font:500 12px/1.5 var(--mono);color:var(--oxblood);letter-spacing:.02em }

/* ячейки VIN — сигнатурный элемент */

.cells {
  display:grid;
  grid-template-columns:repeat(17,minmax(0,1fr));
  gap:4px;
  border:1px solid transparent;
  padding:1px;
  cursor:text
}

.cell {
  height:36px;
  display:grid;
  place-items:center;
  border:1px solid var(--rule);
  background:var(--card);
  font:13px/1 var(--mono);
  color:var(--ink);
  transition:border-color .12s ease,background .12s ease
}

.cell.is-filled { border-color:var(--ink);background:#fbf7ee }

.cell.is-cursor { border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue) }

.cells__input {
  position:absolute;
  top:0;left:0;
  width:1px;height:1px;
  opacity:0;
  border:0;padding:0;
  clip-path:inset(50%);
  pointer-events:none
}

.cells__meta {
  display:flex;justify-content:space-between;gap:14px;
  margin-top:9px;
  font:500 10.5px/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted)
}

/* переключатель основания проверки */

.modes { display:flex;gap:0;border:1px solid var(--rule);margin-bottom:22px }

.modes button {
  flex:1;
  background:var(--card);border:0;
  font:500 10.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;
  padding:9px 8px;cursor:pointer;color:var(--muted)
}

.modes button + button { border-left:1px solid var(--rule) }

.modes button.is-active { background:var(--ink);color:var(--paper) }

/* кнопки */

.btn {
  display:inline-block;
  background:var(--ink);color:var(--paper);
  border:1px solid var(--ink);
  font:500 11.5px/1 var(--mono);
  letter-spacing:.14em;text-transform:uppercase;
  padding:12px 20px;
  cursor:pointer;
  text-align:center;
  transition:background .15s ease,border-color .15s ease,color .15s ease
}

.btn:hover { background:var(--blue);border-color:var(--blue);color:#fff }

.btn--ghost { background:transparent;color:var(--ink) }
.btn--ghost:hover { background:var(--ink);color:var(--paper);border-color:var(--ink) }

.btn--wide { display:block;width:100% }

.btn[disabled] { opacity:.5;cursor:progress }

.text-btn {
  background:none;border:0;border-bottom:1px solid var(--rule);
  font:inherit;color:var(--blue);cursor:pointer;padding:0
}

/* согласия */

.agree { display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.5;color:var(--ink-2);margin-bottom:10px }
.agree input { margin-top:3px;accent-color:var(--ink);width:15px;height:15px;flex:none }

.form-note { margin:16px 0 0;font-size:12.5px;color:var(--muted);line-height:1.55 }

.form-status { margin-top:16px;font:500 12.5px/1.5 var(--mono);letter-spacing:.02em;min-height:0 }
.form-status:empty { display:none }
.form-status.is-error { color:var(--oxblood) }
.form-status.is-ok { color:var(--ok) }

.honeypot { position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden }

/* квитанция о принятой заявке */

.receipt {
  margin-top:18px;
  border:1px solid var(--ink);
  background:var(--paper-2);
  padding:16px
}

.receipt__top {
  display:flex;justify-content:space-between;align-items:center;gap:14px;
  border-bottom:1px solid var(--ink);padding-bottom:9px;margin-bottom:10px
}

.receipt__top strong { font-family:var(--display);font-size:17px;font-weight:600 }

.receipt__rows { margin:0 }

.receipt__rows div { display:flex;align-items:baseline;gap:9px;padding:4px 0;font-size:14px }
.receipt__rows dt { color:var(--muted);white-space:nowrap }
.receipt__rows .dots { flex:1;border-bottom:1px dotted #b9b0a2;transform:translateY(-4px) }
.receipt__rows dd { margin:0;font-family:var(--mono);font-size:13px;white-space:nowrap }

.receipt .btn { margin-top:16px }

/* куки-баннер: фиксированная плашка снизу, в чернильной палитре */

.cookie-bar {
  position:fixed;
  left:0;right:0;bottom:0;
  z-index:30;
  background:var(--ink);
  color:#e8e3d9;
  border-top:3px double #4a4239;
  padding:14px 0 16px
}

.cookie-bar__row { display:flex;align-items:center;gap:22px }

.cookie-bar p { margin:0;font-size:13.5px;line-height:1.5;color:#cfc8bb }

.cookie-bar a { color:#fff;border-color:#6c6157 }

.cookie-bar a:hover { border-color:#fff }

.cookie-bar button {
  flex:none;
  background:var(--paper);color:var(--ink);border:0;
  font:500 10.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;
  padding:12px 18px;cursor:pointer
}

.cookie-bar button:hover { background:#fff }

body:has(.cookie-bar:not([hidden])) { padding-bottom:96px }

/* --- 7. таблицы --------------------------------------------------------- */

.doc-table { font-size:15px }

.doc-table caption {
  text-align:left;font:500 10.5px/1 var(--mono);letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);padding-bottom:12px
}

.doc-table th,.doc-table td {
  text-align:left;padding:10px 14px 10px 0;
  border-bottom:1px solid var(--rule);vertical-align:top
}

.doc-table thead th {
  border-bottom:2px solid var(--ink);
  font:500 10.5px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink)
}

.doc-table td:first-child { font-family:var(--display);font-weight:600;font-size:16px;width:26% }
.doc-table td.is-num { font-family:var(--mono);font-size:15px;white-space:nowrap }
.doc-table td.is-price { font-family:var(--display);font-weight:600;font-size:19px;white-space:nowrap }
.doc-table tbody tr:hover td { background:#faf6ec }
.doc-table .is-best td:first-child::after {
  content:"чаще берут";
  display:block;margin-top:5px;
  font:500 9.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--oxblood)
}
.doc-table ul li { padding-left:15px;position:relative;font-size:14px;margin-bottom:5px }
.doc-table ul li::before { content:"—";position:absolute;left:0;color:var(--muted) }
.doc-table ul li.is-off { color:#a99f8f }

/* --- 8. поток работ ------------------------------------------------------ */

.flow { border-left:1px solid var(--rule);margin-left:4px }

.flow > li {
  display:grid;
  grid-template-columns:168px minmax(0,1fr);
  gap:20px;
  padding:15px 0 15px 24px;
  border-bottom:1px solid var(--rule-2);
  position:relative
}

.flow > li::before {
  content:"";position:absolute;left:-4px;top:21px;
  width:7px;height:7px;background:var(--ink);border-radius:50%
}

.flow > li:last-child { border-bottom:0 }

.flow__stage {
  font:500 10.5px/1.5 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)
}

.flow__body h3 { margin:0 0 6px;font-size:17px }
.flow__body p { margin:0;font-size:14.5px;color:var(--ink-2);max-width:62ch }

/* --- 9. перечни ---------------------------------------------------------- */

.defs {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:46px
}

.defs > div { padding:13px 0;border-bottom:1px solid var(--rule-2) }
.defs > div:nth-last-child(-n+2) { border-bottom:0 }

.defs dt { font-family:var(--display);font-weight:600;font-size:16.5px;margin-bottom:4px }
.defs dd { margin:0;font-size:14px;line-height:1.5;color:var(--ink-2) }
.defs dd .tag { margin-top:8px }

.tag {
  display:inline-block;
  font:500 9.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;
  padding:5px 8px;border:1px solid var(--rule);color:var(--muted)
}

.tag--in { border-color:var(--ink);color:var(--ink) }
.tag--out { border-color:#cfc7b8;color:#a99f8f;text-decoration:line-through }

.notes { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px }
.notes h3 { font-size:16px;margin-bottom:6px }
.notes p { margin:0;font-size:14px;color:var(--ink-2) }
.notes > div { border-top:2px solid var(--ink);padding-top:16px }

/* вопросы */

.qa { border-top:1px solid var(--rule) }

.qa details { border-bottom:1px solid var(--rule-2);padding:2px 0 }
.qa summary {
  cursor:pointer;list-style:none;
  font-family:var(--display);font-weight:600;font-size:17px;padding:12px 30px 12px 0;position:relative
}
.qa summary::-webkit-details-marker { display:none }
.qa summary::after {
  content:"+";position:absolute;right:4px;top:16px;
  font:400 20px/1 var(--mono);color:var(--muted)
}
.qa details[open] summary::after { content:"−" }
.qa__a { padding:0 0 14px;font-size:14.5px;color:var(--ink-2);max-width:70ch }

/* --- 10. статьи ---------------------------------------------------------- */

.cards { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px }

.card {
  border-top:2px solid var(--ink);
  padding-top:14px;
  display:flex;flex-direction:column;gap:9px
}

.card__kind { font:500 10px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted) }
.card h3 { margin:0;font-size:19px;line-height:1.25 }
.card p { margin:0;font-size:14px;color:var(--ink-2) }
.card a { margin-top:6px;align-self:flex-start;font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:4px }
.card a:hover { color:var(--blue);border-color:var(--blue) }

.doc-page { padding:30px 0 12px }

.doc-page h1 { max-width:24ch }

.doc-page .stand {
  font-size:16.5px;line-height:1.5;color:var(--ink-2);
  max-width:var(--measure);margin:0 0 20px;padding-bottom:16px;border-bottom:1px solid var(--rule)
}

.doc-page .stand::first-letter {
  font-family:var(--display);font-weight:700;font-size:44px;line-height:.85;float:left;padding:4px 10px 0 0;color:var(--ink)
}

.doc-body { max-width:66ch }
.doc-body h2 { margin:24px 0 10px;font-size:21px }
.doc-body h3 { margin:20px 0 8px;font-size:17px }
.doc-body p { font-size:15.5px;line-height:1.55 }
.doc-body li { font-size:15px;line-height:1.55;margin-bottom:6px;padding-left:20px;position:relative }
.doc-body li::before { content:"—";position:absolute;left:0;color:var(--muted) }
.doc-body .aside {
  margin:20px 0;padding:14px 18px;border-left:2px solid var(--ink);
  background:var(--paper-2);font-size:14px;line-height:1.5
}

.doc-meta {
  margin-top:40px;padding-top:16px;border-top:1px solid var(--rule);
  font:500 10.5px/1.7 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)
}

/* --- 11. юридические документы ------------------------------------------- */

.legal h2 { font-size:19px;margin:24px 0 9px }
.legal p,.legal li { font-size:15px;line-height:1.55;color:var(--ink-2) }
.legal > p:first-of-type { color:var(--ink) }

/* --- 12. кабинет --------------------------------------------------------- */

.form-card {
  max-width:460px;
  margin:0 auto;
  border:1px solid var(--ink);
  background:var(--card);
  padding:24px
}

.form-card h1 { font-size:26px;margin-bottom:10px }
.form-card > p { color:var(--ink-2);font-size:14.5px;margin-bottom:18px }

.form-card .btn { margin-top:6px }

.alt { margin:18px 0 0;font-size:14px;color:var(--muted) }

.cabinet-head {
  display:flex;justify-content:space-between;align-items:flex-end;gap:20px;
  border-bottom:1px solid var(--ink);padding-bottom:16px;margin-bottom:6px;flex-wrap:wrap
}

.cabinet-head h1 { font-size:27px;margin:0 }
.cabinet-head__who { font:500 11px/1.7 var(--mono);letter-spacing:.08em;color:var(--muted);text-align:right }

.entries { border-top:1px solid var(--rule) }

.entry {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:22px;align-items:center;
  padding:12px 0;border-bottom:1px solid var(--rule-2);
  border-left:0;border-right:0;border-top:0
}

.entry:hover { background:#faf6ec;border-color:var(--rule-2);color:inherit }

.entry__no { font:500 12px/1 var(--mono);letter-spacing:.1em;color:var(--ink) }
.entry__vin { font:13px/1.5 var(--mono);color:var(--ink-2);margin-top:6px;letter-spacing:.06em;word-break:break-all }
.entry__plan { font-size:13.5px;color:var(--muted);white-space:nowrap }

.stamp {
  display:inline-block;
  border:1.5px solid var(--oxblood);color:var(--oxblood);
  font:500 9.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;
  padding:6px 9px;transform:rotate(-3deg);white-space:nowrap
}

.stamp--work { border-color:var(--blue);color:var(--blue) }
.stamp--done { border-color:var(--ok);color:var(--ok) }

.empty {
  border:1px dashed var(--rule);padding:28px 20px;text-align:center;color:var(--muted)
}
.empty h3 { font-size:18px;color:var(--ink);margin:0 0 6px }
.empty p { margin:0 0 20px;font-size:14.5px }

.detail { border:1px solid var(--ink);background:var(--card);padding:22px;max-width:600px }
.detail dl { margin:0 }
.detail dl > div { display:flex;align-items:baseline;gap:10px;padding:9px 0;border-bottom:1px solid var(--rule-2) }
.detail dt { color:var(--muted);font-size:14px;white-space:nowrap }
.detail .dots { flex:1;border-bottom:1px dotted #b9b0a2;transform:translateY(-4px) }
.detail dd { margin:0;font-family:var(--mono);font-size:13.5px;text-align:right;word-break:break-word }

/* --- 13. служебные ------------------------------------------------------- */

.cta-band {
  border:1px solid var(--ink);
  background:var(--paper-2);
  padding:22px;
  display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap
}
.cta-band h2 { margin:0;font-size:21px;max-width:26ch }

.notfound { padding:44px 0 20px;max-width:620px }
.notfound h1 { font-size:clamp(30px,5vw,46px);margin-bottom:10px }
.notfound .big { font-family:var(--display);font-weight:700;font-size:68px;line-height:1;display:block;margin-bottom:10px }

.notice {
  border-left:2px solid var(--oxblood);
  background:var(--paper-2);
  padding:14px 18px;font-size:14px;line-height:1.6;color:var(--ink-2)
}

.is-placeholder { color:var(--oxblood);font-style:italic }

/* --- 14. узкие экраны ----------------------------------------------------- */

@media (max-width:1000px) {
  .colophon__grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .band__head { grid-template-columns:minmax(0,1fr);gap:20px }
  .intro { grid-template-columns:minmax(0,1fr);gap:38px }
  .mark { display:none }
  .notes { grid-template-columns:minmax(0,1fr);gap:22px }
}

/* Шапка: до 999px навигация уходит под бургер — в одну строку links и вход не влезают */
@media (max-width:999px) {
  .nav { display:none }
  .nav.is-open {
    display:flex; flex-direction:column; align-items:flex-start;
    flex-basis:100%; order:5; margin-top:14px; padding-top:6px;
    border-top:1px solid var(--rule)
  }
  .nav a { padding:12px 0; width:100%; border-bottom:1px solid var(--rule-2); font-size:16px }
  .nav a + a { margin-left:0 }
  .nav a + a::before { display:none }
  .nav a.is-current::after { display:none }
  .nav-toggle { display:inline-block; margin-left:auto }
  .head-aside { margin-left:0 }
}

@media (max-width:860px) {
  .cells { grid-template-columns:repeat(9,minmax(0,1fr)) }
  .form-grid { grid-template-columns:minmax(0,1fr) }
  .cell { height:40px;font-size:13px }
  .defs { grid-template-columns:minmax(0,1fr) }
  .defs > div:nth-last-child(-n+2) { border-bottom:1px solid var(--rule-2) }
  .defs > div:last-child { border-bottom:0 }
  .cards { grid-template-columns:minmax(0,1fr);gap:26px }
  .flow > li { grid-template-columns:minmax(0,1fr);gap:8px;padding-left:22px }
}

@media (max-width:700px) {
  /* таблица тарифов превращается в перечень блоков */
  .doc-table thead { position:absolute;left:-9999px }
  .doc-table caption { padding-bottom:16px }
  .doc-table tbody tr {
    display:block;border:1px solid var(--rule);background:var(--card);
    padding:6px 16px 14px;margin-bottom:16px
  }
  .doc-table tbody tr:hover td { background:transparent }
  .doc-table td {
    display:flex;align-items:baseline;gap:10px;
    border-bottom:1px solid var(--rule-2);padding:11px 0;width:auto
  }
  .doc-table td:last-child { border-bottom:0 }
  .doc-table td::before {
    content:attr(data-label);
    font:500 9.5px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;
    color:var(--muted);white-space:nowrap;min-width:86px
  }
  .doc-table td:first-child { font-size:19px;width:auto }
  .doc-table td:first-child::before { display:none }
  .doc-table td.is-price { font-size:20px }
}

@media (max-width:560px) {
  .wrap { width:calc(100% - 32px) }
  body { font-size:15.5px }
  .band { padding:30px 0 }
  .plate,.form-card,.detail { padding:18px }
  .cta-band { padding:18px }
  .colophon__grid { grid-template-columns:minmax(0,1fr);gap:26px }
  .entry { grid-template-columns:minmax(0,1fr);gap:10px }
  .entry__plan { white-space:normal }
  .cabinet-head__who { text-align:left }
  .facts div { flex-direction:column;gap:2px }
  .cells { grid-template-columns:repeat(6,minmax(0,1fr)) }
  .cell { height:38px }
  .receipt__rows dd { white-space:normal }
}

@media (prefers-reduced-motion:no-preference) {
  html { scroll-behavior:smooth }
}

@media print {
  .site-head,.colophon,.cookie-bar,.nav-toggle,.btn { display:none !important }
  body { background:#fff }
}

/* счётчик ячеек не переносится */
.cells__meta > span:last-child { white-space:nowrap }
