:root { --btn:#c9431d; --hero-text:#2f3742; --bg:#f6f7f9; --card:#fff; --ink:#1d232b; --muted:#6b7480; --accent:#c9431d; --line:#e3e6ea; --head-bg:#1d232b; --head-ink:#fff; --th-bg:#fafbfc; --row-alt:#fcfcfd; --tag-bg:#eef1f4; --warn-bg:#fff4e5; --warn-line:#ffd59a; --hover:#f2f4f6; --input-bg:#fff; --shadow:rgba(0,0,0,.08); --carbon:url("/static/carbon-light.jpg"); color-scheme:light; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --hero-text:#b4bcc6; --bg:#121519; --card:#1b1f25; --ink:#e6e9ed; --muted:#9aa3ad; --accent:#f06a43; --line:#2c323a; --head-bg:#0c0e11; --head-ink:#e6e9ed; --th-bg:#20252c; --row-alt:#1e2228; --tag-bg:#2a3038; --warn-bg:#3a2a14; --warn-line:#6b4a1c; --hover:#262c34; --input-bg:#14171c; --shadow:rgba(0,0,0,.45); --carbon:url("/static/carbon-dark.jpg"); color-scheme:dark; } }
:root[data-theme="dark"] { --hero-text:#b4bcc6; --bg:#121519; --card:#1b1f25; --ink:#e6e9ed; --muted:#9aa3ad; --accent:#f06a43; --line:#2c323a; --head-bg:#0c0e11; --head-ink:#e6e9ed; --th-bg:#20252c; --row-alt:#1e2228; --tag-bg:#2a3038; --warn-bg:#3a2a14; --warn-line:#6b4a1c; --hover:#262c34; --input-bg:#14171c; --shadow:rgba(0,0,0,.45); --carbon:url("/static/carbon-dark.jpg"); color-scheme:dark; }
* { box-sizing: border-box; }
body { margin:0; font:16px/1.45 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; background:var(--bg); color:var(--ink); }
a { color:var(--accent); }
.wrap { max-width:1320px; margin:0 auto; padding:0 16px; }
.top { background:var(--head-bg); color:var(--head-ink); }
.top-row { display:flex; gap:16px; align-items:center; padding:12px 16px; flex-wrap:wrap; }
.logo { color:var(--head-ink); font-weight:700; text-decoration:none; font-size:18px; }
.cart-link { color:var(--head-ink); text-decoration:none; }
.account-link { color:var(--head-ink); text-decoration:none; }
.search-mini + .cart-link, .logo + .cart-link, .logo + .theme-btn { margin-left:auto; }
.search-mini { display:flex; gap:6px; flex:1; min-width:220px; max-width:420px; }
.search-mini input, .search-big input { flex:1; padding:8px 10px; border:1px solid var(--line); border-radius:6px; font-size:15px; min-width:0; }
button, .btn { background:var(--btn, var(--accent)); color:#fff; border:0; border-radius:6px; padding:8px 14px; font-size:15px; cursor:pointer; text-decoration:none; display:inline-block; }
.hero { text-align:center; padding:56px 0; }
.hero h1 { font-size:32px; margin:0 0 8px; }
.hero p { color:var(--muted); }
.search-big { display:flex; gap:8px; max-width:560px; margin:24px auto 0; }
.search-big input { padding:12px 14px; font-size:17px; }
.search-big button { padding:12px 20px; font-size:17px; }
.table-scroll { overflow-x:auto; background:var(--card); border:1px solid var(--line); border-radius:8px; }
table.offers { width:100%; border-collapse:collapse; }
.offers th, .offers td { padding:10px; border-bottom:1px solid var(--line); text-align:left; vertical-align:middle; }
.offers th { background:var(--th-bg); font-size:13px; color:var(--muted); font-weight:600; }
.offers tr.analog td { background:var(--row-alt); }
.price { white-space:nowrap; font-weight:600; }
.tag { background:var(--tag-bg); color:var(--muted); font-size:12px; padding:1px 6px; border-radius:4px; }
form.add { display:flex; gap:6px; }
form.add input { width:64px; padding:6px; border:1px solid var(--line); border-radius:6px; }
.total { font-size:18px; margin:16px 0; }
.warn { max-width:480px; background:var(--warn-bg); border:1px solid var(--warn-line); padding:8px 12px; border-radius:6px; }
.form { display:flex; flex-direction:column; gap:12px; max-width:480px; }
.form.row { flex-direction:row; flex-wrap:wrap; align-items:flex-end; max-width:none; }
.form label { display:flex; flex-direction:column; gap:4px; font-size:14px; color:var(--muted); }
.form label.inline { flex-direction:row; align-items:center; gap:6px; color:var(--ink); }
.form input, .form textarea, .form select { padding:8px 10px; border:1px solid var(--line); border-radius:6px; font-size:15px; font-family:inherit; }
fieldset { border:1px solid var(--line); border-radius:6px; display:flex; gap:16px; }
.demo-pay { background:var(--card); border:1px dashed var(--accent); border-radius:8px; padding:16px; max-width:480px; }
.admin-nav { margin:16px 0; display:flex; gap:8px; flex-wrap:wrap; }
.admin-nav a { padding:8px 14px; border:1px solid var(--line); border-radius:6px; background:var(--card); color:var(--ink); text-decoration:none; }
.admin-nav a.active { background:var(--accent); border-color:var(--accent); color:#fff; }
.filters { margin-bottom:12px; }
.foot { color:var(--muted); font-size:13px; padding:32px 16px; }
h1 { font-size:24px; }
@media (max-width:600px) { .hero h1 { font-size:24px; } .cart-link { margin-left:0; } }
[hidden] { display:none !important; }
.resend { margin-top:12px; display:flex; gap:8px; align-items:center; }
.link-btn { background:none; color:var(--accent); padding:0; text-decoration:underline; }
.link-btn:disabled { color:var(--muted); text-decoration:none; cursor:default; }
fieldset.address { flex-direction:column; gap:10px; }
.row2 { display:flex; gap:10px; }
.row2 label { flex:1; }
.suggest { position:relative; }
.suggest-list { position:absolute; top:100%; left:0; right:0; z-index:10; margin:2px 0 0; padding:0; list-style:none; background:var(--card); border:1px solid var(--line); border-radius:6px; box-shadow:0 6px 18px var(--shadow); max-height:240px; overflow-y:auto; overscroll-behavior:contain; }
.suggest-list li { padding:8px 10px; cursor:pointer; color:var(--ink); }
.suggest-list li.active { background:var(--hover); }
input, textarea, select { background:var(--input-bg); color:var(--ink); border-color:var(--line); }
.top input { border-color:transparent; }
.theme-btn { background:none; border:1px solid rgba(255,255,255,.25); color:var(--head-ink); padding:6px 10px; font-size:15px; }
.stats { display:flex; gap:12px; flex-wrap:wrap; margin:16px 0; }
.stats > div { background:var(--card); border:1px solid var(--line); border-radius:8px; padding:12px 16px; min-width:150px; display:flex; flex-direction:column; }
.stats b { font-size:20px; }
.stats small { color:var(--muted); }
.order-card { margin-bottom:20px; }
details.contact { background:var(--card); border:1px solid var(--line); border-radius:8px; padding:12px 16px; margin-bottom:12px; }
details.contact summary { cursor:pointer; }
details.contact[open] summary { margin-bottom:12px; }
.muted { color:var(--muted); font-size:14px; }
.inline-form { margin:0 0 12px; }
.btn-secondary { background:none; border:1px solid var(--line); color:var(--ink); }
.logo { display:flex; flex-direction:column; align-items:center; text-align:center; line-height:1.15; }
.logo-sub { font-size:12px; font-weight:600; color:var(--accent); text-transform:uppercase; letter-spacing:.08em; }
.subtabs { display:flex; gap:0; margin:8px 0 16px; border-bottom:1px solid var(--line); }
.subtab { background:none; color:var(--muted); border-radius:0; border-bottom:2px solid transparent; padding:10px 16px; }
.subtab.active { color:var(--ink); border-bottom-color:var(--accent); font-weight:600; }
.supplier-card { background:var(--card); border:1px solid var(--line); border-radius:8px; padding:12px 16px; margin-bottom:12px; }
.supplier-card h3 { margin:4px 0 12px; display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
details.sup-fold { padding:8px 14px; margin-bottom:8px; }
details.sup-fold > summary { list-style:none; cursor:pointer; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
details.sup-fold > summary::-webkit-details-marker { display:none; }
details.sup-fold > summary .sup-btn::after { content:" ▾"; }
details.sup-fold[open] > summary .sup-btn::after { content:" ▴"; }
details.sup-fold[open] > summary { margin-bottom:10px; }
details.sup-fold.dragging { opacity:.45; }
.badge { font-size:12px; font-weight:600; padding:2px 8px; border-radius:10px; }
.badge.on { background:#1f7a3f; color:#fff; }
.badge.wait { background:var(--warn-bg); color:var(--ink); border:1px solid var(--warn-line); }
.badge.off { background:var(--tag-bg); color:var(--muted); }
.ok { color:#2e9d57; font-weight:600; }
.icon-btn { background:none; border:1px solid var(--line); color:var(--muted); padding:2px 8px; font-size:14px; line-height:1.4; }
.icon-btn:hover { color:var(--ink); border-color:var(--muted); }
.rename-form { display:inline-flex; gap:6px; align-items:center; }
.rename-form input { padding:4px 8px; border:1px solid var(--line); border-radius:6px; font-size:16px; font-weight:600; }
.del-form { margin-left:auto; }
.add-btn { width:100%; background:none; border:2px dashed var(--line); color:var(--muted); padding:14px; font-size:16px; border-radius:8px; }
.add-btn:hover { border-color:var(--accent); color:var(--accent); }
.add-card { align-items:flex-end; }
.with-toast { display:flex; align-items:center; gap:14px; }
/* ПРАВИЛО (расширено 01.11.2026): ЛЮБОЕ зелёное оповещение об успехе («✓ Сохранено», «запущен», «выдан», «отправлено»…)
   — class="toast": всплывает и плавно гаснет. Длинное сообщение — ещё и toast-long (видно ~8 с). Ошибки и предупреждения
   (err, warn) остаются на месте, пока их не прочитали. Статусы в таблицах (✓/✕ в строках) — не оповещения, их не трогаем. */
.toast { font-size:15px; font-weight:600; color:#2e9d57; animation:toast 4s ease forwards; }
.toast-long { animation-duration:8s; }
.toast-check { color:#2e9d57; font-size:20px; font-weight:700; animation:toast 4s ease forwards; }
@keyframes toast { 0% { opacity:0; transform:translateY(-4px); } 10% { opacity:1; transform:none; } 75% { opacity:1; } 100% { opacity:0; visibility:hidden; } }
.secret { position:relative; display:flex; }
.secret input { flex:1; padding-right:36px; }
.eye { position:absolute; right:4px; top:50%; transform:translateY(-50%); background:none; padding:2px 6px; font-size:15px; color:var(--muted); }
.check-form { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-top:12px; }
.btn-secondary:disabled { opacity:.5; cursor:default; }
.err { color:#d9534f; font-weight:600; }
.log td { font-size:14px; }
.log tr.log-err td { color:#d9534f; }
button.added { background:#2e9d57; }
.cart-toast { position:fixed; right:16px; bottom:16px; z-index:50; background:var(--card); color:var(--ink); border:1px solid var(--line); border-left:4px solid #2e9d57; border-radius:8px; padding:12px 16px; box-shadow:0 6px 18px var(--shadow); max-width:calc(100% - 32px); }
a.art { color:inherit; text-decoration:underline dotted; text-underline-offset:3px; }
a.art:hover { color:var(--accent); text-decoration-style:solid; }
.log-filters { margin-bottom:12px; }
.link-reset { align-self:center; }
.subtabs.small { margin:4px 0 12px; }
.subtab2 { background:none; color:var(--muted); border-radius:0; border-bottom:2px solid transparent; padding:6px 12px; font-size:14px; }
.subtab2.active { color:var(--ink); border-bottom-color:var(--accent); font-weight:600; }
.stats-cols { display:grid; grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)); gap:16px; margin-top:8px; }
.stats-cols table { background:var(--card); border:1px solid var(--line); border-radius:8px; }
.account-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.pay-btn { padding:4px 12px; font-size:14px; margin-left:8px; }
.auth-tabs { margin-bottom:16px; }
.auth-tabs a.subtab { text-decoration:none; display:inline-block; }

/* Фон «карбон» — картинка со складками (генерируется tools/make_carbon.py) */
body { background:var(--bg) var(--carbon) center / cover no-repeat fixed; }
main.wrap { position:relative; }

/* 🌸 Секретная тема «Фуксия» — включается в профиле личного кабинета */
:root[data-theme="fuchsia"] { --btn:var(--accent); --hero-text:#f0c4e6; --bg:#1a0618; --card:#2a0b27; --ink:#ffe6fa; --muted:#d79ccc; --accent:#ff2bd1; --line:#4a1745; --head-bg:#12030f; --head-ink:#ffe6fa; --th-bg:#33102f; --row-alt:#2e0d2a; --tag-bg:#4a1745; --warn-bg:#3d0f2f; --warn-line:#8a2a6e; --hover:#3a1236; --input-bg:#1f071c; --shadow:rgba(0,0,0,.5); --carbon:url("/static/carbon-fuchsia.jpg"); color-scheme:dark; }
:root[data-theme="cyan"] { --btn:var(--accent); --hero-text:#b7e3f2; --bg:#04131c; --card:#0a2230; --ink:#e3f8ff; --muted:#8fc6dc; --accent:#00c2ff; --line:#174a60; --head-bg:#020b11; --head-ink:#e3f8ff; --th-bg:#0d2b3b; --row-alt:#0b2635; --tag-bg:#174a60; --warn-bg:#0f2f3d; --warn-line:#2a7a96; --hover:#123546; --input-bg:#06171f; --shadow:rgba(0,0,0,.5); --carbon:url("/static/carbon-cyan.jpg"); color-scheme:dark; }
.theme-btn.secret { text-decoration:none; display:inline-block; }
fieldset.theme-pick { flex-direction:column; gap:8px; }
.secret-tag { font-weight:600; }
.impersonate-bar { background:#b8860b; color:#fff; display:flex; gap:12px; align-items:center; justify-content:center; flex-wrap:wrap; padding:8px 16px; font-weight:600; }
.impersonate-bar .btn { background:#fff; color:#7a5600; padding:4px 12px; }
/* Названия альтернативных тем — каждое своим цветом */
.secret-tag.t-fuchsia { color:#ff2bd1; }
.secret-tag.t-cyan { color:#00c2ff; }
label.locked { opacity:.5; cursor:not-allowed; }
.theme-form { margin-top:16px; }
/* Круглые переключатели оформления в одном стиле: кружок пополам, при нажатии прокручивается.
   светлая/тёмная — белый/чёрный; альтернативная — фуксия/голубой. Смена темы = поворот на полкруга */
.round-toggle { width:36px; height:32px; padding:0; display:inline-flex; align-items:center; justify-content:center; }
.round-toggle span { width:18px; height:18px; border-radius:50%; display:block; transition:transform .45s cubic-bezier(.5,-0.3,.4,1.4); }
.mode-toggle span { background:linear-gradient(135deg, #f5f5f5 0 50%, #1a1a1a 50% 100%);
  box-shadow:0 0 0 1px rgba(255,255,255,.55), 0 0 8px rgba(255,255,255,.25); }
:root[data-theme="dark"] .mode-toggle span { transform:rotate(180deg); }
@media (prefers-color-scheme: dark) { :root:not([data-theme]) .mode-toggle span { transform:rotate(180deg); } }
.alt-toggle span { background:linear-gradient(135deg, #ff2bd1 0 50%, #00c2ff 50% 100%);
  box-shadow:0 0 8px rgba(255,43,209,.55), 0 0 8px rgba(0,194,255,.45); }
:root[data-theme="cyan"] .alt-toggle span { transform:rotate(180deg); }
.theme-btn.mini { display:inline-flex; vertical-align:middle; border:1px solid var(--line); border-radius:6px; }
.theme-btn.round-toggle.mini { width:26px; height:22px; padding:0; }
.theme-btn.round-toggle.mini span { width:13px; height:13px; }
.client-id { font-family:ui-monospace, "SFMono-Regular", Menlo, monospace; font-size:13px; font-weight:600; background:var(--tag-bg); color:var(--ink); padding:1px 6px; border-radius:4px; letter-spacing:.05em; }
.client-id.big { font-size:16px; vertical-align:middle; }
.client-search { margin-bottom:8px; }
.small-btn { padding:4px 10px; font-size:13px; white-space:nowrap; }
.audit { font-size:14px; }
.id-form { margin:2px 0; }
.id-btn { cursor:pointer; border:1px solid transparent; }
.id-btn:hover { background:var(--accent); color:#fff; border-color:var(--accent); }
.cart-table th.sel, .cart-table td.sel { width:36px; text-align:center; }
.cart-table input[type=checkbox] { width:17px; height:17px; accent-color:var(--accent); cursor:pointer; }
.cart-table tr.unselected td:not(.sel) { opacity:.45; }
.btn.disabled { opacity:.45; pointer-events:none; }
.wide-form { max-width:640px; }
fieldset.return-items { flex-direction:column; gap:8px; }
.return-item { display:flex !important; flex-direction:row !important; justify-content:space-between; gap:12px; align-items:center; color:var(--ink) !important; }
.return-item input { width:70px; }
.file-list { list-style:none; padding:0; margin:0; font-size:14px; }
.thumbs { display:flex; flex-wrap:wrap; gap:10px; }
.thumbs img { width:140px; height:140px; object-fit:cover; border-radius:8px; border:1px solid var(--line); }
.file-chip { display:inline-block; padding:8px 12px; border:1px solid var(--line); border-radius:8px; background:var(--card); }
.pre { white-space:pre-wrap; }
.head-id { font-size:14px; background:rgba(255,255,255,.12); color:var(--head-ink); }
.account-link:hover .head-id { background:var(--accent); color:#fff; }
.account-nav a.subtab { text-decoration:none; display:inline-block; }
/* Окно профиля поверх страницы */
dialog.modal { width:min(560px, calc(100% - 24px)); max-height:calc(100vh - 40px); padding:0; border:1px solid var(--line); border-radius:12px;
  background:var(--card); color:var(--ink); box-shadow:0 20px 60px rgba(0,0,0,.5); }
dialog.modal::backdrop { background:rgba(0,0,0,.55); backdrop-filter:blur(2px); }
.modal-head { position:sticky; top:0; z-index:2; display:flex; align-items:center; gap:10px; padding:14px 18px; background:var(--card); border-bottom:1px solid var(--line); }
.modal-close { margin-left:auto; background:none; color:var(--muted); font-size:18px; padding:2px 8px; }
.modal-close:hover { color:var(--ink); }
.modal-body { padding:16px 18px 20px; overflow:auto; }
.modal-body .form { max-width:none; }
.profile-tabs { margin:4px 0 14px; }
.ptab-panel { display:flex; flex-direction:column; gap:12px; }
.ptab-panel[hidden] { display:none; }
.addr-row { display:flex; gap:8px; align-items:center; padding:10px 12px; border:1px solid var(--line); border-radius:8px; }
.addr-row.is-default { border-color:var(--accent); }
.addr-row .addr-text { flex:1; min-width:0; }
.addr-row form { margin:0; }
.addr-add summary { list-style:none; cursor:pointer; text-align:center; }
.addr-add summary::-webkit-details-marker { display:none; }
.addr-add[open] summary { margin-bottom:12px; }
.addr-choice { display:flex; flex-direction:column; gap:8px; }
.addr-option { padding:8px 10px; border:1px solid var(--line); border-radius:8px; }
.profile-card h3 { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.addr-list { margin:6px 0 0; padding-left:18px; }
.addr-row[data-edit-addr] { cursor:pointer; }
.addr-row[data-edit-addr]:hover { background:var(--hover); }
.addr-row.editing { border-style:dashed; }
.addr-edit { padding:12px; border:1px dashed var(--line); border-radius:8px; margin-top:-4px; }
button.theme-btn.mini { cursor:pointer; background:var(--card); }
button.theme-btn.mini:hover { border-color:var(--accent); }
.shake { animation:shake .4s; }
@keyframes shake { 20%,60% { transform:translateX(-4px); } 40%,80% { transform:translateX(4px); } }
/* Варианты оформления: вместо радиокнопок — сами кружки-переключатели */
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); border:0; }
.theme-opt { gap:10px !important; padding:8px 10px; border:1px solid transparent; border-radius:8px; cursor:pointer; }
.theme-opt.active { border-color:var(--accent); background:var(--hover); }
.theme-opt.active > span { font-weight:600; }
.theme-opt .theme-btn.round-toggle.mini { width:34px; height:30px; flex:none; }
.theme-opt .theme-btn.round-toggle.mini span { width:18px; height:18px; }
.theme-opt input:focus-visible + button { outline:2px solid var(--accent); }
.home-user { padding:32px 0; }
.home-user h1 { font-size:28px; margin-bottom:6px; }
.bar-cell { width:30%; }
.bar { display:block; height:10px; border-radius:5px; background:var(--accent); opacity:.8; min-width:2px; }
.logo-tag { font-size:11px; font-weight:500; color:var(--muted); letter-spacing:.02em; }
.hero h1 { max-width:760px; margin-left:auto; margin-right:auto; }
.hero p { max-width:620px; margin-left:auto; margin-right:auto; }
.perks { display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:14px; margin:8px 0 28px; }
.perk { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:16px 18px; }
.perk b { font-size:17px; }
.perk p { margin:8px 0 0; color:var(--muted); font-size:15px; }
.steps { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:16px 22px; margin-bottom:24px; }
.steps h2 { margin:0 0 8px; font-size:20px; }
.steps ol { margin:0; padding-left:20px; display:grid; gap:6px; }
.staff-card { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:14px 18px; margin:16px 0; }
.staff-card summary { cursor:pointer; }
.staff-form { margin-top:12px; max-width:640px; }
.perm-grid { border:1px solid var(--line); border-radius:8px; padding:10px 14px; display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:10px; }
.perm-grid legend { color:var(--muted); font-size:14px; padding:0 4px; }
.perm-grid label.inline { align-items:flex-start; }
.perm-grid input { margin-top:3px; }
.row-btns { display:flex; gap:8px; align-items:center; }
.admin-who { margin-left:auto; display:flex; gap:8px; align-items:center; color:var(--muted); font-size:14px; }
.admin-who form { margin:0; }
.admin-who button { padding:6px 12px; }
tr.muted td { opacity:.6; }
.export-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:12px; margin:18px 0; }
.export-card { display:flex; flex-direction:column; gap:6px; padding:14px 16px; background:var(--card); border:1px solid var(--line); border-radius:10px; color:var(--ink); text-decoration:none; }
.export-card:hover { border-color:var(--accent); }
.export-card small { color:var(--muted); }
.export-card.wide { grid-column:1 / -1; border-color:var(--accent); }
.export-card.rec { border-color:color-mix(in srgb, var(--accent) 55%, var(--line)); }
.rec-star { color:var(--accent); }
.modal-logout { margin:0 0 0 auto; }
.modal-logout button { padding:5px 12px; font-size:14px; }
.modal-logout + .modal-close { margin-left:0; }

/* Склад и документы */
.stock-tabs a.subtab { text-decoration:none; display:inline-block; }
.doc-new { display:flex; flex-wrap:wrap; gap:8px; margin:8px 0 14px; }
.doc-new form, .doc-actions form { display:inline; margin:0; }
.doc-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:16px 0 8px; }
.doc-head { display:flex; flex-wrap:wrap; gap:12px; align-items:flex-start; }
.doc-head label { flex:1 1 220px; }
.doc-lines input.num, .add-line input.num { width:100px; }
.doc-lines .btn-secondary.icon { padding:2px 8px; }
.total-row td { background:var(--tag-bg); }
.add-line { display:flex; flex-wrap:wrap; gap:8px; align-items:flex-end; }
.add-line label { flex:1 1 140px; }
td.plus { color:#2e9d57; font-weight:600; }
td.minus { color:#d9534f; font-weight:600; }
tr.low-row td { background:var(--warn-bg); }
fieldset.plain { border:none; padding:0; margin:0; min-width:0; flex-direction:column; gap:12px; }
#doc-form { max-width:none; }
#doc-form .doc-head, #doc-form > fieldset > label { max-width:900px; }
.grid2 { display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:0 16px; }
.help h2 { margin-top:28px; }
.help ol li, .help ul li { margin:4px 0; }
.help .tip { background:var(--card); border-left:3px solid var(--accent); padding:8px 12px; border-radius:4px; }
.side-layout, .help-layout { display:grid; grid-template-columns:280px minmax(0, 1fr); gap:20px; align-items:start; margin-top:12px; }
.side-nav, .help-toc { display:flex; flex-direction:column; gap:2px; position:sticky; top:12px; background:var(--card); border:1px solid var(--line); border-radius:10px; padding:8px; }
.side-nav > button, .side-nav > a, .help-toc button { display:flex; align-items:center; gap:10px; background:none; border:none; color:var(--ink); font-size:15px; padding:8px 10px; text-align:left; cursor:pointer; border-radius:8px; }
.side-nav .ico, .help-toc button .ico { flex:none; color:var(--accent); }
.side-nav > button:hover, .side-nav > a:hover, .help-toc button:hover { background:var(--hover); }
.side-nav > .active, .help-toc button.active { background:var(--accent); color:#fff; font-weight:600; }
.side-nav > .active .ico, .help-toc button.active .ico { color:#fff; }
.help-sec { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:4px 20px 16px; }
.help-sec h2 { display:flex; align-items:center; gap:10px; }
.help-sec h2 .ico { width:24px; height:24px; color:var(--accent); }
.help-empty { padding:24px 4px; }
@media (max-width: 760px) { .side-layout, .help-layout { grid-template-columns:1fr; } .side-nav, .help-toc { position:static; } }
.side-nav > a, .side-nav > .side-link { text-decoration:none; color:var(--ink); }
.side-nav > .side-link { display:flex; align-items:center; gap:10px; padding:8px 10px; border-radius:8px; font-size:15px; }
.settings-layout .tab-panel { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:4px 20px 16px; }
.settings-layout .tab-panel > h3:first-child { margin-top:12px; }
.side-nav > .subtab { border-bottom:none; }
.side-body { min-width:0; }
.side-body > section > h2:first-child, .side-body > section > h3:first-child { margin-top:4px; }
.side-sec-title { display:flex; align-items:center; gap:10px; margin-top:4px; }
.side-sec-title .ico { width:24px; height:24px; color:var(--accent); }

/* Верхняя панель, поиск с режимом, главная по образцу */
.topbar { background:var(--head-bg); color:var(--head-ink); font-size:13px; border-bottom:1px solid rgba(255,255,255,.08); }
.topbar-row { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:6px 0; flex-wrap:wrap; }
.topbar nav { display:flex; gap:16px; flex-wrap:wrap; }
.topbar a { color:var(--head-ink); opacity:.8; text-decoration:none; }
.topbar a:hover { opacity:1; text-decoration:underline; }
.search-mini .search-mode { padding:6px 8px; border:1px solid var(--line); border-radius:6px; background:var(--input-bg); color:var(--ink); }
.hero-split { display:grid; grid-template-columns:minmax(0, 1.6fr) minmax(260px, 1fr); gap:24px; align-items:center; text-align:left; }
.hero-main .search-big, .vin-form { margin:16px 0 0; display:flex; flex-direction:column; align-items:stretch; max-width:none; }
.hero-split .hero-main p { margin-left:0; padding-left:0; }
.search-modes { display:flex; gap:16px; margin-bottom:8px; }
.search-modes label { display:flex; gap:6px; align-items:center; cursor:pointer; font-weight:600; }
.search-big-row { display:flex; gap:8px; }
.search-big-row input { flex:1; min-width:0; }
.car-picker { display:flex; flex-direction:column; gap:10px; background:var(--card); border:1px solid var(--line); border-radius:12px; padding:18px; box-shadow:0 6px 24px var(--shadow); }
.car-picker-title { font-size:17px; }
.car-picker select { padding:10px; border:1px solid var(--line); border-radius:8px; background:var(--input-bg); color:var(--ink); font-size:15px; }
.car-picker small { color:var(--muted); }
.perks-4 { grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); }
.stock-block { margin:28px 0; }
.stock-cards { display:grid; grid-template-columns:repeat(auto-fill, minmax(190px, 1fr)); gap:12px; }
.stock-card { display:flex; flex-direction:column; gap:6px; background:var(--card); border:1px solid var(--line); border-radius:10px; padding:14px; }
.stock-card b { flex:1; }
.stock-buy { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.stock-buy .price { font-weight:700; font-size:18px; }
.stock-tag { background:#1f7a3f; color:#fff; }
.about { margin:28px 0; max-width:820px; }
.home-user-pick { max-width:420px; margin-top:24px; }  /* без колонок (узкий экран) */
.car-page { display:grid; grid-template-columns:minmax(240px, 340px) minmax(0, 1fr); gap:24px; align-items:start; }
.vin-form { max-width:640px; margin:0 0 16px; }
.vin-card { display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); gap:12px; background:var(--card); border:1px solid var(--line); border-radius:10px; padding:16px; margin:12px 0; }
.vin-card div { display:flex; flex-direction:column; gap:2px; }
.mono { font-family:ui-monospace, Consolas, monospace; letter-spacing:.5px; }
.request-form { max-width:720px; }
.part-groups { display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:6px 16px; }
.part-groups legend { font-weight:600; color:var(--ink); }
.request-ok { background:var(--card); border:1px solid #2e9d57; border-radius:10px; padding:14px 16px; margin:12px 0; }
.hp { position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }
.narrow { max-width:520px; }
.pre { white-space:pre-line; }
.answer { background:var(--tag-bg); border-radius:8px; padding:8px 12px; margin-top:8px; }
.nav-badge { background:var(--accent); color:#fff; border-radius:10px; padding:0 7px; font-size:12px; font-weight:700; }
tr.new-row td { font-weight:600; }
@media (max-width: 760px) {
  .hero-split, .car-page { grid-template-columns:1fr; }
  .topbar-row > span { display:none; }
  .topbar-row { justify-content:center; }
  .topbar nav { gap:4px 12px; justify-content:center; font-size:12px; }
  .search-mini .search-mode { display:none; }
}

/* Код выдачи */
.pickup-code { display:flex; gap:20px; align-items:center; flex-wrap:wrap; background:var(--card); border:2px dashed var(--accent); border-radius:12px; padding:16px 20px; margin:16px 0; max-width:620px; }
.pickup-code > div:first-child { display:flex; flex-direction:column; gap:6px; flex:1 1 240px; }
.pickup-code .code { font-size:36px; letter-spacing:4px; font-family:ui-monospace, Consolas, monospace; }
.pickup-code .qr svg { display:block; background:#fff; border-radius:6px; }
.issue-form input.code-input { font-size:28px; letter-spacing:6px; width:220px; text-align:center; font-family:ui-monospace, Consolas, monospace; }
.issue-card { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:16px; margin:12px 0; max-width:820px; }
.search-hint { color:var(--muted); font-size:13px; margin-bottom:6px; }
#tab-delivery .form { max-width:none; }
#tab-delivery .form .grid2 { max-width:900px; }
.stock-sec { padding:12px 20px 16px; }
.orders-filter label:first-child { flex:1 1 320px; }
.orders-scroll { max-height:65vh; overflow:auto; }
.orders-scroll thead th { position:sticky; top:0; z-index:1; background:var(--th-bg); }

/* Выключатели функций сайта */
.feature-list { display:flex; flex-direction:column; gap:8px; margin:12px 0; }
.feature-inline { flex-direction:row; flex-wrap:wrap; gap:8px 16px; margin:4px 0 14px; }
.feature-switch { display:flex; align-items:center; gap:12px; padding:10px 12px; background:var(--card); border:1px solid var(--line); border-radius:10px; cursor:pointer; }
.feature-inline .feature-switch { padding:6px 12px; }
.feature-switch input { position:absolute; opacity:0; width:0; height:0; }
.feature-switch .sw { flex:none; width:42px; height:24px; border-radius:12px; background:var(--line); position:relative; transition:background .2s; }
.feature-switch .sw::after { content:""; position:absolute; top:3px; left:3px; width:18px; height:18px; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.3); transition:left .2s; }
.feature-switch input:checked + .sw { background:#2e9d57; }
.feature-switch input:checked + .sw::after { left:21px; }
.feature-switch input:focus-visible + .sw { outline:2px solid var(--accent); outline-offset:2px; }
.feature-text { display:flex; flex-direction:column; gap:2px; flex:1; }
.feature-inline .feature-text { flex:none; }
.feature-state { font-size:13px; color:var(--muted); white-space:nowrap; }

/* Главная без блока подбора по авто (функция выключена): строка поиска на всю ширину, по центру */
.hero:not(.hero-split) .hero-main { max-width:820px; margin:0 auto; }
.hero:not(.hero-split) .search-big-row input { font-size:18px; padding:14px 16px; }

/* Фото товаров */
.stock-img { aspect-ratio:1; border-radius:8px; overflow:hidden; background:var(--tag-bg); display:flex; align-items:center; justify-content:center; margin-bottom:4px; }
.stock-img img { width:100%; height:100%; object-fit:cover; }
.stock-img span { font-size:48px; opacity:.4; }
.product-photo { display:flex; gap:16px; align-items:center; flex-wrap:wrap; margin:8px 0 16px; }
.product-photo img, .product-photo .photo-empty { width:160px; height:160px; object-fit:cover; border-radius:10px; border:1px solid var(--line); background:var(--tag-bg); }
.product-photo .photo-empty { display:flex; align-items:center; justify-content:center; color:var(--muted); }
.photo-form { display:flex; flex-direction:column; gap:6px; }
.photo-form label.btn { cursor:pointer; }
.art-thumb { display:inline-flex; align-items:center; gap:8px; }
.art-thumb img { width:36px; height:36px; object-fit:cover; border-radius:6px; }
.search-thumb { width:40px; height:40px; object-fit:cover; border-radius:6px; vertical-align:middle; margin-right:8px; }

/* Карусель «В наличии»: лента плавно едет сама */
.stock-carousel { position:relative; }
.stock-track { display:grid; grid-auto-flow:column; grid-auto-columns:200px; grid-template-columns:none; overflow-x:auto; scrollbar-width:none; gap:12px; padding:4px 2px 8px; }
.stock-track::-webkit-scrollbar { display:none; }
.car-arrow { position:absolute; top:40%; z-index:2; width:40px; height:40px; border-radius:50%; border:1px solid var(--line); background:var(--card); color:var(--ink); font-size:26px; line-height:1; cursor:pointer; box-shadow:0 2px 8px var(--shadow); display:flex; align-items:center; justify-content:center; padding:0 0 4px; }
.car-arrow.prev { left:-14px; }
.car-arrow.next { right:-14px; }
.car-arrow:hover { border-color:var(--accent); color:var(--accent); }
@media (max-width: 760px) { .car-arrow { display:none; } .stock-track { grid-auto-columns:160px; } }
.stock-track { -webkit-mask-image:linear-gradient(to right, transparent, #000 32px, #000 calc(100% - 32px), transparent); mask-image:linear-gradient(to right, transparent, #000 32px, #000 calc(100% - 32px), transparent); }

/* Лента «В наличии»: широкие низкие карточки сплошной полосой */
.stock-track { grid-auto-columns:340px; gap:0; padding:0; background:var(--card); border:1px solid var(--line); border-radius:12px; box-shadow:0 4px 16px var(--shadow); }
.stock-track .stock-card { flex-direction:row; align-items:center; gap:12px; border:none; border-right:1px solid var(--line); border-radius:0; padding:10px 14px; height:120px; background:transparent; }
.stock-track .stock-img { flex:none; width:96px; height:96px; aspect-ratio:auto; margin:0; }
.stock-info { display:flex; flex-direction:column; gap:4px; min-width:0; flex:1; height:100%; justify-content:space-between; }
.stock-info b { font-size:14px; line-height:1.25; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; flex:none; }
.stock-info small { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.stock-track .stock-buy .price { font-size:17px; }
.stock-track .stock-buy .btn { padding:6px 14px; }
.car-arrow { top:50%; transform:translateY(-50%); }
@media (max-width: 760px) { .stock-track { grid-auto-columns:290px; } .stock-track .stock-img { width:80px; height:80px; } .stock-track .stock-card { height:104px; } }

/* Подбор по автомобилю — строкой под поиском на главной */
.car-picker-row { flex-direction:row; flex-wrap:wrap; align-items:center; gap:10px; margin-top:18px; padding:14px 16px; text-align:left; }
.car-picker-row .car-picker-title { flex:0 0 100%; font-size:16px; }
.car-picker-row select { flex:1 1 150px; min-width:0; }
.car-picker-row .btn { flex:0 0 auto; padding:10px 18px; }
.car-picker-row small { flex:0 0 100%; }

/* Поиск и подбор по авто — в одной рамке */
.search-panel { background:var(--card); border:1px solid var(--line); border-radius:12px; padding:18px; box-shadow:0 6px 24px var(--shadow); text-align:left; margin-top:20px; }
.search-panel .search-big { margin:0; }
.search-panel-title { font-size:17px; margin-bottom:4px; }
.search-panel .car-picker-row { background:none; border:none; box-shadow:none; border-radius:0; padding:16px 0 0; margin:16px 0 0; border-top:1px solid var(--line); }

/* Слайдер баннеров на главной */
.banners { position:relative; height:clamp(200px, 34vw, 400px); border-radius:14px; overflow:hidden; margin:16px 0 4px; background:#111; box-shadow:0 8px 28px var(--shadow); }
.banner { position:absolute; inset:0; opacity:0; transition:opacity .9s ease; pointer-events:none; }
.banner.active { opacity:1; pointer-events:auto; }
.banner img { width:100%; height:100%; object-fit:cover; transform:scale(1.04); transition:transform 7s ease-out; }
.banner.active img { transform:scale(1); }
.banner::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(0,0,0,.62) 0%, rgba(0,0,0,.25) 45%, rgba(0,0,0,0) 70%); }
.banner-text { position:absolute; z-index:1; left:clamp(16px, 4vw, 48px); bottom:clamp(36px, 5vw, 56px); max-width:min(560px, 80%); display:flex; flex-direction:column; align-items:flex-start; gap:10px; color:#fff; }
.banner-title { background:var(--accent); color:#fff; font-weight:800; font-size:clamp(20px, 3vw, 34px); line-height:1.15; padding:8px 16px; border-radius:6px; }
.banner-text p { margin:0; font-size:clamp(14px, 1.6vw, 18px); text-shadow:0 1px 3px rgba(0,0,0,.6); }
.banner-text .btn { background:#fff; color:#1d232b; font-weight:700; }
.banner-text .btn:hover { background:var(--accent); color:#fff; }
.banner-arrow { position:absolute; top:50%; transform:translateY(-50%); z-index:2; width:44px; height:44px; border-radius:50%; border:none; background:rgba(0,0,0,.35); color:#fff; font-size:30px; line-height:1; cursor:pointer; padding:0 0 4px; }
.banner-arrow:hover { background:var(--accent); }
.banner-arrow.prev { left:12px; } .banner-arrow.next { right:12px; }
.banner-dots { position:absolute; z-index:2; bottom:14px; left:0; right:0; display:flex; justify-content:center; gap:8px; }
.banner-dots button { width:10px; height:10px; border-radius:50%; border:none; padding:0; background:rgba(255,255,255,.5); cursor:pointer; transition:width .3s; }
.banner-dots button.active { background:#fff; width:26px; border-radius:5px; }
@media (max-width: 760px) { .banner-arrow { display:none; } .banner-text .btn { padding:8px 14px; } }
@media (prefers-reduced-motion: reduce) { .banner, .banner img { transition:none; } }
/* Админка: баннеры */
.banner-edit { display:flex; gap:14px; align-items:flex-start; border:1px solid var(--line); border-radius:10px; padding:12px; margin:10px 0; background:var(--card); }
.banner-edit.off { opacity:.6; }
.banner-edit img { width:220px; height:82px; object-fit:cover; border-radius:8px; flex:none; }
.banner-fields { flex:1; display:flex; flex-direction:column; gap:8px; min-width:0; }
.banner-fields label { display:flex; flex-direction:column; gap:4px; font-size:14px; color:var(--muted); }
.banner-fields input, .banner-fields select { padding:7px 9px; border:1px solid var(--line); border-radius:6px; background:var(--input-bg); color:var(--ink); }
.banner-fields .row-btns { flex-wrap:wrap; }
.banner-fields label.inline { flex-direction:row; align-items:center; gap:6px; }
.banner-fields label.btn { cursor:pointer; flex-direction:row; color:var(--ink); }
@media (max-width: 760px) { .banner-edit { flex-direction:column; } .banner-edit img { width:100%; height:110px; } }
@media (min-width: 761px) { .banners .banner-text { left:76px; } }


/* === Правки по разбору дизайна (design-critique) === */
/* Иконки вместо эмодзи */
.ico-text { display:inline-flex; align-items:center; gap:6px; }
.ico-text .ico { width:16px; height:16px; flex:none; }
.perk b.ico-text .ico, .search-panel-title .ico, .car-picker-title .ico { width:20px; height:20px; color:var(--accent); }
.logo { flex-direction:row; gap:8px; align-items:center; }
.logo-mark { display:inline-flex; width:30px; height:30px; border-radius:8px; background:var(--btn); color:#fff; align-items:center; justify-content:center; flex:none; }
.logo-mark .ico { width:18px; height:18px; }
.logo-name { display:flex; flex-direction:column; align-items:center; line-height:1.15; }
.logo .logo-tag { color:rgba(255,255,255,.72); }
/* Читаемый текст на карбоне */
.hero p { color:var(--hero-text); font-size:17px; }
.about.help-sec { padding:6px 24px 18px; max-width:none; }
/* Поиск — главное, подбор — второстепенная кнопка */
.search-panel .car-picker-row .btn { background:none; color:var(--accent); border:1.5px solid var(--accent); font-weight:600; }
.search-panel .car-picker-row .btn:hover { background:var(--accent); color:#fff; }
.brand-yellow:not([data-secret]) .search-panel .car-picker-row .btn:hover { background:var(--btn); color:var(--card); }
.hero { padding:36px 0 24px; }
.banners { margin-top:8px; }
/* Удобные для пальца цели */
.topbar nav a { padding:4px 2px; display:inline-flex; }
.banner-dots button { position:relative; }
.banner-dots button::before { content:""; position:absolute; inset:-8px -4px; }
/* Подвал */
.site-foot { background:var(--head-bg); color:rgba(255,255,255,.78); margin-top:40px; font-size:14px; }
.site-foot a { color:#fff; }
.foot-cols { display:grid; grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); gap:24px; padding:32px 16px 20px; }
.foot-cols b { color:#fff; font-size:15px; display:flex; align-items:center; gap:8px; margin-bottom:10px; }
.foot-cols ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.foot-cols p { margin:0; line-height:1.5; }
.foot-cols .ico { width:16px; height:16px; color:#ff8a65; }
.foot-req li { color:rgba(255,255,255,.7); }
.foot-bottom { border-top:1px solid rgba(255,255,255,.12); padding:14px 16px 20px; font-size:13px; color:rgba(255,255,255,.6); }
.info-page { max-width:860px; }
.info-page .help-sec { margin:12px 0; }
/* Выдача поиска на телефоне — карточками */
@media (max-width: 760px) {
  .table-scroll:has(.search-results) { overflow:visible; background:none; border:none; }
  .search-results thead { display:none; }
  .search-results, .search-results tbody { display:block; }
  .search-results tr { display:grid; grid-template-columns:1fr auto; gap:2px 12px; background:var(--card); border:1px solid var(--line); border-radius:10px; padding:12px; margin-bottom:10px; }
  .search-results td { border:none; padding:0; }
  .search-results td.sr-photo { display:none; }
  .search-results td:nth-child(2) { font-weight:700; }
  .search-results td:nth-child(3) { grid-column:2; grid-row:1; text-align:right; }
  .search-results td:nth-child(4) { grid-column:1 / -1; color:var(--ink); }
  .search-results td[data-label]::before { content:attr(data-label) ": "; color:var(--muted); font-size:13px; }
  .search-results td.price { font-size:18px; }
  .search-results td:last-child { grid-column:1 / -1; }
  .search-results td:last-child form { display:flex; gap:8px; }
  .search-results td:last-child input { width:70px; }
  .search-results td:last-child button { flex:1; padding:10px; }
}
@media (max-width: 760px) { .search-results tr td { background:none !important; } .search-results tr.analog { background:var(--card); } }
body { min-height:100vh; display:flex; flex-direction:column; }
body > main { flex:1 0 auto; width:100%; box-sizing:border-box; }
.site-foot { flex-shrink:0; }
.admin-nav a.ico-text { display:inline-flex; }
.admin-nav a .ico { color:var(--accent); }
.admin-nav a.active .ico { color:#fff; }

/* Главная: поиск слева на 1/3, баннеры справа на 2/3 — общая ширина как у баннера */
.hero-row { display:grid; grid-template-columns:minmax(300px, 1fr) 2fr; gap:16px; align-items:stretch; margin-top:20px; text-align:left; }
.hero-row.no-banners { grid-template-columns:1fr; max-width:820px; margin-left:auto; margin-right:auto; }
.hero-row .search-panel { margin:0; display:flex; flex-direction:column; justify-content:center; }
.hero-row .banners { margin:0; height:auto; min-height:400px; }
.hero-row:not(.no-banners) .search-big-row { flex-direction:column; }
.hero-row:not(.no-banners) .search-big-row button { width:100%; }
.hero-row:not(.no-banners) .car-picker-row { flex-direction:column; align-items:stretch; }
.hero-row:not(.no-banners) .car-picker-row select, .hero-row:not(.no-banners) .car-picker-row .btn { flex:none; width:100%; }
.hero-row .banner-text { left:clamp(16px, 3vw, 32px) !important; max-width:85%; }
.hero-row .banner-title { font-size:clamp(20px, 2.4vw, 30px); }
@media (max-width: 900px) { .hero-row { grid-template-columns:1fr; } .hero-row .banners { min-height:260px; } }
.hero-row .search-big { display:flex; flex-direction:column; align-items:stretch; gap:8px; margin:0; max-width:none; }
.hero-row .search-panel-title, .hero-row .search-hint { text-align:left; }
.hero-row:not(.no-banners) .car-picker-row { display:flex; gap:8px; }
.hero-row .car-picker-row .car-picker-title, .hero-row .car-picker-row small { flex:none; }
.hero-row .banner-text p { color:#fff; }
.hero-row .banners { min-height:420px; }
@media (max-width: 900px) { .hero-row .banners { min-height:260px; height:clamp(220px, 50vw, 320px); } }

/* Баннер: на компьютере — рядом с поиском, на телефоне — ниже, после витрины */
.banners-bottom { display:none; }
@media (max-width: 900px) {
  .banners-top { display:none; }
  .banners-bottom { display:block; height:clamp(220px, 55vw, 320px); margin:24px 0; }
  .hero-row { grid-template-columns:1fr; }
}
.hero + .stock-block { margin-top:8px; }
.hero + .stock-block h2 { margin-top:0; }
/* Полоса гарантий вместо четырёх карточек */
.promise-strip { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px 24px; background:var(--card); border:1px solid var(--line); border-radius:12px; padding:12px 20px; margin:16px 0 4px; box-shadow:0 2px 10px var(--shadow); font-size:15px; }
.promise-strip .ico-text { align-items:flex-start; gap:8px; }
.promise-strip .ico { width:20px; height:20px; color:var(--accent); flex:none; margin-top:1px; }
@media (max-width: 760px) { .promise-strip { flex-direction:column; } }
/* Иконка в заголовке выравнивается по первой строке, а не по центру переноса */
.ico-text { align-items:flex-start; }
.ico-text .ico { margin-top:.15em; }

/* Фильтры выдачи поиска */
.search-filters { display:flex; flex-wrap:wrap; gap:10px 16px; align-items:flex-end; background:var(--card); border:1px solid var(--line); border-radius:12px; padding:12px 16px; margin:0 0 12px; }
.search-filters label { display:flex; flex-direction:column; gap:4px; font-size:13px; color:var(--muted); }
.search-filters select, .search-filters input { padding:7px 9px; border:1px solid var(--line); border-radius:6px; background:var(--input-bg); color:var(--ink); font-size:14px; }
.price-range { display:flex; gap:6px; }
.price-range input { width:80px; }
.brand-chips { flex:1 1 100%; display:flex; flex-wrap:wrap; gap:6px; }
.chip { background:var(--tag-bg); color:var(--ink); border:1px solid var(--line); border-radius:16px; padding:5px 12px; font-size:13px; }
.chip small { color:var(--muted); margin-left:2px; }
.chip.active { background:var(--accent); border-color:var(--accent); color:#fff; }
.chip.active small { color:rgba(255,255,255,.8); }
.chip:hover { border-color:var(--accent); }
.sf-foot { flex:1 1 100%; display:flex; align-items:center; gap:12px; }
@media (max-width: 760px) { .search-filters label { flex:1 1 45%; } .price-range input { width:100%; } }
.chips-label { font-size:13px; align-self:center; margin-right:2px; }
.brand-chips.collapsed .chip-extra:not(.active) { display:none; }
.chip-more { background:none; color:var(--accent); border-style:dashed; }
.search-results td:nth-child(6), .search-results td:last-child button { white-space:nowrap; }

/* Выдача поиска в рамке с прокруткой (на компьютере) */
@media (min-width: 761px) {
  .results-frame { max-height:70vh; overflow:auto; }
  .results-frame thead th { position:sticky; top:0; z-index:1; background:var(--th-bg); }
}
.part-link { color:var(--ink); text-decoration:none; border-bottom:1px dashed var(--muted); }
.part-link:hover { color:var(--accent); border-color:var(--accent); }
/* Карточка детали */
.crumbs a { color:var(--muted); }
.part-page { display:grid; grid-template-columns:minmax(260px, 380px) 1fr; gap:24px; background:var(--card); border:1px solid var(--line); border-radius:14px; padding:20px; margin-bottom:20px; }
.part-gallery { display:flex; flex-direction:column; gap:10px; }
.part-main { width:100%; aspect-ratio:1; object-fit:contain; background:#fff; border-radius:10px; border:1px solid var(--line); }
.part-thumbs { display:flex; gap:8px; flex-wrap:wrap; }
.part-thumbs button { padding:0; background:none; border:2px solid var(--line); border-radius:8px; width:64px; height:64px; overflow:hidden; }
.part-thumbs button.active { border-color:var(--accent); }
.part-thumbs img { width:100%; height:100%; object-fit:cover; }
.part-noimg { aspect-ratio:1; border-radius:10px; background:var(--tag-bg); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; color:var(--muted); }
.part-noimg .ico { width:64px; height:64px; opacity:.4; }
.part-info h1 { margin:4px 0 8px; font-size:26px; }
.part-art { margin:0 0 12px; }
.part-best { display:flex; flex-direction:column; gap:2px; background:var(--tag-bg); border-radius:10px; padding:12px 16px; margin:8px 0 16px; }
.part-best .price { font-size:26px; font-weight:800; }
.part-desc { line-height:1.55; margin-bottom:14px; }
.part-specs { border-collapse:collapse; width:100%; max-width:560px; }
.part-specs th, .part-specs td { text-align:left; padding:6px 10px; border-bottom:1px solid var(--line); font-size:14px; }
.part-specs th { color:var(--muted); font-weight:500; width:45%; }
@media (max-width: 760px) { .part-page { grid-template-columns:1fr; padding:14px; } }
.art-thumb-img { width:44px; height:44px; object-fit:cover; border-radius:6px; }
.part-photos-admin { display:flex; flex-wrap:wrap; gap:12px; margin:8px 0 16px; }
.part-photos-admin .pp { position:relative; display:flex; flex-direction:column; gap:6px; }
.part-photos-admin img { width:140px; height:140px; object-fit:cover; border-radius:10px; border:1px solid var(--line); background:#fff; }
.part-photos-admin .badge { position:absolute; top:6px; left:6px; }
.part-form { max-width:760px; }
.part-form textarea { font-family:inherit; }

.part-extra { background:var(--card); border:1px solid var(--line); border-radius:14px; padding:8px 20px 14px; margin-bottom:20px; }
.part-tabs { margin-bottom:12px; }
.app-mark { border-bottom:1px solid var(--line); padding:8px 0; }
.app-mark summary { cursor:pointer; padding:4px 0; }
.app-mark .results-frame { max-height:50vh; margin-top:8px; }
.pt-panel .results-frame { max-height:55vh; }

/* Фото товаров: наведение — увеличение, клик — следующее (static/photo-zoom.js) */
img.pz { cursor:zoom-in; }
img.pz[data-photos*=","] { cursor:pointer; }
.part-main.pz { transition:transform .15s ease; }
.part-main.pz.pz-zoom { transform:scale(2); position:relative; z-index:2; }
.pz-frame { overflow:hidden; border-radius:10px; margin-bottom:8px; }
.pz-frame .part-main { display:block; }
.pz-pop { position:fixed; left:0; top:0; z-index:1000; pointer-events:none; opacity:0; transition:opacity .12s ease;
  background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:0 12px 40px rgba(0,0,0,.45); padding:8px; }
.pz-pop.show { opacity:1; }
.pz-pop img { display:block; width:320px; height:320px; object-fit:contain; }
.pz-num { display:block; text-align:center; font-size:12px; color:#333; margin-top:4px; }
.pz-num:empty { display:none; }
@media (hover:none) { .pz-pop { display:none; } .part-main.pz.pz-zoom { transform:none; } }
a.chip { display:inline-block; margin:2px 0; text-decoration:none; }
.part-docs { display:flex; flex-direction:column; gap:6px; margin:12px 0; }
.part-docs a { display:inline-flex; align-items:center; gap:6px; }
.cat-box { margin:0 0 14px; }
.cat-box > summary { list-style:none; cursor:pointer; display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:10px; }
.cat-box > summary::-webkit-details-marker { display:none; }
.cat-box > summary .btn::after { content:" ▾"; }
.cat-box[open] > summary .btn::after { content:" ▴"; }
table.compact th, table.compact td { padding:5px 10px; font-size:13px; vertical-align:middle; }
table.compact tr.grp-first td { border-top:1px solid var(--line); }
.btn-sm { padding:3px 10px; font-size:13px; line-height:1.4; }
table.compact td.num, table.compact .badge { white-space:nowrap; }
.cat-box.sub { margin:10px 0 4px; }
.rows7 { max-height:340px; overflow:auto; }
.live-dot { display:inline-block; width:8px; height:8px; border-radius:50%; background:#2e9d57; vertical-align:middle; animation:live-pulse 2s infinite; }
@keyframes live-pulse { 0%,100% { opacity:1; } 50% { opacity:.3; } }
@keyframes row-new { from { background:rgba(46,157,87,.25); } to { background:transparent; } }
tr.row-new td { animation:row-new 3s ease-out; }
td.cell-upd { animation:row-new 2s ease-out; }  /* цифра в «Скриптах» обновилась сама */
.disk-info { flex-basis:100%; margin-top:-4px; }
.drag-handle { cursor:grab; color:var(--muted); font-size:16px; text-align:center; user-select:none; width:18px; }
tbody.lx-grp.dragging { opacity:.45; }
.rows7 thead th { position:sticky; top:0; z-index:1; background:var(--th-bg); }
table.compact .art-thumb-img { width:32px; height:32px; display:block; }
table.compact td .btn { padding:4px 10px; font-size:13px; white-space:nowrap; }
table.st-items .art-thumb img { width:28px; height:28px; }
table.st-items td:nth-child(n+5) { white-space:nowrap; }
table.lx-items .art-thumb-img { width:32px; height:32px; display:block; }
table.lx-items td:nth-child(3), table.lx-items td:nth-child(7), table.lx-items td:last-child { white-space:nowrap; }
.cat-box.sub > summary { margin-bottom:6px; }
.stock-track .stock-buy a.btn { font-size:14px; }

/* Столбцы как в Excel (static/table-cols.js): перетаскивание заголовка и ширина за правый край */
table[data-cols] th.col-th { cursor:grab; user-select:none; }
table[data-cols] th.col-dragging { opacity:.45; }
table[data-cols] th.col-over { box-shadow:inset 3px 0 0 var(--accent); }
table[data-cols] .col-grip { position:absolute; top:0; right:-3px; width:8px; height:100%; cursor:col-resize; z-index:2; }
table[data-cols] .col-grip:hover, body.col-resizing table[data-cols] .col-grip:active { background:var(--accent); opacity:.6; }
/* строки всегда в одну линию: узкий столбец обрезает текст многоточием, полный текст — во всплывающей подсказке */
table[data-cols] td, table[data-cols] th { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
table[data-cols] td > small, table[data-cols] td > a, table[data-cols] td > b { white-space:nowrap; }
body.col-resizing, body.col-resizing * { cursor:col-resize !important; user-select:none; }
/* перенос строк внутри ячеек (<br>, формы, блоки) — в одну линию; вторая «строчка» идёт через отступ */
table[data-cols] td br { display:none; }
table[data-cols] td br + * { margin-left:.6em; }
table[data-cols] td form, table[data-cols] td > div, table[data-cols] td > p { display:inline; margin:0; }

/* Окно детали (static/part-modal.js, шаблон part_modal.html) — как окно «Профиль», только шире */
dialog.modal.modal-wide { width:min(920px, calc(100% - 24px)); }
.pm-top { display:grid; grid-template-columns:minmax(0, 300px) minmax(0, 1fr); gap:18px; margin-bottom:6px; }
@media (max-width:700px) { .pm-top { grid-template-columns:1fr; } }
.pm-gallery .part-main { width:100%; aspect-ratio:1; object-fit:contain; background:#fff; border-radius:10px; }
.pm-head h2 { margin:4px 0 6px; font-size:22px; }
.pm-buy { margin-top:10px; }
.pm-tabs { position:sticky; top:52px; background:var(--card); z-index:1; }
.pm-loading { padding:40px 0; text-align:center; }
#part-dialog .cart-toast { position:sticky; bottom:12px; margin:0 18px 12px; }
#part-dialog .part-desc { margin-bottom:12px; }
/* Короткая карточка детали при наведении на название (part_preview.html) */
.pp-pop { position:fixed; z-index:60; width:380px; max-width:calc(100% - 24px); pointer-events:none; background:var(--card); color:var(--ink);
  border:1px solid var(--line); border-radius:12px; box-shadow:0 10px 30px var(--shadow); padding:12px; }
.pp { display:flex; gap:12px; align-items:flex-start; }
.pp-img { width:110px; height:110px; object-fit:contain; background:#fff; border-radius:8px; flex:none; }
.pp-body { display:flex; flex-direction:column; gap:4px; min-width:0; font-size:14px; }
.pp-body p { margin:2px 0; line-height:1.35; }
.pp-body ul { margin:2px 0; padding-left:16px; font-size:13px; }
.pp-marks { font-size:13px; }

/* Фото в выдаче и в аналогах окна детали — отдельный столбец */
.search-results td.sr-photo, .search-results th.sr-photo { width:64px; min-width:64px; }
.search-results td.sr-photo .search-thumb { margin-right:0; display:block; }
/* Компактная выдача (поиск и окно детали) на широком экране: ниже строки, меньше миниатюры и кнопки */
@media (min-width: 761px) {
  .search-results th, .search-results td, #part-dialog table.offers th, #part-dialog table.offers td { padding:5px 8px; font-size:14px; }
  .search-results th, #part-dialog table.offers th { font-size:12px; }
  .search-results .search-thumb { width:30px; height:30px; }
  .search-results td.sr-photo, .search-results th.sr-photo { width:46px; min-width:46px; }
  .search-results td.price { font-size:14px; }
  .search-results form.add { display:flex; gap:6px; align-items:center; margin:0; }
  .search-results form.add input { width:52px; padding:4px 6px; font-size:13px; }
  .search-results form.add button { padding:5px 10px; font-size:13px; }
  .search-results .tag { font-size:11px; padding:0 5px; }
}

/* Главная вошедшего: слева приветствие и заказы, справа под баннером — компактный подбор по авто */
.home-user.with-pick { display:grid; grid-template-columns:auto minmax(0, 1fr) 340px; gap:24px; align-items:start; }
.home-user.with-pick > .home-user-pick { grid-column:3; grid-row:1; }
.home-user.with-pick .home-user-pick { max-width:none; margin-top:0; position:sticky; top:12px; }
@media (max-width: 860px) { .home-user.with-pick { grid-template-columns:1fr; } .home-user.with-pick .home-user-pick { position:static; } }
.car-picker-compact { padding:12px 14px; gap:8px; box-shadow:none; }
.car-picker-compact .car-picker-title { font-size:15px; }
.car-picker-compact select { padding:6px 8px; font-size:14px; }
.car-picker-compact .cp-brand, .car-picker-compact .cp-model { width:100%; }
.car-picker-compact .btn { padding:7px 12px; font-size:14px; }
.car-picker-compact small { font-size:12px; }

/* «Последние заказы» на главной — короткие строки по ширине текста, а не на всю колонку */
.home-user .recent-list { display:inline-grid; max-width:100%; }  /* строки одной ширины — по самой длинной */
.home-user .recent-order { padding:7px 12px; margin-bottom:6px; font-size:14px; }
.home-user .recent-order .pay-btn { padding:3px 10px; font-size:13px; margin-left:6px; }

/* Главная вошедшего: приветствие над баннером, под баннером — заказы слева и подбор справа, верхом в одну линию */
.home-hello { padding:16px 0 10px; }
.home-hello h1 { font-size:26px; margin:0 0 4px; }
.home-hello p { margin:0; }
.home-user.with-pick { padding-top:18px; }
.home-user.with-pick .home-user-main h2 { margin-top:0; }

/* «Вы недавно смотрели» — средняя колонка между заказами и подбором */
.home-seen h2 { margin-top:0; }
.seen-cards { display:grid; grid-template-columns:1fr; gap:6px; }
.seen-card { display:flex; gap:10px; align-items:center; padding:6px 10px; background:var(--card); border:1px solid var(--line); border-radius:10px; color:var(--ink); text-decoration:none; min-width:0; }
.seen-card:hover { border-color:var(--accent); }
.seen-card img, .seen-noimg { width:44px; height:44px; object-fit:contain; background:#fff; border-radius:6px; flex:none; display:grid; place-items:center; }
.seen-noimg { background:var(--tag-bg); color:var(--muted); }
.seen-info { display:flex; flex-direction:column; gap:2px; min-width:0; }
.seen-info b, .seen-info small { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:13px; }
.seen-info .price { font-weight:700; font-size:14px; }
@media (max-width: 860px) { .home-user.with-pick > .home-user-pick { grid-column:auto; grid-row:auto; } }

/* Корзина: миниатюра фото (наведение — увеличение, static/photo-zoom.js) */
.cart-table td.cart-photo, .cart-table th.cart-photo { width:56px; text-align:center; }
.cart-table .search-thumb { width:30px; height:30px; object-fit:contain; background:#fff; margin:0; cursor:zoom-in; display:block; }
/* Компактная корзина: невысокие строки, деталь в одну линию, маленькие поле количества и кнопка */
.cart-table th, .cart-table td { padding:5px 8px; font-size:14px; }
.cart-table th { font-size:12px; }
.cart-table td.cart-photo, .cart-table th.cart-photo { width:44px; }
.cart-table form.add { display:flex; gap:6px; align-items:center; margin:0; }
.cart-table form.add input { width:52px; padding:4px 6px; font-size:13px; }
.cart-table form.add button { padding:4px 10px; font-size:13px; }

/* ===== Компактный вид — единый для всего сайта (покупатели и админка) на широком экране =====
   Формат, утверждённый владельцем 01.11.2026 (поиск, корзина): невысокие строки, мелкие миниатюры,
   небольшие поля и кнопки внутри таблиц, плотнее карточки и показатели. На телефоне — как было. */
@media (min-width: 761px) {
  .offers th, .offers td { padding:5px 8px; font-size:14px; }
  .offers th { font-size:12px; }
  table.compact th, table.compact td { padding:5px 8px; font-size:13px; }
  .offers td .btn, .offers td button:not(.chk):not(.x) { padding:4px 10px; font-size:13px; }
  .offers td input:not([type=checkbox]):not([type=radio]), .offers td select { padding:4px 6px; font-size:13px; }
  .offers td input[type=number] { width:56px; }
  .offers td form { margin:0; }
  .offers td form.add { display:flex; gap:6px; align-items:center; }
  .offers .art-thumb-img, .offers .search-thumb { width:30px; height:30px; object-fit:contain; }
  .offers .tag, .offers .badge { font-size:11px; }
  .supplier-card { padding:10px 14px; margin-bottom:10px; }
  .stats { gap:10px; margin:12px 0; }
  .stats > div { padding:8px 12px; min-width:130px; }
  .stats b { font-size:18px; }
  .order-card { margin-bottom:12px; }
}

/* Заказы: боковое меню уже, чтобы широкой таблице заказов хватало места */
.orders-layout { grid-template-columns:200px minmax(0, 1fr); }
@media (max-width: 760px) { .orders-layout { grid-template-columns:1fr; } }

/* Перестановка кнопок верхнего меню админки (static/nav-order.js) */
.admin-nav > a.nav-dragging { opacity:.4; }
.admin-nav > a.nav-over { box-shadow:inset 3px 0 0 var(--accent); }

/* Напоминания о лимитах режима налогов (app/tax_rules.py) — над содержимым админки */
.limit-bar { border-radius:8px; padding:8px 12px; margin:8px 0; font-size:14px; border:1px solid; }
.limit-yellow { background:var(--warn-bg); border-color:var(--warn-line); }
.limit-red { background:rgba(192,57,43,.12); border-color:#c0392b; }
.limit-info { background:var(--card); border-color:var(--line); }
.limit-meter { height:8px; background:var(--tag-bg); border-radius:4px; overflow:hidden; margin:4px 0 2px; }
.limit-meter > span { display:block; height:100%; background:#2e9d57; }
.limit-meter.yellow > span { background:#e0a100; } .limit-meter.red > span { background:#c0392b; }
.consent-box { display:flex; flex-direction:column; gap:8px; font-size:14px; }
.form .consent-box label.inline { align-items:flex-start; }
.consent-box input[type=checkbox] { margin-top:3px; flex-shrink:0; }
.legal-doc { max-width:860px; line-height:1.55; background:var(--card); padding:20px 24px; border-radius:10px; border:1px solid var(--line); }
.legal-doc h2 { font-size:18px; margin:22px 0 8px; }
.legal-doc .fill { background:#fff3cd; color:#7a5a00; padding:0 4px; border-radius:3px; }
.legal-doc table.tbl { width:100%; border-collapse:collapse; font-size:14px; }
.legal-doc table.tbl th, .legal-doc table.tbl td { border:1px solid var(--line); padding:6px 8px; vertical-align:top; text-align:left; }
@media (max-width:640px) { .legal-doc table.tbl { display:block; overflow-x:auto; } }

/* Пометки кроссов: подтверждён сайтом производителя / по данным поставщиков */
.cross-ok { color: #2e7d32; font-weight: 600; white-space: nowrap; }
:root[data-theme="dark"] .cross-ok { color: #66bb6a; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .cross-ok { color: #66bb6a; } }
.cross-unv { color: var(--muted, #8a8f98); font-size: .85em; }
.cross-legend { margin: .3rem 0 .5rem; }

/* Наценка по поставщикам («Настройки → Наценка») */
.markup-sups { display:flex; flex-direction:column; gap:6px; flex-basis:100%; }
.markup-table { border-collapse:collapse; max-width:460px; }
.markup-table td { padding:4px 8px 4px 0; border-bottom:1px solid var(--line); }
.markup-table input { width:130px; }

.hero .hero-marks { font-weight:600; color:var(--hero-text); }

/* Оформление «визитка» — жёлтое или салатовое, как визитка магазина. Включается как фуксия/голубое:
   «Оформление» в профиле покупателя или в настройках админки; кружок в шапке переключает жёлтое ↔ салатовое.
   Основа светлая: шапка и полоса поиска цветные с чёрным текстом, кнопки чёрные. */
:root:is([data-theme="yellow"], [data-theme="lime"]) { --btn:#151515; --hero-text:#2f3742; --bg:#f6f7f9; --card:#fff; --ink:#1d232b; --muted:#6b7480; --accent:#8a6a00; --line:#e3e6ea; --head-bg:#1d232b; --head-ink:#fff; --th-bg:#fafbfc; --row-alt:#fcfcfd; --tag-bg:#eef1f4; --warn-bg:#fff4e5; --warn-line:#ffd59a; --hover:#f2f4f6; --input-bg:#fff; --shadow:rgba(0,0,0,.08); --carbon:url("/static/carbon-light.jpg"); color-scheme:light; --brand:#ffd200; --brand-ink:#151515; }
:root[data-theme="lime"] { --accent:#4a7300; --brand:#a8e04a; }
:root:is([data-theme="yellow"], [data-theme="lime"]) .top, :root:is([data-theme="yellow"], [data-theme="lime"]) .topbar { background:var(--brand); --head-ink:var(--brand-ink); color:var(--brand-ink); }
:root:is([data-theme="yellow"], [data-theme="lime"]) .topbar { border-bottom-color:rgba(0,0,0,.12); }
:root:is([data-theme="yellow"], [data-theme="lime"]) .top { box-shadow:0 2px 0 rgba(0,0,0,.85); }
:root:is([data-theme="yellow"], [data-theme="lime"]) .theme-btn { border-color:rgba(0,0,0,.35); }
:root:is([data-theme="yellow"], [data-theme="lime"]) .head-id { background:rgba(0,0,0,.08); }
:root:is([data-theme="yellow"], [data-theme="lime"]) .logo .logo-tag { color:rgba(0,0,0,.7); }
:root:is([data-theme="yellow"], [data-theme="lime"]) .logo-name { font-weight:800; letter-spacing:.01em; }
:root:is([data-theme="yellow"], [data-theme="lime"]) .top .search-mini button { background:#151515; color:#fff; }
:root:is([data-theme="yellow"], [data-theme="lime"]) .search-panel .car-picker-row .btn:hover { background:var(--btn); color:#fff; }
/* Блок поиска на главной — цветная полоса во всю ширину, как визитка */
:root:is([data-theme="yellow"], [data-theme="lime"]) .hero { background:var(--brand); box-shadow:0 0 0 100vmax var(--brand); clip-path:inset(0 -100vmax); }
:root:is([data-theme="yellow"], [data-theme="lime"]) .hero-main h1 { color:var(--brand-ink); }
:root:is([data-theme="yellow"], [data-theme="lime"]) .hero-main p { color:rgba(0,0,0,.72); }
:root:is([data-theme="yellow"], [data-theme="lime"]) .hero-marks { font-weight:700; color:var(--brand-ink); }
.brand-toggle span { background:linear-gradient(135deg, #ffd200 0 50%, #a8e04a 50% 100%); box-shadow:0 0 0 1px rgba(0,0,0,.25); }
:root[data-theme="lime"] .brand-toggle span { transform:rotate(180deg); }
.secret-tag.t-yellow { color:#b38f00; }
.secret-tag.t-lime { color:#5e9a00; }

/* Пауза API поставщика */
.pause-form { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin:8px 0; }

/* Плашка «Сайт в разработке» («Функции сайта») */
.dev-notice { background:#fff3cd; color:#5c4400; border-bottom:1px solid #f0d27a; text-align:center; font-size:14px; padding:7px 16px; line-height:1.4; }
.dev-notice a { color:inherit; font-weight:700; white-space:nowrap; }

/* Карта магазина в окне («Функции сайта → Карта магазина») */
.map-open { background:none; border:0; padding:0; color:inherit; font:inherit; cursor:pointer; text-decoration:underline dotted; text-underline-offset:3px; }
.map-open:hover { opacity:.85; }
.map-body { display:flex; flex-direction:column; gap:10px; }
.map-addr { margin:0; }
.map-addr .ico { vertical-align:-3px; margin-right:4px; }
.map-frame { position:relative; width:100%; aspect-ratio:16 / 10; min-height:300px; border-radius:10px; overflow:hidden; background:var(--hover); }
.map-frame iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.map-links { margin:0; font-size:14px; }
@media (max-width:600px) { .map-frame { aspect-ratio:3 / 4; } }
.map-frame #shop-map { position:absolute; inset:0; }
.site-foot .map-open { color:inherit; text-align:left; }

/* Почтовые ящики (админка) */
.mail-secret { border-color:#e0b400; }
.mail-pw { font-size:18px; padding:4px 10px; background:var(--tag-bg); border-radius:6px; user-select:all; }
.mail-local { display:flex; align-items:center; gap:4px; }
.mail-actions { display:flex; gap:8px; align-items:flex-start; flex-wrap:wrap; }
.mail-lock summary { list-style:none; cursor:pointer; }
.mail-lock summary::-webkit-details-marker { display:none; }

/* CRM заявок */
.crm-tabs { display:flex; flex-wrap:wrap; gap:6px; margin:6px 0 10px; }
.crm-tabs .chip { text-decoration:none; }
.crm-bar { display:flex; flex-wrap:wrap; gap:10px 16px; align-items:center; margin:12px 0; }
.crm-actions { display:flex; gap:8px; margin-left:auto; flex-wrap:wrap; }
.crm-actions form { margin:0; }
.crm-templates { display:flex; flex-wrap:wrap; gap:6px; margin:4px 0 6px; }
.crm-close summary { list-style:none; cursor:pointer; display:inline-block; }
.crm-close summary::-webkit-details-marker { display:none; }
.crm-close fieldset { display:flex; flex-direction:column; gap:6px; margin-top:10px; }
.crm-history { padding-left:18px; }
.crm-history li { margin:3px 0; }
.crm-stats { margin:4px 0 10px; }

/* Каталоги ACAT */
.acat-wrap { background:var(--card); border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.acat-wrap iframe { display:block; width:100%; min-height:600px; border:0; }
.car-vin { margin-top:10px; padding-top:12px; border-top:1px solid var(--line); }
.car-vin input { flex:1 1 220px; min-width:0; font-family:ui-monospace, monospace; text-transform:uppercase; }
.car-vin input { padding:10px 12px; border:1px solid var(--line); border-radius:8px; background:var(--input-bg); color:var(--ink); font-size:15px; letter-spacing:.04em; }
.car-vin input::placeholder { font-family:inherit; text-transform:none; letter-spacing:0; }
.car-picker small { white-space:normal; min-width:0; flex-basis:100%; overflow-wrap:anywhere; }
.hero-row .car-picker-row small, .car-picker-row small { flex:1 1 100%; max-width:100%; }
.hero-row .car-picker, .hero-row .search-panel { min-width:0; max-width:100%; } .car-vin input { width:100%; box-sizing:border-box; }
