.mmaster-overlay {
  position: fixed; inset: 0; z-index: 960;
  background: rgba(7,17,27,.78); backdrop-filter: blur(6px);
  opacity: 0; pointer-events: none;
  transition: opacity .25s ease;
}
.mmaster-overlay.open { opacity: 1; pointer-events: all; }

.mmaster-panel {
  position: fixed; z-index: 961;
  left: 50%; top: 50%;
  transform: translate(-50%, -50%) scale(.96);
  width: min(780px, 96vw);
  max-height: 88dvh;
  background: var(--bg2);
  border: 1px solid var(--line);
  border-radius: var(--ui-radius-lg,18px);
  display: flex; flex-direction: column;
  opacity: 0; pointer-events: none;
  transition: opacity .25s ease, transform .25s cubic-bezier(.16,1,.3,1);
  overflow: hidden;
}
.mmaster-panel.open {
  opacity: 1; pointer-events: all;
  transform: translate(-50%, -50%) scale(1);
}
@media (max-width: 600px) {
  .mmaster-panel {
    top: auto; bottom: 0; left: 0; right: 0;
    transform: translateY(32px) scale(1);
    width: 100%; max-height: 92dvh; border-radius: var(--ui-radius-lg,18px) var(--ui-radius-lg,18px) 0 0;
    border-bottom: none;
  }
  .mmaster-panel.open { transform: translateY(0) scale(1); }
}

/* Шапка */
.mmaster-head {
  padding: 20px 22px 0;
  flex-shrink: 0;
}
.mmaster-head-row {
  display: flex; gap: 16px; align-items: flex-start;
}
.mmaster-avatar {
  width: 72px; height: 72px; flex-shrink: 0;
  border-radius: 50%;
  background: var(--mc-dim, rgba(52,211,153,.15));
  border: 3px solid var(--mc, #34d399);
  display: flex; align-items: center; justify-content: center;
  font-family: 'Oswald', sans-serif;
  font-size: 26px; font-weight: 700;
  color: var(--mc, #34d399);
}
.mmaster-info { flex: 1; min-width: 0; }
.mmaster-name {
  font-family: 'Oswald', sans-serif; font-size: 22px; font-weight: 700;
  line-height: 1.15; margin-bottom: 2px;
}
.mmaster-spec { font-size: 13px; color: var(--text2); margin-bottom: 6px; }
.mmaster-badges { display: flex; flex-wrap: wrap; gap: 6px; }
.mmaster-badge {
  display: inline-flex; align-items: center;
  padding: 3px 10px; border-radius: 99px;
  font-size: 11px; font-weight: 700;
}
.mmaster-badge--gold  { background: rgba(251,191,36,.1);  border: 1px solid rgba(251,191,36,.3);  color: #fbbf24; }
.mmaster-badge--green { background: rgba(52,211,153,.1); border: 1px solid rgba(52,211,153,.25); color: #34d399; }
.mmaster-badge--blue  { background: rgba(96,165,250,.1);  border: 1px solid rgba(96,165,250,.25);  color: #60a5fa; }
.mmaster-badge--muted { background: var(--surface-a); border: 1px solid var(--line); color: var(--text2); }
.mmaster-badge--ver   { background: rgba(52,211,153,.08); border: 1px solid rgba(52,211,153,.25); color: #34d399; }
.mmaster-close {
  width: 36px; height: 36px; flex-shrink: 0;
  background: var(--surface-b); border: 1px solid var(--line);
  border-radius: var(--ui-radius-md,10px); display: flex; align-items: center;
  justify-content: center; font-size: 18px; cursor: pointer;
  transition: background .15s;
}
.mmaster-close:hover { background: var(--surface-c); }

/* Метрики */
.mmaster-metrics {
  display: flex; gap: 0;
  margin: 16px 22px 0;
  background: var(--surface, var(--surface-a));
  border: 1px solid var(--line);
  border-radius: var(--ui-radius-md,10px);
  overflow: hidden;
  flex-shrink: 0;
}
.mmaster-metric {
  flex: 1; padding: 10px 8px; text-align: center;
  border-right: 1px solid var(--line);
}
.mmaster-metric:last-child { border-right: none; }
.mmaster-metric-val {
  font-family: 'Oswald', sans-serif; font-size: 18px;
  font-weight: 700; line-height: 1; color: var(--mc, #34d399);
  margin-bottom: 3px;
}
.mmaster-metric-lbl {
  font-size: 10px; color: var(--text3);
  text-transform: uppercase; letter-spacing: .04em;
}

/* Вкладки */
.mmaster-tabs {
  display: flex; gap: 0; overflow-x: auto; flex-shrink: 0;
  margin: 14px 0 0; padding: 0 22px;
  border-bottom: 1px solid var(--line);
  scrollbar-width: none;
}
.mmaster-tabs::-webkit-scrollbar { display: none; }
.mmaster-tab {
  flex-shrink: 0; padding: 10px 14px;
  font-size: 12px; font-weight: 700; letter-spacing: .02em;
  color: var(--text3); cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px; transition: color .15s, border-color .15s;
  white-space: nowrap;
}
.mmaster-tab:hover { color: var(--text1); }
.mmaster-tab.active { color: var(--mc, var(--orange)); border-bottom-color: var(--mc, var(--orange)); }

/* Контент вкладок */
.mmaster-body {
  flex: 1; overflow-y: auto; padding: 20px 22px;
  scrollbar-width: thin;
  scrollbar-color: var(--line) transparent;
}
.mmaster-pane { display: none; }
.mmaster-pane.active { display: block; }

/* Метрики панель в «О мастере» */
.mmaster-about-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 10px; margin-top: 14px;
}
.mmaster-about-item {
  padding: 10px 14px; background: var(--bg);
  border: 1px solid var(--line); border-radius: var(--ui-radius-md,10px);
}
.mmaster-about-item span { display: block; font-size: 10px; color: var(--text3); text-transform: uppercase; letter-spacing: .04em; margin-bottom: 4px; font-weight: 700; }
.mmaster-about-item strong { font-size: 13px; color: var(--text1); }

/* Карточка работы в модале */
.mmaster-work-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 12px; margin-top: 2px;
}
.mmaster-work-card {
  border-radius: var(--ui-radius-md,10px); overflow: hidden;
  background: var(--bg); border: 1px solid var(--line);
  cursor: pointer; transition: transform .15s, border-color .15s;
}
.mmaster-work-card:hover { transform: translateY(-3px); border-color: var(--mc, var(--orange-brd)); }
.mmaster-work-cover {
  height: 110px; background: var(--surface);
  display: flex; align-items: center; justify-content: center;
  font-size: 36px; overflow: hidden;
}
.mmaster-work-cover img { width: 100%; height: 100%; object-fit: cover; }
.mmaster-work-body { padding: 10px 12px; }
.mmaster-work-title { font-size: 13px; font-weight: 700; margin-bottom: 4px; }
.mmaster-work-meta { font-size: 11px; color: var(--text3); }

/* Карточка отзыва */
.mmaster-review {
  padding: 12px 14px; background: var(--bg);
  border: 1px solid var(--line); border-radius: var(--ui-radius-md,10px); margin-bottom: 8px;
}
.mmaster-review-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; }
.mmaster-review-name { font-size: 13px; font-weight: 700; }
.mmaster-review-stars { font-size: 13px; color: #fbbf24; }
.mmaster-review-text { font-size: 13px; color: var(--text2); line-height: 1.55; }
.mmaster-review-date { font-size: 11px; color: var(--text3); margin-top: 6px; }

/* Условия */
.mmaster-cond-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 10px 14px; border-bottom: 1px solid var(--line);
  font-size: 13px;
}
.mmaster-cond-row:last-child { border-bottom: none; }
.mmaster-cond-row span { color: var(--text3); }
.mmaster-cond-row strong { color: var(--text1); text-align: right; max-width: 60%; }

/* Footer действий */
.mmaster-footer {
  flex-shrink: 0;
  padding: 14px 22px calc(env(safe-area-inset-bottom, 0px) + 14px);
  border-top: 1px solid var(--line);
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px;
}
@media (max-width: 400px) {
  .mmaster-footer { grid-template-columns: 1fr; }
}
.mmaster-footer-btn {
  display: inline-flex; align-items: center; justify-content: center;
  gap: 6px; padding: 11px 10px;
  border-radius: var(--ui-radius-md,10px); border: 1px solid var(--line);
  font-size: 13px; font-weight: 700; cursor: pointer;
  transition: background .15s, border-color .15s;
  text-decoration: none; color: inherit;
}
.mmaster-footer-btn:hover { border-color: var(--mc, var(--orange-brd)); }
.mmaster-footer-btn--primary {
  background: var(--mc, var(--orange));
  border-color: transparent; color: #07111b;
}
.mmaster-footer-btn--primary:hover { opacity: .9; }
.mmaster-footer-btn--ghost { background: var(--surface-a); }

/* ── Профиль мастера — вкладочный интерфейс (Level 3) ── */
.mprof-tabs {
  display: flex;
  align-items: center;
  gap: 8px;
  overflow-x: auto;
  border-bottom: 1px solid var(--line);
  margin-bottom: 24px;
  scrollbar-width: none;
  position: sticky;
  top: 0;
  z-index: 5;
  background: color-mix(in srgb, var(--bg) 92%, transparent);
  backdrop-filter: blur(10px);
  padding: 10px 0;
}
.mprof-tabs::-webkit-scrollbar { display: none; }
.mprof-tab {
  appearance: none;
  border: 1px solid var(--line);
  background: var(--surface, var(--bg2));
  color: var(--text2);
  cursor: pointer;
  flex: 0 0 auto;
  min-width: 44px;
  min-height: 42px;
  padding: 9px 12px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .05);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, color .16s ease, background .16s ease;
}
.mprof-tab:hover {
  color: var(--text1);
  border-color: var(--mc-brd, var(--orange-brd));
  transform: translateY(-1px);
}
.mprof-tab.active {
  color: var(--mc, var(--orange));
  border-color: var(--mc-brd, var(--orange-brd));
  background: linear-gradient(135deg, var(--mc-dim, rgba(255,107,0,.12)), var(--surface, var(--bg2)));
  box-shadow: 0 12px 26px rgba(15, 23, 42, .08);
  padding-right: 14px;
}
.mprof-tab-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  font-size: 18px;
  line-height: 1;
}
.mprof-tab-label,
.mprof-tab-count {
  display: none;
}
.mprof-tab.active .mprof-tab-label,
.mprof-tab.active .mprof-tab-count {
  display: inline-flex;
}
.mprof-tab-count {
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  color: #07111b;
  background: var(--mc, var(--orange));
}
.mprof-pane { display: none; }
.mprof-pane.active { display: block; }
@media (max-width: 640px) {
  .mprof-tabs {
    gap: 6px;
    margin-left: -4px;
    margin-right: -4px;
    padding: 8px 4px;
  }
  .mprof-tab {
    min-width: 42px;
    min-height: 40px;
    padding: 8px 10px;
    font-size: 13px;
  }
  .mprof-tab.active {
    max-width: 210px;
  }
  .mprof-tab-ico {
    font-size: 17px;
  }
}


/* r72: равномерная сетка вкладок профиля мастера — все иконки занимают одинаковую долю ширины */
.mprof-tabs.mprof-tabs--icons {
  display: grid;
  grid-template-columns: repeat(var(--mprof-tabs-count, 6), minmax(0, 1fr));
  align-items: stretch;
  width: 100%;
  gap: 8px;
  overflow: visible;
  padding-left: 0;
  padding-right: 0;
}
.mprof-tabs.mprof-tabs--icons .mprof-tab {
  width: 100%;
  min-width: 0;
  flex: initial;
  padding-left: 6px;
  padding-right: 6px;
  justify-content: center;
}
.mprof-tabs.mprof-tabs--icons .mprof-tab-label,
.mprof-tabs.mprof-tabs--icons .mprof-tab-count {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mprof-tabs.mprof-tabs--icons .mprof-tab.active {
  max-width: none;
}
@media (max-width: 640px) {
  .mprof-tabs.mprof-tabs--icons {
    gap: 6px;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
  }
  .mprof-tabs.mprof-tabs--icons .mprof-tab {
    min-width: 0;
    padding-left: 4px;
    padding-right: 4px;
  }
  .mprof-tabs.mprof-tabs--icons .mprof-tab-label {
    font-size: 12px;
    line-height: 1;
  }
}

/* Офер-строка на карточке */
.master-card__offer {
  font-size: 11px; color: var(--text2); line-height: 1.45;
  margin-top: 4px; font-style: italic;
}
.master-card__workmode {
  font-size: 11px; color: var(--text3);
  display: flex; align-items: center; gap: 4px;
}

/* ═══════════════════════════════════════════════════════════════════
   MASTER CABINET — Profile editor, Posts manager, Stats
═══════════════════════════════════════════════════════════════════ */

/* Кнопки доступности */
.avail-btn {
  padding: 10px 14px; border-radius: var(--ui-radius-md,10px);
  border: 1px solid var(--line); background: var(--bg);
  cursor: pointer; text-align: left;
  transition: border-color .15s, background .15s;
}
.avail-btn:hover { border-color: var(--orange-brd); }
.avail-btn--active {
  border-color: var(--orange) !important;
  background: rgba(255,107,0,.1) !important;
}

/* Карточки публикаций */
.posts-mgr-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--ui-radius-md,10px);
  overflow: hidden;
  transition: border-color .15s;
}
.posts-mgr-card:hover { border-color: var(--orange-brd); }

/* Редактор постов overlay */
#master-post-editor-overlay {
  opacity: 0;
  transition: opacity .25s ease;
}
#master-post-editor-overlay.visible { opacity: 1; }

/* pf-input base (если не определён) */
.pf-input {
  width: 100%; padding: 10px 14px;
  background: var(--bg); border: 1px solid var(--line);
  border-radius: var(--ui-radius-md,10px); color: var(--text1);
  font-family: inherit; outline: none;
  transition: border-color .15s;
  box-sizing: border-box;
}
.pf-input:focus { border-color: var(--orange); }
select.pf-input { cursor: pointer; }
textarea.pf-input { min-height: 80px; }

/* Stats grid */
.mstat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
  gap: 10px;
}
.mstat-cell {
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--ui-radius-md,10px); padding: 14px 12px; text-align: center;
}
.mstat-val {
  font-family: 'Oswald', sans-serif; font-size: 22px;
  font-weight: 700; line-height: 1; margin-bottom: 5px;
}
.mstat-lbl {
  font-size: 10px; color: var(--text3);
  text-transform: uppercase; letter-spacing: .04em;
}

/* ═══════════════════════════════════════════════════════════════════
   REVIEWS — гистограмма, суб-рейтинги, карточки отзывов
═══════════════════════════════════════════════════════════════════ */
.review-summary-block {
  display: flex; gap: 20px; align-items: flex-start;
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--ui-radius-lg,18px); padding: 20px;
  margin-bottom: 16px;
}
@media (max-width: 480px) {
  .review-summary-block { flex-direction: column; gap: 14px; }
}
.review-summary-score {
  flex-shrink: 0; text-align: center; min-width: 80px;
}
.review-score-big {
  font-family: 'Oswald', sans-serif; font-size: 48px;
  font-weight: 700; line-height: 1; color: var(--text1);
}
.review-score-stars {
  font-size: 16px; color: #fbbf24; letter-spacing: 2px;
  margin: 4px 0;
}
.review-score-count {
  font-size: 11px; color: var(--text3);
  text-transform: uppercase; letter-spacing: .04em;
}
.review-histogram {
  flex: 1; display: flex; flex-direction: column; gap: 5px;
}
.review-hist-row {
  display: flex; align-items: center; gap: 8px;
}
.review-hist-label {
  font-size: 11px; font-weight: 700; color: var(--text3);
  min-width: 22px; text-align: right; flex-shrink: 0;
}
.review-hist-bar-wrap {
  flex: 1; height: 8px; background: var(--line);
  border-radius: 99px; overflow: hidden;
}
.review-hist-bar {
  height: 100%; background: #fbbf24;
  border-radius: 99px;
  transition: width .5s ease;
  min-width: 4px;
}
.review-hist-count {
  font-size: 11px; color: var(--text3);
  min-width: 16px; text-align: right; flex-shrink: 0;
}

.review-sub-ratings {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 10px; margin-bottom: 16px;
}
.review-sub-item {
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--ui-radius-md,10px); padding: 10px 14px;
  display: flex; flex-direction: column; gap: 6px;
}
.review-sub-label {
  font-size: 11px; font-weight: 700; color: var(--text3);
  text-transform: uppercase; letter-spacing: .04em;
}
.review-sub-bar-wrap {
  height: 6px; background: var(--line); border-radius: 99px; overflow: hidden;
}
.review-sub-bar {
  height: 100%; background: linear-gradient(90deg, var(--orange), #fbbf24);
  border-radius: 99px; transition: width .5s ease;
}
.review-sub-score {
  font-family: 'Oswald', sans-serif; font-size: 14px;
  font-weight: 700; color: var(--orange);
}

/* Карточка отзыва — общая для профиля и модала */
.master-review-card {
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--ui-radius-md,10px); padding: 14px 16px;
  transition: border-color .15s;
}
.master-review-card:hover { border-color: var(--orange-brd); }
.mrc-header {
  display: flex; align-items: flex-start; gap: 12px;
  margin-bottom: 10px;
}
.mrc-avatar {
  width: 42px; height: 42px; border-radius: 50%; flex-shrink: 0;
  background: linear-gradient(135deg, rgba(255,107,0,.15), rgba(52,211,153,.12));
  border: 1px solid var(--line);
  display: flex; align-items: center; justify-content: center;
  font-family: 'Oswald', sans-serif; font-size: 15px;
  font-weight: 700; color: var(--orange);
}
.mrc-info { flex: 1; min-width: 0; }
.mrc-name {
  font-size: 13px; font-weight: 700; color: var(--text1);
  margin-bottom: 2px; white-space: nowrap; overflow: hidden;
  text-overflow: ellipsis;
}
.mrc-date { font-size: 11px; color: var(--text3); }
.mrc-stars {
  font-size: 14px; color: #fbbf24; flex-shrink: 0;
  letter-spacing: 1px;
}
.mrc-text {
  font-size: 13px; color: var(--text2); line-height: 1.65;
}
.mrc-reply {
  margin-top: 10px; padding: 10px 12px;
  background: rgba(52,211,153,.06); border-left: 3px solid #34d399;
  border-radius: 0 var(--ui-radius-sm,5px) var(--ui-radius-sm,5px) 0;
  font-size: 12px; color: var(--text2); line-height: 1.55;
}
.mrc-reply-label {
  font-weight: 700; color: #34d399; display: block; margin-bottom: 3px;
}

/* ═══════════════════════════════════════════════════════════════════
   MASTER CONTACT LIST — карточки мастеров в стиле category-card
═══════════════════════════════════════════════════════════════════ */
.masters-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  max-width: 1180px;
  margin: 0 auto;
}

.master-contact-row {
  width: 100%;
  min-height: 178px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  padding: 22px;
  border: 1px solid color-mix(in srgb, var(--mc, var(--orange)) 24%, var(--line));
  border-radius: var(--ui-radius-lg,18px);
  background: linear-gradient(180deg,
    color-mix(in srgb, var(--mc, var(--orange)) 10%, var(--surface)) 0%,
    var(--surface) 100%
  );
  box-shadow: 0 8px 28px rgba(0,0,0,.10);
  cursor: pointer;
  text-decoration: none;
  color: inherit;
  position: relative;
  overflow: hidden;
  transition: transform .18s, box-shadow .18s, border-color .18s, background .18s;
}
.master-contact-row::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 18% 10%, color-mix(in srgb, var(--mc, var(--orange)) 16%, transparent), transparent 34%);
  opacity: .75;
}
.master-contact-row:hover {
  transform: translateY(-4px);
  border-color: var(--mc, var(--orange));
  box-shadow: 0 16px 36px rgba(0,0,0,.16);
}
.master-contact-row:active {
  transform: translateY(-1px);
}

/* Аватар */
.mcl-avatar {
  width: 60px; height: 60px; flex-shrink: 0;
  border-radius: var(--ui-radius-lg,18px);
  border: 1px solid;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Oswald', sans-serif;
  font-size: 26px; font-weight: 800;
  position: relative;
  z-index: 1;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
}
.mcl-status-dot {
  position: absolute; bottom: -2px; right: -2px;
  width: 14px; height: 14px; border-radius: 50%;
  border: 3px solid var(--surface);
}

/* Тело карточки */
.mcl-body {
  flex: 1; min-width: 0;
  display: flex; flex-direction: column; gap: 8px;
  position: static;
}
.mcl-top {
  display: block;
  min-height: 30px;
  padding-right: 92px;
}
.mcl-name {
  font-family: 'Oswald', sans-serif;
  font-size: 24px; font-weight: 800; line-height: 1;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.mcl-rating {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 15px; font-weight: 800; color: #fbbf24;
  background: color-mix(in srgb, #fbbf24 14%, var(--surface));
  border: 1px solid rgba(251,191,36,.30);
  box-shadow: 0 8px 18px rgba(0,0,0,.12);
  padding: 7px 10px; border-radius: 999px;
  white-space: nowrap;
  pointer-events: none;
}
.mcl-spec {
  font-size: 16px; color: var(--text2);
  line-height: 1.55;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.mcl-chips {
  display: flex; flex-wrap: wrap; gap: 8px; margin-top: 2px;
}
.mcl-chip {
  font-size: 14px; font-weight: 800;
  padding: 7px 10px; border-radius: 999px;
  background: color-mix(in srgb, var(--mc, var(--orange)) 13%, var(--surface-b));
  border: 1px solid color-mix(in srgb, var(--mc, var(--orange)) 28%, var(--line));
  color: var(--mc, var(--orange));
  white-space: nowrap;
}
.mcl-meta {
  display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px;
}
.mcl-meta-item {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 15px; color: var(--text2);
  padding: 8px 10px; border-radius: 999px;
  background: var(--surface-b);
  border: 1px solid var(--line);
}
.mcl-price {
  color: var(--mc, var(--orange));
  font-weight: 800;
}
.mcl-verified { color: #34d399; }


[data-theme="light"] .masters-grid .master-contact-row {
  background: linear-gradient(180deg,
    color-mix(in srgb, var(--mc, var(--orange)) 8%, #fff) 0%,
    #fff 100%
  ) !important;
  border-color: color-mix(in srgb, var(--mc, var(--orange)) 18%, rgba(0,0,0,.08)) !important;
}
[data-theme="light"] .masters-grid .mcl-meta-item {
  background: #fff !important;
  border-color: rgba(0,0,0,.08) !important;
}

@media (max-width: 980px) {
  .masters-grid { grid-template-columns: 1fr; max-width: 720px; }
}
@media (max-width: 640px) {
  .masters-grid { gap: 14px; }
  .master-contact-row {
    min-height: 0;
    grid-template-columns: auto minmax(0, 1fr);
    padding: 18px;
    border-radius: var(--ui-radius-lg,18px);
  }
  .mcl-avatar { width: 54px; height: 54px; border-radius: var(--ui-radius-md,10px); font-size: 22px; }
  .mcl-top { min-height: 28px; padding-right: 78px; }
  .mcl-name { font-size: 15px; line-height: 1.12; }
  .mcl-spec { font-size: 12px; line-height: 1.45; }
  .mcl-chip { font-size: 12px; padding: 8px 11px; }
  .mcl-meta-item { font-size: 12px; padding: 8px 10px; }
  .mcl-rating { top: 12px; right: 12px; font-size: 12px; padding: 6px 9px; }
}
@media (max-width: 420px) {
  .master-contact-row { padding: 16px; gap: 12px; }
  .mcl-avatar { width: 48px; height: 48px; font-size: 20px; }
  .mcl-top { padding-right: 74px; }
  .mcl-name { font-size: 15px; line-height: 1.12; }
  .mcl-spec { font-size: 12px; -webkit-line-clamp: 3; }
  .mcl-chip { font-size: 12px; }
  .mcl-meta-item { font-size: 12px; padding: 8px 10px; }
  .mcl-rating { top: 10px; right: 10px; font-size: 12px; }
}

/* ═══════════════════════════════════════════════════════════════════
   SPLASH SCREEN — анимация логотипа при загрузке
═══════════════════════════════════════════════════════════════════ */
#kareta-splash {
  position: fixed; inset: 0; z-index: 9999;
  pointer-events: none;
  /* Фон исчезает */
  animation: splash-bg-fade 0.55s ease 1.7s forwards;
}
.splash-bg {
  position: absolute; inset: 0;
  background: var(--bg);
  animation: splash-bg-out 0.55s ease 1.7s forwards;
}
@keyframes splash-bg-out {
  from { opacity: 1; }
  to   { opacity: 0; }
}
/* Обёртка логотипа — стартует по центру экрана */
.splash-logo-wrap {
  position: absolute;
  /* JS вычислит точную конечную позицию и подставит CSS-переменные */
  left: var(--splash-start-x, 50%);
  top:  var(--splash-start-y, 50%);
  transform: translate(-50%, -50%) scale(var(--splash-start-scale, 2.6));
  transform-origin: center center;
  display: flex; flex-direction: column; align-items: center;
  gap: 6px;
  /* Фаза 1 — держим 1.7с неподвижно */
  /* Фаза 2 — JS запускает анимацию в позицию nav */
  transition:
    left   0.72s cubic-bezier(.32,.72,0,1),
    top    0.72s cubic-bezier(.32,.72,0,1),
    transform 0.72s cubic-bezier(.32,.72,0,1),
    opacity 0.3s ease;
}
.splash-logo-wrap.splash-done {
  opacity: 0;
  pointer-events: none;
}

.splash-logo-icon {
  width: 52px; height: 52px;
  background: rgba(255,107,0,.12);
  border: 1.5px solid rgba(255,107,0,.3);
  border-radius: var(--ui-radius-md,10px);
  display: flex; align-items: center; justify-content: center;
  padding: 10px;
  /* Пульс на старте */
  animation: splash-pulse 1.5s ease 0s 1;
}
@keyframes splash-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(255,107,0,.4); }
  50%  { box-shadow: 0 0 0 18px rgba(255,107,0,.0); }
  100% { box-shadow: 0 0 0 0 rgba(255,107,0,.0); }
}
.splash-logo-text {
  font-family: 'Oswald', sans-serif;
  font-size: 28px; font-weight: 700; color: #fff;
  letter-spacing: .5px; line-height: 1;
}
.splash-logo-text em { color: #FF6B00; font-style: normal; }
.splash-logo-sub {
  font-size: 11px; letter-spacing: 3px;
  color: var(--text3); text-transform: uppercase;
}

/* onb2 styles moved to css/onb2.css to keep onboarding isolated and versioned. */

/* ═══ ЭВАКУАТОР — экстренная полоса на главной ═══ */
.home-emergency-bar {
  display: flex; align-items: center; gap: 10px;
  padding: 12px 20px;
  background: linear-gradient(90deg, rgba(239,68,68,.12), rgba(239,68,68,.06));
  border-bottom: 1px solid rgba(239,68,68,.2);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: background .15s;
}
.home-emergency-bar:active { background: rgba(239,68,68,.18); }
.home-emergency-ico { font-size: 20px; flex-shrink: 0; }
.home-emergency-text {
  font-size: 14px; font-weight: 700; color: #ef4444; flex: 1;
}
.home-emergency-arrow { font-size: 18px; color: rgba(239,68,68,.6); }

/* ═══ ЭВАКУАТОР — модальное окно ═══ */
.evac-panel {
  width: min(480px, 100%);
  background: var(--bg2);
  border-radius: var(--ui-radius-lg,18px) var(--ui-radius-lg,18px) 0 0;
  border: 1px solid var(--line); border-bottom: none;
  overflow: hidden;
  transform: translateY(40px);
  transition: transform .32s cubic-bezier(.16,1,.3,1);
}
.evac-panel-head {
  display: flex; align-items: flex-start;
  justify-content: space-between; gap: 14px;
  padding: 24px 20px 16px;
  border-bottom: 1px solid var(--line);
}
.evac-panel-title {
  font-family: 'Oswald', sans-serif;
  font-size: 20px; font-weight: 700; color: #ef4444;
}
.evac-panel-sub { font-size: 13px; color: var(--text2); margin-top: 4px; }

/* ═══════════════════════════════════════════════════════════════════
   LIGHT THEME — полный оверрайд
═══════════════════════════════════════════════════════════════════ */
[data-theme="light"] {
  color-scheme: light;
}

/* Nav и header */
[data-theme="light"] #nav,
[data-theme="light"] .site-header {
  background: rgba(250,250,252,.96) !important;
  border-color: rgba(0,0,0,.08) !important;
  box-shadow: 0 1px 0 rgba(0,0,0,.06);
}
[data-theme="light"] .nav-logo-text { color: #111; }
[data-theme="light"] .nav-link { color: var(--text2); }
[data-theme="light"] .nav-link.active { color: var(--orange); }

/* Bottom nav */
[data-theme="light"] #bottom-nav {
  background: rgba(250,250,252,.96) !important;
  border-color: rgba(0,0,0,.08) !important;
  box-shadow: 0 -1px 0 rgba(0,0,0,.06);
}
[data-theme="light"] .bnav-item { color: var(--text2); }
[data-theme="light"] .bnav-item.active { color: var(--orange); }
[data-theme="light"] .bnav-icon-wrap { color: var(--text2); }

/* Drawer */
[data-theme="light"] #drawer {
  background: #fff !important;
  border-color: rgba(0,0,0,.08) !important;
  box-shadow: 4px 0 24px rgba(0,0,0,.1);
}
[data-theme="light"] .drawer-link { color: var(--text1); }
[data-theme="light"] .drawer-link:hover { background: rgba(0,0,0,.04); }
[data-theme="light"] .drawer-handle { background: rgba(0,0,0,.15); }

/* Cards и surfaces */
[data-theme="light"] .card,
[data-theme="light"] .ncard,
[data-theme="light"] .hcat-card,
[data-theme="light"] .home-special-card,
[data-theme="light"] .home-trust-card,
[data-theme="light"] .onb2-modal,
[data-theme="light"] .spec-svc-panel,
[data-theme="light"] .profile-setup-panel,
[data-theme="light"] .evac-panel {
  background: #fff !important;
  border-color: rgba(0,0,0,.08) !important;
}
[data-theme="light"] .master-contact-row,
[data-theme="light"] .sto-section,
[data-theme="light"] .sto-stat-card,
[data-theme="light"] .settings-list {
  background: #fff !important;
  border-color: rgba(0,0,0,.08) !important;
}

/* Onboarding */
[data-theme="light"] #onb2-overlay { background: rgba(0,0,0,.5); }
[data-theme="light"] .onb2-modal { background: #fff !important; }
[data-theme="light"] .onb2-role-card { background: #f7f7f9 !important; border-color: rgba(0,0,0,.08) !important; }
[data-theme="light"] .onb2-role-card.onb2-role--featured { background: rgba(255,107,0,.05) !important; }
[data-theme="light"] .onb2-role-ico-wrap { background: rgba(255,107,0,.07) !important; border-color: rgba(255,107,0,.14) !important; }
[data-theme="light"] .onb2-role-feat { background: #fff !important; border-color: rgba(0,0,0,.08) !important; }
[data-theme="light"] .onb2-spec-card { background: #f7f7f9 !important; border-color: rgba(0,0,0,.08) !important; }
[data-theme="light"] .onb2-spec-check { background: #fff !important; border-color: rgba(0,0,0,.12) !important; }
[data-theme="light"] .onb2-city-slide { background: #f7f7f9 !important; border-color: rgba(0,0,0,.08) !important; }
[data-theme="light"] .onb2-brand-slide { background: #f7f7f9 !important; border-color: rgba(0,0,0,.08) !important; }
[data-theme="light"] .onb2-back-btn { background: #f0f0f3 !important; border-color: rgba(0,0,0,.08) !important; color: var(--text2); }
[data-theme="light"] .onb2-slide-nav { background: #f0f0f3 !important; border-color: rgba(0,0,0,.1) !important; }
[data-theme="light"] .onb2-dot { background: rgba(0,0,0,.12); }

/* Splash */
[data-theme="light"] #kareta-splash,
[data-theme="light"] .splash-bg { background: #f5f5f7; }
[data-theme="light"] .splash-logo-text { color: #111; }

/* Inputs */
[data-theme="light"] input,
[data-theme="light"] select,
[data-theme="light"] textarea,
[data-theme="light"] .pf-input {
  background: #f7f7f9 !important;
  color: #111 !important;
  border-color: rgba(0,0,0,.12) !important;
}
[data-theme="light"] input::placeholder,
[data-theme="light"] textarea::placeholder { color: #aaa; }

/* Hero */
[data-theme="light"] .hero { background: linear-gradient(135deg, #f5f5f7 0%, #fff 100%); }
[data-theme="light"] .hero-title { color: #111; }
[data-theme="light"] .hero-desc { color: #555; }
[data-theme="light"] .hero-grid, [data-theme="light"] .hero-glow, [data-theme="light"] .hero-glow2 { opacity: .15; }

/* Buttons */
[data-theme="light"] .btn-ghost { color: var(--text2); }
[data-theme="light"] .btn-ghost:hover { color: var(--text1); background: rgba(0,0,0,.04); }
[data-theme="light"] .btn-outline { border-color: rgba(0,0,0,.15); color: var(--orange); }
[data-theme="light"] .btn-outline:hover { background: rgba(255,107,0,.06); }

/* Badges и чипы */
[data-theme="light"] .rbadge { opacity: .9; }
[data-theme="light"] .nws-pill { border-color: rgba(0,0,0,.1); color: var(--text2); }
[data-theme="light"] .nws-pill:hover { border-color: rgba(0,0,0,.2); color: var(--text1); }
[data-theme="light"] .ncard-noimg { background: linear-gradient(135deg,rgba(255,107,0,.1),rgba(255,107,0,.04)); }

/* Emergency bar */
[data-theme="light"] .home-emergency-bar {
  background: linear-gradient(90deg, rgba(239,68,68,.08), rgba(239,68,68,.03)) !important;
  border-color: rgba(239,68,68,.15) !important;
}

/* Splash */
[data-theme="light"] .splash-logo-sub { color: rgba(0,0,0,.35); }

/* Скроллбар */
[data-theme="light"] ::-webkit-scrollbar-track { background: #f5f5f7; }
[data-theme="light"] ::-webkit-scrollbar-thumb { background: #d0d0d5; }

/* @media auto тема */
@media (prefers-color-scheme: light) {
  [data-theme="auto"] #nav,
  [data-theme="auto"] .site-header { background: rgba(250,250,252,.96) !important; border-color: rgba(0,0,0,.08) !important; }
  [data-theme="auto"] #bottom-nav { background: rgba(250,250,252,.96) !important; border-color: rgba(0,0,0,.08) !important; }
  [data-theme="auto"] .card, [data-theme="auto"] .ncard { background: #fff !important; border-color: rgba(0,0,0,.08) !important; }
  [data-theme="auto"] input, [data-theme="auto"] select { background: #f7f7f9 !important; color: #111 !important; }
}

/* ═══════════════════════════════════════════════════════════════════
   ENTRY FLOW ACTIVE — скрытие nav/header до выбора роли
═══════════════════════════════════════════════════════════════════ */
.entry-flow-active #bottom-nav,
html.entry-flow-active #bottom-nav {
  display: none !important;
}
.entry-flow-active #nav,
html.entry-flow-active #nav {
  visibility: hidden !important;
  pointer-events: none;
}
.entry-flow-active #drawer,
html.entry-flow-active #drawer {
  display: none !important;
}
.entry-flow-active #drawer-overlay,
html.entry-flow-active #drawer-overlay {
  display: none !important;
}

/* ═══════════════════════════════════════════════════════════════════
   HOME CATALOG — клиентский вход в сервисный модуль
═══════════════════════════════════════════════════════════════════ */

/* ── Личный кабинет мастера: плитки 2 в ряд ───────────────────────── */
.master-cabinet-tile-nav{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  width:100%;
  max-width:560px;
  margin:0 auto 12px;
  padding:2px 0 10px;
}
.master-cabinet-tile-nav .master-cabinet-tile{
  position:relative;
  width:100%;
  min-height:82px;
  border-radius:var(--ui-radius-md,10px);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:5px;
  padding:10px 11px;
  white-space:normal;
  text-align:left;
  line-height:1.15;
  font-weight:800;
  overflow:hidden;
  box-shadow:0 8px 18px rgba(15,23,42,.06);
  transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.master-cabinet-tile-nav .master-cabinet-tile:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(15,23,42,.09);
}
.master-cabinet-tile-nav .master-cabinet-tile:focus-visible{
  outline:2px solid var(--orange, #ff6b00);
  outline-offset:2px;
}
.master-cabinet-tile-nav .master-cabinet-tile .mct-top{
  width:100%;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
}
.master-cabinet-tile-nav .master-cabinet-tile .mct-ico{
  display:flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  flex:0 0 32px;
  border-radius:var(--ui-radius-md,10px);
  font-size:18px;
  background:var(--surface-a, rgba(255,255,255,.58));
  border:1px solid var(--line);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35);
}
.master-cabinet-tile-nav .master-cabinet-tile .mct-badge{
  max-width:82px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  padding:4px 8px;
  border-radius:999px;
  font-size:10px;
  line-height:1;
  font-weight:900;
  color:var(--orange, #ff6b00);
  background:rgba(255,107,0,.10);
  border:1px solid rgba(255,107,0,.22);
}
.master-cabinet-tile-nav .master-cabinet-tile .mct-label{
  display:block;
  width:100%;
  font-size:13px;
  letter-spacing:.01em;
  color:var(--text1);
}
.master-cabinet-tile-nav .master-cabinet-tile .mct-desc{
  display:block;
  width:100%;
  min-height:0;
  font-size:10px;
  line-height:1.18;
  color:var(--text3);
  font-weight:700;
}
.master-cabinet-tile-nav .master-cabinet-tile.active,
.master-cabinet-tile-nav .master-cabinet-tile.btn-primary{
  transform:translateY(-1px);
  border-color:var(--orange-brd, rgba(255,107,0,.38));
  box-shadow:0 16px 38px rgba(255,107,0,.12), 0 10px 26px rgba(15,23,42,.06);
}
.master-cabinet-tile-nav .master-cabinet-tile.active::after,
.master-cabinet-tile-nav .master-cabinet-tile.btn-primary::after{
  content:'';
  position:absolute;
  left:10px;
  right:10px;
  bottom:7px;
  height:3px;
  border-radius:999px;
  background:var(--orange, #ff6b00);
  opacity:.9;
}
.master-cabinet-tile-nav .master-cabinet-tile.active .mct-desc,
.master-cabinet-tile-nav .master-cabinet-tile.btn-primary .mct-desc{
  color:rgba(255,255,255,.82);
}
.master-cabinet-tile-nav .master-cabinet-tile:active{
  transform:translateY(0);
}
[data-theme="light"] .master-cabinet-tile-nav .master-cabinet-tile.active .mct-desc,
[data-theme="light"] .master-cabinet-tile-nav .master-cabinet-tile.btn-primary .mct-desc{
  color:rgba(255,255,255,.88);
}
@media (max-width:420px){
  .master-cabinet-tile-nav{
    gap:7px;
    max-width:100%;
  }
  .master-cabinet-tile-nav .master-cabinet-tile{
    min-height:66px;
    border-radius:var(--ui-radius-md,10px);
    padding:8px;
  }
  .master-cabinet-tile-nav .master-cabinet-tile .mct-ico{
    width:28px;
    height:28px;
    flex-basis:28px;
    border-radius:var(--ui-radius-md,10px);
    font-size:16px;
  }
  .master-cabinet-tile-nav .master-cabinet-tile .mct-label{
    font-size:12.5px;
  }
  .master-cabinet-tile-nav .master-cabinet-tile .mct-desc{
    display:none;
  }
  .master-cabinet-tile-nav .master-cabinet-tile .mct-badge{
    max-width:70px;
    padding:4px 6px;
    font-size:9.5px;
  }
}

/* ── Личный кабинет мастера: верхняя сводка и заголовок текущего раздела ── */
.master-cabinet-hero{
  width:100%;
  max-width:620px;
  margin:0 auto 14px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:var(--ui-radius-lg,18px);
  background:linear-gradient(135deg,rgba(255,107,0,.10),rgba(52,211,153,.07)), var(--surface);
  box-shadow:0 14px 34px rgba(15,23,42,.07);
}
.master-cabinet-hero .mch-main{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}
.master-cabinet-hero .mch-avatar{
  width:58px;
  height:58px;
  flex:0 0 58px;
  border-radius:var(--ui-radius-lg,18px);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Oswald',sans-serif;
  font-size:22px;
  font-weight:900;
  color:var(--orange,#ff6b00);
  background:rgba(255,255,255,.55);
  border:1px solid rgba(255,107,0,.24);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45);
}
.master-cabinet-hero .mch-copy{min-width:0;flex:1;}
.master-cabinet-hero .mch-kicker{
  font-size:10px;
  color:var(--text3);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:900;
  margin-bottom:3px;
}
.master-cabinet-hero .mch-title{
  font-family:'Oswald',sans-serif;
  font-size:21px;
  line-height:1.12;
  font-weight:900;
  color:var(--text1);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.master-cabinet-hero .mch-sub{
  margin-top:5px;
  font-size:12px;
  line-height:1.35;
  color:var(--text2);
  font-weight:700;
}
.master-cabinet-hero .mch-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-top:14px;
}
.master-cabinet-hero .mch-stat{
  border:1px solid var(--line);
  border-radius:var(--ui-radius-md,10px);
  background:rgba(255,255,255,.38);
  padding:10px 8px;
  text-align:center;
}
.master-cabinet-hero .mch-stat b{
  display:block;
  font-family:'Oswald',sans-serif;
  font-size:20px;
  line-height:1;
  color:var(--orange,#ff6b00);
}
.master-cabinet-hero .mch-stat span{
  display:block;
  margin-top:4px;
  font-size:10px;
  color:var(--text3);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.master-cabinet-hero .mch-progress{
  height:7px;
  border-radius:999px;
  overflow:hidden;
  margin-top:12px;
  background:rgba(148,163,184,.18);
  border:1px solid rgba(148,163,184,.18);
}
.master-cabinet-hero .mch-progress i{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--orange,#ff6b00),#34d399);
}
.master-cabinet-hero .mch-actions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:12px;
}
.master-cabinet-hero .mch-actions .btn{
  min-width:0;
  padding:9px 10px;
  font-size:12px;
  border-radius:var(--ui-radius-md,10px);
  white-space:nowrap;
}
.master-cabinet-section-head{
  width:100%;
  max-width:620px;
  margin:0 auto 14px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:var(--ui-radius-lg,18px);
  background:var(--surface);
}
.master-cabinet-section-head .mcsh-ico{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:var(--ui-radius-md,10px);
  font-size:21px;
  background:rgba(255,107,0,.10);
  border:1px solid rgba(255,107,0,.18);
}
.master-cabinet-section-head .mcsh-text{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.master-cabinet-section-head .mcsh-text b{
  font-size:14px;
  line-height:1.15;
  color:var(--text1);
}
.master-cabinet-section-head .mcsh-text small{
  font-size:11px;
  line-height:1.3;
  color:var(--text3);
  font-weight:700;
}
@media (max-width:420px){
  .master-cabinet-hero{
    border-radius:var(--ui-radius-lg,18px);
    padding:14px;
  }
  .master-cabinet-hero .mch-avatar{
    width:52px;
    height:52px;
    flex-basis:52px;
    border-radius:var(--ui-radius-lg,18px);
    font-size:20px;
  }
  .master-cabinet-hero .mch-title{font-size:19px;}
  .master-cabinet-hero .mch-sub{font-size:11.5px;}
  .master-cabinet-hero .mch-actions{
    grid-template-columns:1fr;
  }
  .master-cabinet-hero .mch-actions .btn{
    width:100%;
    padding:10px;
  }
}


.master-cabinet-inline-panel{
  width:100%;
  margin:2px auto 0;
  padding:0;
}
.master-cabinet-inline-panel > *:first-child{
  margin-top:0 !important;
}

/* r137: мастерский кабинет — встроенный контент вместо модального окна */
/* ═══════════════════════════════════════════════════════════════════
   MASTER CABINET IMPROVEMENTS
═══════════════════════════════════════════════════════════════════ */

/* Шапка профиля мастера */
.mstr-profile-head {
  padding: 20px 20px 0;
  display: flex; align-items: flex-start; gap: 16px;
}
.mstr-av {
  width: 72px; height: 72px;
  border-radius: 50%; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Oswald', sans-serif;
  font-size: 26px; font-weight: 700;
  background: linear-gradient(135deg, rgba(52,211,153,.2), rgba(52,211,153,.08));
  border: 2px solid rgba(52,211,153,.35);
  color: #34d399;
  position: relative;
}
.mstr-av-photo {
  width: 100%; height: 100%;
  border-radius: 50%;
  object-fit: cover;
  position: absolute; inset: 0;
}
.mstr-info { flex: 1; min-width: 0; padding-top: 4px; }
.mstr-name {
  font-family: 'Oswald', sans-serif;
  font-size: 22px; font-weight: 700; line-height: 1.2;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.mstr-spec {
  font-size: 13px; color: var(--orange);
  font-weight: 600; margin-top: 4px;
}
.mstr-meta {
  display: flex; align-items: center;
  gap: 12px; margin-top: 8px; flex-wrap: wrap;
}

/* Блок анкеты */
.mstr-bio-block {
  font-size: 14px; color: var(--text2);
  line-height: 1.7; padding: 14px;
  background: rgba(255,255,255,.03);
  border-radius: var(--ui-radius-md,10px); margin-bottom: 4px;
}
.mstr-grid-2 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 10px;
}
.mstr-info-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--ui-radius-md,10px); padding: 14px;
}
.mstr-info-label {
  font-size: 10px; color: var(--text3);
  text-transform: uppercase;
  letter-spacing: .5px; margin-bottom: 6px;
}
.mstr-info-value {
  font-size: 13px; color: var(--text2);
  line-height: 1.55;
}

/* Skills chips */
.mstr-skills {
  display: flex; flex-wrap: wrap; gap: 8px;
}
.mstr-skill-chip {
  font-size: 12px; padding: 4px 12px;
  border-radius: 999px;
  background: rgba(255,107,0,.07);
  border: 1px solid rgba(255,107,0,.18);
  color: var(--text2);
}

/* Stats mini-grid */
.mstr-stats-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  padding: 16px 20px;
}
.mstr-stat-card {
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: var(--ui-radius-md,10px); padding: 10px;
  text-align: center;
}
.mstr-stat-n {
  display: block;
  font-family: 'Oswald', sans-serif;
  font-size: 20px; font-weight: 700; color: var(--orange);
}
.mstr-stat-l {
  display: block; font-size: 10px;
  color: var(--text3); margin-top: 3px;
}

/* Available/Unavailable badge */
.mstr-status-avail {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 5px 12px; border-radius: 99px;
  font-size: 12px; font-weight: 700;
}
.mstr-status-avail.on {
  background: rgba(34,197,94,.1);
  border: 1px solid rgba(34,197,94,.25);
  color: #22c55e;
}
.mstr-status-avail.off {
  background: rgba(148,163,184,.08);
  border: 1px solid var(--line);
  color: var(--text3);
}

/* Mobile */
@media (max-width: 640px) {
  .mstr-profile-head { padding: 16px 16px 0; gap: 12px; }
  .mstr-av { width: 56px; height: 56px; font-size: 20px; }
  .mstr-name { font-size: 18px; }
  .mstr-stats-grid { grid-template-columns: repeat(3, 1fr); padding: 12px 16px; }
  .mstr-stat-n { font-size: 17px; }
  .mstr-grid-2 { grid-template-columns: 1fr; }
}

/* r138: master cabinet inline cleanup — без модалки, компактные плитки */
.master-cabinet-inline-panel{
  max-width:920px;
  margin:0 auto;
}
.master-cabinet-inline-panel:focus-within{
  scroll-margin-top:calc(var(--nav-h, 64px) + 10px);
}
.master-cabinet-tile-nav .master-cabinet-tile{
  min-height:72px;
  padding:9px 10px;
  border-radius:var(--ui-radius-md,10px);
}
.master-cabinet-tile-nav .master-cabinet-tile .mct-ico{
  width:28px;
  height:28px;
  flex-basis:28px;
  border-radius:var(--ui-radius-md,10px);
  font-size:16px;
}
.master-cabinet-tile-nav .master-cabinet-tile .mct-label{
  font-size:12.5px;
}
.master-cabinet-tile-nav .master-cabinet-tile .mct-desc{
  font-size:9.5px;
}
@media (max-width:680px){
  .master-cabinet-tile-nav{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
    padding-bottom:8px;
  }
  .master-cabinet-tile-nav .master-cabinet-tile{
    min-height:58px;
    padding:7px 8px;
    gap:3px;
    box-shadow:none;
  }
  .master-cabinet-tile-nav .master-cabinet-tile:hover{
    transform:none;
    box-shadow:none;
  }
  .master-cabinet-tile-nav .master-cabinet-tile .mct-desc,
  .master-cabinet-tile-nav .master-cabinet-tile .mct-badge{
    display:none !important;
  }
  .master-cabinet-tile-nav .master-cabinet-tile.active::after,
  .master-cabinet-tile-nav .master-cabinet-tile.btn-primary::after{
    left:8px;
    right:8px;
    bottom:5px;
    height:2px;
  }
}

/* ═══════════════════════════════════════════════════════════════════
   MASTER CABINET MODAL (mcab-modal)
   Использует k-overlay + k-sheet из additions.css
═══════════════════════════════════════════════════════════════════ */

/* Тайл — убираем active-after стрелку если кабинет в модалке */
.master-cabinet-tile-nav .master-cabinet-tile.active::after,
.master-cabinet-tile-nav .master-cabinet-tile.btn-primary::after {
  content: none;
}

/* Тайл активный — просто оранжевый бордер */
.master-cabinet-tile-nav .master-cabinet-tile.active,
.master-cabinet-tile-nav .master-cabinet-tile.btn-primary {
  border-color: var(--orange) !important;
  background: rgba(255,107,0,.06) !important;
  box-shadow: 0 0 0 2px rgba(255,107,0,.15) !important;
}

/* Inline panel — только для сводки (cabinet) */
.master-cabinet-inline-panel {
  transition: opacity .2s ease;
}

/* k-sheet body для кабинетных разделов */
#mcab-modal .k-sheet {
  max-height: 92dvh;
}
#mcab-modal .k-sheet-body {
  padding: 16px 20px 24px;
}
#mcab-modal .k-sheet-body > .pf-section:first-child,
#mcab-modal .k-sheet-body > .card:first-child {
  margin-top: 0 !important;
}

/* Заголовок модалки кабинета */
#mcab-modal .k-sheet-title {
  font-size: 17px;
}

/* Мобильные улучшения */
@media (max-width: 640px) {
  #mcab-modal .k-sheet-body {
    padding: 14px 16px 20px;
  }
}

/* ═══════════════════════════════════════════════════════════════════
   MASTER CHATS PANE (mp-chats)
═══════════════════════════════════════════════════════════════════ */
.master-chat-row {
  transition: background .15s, transform .1s;
}
.master-chat-row:hover {
  background: rgba(255,107,0,.04) !important;
}
.master-chat-row:active {
  transform: scale(.99);
}

.msng-master-pane { width: 100%; }
.msng-master-pane-head {
  border-bottom: 1px solid var(--line);
  background: var(--bg);
  position: sticky; top: 0; z-index: 2;
}

/* ═══════════════════════════════════════════════════════════════════
   MASTER SCHEDULE — онбординг-хинт
═══════════════════════════════════════════════════════════════════ */
.msched-onboard-hint {
  padding: 10px 14px;
  background: rgba(255,107,0,.08);
  border: 1px solid rgba(255,107,0,.2);
  border-radius: var(--ui-radius-md,10px);
  font-size: 12px;
  color: var(--orange);
  margin-top: 8px;
  line-height: 1.5;
}

/* ═══════════════════════════════════════════════════════════════════
   MASTER PROCESS — кнопки "Нет заказов"
═══════════════════════════════════════════════════════════════════ */
.mx-empty-state > div[style*="gap:10px"] {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
}

/* ═══════════════════════════════════════════════════════════════════
   CABINET TILES — улучшенные
═══════════════════════════════════════════════════════════════════ */
.master-cabinet-tile-nav .master-cabinet-tile {
  transition: border-color .15s, background .15s, box-shadow .15s;
}
.master-cabinet-tile-nav .master-cabinet-tile:hover:not(.active) {
  border-color: rgba(255,107,0,.35);
  background: rgba(255,107,0,.04);
}

/* r222: профиль мастера — большие кнопки 2 в ряд + pane в модальных окнах */
.mprof-tabs.mprof-tabs--icons {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  position: relative !important;
  top: auto !important;
  z-index: 1 !important;
  overflow: visible !important;
  border-bottom: 0 !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
  background: transparent !important;
  backdrop-filter: none !important;
}
.mprof-tabs.mprof-tabs--icons .mprof-tab {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 86px !important;
  padding: 14px 14px !important;
  border-radius: var(--ui-radius-lg,18px) !important;
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 12px !important;
  text-align: left !important;
  background: var(--surface, #fff) !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .06) !important;
}
.mprof-tabs.mprof-tabs--icons .mprof-tab.active {
  background: linear-gradient(135deg, var(--mc-dim, rgba(255,107,0,.12)), var(--surface, #fff)) !important;
  border-color: var(--mc-brd, var(--orange-brd)) !important;
  color: var(--text1) !important;
}
.mprof-tabs.mprof-tabs--icons .mprof-tab-ico {
  flex: 0 0 42px !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: var(--ui-radius-md,10px) !important;
  background: var(--mc-dim, rgba(255,107,0,.12)) !important;
  font-size: 22px !important;
}
.mprof-tabs.mprof-tabs--icons .mprof-tab-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
}
.mprof-tabs.mprof-tabs--icons .mprof-tab-label,
.mprof-tabs.mprof-tabs--icons .mprof-tab.active .mprof-tab-label {
  display: block !important;
  font-size: 15px !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
  color: var(--text1) !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
.mprof-tabs.mprof-tabs--icons .mprof-tab-desc {
  display: block;
  font-size: 12px;
  line-height: 1.25;
  font-weight: 700;
  color: var(--text3);
}
.mprof-tabs.mprof-tabs--icons .mprof-tab-count,
.mprof-tabs.mprof-tabs--icons .mprof-tab.active .mprof-tab-count {
  display: inline-flex !important;
  position: absolute;
  top: 10px;
  right: 10px;
}
.mprof-pane,
.mprof-pane.active {
  display: none !important;
}
body.mprof-modal-open {
  overflow: hidden;
}
.mprof-pane-modal {
  position: fixed;
  inset: 0;
  z-index: 10080;
  display: none;
  align-items: center;
  justify-content: center;
  padding: max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));
}
.mprof-pane-modal.open {
  display: flex;
}
.mprof-pane-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, .52);
  backdrop-filter: blur(8px);
}
.mprof-pane-modal__card {
  position: relative;
  width: min(920px, 100%);
  max-height: min(86vh, 860px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: var(--ui-radius-lg,18px);
  border: 1px solid rgba(148, 163, 184, .28);
  background: var(--bg, #fff);
  box-shadow: 0 28px 80px rgba(15, 23, 42, .28);
}
.mprof-pane-modal__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 16px 18px;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(135deg, var(--mc-dim, rgba(255,107,0,.10)), var(--surface, #fff));
}
.mprof-pane-modal__titlewrap {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.mprof-pane-modal__ico {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--ui-radius-md,10px);
  background: var(--mc-dim, rgba(255,107,0,.12));
  font-size: 24px;
}
.mprof-pane-modal__titlewrap h2 {
  margin: 0;
  font-size: 20px;
  line-height: 1.15;
}
.mprof-pane-modal__sub {
  margin: 4px 0 0;
  color: var(--text3);
  font-size: 12px;
  font-weight: 700;
}
.mprof-pane-modal__close {
  width: 42px;
  height: 42px;
  border: 1px solid var(--line);
  border-radius: var(--ui-radius-md,10px);
  background: var(--surface, #fff);
  color: var(--text1);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}
.mprof-pane-modal__body {
  padding: 18px;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.mprof-pane-modal__body > *:first-child { margin-top: 0; }
@media (max-width: 640px) {
  .mprof-tabs.mprof-tabs--icons {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  .mprof-tabs.mprof-tabs--icons .mprof-tab {
    min-height: 82px !important;
    padding: 12px 10px !important;
    border-radius: var(--ui-radius-lg,18px) !important;
    gap: 9px !important;
  }
  .mprof-tabs.mprof-tabs--icons .mprof-tab-ico {
    width: 36px !important;
    height: 36px !important;
    flex-basis: 36px !important;
    border-radius: var(--ui-radius-md,10px) !important;
    font-size: 20px !important;
  }
  .mprof-tabs.mprof-tabs--icons .mprof-tab-label,
  .mprof-tabs.mprof-tabs--icons .mprof-tab.active .mprof-tab-label {
    font-size: 13px !important;
  }
  .mprof-tabs.mprof-tabs--icons .mprof-tab-desc {
    font-size: 11px;
  }
  .mprof-pane-modal {
    align-items: flex-end;
    padding: 10px;
  }
  .mprof-pane-modal__card {
    width: 100%;
    max-height: 88vh;
    border-radius: var(--ui-radius-lg,18px);
  }
  .mprof-pane-modal__head {
    padding: 14px;
  }
  .mprof-pane-modal__body {
    padding: 14px;
  }
}

/* r237 — master order workflow polish */
.mx-actions--core .mx-accept-btn{
  background:linear-gradient(135deg,#16a34a,#22c55e);
  border-color:rgba(34,197,94,.5);
  color:#fff;
  box-shadow:0 10px 22px rgba(34,197,94,.18);
}
.mx-actions--core .mx-accept-btn:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(34,197,94,.24)}
.mx-card .mx-actions--core,
.mx-row .mx-actions--core{gap:8px;align-items:center;flex-wrap:wrap}
.mx-card .mx-actions--core .btn,
.mx-row .mx-actions--core .btn{min-height:38px;border-radius:var(--ui-radius-md,10px)}
@media (min-width:18px){
  .mx-card .mx-actions--core{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));}
  .mx-row .mx-actions--core{display:grid;grid-template-columns:repeat(4,minmax(96px,1fr));min-width:520px;}
}
