/* Shift / Volvo edition. The entire theme is opt-in; no unscoped component rules.
   Existing forms, links, approval controls and server-calculated totals stay intact.
   Native CSS nesting is supported by the target Chrome browser. */
@font-face{font-family:ShiftInter;src:url('../../../fonts/inter-400.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:ShiftInter;src:url('../../../fonts/inter-500.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:ShiftInter;src:url('../../../fonts/inter-600.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}

body[data-theme="shift-auto-volvo"] {
  --bg:var(--app-bg); --surface:var(--white); --ink-2:var(--muted); --ink-3:var(--muted);
  --hair:var(--line); --hair-2:#CFD5CB; --blue-soft:var(--info-bg);
  --green:var(--success); --green-soft:var(--success-bg);
  --amber:var(--warning); --amber-soft:var(--warning-bg); --red:var(--danger); --red-soft:var(--danger-bg);
  --r:6px; --r-sm:4px; --r-xs:4px; --shadow:none;
  --border-radius-lg:6px; --border-radius-md:6px; --border-radius-sm:4px;
  --vv-sidebar:244px; --vv-title:30px; --vv-data:14px; --vv-label:13px;
  --vv-space:24px; --vv-page:36px; --vv-fast:120ms; --vv-motion:180ms; --vv-panel:220ms;
  font-family:ShiftInter,Inter,"Segoe UI",sans-serif;
  font-size:var(--vv-data); font-variant-numeric:tabular-nums; font-synthesis:none;
  color:var(--ink); background:var(--app-bg);

  & input, & select, & textarea, & button {font-family:inherit;}
  & :is(button,a,input,select,textarea,summary):focus-visible {outline:2px solid var(--blue);outline-offset:3px;}
  & :is(button,a,input,select,textarea) {transition:color var(--vv-fast),background-color var(--vv-fast),border-color var(--vv-fast);}
  & .shell {grid-template-columns:var(--vv-sidebar) minmax(0,1fr);}
  & .sidebar {background:#FAFBF8;border-right:1px solid var(--line);color:var(--muted);padding:28px 16px 18px;scrollbar-color:#CED4C8 transparent;}
  & .brand {gap:8px;padding:0 12px 30px;}
  & .brand .name {font-size:26px;letter-spacing:-1px;color:var(--ink);}
  & .brand .name b {color:var(--blue);font-size:13px;letter-spacing:0;font-weight:500;margin-left:4px;}
  & .brand svg rect {fill:var(--blue);}
  & .nav-item {font-size:14px;line-height:1.5;min-height:42px;padding:10px 12px;color:var(--muted);border-radius:4px;}
  & .nav-item:hover {background:#ECEFE8;color:var(--ink);}
  & .nav-item.active {background:#E9EDFF;color:var(--blue);font-weight:500;}
  & .nav-item .badge {background:var(--mist);color:var(--muted);border-radius:4px;}
  & .nav-label {font-size:11px;letter-spacing:1px;color:var(--muted);padding:23px 12px 10px;}
  & .nav-row .fav-star {color:var(--muted);}
  & .nav-row .fav-star:hover {color:var(--blue);}
  & .nav-row .fav-star.is-on {color:var(--warning);}
  & .sidebar-foot {border-color:var(--line);margin-top:auto;padding-top:20px;}
  & .u-name {color:var(--ink);font-size:13px;}
  & .u-role {color:var(--muted);font-size:12px;}
  & .ava {color:#525D4B;background:#EFF2EB;border:1px solid #CCD2C7;font-weight:500;}
  & .topbar {background:var(--surface);border-bottom:1px solid var(--line);box-shadow:none;min-height:64px;padding:14px var(--vv-page);gap:14px;flex-wrap:wrap;}
  & .topbar h1 {font-size:14px;font-weight:400;letter-spacing:0;color:var(--muted);}
  & .topbar .sub {font-size:13px;}
  & .search, & .chip-btn {border-radius:4px;background:var(--surface);font-size:13px;}
  & .content {padding:32px var(--vv-page) 24px;gap:24px;background:var(--app-bg);color:var(--ink);font-family:inherit;}
  & .content > * {width:100%;max-width:1676px;margin-inline:auto;}
  & .content .vh {display:flex;align-items:center;gap:16px;margin:0 0 24px;flex-wrap:wrap;}
  & .content .vh h1 {font-size:var(--vv-title);line-height:1.25;font-weight:400;letter-spacing:-.8px;margin:0;}
  & .vh .role {color:var(--muted);font-size:12px;margin-left:auto;}
  & .vh .vswitch {display:flex;gap:6px;flex-wrap:wrap;}
  & .vs-tab {padding:6px 9px;border-radius:4px;font-size:12px;}
  & .vs-tab.active {background:var(--surface);color:var(--ink);box-shadow:none;border:1px solid var(--line);}
  & .grid12 {gap:var(--vv-space);max-width:none;min-width:0;}
  & :is(.col,.stack-col,.tab-stack,.tab-stack-column,.tab-cols,.grid-2,.grid-2e) {min-width:0;}
  & :is(.card,.sh-card,.profile-section,.kpi) {background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:none;}
  & .card-h {padding:23px 24px 14px;gap:10px;border:0;background:transparent;}
  & .card-h h3 {font-size:16px;font-weight:500;letter-spacing:-.2px;}
  & .card-h .ti {font-size:17px;color:var(--muted);}
  & .card-h :is(.cnt,.hs) {font-size:13px;color:var(--muted);}
  & .card-b {padding:4px 24px 24px;position:relative;}
  & .sub-h {font-size:13px;text-transform:none;letter-spacing:0;color:var(--muted);background:transparent;padding:16px 0 9px;}
  & :is(.empty,.muted) {color:var(--muted);font-size:13px;line-height:1.6;}
  & :is(.btn,.btn-sm) {min-height:38px;padding:8px 14px;border:1px solid var(--line);border-radius:4px;box-shadow:none;background:var(--surface);color:var(--ink);font-size:14px;line-height:1.4;font-weight:500;white-space:normal;}
  & .btn:hover {background:#F7F9F4;border-color:#AEB7A6;}
  & .btn-primary {background:var(--blue);border-color:var(--blue);color:white;}
  & .btn-primary:hover {background:#0924C3;border-color:#0924C3;color:white;}
  & .btn-soft {background:var(--info-bg);color:var(--blue);border-color:transparent;}
  & .btn-ghost {background:transparent;color:var(--muted);border-color:transparent;}
  & :is(.btn-danger,.btn-err) {color:var(--danger);border-color:#E8B9B2;background:var(--danger-bg);}
  & :is(button:disabled,.btn:disabled,.is-disabled) {cursor:not-allowed;opacity:.55;}
  & :is(.pill,.sh-pill) {font-size:13px;font-weight:500;border-radius:4px;padding:5px 9px;}
  & .pill-ok {background:var(--success-bg);color:var(--success);}
  & .pill-warn {background:var(--warning-bg);color:var(--warning);}
  & :is(.pill-err,.pill-danger) {background:var(--danger-bg);color:var(--danger);}
  & .pill-gray {background:var(--mist);color:var(--muted);}
  & :is(.kv,.param) {font-size:14px;line-height:1.5;min-width:0;}
  & .kv {padding:10px 0;gap:12px;border-color:var(--line);}
  & :is(.kv .k,.pl,.ffl,.form-label,label) {font-size:var(--vv-label);color:var(--muted);line-height:1.5;}
  & :is(.kv .v,.kv a.reflink) {font-size:14px;font-weight:400;color:var(--ink);overflow-wrap:anywhere;}
  & :is(.fin,textarea,input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select) {font-family:inherit;font-size:14px;min-height:40px;border:1px solid #CFD5CB;border-radius:4px;background:var(--surface);color:var(--ink);padding:8px 10px;max-width:100%;}
  & :is(.fin,input,textarea,select):focus {border-color:var(--blue);box-shadow:0 0 0 2px #0B2DED12;}
  & input[readonly] {background:#F3F5EF;color:var(--muted);}
  & textarea {line-height:1.7;}
  & input[type=checkbox] {accent-color:var(--blue);width:16px;height:16px;}
  & :is(.ref-picker,.ref-combo,.ref-combo-wrap) {min-width:0;max-width:100%;}
  & :is(.params,.params-form,.assign-grid) {gap:18px;}
  & :is(.param,.pchip) {min-width:0;}
  & :is(.tab-stack,.stack-col,.tab-column) {gap:20px;}
  & .tab-column {display:flex;flex-direction:column;min-width:0;}
  & .editform {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start;}
  /* The outer create form contains the whole document, not two field columns. */
  & .editform.card-create {display:block;max-width:none;}
  & .tab-cols > div:has([name="is_repeat_visit"]) {grid-column:1!important;}
  & .tab-cols > div:has([name="reason"]) {grid-column:2/-1!important;}
  /* «Повторное обращение» и «Причины» — одна строка обращения. Высоту задаёт
     более содержательная причина, а у короткой карточки остаётся та же спокойная
     поверхность, вместо визуальной ступеньки. */
  & .tab-cols > div:has([name="is_repeat_visit"], [name="reason"]) {align-self:stretch;}
  & .tab-cols > div:has([name="is_repeat_visit"], [name="reason"]) > .card {height:100%;box-sizing:border-box;}
  & .card:has([name="is_repeat_visit"], [name="reason"]) .editform {grid-template-columns:minmax(0,1fr);}
  & .card-create > .actionbar {margin-top:24px;}
  & .vv-document-header .params {grid-column:1;grid-row:1;}
  & .ref-picker-line {flex-wrap:wrap;}
  & .ref-picker-line input {flex:1 1 220px;}
  & .inline-line {display:flex;flex-wrap:wrap;gap:10px;align-items:end;}
  & .inline-line > * {min-width:0;max-width:100%;}
  & .inline-line .inline-ref {flex:1 1 300px;}
  & .inline-line .ifield:not(.inline-ref) {flex:0 1 120px;}
  & .editform > .pchip {display:flex;flex-direction:column;align-items:stretch;gap:7px;min-width:0;}
  & .editform > .btn {justify-self:start;align-self:end;}
  & .ref-picker-line {display:flex;align-items:stretch;gap:4px;min-width:0;}
  & .ref-picker-line input {min-width:0;width:100%;}
  & .ref-picker-line .btn {flex-shrink:0;padding-inline:9px;font-size:12px;}
  & [data-ref-record][hidden] {display:none!important;}
  & .pchip :is(.fin,.ref-picker) {width:100%;min-width:0;}
  & :is(.seg,.tabs,.ftags) {display:flex;gap:20px;flex-wrap:wrap;padding:0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;max-width:100%;}
  & :is(.seg .tab,.tabs .tab,.ftag) {display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:10px 0 13px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;box-shadow:none;color:var(--muted);font-size:14px;font-weight:400;text-decoration:none;}
  & :is(.seg .tab.active,.tabs .tab.active,.ftag.on) {background:transparent;color:var(--ink);border-bottom-color:var(--ink);font-weight:500;box-shadow:none;}
  & :is(.seg .tab:hover,.tabs .tab:hover,.ftag:hover) {color:var(--blue);}
  & .tab .cnt {background:var(--mist);color:var(--muted);font-size:12px;border-radius:3px;}
  & .list-toolbar {display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:16px 20px;border:1px solid var(--line);border-radius:6px;background:var(--surface);box-shadow:none;}
  & .list-toolbar :is(.fin,.sw) {border-radius:4px;min-width:0;}
  & .sw {background:var(--surface);border:1px solid var(--line);}
  & .sw .combo {border:0;box-shadow:none;}
  & :is(.dtable,.list-tbl,table) {font-size:14px;border-collapse:collapse;font-variant-numeric:tabular-nums;}
  & :is(.dtable,.list-tbl,table) th {font-size:13px;font-weight:400;text-align:left;color:var(--muted);background:#FAFBF8;padding:14px 16px;border:0;border-bottom:1px solid var(--line);}
  & :is(.dtable,.list-tbl,table) td {font-size:14px;padding:15px 16px;border:0;border-bottom:1px solid var(--line);line-height:1.5;}
  & :is(.dtable,.list-tbl,table) tbody tr:hover td {background:#F8FAF6;}
  & :is(.dtable,.list-tbl,table) :is(.num,[align=right]) {text-align:right;white-space:nowrap;}
  & :is(.dtable,.list-tbl,table) tfoot td {background:var(--app-bg);font-weight:500;}
  & :is(.table-wrap,.table-scroll,.grid-scroll,.dt-wrap,.list-wrap) {min-width:0;max-width:100%;overflow-x:auto;position:relative;}
  & .docfoot {position:sticky;bottom:-24px;margin:12px calc(-1 * var(--vv-page)) -24px;max-width:none;width:auto;background:var(--surface);border-top:1px solid var(--line);z-index:5;}
  & .docfoot .actionbar {display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:16px var(--vv-page);border:0;border-radius:0;box-shadow:none;background:var(--surface);}
  /* Разбивка «работы + запчасти» — одна читабельная строка на широком экране.
     Действия при необходимости переносятся ниже, а не денежная подпись по словам. */
  & .docfoot .total {margin-right:auto;min-width:200px;max-width:none;}
  & .docfoot .btn {font-size:13px;padding:8px 10px;}
  & .docfoot .total .tl {font-size:13px;line-height:1.5;letter-spacing:0;text-transform:none;color:var(--muted);white-space:nowrap;}
  & .docfoot .total .tv {font-size:28px;line-height:1.3;font-weight:500;color:var(--ink);letter-spacing:-.5px;}
  & :is(.actionbar,.hdr-actions) {flex-wrap:wrap;gap:10px;}
  & :is(.aa6-start-surface,.aa6-service-surface,.aa6-order-card-surface,.aa6-journal) {font-family:inherit;color:var(--ink);background:transparent;margin:0;padding:0;max-width:none;min-width:0;}
  & .wo-toolbar {background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:20px 24px;display:flex;flex-wrap:wrap;gap:20px;}
  & .wo-toolbar .params {display:flex;align-items:flex-end;flex-wrap:wrap;flex:1;gap:16px 20px;margin:0;padding:0;}
  & .wo-toolbar :is(.pchip,.kv) {display:flex;flex-direction:column;align-items:stretch;flex:1 1 160px;gap:7px;padding:0;border:0;background:transparent;}
  & .wo-toolbar .hdr-actions {display:flex;align-items:center;flex-wrap:wrap;gap:9px;}
  & .vv-document-header {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;}
  & .vv-document-header .params {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:20px 24px;}
  /* У document_header параметры рендерятся последним .pchip внутри .efs,
     а не отдельным .params-слотом. Действия идут сразу под этой сводкой. */
  & .vv-document-header > .efs {grid-column:1/-1;grid-row:1;}
  & .vv-document-header .hdr-actions {order:0;grid-column:1/-1;grid-row:2;align-self:start;justify-self:end;}
  & .vv-document-header .params .pchip {flex:auto;}
  & .vv-document-header .params .pchip[data-field="vehicle"] {grid-column:span 2;}
  & .vv-document-header .params .pv {font-size:14px;min-height:40px;display:flex;align-items:center;}
  & .vv-document-header .params > .btn {justify-self:start;}
  & .vv-document-header > :last-child {justify-self:start;}
  /* Верхняя строка документа должна читаться как единая зона управления:
     статус стоит непосредственно перед деревом, а финансово-производственные
     действия начинаются от левого края формы. Не разбрасываем их по карточке. */
  & .aa6-order-card-surface {position:relative;}
  & .vv-document-header .hdr-actions {grid-column:1/-1;grid-row:2;justify-self:start;margin:0;}
  & .vv-document-header > .card {border:0;background:transparent;box-shadow:none;padding:0;margin:0;}
  /* .card несёт общий margin-top:16px (app.css) — на абсолютном позиционировании он
     складывался с top и утаскивал пилюлю на 16px ниже «Дерева документов» (наезд на
     панель, 14.09.2026). Обнулён выше; top теперь = фактической высоте ряда. */
  & .vv-document-header > .card:has(.statusctl) {position:absolute;top:62px;right:205px;z-index:3;}
  /* Сделка: та же шапка, что у ЗН, но статус и вехи воронки — строками шапки под
     реквизитами (у сделки нет переключателя вариантов, к которому ЗН цепляет пилюлю). */
  & .deal-card-surface .vv-document-header > .card:has(.statusctl) {position:static;grid-column:1/-1;justify-self:start;}
  & .deal-card-surface .vv-document-header > .card:has(.msteps) {grid-column:1/-1;justify-self:stretch;}
  & .deal-card-surface .vv-document-header .msteps {display:grid;grid-auto-flow:row;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));}
  & .vv-document-header > div[style] {gap:18px 28px!important;grid-column:1/-1;}
  & .vv-document-header .kv .k {width:auto;max-width:none;text-align:left;}
  & .vv-document-header .kv > span:last-child {font-size:16px;line-height:1.55;text-align:left;width:100%;}
  & .vv-document-header .pchip-params .ref-picker-line input {display:none;}
  & .vv-document-header .pchip-params .btn {font-size:14px;min-height:38px;}
  & .hero-band {background:transparent;border:0;box-shadow:none;display:flex;align-items:center;flex-wrap:wrap;gap:20px;padding:0 0 20px;border-bottom:1px solid var(--line);}
  & .hero-band > * {min-width:0;}
  & .hero-band .card {background:transparent;border:0;box-shadow:none;}
  & .hero-band .card-b {padding:0;}
  & .hero-band {justify-content:flex-start;}
  /* Заголовок делит строку со статусом и командами (владелец 14.09.2026: «чек,
     статус, дерево, основание — одной строкой»); на узком экране перенесётся. */
  & .hero-band > .card:first-child {width:auto;flex:1 1 420px;min-width:0;}
  & .aa6-order-card-surface:has(.hero-band) > .document-tree-action {display:none;}
  & .hero-band .hero {justify-content:flex-start;padding:0;gap:18px;}
  & .hero-band .hero-t {font-size:28px;font-weight:400;line-height:1.35;letter-spacing:-.5px;}
  & .hero-band .hero-sub {font-size:14px;margin-top:10px;}
  & .hero-band .hero > .pill {display:none;}
  & .hero-band .statusctl {justify-content:flex-start;}
  & .hero-band > .card:has(.statusctl) {width:auto;margin:0;}
  /* Статус и «На основании / Движения / …» — ОДНА строка: пилюля слева, кнопки
     справа (владелец 14.09.2026: «статус занимает очень много места»). Раньше
     hdr-actions падал на отдельный ряд под статусом. */
  & .hero-band {flex-direction:row;}  /* customer-order-head задаёт column+center — от него и «статус посреди строки» */
  & .hero-band > .card:has(.statusctl) {flex:0 0 auto;}
  /* Точечный трекер статусов (заказ покупателя) — своей строкой во всю ширину шапки:
     со flex 1 1 0% его сжимало до ~280px и шаги ломались в три строки (владелец 24.09.2026).
     Во всю ширину вехи стоят одной строкой, а где места нет — переносятся, не прячась;
     кнопки переходов под ними переносятся и не уходят за край (ревью #927, Б1:
     flex:0 0 auto раздувал карточку до 1252px, «Отгрузить» на 1024 была недоступна). */
  & .hero-band > .card:has(.lc) {flex:1 1 100%;min-width:0;}
  & .hero-band .lc .seg {min-width:16px;flex:0 0 16px;margin:0 6px;}
  & .hero-band > .hdr-actions {display:flex;flex:0 0 auto;align-items:center;flex-wrap:wrap;gap:9px;margin:0 0 0 auto;width:auto;}
  /* Пробитый чек: параметры приходят голыми .kv прямо в hero-band — ряд из них
     начинается со следующей строки (margin-left:auto у команд съедает остаток). */
  & .hero-band > .kv {flex:1 1 260px;padding:6px 0;}
  & .hero-band > .hdr-actions .btn {min-height:34px;padding:6px 12px;border-radius:999px;}
  & .hdr-actions .task-header-actions {display:inline-flex;align-items:center;gap:9px;flex-wrap:wrap;}
  & .hdr-actions .task-header-actions .btn {min-height:34px;padding:6px 12px;border-radius:999px;}
  & .hero-band .statusctl .stpill,& .hero-band .statusctl .stmenu > summary {min-height:34px;box-sizing:border-box;}
  & .hero-band {row-gap:14px;}
  & .hero-band > .params {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;gap:18px;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:6px;}
  & .hero-band .params > .pchip {display:flex;flex-direction:column;align-items:stretch;min-width:0;gap:7px;border:0;padding:0;background:transparent;}
  & .hero-band .params > .btn {justify-self:start;}
  & .aa6-tab-area > .seg {margin-bottom:24px;}
  /* В карточке ЗН не дублируем навигацию АРМ: слева уже есть постоянное меню,
     а верхняя полоса отнимала высоту у формы. Вкладки самого документа остаются
     на виду при прокрутке состава. */
  & .aa6-order-card-surface .aa6-tab-area > .seg {position:sticky;top:-32px;z-index:7;background:var(--app-bg);padding-top:2px;box-shadow:0 10px 12px -14px #20232266;}
  /* Контекст автомобиля в ЗН — самостоятельная спокойная карточка с явными
     действиями. Без этой локальной стилизации ссылки наследовали browser-default
     и визуально склеивались в одну строку. */
  & .aa6-order-card-surface .vehicle.vehicle-actions {overflow:hidden;background:#F8F9F6;border:1px solid var(--line);border-radius:6px;}
  & .aa6-order-card-surface .vehicle.no-photo .vrow {min-height:0;padding:18px 20px;align-items:center;gap:14px;}
  & .aa6-order-card-surface .vehicle .vic {width:42px;height:42px;border-radius:4px;background:#E9ECE6;color:#4E5949;font-size:20px;}
  & .aa6-order-card-surface .vehicle .vbody {min-width:0;flex:1;}
  & .aa6-order-card-surface .vehicle .veyebrow {font-size:11px;line-height:1.4;letter-spacing:.7px;text-transform:uppercase;color:var(--muted);}
  & .aa6-order-card-surface .vehicle .vt {font-size:17px;line-height:1.3;font-weight:500;letter-spacing:-.2px;color:var(--ink);}
  & .aa6-order-card-surface .vehicle .vmeta {margin-top:4px;font-size:13px;line-height:1.45;color:var(--muted);}
  & .aa6-order-card-surface .vehicle .vlink {display:inline-flex;align-items:center;gap:4px;margin-left:auto;padding:8px 0;color:var(--blue);font-size:13px;font-weight:500;text-decoration:none;}
  & .aa6-order-card-surface .vehicle .vlink:hover {color:#0924C3;text-decoration:underline;}
  & .aa6-order-card-surface .vehicle .vquicklinks {display:flex;flex-wrap:wrap;gap:8px;padding:0 20px 18px;}
  & .aa6-order-card-surface .vehicle .vquick {display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:7px 10px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--ink);font-size:12.5px;font-weight:500;line-height:1.2;text-decoration:none;}
  & .aa6-order-card-surface .vehicle .vquick:hover {border-color:#AEB7A6;background:#F2F4EF;color:var(--blue);}
  @media (max-width:1100px) {
    & .vv-document-header > .card:has(.statusctl) {position:static;grid-column:1/-1;grid-row:3;justify-self:start;}
  }
  & .profile-hero .ph-icon {background:#E9ECE6;color:#4E5949;border-radius:4px;box-shadow:none;}
  & .profile-hero .ph-title {font-size:24px;font-weight:400;}
  & .profile-hero .ph-owner-name {font-size:14px;font-weight:400;}
  & .profile-hero :is(.ph-sub,.ph-owner-label,.ph-stat-label) {font-size:13px;text-transform:none;letter-spacing:0;}
  & .profile-hero .ph-stat {border-color:var(--line);}
  & .profile-hero .ph-stats {background:transparent;}
  & .profile-hero .ph-id {font-weight:400;letter-spacing:0;}
  /* Catalog profile follows the same Volvo cards as customers and vehicles. */
  & .nomenclature-volvo-surface .hero-band {padding:0;border:0;}
  & .nomenclature-volvo-surface .hero-band > .card {background:var(--surface);border:1px solid var(--line);width:100%;}
  & .nomenclature-volvo-surface .hero-band .card-b {padding:24px;}
  & .nomenclature-volvo-surface .profile-hero .ph-title {font-size:28px;line-height:1.3;overflow-wrap:anywhere;}
  & .nomenclature-volvo-surface .profile-hero .ph-icon {width:72px;height:72px;}
  & .nomenclature-volvo-surface .profile-hero .ph-stats {margin:24px 0 0;padding:20px 0 0;border-top:1px solid var(--line);}
  & .nomenclature-volvo-surface .profile-hero .ph-stat {padding:0 20px;}
  & .nomenclature-volvo-surface .profile-hero .ph-stat:first-child {padding-left:0;}
  & .nomenclature-volvo-surface .profile-hero .ph-stat-value {font-size:18px;font-weight:500;margin-top:8px;}
  & .nomenclature-volvo-surface .seg {flex-wrap:nowrap;overflow-x:auto;gap:24px;scrollbar-width:thin;margin-bottom:24px;}
  & .nomenclature-volvo-surface .seg .tab {flex:0 0 auto;white-space:nowrap;}
  & .nomenclature-volvo-surface .profile-read {gap:24px;}
  & .nomenclature-volvo-surface .profile-section {padding:24px;}
  & .nomenclature-volvo-surface .profile-section h3 {font-size:16px;font-weight:500;}
  & .nomenclature-volvo-surface .profile-data-row {padding:13px 0;}
  & .nomenclature-volvo-surface .profile-data-row :is(.pdr-label,.pdr-value) {font-size:14px;}
  & .nomenclature-volvo-surface .erow {display:block;padding:18px;}
  & .nomenclature-volvo-surface .erow .efs {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:16px;}
  & .nomenclature-volvo-surface .erow .ef {min-width:0;}
  & .nomenclature-volvo-surface .erow .ef .fin {width:100%;min-width:0;box-sizing:border-box;}
  & .nomenclature-volvo-surface .erow .efl {font-size:13px;text-transform:none;letter-spacing:0;font-weight:400;}
  & .nomenclature-volvo-surface .erow .eacts {margin-top:18px;flex-wrap:wrap;}
  & dialog {color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:6px;box-shadow:0 16px 60px #20232220;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);}
  & dialog::backdrop {background:#20232238;backdrop-filter:blur(2px);}
  /* Keep the established AA6 catalogue: groups / selection / composition. */
  & .kit-dlg {width:min(1440px,96vw);padding:0;margin:auto;inset:0;overflow:hidden;}
  & .kit-dlg .kd-top,& .kit-dlg .kd-foot {display:flex;align-items:center;gap:12px;padding:16px 20px;}
  & .kit-dlg .kd-top {border-bottom:1px solid var(--line);}
  & .kit-dlg .kd-top .fin {flex:1;min-width:0;}
  & .kit-dlg .kd-body {display:grid;grid-template-columns:190px minmax(0,1fr) minmax(320px,.9fr);height:min(65dvh,720px);}
  & .kit-dlg :is(.kd-groups,.kd-list,.kd-preview) {overflow:auto;min-width:0;min-height:0;padding:12px;}
  & .kit-dlg .kd-groups {display:flex;flex-direction:column;gap:4px;border-right:1px solid var(--line);}
  & .kit-dlg :is(.kd-g,.kd-row) {display:flex;gap:6px 10px;text-align:left;padding:10px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--ink);font:inherit;cursor:pointer;width:100%;}
  & .kit-dlg .kd-g {justify-content:space-between;}
  & .kit-dlg .kd-row {flex-wrap:wrap;margin-bottom:4px;line-height:1.5;}
  & .kit-dlg :is(.kd-g,.kd-row):hover {background:var(--app-bg);}
  & .kit-dlg :is(.kd-g,.kd-row).is-on {background:var(--info-bg);border-color:var(--blue);}
  & .kit-dlg .kd-head {font-weight:500;}
  & .kit-dlg :is(.kd-tail,.kd-g span) {color:var(--muted);}
  & .kit-dlg .kd-fit {font-size:12px;color:var(--success);}
  & .kit-dlg .kd-preview {border-left:1px solid var(--line);padding:20px;background:var(--app-bg);}
  & .kit-dlg .kd-name {margin:0 0 8px;font-size:17px;font-weight:500;line-height:1.5;}
  & .kit-dlg :is(.kd-sec,.kd-l) {display:grid;grid-template-columns:minmax(0,1fr) 48px 96px;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);}
  & .kit-dlg .kd-sec {margin-top:16px;font-size:12px;color:var(--muted);}
  & .kit-dlg .kd-l {font-size:13px;line-height:1.5;}
  & .kit-dlg .kd-l i {display:block;color:var(--muted);font-style:normal;overflow-wrap:anywhere;}
  & .kit-dlg :is(.kd-sec,.kd-l) span:nth-child(n+2) {text-align:right;}
  & .kit-dlg .kd-total {display:flex;justify-content:space-between;gap:12px;margin-top:20px;font-weight:500;}
  & .kit-dlg .kd-foot {justify-content:space-between;border-top:1px solid var(--line);}
  @media(max-width:900px) {
    & .kit-dlg .kd-body {display:block;overflow:auto;}
    & .kit-dlg .kd-groups {flex-direction:row;flex-wrap:wrap;max-height:150px;overflow:auto;border-right:0;}
    & .kit-dlg .kd-g {width:auto;}
    & .kit-dlg .kd-list {max-height:260px;min-height:180px;}
    & .kit-dlg .kd-preview {overflow:visible;border-left:0;border-top:1px solid var(--line);}
    & .kit-dlg .kd-foot {flex-wrap:wrap;}
  }
  & .params-dlg {margin:0 0 0 auto;position:fixed;inset:0 0 0 auto;width:620px;max-width:100%;height:100dvh;max-height:100dvh;border-radius:0;animation:vv-panel-in var(--vv-panel) ease-out;padding:0;}
  & .params-dlg .dlg-h {padding:24px;font-size:22px;font-weight:400;border-bottom:1px solid var(--line);}
  & .params-dlg .dlg-b {padding:12px 24px 24px;}
  & .params-dlg .pd-group {font-size:15px;font-weight:500;color:var(--ink);margin:24px 0 16px;}
  & .params-dlg .editform.efs-cols {grid-template-columns:minmax(0,1fr);gap:16px;}
  & .params-dlg .pchip {display:flex;flex-direction:column;align-items:stretch;gap:6px;}
  & .params-dlg .dlg-f {position:sticky;bottom:0;background:var(--surface);padding:18px 24px;}
  & .mobile-nav-button {display:none;}
  & .mobile-navigation {padding:16px 0 0;margin:0 auto 0 0;width:320px;max-width:calc(100vw - 32px);height:100dvh;max-height:100dvh;border:0;border-radius:0;}
  & .mobile-nav-close {margin:0 16px 12px;}
  & :is(.link-columns,.link-cols) {gap:28px;}
  & :is(.link-column,.link-col) h3 {font-size:16px;font-weight:500;}
  & :is(.link-columns,.link-cols) a {font-size:14px;line-height:1.7;}
  & .fab {position:static;flex-shrink:0;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:6px;box-shadow:none;}
  & .fab :is(.ft,.fx) {color:var(--muted);}
  & .arm-tabs {background:transparent;border-color:var(--line);}
  & .arm-tabs a {font-size:13px;padding:9px 12px;border-radius:4px;}
  & .arm-tabs a.is-active {color:var(--blue);background:var(--info-bg);font-weight:500;}

  @media(min-width:1700px) {--vv-sidebar:260px;--vv-page:48px;--vv-space:28px;}
  @media(max-width:1200px) {--vv-sidebar:220px;--vv-page:24px;--vv-space:20px; .topbar .search{width:180px;} .wo-toolbar .pchip{flex-basis:180px;} }
  @media(max-width:760px) {
    --vv-sidebar:0px;--vv-page:18px;--vv-title:28px;--vv-space:18px;
    & .shell {grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);}
    & .mobile-nav-button {display:inline-flex;}
    & .mobile-navigation .sidebar {height:auto;max-height:none;overflow:visible;padding:14px 16px;border:0;display:flex;}
    & .sidebar :is(.brand .name,.nav-label,.nav-item>span,.user-chip>div:last-child) {display:block;}
    & .sidebar .nav-item {justify-content:flex-start;gap:10px;}
    & .sidebar .brand {justify-content:flex-start;}
    & .brand {padding:0 0 12px;}
    & .brand .name {font-size:22px;}
    & .sidebar .nav-item {padding:8px 10px;min-height:38px;}
    & .sidebar-foot {padding-top:12px;}
    & .main {min-height:0;}
    & .topbar {padding:12px 18px;gap:10px;}
    & .topbar .search {display:none;}
    & .content {padding:24px 18px;gap:20px;}
    & .card-h {padding:20px 18px 12px;}
    & .card-b {padding:4px 18px 20px;}
    & .wo-toolbar {padding:18px;}
    & .vv-document-header {grid-template-columns:minmax(0,1fr);}
    & .vv-document-header .params .pchip[data-field="vehicle"] {grid-column:1;}
    & .vv-document-header > .card,& .vv-document-header .hdr-actions {grid-column:1;grid-row:auto;justify-self:start;}
    & .wo-toolbar .params {display:grid;grid-template-columns:minmax(0,1fr);width:100%;}
    & .vv-document-header > div[style] {grid-template-columns:minmax(0,1fr)!important;}
    & .hero-band {gap:12px;}
    & .hero-band > .params {grid-template-columns:minmax(0,1fr);padding:18px;}
    & .hero-band .hero-t {font-size:26px;overflow-wrap:anywhere;}
    & .hero-band > .hdr-actions {margin-left:0;}
    & :is(.grid-2,.grid-2e,.tab-cols,.profile-read,.editform,.vv-document-header .params) {grid-template-columns:minmax(0,1fr)!important;}
    & .tab-cols > div:has([name="is_repeat_visit"], [name="reason"]) {grid-column:1/-1!important;}
    & .seg {gap:8px 16px;}
    & .seg .tab {font-size:13px;min-height:40px;}
    & :is(.list-toolbar,.ff) {align-items:stretch;flex-wrap:wrap;}
    & :is(.sw,.ff,.list-toolbar .fin) {width:100%;max-width:100%;min-width:0;}
    & .docfoot .actionbar {gap:8px;padding:13px 18px;}
    & .docfoot .total {flex-basis:100%;}
    & .docfoot .btn {min-height:42px;min-width:0;font-size:13px;padding:8px 10px;}
    & .docfoot .total .tv {font-size:25px;}
    & .docfoot .total .tl {font-size:12px;white-space:normal;}
    & .docfoot .sp {display:none;}
    /* A wrapped action strip must not consume the viewport while reading a form. */
    & .docfoot {position:static;}
    & .profile-hero {grid-template-columns:auto minmax(0,1fr);}
    & .profile-hero .ph-owner {grid-column:1/-1;border:0;padding:0;}
    & .vh .role {margin-left:0;}
    & .fab {display:inline-flex;}
  }
  @media(prefers-reduced-motion:reduce) {&, & *, & *::before, & *::after {animation:none!important;transition:none!important;scroll-behavior:auto!important;}}
  @media print {& .sidebar,& .topbar,& .docfoot,& .fab{display:none;} & .shell{display:block;height:auto;} & .content{overflow:visible;padding:0;} }
}
/* Состав сметы: на всех строках резервируем одну и ту же рейку действий.
   Иначе у строки с корзиной денежные значения съезжали влево относительно строк
   комплекта и шапки таблицы. */
body[data-theme="shift-auto-volvo"] .sectioned-compose .line-columns.inline-pricing::after {
  content:""; flex:0 0 58px;
}
body[data-theme="shift-auto-volvo"] .sectioned-compose .inline-pricing-row .inline-row-actions {
  display:grid; grid-template-columns:28px 28px; column-gap:2px; align-items:center;
  flex:0 0 58px; min-width:58px;
}
body[data-theme="shift-auto-volvo"] .sectioned-compose .inline-pricing-row .row-save {
  grid-column:1; margin-left:0; justify-self:center;
}
body[data-theme="shift-auto-volvo"] .sectioned-compose .inline-pricing-row .row-delete {
  grid-column:2; justify-self:center;
}
/* Добавление позиции — это такая же строка состава, а не отдельная форма ниже
   таблицы. В финансовой сетке остаются те же колонки; действия живут в зоне
   наименования и поэтому не уводят нормо-часы, цену и скидку в сторону. */
body[data-theme="shift-auto-volvo"] .sectioned-compose .inline-pricing-add {
  background:#FAFBF8; border-top:1px dashed var(--line);
}
body[data-theme="shift-auto-volvo"] .sectioned-compose .inline-pricing-add .inline-add-name {
  display:flex; align-items:center; gap:8px; min-width:0;
}
body[data-theme="shift-auto-volvo"] .sectioned-compose .inline-pricing-add .inline-ref {
  flex:1 1 220px; min-width:180px; margin:0;
}
body[data-theme="shift-auto-volvo"] .sectioned-compose .inline-pricing-add .inline-ref > span {display:none;}
body[data-theme="shift-auto-volvo"] .sectioned-compose .inline-pricing-add .inline-ref input {
  width:100%; min-width:0; height:30px; padding:4px 8px;
}
body[data-theme="shift-auto-volvo"] .sectioned-compose .inline-pricing-add .inline-add-buttons {
  display:flex; align-items:center; gap:6px; flex:0 0 auto;
}
body[data-theme="shift-auto-volvo"] .sectioned-compose .inline-pricing-add .inline-add-button {
  min-height:30px; padding:5px 9px; white-space:nowrap; text-decoration:none;
}
body[data-theme="shift-auto-volvo"] .sectioned-compose .inline-pricing-add .inline-add-empty {visibility:hidden;}

/* Одна кнопка сохранения в подвале: строка остаётся редактируемой, а её локальная
   галка не дублирует действие. Коридор удаления сохраняется на месте. */
body[data-theme="shift-auto-volvo"] .sectioned-compose .line-columns.inline-pricing::after {flex-basis:28px;}
body[data-theme="shift-auto-volvo"] .sectioned-compose .inline-pricing-row .inline-row-actions {
  grid-template-columns:28px; flex-basis:28px; min-width:28px;
}
body[data-theme="shift-auto-volvo"] .inline-pricing-row .line-availability.has-menu {overflow:visible;white-space:normal;}
body[data-theme="shift-auto-volvo"] .availability-toggle {
  display:flex;align-items:center;gap:5px;min-height:30px;padding:4px 0;
  color:var(--blue);font:inherit;cursor:pointer;border-radius:4px;
}
body[data-theme="shift-auto-volvo"] .availability-toggle:hover {background:var(--info-bg);}
body[data-theme="shift-auto-volvo"] .availability-toggle:focus-visible {outline:2px solid var(--blue);outline-offset:3px;}
body[data-theme="shift-auto-volvo"] .availability-toggle .availability-none,
body[data-theme="shift-auto-volvo"] .availability-toggle .availability-ok {color:inherit;}
body[data-theme="shift-auto-volvo"] .availability-menu .print-menu-body {left:0;right:auto;}
body[data-theme="shift-auto-volvo"] .sectioned-compose .inline-pricing-row .row-save {display:none;}
/* row-delete держал grid-column:2 из первого правила (для пары save+delete);
   единственная явная колонка теперь одна — сирота-2 создавала имплицитную
   колонку сверх фиксированной ширины 28px, и корзина вылезала за край строки
   (владелец 15.09.2026). */
body[data-theme="shift-auto-volvo"] .sectioned-compose .inline-pricing-row .row-delete {grid-column:1;}

/* Причину обращения правят непосредственно в её строке; добавление новой причины
   на карточке наряда намеренно не предлагается. Сохранение — общей кнопкой снизу. */
body[data-theme="shift-auto-volvo"] .cause-inline {
  display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;align-items:center;
  padding:10px 0;border-top:1px solid var(--line);
}
body[data-theme="shift-auto-volvo"] .cause-inline:first-child {border-top:0;}
body[data-theme="shift-auto-volvo"] .cause-inline .cic {
  display:grid;place-items:center;width:32px;height:32px;border-radius:4px;
  background:var(--info-bg);color:var(--blue);
}
body[data-theme="shift-auto-volvo"] .cause-inline-form {
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;margin:0;
}
body[data-theme="shift-auto-volvo"] .cause-inline-form .efs {min-width:0;flex:1;}
/* .ef наследует flex:0 1 auto (.erow .ef, generic) — по размеру контента, что и держало
   textarea узкой в широкой строке (14.09.2026); здесь поле одно и должно занимать всю
   ширину .efs. */
body[data-theme="shift-auto-volvo"] .cause-inline-form .ef {min-width:0;flex:1;}
body[data-theme="shift-auto-volvo"] .cause-inline-form .efl {display:none;}
body[data-theme="shift-auto-volvo"] .cause-inline-form textarea.fin {
  width:100%;box-sizing:border-box;min-height:40px;height:40px;resize:vertical;line-height:1.4;
}
body[data-theme="shift-auto-volvo"] .cause-inline-form .eacts {display:flex;align-items:center;}
body[data-theme="shift-auto-volvo"] .cause-inline-form .eacts .btn {min-width:36px;padding:8px;}

/* Аналоги — спокойный раскрывающийся блок под строкой. Раньше эти классы были
   оформлены только в теме AA6, поэтому в Volvo отображались как сырой HTML. */
body[data-theme="shift-auto-volvo"] .sectioned-compose .analog-d {
  margin:4px 8px 8px 42px; max-width:640px; border:1px solid var(--line);
  border-radius:4px; background:var(--surface); overflow:hidden;
}
body[data-theme="shift-auto-volvo"] .sectioned-compose .analog-d > summary {
  display:flex; align-items:center; gap:7px; min-height:34px; padding:6px 10px;
  color:var(--muted); font-size:12.5px; font-weight:500; cursor:pointer; list-style:none;
}
body[data-theme="shift-auto-volvo"] .sectioned-compose .analog-d > summary::-webkit-details-marker {display:none;}
body[data-theme="shift-auto-volvo"] .sectioned-compose .analog-d > summary::before {
  content:"›"; display:inline-block; color:var(--ink); font-size:16px; line-height:1;
  transition:transform var(--vv-fast);
}
body[data-theme="shift-auto-volvo"] .sectioned-compose .analog-d[open] > summary {
  color:var(--ink); background:#F7F9F4; border-bottom:1px solid var(--line);
}
body[data-theme="shift-auto-volvo"] .sectioned-compose .analog-d[open] > summary::before {transform:rotate(90deg);}
body[data-theme="shift-auto-volvo"] .sectioned-compose .tag-flow {
  display:inline-block; margin-left:6px; padding:2px 6px; border-radius:4px; font-size:11.5px; font-weight:500; white-space:nowrap;
  background:var(--mist); color:var(--muted);
}
body[data-theme="shift-auto-volvo"] .sectioned-compose .tag-flow-ok {color:var(--success);background:var(--success-bg);}
body[data-theme="shift-auto-volvo"] .sectioned-compose .tag-flow-warn {color:var(--warning);background:var(--warning-bg);}
body[data-theme="shift-auto-volvo"] .sectioned-compose .tag-flow-res {color:var(--blue);background:var(--info-bg);}
body[data-theme="shift-auto-volvo"] .sectioned-compose .line-extra {min-width:170px;}
body[data-theme="shift-auto-volvo"] .sectioned-compose .line-extra :is(select,.fin,input) {min-height:34px;font-size:13px;padding:4px 8px;}
body[data-theme="shift-auto-volvo"] .sectioned-compose .line-head-extra {min-width:170px;}
body[data-theme="shift-auto-volvo"] .sectioned-compose .analog-head {
  display:grid; grid-template-columns:minmax(0,1fr) auto 90px; gap:10px; align-items:center;
  padding:6px 10px; border-bottom:1px solid var(--line); background:#F7F9F4;
  font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.04em; color:var(--muted);
}
body[data-theme="shift-auto-volvo"] .sectioned-compose .analog-head .ao-price {text-align:right;}
body[data-theme="shift-auto-volvo"] .sectioned-compose .analog-list {display:flex;flex-direction:column;}
body[data-theme="shift-auto-volvo"] .sectioned-compose .analog-form {margin:0;}
body[data-theme="shift-auto-volvo"] .sectioned-compose .analog-opt {
  display:grid; grid-template-columns:minmax(0,1fr) auto 90px; gap:10px; align-items:center;
  width:100%; border:0; border-top:1px solid var(--line); background:transparent; padding:8px 10px;
  text-align:left; font:inherit; font-size:13px; color:var(--ink); cursor:pointer;
}
body[data-theme="shift-auto-volvo"] .sectioned-compose .analog-opt:hover {background:var(--info-bg);}
body[data-theme="shift-auto-volvo"] .sectioned-compose .analog-opt .ao-name {min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
body[data-theme="shift-auto-volvo"] .sectioned-compose .analog-opt i {font-style:normal;color:var(--muted);font-size:12px;}
body[data-theme="shift-auto-volvo"] .sectioned-compose .analog-opt .ao-price {text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;}
body[data-theme="shift-auto-volvo"] .sectioned-compose .analog-d :is(.tag-have,.tag-none) {
  display:inline-block; padding:2px 6px; border-radius:4px; font-size:11.5px; font-weight:500; white-space:nowrap;
}
body[data-theme="shift-auto-volvo"] .sectioned-compose .analog-d .tag-have {color:var(--success);background:var(--success-bg);}
body[data-theme="shift-auto-volvo"] .sectioned-compose .analog-d .tag-none {color:var(--danger);background:var(--danger-bg);}
@media(max-width:760px) {
  body[data-theme="shift-auto-volvo"] .sectioned-compose .line-columns.inline-pricing::after {display:none;}
  body[data-theme="shift-auto-volvo"] .sectioned-compose .inline-pricing-row .inline-row-actions {flex-basis:58px;}
  body[data-theme="shift-auto-volvo"] .sectioned-compose .inline-pricing-add .inline-add-name {flex-wrap:wrap;}
  body[data-theme="shift-auto-volvo"] .sectioned-compose .inline-pricing-add .inline-ref {flex-basis:100%;}
  body[data-theme="shift-auto-volvo"] .sectioned-compose .analog-d {margin-left:0;max-width:none;}
  body[data-theme="shift-auto-volvo"] .sectioned-compose .analog-opt {grid-template-columns:minmax(0,1fr) auto;}
  body[data-theme="shift-auto-volvo"] .sectioned-compose .analog-opt .ao-price {grid-column:2;}
  body[data-theme="shift-auto-volvo"] .sectioned-compose .analog-head {grid-template-columns:minmax(0,1fr) auto;}
  body[data-theme="shift-auto-volvo"] .sectioned-compose .analog-head .ao-price {display:none;}
}
@keyframes vv-panel-in {from{opacity:.5;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}
/* Пилот tenant 3: сервисный поток и снабжение используют общие kanban-компоненты,
   а эти правила ограничены поверхностями пилота. */
body[data-theme="shift-auto-volvo"] :is(.service-flow-surface,.service-parts-flow-surface) .kanban-col {
  border:1px solid var(--color-border-tertiary);
  border-top:3px solid var(--kanban-accent,var(--color-border-secondary));
  border-radius:6px;
  background:var(--color-background-secondary);
}
body[data-theme="shift-auto-volvo"] :is(.service-flow-surface,.service-parts-flow-surface) .kanban-card-line,
body[data-theme="shift-auto-volvo"] :is(.service-flow-surface,.service-parts-flow-surface) .kanban-card-sub {
  white-space:normal;
  overflow-wrap:anywhere;
  line-height:1.4;
}
@media (max-width:760px) {
  body[data-theme="shift-auto-volvo"] :is(.service-flow-surface,.service-parts-flow-surface) .kanban-board {
    grid-auto-columns:minmax(82vw,82vw);
    scroll-snap-type:x proximity;
  }
  body[data-theme="shift-auto-volvo"] :is(.service-flow-surface,.service-parts-flow-surface) .kanban-col {
    scroll-snap-align:start;
  }
}

/* Procurement creation has a visible need and one editor per header field. */
body[data-theme="shift-auto-volvo"] .procurement-create-grid {display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:20px;align-items:start;}
body[data-theme="shift-auto-volvo"] .procurement-create-details [data-field="reason"] {grid-column:1/-1;}
body[data-theme="shift-auto-volvo"] .procurement-create-details textarea {min-height:72px;}
body[data-theme="shift-auto-volvo"] .procurement-create-grid .editform {grid-template-columns:minmax(0,1fr);}
body[data-theme="shift-auto-volvo"] .create-prefill-table {overflow-x:auto;}
body[data-theme="shift-auto-volvo"] .create-prefill-table table {width:100%;table-layout:fixed;}
body[data-theme="shift-auto-volvo"] .create-prefill-table th:first-child {width:55%;}
body[data-theme="shift-auto-volvo"] .create-prefill-table th:last-child {width:110px;}
body[data-theme="shift-auto-volvo"] .create-prefill-table :is(input,select) {width:100%;min-width:0;box-sizing:border-box;}
@media(max-width:1000px) {
 body[data-theme="shift-auto-volvo"] .procurement-create-grid {grid-template-columns:minmax(0,1fr);}
 body[data-theme="shift-auto-volvo"] .procurement-create-details .efs-cols {grid-template-columns:minmax(0,1fr);}
}

body[data-theme="shift-auto-volvo"] .procurement-create-details .card .editform.efs-cols {grid-template-columns:repeat(3,minmax(0,1fr));}
body[data-theme="shift-auto-volvo"] .procurement-create-grid > .card {margin-top:0;}
@media(max-width:1000px) {
 body[data-theme="shift-auto-volvo"] .procurement-create-details .card .editform.efs-cols {grid-template-columns:minmax(0,1fr);}
}
