/* Схема зон в кабинете — локальные стили, без CDN */
/* Тона зон: те же hex, что CRM wlosk-client-body-scheme.css (PNG снимка читает этот файл). */
:root {
  --scheme-tone-fresh: #5fc992;
  --scheme-tone-planned: #e8c84a;
  --scheme-tone-due-soon: #efc04a;
  --scheme-tone-overdue: #e07068;
  --scheme-tone-long-ago: #d0907c;
  --scheme-tone-idle: #c5bdb4;
  --scheme-tone-idle-stroke: #9a8e84;
  --scheme-tone-maintain: #6fd4a0;
  --scheme-tone-hands-idle: #d2c2b4;
  --scheme-solarium-never: #9aa3ae;
  --scheme-solarium-fresh: #1b9a52;
  --scheme-solarium-planned: #d4b43a;
  --scheme-solarium-due: #e8a20c;
  --scheme-solarium-overdue: #d32f2f;
  --scheme-solarium-long: #c47260;
}
.scheme-stage {
  display: grid;
  grid-template-columns: minmax(7rem, 10rem) minmax(12rem, 1fr);
  gap: 0.35rem 0.5rem;
  align-items: start;
}
.scheme-pins-wrap {
  margin: 1.2rem 0 0;
}
.scheme-pins-wrap[hidden],
.scheme-pins[hidden],
.scheme-pins-label[hidden] { display: none !important; }
.scheme-pins {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: left;
  font-size: 0.72rem;
  line-height: 1.25;
}
.scheme-pin {
  margin: 0 0 0.4rem;
  padding: 0.28rem 0.4rem;
  border-radius: 4px;
  background: #fff4f1;
  border-left: 3px solid #d64545;
  color: #2a3138;
}
.scheme-pin--due_soon {
  background: #fff8e8;
  border-left-color: #e6a817;
}
.scheme-pin--planned {
  background: #fff9e0;
  border-left-color: #c9a227;
  border-left-style: dashed;
  color: #5a4a18;
}
.scheme-pin--long_ago {
  background: #f3eee8;
  border-left-color: #a08070;
  color: #5a5048;
}
.scheme-pin--ok {
  background: #edf7f0;
  border-left-color: #1f8a4c;
  color: #1f3d28;
}
.scheme-pin--maintain {
  background: #edf7f0;
  border-left-color: #1f8a4c;
  border-left-style: dashed;
  color: #1f3d28;
}
.scheme-pins-label {
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #7a6a60;
  margin: 0.65rem 0 0.3rem;
  padding: 0;
}
.scheme-pin__emoji { margin-right: 0.15rem; }
.body-scheme-svg {
  width: 100%;
  max-width: 480px;
  height: auto;
  display: block;
  margin: 0 auto;
}
.cab-scheme .scheme-stage {
  flex: 1 1 auto;
  min-height: 16rem;
  align-items: start;
}
.cab-scheme .body-scheme-svg {
  width: min(320px, 100%);
  min-height: 16rem;
}
.cab-scheme .scheme-stage__svg {
  min-width: 12rem;
}
.body-scheme-fig-label {
  font-size: 11px;
  fill: #6b7785;
  font-family: inherit;
}
.body-zone {
  fill: #b7c4d4;
  fill-opacity: 0.82;
  stroke: #5a6570;
  stroke-width: 1;
  cursor: pointer;
  touch-action: manipulation;
  transition: fill 0.15s ease, stroke-width 0.15s ease;
}
.body-zone:hover {
  stroke-width: 2;
  stroke: #1f2a37;
}
.body-hair--front { fill: #5a3c2c; }
.body-hair--back { fill: #3a281f; }
.body-hair--bun { fill: #2c1c16; }
.body-hair { pointer-events: none; }
.body-zone.tone-fresh { fill: var(--scheme-tone-fresh); background: var(--scheme-tone-fresh); fill-opacity: 0.92; }
.body-zone.tone-planned {
  fill: var(--scheme-tone-planned);
  background: var(--scheme-tone-planned);
  fill-opacity: 0.9;
  stroke: #b89620;
  stroke-width: 1.7;
  stroke-dasharray: 4.5 2.8;
}
.body-zone.tone-due_soon { fill: var(--scheme-tone-due-soon); background: var(--scheme-tone-due-soon); fill-opacity: 0.92; }
.body-zone.tone-overdue { fill: var(--scheme-tone-overdue); background: var(--scheme-tone-overdue); fill-opacity: 0.92; }
.body-zone.tone-long_ago { fill: var(--scheme-tone-long-ago); background: var(--scheme-tone-long-ago); fill-opacity: 0.90; }
.body-zone.tone-never,
.body-zone.tone-history {
  fill: var(--scheme-tone-idle);
  background: var(--scheme-tone-idle);
  fill-opacity: 0.28;
  stroke: var(--scheme-tone-idle-stroke);
  stroke-width: 0.85;
}
.body-zone[data-zone-key="hands"].tone-never,
.body-zone[data-zone-key="hands"].tone-history {
  fill: var(--scheme-tone-hands-idle);
  background: var(--scheme-tone-hands-idle);
  fill-opacity: 0.48;
  stroke: var(--scheme-tone-idle-stroke);
}
.body-zone--palm {
  stroke-linejoin: round;
}
.body-zone.method-laser {
  stroke: #2aa8d4;
  stroke-width: 2.2;
}
.body-zone.course-active { stroke: #5a6570; stroke-width: 3.25; }
.body-zone.course-late { stroke: #c62828; stroke-width: 3.5; }
.body-zone.course-paused { stroke: #c97816; stroke-width: 3.2; }
.body-zone.course-done { stroke: #3d7a52; stroke-width: 3; }
.body-zone.tone-maintain { fill: var(--scheme-tone-maintain); background: var(--scheme-tone-maintain); }
.body-zone.course-maintain {
  stroke: #1f8a4c;
  stroke-width: 2.6;
  stroke-dasharray: 5 3.2;
}
.body-zone.method-laser.course-maintain {
  stroke: #1f8a4c;
  filter: none;
}
.cosmo-ticks { display: none; }
.cosmo-ticks line {
  stroke: #c9a227;
  stroke-width: 2.1;
  stroke-linecap: round;
}
.body-scheme-svg:has(.body-zone[data-zone-key="face"].method-cosmo) .cosmo-ticks--face { display: block; }
.body-scheme-svg:has(.body-zone[data-zone-key="chest"].method-cosmo) .cosmo-ticks--chest { display: block; }
.cosmo-ticks,
.zone-emoji,
.body-scheme-svg use { pointer-events: none; }
.zone-emoji { font-size: 12px; }
.body-zone.body-zone--solarium,
.body-zone--solarium.tone-fresh,
.body-zone--solarium.tone-planned,
.body-zone--solarium.tone-due_soon,
.body-zone--solarium.tone-overdue,
.body-zone--solarium.tone-long_ago,
.body-zone--solarium.tone-never,
.body-zone--solarium.tone-history {
  fill: none !important;
  stroke: none;
}
.solarium-hit { fill: none !important; pointer-events: all; }
.body-zone--solarium .solarium-ray { stroke: #c9a227; stroke-width: 1.55; }
.solarium-core { stroke: #8a7a40; stroke-width: 1.2; pointer-events: none; }
.solarium-core.tone-never { fill: var(--scheme-solarium-never); }
.solarium-core.tone-fresh { fill: var(--scheme-solarium-fresh); }
.solarium-core.tone-planned { fill: var(--scheme-solarium-planned); }
.solarium-core.tone-due_soon { fill: var(--scheme-solarium-due); }
.solarium-core.tone-overdue { fill: var(--scheme-solarium-overdue); }
.solarium-core.tone-long_ago { fill: var(--scheme-solarium-long); }
.solarium-core.tone-history { fill: var(--scheme-solarium-never); }
.lk-scheme-tip {
  position: fixed;
  z-index: 4000;
  max-width: min(16.5rem, calc(100vw - 1.25rem));
  background: #1f2a37;
  color: #fff;
  font-size: 0.78rem;
  line-height: 1.35;
  padding: 0.45rem 0.6rem;
  border-radius: 6px;
  pointer-events: none;
  white-space: pre-line;
  box-sizing: border-box;
}
@media (max-width: 1100px) and (min-width: 861px) {
  .cab-scheme .scheme-stage {
    grid-template-columns: minmax(6.5rem, 8.5rem) minmax(0, 1fr);
  }
  .cab-scheme .body-scheme-svg {
    width: min(260px, 100%);
  }
}
.cab-scheme-page {
  max-width: 52rem;
}
.cab-scheme-page--split {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(13rem, 3fr);
  gap: 0.75rem 1rem;
  align-items: start;
}
.cab-scheme-page--split .cab-scheme-legend {
  grid-column: 1 / -1;
}
.cab-scheme-script__h {
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin: 0.2rem 0 0.35rem;
  color: #6b7785;
}
.cab-scheme-script {
  list-style: none;
  margin: 0 0 0.7rem;
  padding: 0;
  font-size: 0.82rem;
  line-height: 1.35;
}
.cab-scheme-script li {
  margin: 0 0 0.35rem;
}
.cab-scheme-script--offer li { color: #c0392b; }
.cab-scheme-script--soon li { color: #8a6a18; }
.cab-scheme-script--old li { color: #7a6a60; }
@media (max-width: 720px) {
  .cab-scheme-page--split { grid-template-columns: 1fr; }
}
.cc-method-icon {
  display: inline-block;
  vertical-align: -2px;
  margin: 0 0.12rem 0 0.05rem;
}
.cc-method-icon svg {
  display: block;
}
.cab-scheme-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.9rem;
  font-size: 0.8rem;
  color: #5a6570;
  margin: 0.6rem 0 0;
}
.cab-scheme-legend .body-zone {
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 2px;
  vertical-align: middle;
  margin-right: 4px;
  cursor: default;
}
.cc-scheme-chrome {
  font-size: 0.75rem;
  color: #5a6570;
  margin: 0.5rem 0 0;
}
.cab-wrap--scheme .cab-card { margin-top: 0.75rem; }
@media (max-width: 640px) {
  .scheme-stage { grid-template-columns: 1fr; }
  .scheme-pins-wrap { margin-top: 0; }
  .scheme-pins { display: flex; flex-wrap: wrap; gap: 0.35rem; }
  .scheme-pin { margin: 0; }
}
