:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#252629;background:#f5f5f3;line-height:1.5;font-size:16px}*{box-sizing:border-box}body{margin:0;display:flex;min-height:100vh}a{color:#574500;text-underline-offset:3px}a:hover{text-decoration-thickness:2px}button,.button{display:inline-block;border:1px solid transparent;border-radius:8px;padding:11px 18px;background:#f2cd4b;color:#252629;text-decoration:none;font:inherit;font-weight:650;cursor:pointer;min-height:46px}button:hover,.button:hover{background:#e7bd35}.secondary{background:white;border-color:#878b94}.danger{color:#9a2525}.sidebar{width:252px;flex-shrink:0;background:#252629;color:#fff;padding:28px 24px;display:flex;flex-direction:column;min-height:100vh;border-right:5px solid #f2cd4b}.brand{display:flex;align-items:center;gap:12px;font-size:23px;font-weight:800;color:white;text-decoration:none}.mark{background:#f2cd4b;color:#252629;padding:6px 9px;border-radius:7px}.brand small{font-size:11px;font-weight:400}.sidebar small,.sidebar-note,.environment{color:#c2c4ca}.environment{font-size:12px;margin:25px 0}.sidebar nav{display:grid;gap:8px}.sidebar nav a{color:white;padding:10px;border-radius:6px;text-decoration:none}.sidebar nav a:hover{background:#424347}.identity{border-top:1px solid #60636b;margin-top:30px;padding-top:22px;overflow-wrap:anywhere}.logout{background:transparent;border-color:#878b94;color:#fff;font-weight:400;margin-top:14px}.logout:hover{color:#252629}.sidebar-note{font-size:12px;margin-top:auto;padding-top:45px}small{display:block}main{max-width:1300px;padding:44px 48px;flex:1;min-width:0}h1{font-size:32px;line-height:1.2;margin:10px 0 14px;overflow-wrap:anywhere}h2{font-size:21px;margin:0 0 16px}.lead{color:#60636b;margin:0 0 28px}.eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#60636b}.panel{background:#fff;border:1px solid #dededb;border-radius:12px;padding:26px;margin-bottom:24px}.narrow{max-width:710px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.page-heading .lead{margin-bottom:0}.field{margin-bottom:22px}.field>label{display:block;font-weight:650;margin-bottom:7px}input:not([type=hidden]):not([type=checkbox]),select,textarea{width:100%;max-width:100%;min-height:46px;border:1px solid #878b94;border-radius:7px;padding:10px 12px;background:#fff;color:#252629;font:inherit}input[type=checkbox]{width:20px;height:20px;margin:5px 9px 5px 0;vertical-align:middle;accent-color:#8a6800}input:disabled{opacity:.6}label:has(input[type=checkbox]){display:block;min-height:40px}.help{color:#60636b;font-size:14px;margin-top:8px}.help ul{padding-left:20px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:20px}.errors{border:2px solid #a83030;border-radius:8px;padding:16px;margin-bottom:24px;background:#fff2f0}.errors a,.errorlist{color:#8e2020}.errorlist{padding-left:20px}.invalid input{border-color:#a83030}.notice{border-left:5px solid #f2cd4b;background:#fff5ce;padding:16px;margin-bottom:24px}.filters{display:grid;grid-template-columns:2fr 1.5fr 1fr 1.5fr;gap:16px}.filters .field{margin:0}.filters .actions{grid-column:1/-1;margin:0}table{width:100%;border-collapse:collapse;text-align:left}td,th{padding:15px 12px;border-bottom:1px solid #e3e3df;vertical-align:top}th{font-size:13px;color:#60636b}td small{color:#60636b;overflow-wrap:anywhere}td a{font-weight:650}.table-scroll{overflow-x:auto}.badge{display:inline-block;border-radius:20px;padding:5px 11px;background:#edf5ee;color:#245632;font-size:13px;white-space:nowrap}.blocked{background:#fff0ed;color:#8e2020}.history{padding-left:24px}.history li{padding:12px 0;border-bottom:1px solid #e3e3df}.history small{color:#60636b}.history p{margin:5px 0;overflow-wrap:anywhere}.station-list{list-style:none;padding:0}.station-list li{padding:12px 0;border-bottom:1px solid #e3e3df}.station-list span{display:block;color:#60636b}.pagination{display:flex;gap:24px;margin-top:22px}.back{display:inline-block;margin-bottom:16px}:focus-visible{outline:3px solid #8a6800;outline-offset:3px}.sidebar :focus-visible{outline-color:#f2cd4b}.skip{position:absolute;left:12px;top:-70px;background:#f2cd4b;padding:12px;z-index:10}.skip:focus{top:12px}
@media(max-width:1000px){main{padding:28px}.filters{grid-template-columns:1fr 1fr}.sidebar{width:218px;padding:24px 18px}}@media(max-width:680px){body{display:block}.sidebar{width:auto;min-height:0;border-right:0;border-bottom:4px solid #f2cd4b;padding:18px}.sidebar nav{display:flex;flex-wrap:wrap;gap:5px}.brand{font-size:20px}.environment{margin:10px 0}.identity{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px;padding-top:12px}.identity small{font-size:12px}.identity form{margin-left:auto}.logout{margin:0;padding:8px 12px}.sidebar-note{display:none}main{padding:24px 16px}h1{font-size:26px}.panel{padding:18px}.page-heading{align-items:flex-start;flex-direction:column;gap:14px}.filters{grid-template-columns:1fr}.actions{gap:14px}td,th{padding:12px 8px}table{min-width:560px}.lead{margin-bottom:22px}}

fieldset{border:1px solid #878b94;border-radius:7px;padding:10px 14px;min-width:0}legend{font-weight:650;padding:0 5px}
.properties{display:grid;grid-template-columns:minmax(140px,1fr) 3fr;gap:12px 24px}.properties dt{color:#60636b}.properties dd{margin:0;overflow-wrap:anywhere}.field>label:has(+input[required])::after,.field>label:has(+textarea[required])::after{content:' *';color:#8e2020}@media(max-width:680px){.properties{grid-template-columns:1fr;gap:4px}.properties dd{margin-bottom:14px}}

.tariff-list { list-style: none; padding: 0; }
.tariff-list li { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr) auto; gap: 1.25rem; align-items: center; padding: 1.2rem 0; border-bottom: 1px solid var(--line, #414141); }
.tariff-list small { display: block; margin-top: .4rem; }
.tariff-price { white-space: normal; overflow-wrap: anywhere; }
@media (max-width: 650px) { .tariff-list li { grid-template-columns: minmax(0, 1fr); gap: .65rem; } .tariff-list a { padding: .5rem 0; } }

/* Госномер и явная отметка рядом; подсказки остаются под госномером. */
.plate-entry { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1rem; align-items:start; }
.plate-entry [data-vehicle-field="no_registration_plate"] { padding-top:1.8rem; }
@media (max-width:480px) { .plate-entry { grid-template-columns:minmax(0,1fr); gap:0; } .plate-entry [data-vehicle-field="no_registration_plate"] { padding-top:0; } }

/* Последовательность оформления: общая карточка связана с автомобилем через Visit. */
.intake-progress { margin: 1.25rem 0; border: 1px solid #dededb; border-radius: 10px; padding: 1rem; }
.intake-steps { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; margin: 0; padding: 0; }
.intake-steps a, .intake-steps span { display: block; padding: .6rem .9rem; border-radius: 6px; }
.intake-steps [aria-current="step"] { background: #f2cd4b; color: #252629; font-weight: 700; }
.intake-customer { margin: .75rem 0 0; overflow-wrap: anywhere; }

/* Каталог S1-10: одинаково ограниченные сервером список и связанные оформления. */
.catalog-filters {display:grid;grid-template-columns:1fr 2fr 1fr 1fr;gap:1rem;align-items:start}
.catalog-filters input,.catalog-filters select {width:100%;min-width:0}
.catalog-list,.catalog-visits {list-style:none;padding:0;margin:1rem 0}
.catalog-list li {display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem 0;border-bottom:1px solid #ddd;overflow-wrap:anywhere}
.catalog-list h2 {font-size:1.1rem;margin:.4rem 0}
.catalog-fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.catalog-fields dt {color:#666;font-size:.9rem}.catalog-fields dd {margin:.3rem 0;white-space:pre-wrap;overflow-wrap:anywhere}
.catalog-visits li {border-top:1px solid #ddd;padding:1rem 0;overflow-wrap:anywhere}
@media(max-width:900px){.catalog-filters {grid-template-columns:1fr 1fr}}
@media(max-width:650px){.catalog-filters,.catalog-fields {grid-template-columns:1fr}.catalog-list li {display:block}}

/* Компактный каталог; оформление клиента/автомобиля не затрагивается. */
.catalog-shell {max-width:1120px;margin:0 auto}
.catalog-shell .page-head p {margin:.5rem 0}
.catalog-shell .catalog-filters {grid-template-columns:minmax(0,2.5fr) minmax(0,1fr) minmax(0,1fr);gap:.75rem}
.catalog-shell .field {margin-bottom:.5rem}
.catalog-shell .catalog-list {margin:.5rem 0}
.catalog-shell .catalog-list li {display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;gap:1rem;padding:.8rem 0;align-items:center}
.catalog-shell .catalog-person h2 {margin:.25rem 0;font-size:1.05rem}
.catalog-shell small,.catalog-cars span {display:block;color:#656565;font-size:.85rem;margin-top:.2rem;overflow-wrap:anywhere}
.catalog-cars div+div {margin-top:.5rem}
.catalog-count {margin:.5rem 0}
#catalog-error {color:#a12d2d}
.visually-hidden {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:720px){.catalog-shell .catalog-filters {grid-template-columns:1fr}.catalog-shell .catalog-list li {grid-template-columns:1fr;gap:.5rem}.catalog-shell .catalog-open {justify-self:start}.catalog-shell .panel {padding:1rem}}

.catalog-shell [hidden] { display: none !important; }

.visit-id {overflow-wrap:anywhere;font-size:0.85em}
.intake-steps {flex-wrap:wrap}

/* Безопасная сводка резервирования; цвет дополняет текст. */
.backup-state{display:inline-block;padding:.5rem .8rem;border-radius:.5rem;font-weight:700}
.backup-ok{background:#e3f5e9;color:#175b35}.backup-warning{background:#fff0cc;color:#694300}
.backup-grid{display:grid;grid-template-columns:minmax(11rem,1fr) 2fr;gap:.7rem 1rem}.backup-grid dd{margin:0;overflow-wrap:anywhere}.backup-grid dt{font-weight:600}.backup-test{margin-top:1rem}
@media(max-width:650px){.backup-grid{grid-template-columns:1fr;gap:.3rem}.backup-grid dd{margin-bottom:.7rem}}

/* Все пункты меню остаются внутри панели, включая раскрытые группы. */
.sidebar nav,.sidebar nav details{min-width:0;width:100%}.sidebar nav a{display:block;overflow-wrap:anywhere;white-space:normal;min-width:0;max-width:100%}.sidebar nav summary{padding:10px;border-radius:6px}.sidebar nav details a{padding-left:20px}.sidebar nav details[open]{padding-bottom:8px}[data-employee-form] [hidden]{display:none!important}[data-staff-options] summary{margin-bottom:16px}@media(max-width:680px){.sidebar nav{display:grid;grid-template-columns:minmax(0,1fr)}}
