/* Общие минималистичные компоненты для интерактивных инструментов /instrumenty/:
 * 1) Проверка релиза перед отгрузкой (/instrumenty/proverka-reliza/)
 * 2) Конструктор договоров и бытового райдера (/instrumenty/konstruktor-dokumentov/)
 * Работает поверх royalty-calc.css строго на токенах дизайн-системы UpSound. */

/* Зона выбора файла */
.rc-drop {
  display: grid;
  gap: var(--s-3);
  padding: clamp(22px, 2.8vw, 36px);
  background: var(--wall-2);
  border: 1px solid var(--rule-2);
  transition: border-color var(--d-fast) var(--ease), background var(--d-fast) var(--ease);
}
.rc-drop.is-drag {
  border-color: var(--ivory);
  background: var(--wall-3);
}
.rc-drop__t {
  font: var(--t-card);
  font-size: clamp(17px, 1.5vw, 21px);
  font-weight: 500;
  letter-spacing: -.02em;
  color: var(--ivory);
}
.rc-drop__m {
  font: 400 13px/1.45 var(--f-mono);
  color: var(--mute);
}
.rc-drop__act {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-2) var(--s-3);
  padding-top: var(--s-1);
}
.rc-file-btn { cursor: pointer; }

/* Сетка ключевых замеров 2×2 */
.rc-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--rule);
  border-left: 1px solid var(--rule);
}
.rc-metric {
  display: grid;
  gap: 6px;
  padding: clamp(14px, 1.8vw, 20px);
  border-right: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  min-width: 0;
}
.rc-metric__k {
  font: var(--t-label);
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--mute);
}
.rc-metric__v {
  font: 300 clamp(22px, 2.4vw, 34px)/1.05 var(--f-display);
  letter-spacing: -.04em;
  color: var(--ivory);
  font-variant-numeric: tabular-nums;
  word-break: break-word;
}
.rc-metric__s {
  font: 400 12.5px/1.35 var(--f-mono);
  color: var(--mute);
  font-variant-numeric: tabular-nums;
}

/* Строки проверок модерации */
.rc-checks {
  display: grid;
  border-top: 1px solid var(--rule);
}
.rc-check {
  display: grid;
  grid-template-columns: 10px minmax(0, 1fr) auto;
  gap: var(--s-3);
  align-items: baseline;
  padding-block: 10px;
  border-bottom: 1px solid var(--rule);
  font-size: 14px;
}
.rc-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--rule-2);
  transform: translateY(-1px);
}
.rc-check.is-ok .rc-dot { background: var(--ivory); }
.rc-check.is-warn .rc-dot { background: #d89b3c; }
.rc-check.is-bad .rc-dot { background: var(--red); }
.rc-check__n { color: var(--ivory-2); }
.rc-check__v {
  font: 400 13px/1.3 var(--f-mono);
  color: var(--ivory);
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.rc-check.is-bad .rc-check__v { color: var(--red-ink); }
.rc-check.is-warn .rc-check__v { color: #e7b566; }

/* Мини-превью обложки */
.rc-cov-box {
  display: flex;
  align-items: center;
  gap: var(--s-4);
  padding-top: var(--s-2);
}
.rc-cov-box canvas,
.rc-cov-box img {
  width: 88px;
  height: 88px;
  object-fit: cover;
  border: 1px solid var(--rule-2);
  background: var(--wall-3);
  flex-shrink: 0;
}
.rc-cov-box__m {
  display: grid;
  gap: 4px;
  font: 400 13px/1.4 var(--f-mono);
  color: var(--ivory-2);
  min-width: 0;
}
.rc-cov-box__m small { color: var(--mute); font-size: 12px; }

/* Поля конструктора документов */
.rc-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--s-4);
}
.rc-field {
  display: grid;
  gap: 6px;
  min-width: 0;
}
.rc-field--full { grid-column: 1 / -1; }
.rc-field label {
  font: var(--t-label);
  font-size: 11px;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--mute);
}
.rc-in,
.rc-ta,
.rc-sel {
  width: 100%;
  min-width: 0;
  padding: 9px 11px;
  background: var(--wall-2);
  border: 1px solid var(--rule);
  border-radius: 0;
  font: var(--t-small);
  font-size: 14px;
  line-height: 1.35;
  color: var(--ivory);
  transition: border-color var(--d-fast) var(--ease);
}
.rc-ta { resize: vertical; min-height: 74px; }
.rc-in:focus,
.rc-ta:focus,
.rc-sel:focus {
  outline: none;
  border-color: var(--ivory);
}
.rc-in::placeholder,
.rc-ta::placeholder { color: var(--mute); opacity: .7; }

/* Таблица соавторов в сплит-шите */
.rc-splits { display: grid; gap: var(--s-2); }
.rc-split-row {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.1fr) 88px 34px;
  gap: 8px;
  align-items: center;
}
.rc-split-del {
  height: 38px;
  background: transparent;
  border: 1px solid var(--rule);
  color: var(--mute);
  font-size: 16px;
  cursor: pointer;
}
.rc-split-del:hover { border-color: var(--red); color: var(--red-ink); }
.rc-split-sum {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding-top: var(--s-2);
  font: 400 13px/1.3 var(--f-mono);
  color: var(--mute);
}
.rc-split-sum.is-bad { color: var(--red-ink); }

/* Лист предпросмотра документа */
.rc-summary--doc {
  gap: var(--s-4);
}
.rc-doc-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--s-3);
  padding-bottom: var(--s-3);
  border-bottom: 1px solid var(--rule-2);
}
.rc-doc {
  max-height: 62vh;
  overflow-y: auto;
  padding-right: 6px;
  font: var(--t-body);
  font-size: 13px;
  line-height: 1.58;
  color: var(--ivory-2);
  display: grid;
  gap: 10px;
}
.rc-doc h3 {
  font: var(--t-small);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: var(--ivory);
  text-align: center;
  margin-bottom: 2px;
}
.rc-doc .rc-doc__meta {
  display: flex;
  justify-content: space-between;
  font: 400 12px/1.4 var(--f-mono);
  color: var(--mute);
  padding-bottom: 8px;
  border-bottom: 1px solid var(--rule);
}
.rc-doc h4 {
  font: var(--t-small);
  font-size: 13px;
  font-weight: 600;
  color: var(--ivory);
  margin-top: 6px;
}
.rc-doc p { margin: 0; }
.rc-doc table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12.5px;
  margin-block: 4px;
}
.rc-doc th,
.rc-doc td {
  padding: 6px 8px;
  border: 1px solid var(--rule-2);
  text-align: left;
  vertical-align: top;
}
.rc-doc th { color: var(--ivory); font-weight: 500; }
.rc-doc__sigs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--s-4);
  padding-top: 10px;
  margin-top: 6px;
  border-top: 1px solid var(--rule);
  font-size: 12.5px;
}

@media (max-width: 640px) {
  .rc-metrics,
  .rc-fields,
  .rc-doc__sigs { grid-template-columns: minmax(0, 1fr); }
  .rc-split-row { grid-template-columns: minmax(0, 1fr) 84px 34px; }
  .rc-split-row select { grid-column: 1 / -1; }
  .rc-check { grid-template-columns: 10px minmax(0, 1fr); }
  .rc-check__v { grid-column: 2; text-align: left; }
}

/* Чистая печать документа в A4 PDF без шапки и подвала сайта */
@media print {
  @page { size: A4; margin: 18mm 16mm; }
  html, body { background: #fff !important; color: #000 !important; }
  .hd, .ft, .uspop, .rc-head, .rc-controls, .rc-doc-head, .rc-sum__actions, .rc-table-sec, .rc-faq, .dir-help, #lead {
    display: none !important;
  }
  .wrap, .rc-stage {
    display: block !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .rc-summary {
    position: static !important;
    border: 0 !important;
    padding: 0 !important;
    background: #fff !important;
  }
  .rc-doc {
    max-height: none !important;
    overflow: visible !important;
    color: #000 !important;
    font: 11pt/1.5 Georgia, "Times New Roman", serif !important;
    gap: 8pt !important;
  }
  .rc-doc h3, .rc-doc h4, .rc-doc th { color: #000 !important; }
  .rc-doc .rc-doc__meta { color: #333 !important; border-bottom: 1px solid #999 !important; }
  .rc-doc th, .rc-doc td { border: 1px solid #666 !important; color: #000 !important; }
  .rc-doc__sigs { border-top: 1px solid #999 !important; }
}
