/* Шрифт Inter хранится на сайте (без запросов к Google): так страница открывается быстрее */
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/inter-400.woff) format("woff")}
@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/inter-500.woff) format("woff")}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/inter-600.woff) format("woff")}
@font-face{font-family:Inter;font-style:normal;font-weight:700 800;font-display:swap;src:url(../fonts/inter-700.woff) format("woff")}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: #F5F5F7; }
a { color: inherit; text-decoration: none; }
a:hover { opacity: .78; }
.nl:hover { opacity: .6; }
.pb:hover { background: #2459B8 !important; opacity: 1; }
.gb:hover { filter: brightness(1.1); opacity: 1; transform: translateY(-2px); }
.ob:hover { background: #E6EEFB !important; opacity: 1; }
.btn:hover { opacity: 1; transform: translateY(-2px); }
.tab:hover { background: #EBEBF0; }
input:focus, select:focus, button:focus-visible, a:focus-visible { outline: 3px solid #3070DE; outline-offset: 2px; }

/* Админ-панель */
.admin-wrap { overflow-x: auto; border: 1.5px solid #E5E5EA; border-radius: 20px; background: #FFFFFF; }
.admin-table { width: 100%; border-collapse: collapse; font-size: 15px; }
.admin-table th { text-align: left; white-space: nowrap; padding: 14px 16px; background: #EBEBF0; font-weight: 600; }
.admin-table td { padding: 12px 16px; border-top: 1px solid #E5E5EA; vertical-align: top; }
.admin-table td.nowrap { white-space: nowrap; }

/* Кабинет исполнителя: боковое меню и карточки */
.side-nav { display: flex; flex-direction: column; gap: 6px; }
.side-item { display: flex; justify-content: space-between; align-items: center; gap: 10px; width: 100%; min-height: 48px; padding: 8px 18px; border: 0; border-radius: 18px; background: transparent; color: #1D1D1F; font-family: inherit; font-size: 17px; font-weight: 600; text-align: left; cursor: pointer; }
.side-item:hover { background: rgba(255, 255, 255, .55); }
.side-item-on, .side-item-on:hover { background: #FFFFFF; box-shadow: 0 2px 10px rgba(0, 0, 0, .10); }
.side-badge { flex: 0 0 auto; min-width: 26px; padding: 2px 8px; border-radius: 999px; background: #3070DE; color: #FFFFFF; font-size: 14px; font-weight: 700; text-align: center; }
.side-badge-news { background: #F6E48C; }
.side-badge-green { background: #2FA84F; }
.dash-main > section { background: #F5F5F7; border-radius: 28px; padding: 28px; max-width: none !important; }
@media (max-width: 860px) {
  .dash-side { flex-basis: 100% !important; }
  .side-nav { flex-direction: row; flex-wrap: wrap; }
  .side-item { width: auto; }
  .dash-main { padding: 18px !important; }
  .dash-main > section { padding: 20px; }
}

/* печать сметы: показываем только блок #est-print */
#est-print { display: none; }
/* поля страницы 0: браузер не печатает адрес сайта, дату и номер страницы; отступ задан внутри #est-print */
@page { size: A4; margin: 0; }
@media print {
  body > *:not(#est-print) { display: none !important; }
  html, body { background: #fff !important; margin: 0 !important; padding: 0 !important; min-height: 0 !important; height: auto !important; }
  #est-print { display: block !important; padding: 10mm 10mm; color: #000; background: #fff; font-family: 'Inter', Arial, sans-serif; font-size: 14px; }
  #est-print table { width: 100%; border-collapse: collapse; }
  #est-print th, #est-print td { border: 1px solid #999; padding: 6px 8px; text-align: left; }
  #est-print td.num, #est-print th.num { text-align: right; white-space: nowrap; }
  #est-print .timing-paper { max-width: none; border-radius: 0; }
}

/* предпросмотр сметы рядом с формой */
.est-cols { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: start; }
.est-prev { min-width: 0; }
.est-prev #e-prev { overflow-x: auto; }
@media (min-width: 1180px) {
  .est-cols { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); }
  .est-prev { position: sticky; top: 16px; max-height: calc(100vh - 32px); overflow-y: auto; }
}

/* редактор пользовательского соглашения в админке: правка прямо на макете страницы */
.agr-ed [contenteditable] { border-radius: 6px; outline: 1.5px dashed transparent; outline-offset: 3px; cursor: text; min-width: 40px; }
.agr-ed [contenteditable]:hover { outline-color: #A1A1A6; }
.agr-ed [contenteditable]:focus { outline: 2px solid #3070DE; }
.agr-ed [contenteditable]:empty::before { content: attr(data-ph); color: #A1A1A6; }
.agr-ed .agr-row { position: relative; }
.agr-ed .agr-tools { position: absolute; top: -6px; right: -6px; display: flex; gap: 4px; opacity: 0; transition: opacity .15s; z-index: 2; }
.agr-ed .agr-row:hover .agr-tools, .agr-ed .agr-row:focus-within .agr-tools { opacity: 1; }
.agr-ed .agr-tools button { width: 28px; height: 28px; padding: 0; border: 1.5px solid #D2D2D7; border-radius: 50%; background: #FFFFFF; color: #1D1D1F; font-family: inherit; font-size: 15px; line-height: 1; cursor: pointer; }

/* ---------- телефоны: меню-«бургер» в шапке и выпадающий список разделов кабинета ---------- */
.m-burger, .m-sel { display: none; }
@media (max-width: 860px) {
  .m-burger { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; margin-left: auto; padding: 0; border: 1.5px solid #D2D2D7; border-radius: 14px; background: #FFFFFF; color: #1D1D1F; font-family: inherit; font-size: 24px; line-height: 1; cursor: pointer; }
  .m-burger:focus-visible, .m-sel:focus-visible { outline: 3px solid #3070DE; outline-offset: 2px; }
  nav.m-collapsible.m-head { display: none !important; flex: 1 1 100%; flex-direction: column !important; align-items: stretch !important; gap: 0 !important; padding: 8px; border-radius: 20px; background: #FFFFFF; box-shadow: 0 8px 28px rgba(0, 0, 0, .12); box-sizing: border-box; }
  nav.m-collapsible.m-head.m-open { display: flex !important; }
  nav.m-collapsible.m-head > a, nav.m-collapsible.m-head > button { display: flex !important; align-items: center; width: 100%; min-height: 48px; box-sizing: border-box; padding: 10px 16px !important; border-radius: 12px !important; font-size: 17px !important; border: 0 !important; background: transparent; }
  nav.m-collapsible.m-head > a:hover { background: #F5F5F7; }
  nav.m-collapsible.m-head > a[href*="registr"], nav.m-collapsible.m-head > a.m-cta { background: linear-gradient(100deg, #6E33B0 0%, #A02C6E 52%, #CF2E33 100%) !important; color: #FFFFFF !important; justify-content: center; margin-top: 4px; }

  .m-sel { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 52px; padding: 0 18px; border: 0; border-radius: 18px; background: #FFFFFF; box-shadow: 0 2px 10px rgba(0, 0, 0, .10); color: #1D1D1F; font-family: inherit; font-size: 17px; font-weight: 600; text-align: left; cursor: pointer; }
  .m-sel .m-sel-t { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .m-sel .m-sel-c { flex: 0 0 auto; transition: transform .15s; }
  .m-sel[aria-expanded="true"] .m-sel-c { transform: rotate(180deg); }
  .side-nav.m-collapsible { display: none; padding-top: 6px; }
  .side-nav.m-collapsible.m-open { display: flex; flex-direction: column; flex-wrap: nowrap; }
  .side-nav.m-collapsible .side-item { width: 100%; }
}
@media (max-width: 860px) {
  header > div { flex-basis: 100%; }
  header { padding-left: 16px !important; padding-right: 16px !important; }
}

/* ---------- телефоны: таблицы и формы смет карточками ---------- */
.est-lbl { display: none; }
@media (max-width: 700px) {
  #stats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
  #stats > div { padding: 14px 16px !important; }

  .admin-wrap { overflow: visible; border: 0; background: transparent; }
  .admin-table, .admin-table tbody, .admin-table tr, .admin-table td { display: block; width: 100%; box-sizing: border-box; }
  .admin-table thead { display: none; }
  .admin-table tr { margin: 0 0 12px; padding: 8px 16px; border: 1.5px solid #E5E5EA; border-radius: 18px; background: #FFFFFF; }
  .admin-table td { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; padding: 8px 0; border-top: 1px solid #F0F0F3; text-align: right; overflow-wrap: break-word; word-break: normal; }
  .admin-table td:first-child { border-top: 0; }
  .admin-table td::before { content: attr(data-label); flex: 0 0 41%; max-width: 41%; overflow-wrap: normal; color: #6E6E73; font-size: 13px; font-weight: 600; text-align: left; }
  .admin-table td.nowrap { white-space: normal; }
  .admin-table td > * { min-width: 0; }

  .est-head { display: none !important; }
  .est-row { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; padding: 14px; border-radius: 18px; background: #FFFFFF; box-shadow: 0 2px 10px rgba(0, 0, 0, .06); align-items: end !important; }
  .est-row > .est-cell:nth-child(1) { grid-column: 1 / -1; }
  .est-row > .est-cell:nth-child(6) { grid-column: 1 / -1; justify-self: end; }
  .est-row > .est-cell:nth-child(5) { text-align: right; align-self: center; }
  .est-lbl { display: block; margin-bottom: 4px; color: #515154; font-size: 13px; font-weight: 600; }
  #e-rows { gap: 12px; }
}
fieldset { min-width: 0; max-width: 100%; box-sizing: border-box; }

/* ---------- телефоны, кабинет исполнителя: нижняя панель вкладок и лист «Ещё» (js/app-nav.js) ---------- */
.app-bar, .app-sheet, .app-gear { display: none; }
@media (max-width: 640px) {
  body.app-m { padding-bottom: calc(84px + env(safe-area-inset-bottom, 0px)); }
  body.app-m .m-sel, body.app-m #tabs { display: none !important; }
  body.app-m .app-bar { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; justify-content: space-around; padding: 8px 8px calc(8px + env(safe-area-inset-bottom, 0px)); background: rgba(255, 255, 255, .94); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-top: 1px solid #E5E5EA; }
  .app-b { position: relative; flex: 1 1 0; min-width: 0; min-height: 56px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; padding: 4px 2px; border: 0; border-radius: 16px; background: transparent; color: #6E6E73; font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 600; cursor: pointer; }
  body.app-m .app-gear:not([hidden]) { display: flex; align-items: center; justify-content: center; position: absolute; top: 16px; right: 12px; z-index: 39; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .94); box-shadow: 0 1px 6px rgba(0, 0, 0, .18); color: #6E6E73; cursor: pointer; }
  .app-gear svg { width: 20px; height: 20px; }
  .app-gear-on { color: #3070DE; box-shadow: 0 1px 6px rgba(0, 0, 0, .18), inset 0 0 0 2px #3070DE; }
  .app-gear:focus-visible { outline: 3px solid #3070DE; outline-offset: 2px; }
  .app-b-on { color: #3070DE; }
  .app-b-on .app-ic { background: #E4ECFB; }
  .app-ic { display: flex; align-items: center; justify-content: center; width: 52px; height: 30px; border-radius: 999px; }
  .app-bl { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .app-badge { position: absolute; top: 2px; left: calc(50% + 8px); min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: #B5E3BE; color: #1D1D1F; font-size: 11px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
  .app-b:focus-visible, .app-tile:focus-visible { outline: 3px solid #3070DE; outline-offset: 2px; }
  body.app-m .app-sheet:not([hidden]) { display: block; position: fixed; inset: 0; z-index: 60; }
  .app-dim { position: absolute; inset: 0; background: rgba(0, 0, 0, .4); }
  .app-box { position: absolute; left: 0; right: 0; bottom: 0; max-height: 82vh; overflow-y: auto; padding: 10px 16px calc(24px + env(safe-area-inset-bottom, 0px)); border-radius: 28px 28px 0 0; background: #FFFFFF; box-shadow: 0 -10px 40px rgba(0, 0, 0, .2); }
  .app-grab { width: 40px; height: 5px; margin: 0 auto 14px; border-radius: 3px; background: #D1D1D6; }
  .app-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
  .app-tile { position: relative; min-height: 96px; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 8px; padding: 14px 4px 12px; border: 0; border-radius: 20px; background: #F5F5F7; color: #1D1D1F; font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 600; text-align: center; overflow-wrap: normal; cursor: pointer; }
  .app-tile .app-ic { width: 40px; height: 40px; border-radius: 14px; background: #E4ECFB; color: #3070DE; }
  .app-tile-on { box-shadow: inset 0 0 0 2px #3070DE; }
  .app-tile-gift { background: #FCF3C4; }
  .app-tile-gift .app-ic { background: #FFFFFF; color: #C0495F; }
  .app-tile-dark { background: #1D1D1F; color: #FFFFFF; }
  .app-tile-dark .app-ic { background: #3A3A3F; color: #FFFFFF; }
  .app-tile .app-badge { top: 8px; left: auto; right: 8px; }
}

/* ---------- телефоны, кабинет заказчика: шапка без кнопок (они в нижней панели), лист «Мои праздники» и «Профиль» (js/app-nav-c.js) ---------- */
@media (max-width: 640px) {
  body.app-c #support-btn, body.app-c #logout, body.app-c #settings-btn { display: none !important; }
  body.app-c #settings { position: fixed !important; top: auto !important; left: 12px !important; right: 12px !important; bottom: calc(84px + env(safe-area-inset-bottom, 0px)) !important; width: auto !important; max-width: none !important; max-height: 70vh; overflow-y: auto; z-index: 70 !important; }
  .app-ttl { margin: 0 0 12px; font-family: 'Inter', sans-serif; font-size: 20px; font-weight: 600; letter-spacing: -0.02em; }
  .app-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .app-rows { display: flex; flex-direction: column; gap: 8px; }
  .app-row { min-height: 52px; padding: 0 18px; border: 0; border-radius: 18px; background: #F5F5F7; color: #1D1D1F; font-family: 'Inter', sans-serif; font-size: 16px; font-weight: 600; text-align: left; cursor: pointer; overflow-wrap: anywhere; }
  .app-row-on { background: #E4ECFB; box-shadow: inset 0 0 0 2px #3070DE; }
  .app-row-new { background: transparent; box-shadow: inset 0 0 0 1.5px #A1A1A6; color: #3070DE; }
  .app-row:focus-visible { outline: 3px solid #3070DE; outline-offset: 2px; }
}
#pw-open { align-items: center; justify-content: center; }

/* ---------- телефоны, главная: компактная шапка и нижняя панель (js/app-nav-i.js) ---------- */
a.app-b { text-decoration: none; }
@media (max-width: 640px) {
  body.app-i header nav, body.app-i header .m-burger { display: none !important; }
  body.app-i header a[href="#top"] { display: grid !important; grid-template-columns: auto 1fr; column-gap: 10px !important; row-gap: 0 !important; align-items: center !important; align-content: center; grid-template-rows: auto auto; }
  body.app-i header a[href="#top"] > span { align-self: auto !important; margin: 0 !important; }
  body.app-i header a[href="#top"] > svg { grid-row: 1 / span 2; }
  body.app-i header a[href="#top"] > span:last-child { font-size: 12px !important; line-height: 1.2; white-space: nowrap; }
  body.app-i header a[href="#top"] > span:nth-child(2) { line-height: 1.1 !important; align-self: end !important; }
  body.app-i header a[href="#top"] > span:last-child { align-self: start !important; }
  body.app-i header > div { min-height: 52px !important; padding: 0 20px !important; }
  body.app-i #top { padding-top: 28px !important; }
  body.app-i .app-b { font-size: 10.5px; padding-left: 0; padding-right: 0; letter-spacing: -0.01em; }
  body.app-i .app-ic { width: 44px; }
}

/* телефоны: клетки календаря «Свободные даты» квадратные, а не вытянутые */
@media (max-width: 640px) {
  .cal-grid { gap: 5px !important; }
  .cal-day { min-height: 50px !important; padding: 4px 2px !important; border-radius: 12px !important; font-size: 14px !important; }
  .cal-day span:nth-child(2) { font-size: 9px !important; }
}

/* Смета на телефоне: четыре вкладки сеткой 2×2 */
@media (max-width: 640px) {
  #est-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  #est-tabs button { padding: 6px 6px !important; font-size: 13px !important; line-height: 1.2; min-height: 42px !important; width: 100%; overflow-wrap: anywhere; }
}

/* Телефоны, кабинеты исполнителя и заказчика: без рамок-карточек, содержимое на всю ширину экрана */
@media (max-width: 640px) {
  body.app-m :is(div, main):has(> .dash), body.app-c :is(div, main):has(> .dash) { padding: 8px 0 80px !important; }
  body.app-m .dash, body.app-c .dash { border-radius: 0 !important; box-shadow: none !important; background: transparent !important; min-height: 0 !important; }
  body.app-m .dash-side, body.app-c .dash-side { border-radius: 0; }
  body.app-m .dash-main, body.app-c .dash-main { padding: 16px !important; }
  body.app-m .dash-main > section, body.app-c .dash-main > section { background: transparent !important; border-radius: 0 !important; padding: 0 !important; }
  body.app-m #view-profile #card-form { max-width: none !important; flex-basis: 100% !important; }
}

/* Телефон, «Тайминг»: три вкладки — минималистичный переключатель в один ряд */
@media (max-width: 640px) {
  #tm-nav button { padding: 6px 4px !important; font-size: 14px !important; width: 100%; overflow-wrap: anywhere; }
}

/* Телефон, кабинет заказчика: «Конструктор праздника» — небольшая шкала прогресса под переключателем (js/app-nav-c.js) */
@media (max-width: 640px) {
  body.app-c #side.side-m { flex: 1 1 100%; min-width: 0; padding: 12px 16px !important; border-radius: 18px !important; background: #FFFFFF !important; box-shadow: 0 2px 10px rgba(0, 0, 0, .06); gap: 0 !important; }
  body.app-c #side.side-m ul { display: none !important; }
}

/* Телефон, «Анкеты» и «Визитница ивенторов»: кнопки-вкладки и виды деятельности плиткой по две в ряд */
@media (max-width: 640px) {
  #fm-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  #fm-tabs button { width: 100%; min-width: 0; min-height: 42px !important; padding: 6px 6px !important; font-size: 13px !important; line-height: 1.2; overflow-wrap: anywhere; }
}

/* Телефон, «Смета»: кнопки под формой («Сохранить», «Отправить», «Печать») в один ряд, кнопки в списке сметы сеткой 2×2 */
@media (max-width: 640px) {
  #e-actions { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px !important; }
  #e-actions button { width: 100%; min-width: 0; min-height: 56px !important; padding: 6px 6px !important; font-size: 14px !important; line-height: 1.2; overflow-wrap: anywhere; box-shadow: none !important; }
  #est-list .est-acts { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px !important; width: 100%; }
  #est-list .est-acts button { width: 100%; min-width: 0; padding: 6px 8px !important; line-height: 1.2; }
}

/* Телефон, кабинет заказчика: отклики исполнителей компактными карточками (js/cabinet.js, функция card):
   фото слева, справа имя, «вид · город · цена» и зелёная отметка о свободной дате, кнопки под ними в ряд */
@media (max-width: 640px) {
  body.app-c #chips { flex-wrap: nowrap !important; overflow-x: auto; gap: 8px !important; margin-left: -16px; margin-right: -16px; padding: 4px 16px 8px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  body.app-c #chips::-webkit-scrollbar { display: none; }
  body.app-c #chips button { flex: 0 0 auto; min-height: 44px !important; padding: 0 18px !important; font-size: 16px !important; white-space: nowrap; }
  body.app-c #cards { display: flex !important; flex-direction: column; gap: 12px !important; }
  body.app-c #cards > .pc { display: grid !important; grid-template-columns: 84px minmax(0, 1fr); grid-template-rows: auto auto; gap: 6px 14px; align-content: start; height: auto !important; padding: 12px; border-radius: 22px !important; background: #FFFFFF !important; box-shadow: 0 2px 10px rgba(0, 0, 0, .06); overflow: visible !important; }
  body.app-c #cards > .pc > .pc-ph { grid-column: 1; grid-row: 1 / span 2; width: 84px; height: 84px !important; border-radius: 18px; overflow: hidden; }
  body.app-c #cards > .pc > .pc-ph span { font-size: 34px !important; }
  body.app-c #cards > .pc > .pc-in { display: contents !important; }
  body.app-c #cards > .pc .pc-head { grid-column: 2; grid-row: 1; display: block !important; min-width: 0; align-self: start; }
  body.app-c #cards > .pc .pc-head h3 { display: block; margin: 0 0 2px !important; font-size: 18px !important; line-height: 1.2; }
  body.app-c #cards > .pc .pc-head p { display: inline; font-size: 14px; line-height: 1.35; color: #6E6E73; font-weight: 400 !important; }
  body.app-c #cards > .pc .pc-head p:not(:last-child)::after { content: ' · '; }
  body.app-c #cards > .pc .pc-head p:last-child:not(:first-of-type) { color: #1D1D1F; font-weight: 600 !important; }
  body.app-c #cards > .pc .pc-chip { grid-column: 2; grid-row: 2; align-self: start !important; justify-self: start; padding: 4px 10px !important; font-size: 13px !important; background: #DDF1E1 !important; color: #2C6B3C; }
  body.app-c #cards > .pc .pc-act { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px !important; margin-top: 4px !important; }
  body.app-c #cards > .pc .pc-act button { min-height: 44px !important; font-size: 14px !important; padding: 0 8px !important; }
  body.app-c #cards > .pc .pc-msg { grid-column: 1 / -1; font-size: 13px !important; }
  body.app-c #cards > .pc .pc-msg:empty { display: none; }
}

/* Телефон, кабинет заказчика: аватар с именем и городом в шапке справа (js/app-nav-c.js), без заголовка праздника, города и приветствия */
@media (max-width: 640px) {
  body.app-c header > .prof-m { flex: 0 1 auto !important; flex-basis: auto !important; max-width: 58%; display: flex; align-items: center; gap: 10px !important; margin-left: auto; }
  body.app-c header > .prof-m #side-avatar { width: 44px !important; height: 44px !important; font-size: 18px !important; }
  body.app-c header > .prof-m #side-name { font-size: 16px !important; line-height: 1.2; text-align: left; }
  body.app-c header > .prof-m #side-sub { font-size: 13px !important; }
  body.app-c #page-title, body.app-c #page-sub, body.app-c #greeting { display: none !important; }
}

/* Кабинет заказчика на телефоне: синяя полоска «Личный кабинет заказчика» не нужна; аватарка в шапке — кнопка «Профиль» */
@media (max-width: 640px) {
  body.app-c .dash-side { display: none !important; } /* в боковой панели на телефоне остаётся только пустой синий фон */
  body.app-c .dash-side .side-label { display: none !important; }
  body.app-c header > .prof-m { cursor: pointer; -webkit-tap-highlight-color: transparent; }
  body.app-c header > .prof-m:focus-visible { outline: 3px solid #1D1D1F; outline-offset: 3px; border-radius: 999px; }
}

/* Телефон, кабинет заказчика, «Мои ивенторы»: список оформлен как отклики на заявку (фото слева, имя, «вид · цена», отметка статуса) */
@media (max-width: 640px) {
  body.app-c #view-booked { gap: 12px !important; }
  body.app-c #view-booked h2 { font-size: 24px !important; }
  body.app-c #view-booked .bk-intro { display: none; }
  body.app-c #bk-sum { gap: 8px !important; }
  body.app-c #bk-sum span { padding: 5px 12px !important; font-size: 14px; }
  body.app-c #bk-groups { gap: 20px !important; }
  body.app-c #bk-groups h3 { font-size: 19px !important; }
  body.app-c #bk-groups li.bc { display: grid !important; grid-template-columns: 84px minmax(0, 1fr); grid-template-rows: auto auto; gap: 6px 14px !important; align-items: start !important; padding: 12px !important; border-radius: 22px !important; border-width: 0 !important; border-left: 0 !important; background: #FFFFFF !important; box-shadow: 0 2px 10px rgba(0, 0, 0, .06); }
  body.app-c #bk-groups li.bc > .bc-ph { grid-column: 1; grid-row: 1 / span 2; width: 84px !important; height: 84px !important; border-radius: 18px !important; font-size: 34px !important; }
  body.app-c #bk-groups li.bc > .bc-box { display: contents !important; }
  body.app-c #bk-groups li.bc .bc-head { grid-column: 2; grid-row: 1; min-width: 0; display: block !important; }
  body.app-c #bk-groups li.bc .bc-head span:first-child { display: block; font-size: 18px !important; line-height: 1.2; margin-bottom: 2px; }
  body.app-c #bk-groups li.bc .bc-head span:last-child { font-size: 14px !important; color: #6E6E73 !important; }
  body.app-c #bk-groups li.bc > .bc-chip { grid-column: 2; grid-row: 2; justify-self: start; align-self: start; padding: 4px 10px !important; font-size: 13px !important; }
  body.app-c #bk-groups li.bc .bc-box > span:not(.bc-head) { grid-column: 1 / -1; font-size: 13px !important; }
  body.app-c #bk-groups li.bc > .bc-act { grid-column: 1 / -1; width: 100%; min-height: 44px !important; font-size: 14px !important; }
}
@media (max-width: 640px) {
  /* на странице «Мои ивенторы» пустые блоки над списком (чипы видов, строка статуса) не занимают места */
  body.app-c.tab-booked #chips, body.app-c.tab-booked .dash-main > div:has(#responded) { display: none !important; }
}

/* Телефон, кабинет заказчика: аватарка с именем и городом — по центру нижней панели, открывает «Профиль» */
@media (max-width: 640px) {
  body.app-c .app-bar > .prof-b { flex: 1.3 1 0; min-width: 0; min-height: 56px; display: flex !important; flex-direction: row; align-items: center; justify-content: center; gap: 8px !important; padding: 4px 2px !important; margin: 0 !important; max-width: none !important; cursor: pointer; -webkit-tap-highlight-color: transparent; }
  body.app-c .app-bar > .prof-b #side-avatar { width: 40px !important; height: 40px !important; font-size: 17px !important; flex: 0 0 auto; }
  body.app-c .app-bar > .prof-b > div:last-child { min-width: 0; text-align: left; }
  body.app-c .app-bar > .prof-b #side-name, body.app-c .app-bar > .prof-b #side-sub { display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; line-height: 1.2; }
  body.app-c .app-bar > .prof-b #side-name, body.app-c .app-bar > .prof-b #side-sub { font-family: 'Inter', sans-serif !important; }
  body.app-c .app-bar > .prof-b #side-name { font-size: 13px !important; font-weight: 600; color: #1D1D1F; }
  body.app-c .app-bar > .prof-b #side-sub { font-size: 11px !important; }
  body.app-c .app-bar > .prof-b:focus-visible { outline: 3px solid #3070DE; outline-offset: 2px; border-radius: 16px; }
}

/* Телефон, кабинет заказчика: переключатель «Организую сам / Организуйте за меня» — вверху справа, напротив «ПоискИвент» */
@media (max-width: 640px) {
  body.app-c header > div:has(> #delegate-top) { flex: 0 0 auto !important; flex-basis: auto !important; margin-left: auto; }
  body.app-c header { column-gap: 4px !important; }
  body.app-c .dlg { gap: 3px !important; padding: 4px 6px !important; border-width: 1px !important; }
  body.app-c .dlg > span { font-size: 10px !important; line-height: 1.15 !important; max-width: 64px; }
  body.app-c .dlg > button { width: 36px !important; height: 20px !important; }
  body.app-c .dlg > button > span { top: 3px !important; width: 14px !important; height: 14px !important; }
  body.app-c .dlg > button[aria-checked="true"] > span { left: 19px !important; }
  body.app-c .dlg > button[aria-checked="false"] > span { left: 3px !important; }
}

/* Телефон, кабинет заказчика: «Конструктор» и жёлтое «Внимание!» чуть ниже по высоте */
@media (max-width: 640px) {
  body.app-c #side.side-m { padding: 8px 14px !important; border-radius: 16px !important; }
  body.app-c #side.side-m > button { gap: 4px !important; }
  body.app-c #side.side-m > button > span:first-child { gap: 6px !important; }
  body.app-c #side.side-m > button > span:first-child > span:first-child { font-size: 14px !important; line-height: 1.2 !important; }
  body.app-c #side.side-m > button > span:first-child > span:last-child { width: 22px !important; height: 22px !important; font-size: 13px !important; }
  body.app-c #side.side-m > button > span[role="progressbar"] { height: 6px !important; }
  body.app-c #side.side-m > button > span:last-child { font-size: 12px !important; line-height: 1.2; }
  body.app-c #list-note { padding: 8px 12px !important; border-radius: 14px !important; font-size: 13px !important; line-height: 1.35 !important; }
}

/* Телефон, кабинет исполнителя: «Кабинет ведущего» — над именем в синем блоке; «Здравствуйте…» и кнопки «Написать в поддержку»/«Выйти» в шапке убраны (они в «Настройках») */
.side-role { display: none; }
@media (max-width: 640px) {
  body.app-m:not(.app-c) .side-role { display: block; font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 600; line-height: 1.25; letter-spacing: .02em; text-transform: uppercase; color: #515154; margin-bottom: 2px; }
  body.app-m:not(.app-c) #page-title, body.app-m:not(.app-c) #greeting { display: none !important; }
  body.app-m:not(.app-c) #support-btn, body.app-m:not(.app-c) #logout { display: none !important; }
}

/* Телефон, кабинет исполнителя: меньше расстояние между блоком с именем и названием раздела; «Заявки от Ивенторов»: короче вступление, кнопки-вкладки в один ряд */
@media (max-width: 640px) {
  body.app-m:not(.app-c) .dash-main > div:has(#page-title) { display: none !important; }
  body.app-m:not(.app-c) .dash-main { padding: 12px 16px 16px !important; gap: 12px !important; }
  body.app-m:not(.app-c) #view-peers > div:first-child > p { font-size: 14px !important; line-height: 1.4; }
  body.app-m:not(.app-c) #peer-tabs { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px !important; }
  body.app-m:not(.app-c) #peer-tabs button { width: 100%; min-width: 0; min-height: 56px !important; padding: 6px 6px !important; border-radius: 18px !important; font-size: 14px !important; line-height: 1.2; overflow-wrap: anywhere; }
}

/* Телефон, кабинет исполнителя: пояснения под названиями разделов везде такие же мелкие, как в «Заявки от Ивенторов»; ближе к шапке сайта */
@media (max-width: 640px) {
  body.app-m:not(.app-c) .dash-main > section:not(#view-market) > h2 + p,
  body.app-m:not(.app-c) .dash-main > section > div:first-child > h2 + p { font-size: 14px !important; line-height: 1.4 !important; }
  body.app-m:not(.app-c) header > div:has(#support-btn) { display: none !important; } /* пустая строка шапки (кнопки перенесены в «Настройки») давала лишний отступ */
  body.app-m:not(.app-c) header { padding-bottom: 0 !important; }
}

/* Телефон: «Тайминг» — текст ближе к названию; «Новости ивента» и «Моя визитка» — кнопки-вкладки рядом; «Донаты» — текст под названием ближе и мельче */
@media (max-width: 640px) {
  #view-timing > h2 + p { margin-top: -10px !important; }
  #card-tabs { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px !important; }
  #card-tabs button { width: 100%; min-width: 0; min-height: 56px !important; padding: 6px 8px !important; border-radius: 18px !important; font-size: 15px !important; line-height: 1.2; overflow-wrap: anywhere; }
  main > h1 + #intro { margin-top: -18px !important; font-size: 16px !important; line-height: 1.45; }
}

/* Плейлисты кавер-группы: вкладки 2×2 на телефоне */
@media (max-width: 640px) {
  body.app-m:not(.app-c) #pl-tabs { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px !important; }
  body.app-m:not(.app-c) #pl-tabs button { width: 100%; min-width: 0; min-height: 56px !important; padding: 6px 8px !important; border-radius: 18px !important; font-size: 14px !important; line-height: 1.2; overflow-wrap: anywhere; }
}

/* Главная, телефон: кнопка «Искать ивенторов» прилипает к верху при прокрутке */
.pi-stick { display: none; }
@media (max-width: 640px) {
  .pi-stick:not([hidden]) { display: flex; align-items: center; justify-content: center; position: fixed; left: 12px; right: 12px; z-index: 19; min-height: 48px; margin-top: 8px; border: 3px solid #FFFFFF; border-radius: 999px; background: linear-gradient(100deg, #6E33B0 0%, #A02C6E 52%, #CF2E33 100%); color: #FFFFFF; font-family: 'Inter', system-ui, sans-serif; font-size: 17px; font-weight: 600; box-shadow: 0 6px 20px rgba(0, 0, 0, .25), 0 0 0 1px rgba(110, 51, 176, .25); cursor: pointer; }
}

/* Главная: полноширинный блок «Найди Ивентора для своего праздника» */
.hero-band { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 22px; padding: 72px 24px 80px; color: #FFFFFF; font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: radial-gradient(60% 90% at 0% 100%, #6E33B0 0%, rgba(110, 51, 176, 0) 70%), radial-gradient(55% 80% at 100% 70%, #D32F2F 0%, rgba(211, 47, 47, 0) 70%), radial-gradient(70% 70% at 100% 0%, #E86A5E 0%, rgba(232, 106, 94, 0) 70%), radial-gradient(70% 60% at 0% 0%, #AD63A6 0%, rgba(173, 99, 166, 0) 70%), linear-gradient(100deg, #8A2F8F 0%, #A32D6B 50%, #C42E45 100%); }
.hero-band h2 { margin: 0; max-width: 820px; font-weight: 600; font-size: clamp(40px, 7vw, 84px); line-height: 1.03; letter-spacing: -0.035em; text-wrap: balance; }
.hero-steps { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-start; gap: 24px 40px; }
.hero-steps li { display: flex; flex-direction: column; align-items: center; gap: 12px; width: 230px; }
.hero-txt { display: flex; flex-direction: column; gap: 6px; }
.hero-sub { font-size: 14px; line-height: 1.35; font-weight: 400; color: rgba(255, 255, 255, .85); text-wrap: pretty; }
.hero-dot { width: 64px; height: 64px; border-radius: 50%; background: #3070DE; color: #FFFFFF; display: flex; align-items: center; justify-content: center; font-weight: 600; font-size: 26px; box-shadow: 0 8px 20px rgba(0, 0, 0, .18); }
.hero-step { font-size: 19px; font-weight: 500; line-height: 1.25; text-wrap: balance; }
@media (max-width: 640px) {
  .hero-band { padding: 52px 20px 56px; }
  .hero-steps { flex-direction: column; align-items: stretch; gap: 14px; width: 100%; max-width: 320px; }
  .hero-steps li { flex-direction: row; align-items: flex-start; width: auto; gap: 16px; text-align: left; }
  .hero-dot { flex: 0 0 auto; width: 52px; height: 52px; font-size: 22px; }
  .hero-step { font-size: 18px; }
}

/* Главная: раздел «Преимущества» */
.adv { max-width: 1120px; margin: 0 auto; padding: 80px 24px 112px; display: flex; flex-direction: column; align-items: stretch; gap: 48px; font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
.adv h2 { margin: 0; text-align: center; font-weight: 600; font-size: clamp(32px, 4.6vw, 56px); line-height: 1.07; letter-spacing: -0.03em; }
.adv-group { display: flex; flex-direction: column; gap: 20px; }
.adv-group h3 { margin: 0; font-weight: 600; font-size: clamp(24px, 3vw, 32px); letter-spacing: -0.025em; }
.adv-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr)); gap: 16px; }
.adv-card { display: flex; flex-direction: column; gap: 10px; padding: 26px 26px 28px; border-radius: 28px; background: #FFFFFF; }
.adv-ic { width: 40px; height: 40px; border-radius: 50%; background: #E6EEFB; color: #3070DE; display: flex; align-items: center; justify-content: center; }
.adv-card h4 { margin: 6px 0 0; font-weight: 600; font-size: 20px; line-height: 1.2; letter-spacing: -0.015em; }
.adv-card p { margin: 0; color: #6E6E73; font-size: 16px; line-height: 1.4; text-wrap: pretty; }
@media (max-width: 640px) { .adv { padding: 56px 16px 72px; gap: 36px; } .adv-card { padding: 20px 20px 22px; border-radius: 24px; } }

/* Главная, телефон: компактные «Преимущества» (переключатель групп, карточки по две в ряд, градиентные акценты) */
.adv-tabs { display: none; }
@media (max-width: 640px) {
  .adv { padding: 40px 16px 56px; gap: 18px; }
  .adv h2 { font-size: 32px; background: linear-gradient(100deg, #6E33B0 0%, #A02C6E 52%, #CF2E33 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
  .adv-tabs { display: flex; gap: 4px; padding: 4px; border-radius: 999px; background: #E8E8ED; }
  .adv-tabs button { flex: 1 1 0; min-height: 44px; border: 0; border-radius: 999px; background: transparent; color: #1D1D1F; font: inherit; font-size: 16px; font-weight: 600; cursor: pointer; }
  .adv-tabs button[aria-selected="true"] { background: linear-gradient(100deg, #6E33B0 0%, #A02C6E 52%, #CF2E33 100%); color: #FFFFFF; box-shadow: 0 6px 16px rgba(160, 44, 110, .3); }
  .adv.js .adv-group:not(.on) { display: none; }
  .adv-group h3 { display: none; }
  .adv.js .adv-group h3 { display: none; }
  .adv-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .adv-card { gap: 6px; padding: 14px 14px 16px; border-radius: 20px; }
  .adv-ic { width: 32px; height: 32px; background: linear-gradient(135deg, #6E33B0 0%, #CF2E33 100%); color: #FFFFFF; }
  .adv-ic svg { width: 18px; height: 18px; }
  .adv-card h4 { margin: 4px 0 0; font-size: 16px; line-height: 1.2; }
  .adv-card p { font-size: 13px; line-height: 1.35; }
  .adv-wide { grid-column: 1 / -1; }
  .adv-feature { grid-column: 1 / -1; background: linear-gradient(100deg, #6E33B0 0%, #A02C6E 52%, #CF2E33 100%); box-shadow: 0 10px 24px rgba(160, 44, 110, .25); }
  .adv-feature .adv-ic { background: rgba(255, 255, 255, .25); }
  .adv-feature h4 { color: #FFFFFF; }
  .adv-feature p { color: rgba(255, 255, 255, .9); }
}

/* телефоны: нижнее меню в виде «дока» как в iPhone — парящая стеклянная плашка, значки в скруглённых плитках */
@media (max-width: 640px) {
  body.app-m { padding-bottom: calc(112px + env(safe-area-inset-bottom, 0px)); }
  body.app-m .app-bar { left: 10px; right: 10px; bottom: calc(10px + env(safe-area-inset-bottom, 0px)); padding: 8px 6px 6px; gap: 2px; border-radius: 34px; border: 1px solid rgba(255, 255, 255, .7); background: rgba(232, 232, 237, .72); backdrop-filter: blur(22px) saturate(180%); -webkit-backdrop-filter: blur(22px) saturate(180%); box-shadow: 0 10px 30px rgba(0, 0, 0, .18), inset 0 1px 0 rgba(255, 255, 255, .85), inset 0 0 0 1px rgba(0, 0, 0, .04); }
  body.app-m .app-b { min-height: 64px; gap: 4px; padding: 0 1px; border-radius: 20px; color: #3A3A3F; }
  body.app-m .app-bar .app-ic { width: 44px; height: 44px; border-radius: 14px; background: #FFFFFF; box-shadow: 0 2px 6px rgba(0, 0, 0, .14), inset 0 0 0 1px rgba(0, 0, 0, .05); }
  body.app-m .app-b-on { color: #1D1D1F; }
  body.app-m .app-b-on .app-ic { background: linear-gradient(135deg, #6E33B0 0%, #A02C6E 52%, #CF2E33 100%); color: #FFFFFF; box-shadow: 0 6px 14px rgba(160, 44, 110, .4); }
  body.app-m .app-bl { font-size: 10.5px; letter-spacing: -0.01em; }
  body.app-m .app-badge { top: -2px; left: calc(50% + 10px); background: #EF4444; color: #FFFFFF; box-shadow: 0 0 0 2px #FFFFFF; }
  body.app-m .app-sheet .app-box { padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px)); }
}

/* телефоны: внутренние страницы с нижним доком (js/app-nav-p.js) — верхнее меню убрано, шапка компактнее */
a.app-b { text-decoration: none; }
@media (max-width: 640px) {
  body.app-p header nav, body.app-p header .m-burger { display: none !important; }
  body.app-p header { padding: 12px 20px !important; }
}

/* телефоны: выезжающее меню «Ещё» и листы настроек — в стиле дока (парящая стеклянная плашка, значки в плитках) */
@media (max-width: 640px) {
  .app-dim { background: rgba(0, 0, 0, .32); backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); }
  .app-box { left: 10px; right: 10px; bottom: calc(104px + env(safe-area-inset-bottom, 0px)); max-height: calc(100vh - 170px); padding: 10px 12px 14px; border-radius: 34px; border: 1px solid rgba(255, 255, 255, .7); background: rgba(236, 236, 241, .88); backdrop-filter: blur(22px) saturate(180%); -webkit-backdrop-filter: blur(22px) saturate(180%); box-shadow: 0 14px 40px rgba(0, 0, 0, .25), inset 0 1px 0 rgba(255, 255, 255, .85); }
  .app-grab { background: rgba(60, 60, 67, .3); margin-bottom: 10px; }
  .app-grid { gap: 6px 4px; }
  .app-tile { min-height: 84px; padding: 8px 2px 6px; gap: 6px; background: transparent; color: #3A3A3F; box-shadow: none; font-size: 11px; line-height: 1.2; text-decoration: none; }
  .app-tile .app-ic { width: 48px; height: 48px; border-radius: 15px; background: #FFFFFF; color: #3A3A3F; box-shadow: 0 2px 6px rgba(0, 0, 0, .14), inset 0 0 0 1px rgba(0, 0, 0, .05); }
  .app-tile-on { box-shadow: none; color: #1D1D1F; }
  .app-tile-on .app-ic { background: linear-gradient(135deg, #6E33B0 0%, #A02C6E 52%, #CF2E33 100%); color: #FFFFFF; box-shadow: 0 6px 14px rgba(160, 44, 110, .4); }
  .app-tile-gift { background: transparent; }
  .app-tile-gift .app-ic { background: #FCF3C4; color: #C0495F; }
  .app-tile-dark { background: transparent; color: #3A3A3F; }
  .app-tile-dark .app-ic { background: #1D1D1F; color: #FFFFFF; }
  .app-tile .app-badge { top: 2px; right: 14px; }
  .app-ttl { padding: 0 6px; }
  .app-row { background: #FFFFFF; box-shadow: 0 2px 6px rgba(0, 0, 0, .1); }
  .app-row-on { background: #FFFFFF; box-shadow: inset 0 0 0 2px #A02C6E; }
  body.app-m .app-sheet .app-box { padding-bottom: 14px; }
}
@media (max-width: 640px) {
  .app-tile.app-tile-on .app-ic { background: linear-gradient(135deg, #6E33B0 0%, #A02C6E 52%, #CF2E33 100%); color: #FFFFFF; box-shadow: 0 6px 14px rgba(160, 44, 110, .4); }
  .app-tile:focus-visible { outline: 2px solid #A02C6E; outline-offset: -2px; border-radius: 20px; }
  .app-b:focus-visible { outline-color: #A02C6E; }
}

/* Подвал сайта: документы, реквизиты и контакты столбиками */
.sf { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); gap: 24px 32px; padding-top: 24px; border-top: 1px solid rgba(128, 128, 128, .28); font-size: 15px; line-height: 1.5; text-align: left; }
.sf-col { display: flex; flex-direction: column; gap: 6px; min-width: 0; overflow-wrap: anywhere; }
.sf-h { font-weight: 700; letter-spacing: .02em; margin-bottom: 2px; }
.sf a { text-decoration: underline; text-underline-offset: 2px; }
.sf-copy { margin-top: 20px; font-size: 13px; }

/* Кабинет исполнителя, компьютер и планшет: «Настройки» (уведомления, подписки, пароль) за шестерёнкой у аватарки */
.side-gear { flex: 0 0 auto; margin-left: auto; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .7); color: #515154; cursor: pointer; }
.side-gear:hover { background: #FFFFFF; }
.side-gear-on { background: #FFFFFF; color: #3070DE; box-shadow: inset 0 0 0 2px #3070DE; }
.side-gear:focus-visible { outline: 3px solid #3070DE; outline-offset: 2px; }
.set-seg { display: flex; flex-direction: column; gap: 14px; }
.set-seg[hidden] { display: none; }
@media (min-width: 641px) {
  .side-nav .set-item { display: none !important; }
  body.set-on #page-title, body.set-on #greeting { display: none; }
  body.set-on #view-notify > h2, body.set-on #view-subs > h2, body.set-on #view-password > h2 { display: none; }
}
@media (max-width: 640px) {
  .side-gear, .set-seg { display: none !important; }
}

/* кабинет исполнителя: плашка «есть заявка» (только на телефоне) и компактные пояснения к датам */
.cab-alerts { display: none; }
.cab-help summary { cursor: pointer; font-weight: 600; font-size: 15px; color: #3070DE; }
@media (max-width: 860px) {
  .cab-alerts { display: flex; flex-direction: column; gap: 8px; margin-top: 6px; }
  .cab-alerts:empty { display: none; }
  .cab-alert { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px; padding: 8px 16px; box-sizing: border-box; border: 1.5px solid #E3C14A; border-radius: 16px; background: #FCF3C4; color: #1D1D1F; font-family: inherit; font-size: 16px; font-weight: 600; text-align: left; cursor: pointer; width: 100%; }
  .cab-alert-peer { border-color: #3070DE; background: #E6EEFB; }
  .cab-alert-n { flex: 0 0 auto; min-width: 28px; padding: 2px 9px; border-radius: 999px; background: #1D1D1F; color: #FFFFFF; font-size: 15px; text-align: center; }
  .cab-dates-intro { font-size: 14px; line-height: 1.4; }
  .cab-legend { gap: 4px 12px !important; }
  #view-dates { gap: 12px !important; }
}

/* Тайминги → «Мои тайминги»: кнопки карточки на телефоне — сетка 2 × 2 и широкая зелёная «Отправить заказчику» */
.tm-l-short { display: none; }
.tm-acts { flex: 1 1 100%; }
@media (min-width: 641px) {
  .tm-acts { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px !important; }
  .tm-acts > .tm-send { grid-column: 1 / 3; order: 5; }
  .tm-acts > .tm-proj { grid-column: 3 / 5; order: 6; }
}
.tm-acts .tm-l-long { display: none; }
.tm-acts .tm-l-short { display: inline; }
@media (max-width: 640px) {
  .tm-acts { display: grid !important; grid-template-columns: 1fr 1fr; gap: 8px !important; width: 100%; }
  .tm-acts > button { width: 100%; min-height: 40px !important; padding: 0 8px !important; font-size: 15px !important; line-height: 1.15; white-space: normal; }
  .tm-acts > .tm-send { grid-column: 1 / -1; order: 5; }
  .tm-acts > .tm-proj { grid-column: 1 / -1; order: 6; }
}

@media (max-width: 640px) {
  #tm-nav .tm-l-long { display: none; }
  #tm-nav .tm-l-short { display: inline; }
}

/* Телефон, «Маркетплейс ивенторов»: визитки по две в ряд, подробности — по кнопке «Посмотреть визитку» */
@media (max-width: 640px) {
  #m-list { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
  #m-list .mk-card { padding: 10px !important; border-radius: 12px !important; border: 1px solid #E6E6EA !important; gap: 0 !important; }
  #m-list .mk-full, #m-list .mk-add-full { display: none !important; }
  #m-list .mk-tile { display: flex !important; }
}

/* Телефон, кабинет исполнителя: крупнее значки в нижней панели и в меню «Ещё» */
@media (max-width: 640px) {
  body.app-m:not(.app-c):not(.app-i) { padding-bottom: calc(128px + env(safe-area-inset-bottom, 0px)); }
  body.app-m:not(.app-c):not(.app-i) .app-b { min-height: 78px; gap: 5px; }
  body.app-m:not(.app-c):not(.app-i) .app-bar .app-ic { width: 54px; height: 54px; border-radius: 17px; }
  body.app-m:not(.app-c):not(.app-i) .app-bar .app-ic svg { width: 34px; height: 34px; }
  body.app-m:not(.app-c):not(.app-i) .app-bl { font-size: 11.5px; }
  body.app-m:not(.app-c):not(.app-i) .app-tile { min-height: 116px; gap: 9px; padding: 14px 4px 12px; font-size: 13px; }
  body.app-m:not(.app-c):not(.app-i) .app-tile .app-ic { width: 56px; height: 56px; border-radius: 18px; }
  body.app-m:not(.app-c):not(.app-i) .app-tile .app-ic svg { width: 34px; height: 34px; }
}

/* «Маркетплейс ивенторов»: категории одной лентой с прокруткой (на компьютере — в несколько строк) */
.m-strip { display: flex; gap: 2px; overflow-x: auto; padding: 8px 4px 10px; scrollbar-width: none; -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity; }
.m-strip::-webkit-scrollbar { display: none; }
.m-strip .mk-cat { scroll-snap-align: start; }
@media (min-width: 641px) { .m-strip { flex-wrap: wrap; overflow: visible; } }

/* Телефон, кабинет исполнителя: нижняя панель и меню «Ещё» — в стиле ленты категорий (белая плитка, серый значок, выбранное — градиент) */
@media (max-width: 640px) {
  body.app-m:not(.app-c):not(.app-i) .app-bar .app-ic,
  body.app-m:not(.app-c):not(.app-i) .app-tile .app-ic { background: #FFFFFF; border: 1px solid #E1E1E6; box-sizing: border-box; box-shadow: none; color: #8A8A90; }
  body.app-m:not(.app-c):not(.app-i) .app-b { color: #515154; }
  body.app-m:not(.app-c):not(.app-i) .app-b-on { color: #1D1D1F; }
  body.app-m:not(.app-c):not(.app-i) .app-b-on .app-ic,
  body.app-m:not(.app-c):not(.app-i) .app-tile-on .app-ic { background: linear-gradient(135deg, #6E33B0 0%, #A02C6E 52%, #CF2E33 100%); border-color: transparent; color: #FFFFFF; box-shadow: 0 6px 14px rgba(160, 44, 110, .35); }
  body.app-m:not(.app-c):not(.app-i) .app-tile, body.app-m:not(.app-c):not(.app-i) .app-tile-gift, body.app-m:not(.app-c):not(.app-i) .app-tile-dark { background: transparent; color: #515154; box-shadow: none; }
  body.app-m:not(.app-c):not(.app-i) .app-tile-on { color: #1D1D1F; font-weight: 650; }
  body.app-m:not(.app-c):not(.app-i) .app-tile-gift .app-ic, body.app-m:not(.app-c):not(.app-i) .app-tile-dark .app-ic { background: #FFFFFF; color: #8A8A90; }
  body.app-m:not(.app-c):not(.app-i) .app-tile { min-height: 108px; padding: 8px 2px; }
  body.app-m:not(.app-c):not(.app-i) .app-grid { gap: 8px 4px; }
}

/* «Ещё»: цвет самих значков у «Пожертвований», «Business Event» и кнопки канала в ТГ; фон плиток — как у остальных */
@media (max-width: 640px) {
  body.app-m:not(.app-c):not(.app-i) .app-tile-gift, body.app-m:not(.app-c):not(.app-i) .app-tile-dark, body.app-m:not(.app-c):not(.app-i) .app-tile-tg { background: transparent; color: #515154; }
  body.app-m:not(.app-c):not(.app-i) .app-tile-gift .app-ic { background: #FCF3C4; border-color: #F3E5A0; color: #C0495F; }
  body.app-m:not(.app-c):not(.app-i) .app-tile-dark .app-ic { background: #1D1D1F; border-color: #1D1D1F; color: #FFFFFF; }
  body.app-m:not(.app-c):not(.app-i) .app-tile-tg .app-ic { background: #D6ECFA; border-color: #BFE0F5; color: #229ED9; }
}

/* меню «Ещё»: без контурной обводки вокруг плитки (текущий раздел отмечен градиентным значком) */
.app-tile:focus, .app-tile:focus-visible { outline: none !important; }

.fm-acts { display: flex; flex-wrap: wrap; gap: 8px; }
@media (max-width: 640px) {
  .fm-acts { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .fm-acts > button { padding: 0 8px !important; white-space: normal; line-height: 1.15; font-size: 14px !important; }
}

@media (max-width: 640px) { #ch-saved, #ch-catalog { grid-template-columns: 1fr 1fr !important; gap: 10px !important; } }

/* ===== «Моя визитка»: строгие кнопки и табличная раскладка ===== */
/* переключатель «Оформление / Стоимость / Превью»: одна компактная полоса, на телефоне не занимает лишнего места */
#view-profile #card-tabs { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 4px !important; padding: 4px; border-radius: 12px; background: #EBEBF0; width: 100%; max-width: 440px; box-sizing: border-box; }
#view-profile #card-tabs button { min-height: 40px !important; width: auto; min-width: 0; padding: 0 8px !important; border: 0 !important; border-radius: 8px !important; background: transparent !important; color: #515154 !important; font-size: 15px !important; font-weight: 600 !important; line-height: 1.2; box-shadow: none !important; white-space: nowrap; }
#view-profile #card-tabs button[aria-pressed="true"] { background: #FFFFFF !important; color: #1D1D1F !important; box-shadow: 0 1px 4px rgba(0,0,0,.14) !important; }
#view-profile #card-tabs button[aria-pressed="false"]:hover { color: #1D1D1F !important; }
@media (max-width: 480px) { #view-profile #card-tabs button { font-size: 14px !important; padding: 0 4px !important; min-height: 38px !important; } }
#view-profile #card-form { max-width: 680px !important; flex: 1 1 440px !important; }
#view-profile div:has(> #card-form) { gap: 24px !important; }
#view-profile aside[aria-label="Предпросмотр визитки"] { flex: 1 1 300px !important; }
#card-form input:not([type="file"]):not([type="hidden"]):not([type="checkbox"]), #card-form select, #card-form textarea { min-height: 40px !important; padding: 0 12px !important; border: 1px solid #DCDCE1 !important; border-radius: 8px !important; font-size: 15px !important; }
#card-form textarea { padding: 10px 12px !important; }
#card-form input:focus, #card-form select:focus, #card-form textarea:focus { outline: 2px solid #3070DE; outline-offset: -1px; border-color: #3070DE !important; }
#card-form .btn, #card-form label.btn, #prog-add, #video-add, #work-pick { min-height: 40px !important; padding: 0 16px !important; border-radius: 8px !important; border: 1px solid #DCDCE1 !important; background: #FFFFFF !important; color: #1D1D1F !important; font-size: 15px !important; font-weight: 550 !important; box-shadow: none !important; }
#card-form #photo-pick { background: #3070DE !important; border-color: #3070DE !important; color: #FFFFFF !important; }
#card-form #card-save { min-height: 44px !important; padding: 0 28px !important; border: 0 !important; border-radius: 8px !important; background: linear-gradient(135deg, #6E33B0 0%, #A02C6E 52%, #CF2E33 100%) !important; color: #FFFFFF !important; box-shadow: none !important; font-size: 16px !important; }
#photo-del { min-height: 40px !important; padding: 0 16px !important; border: 1px solid #DCDCE1 !important; border-radius: 8px !important; background: #FFFFFF !important; font-size: 15px !important; font-weight: 550 !important; }
#card-form div:has(> #photo-pick) { flex-direction: row !important; flex-wrap: wrap; max-width: none !important; }
#photo-thumb { border-radius: 8px !important; width: 96px !important; height: 96px !important; }
#v-city-chips button { min-height: 32px !important; padding: 0 10px !important; border-width: 1px !important; border-radius: 6px !important; font-size: 14px !important; font-weight: 550 !important; }
#prog-rows button { width: 40px !important; height: 40px !important; border-width: 1px !important; border-radius: 8px !important; }
#card-done { border-radius: 8px !important; }
#v-city-pay { border-radius: 8px !important; }

#tab-design:not([style*="display: none"]), #tab-price:not([style*="display: none"]) { display: grid !important; gap: 1px !important; background: #E6E6EA; border: 1px solid #E6E6EA; border-radius: 12px; overflow: hidden; }
#tab-design > div:not([style*="display: none"]), #tab-price > div:not([style*="display: none"]) { display: grid !important; grid-template-columns: 140px minmax(0, 1fr); gap: 8px 16px !important; align-items: start; padding: 12px 16px; background: #FFFFFF; grid-column: auto !important; }
#tab-design > div > :first-child, #tab-price > div > :first-child { grid-column: 1; padding-top: 10px; font-size: 14px !important; }
#tab-design > div > :not(:first-child), #tab-price > div > :not(:first-child) { grid-column: 2; min-width: 0; }
#tab-design > div > :first-child:last-child, #tab-price > div > :first-child:last-child { grid-column: 1 / -1; padding-top: 0; }

#card-form > dl { padding: 0 !important; border-radius: 12px !important; background: #E6E6EA !important; border: 1px solid #E6E6EA; gap: 1px !important; overflow: hidden; }
#card-form > dl > div { display: grid !important; grid-template-columns: 140px minmax(0, 1fr); gap: 8px 16px; padding: 12px 16px; background: #FFFFFF; }
#card-form > dl > p { padding: 10px 16px !important; background: #FFFFFF; margin: 0 !important; }

@media (max-width: 640px) {
  #tab-design > div:not([style*="display: none"]), #tab-price > div:not([style*="display: none"]), #card-form > dl > div { grid-template-columns: minmax(0, 1fr); gap: 6px !important; padding: 12px; }
  #tab-design > div > :first-child, #tab-design > div > :not(:first-child), #tab-price > div > :first-child, #tab-price > div > :not(:first-child) { grid-column: 1; padding-top: 0; }
}
#price-single > div:first-of-type + div, #price-single > div { flex-wrap: nowrap !important; }
@media (max-width: 640px) { #price-single > div { flex-wrap: wrap !important; } }
#card-form #card-save { background: #2E9E5B !important; }
#card-form #card-save:hover { background: #278A4E !important; }
@media (max-width: 640px) {
  .fm-facts { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); justify-content: stretch; width: 100%; gap: 6px !important; }
  .fm-facts > button { padding: 0 8px !important; min-height: 40px !important; font-size: 14px !important; white-space: normal; line-height: 1.15; overflow-wrap: anywhere; }
  .fm-facts > button:nth-child(3) { grid-column: span 2; }
}

/* QR-блок и стиль мини-сайта: строго и в одну строку кнопок */
#qr-box { border-radius: 12px !important; border: 1px solid #E6E6EA !important; padding: 20px !important; }
#qr-box canvas { border-radius: 8px !important; }
#qr-box input { border: 1px solid #DCDCE1 !important; border-radius: 8px !important; min-height: 40px !important; }
#qr-box > div { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; max-width: none !important; gap: 6px !important; }
#qr-box > div > * { grid-column: auto !important; min-width: 0; min-height: 40px !important; padding: 0 4px !important; border-radius: 8px !important; font-size: 12px !important; font-weight: 550 !important; line-height: 1.15; text-align: center; white-space: normal !important; overflow-wrap: break-word; width: auto !important; flex: none !important; box-sizing: border-box; justify-content: center; align-items: center; display: inline-flex !important; text-decoration: none; }
#qr-box > div > #qr-save { background: #3070DE !important; border: 1px solid #3070DE !important; color: #FFFFFF !important; }
#qr-box > div > :not(#qr-save) { border: 1px solid #DCDCE1 !important; background: #FFFFFF !important; color: #1D1D1F !important; }
#view-profile [data-theme] { border-radius: 8px !important; min-height: 40px !important; font-size: 15px !important; font-weight: 550 !important; }

/* ===== Кабинет исполнителя, компьютер: белая панель с группами (телефон не затронут) ===== */
@media (min-width: 861px) {
.cab-white .dash-side { background: #FFFFFF !important; border-right: 1px solid #E6E6EA; padding: 16px !important; gap: 12px !important; }
.cab-white #side-avatar { width: 44px !important; height: 44px !important; border-radius: 8px !important; font-size: 18px !important; }
.cab-white #side-name { font-size: 15px !important; }
.cab-white #side-sub { font-size: 13px !important; }
.cab-white .side-gear { width: 32px; height: 32px; border: 1px solid #DCDCE1; border-radius: 8px; background: #FFFFFF; }
.cab-white .side-gear svg { width: 18px; height: 18px; }
.cab-white .side-gear-on { box-shadow: none; border-color: #3070DE; }
.cab-white #tabs.side-nav { gap: 2px; flex: 1 1 auto; }
.cab-white #tabs .side-grp { font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #8A8A90; padding: 14px 10px 4px; }
.cab-white #tabs .side-item { position: relative; justify-content: flex-start; gap: 10px; min-height: 40px; padding: 0 10px; border-radius: 8px; font-size: 14px; font-weight: 500; box-shadow: none !important; margin-top: 0 !important; background: transparent; color: #1D1D1F; }
.cab-white #tabs .side-item > :first-child { flex: 1 1 auto; min-width: 0; }
.cab-white #tabs .side-item:hover { background: #F5F5F7; }
.cab-white #tabs .side-item::before { content: ""; flex: 0 0 18px; width: 18px; height: 18px; background: #6E6E73; -webkit-mask: var(--ic) center / contain no-repeat; mask: var(--ic) center / contain no-repeat; }
.cab-white #tabs .side-item-on, .cab-white #tabs .side-item-on:hover { background: #EAF1FD; color: #1B4FA8; }
.cab-white #tabs .side-item-on::before { background: #3070DE; }
.cab-white #tabs .side-item-on::after { content: ""; position: absolute; left: -16px; top: 6px; bottom: 6px; width: 3px; border-radius: 0 3px 3px 0; background: #3070DE; }
.cab-white #tabs .side-badge { margin-left: auto; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 6px; font-size: 11px; line-height: 20px; }
.cab-white #tabs .side-badge-news { color: #5C4A00; }
.cab-white #tabs a[data-t="donate"] { background: #FBF1C4 !important; color: #6B5A1E; border: 1px solid #F3E7B0; margin-top: 12px !important; }
.cab-white #tabs a[data-t="donate"] > span:last-child { margin-left: auto; flex: 0 0 auto; }
.cab-white #tabs a[data-t="biz"] { background: #5B5852 !important; color: #FFFFFF; margin-top: 6px !important; }
.cab-white #tabs a[data-t="biz"]::before { background: #FFFFFF; }
.cab-white #tabs a[data-t="tg"] { background: #EAF1FD !important; margin-top: 6px !important; }
.cab-white #tabs .side-grp[data-g="1"] { order: 10; padding-top: 4px; } .cab-white #tabs .side-grp[data-g="2"] { order: 20; } .cab-white #tabs .side-grp[data-g="3"] { order: 30; }
.cab-white #tabs [data-t="dates"] { order: 11; }
.cab-white #tabs [data-t="requests"] { order: 12; }
.cab-white #tabs [data-t="peers"] { order: 13; }
.cab-white #tabs [data-t="timing"] { order: 21; }
.cab-white #tabs [data-t="interactives"] { order: 21; }
.cab-white #tabs [data-t="forms"] { order: 22; }
.cab-white #tabs [data-t="estimate"] { order: 23; }
.cab-white #tabs [data-t="profile"] { order: 24; }
.cab-white #tabs [data-t="locator"] { order: 31; }
.cab-white #tabs [data-t="news"] { order: 32; }
.cab-white #tabs [data-t="cardholder"] { order: 33; }
.cab-white #tabs [data-t="market"] { order: 34; }
.cab-white #tabs [data-t="marketorg"] { order: 35; }
.cab-white #tabs [data-t="school"] { order: 36; }
.cab-white #tabs [data-t="donate"] { order: 90; }
.cab-white #tabs [data-t="biz"] { order: 91; }
.cab-white #tabs [data-t="tg"] { order: 92; }
.cab-white #tabs [data-t="dates"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Crect%20x=%223%22%20y=%225%22%20width=%2218%22%20height=%2216%22%20rx=%222%22/%3E%3Cpath%20d=%22M3%2010h18M8%203v4M16%203v4%22/%3E%3C/svg%3E"); }
.cab-white #tabs [data-t="requests"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M3%2013l3-8h12l3%208v6H3z%22/%3E%3Cpath%20d=%22M3%2013h5l1%203h6l1-3h5%22/%3E%3C/svg%3E"); }
.cab-white #tabs [data-t="peers"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M3%2013l3-8h12l3%208v6H3z%22/%3E%3Cpath%20d=%22M3%2013h5l1%203h6l1-3h5%22/%3E%3C/svg%3E"); }
.cab-white #tabs [data-t="locator"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M12%2021s7-6%207-11a7%207%200%2010-14%200c0%205%207%2011%207%2011z%22/%3E%3Ccircle%20cx=%2212%22%20cy=%2210%22%20r=%222.5%22/%3E%3C/svg%3E"); }
.cab-white #tabs [data-t="news"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Crect%20x=%224%22%20y=%224%22%20width=%2216%22%20height=%2216%22%20rx=%222%22/%3E%3Cpath%20d=%22M8%209h8M8%2013h8M8%2017h5%22/%3E%3C/svg%3E"); }
.cab-white #tabs [data-t="cardholder"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Crect%20x=%223%22%20y=%225%22%20width=%2218%22%20height=%2214%22%20rx=%222%22/%3E%3Ccircle%20cx=%229%22%20cy=%2211%22%20r=%222%22/%3E%3Cpath%20d=%22M14%2010h4M14%2014h4M6%2016c1-2%205-2%206%200%22/%3E%3C/svg%3E"); }
.cab-white #tabs [data-t="timing"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Ccircle%20cx=%2212%22%20cy=%2212%22%20r=%229%22/%3E%3Cpath%20d=%22M12%207v5l3%202%22/%3E%3C/svg%3E"); }
.cab-white #tabs [data-t="interactives"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M12%203l2.6%205.6%206.1.7-4.5%204.2%201.2%206L12%2016.5%206.6%2019.5l1.2-6L3.3%209.3l6.1-.7z%22/%3E%3C/svg%3E"); }
.cab-white #tabs [data-t="forms"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M6%203h9l4%204v14H6z%22/%3E%3Cpath%20d=%22M14%203v5h5M9%2013h7M9%2017h5%22/%3E%3C/svg%3E"); }
.cab-white #tabs [data-t="profile"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Ccircle%20cx=%2212%22%20cy=%228%22%20r=%224%22/%3E%3Cpath%20d=%22M4%2021c1-5%2015-5%2016%200%22/%3E%3C/svg%3E"); }
.cab-white #tabs [data-t="market"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M8%204h8v6a4%204%200%2001-8%200zM8%206H4v2a3%203%200%20003%203M16%206h4v2a3%203%200%2001-3%203M12%2014v4M8%2020h8%22/%3E%3C/svg%3E"); }
.cab-white #tabs [data-t="marketorg"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M4%209l2-5h12l2%205M4%209v11h16V9M4%209h16%22/%3E%3Cpath%20d=%22M9%2020v-6h6v6%22/%3E%3C/svg%3E"); }
.cab-white #tabs [data-t="school"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M2%209l10-5%2010%205-10%205z%22/%3E%3Cpath%20d=%22M6%2011v5c3%203%209%203%2012%200v-5%22/%3E%3C/svg%3E"); }
.cab-white #tabs [data-t="estimate"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Crect%20x=%225%22%20y=%223%22%20width=%2214%22%20height=%2218%22%20rx=%222%22/%3E%3Cpath%20d=%22M8%207h8M8%2012h2M12%2012h2M8%2016h2M12%2016h2%22/%3E%3C/svg%3E"); }
.cab-white #tabs [data-t="donate"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M12%2020s-8-5-8-11a4.5%204.5%200%20018-2.5A4.5%204.5%200%200120%209c0%206-8%2011-8%2011z%22/%3E%3C/svg%3E"); }
.cab-white #tabs [data-t="biz"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Crect%20x=%223%22%20y=%227%22%20width=%2218%22%20height=%2213%22%20rx=%222%22/%3E%3Cpath%20d=%22M9%207V4h6v3M3%2013h18%22/%3E%3C/svg%3E"); }
.cab-white #tabs [data-t="tg"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M21%204L3%2011l6%202%202%206%203-4%205%204z%22/%3E%3C/svg%3E"); }
}
@media (max-width: 860px) { .cab-white #tabs .side-grp { display: none; } }

/* ===== Кабинет исполнителя, компьютер: разделы в стиле белой панели ===== */
.hd-slot:empty { display: none; }
@media (min-width: 861px) {
  .cab-white .hd-slot { margin-right: auto; margin-left: 8px; padding-left: 24px; border-left: 1px solid #E6E6EA; }
  .cab-white .hd-slot > div { display: flex; flex-direction: column; gap: 2px !important; }
  .cab-white .hd-slot #page-title { font-size: 20px !important; line-height: 1.15 !important; }
  .cab-white .hd-slot #greeting { font-size: 13px !important; }
  .cab-white .dash { border-radius: 12px !important; box-shadow: none !important; border: 1px solid #E6E6EA; }
  .cab-white .dash-main { padding: 24px 32px !important; gap: 16px !important; }
  .cab-white .dash-main > section { background: #FFFFFF !important; border-radius: 0 !important; padding: 0 !important; }
  .cab-white .dash-main section h2 { font-size: 20px !important; }
  .cab-white .dash-main section [style*="border-radius: 20px"], .cab-white .dash-main section [style*="border-radius: 24px"], .cab-white .dash-main section [style*="border-radius: 28px"], .cab-white .dash-main section [style*="border-radius: 18px"], .cab-white .dash-main section [style*="border-radius: 16px"], .cab-white .dash-main section [style*="border-radius: 32px"] { border-radius: 12px !important; box-shadow: none !important; }
  .cab-white .dash-main section [style*="box-shadow"] { box-shadow: none !important; }
  .cab-white .dash-main section button[style*="border-radius: 999px"]:not([role="switch"]), .cab-white .dash-main section a[style*="border-radius: 999px"] { border-radius: 8px !important; box-shadow: none !important; min-height: 40px !important; font-size: 15px !important; font-weight: 550 !important; }
  .cab-white .dash-main section input:not([type="checkbox"]):not([type="file"]):not([type="radio"]), .cab-white .dash-main section select, .cab-white .dash-main section textarea { border: 1px solid #DCDCE1 !important; border-radius: 8px !important; }
  .cab-white .dash-main section [style*="background: #EBEBF0"], .cab-white .dash-main section [style*="background: #F3F3F6"], .cab-white .dash-main section [style*="background: rgb(235, 235, 240)"], .cab-white .dash-main section [style*="background: rgb(243, 243, 246)"] { background: #FFFFFF !important; border: 1px solid #E6E6EA; }
}
@media (min-width: 861px) {
  .cab-white .set-seg button, .cab-white header #support-btn, .cab-white header #logout { border-radius: 8px !important; min-height: 40px !important; font-size: 15px !important; font-weight: 550 !important; border-width: 1px !important; }
  .cab-white .set-seg button { padding: 0 18px !important; }
}

/* ===== Кабинет исполнителя, телефон: разделы в стиле белой панели ===== */
@media (max-width: 860px) {
  .cab-white .dash-main section h2 { font-size: 22px !important; }
  .cab-white .dash-main section [style*="border-radius: 20px"], .cab-white .dash-main section [style*="border-radius: 24px"], .cab-white .dash-main section [style*="border-radius: 28px"], .cab-white .dash-main section [style*="border-radius: 18px"], .cab-white .dash-main section [style*="border-radius: 16px"], .cab-white .dash-main section [style*="border-radius: 32px"] { border-radius: 12px !important; box-shadow: none !important; }
  .cab-white .dash-main section [style*="box-shadow"] { box-shadow: none !important; }
  .cab-white .dash-main section button[style*="border-radius: 999px"]:not([role="switch"]), .cab-white .dash-main section a[style*="border-radius: 999px"] { border-radius: 8px !important; box-shadow: none !important; min-height: 44px !important; font-size: 15px !important; font-weight: 550 !important; }
  .cab-white .dash-main section input:not([type="checkbox"]):not([type="file"]):not([type="radio"]), .cab-white .dash-main section select, .cab-white .dash-main section textarea { border: 1px solid #DCDCE1 !important; border-radius: 8px !important; }
  .cab-white .dash-main section [style*="background: #EBEBF0"], .cab-white .dash-main section [style*="background: #F3F3F6"], .cab-white .dash-main section [style*="background: rgb(235, 235, 240)"], .cab-white .dash-main section [style*="background: rgb(243, 243, 246)"] { background: #FFFFFF !important; border: 1px solid #E6E6EA; }
  .cab-white .set-seg button { border-radius: 8px !important; }
}

/* ===== Страница «Донаты» в коде белой панели ===== */
body.don-white main h1 { font-size: 26px !important; letter-spacing: -0.02em !important; line-height: 1.15 !important; }
body.don-white #intro { font-size: 15px !important; color: #515154; max-width: 760px !important; }
body.don-white main { gap: 16px !important; padding-top: 12px !important; }
body.don-white #donate-box { border-radius: 12px !important; box-shadow: none !important; border: 1px solid #E6E6EA; padding: 20px !important; max-width: 680px !important; gap: 14px !important; }
body.don-white #quick button { border-radius: 8px !important; border-width: 1px !important; border-color: #DCDCE1 !important; min-height: 40px !important; font-size: 15px !important; font-weight: 550 !important; }
body.don-white #amount { min-height: 40px !important; border: 1px solid #DCDCE1 !important; border-radius: 8px !important; font-size: 15px !important; }
body.don-white #d-send { min-height: 44px !important; border-radius: 8px !important; box-shadow: none !important; font-size: 16px !important; padding: 0 28px !important; background: #2E9E5B !important; }
body.don-white #d-ok { border-radius: 8px !important; }
body.don-white #d-note { border-radius: 12px !important; background: #FFFFFF !important; border: 1px solid #E6E6EA; }
body.don-white main > section[aria-labelledby="wall-title"] { border-radius: 12px !important; background: #FFFFFF !important; border: 1px solid #E6E6EA; padding: 24px 20px !important; gap: 20px !important; align-items: center; text-align: center; }
body.don-white #wall-title { font-size: 20px !important; letter-spacing: -0.01em !important; text-align: center; }
body.don-white #wall { gap: 24px 20px !important; justify-content: center; width: 100%; }
body.don-white #wall li { width: 132px !important; align-items: center; }
body.don-white #wall li > div { box-shadow: none !important; border: 1px solid #E6E6EA !important; }
body.don-white #wall li > span { font-size: 14px !important; font-weight: 550 !important; }
body.don-white #wall-empty, body.don-white #wall-login { text-align: center; }
body.don-white header #back-link { border-radius: 8px !important; border-width: 1px !important; min-height: 40px; }

/* ===== ПРЕВЬЮ: кабинет заказчика в стиле белой панели ===== */
.cab-white #tabs .side-grp[data-g="1"] { order: 10; padding-top: 4px; } .cab-white #tabs .side-grp[data-g="2"] { order: 20; } .cab-white #tabs .side-grp[data-g="3"] { order: 30; }
.cab-white #tabs [data-t="request"] { order: 11; --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Crect%20x=%223%22%20y=%225%22%20width=%2218%22%20height=%2216%22%20rx=%222%22/%3E%3Cpath%20d=%22M3%2010h18M8%203v4M16%203v4%22/%3E%3C/svg%3E"); }
.cab-white #tabs [data-t="booked"] { order: 12; --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M3%2013l3-8h12l3%208v6H3z%22/%3E%3Cpath%20d=%22M3%2013h5l1%203h6l1-3h5%22/%3E%3C/svg%3E"); }
.cab-white #tabs [data-t^="c-"] { order: 21; --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M3%2013l3-8h12l3%208v6H3z%22/%3E%3Cpath%20d=%22M3%2013h5l1%203h6l1-3h5%22/%3E%3C/svg%3E"); }
.cab-white #tabs [data-t="builder"] { order: 31; --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Ccircle%20cx=%2212%22%20cy=%2212%22%20r=%229%22/%3E%3Cpath%20d=%22M12%207v5l3%202%22/%3E%3C/svg%3E"); }
.cab-white #tabs > div:not(.side-grp) { order: 11; margin: 2px 0 4px 18px !important; padding-left: 8px !important; border-left: 1px solid #E6E6EA !important; }
.cab-white #tabs > div:not(.side-grp) .side-item { min-height: 32px; font-size: 13px; }
.cab-white #tabs > div:not(.side-grp) .side-item::before { display: none; }
.cab-white #tabs > div:not(.side-grp) .side-item-on { box-shadow: none !important; background: #EAF1FD !important; color: #1B4FA8 !important; }
.cab-white #tabs > div:not(.side-grp) .side-item-on::after { display: none; }
.cab-white #side { background: #FFFFFF !important; border: 1px solid #E6E6EA; border-radius: 12px !important; padding: 12px !important; box-shadow: none !important; }
@media (min-width: 861px) { .cab-white .dash-side { max-width: 280px; flex-basis: 260px !important; } }
@media (max-width: 860px) { .cab-white .dash-side { max-width: 100%; flex-basis: 100% !important; } }
@media (min-width: 861px) {
  .cab-white #chips { display: none !important; }
  .cab-white .hd-slot #page-sub { display: none; }
  .cab-white .dash-main > div:has(#content) { gap: 20px; }
}
@media (max-width: 860px) { .cab-white #tabs [data-t^="c-"], .cab-white #tabs .side-grp { display: none; } }

.cab-white .dash-side .side-label { font-size: 11px !important; letter-spacing: .06em !important; color: #8A8A90 !important; font-weight: 600 !important; }
.cab-white .pc { border-radius: 12px !important; background: #FFFFFF !important; border: 1px solid #E6E6EA; box-shadow: none !important; }
.cab-white .pc-ph { height: 150px !important; }
.cab-white .pc-in { padding: 14px 16px 16px !important; gap: 10px !important; }
.cab-white .pc-head h3 { font-size: 17px !important; }
.cab-white .pc-head p { font-size: 14px !important; }
.cab-white .pc-chip { border-radius: 6px !important; background: #E3F3E8 !important; color: #1F6B3F; font-size: 13px !important; padding: 4px 10px !important; }
.cab-white .pc button, .cab-white .pc a { border-radius: 8px !important; min-height: 40px !important; font-size: 15px !important; font-weight: 550 !important; box-shadow: none !important; }
.cab-white .pc button[style*="gradient"], .cab-white .pc a[style*="gradient"] { background: #3070DE !important; color: #FFFFFF !important; border: 1px solid #3070DE !important; }
.cab-white .pc button:not([style*="gradient"]), .cab-white .pc a:not([style*="gradient"]) { border: 1px solid #DCDCE1 !important; background: #FFFFFF !important; }
.cab-white #list-note { border-radius: 8px !important; background: #FBF1C4 !important; border: 1px solid #F3E7B0; }
.cab-white #responded { border-radius: 6px !important; background: #E3F3E8 !important; color: #1F6B3F; font-size: 14px !important; padding: 6px 12px !important; }
@media (min-width: 861px) {
  .cab-white header > div:last-of-type { gap: 8px !important; }
  .cab-white header #support-btn, .cab-white header #logout, .cab-white header #settings-btn { min-height: 40px !important; padding: 0 14px !important; font-size: 14px !important; border-radius: 8px !important; border-width: 1px !important; }
  .cab-white header #settings-btn { width: 40px; padding: 0 !important; }
  .cab-white header .dlg { border-radius: 8px !important; border-width: 1px !important; padding: 4px 10px !important; gap: 8px !important; }
  .cab-white header .dlg span { font-size: 12px !important; }
  .cab-white header .dlg #delegate-switch { width: 40px !important; height: 22px !important; }
  .cab-white header .dlg #delegate-switch span { top: 3px !important; width: 16px !important; height: 16px !important; }
  .cab-white .hd-slot { flex: 1 1 260px; min-width: 0; }
}
.cab-white #bk-sum span, .cab-white #view-booked li span[style*="999px"], .cab-white #view-builder span[style*="999px"] { border-radius: 6px !important; font-size: 13px !important; padding: 5px 10px !important; }
@media (min-width: 861px) {
  .cab-white header { flex-wrap: nowrap !important; gap: 16px 24px !important; }
  .cab-white header > a { flex: 0 0 auto; }
  .cab-white header > div:last-of-type { flex-wrap: nowrap !important; flex: 0 0 auto; }
  .cab-white .hd-slot { padding-left: 20px; margin-left: 0; }
  .cab-white .hd-slot #greeting { font-size: 12px !important; }
}
.cab-white #settings, .cab-white #support-form, .cab-white #support-listbox { border-radius: 12px !important; box-shadow: 0 8px 24px rgba(0,0,0,.12) !important; border: 1px solid #E6E6EA; }
.cab-white #settings button.btn, .cab-white #settings #ph-pick, .cab-white #support-modal button, .cab-white #support-form select, .cab-white #support-form textarea { border-radius: 8px !important; border-width: 1px !important; min-height: 40px; font-size: 15px !important; font-weight: 550; }
.cab-white #settings input, .cab-white #settings select { border-width: 1px !important; border-radius: 8px !important; }
.cab-white #support-send { background: #3070DE !important; }
.cab-white #ph-thumb { border-radius: 8px !important; }

/* ===== Окно «Смотреть визитку» у заказчика: микро-версия мини-сайта в коде белой панели ===== */
.vm-hero { position: relative; aspect-ratio: 16 / 10; background: #E6EEFB; overflow: hidden; border-radius: 12px 12px 0 0; }
.vm-hero img { display: block; width: 100%; height: 100%; object-fit: cover; }
.vm-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(10,10,12,.72) 0%, rgba(10,10,12,.2) 45%, rgba(10,10,12,0) 70%); }
.vm-cap { position: absolute; left: 20px; right: 20px; bottom: 16px; z-index: 1; color: #FFFFFF; display: flex; flex-direction: column; gap: 8px; }
.vm-cap h3 { margin: 0; font-family: 'Inter', sans-serif; font-weight: 600; font-size: 24px; line-height: 1.15; letter-spacing: -0.02em; overflow-wrap: anywhere; }
.vm-alias { font-weight: 600; font-size: 16px; opacity: .92; }
.vm-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.vm-chips li { padding: 3px 10px; border-radius: 6px; background: #FFFFFF; color: #1D1D1F; font-weight: 550; font-size: 13px; }
.vm-body { padding: 18px 20px 8px; display: flex; flex-direction: column; gap: 20px; }
.vm-meta { display: flex; flex-wrap: wrap; gap: 8px; }
.vm-free { padding: 4px 10px; border-radius: 6px; background: #E3F3E8; color: #1F6B3F; font-size: 13px; font-weight: 600; }
.vm-city { padding: 4px 10px; border-radius: 6px; background: #F5F5F7; color: #515154; font-size: 13px; font-weight: 550; }
.vm-sec { display: flex; flex-direction: column; gap: 8px; }
.vm-sec h4 { margin: 0; font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #8A8A90; }
.vm-sec p { margin: 0; font-size: 15px; line-height: 1.55; white-space: pre-line; overflow-wrap: anywhere; }
.vm-prices { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(200px, 100%), 1fr)); gap: 8px; }
.vm-price { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; border: 1px solid #E6E6EA; border-radius: 12px; }
.vm-price span { font-size: 14px; color: #515154; overflow-wrap: anywhere; }
.vm-price b { font-size: 20px; font-weight: 600; letter-spacing: -0.01em; }
.vm-price small { font-size: 12px; color: #6E6E73; }
.vm-seg { display: flex; gap: 6px; }
.vm-seg button { min-height: 32px; padding: 0 14px; border: 1px solid #DCDCE1; border-radius: 8px; background: #FFFFFF; font: inherit; font-size: 13px; font-weight: 550; cursor: pointer; }
.vm-seg button[aria-pressed="true"] { background: #EAF1FD; border-color: #3070DE; color: #1B4FA8; }
.vm-gal { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 8px; }
.vm-gal > a { display: block; aspect-ratio: 1 / 1; border-radius: 8px !important; overflow: hidden; background: #F5F5F7; }
.vm-gal > a img { display: block; width: 100%; height: 100%; object-fit: cover; }
.vm-ct a { border-radius: 8px !important; background: #FFFFFF !important; border: 1px solid #DCDCE1; min-height: 36px !important; font-size: 14px !important; font-weight: 550 !important; padding: 0 14px !important; }
.vm-bar { position: sticky; bottom: 0; display: flex; flex-wrap: wrap; gap: 8px; padding: 12px 20px; background: #FFFFFF; border-top: 1px solid #E6E6EA; border-radius: 0 0 12px 12px; margin-top: 12px; }
.vm-book { flex: 1 1 180px; min-height: 44px; border: 0; border-radius: 8px; background: #3070DE; color: #FFFFFF; font: inherit; font-size: 15px; font-weight: 600; cursor: pointer; }
.vm-book:disabled { opacity: .55; cursor: default; }
.vm-full { flex: 0 1 auto; display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 16px; border: 1px solid #DCDCE1; border-radius: 8px; color: #1D1D1F; font-size: 15px; font-weight: 550; text-decoration: none; }
.vm { font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; font-size: 15px; line-height: 1.5; color: #1D1D1F; }
.vm button, .vm a { font-family: inherit; }
.vm-sec p.vm-lock { padding: 10px 12px; border-radius: 8px; background: #FBF1C4; border: 1px solid #F3E7B0; color: #6B5A1E; font-size: 14px; }

/* ===== Кабинет исполнителя: заявки (от заказчиков, мои, от других) в коде белой панели ===== */
#reqs > li { padding: 16px 18px !important; border-radius: 12px !important; border: 1px solid #E6E6EA !important; box-shadow: none !important; gap: 10px !important; }
#reqs > li > span:first-child { font-size: 17px !important; letter-spacing: -0.01em; }
#reqs > li div[style*="background: #E6EEFB"] { border-radius: 8px !important; background: #F5F5F7 !important; border: 1px solid #E6E6EA; font-size: 15px; }
#reqs > li button { border-radius: 8px !important; min-height: 40px !important; font-size: 15px !important; font-weight: 550 !important; box-shadow: none !important; }
#reqs > li button[style*="background: #3070DE"] { border: 1px solid #3070DE !important; }
#reqs > li button:not([style*="background: #3070DE"]) { border: 1px solid #DCDCE1 !important; background: #FFFFFF !important; }
#reqs > li input { border: 1px solid #DCDCE1 !important; border-radius: 8px !important; min-height: 40px !important; }
#reqs > li div[style*="background: #EBEBF0"] { border-radius: 8px !important; background: #F5F5F7 !important; border: 1px solid #E6E6EA; }
#reqs-empty, #s-mine-empty, #s-others-empty { border-radius: 12px; }

/* ===== ПРЕВЬЮ: Business Event и Склад оборудования в коде белой панели ===== */
@media (min-width: 861px) {
  body.pg-white main h1, body.pg-white .wh-titlebar h1 { font-size: 26px !important; letter-spacing: -0.02em !important; line-height: 1.15 !important; }
  body.pg-white .crm-desc { font-size: 15px !important; color: #5C5348; max-width: 760px !important; }
  body.pg-white main { gap: 16px !important; padding-top: 12px !important; }
  body.pg-white #crm-tabs.bgrid { display: flex !important; flex-direction: column; flex-wrap: nowrap; gap: 2px; padding: 12px; border-radius: 12px; background: #FFFFFF; border: 1px solid #E4DCCF; position: sticky; top: 16px; }
  body.pg-white #crm-tabs .crm-tab { position: relative; display: flex !important; align-items: center; justify-content: flex-start !important; gap: 10px; width: 100%; min-height: 40px !important; padding: 0 10px !important; border: 0 !important; border-radius: 8px !important; background: transparent !important; color: #1F1B16 !important; font-size: 14px !important; font-weight: 500 !important; text-align: left; box-shadow: none !important; }
  body.pg-white #crm-tabs .crm-tab::before { content: ""; flex: 0 0 18px; width: 18px; height: 18px; background: #7B7266; -webkit-mask: var(--ic) center / contain no-repeat; mask: var(--ic) center / contain no-repeat; }
  body.pg-white #crm-tabs .crm-tab:hover { background: #F4EFE6 !important; }
  body.pg-white #crm-tabs .crm-tab.on { background: #F4EFE6 !important; color: #6B5420 !important; }
  body.pg-white #crm-tabs .crm-tab.on::before { background: #1F1B16; }
  body.pg-white #crm-tabs .crm-tab.on::after { content: ""; position: absolute; left: -12px; top: 6px; bottom: 6px; width: 3px; border-radius: 0 3px 3px 0; background: #1F1B16; }
  body.pg-white #crm-tabs .crm-tab[data-t="stock"] { background: #1F1B16 !important; color: #FFFFFF !important; margin-top: 8px; }
  body.pg-white #crm-tabs .crm-tab[data-t="stock"]::before { background: #FFFFFF; }
  body.pg-white .crm-layout { gap: 24px; grid-template-columns: 240px minmax(0, 1fr); }
  body.pg-white .wh-nav { gap: 2px; padding: 12px; }
  body.pg-white .wh-nav button { position: relative; min-height: 40px; font-size: 14px; font-weight: 500; }
  body.pg-white .wh-nav button[aria-current="page"] { background: #EAF1FD; color: #1B4FA8; }
  body.pg-white .wh-nav button[aria-current="page"]::after { content: ""; position: absolute; left: -12px; top: 6px; bottom: 6px; width: 3px; border-radius: 0 3px 3px 0; background: #3070DE; }
  body.pg-white .wh-nav button[aria-current="page"] svg { stroke: #3070DE; }
  body.pg-white .wh-kpi b { font-size: 22px; }
  body.pg-white .wh-dp[aria-current="page"] { background: #EAF1FD; border-color: #3070DE; color: #1B4FA8; }
  body.pg-white .wh-dp[aria-current="page"] b { background: #FFFFFF; }
  body.pg-white header a#back-link, body.pg-white header nav a[href*="crm"] { border-radius: 8px !important; border-width: 1px !important; }
}
body.pg-white #crm-tabs [data-t="overview"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M4%2020V10M10%2020V4M16%2020v-7M22%2020H2%22/%3E%3C/svg%3E"); }
body.pg-white #crm-tabs [data-t="projects"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Crect%20x=%223%22%20y=%225%22%20width=%2218%22%20height=%2216%22%20rx=%222%22/%3E%3Cpath%20d=%22M3%2010h18M8%203v4M16%203v4%22/%3E%3C/svg%3E"); }
body.pg-white #crm-tabs [data-t="calendar"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Crect%20x=%223%22%20y=%225%22%20width=%2218%22%20height=%2216%22%20rx=%222%22/%3E%3Cpath%20d=%22M3%2010h18M8%203v4M16%203v4M9%2015l2%202%204-4%22/%3E%3C/svg%3E"); }
body.pg-white #crm-tabs [data-t="ideas"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M9%2018h6M10%2021h4M12%203a6%206%200%200%200-4%2010.5c.7.7%201%201.5%201%202.5h6c0-1%20.3-1.8%201-2.5A6%206%200%200%200%2012%203z%22/%3E%3C/svg%3E"); }
body.pg-white #crm-tabs [data-t="clients"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Ccircle%20cx=%2212%22%20cy=%228%22%20r=%224%22/%3E%3Cpath%20d=%22M4%2021c0-4%204-6%208-6s8%202%208%206%22/%3E%3C/svg%3E"); }
body.pg-white #crm-tabs [data-t="contracts"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M6%203h9l4%204v14H6z%22/%3E%3Cpath%20d=%22M14%203v5h5M9%2013h6M9%2017h6%22/%3E%3C/svg%3E"); }
body.pg-white #crm-tabs [data-t="contractors"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Ccircle%20cx=%229%22%20cy=%228%22%20r=%223.5%22/%3E%3Cpath%20d=%22M2%2020c0-3.5%203-5.5%207-5.5s7%202%207%205.5%22/%3E%3Cpath%20d=%22M16%204.5a3.5%203.5%200%200%201%200%207M18%2015c2.5.7%204%202.4%204%205%22/%3E%3C/svg%3E"); }
body.pg-white #crm-tabs [data-t="greet"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Crect%20x=%223%22%20y=%229%22%20width=%2218%22%20height=%2212%22%20rx=%222%22/%3E%3Cpath%20d=%22M12%209v12M3%2013h18M12%209c-2-4-6-4-6-1.5S10%209%2012%209zm0%200c2-4%206-4%206-1.5S14%209%2012%209z%22/%3E%3C/svg%3E"); }
body.pg-white #crm-tabs [data-t="payroll"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Crect%20x=%223%22%20y=%226%22%20width=%2218%22%20height=%2214%22%20rx=%222%22/%3E%3Cpath%20d=%22M3%2010h18M16%2015h2%22/%3E%3C/svg%3E"); }
body.pg-white #crm-tabs [data-t="equipment"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M3%208l9-5%209%205v8l-9%205-9-5z%22/%3E%3Cpath%20d=%22M3%208l9%205%209-5M12%2013v8%22/%3E%3C/svg%3E"); }
body.pg-white #crm-tabs [data-t="stock"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M3%2021V9l9-5%209%205v12%22/%3E%3Cpath%20d=%22M8%2021v-7h8v7%22/%3E%3C/svg%3E"); }
@media (min-width: 861px) { body.pg-white .crm-main button { min-height: 40px !important; font-size: 15px !important; font-weight: 550 !important; border-radius: 8px !important; } body.pg-white .crm-main button[style*="background: #1F1B16"] { border: 0 !important; } }
@media (min-width: 861px) { body.pg-white .crm-main button.crm-cb, body.pg-white .crm-main button[style*="width: 22px"] { width: 22px !important; height: 22px !important; min-width: 22px !important; min-height: 22px !important; padding: 0 !important; border-radius: 6px !important; font-size: 14px !important; line-height: 1 !important; } body.pg-white .crm-main button.crm-ico { min-height: 28px !important; min-width: 28px !important; padding: 0 4px !important; background: none !important; border: 0 !important; } }
@media (max-width: 860px) { body.pg-white header nav a[href="crm.html"], body.pg-white .wh-titlebar ~ * { } body.pg-white header nav a[href="crm.html"] + #back-link, body.pg-white header nav a[href="crm.html"] { padding: 8px 14px !important; font-size: 15px; } }
.exp-row { display: grid; grid-template-columns: minmax(0, 1.6fr) 110px 150px 96px 130px 44px; gap: 8px; align-items: center; }
.exp-row > * { min-width: 0; width: 100%; box-sizing: border-box; }
.exp-row > button { width: auto; }
@media (max-width: 760px) {
  .exp-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 44px; padding-bottom: 12px; border-bottom: 1px dashed #CFE3D6; }
  .exp-row > :nth-child(1) { grid-column: 1 / 3; }
  .exp-row > :nth-child(6) { grid-column: 3; grid-row: 1; }
  .exp-row > :nth-child(2) { grid-column: 1; }
  .exp-row > :nth-child(3) { grid-column: 2 / 4; }
  .exp-row > :nth-child(4) { grid-column: 1; }
  .exp-row > :nth-child(5) { grid-column: 2 / 4; }
}

/* Business Event: раскрытый проект — детали и рекомендации */
@media (max-width: 860px) {
  .proj-open { grid-template-columns: minmax(0, 1fr) !important; }
  .proj-open > aside { order: -1; }
}

/* ===== Админ-панель в стиле белой панели кабинета исполнителя ===== */
@media (min-width: 861px) {
.adm-white #tabs .adm-grp { font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #8A8A90; padding: 14px 10px 4px; }
.adm-white #tabs .adm-grp:first-child { padding-top: 4px; }
.adm-white .dash-side { max-width: 280px; flex-basis: 260px !important; }
.adm-white #stats > * { border-radius: 12px !important; background: #FFFFFF !important; border: 1px solid #E6E6EA; box-shadow: none !important; padding: 16px !important; }
.adm-white #source-note { border-radius: 8px !important; font-size: 14px !important; padding: 10px 14px !important; }
.adm-white h1 { font-size: 24px !important; letter-spacing: -0.02em !important; }
.adm-white #toolbar input, .adm-white #toolbar button, .adm-white #kinds button, .adm-white #pay-stats button { border-radius: 8px !important; min-height: 40px !important; border-width: 1px !important; font-size: 14px !important; }
.adm-white header a[href="index.html"]:last-child { border: 1px solid #DCDCE1; border-radius: 8px; padding: 0 16px !important; min-height: 40px; display: inline-flex; align-items: center; background: #FFFFFF; font-size: 14px; font-weight: 550; }
.adm-white .dash-main > section#analytics-box, .adm-white .dash-main > section#pr-box, .adm-white .dash-main > section#settings-box { gap: 16px; }
}
@media (max-width: 860px) { .adm-white #tabs .adm-grp { display: none; } .adm-white #toolbar input, .adm-white #toolbar button { border-radius: 8px !important; } }
.adm-white .dash { border-radius: 12px !important; box-shadow: none !important; border: 1px solid #E6E6EA; }
.adm-white .admin-table th { background: #FAFAFC; }
.adm-white #tabs [data-a="analytics"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M4%2020V10M10%2020V4M16%2020v-7M22%2020H2%22/%3E%3C/svg%3E"); }
.adm-white #tabs [data-a="now"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Ccircle%20cx=%2212%22%20cy=%2212%22%20r=%229%22/%3E%3Cpath%20d=%22M12%207v5l3%202%22/%3E%3C/svg%3E"); }
.adm-white #tabs [data-a="requests"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M4%204h16v12H8l-4%204z%22/%3E%3C/svg%3E"); }
.adm-white #tabs [data-a="customers"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Ccircle%20cx=%2212%22%20cy=%228%22%20r=%224%22/%3E%3Cpath%20d=%22M4%2021c0-4%204-6%208-6s8%202%208%206%22/%3E%3C/svg%3E"); }
.adm-white #tabs [data-a="performers"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M3%207h18v13H3zM8%207V4h8v3%22/%3E%3C/svg%3E"); }
.adm-white #tabs [data-a="leads"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M4%204h16v12H8l-4%204zM8%209h8M8%2012h5%22/%3E%3C/svg%3E"); }
.adm-white #tabs [data-a="failed"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Ccircle%20cx=%2212%22%20cy=%2212%22%20r=%229%22/%3E%3Cpath%20d=%22M9%209l6%206M15%209l-6%206%22/%3E%3C/svg%3E"); }
.adm-white #tabs [data-a="support"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Ccircle%20cx=%2212%22%20cy=%2212%22%20r=%229%22/%3E%3Cpath%20d=%22M9.5%209.5a2.5%202.5%200%20115%200c0%201.8-2.5%202-2.5%204M12%2017h.01%22/%3E%3C/svg%3E"); }
.adm-white #tabs [data-a="news"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M5%204h14v16H5zM9%209h6M9%2013h6%22/%3E%3C/svg%3E"); }
.adm-white #tabs [data-a="pr"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M3%2011l18-7-7%2018-3-8z%22/%3E%3C/svg%3E"); }
.adm-white #tabs [data-a="home"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M4%2010.5L12%204l8%206.5V20H4z%22/%3E%3Cpath%20d=%22M10%2020v-6h4v6%22/%3E%3C/svg%3E"); }
.adm-white #tabs [data-a="notify"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M6%208a6%206%200%200112%200c0%207%203%209%203%209H3s3-2%203-9%22/%3E%3Cpath%20d=%22M10.3%2021a1.94%201.94%200%20003.4%200%22/%3E%3C/svg%3E"); }
.adm-white #tabs [data-a="settings"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Ccircle%20cx=%2212%22%20cy=%2212%22%20r=%223%22/%3E%3Cpath%20d=%22M12%202v3M12%2019v3M2%2012h3M19%2012h3M5%205l2%202M17%2017l2%202M19%205l-2%202M7%2017l-2%202%22/%3E%3C/svg%3E"); }
@media (min-width: 861px) {
.adm-white #tabs .adm-grp { display: block; }
.adm-white .dash-main section button[style*="border-radius: 999px"]:not([style*="color: #FFFFFF"]) { border: 1px solid #DCDCE1 !important; background: #FFFFFF !important; }
.adm-white #pr-box [style*="box-shadow: 0 2px 10px"], .adm-white #pr-box [style*="box-shadow: 0 1px 6px"] { border: 1px solid #E6E6EA; }
}

body.pg-white #crm-tabs [data-t="team"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Ccircle%20cx=%2212%22%20cy=%227%22%20r=%223%22/%3E%3Ccircle%20cx=%225%22%20cy=%2210%22%20r=%222.2%22/%3E%3Ccircle%20cx=%2219%22%20cy=%2210%22%20r=%222.2%22/%3E%3Cpath%20d=%22M6.5%2020c0-3.3%202.5-5.5%205.5-5.5s5.5%202.2%205.5%205.5M1.5%2018c0-2.2%201.5-3.5%203.5-3.5M22.5%2018c0-2.2-1.5-3.5-3.5-3.5%22/%3E%3C/svg%3E"); }

.cab-white #n-pick, .cab-white #n-unpick { border-radius: 8px !important; min-height: 40px !important; border-width: 1px !important; border-color: #DCDCE1 !important; font-size: 15px !important; font-weight: 550 !important; }
.cab-white #n-send { border-radius: 8px !important; min-height: 44px !important; font-size: 16px !important; border-width: 1px !important; }

/* Поздравления: календарь */
.gr-nm { display: none; }
@media (min-width: 760px) {
  .gr-nm { display: block; }
  .gr-cell { min-height: 84px !important; }
  .gr-cell > span:nth-child(2) { display: none !important; }
}

/* Единые кнопки действий в «Смете», «Анкетах» и просмотре: синяя главная, остальные белые, компактный ряд */
#e-actions, #fm-actions, #e-sendbox > div:last-child, #fm-share > div { display: flex; flex-wrap: wrap; gap: 8px !important; align-items: center; }
#e-save, #e-print, #e-send, #e-close, #e-send-go, #e-send-cancel, #fm-save, #fm-send, #fm-close, #fm-add, #fm-copy,
#v-print, #v-del, #v-back, #fm-v-print, #fm-v-del, #fm-v-back, #card-save {
  min-height: 42px !important; padding: 0 16px !important; border-radius: 8px !important; font-size: 15px !important; font-weight: 600 !important;
  box-shadow: none !important; width: auto; border: 1px solid #DCDCE1 !important; background: #FFFFFF !important; color: #1D1D1F !important;
}
#e-save, #e-send-go, #fm-save, #fm-copy, #v-print, #fm-v-print, #card-save { border-color: #3070DE !important; background: #3070DE !important; color: #FFFFFF !important; }
#e-save:hover, #e-send-go:hover, #fm-save:hover, #fm-copy:hover, #v-print:hover, #fm-v-print:hover, #card-save:hover { background: #2760C4 !important; }
@media (min-width: 641px) { #e-actions { display: flex !important; } }
@media (max-width: 640px) { #e-actions button { min-height: 48px !important; font-size: 14px !important; padding: 6px 6px !important; } }
@media (min-width: 1100px) { #e-actions { width: max-content; max-width: 860px; } }

/* печать режиссёрского плана и листов по ролям (Business Event) */
#print-root { display: none; }
@media print {
  body.printing > *:not(#print-root) { display: none !important; }
  body.printing #print-root { display: block !important; padding: 0; background: #FFFFFF; color: #000000; }
}
.adm-white #tabs [data-a="todo"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M9%2011l3%203L22%204%22/%3E%3Cpath%20d=%22M21%2012v7a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2V5a2%202%200%200%201%202-2h11%22/%3E%3C/svg%3E"); }

/* аккаунт создан через мессенджер и без пароля: смена пароля недоступна, пока он не задан */
html[data-nopass] #pw-open { display: none !important; }

/* Админ-панель на телефоне: убираем лишние поля, чтобы содержимое занимало всю ширину экрана */
@media (max-width: 700px) {
  body.adm-white .adm-head { padding: 12px 14px 0 !important; }
  body.adm-white .adm-wrap { padding: 10px 6px 60px !important; }
  body.adm-white .dash { border-radius: 20px !important; min-height: 0 !important; }
  body.adm-white .dash-side { padding: 10px !important; gap: 10px !important; }
  body.adm-white .dash-main { padding: 10px 8px !important; gap: 14px !important; }
  body.adm-white .dash-main > section { padding: 12px 8px !important; border-radius: 16px !important; }
  body.adm-white .dash-main h1 { font-size: 24px !important; }
  body.adm-white .dash-main table { font-size: 14px; }
  body.adm-white .dash-main input, body.adm-white .dash-main select, body.adm-white .dash-main textarea { max-width: 100%; box-sizing: border-box; }
}
@media (max-width: 700px) {
  body.adm-white #stats { display: grid !important; grid-template-columns: 1fr 1fr; gap: 8px !important; padding: 8px !important; }
  body.adm-white #stats > * { padding: 12px !important; min-width: 0; overflow-wrap: anywhere; }
}

/* Админ-панель на телефоне в том же стиле, что и на компьютере: белая плоская панель, строгие рамки, значки и подписи групп в меню */
@media (max-width: 860px) {
  body.adm-white .dash { background: #FFFFFF; }
  body.adm-white .dash-side { background: #FFFFFF !important; border-bottom: 1px solid #E6E6EA; padding: 10px !important; max-width: none; }
  body.adm-white .m-sel { min-height: 44px; border-radius: 8px; border: 1px solid #DCDCE1; box-shadow: none; font-size: 15px; font-weight: 600; padding: 0 14px; background: #FFFFFF; }
  body.adm-white .side-nav.m-collapsible.m-open { padding-top: 8px; gap: 2px; }
  body.adm-white #tabs .adm-grp { display: block; }
  body.adm-white .dash-main > section { background: transparent !important; border-radius: 0 !important; padding: 4px 2px !important; }
  body.adm-white #stats { background: transparent !important; padding: 0 !important; }
  body.adm-white #stats > * { border-radius: 12px !important; background: #FFFFFF !important; border: 1px solid #E6E6EA; box-shadow: none !important; }
  body.adm-white #source-note { border-radius: 8px !important; font-size: 14px !important; padding: 10px 14px !important; }
  body.adm-white .dash-main h1 { font-size: 22px !important; letter-spacing: -0.02em !important; }
  body.adm-white #kinds button, body.adm-white #pay-stats button, body.adm-white .dash-main button { border-radius: 8px !important; }
  body.adm-white .dash-main input, body.adm-white .dash-main select, body.adm-white .dash-main textarea { border-radius: 8px !important; border-width: 1px !important; }
  body.adm-white header a[href="index.html"]:last-child { border: 1px solid #DCDCE1; border-radius: 8px; padding: 0 14px !important; min-height: 40px; display: inline-flex; align-items: center; background: #FFFFFF; font-size: 14px; font-weight: 550; }
}
@media (max-width: 860px) {
  body.adm-white #tabs .adm-grp { font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #8A8A90; padding: 12px 10px 4px; }
  body.adm-white #tabs .side-item { position: relative; justify-content: flex-start; gap: 10px; min-height: 44px; padding: 0 10px; border-radius: 8px; font-size: 15px; font-weight: 500; box-shadow: none !important; margin-top: 0 !important; background: transparent; color: #1D1D1F; }
  body.adm-white #tabs .side-item > :first-child { flex: 1 1 auto; min-width: 0; }
  body.adm-white #tabs .side-item::before { content: ""; flex: 0 0 18px; width: 18px; height: 18px; background: #6E6E73; -webkit-mask: var(--ic) center / contain no-repeat; mask: var(--ic) center / contain no-repeat; }
  body.adm-white #tabs .side-item-on, body.adm-white #tabs .side-item-on:hover { background: #EAF1FD; color: #1B4FA8; }
  body.adm-white #tabs .side-item-on::before { background: #3070DE; }
  body.adm-white #tabs .side-badge { margin-left: auto; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 6px; font-size: 11px; line-height: 20px; }
  body.adm-white .dash { border-radius: 12px !important; }
}
@media (max-width: 860px) {
  body.adm-white #stats > * { display: flex !important; justify-content: space-between; align-items: center; gap: 8px; text-align: left !important; font-size: 13px; min-height: 44px; }
  body.adm-white .dash-main button:not([role="switch"]):not(.m-sel) { min-height: 40px; font-size: 14px; font-weight: 550; border-radius: 8px !important; }
  body.adm-white .dash-main button[style*="border: 1.5px"], body.adm-white .dash-main button[style*="border: 2px"] { border-width: 1px !important; }
  body.adm-white #toolbar button, body.adm-white #toolbar input, body.adm-white #toolbar select { min-height: 40px !important; font-size: 14px !important; }
}
#kinds .adm-kind:hover > span:first-child { border-color: #A1A1A6; }
#kinds .adm-kind:focus-visible { outline: 2px solid #3070DE; outline-offset: 3px; border-radius: 12px; }
@media (max-width: 860px) { #kinds { gap: 14px 6px !important; } #kinds .adm-kind { flex-basis: 80px !important; } }

/* «Сейчас»: на телефоне плитки 2×2; скрытые блоки админки остаются скрытыми */
body.adm-white #stats[style*="display: none"] { display: none !important; }
@media (max-width: 640px) {
  #now-box .now-tiles { grid-template-columns: 1fr 1fr !important; gap: 8px !important; }
  #now-box .now-tiles > div { padding: 12px !important; }
}

/* первый запуск заказчика: карточка из трёх шагов заменяет короткий пустой текст */
#bk-empty.onb-on > :not(#onb-c) { display: none !important; }
#bk-empty.onb-on { padding: 0 !important; border: 0 !important; background: transparent !important; }

/* «Мои анкеты» на телефоне: два главных действия в первой строке, три второстепенных — во второй */
@media (max-width: 640px) {
  .fm-acts { display: grid !important; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px !important; width: 100%; }
  .fm-acts > button { grid-column: span 2; min-height: 40px !important; padding: 0 6px !important; font-size: 14px !important; }
  .fm-acts > button:nth-child(-n+2) { grid-column: span 3; }
  #fm-list li, #fm-folders li { padding: 14px !important; }
}

/* телефон, кабинеты и рабочие страницы: логотип компактной «поисковой строкой» в овале */
@media (max-width: 640px) {
  body.app-m:not(.app-i) header { padding-top: 10px !important; padding-bottom: 6px !important; gap: 8px 12px !important; }
  body.app-m:not(.app-i) header > a:first-child { display: inline-flex !important; align-items: center; gap: 8px !important; padding: 6px 16px 6px 12px; border: 1.5px solid #D2D2D7; border-radius: 999px; background: #FFFFFF; max-width: 100%; }
  body.app-m:not(.app-i) header > a:first-child > svg { width: 24px !important; height: 24px !important; }
  body.app-m:not(.app-i) header > a:first-child > span { gap: 0 !important; }
  body.app-m:not(.app-i) header > a:first-child > span > span:first-child { font-size: 19px !important; }
  body.app-m:not(.app-i) header > a:first-child > span > span:last-child { font-size: 11px !important; line-height: 1.2; }
}

/* кабинет заказчика на телефоне: логотип-овал короче, чтобы переключатель «Организуйте за меня» оставался в одной строке */
@media (max-width: 640px) {
  body.app-c header { gap: 8px !important; }
  body.app-c header > a:first-child { flex: 0 1 auto !important; padding: 4px 10px 4px 8px !important; gap: 5px !important; min-width: 0; }
  body.app-c header > a:first-child > svg { width: 18px !important; height: 18px !important; }
  body.app-c header > a:first-child > span > span:first-child { font-size: 15px !important; }
  body.app-c header > a:first-child > span > span:last-child { display: none !important; }
}
@media (max-width: 640px) {
  body.app-c header { column-gap: 6px !important; row-gap: 8px !important; }
  body.app-c header > div:has(> #delegate-top) { gap: 0 !important; }
  body.app-c .dlg { padding: 3px 5px !important; gap: 2px !important; }
  body.app-c .dlg > span { max-width: 58px; font-size: 9px !important; }
  body.app-c .dlg { padding-right: 8px !important; }
}

/* кабинет заказчика на телефоне: пустые блоки не дают лишних отступов */
@media (max-width: 640px) {
  body.app-c .dash-main { gap: 12px !important; padding-top: 6px !important; padding-bottom: 8px !important; }
  body.app-c .dash-main > div:first-child:has(> p:only-child:empty) { display: none !important; }
  body.app-c #view-booked { gap: 10px !important; }
  body.app-c #bk-sum:empty, body.app-c #bk-groups:empty { display: none !important; }
  body.app-c main { padding-top: 4px !important; }
}
@media (max-width: 640px) {
  body.app-c .dash-main > div:first-child:not(:has(h1)) { display: none !important; }
  body.app-c header { padding-bottom: 0 !important; }
  body.app-c #side { padding-bottom: 0 !important; }
  body.app-c .dash-main { padding-top: 0 !important; gap: 0 !important; }
  body.app-c main { padding-top: 12px !important; }
}

/* Визитка с обложкой: вкладки, галерея отзывов, просмотр крупно */
.vm-hero { aspect-ratio: 4 / 3; border-radius: 12px 12px 0 0; }
.vm-tabs { display: flex; gap: 6px; overflow-x: auto; margin: 0 -4px; padding: 2px 4px; scrollbar-width: none; }
.vm-tabs::-webkit-scrollbar { display: none; }
.vm-tabs button { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 16px; border: 1px solid #E1E1E8; border-radius: 999px; background: #FFFFFF; color: #515154; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.vm-tabs button[aria-selected="true"] { background: linear-gradient(120deg, #6E33B0, #A02C6E 55%, #CF2E33); border-color: transparent; color: #FFFFFF; }
.vm-tabs button i { font-style: normal; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; background: rgba(110,51,176,.14); color: #6E33B0; font-size: 12px; line-height: 20px; text-align: center; }
.vm-tabs button[aria-selected="true"] i { background: rgba(255,255,255,.28); color: #FFFFFF; }
.vm-pane { display: flex; flex-direction: column; gap: 20px; }
.vm-pane[hidden] { display: none; }
.vm-rev { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
@media (min-width: 640px) { .vm-rev { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.vm-rev button { position: relative; display: block; padding: 0; border: 1px solid #E1E1E8; border-radius: 14px; background: #F5F5F7; overflow: hidden; cursor: pointer; text-align: left; font: inherit; }
.vm-rev button img { display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; object-position: top; }
.vm-rev button span { position: absolute; left: 0; right: 0; bottom: 0; padding: 18px 10px 8px; background: linear-gradient(to top, rgba(10,10,12,.75), rgba(10,10,12,0)); color: #FFFFFF; font-size: 12px; font-weight: 600; overflow-wrap: anywhere; }
.vm-bar { background: rgba(255,255,255,.82); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.vm-book { border-radius: 14px; background: linear-gradient(120deg, #6E33B0, #A02C6E 55%, #CF2E33); }
.vm-lb { position: fixed; inset: 0; z-index: 200; background: rgba(10,10,14,.92); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 56px 16px 24px; }
.vm-lb img { max-width: 100%; max-height: calc(100% - 40px); object-fit: contain; border-radius: 10px; background: #FFFFFF; }
.vm-lb-cap { color: #FFFFFF; font-size: 14px; text-align: center; }
.vm-lb-x, .vm-lb-n { position: absolute; width: 44px; height: 44px; border: 0; border-radius: 50%; background: rgba(255,255,255,.18); color: #FFFFFF; font-size: 22px; cursor: pointer; }
.vm-lb-x { top: 12px; right: 12px; }
.vm-lb-n { top: 50%; right: 10px; transform: translateY(-50%); }
.vm-lb-p { right: auto; left: 10px; }
.vm-lb-n[hidden] { display: none; }

/* Проекты: компактный список и мини-календарь */
.pj-wrap { display: grid; grid-template-columns: minmax(0, 1fr) 288px; gap: 16px; align-items: start; }
.pj-side { position: sticky; top: 12px; }
.pj-cal { border: 1px solid #E4DCCF; border-radius: 12px; background: #FFFFFF; padding: 12px; }
.pj-cal-toggle { display: none; }
.pj-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
.pj-day { min-height: 38px; border: 0; border-radius: 8px; background: none; font: inherit; font-size: 14px; color: #1F1B16; cursor: pointer; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; padding: 2px 0; }
.pj-day:hover { background: #F2F2F5; }
.pj-day.has { font-weight: 700; background: #F4EFE6; }
.pj-day.today { box-shadow: inset 0 0 0 1.5px #1F1B16; }
.pj-day.sel { background: #1F1B16; color: #FFFFFF; }
.pj-card { position: relative; border: 1px solid #E4DCCF; border-radius: 12px; background: #FFFFFF; }
.pj-card.open { border-color: #B5C9F0; }
.pj-card.off { opacity: .7; }
.pj-row { border-radius: 12px; width: 100%; padding-right: 58px !important; display: grid; grid-template-columns: 54px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 10px 14px; border: 0; background: none; font: inherit; color: inherit; text-align: left; cursor: pointer; }
.pj-row:hover { background: #FAF7F2; }
.pj-tile { width: 54px; height: 56px; border-radius: 10px; display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1.1; }
.pj-tile b { font-size: 22px; } .pj-tile small { font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: #3A3A3F; }
.pj-mn { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.pj-title { font-size: 17px; font-weight: 700; overflow-wrap: anywhere; }
.pj-meta { font-size: 14px; font-weight: 400; color: #7B7266; overflow-wrap: anywhere; }
.pj-sd { display: flex; align-items: center; gap: 4px 12px; flex-wrap: wrap; justify-content: flex-end; text-align: right; }
.pj-sum { font-size: 15px; font-weight: 700; white-space: nowrap; }
.pj-days { font-size: 13px; color: #7B7266; white-space: nowrap; }
.pj-chev { margin-left: auto; font-size: 16px; color: #8F8678; }
@media (max-width: 900px) {
  .pj-wrap { grid-template-columns: minmax(0, 1fr); }
  .pj-side { position: static; order: -1; }
  .pj-cal-toggle { display: flex; width: 100%; min-height: 44px; align-items: center; justify-content: center; border: 1px solid #E4DCCF; border-radius: 10px; background: #FFFFFF; font: inherit; font-weight: 600; font-size: 15px; cursor: pointer; }
  .pj-cal { display: none; margin-top: 8px; }
  .pj-cal.open { display: block; }
  .pj-row { grid-template-columns: 48px minmax(0, 1fr); gap: 10px; padding: 10px 12px; }
  .pj-tile { width: 48px; height: 52px; }
  .pj-sd { grid-column: 1 / -1; flex-wrap: nowrap; justify-content: flex-start; text-align: left; padding-left: 58px; margin-top: -2px; }
  .pj-days { margin-left: auto; }
}

.pj-help { position: absolute; top: 8px; right: 8px; width: 34px; height: 34px; border: 1px solid #E4DCCF; border-radius: 50%; background: #FFFFFF; color: #1F1B16; font: inherit; font-weight: 700; font-size: 17px; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0; }
.pj-help:hover, .pj-help.on { background: #F4EFE6; border-color: #B5C9F0; }
.pj-help i { position: absolute; top: -5px; right: -5px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 9px; background: #C9A25F; color: #1F1B16; font-style: normal; font-size: 11px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.pj-pop { position: absolute; top: 48px; right: 8px; z-index: 30; width: min(360px, calc(100vw - 32px)); max-height: 60vh; overflow: auto; border-radius: 12px; box-shadow: 0 12px 34px rgba(0,0,0,.18); background: #FFFFFF; }
.pj-pop aside { border: 0 !important; background: #FFFFFF !important; }
.pj-secs { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 10px; }
.pj-sec { display: flex; flex-direction: column; gap: 5px; padding: 12px 14px; border: 1px solid #E4DCCF; border-radius: 10px; background: #F7F2E9; min-width: 0; }
.pj-sec.wide { grid-column: 1 / -1; }
@media (max-width: 900px) { .pj-secs { grid-template-columns: minmax(0, 1fr); } }

/* Маркетплейс ивенторов: компактные плитки (фото, имя, вид, город) вместо огромных визиток; полная визитка открывается по кнопке-глазу */
#m-list .mk-card { padding: 10px !important; border-radius: 12px !important; border: 1px solid #E6E6EA !important; gap: 0 !important; }
#m-list .mk-full, #m-list .mk-add-full { display: none !important; }
#m-list .mk-tile { display: flex !important; }

/* Кнопка «Business Event» в левой навигации кабинета стоит над группой «Работа» (на компьютере) */
@media (min-width: 861px) {
  .cab-white #tabs a[data-t="biz"] { order: 5 !important; margin: 0 0 8px !important; }
}

/* «Сообщество» в меню кабинета исполнителя сворачивается */
@media (min-width: 861px) { #tabs.grp3-off [data-g3] { display: none !important; } }
#tabs button.side-grp { color: inherit; }

.cab-white #tabs [data-t="events"] { order: 14; }
.cab-white #tabs [data-t="events"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Crect%20x=%223%22%20y=%225%22%20width=%2218%22%20height=%2216%22%20rx=%222%22/%3E%3Cpath%20d=%22M3%2010h18M8%203v4M16%203v4%22/%3E%3C/svg%3E"); }

/* Меню «Ещё» на телефоне: маленькое окошко-список, как у кнопки «?», вместо большой панели с плитками */
@media (max-width: 640px) {
  body.app-m .app-sheet .app-dim { background: rgba(0, 0, 0, .08) !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
  body.app-m .app-sheet .app-box { left: auto !important; right: 12px !important; bottom: calc(104px + env(safe-area-inset-bottom, 0px)) !important; width: min(300px, calc(100vw - 24px)) !important; max-height: calc(100vh - 190px) !important; padding: 8px !important; border-radius: 16px !important; border: 1px solid #E6E6EA !important; background: #FFFFFF !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; box-shadow: 0 8px 28px rgba(0, 0, 0, .18) !important; overflow-y: auto; }
  body.app-m .app-sheet .app-grab { display: none !important; }
  body.app-m .app-sheet .app-grid, body.app-m .app-sheet .app-grid-2 { grid-template-columns: 1fr !important; gap: 2px !important; }
  body.app-m .app-sheet .app-tile { position: relative; flex-direction: row !important; justify-content: flex-start !important; align-items: center !important; min-height: 46px !important; padding: 4px 10px !important; gap: 12px !important; border-radius: 12px !important; background: transparent; color: #1D1D1F !important; font-size: 15px !important; line-height: 1.2; text-align: left !important; }
  body.app-m .app-sheet .app-tile .app-ic { width: 32px !important; height: 32px !important; flex: 0 0 auto; border-radius: 10px !important; box-shadow: none !important; }
  body.app-m .app-sheet .app-tile .app-ic svg { width: 20px !important; height: 20px !important; }
  body.app-m .app-sheet .app-tile .app-tl { min-width: 0; text-align: left; }
  body.app-m .app-sheet .app-tile-gift { background: #FCF3C4 !important; }
  body.app-m .app-sheet .app-tile-dark { background: #1D1D1F !important; color: #FFFFFF !important; }
  body.app-m .app-sheet .app-tile-on { font-weight: 650; }
  body.app-m .app-sheet .app-tile-on:not(.app-tile-dark):not(.app-tile-gift) { background: #F3ECFA !important; }
  body.app-m .app-sheet .app-tile .app-badge { position: absolute !important; top: 50% !important; right: 10px !important; left: auto !important; transform: translateY(-50%); }
}

/* кабинет фотографа: заказы, клиенты, договоры, памятные даты */
.cab-white #tabs [data-t="p_orders"] { order: 14; }
.cab-white #tabs [data-t="p_orders"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Crect%20x=%223%22%20y=%225%22%20width=%2218%22%20height=%2216%22%20rx=%222%22/%3E%3Cpath%20d=%22M3%2010h18M8%203v4M16%203v4%22/%3E%3C/svg%3E"); }
.cab-white #tabs [data-t="p_clients"] { order: 15; }
.cab-white #tabs [data-t="p_clients"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Ccircle%20cx=%2212%22%20cy=%228%22%20r=%224%22/%3E%3Cpath%20d=%22M4%2021c1-5%2015-5%2016%200%22/%3E%3C/svg%3E"); }
.cab-white #tabs [data-t="p_contracts"] { order: 16; }
.cab-white #tabs [data-t="p_contracts"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M6%203h9l4%204v14H6z%22/%3E%3Cpath%20d=%22M14%203v5h5M9%2013h7M9%2017h5%22/%3E%3C/svg%3E"); }
.cab-white #tabs [data-t="p_dates"] { order: 17; }
.cab-white #tabs [data-t="p_dates"] { --ic: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%221.7%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Crect%20x=%223%22%20y=%225%22%20width=%2218%22%20height=%2216%22%20rx=%222%22/%3E%3Cpath%20d=%22M3%2010h18M8%203v4M16%203v4%22/%3E%3C/svg%3E"); }


/* Premium homepage: keep the process section in the same editorial palette. */
.hero-band {
  max-width: 1320px !important;
  margin: 28px auto 42px !important;
  padding: 54px 40px 58px !important;
  border: 1px solid #e3e4df !important;
  border-radius: 30px !important;
  background: #eef0ec !important;
  color: #111210 !important;
  box-shadow: none !important;
}
.hero-band h2 {
  max-width: 900px !important;
  color: #111210 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(32px, 4vw, 48px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.035em !important;
}
.hero-steps { gap: 22px 34px !important; }
.hero-steps li { width: 230px !important; }
.hero-dot {
  width: 54px !important;
  height: 54px !important;
  background: #657b55 !important;
  color: #fff !important;
  box-shadow: 0 5px 14px rgba(40,55,30,.12) !important;
  font-size: 22px !important;
}
.hero-step { color: #171815 !important; font-weight: 650 !important; }
.hero-sub { color: #686b64 !important; }
@media (max-width: 640px) {
  .hero-band { margin: 18px 14px 28px !important; padding: 34px 22px 38px !important; border-radius: 24px !important; }
  .hero-steps { max-width: 100% !important; }
  .hero-steps li { width: auto !important; }
}
