/*
  Вёрстка альбома ЭЛЕКТРИКИ — поверх общей (`packages/ui/print.css`).

  Здесь только доменное: условные знаки точек, щит, трассы с марками групп,
  распаечные коробки, управление освещением, лист условных обозначений и
  однолинейная схема. Всё, что не знает про розетки, — в общей таблице; она
  подключается первой (см. `index.html`).
*/

.plan-aside .legend-counts { margin-top: 0; }

/* Выморозка: белая копия знака потолще, идёт под самим знаком. */
.plan-svg .sym-halo {
  stroke: #fff;
  stroke-width: calc(var(--u) * 3px);
  fill: #fff;
  stroke-linejoin: round;
  stroke-linecap: round;
}

.plan-svg .sym { stroke: #111; stroke-width: calc(var(--u) * 0.64px); fill: none; stroke-linecap: round; }
.plan-svg .sym-fill { fill: #111; }
.plan-svg .board { fill: #fff; stroke: #111; stroke-width: calc(var(--u) * 0.88px); }
.plan-svg .board-line { stroke: #111; stroke-width: calc(var(--u) * 0.6px); }
.plan-svg .route {
  fill: none;
  stroke-width: calc(var(--u) * 0.92px);
  stroke-linejoin: round;
  stroke-linecap: round;
}
.plan-svg .route.c0 { stroke: #2a5c9e; }
.plan-svg .route.c1 { stroke: #8a5230; }
.plan-svg .route.c2 { stroke: #3e8e41; }
.plan-svg .route.c3 { stroke: #b33a2b; }
.plan-svg .route.c4 { stroke: #6b4c9a; }
.plan-svg .route.c5 { stroke: #0f7d7d; }

.plan-svg .dev-label {
  paint-order: stroke fill;
  stroke: #fff;
  stroke-linejoin: round;
}

.plan-svg .dev-label {
  font-size: var(--f-label);
  fill: #111;
  font-family: monospace;
  font-weight: 600;
  stroke-width: calc(var(--u) * 0.8px);
}

/*
 * Размерные привязки: выносные линии, размерная линия с засечками и число
 * над ней. Тон чуть темнее подосновы, но легче электрики: размер — часть

/* Управление освещением: пунктир от выключателя к светильнику. */
.plan-svg .control-link {
  stroke: #8a5230;
  stroke-width: calc(var(--u) * 0.24px);
  stroke-dasharray: calc(var(--u) * 1.2px) calc(var(--u) * 1.2px);
  fill: none;
}

/*
  Проходная схема — штрихпунктир, а не тот же пунктир потолще: на чертеже
  различают ТИП линии, а не её вес, и толщина здесь уже занята под «это
  управление, а не кабель». Светильник с двумя местами включения монтируется
  иначе (три жилы, два переключателя), и лист обязан это показывать.
*/
.plan-svg .control-link.passing {
  stroke-dasharray: calc(var(--u) * 2.4px) calc(var(--u) * 0.9px) calc(var(--u) * 0.5px)
    calc(var(--u) * 0.9px);
}

/*
  Протяжённые светильники. Линия толще выноски и тоньше трассы: это изделие
  на потолке, а не кабель, и спутать их нельзя. Лента показана сплошной —
  она непрерывна, трек штрихами — он собирается из секций, и штрих напоминает
  об этом при раскладке.
*/
.plan-svg .linear-light {
  fill: none;
  stroke: #111;
  stroke-width: calc(var(--u) * 0.7px);
  stroke-linejoin: round;
  stroke-linecap: round;
}
.plan-svg .linear-light.track {
  stroke-dasharray: calc(var(--u) * 3px) calc(var(--u) * 1.2px);
}



/* Марка группы и отметка прямо на трассе. */
.plan-svg .route-label {
  font-size: var(--f-label);
  font-family: monospace;
  font-weight: 600;
  text-anchor: middle;
  paint-order: stroke fill;
  stroke: #fff;
  stroke-width: calc(var(--u) * 1px);
  stroke-linejoin: round;
}
.plan-svg .route-label.c0 { fill: #2a5c9e; }
.plan-svg .route-label.c1 { fill: #8a5230; }
.plan-svg .route-label.c2 { fill: #3e8e41; }
.plan-svg .route-label.c3 { fill: #b33a2b; }
.plan-svg .route-label.c4 { fill: #6b4c9a; }
.plan-svg .route-label.c5 { fill: #0f7d7d; }

/* Распаечная коробка: узел соединений на листе трасс. */
.plan-svg .box-sym { stroke: #111; stroke-width: calc(var(--u) * 0.5px); fill: #fff; }
.plan-svg .box-label {
  font-size: var(--f-label);
  fill: #111;
  font-family: monospace;
  font-weight: 600;
  paint-order: stroke fill;
  stroke: #fff;
  stroke-width: calc(var(--u) * 0.8px);
  stroke-linejoin: round;
}

/* ── Развёртки стен ─────────────────────────────────────────────────── */

.plan-svg .elev-worktop { fill: #eeeee8; stroke: none; }
.plan-svg .elev-worktop-line { stroke: #8a8a84; stroke-width: calc(var(--u) * 0.5px); }


/* ── Лист условных обозначений ──────────────────────────────────────── */

.legend-sym { width: 9mm; height: 9mm; }
.legend-table td.legend-cell { width: 12mm; padding: 1mm 2mm; }

/*
  Легенда под планом этажа: та же таблица, но подчинённая чертежу, а не
  равная ему по весу. Занимает столько же места, сколько подпись масштаба, —
  иначе она отбирает у плана поле листа, ради которого он и печатается.
*/
.legend-counts { width: auto; max-width: 110mm; margin-top: 4mm; font-size: 8pt; }
.legend-counts .legend-sym { width: 5.5mm; height: 5.5mm; }
.legend-counts td.legend-cell { width: 8mm; padding: 0.6mm 2mm; }
.legend-counts td { padding: 0.6mm 4mm 0.6mm 0; }
.legend-counts th { padding: 0.8mm 4mm 0.8mm 0; font-size: 7pt; }
.legend-colors { list-style: none; padding: 0; margin: 3mm 0 0; columns: 2; font-size: 10pt; }
.legend-colors li { break-inside: avoid; margin-bottom: 1.5mm; }
.legend-line {
  display: inline-block;
  width: 10mm;
  height: 0;
  border-top: 0.8mm solid #111;
  margin-right: 2.5mm;
  vertical-align: middle;
}
.legend-line.c0 { border-color: #2a5c9e; }
.legend-line.c1 { border-color: #8a5230; }
.legend-line.c2 { border-color: #3e8e41; }
.legend-line.c3 { border-color: #b33a2b; }
.legend-line.c4 { border-color: #6b4c9a; }
.legend-line.c5 { border-color: #0f7d7d; }

.scheme-holder { width: 100%; }


.sl-head { display: flex; align-items: center; gap: 4mm; margin-bottom: 6mm; }
.sl-feed-icon { width: 9mm; height: auto; flex: none; }
.sl-title { font-family: var(--display); font-size: 13pt; font-weight: 700; }
.sl-note { font-size: 9pt; color: #555; font-family: monospace; margin-top: 1mm; }

table.sl-rows { font-size: 9.5pt; }
table.sl-rows th.sl-col-icon, table.sl-rows td.sl-col-icon { width: 18mm; padding-right: 3mm; }
table.sl-rows tr { break-inside: avoid; }

.sl-icon, .sl-feed-icon { display: block; }
.sl-icon { width: 16mm; height: auto; }
.sl-feed, .sl-icon .sl-line { stroke: #111; stroke-width: 1.6; }
.sl-icon.c0 .sl-line { stroke: #2a5c9e; }
.sl-icon.c1 .sl-line { stroke: #8a5230; }
.sl-icon.c2 .sl-line { stroke: #3e8e41; }
.sl-icon.c3 .sl-line { stroke: #b33a2b; }
.sl-icon.c4 .sl-line { stroke: #6b4c9a; }
.sl-icon.c5 .sl-line { stroke: #0f7d7d; }
.sl-sym { stroke: #111; stroke-width: 1.4; fill: none; }
.sl-sym-fill { fill: #111; }
