/* The breast worksheet shares the journal's ruled writing surface. */
.protocol-switch { min-width: 0; }
.protocol-switch .choice-field { margin: 0; }
.editor-main .protocol-switch .choice-field { margin: 0; }
.protocol-switch .choice-field legend { font-size: 11px; margin-bottom: 8px; }
.protocol-choice { padding: 16px; background: var(--surface-soft); border-radius: 8px; }
.protocol-choice .quiet-note { margin-bottom: 0; }
.odintsov-workspace { margin-top: 30px; padding-top: 28px; border-top: 2px solid var(--ink); }
.odintsov-workspace h3 { font-size: 19px; letter-spacing: -.35px; }
.odintsov-workspace .quiet-note { margin: 7px 0 14px; max-width: 65ch; }
.odintsov-unit { color: var(--muted); font-size: 12px; }
.odintsov-table-wrap { overflow-x: auto; margin-top: 20px; }
.odintsov-table { table-layout: fixed; width: 100%; border-collapse: collapse; }
.odintsov-table thead th { font-size: 10px; text-transform: none; letter-spacing: 0; padding: 12px 7px; background: transparent; color: var(--muted); }
.odintsov-table th:first-child { width: 42%; }
.odintsov-table tbody th { padding: 6px 8px 6px 0; font-weight: 400; text-align: left; border-top: 1px solid var(--line); }
.odintsov-table tbody td { padding: 10px 5px; border-top: 1px solid var(--line); }
.odintsov-table tbody tr:last-child { border-bottom: 1px solid var(--line); }
.odintsov-table tbody tr.selected { background: var(--selected); }
.odintsov-table tbody th button { width: 100%; min-height: 65px; justify-content: flex-start; text-align: left; border: 0; background: transparent; padding: 8px 5px; font-size: 11px; }
.odintsov-table .finding-number { flex-shrink: 0; }
.odintsov-table img { object-fit: contain; flex-shrink: 0; width: 40px; }
.odintsov-table input { width: 100%; min-width: 0; min-height: 52px; padding: 8px 4px; text-align: center; font-size: 21px; font-variant-numeric: tabular-nums; border-width: 0 0 1px; border-radius: 0; }
.odintsov-empty { padding: 20px 0 24px; border-block: 1px solid var(--line); }
.odintsov-empty strong { font-size: 13px; font-weight: 700; }
.odintsov-empty p { margin: 7px 0 0; color: var(--muted); font-size: 12px; }
.odintsov-atlas { margin-top: 30px; border-top: 1px solid var(--line); padding-top: 20px; }
.editor-main .odintsov-atlas > summary { font-size: 18px; font-weight: 700; cursor: pointer; }
.odintsov-atlas > summary span { font-size: 10px; font-weight: 400; color: var(--muted); margin-left: 8px; white-space: nowrap; }
.odintsov-gallery { display: grid; gap: 24px; margin-top: 22px; }
.odintsov-group { border-top: 2px solid currentColor; padding-top: 12px; }
.odintsov-group > header { display: flex; align-items: center; gap: 8px; padding-bottom: 13px; }
.odintsov-group h4 { margin: 0; font-size: 11px; font-weight: 700; }
.odintsov-group-dot { width: 6px; height: 6px; background: currentColor; flex-shrink: 0; }
.tone-green { color: #3b684a; --group-surface: #eef2e8; }
.tone-yellow { color: #806424; --group-surface: #f5f0dc; }
.tone-red { color: #925046; --group-surface: #f5e9e3; }
.odintsov-types { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.odintsov-type { flex-direction: column; min-width: 0; min-height: 132px; gap: 8px; padding: 14px 8px; border: 0; border-radius: 0; background: var(--surface); color: var(--ink); font-size: 11px; line-height: 1.4; text-align: center; }
.odintsov-type img { width: 84px; height: 64px; max-width: 100%; object-fit: contain; transition: transform .18s; }
.odintsov-type:hover:not(:disabled) { background: var(--group-surface); }
.odintsov-type:hover:not(:disabled) img { transform: translateY(-2px); }
.odintsov-type:active:not(:disabled) { transform: translateY(1px); }
.odintsov-type:disabled { opacity: 1; }
.odintsov-gallery-dialog { width: min(1000px, calc(100% - 32px)); max-width: none; max-height: calc(100dvh - 32px); overflow-y: auto; border-radius: 8px; }
.odintsov-gallery-dialog .odintsov-types { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.odintsov-gallery-dialog .odintsov-type { min-height: 115px; }
.odintsov-gallery-dialog .odintsov-gallery { gap: 18px; }
.odintsov-parameters { padding: 0; background: transparent; }
.editor-main .odintsov-parameters .section-title h3 { font: 400 25px/1.3 "Noto Serif", Georgia, serif; letter-spacing: -.5px; }
.odintsov-parameters > label { display: block; margin: 20px 0 24px; }
.odintsov-parameters > label:has(input[type="number"]) { padding-block: 16px; border-block: 1px solid var(--line); }
.odintsov-parameters > label:has(input[type="number"]) input { width: min(200px, 100%); display: block; min-height: 65px; font-size: 32px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; padding: 6px 0; }
.odintsov-detail { padding: 10px 0; border-top: 1px solid var(--line); }
.odintsov-detail > summary, .odintsov-general > summary { min-height: 44px; padding: 10px 0; font-size: 13px; cursor: pointer; }
.odintsov-detail > label { display: block; margin-top: 12px; }
.odintsov-parameters textarea { min-height: 130px; }
.odintsov-silhouette-choice { margin-bottom: 18px; }
.odintsov-silhouette-choice > summary { min-height: 44px; font-size: 13px; cursor: pointer; }
.odintsov-quadrants { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.odintsov-quadrants .choice { width: 100%; }
.odintsov-quadrants .choice span { font-size: 11px; width: 100%; text-align: center; }
.odintsov-area-heading { margin-top: 22px; }
.odintsov-area { padding: 16px 0 6px; margin-top: 10px; border-top: 1px solid var(--line); }
.odintsov-area .section-title { margin-bottom: 8px; }
.odintsov-area strong { font-size: 12px; }
.odintsov-finding-icon { flex-shrink: 0; padding: 4px; background: #f2f1e9; }
.finding-head:has(.odintsov-finding-icon) { gap: 12px; }
.finding-head:has(.odintsov-finding-icon) h3 { margin-right: auto; }
@media (max-width: 1199px) and (min-width: 768px) {
  .odintsov-table th:first-child { width: 40%; }
  .odintsov-table tbody th img { display: none; }
  .odintsov-table tbody th button { font-size: 10px; padding-inline: 1px; gap: 5px; }
  .odintsov-table input { font-size: 18px; }
  .odintsov-types { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .protocol-switch .choice-group { display: grid; grid-template-columns: 1fr 1fr; }
  .protocol-switch .choice { width: 100%; }
  .protocol-switch .choice span { width: 100%; min-height: 57px; padding: 10px 8px; }
  .odintsov-workspace { margin-top: 25px; padding-top: 23px; }
  .odintsov-types, .odintsov-gallery-dialog .odintsov-types { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .odintsov-type { min-height: 120px; font-size: 10px; padding: 12px 5px; }
  .odintsov-type img { width: 75px; height: 58px; }
  .odintsov-gallery-dialog { padding: 18px 12px; }
  .odintsov-table, .odintsov-table thead, .odintsov-table tbody { display: table; width: 100%; }
  .odintsov-table thead { display: table-header-group; }
  .odintsov-table tbody { display: table-row-group; }
  .odintsov-table tr { display: table-row; padding: 0; }
  .odintsov-table th:first-child { width: 40%; }
  .odintsov-table thead th { font-size: 9px; padding: 10px 2px; }
  .odintsov-table td { display: table-cell; padding: 8px 3px !important; font-size: 12px; }
  .odintsov-table td:not(:first-child):not(:last-child)::before { display: none; }
  .odintsov-table tbody th { padding-right: 2px; }
  .odintsov-table tbody th button { gap: 5px; padding: 8px 2px; font-size: 10px; }
  .odintsov-table tbody th img { display: none; }
  .odintsov-table input { padding: 8px 2px; font-size: 18px; }
  .odintsov-table .finding-number { width: 23px; height: 23px; font-size: 11px; }
}
@media (max-width: 359px) {
  .odintsov-types, .odintsov-gallery-dialog .odintsov-types { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .odintsov-table input { font-size: 15px; }
}
@media (prefers-color-scheme: dark) {
  .tone-green { color: #b2d2b3; --group-surface: #344635; }
  .tone-yellow { color: #e1d298; --group-surface: #49452e; }
  .tone-red { color: #e3b4a9; --group-surface: #4e3932; }
  .odintsov-type img, .odintsov-table img { background: #f0f0e5; }
}
@media (prefers-reduced-motion: reduce) { .odintsov-type img { transition: none; } }
