.strings-chart { --stage-text: #334155; --stage-line: #dbe3ef; --stage-bg: #fbfcfe; min-width: 0; }
.strings-chart-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; }
.strings-chart-header h2 { margin-bottom: 4px; }
.strings-chart-header p, .strings-chart-footer { color: #64748b; font-size: 13px; }
.strings-chart-preset { display: flex; align-items: center; gap: 8px; margin-left: auto; font-size: 13px; color: #64748b; }
.strings-chart-preset select { width: auto; min-width: 0; max-width: 100%; }
@media (max-width: 640px) { .strings-chart-preset { width: 100%; margin-left: 0; } .strings-chart-preset select { flex: 1; } }
.strings-chart-tools { display: flex; gap: 4px; padding: 4px; border: 1px solid var(--stage-line); border-radius: 10px; }
.strings-chart-tools button { min-width: 36px; min-height: 36px; padding: 6px 10px; border-radius: 6px; color: var(--stage-text); font-size: 14px; cursor: pointer; }
.strings-chart-tools button:hover { background: #e2e8f0; }
.strings-chart-legend { display: flex; gap: 18px; flex-wrap: wrap; padding: 18px 0; font-size: 13px; color: var(--stage-text); }
.strings-chart-legend span { display: inline-flex; align-items: center; gap: 7px; }
.strings-chart-legend i { width: 9px; height: 9px; border-radius: 50%; background: var(--section-color); }
.strings-chart-viewport { overflow: auto; max-width: 100%; border: 1px solid var(--stage-line); border-radius: 14px; background: var(--stage-bg); overscroll-behavior: contain; }
.strings-chart-sizer { position: relative; margin: 0 auto; }
.strings-stage { position: relative; transform-origin: top left; color: var(--stage-text); }
.strings-stage-guides { display: none; position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.strings-stage.is-laid-out .strings-stage-guides { display: block; }
.strings-stage-guides path { stroke: var(--stage-line); stroke-width: 1; }
.strings-stage-guides .strings-row-guide { fill: none; stroke-dasharray: 3 7; }
.strings-section[data-section="violin1"] { --section-color: #366bd1; }
.strings-section[data-section="violin2"] { --section-color: #7957be; }
.strings-section[data-section="viola"] { --section-color: #228578; }
.strings-section[data-section="cello"] { --section-color: #b56835; }
.strings-section[data-section="bass"] { --section-color: #ac5378; }
.strings-section { padding: 16px; }
.strings-section-label { color: var(--section-color); font-size: 16px; font-weight: 700; text-align: center; margin: 0; }
.strings-stage.is-laid-out .strings-section { padding: 0; }
.strings-stage.is-laid-out .strings-section-label { position: absolute; width: 180px; transform: translate(-50%, -50%); }
.strings-desk { display: inline-flex; width: 164px; height: 116px; flex-direction: column; align-items: center; vertical-align: top; }
.strings-stage.is-laid-out .strings-desk { position: absolute; transform: translate(-50%, -50%) rotate(var(--desk-rotation, 0deg)); }
.strings-desk-pair { display: grid; grid-template-columns: repeat(2, 80px); gap: 4px; width: 164px; }
.strings-section[data-section="viola"] .strings-desk-pair > .strings-chair:first-child,
.strings-section[data-section="cello"] .strings-desk-pair > .strings-chair:first-child,
.strings-section[data-section="bass"] .strings-desk-pair > .strings-chair:first-child { grid-column: 2; grid-row: 1; }
.strings-section[data-section="viola"] .strings-desk-pair > .strings-chair:nth-child(2),
.strings-section[data-section="cello"] .strings-desk-pair > .strings-chair:nth-child(2),
.strings-section[data-section="bass"] .strings-desk-pair > .strings-chair:nth-child(2) { grid-column: 1; grid-row: 1; }
/* A desk with one player: centred on the stand (as in the PDF/stage plan). */
.strings-section[data-section] .strings-desk-pair > .strings-chair:only-child { grid-column: 1 / -1; grid-row: 1; justify-self: center; width: 80px; }
.strings-chair { min-width: 0; border-radius: 8px; }
.strings-chair button { display: flex; flex-direction: column; align-items: center; width: 100%; padding: 0; gap: 5px; background: transparent; border: 0; color: var(--stage-text); cursor: pointer; }
.strings-chair button:disabled { cursor: default; }
.strings-chair .strings-musician[draggable="true"] { cursor: grab; }
.strings-chair-dot { position: relative; display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; border: 2px solid var(--section-color); background: var(--section-color); color: white; border-radius: 50%; font-size: 13px; font-weight: 700; box-shadow: 0 2px 4px #0f172a12; flex-shrink: 0; }
.strings-chair-name { width: 80px; height: 35px; font-size: 12px; line-height: 17px; text-align: center; overflow: hidden; font-weight: 600; }
.strings-chair-name > span { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.strings-vacancy .strings-chair-dot { background: var(--stage-bg); border-style: dashed; color: var(--section-color); box-shadow: none; }
.strings-vacancy .strings-chair-name { color: #64748b; font-weight: 400; }
.strings-vacancy.is-pending .strings-chair-dot { background: #fef3c7; border-color: #b45309; border-style: solid; color: #92400e; }
.strings-vacancy.is-pending .strings-chair-name { color: #92400e; font-weight: 600; }
.strings-chair-pending { position: absolute; bottom: -5px; right: -8px; display: grid; place-items: center; width: 19px; height: 19px; background: #fef3c7; border: 1px solid #b45309; border-radius: 50%; font-size: 12px; }
.dark .strings-vacancy.is-pending .strings-chair-dot { background: #78350f; border-color: #fbbf24; color: #fef3c7; }
.dark .strings-vacancy.is-pending .strings-chair-name { color: #fcd34d; }
/* Internal nomination note marker: the note itself is in the title + seat popup. */
.strings-chair button:has(.strings-chair-note) { position: relative; }
.strings-chair-note { position: absolute; top: -6px; left: calc(50% - 28px); display: grid; place-items: center; width: 19px; height: 19px; background: #e0f2fe; border: 1px solid #0369a1; border-radius: 50%; color: #075985; font-size: 11px; line-height: 1; }
.dark .strings-chair-note { background: #0c4a6e; border-color: #7dd3fc; color: #e0f2fe; }
.strings-chair-star { position: absolute; top: -10px; right: -8px; color: #9a650c; background: #fff4d0; border-radius: 50%; width: 19px; height: 19px; font-size: 13px; line-height: 19px; }
.strings-chair.is-selected, .strings-chair.is-drop-target { outline: 2px solid var(--section-color); outline-offset: 4px; background: #dbeafe60; }
.strings-chair button:hover:not(:disabled) .strings-chair-dot { box-shadow: 0 0 0 5px #94a3b830; }
.strings-chart button:focus-visible, .strings-chart-viewport:focus-visible { outline: 3px solid #3b82f6; outline-offset: 4px; }
.strings-music-stand { position: relative; width: 36px; height: 34px; margin-top: 3px; color: #6b7b90; }
.strings-music-stand svg { width: 36px; height: 30px; fill: var(--stage-bg); stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.strings-music-stand span { position: absolute; top: 2px; left: 0; width: 36px; text-align: center; line-height: 16px; font-size: 10px; font-weight: 700; }
.strings-podium { display: flex; flex-direction: column; align-items: center; width: 116px; padding: 12px; border: 1px solid var(--stage-line); border-radius: 45px 45px 12px 12px; background: var(--stage-bg); font-size: 11px; font-weight: 700; letter-spacing: 1.5px; }
.strings-stage.is-laid-out .strings-podium { position: absolute; transform: translate(-50%, -50%); }
.strings-podium svg { width: 40px; height: 36px; margin-bottom: 7px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.strings-chart-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 20px; padding-top: 14px; font-size: 12px; }
.strings-chart-status { min-height: 20px; margin-top: 6px; font-size: 13px; color: var(--stage-text); }
.strings-chair-action-modal { position: fixed; inset: 0; z-index: 55; display: flex; align-items: center; justify-content: center; padding: 20px; background: rgb(15 23 42 / 0.42); }
.strings-chair-action-modal.hidden { display: none; }
.strings-chair-action-panel { width: min(400px, 100%); max-height: calc(100dvh - 40px); display: flex; flex-direction: column; overflow: hidden; border-radius: 14px; background: white; color: #111827; box-shadow: 0 24px 70px rgb(15 23 42 / 0.28); animation: strings-chair-action-in .16s ease-out; }
@keyframes strings-chair-action-in { from { opacity: 0; transform: translateY(8px) scale(.98); } }
.strings-chair-action-header { flex-shrink: 0; display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 16px 16px 14px 20px; border-bottom: 1px solid #e5e7eb; }
.strings-chair-action-header h3 { margin: 0 0 3px; font-size: 18px; font-weight: 650; line-height: 1.25; letter-spacing: -.01em; overflow-wrap: anywhere; }
.strings-chair-action-header p { margin: 0; color: #64748b; font-size: 13px; line-height: 1.45; }
.strings-chair-action-header p:empty { display: none; }
.strings-chair-action-close { flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; margin: -4px -4px 0 0; border-radius: 999px; color: #64748b; }
.strings-chair-action-close svg { width: 20px; height: 20px; }
.strings-chair-action-close:hover { background: #f1f5f9; color: #111827; }
.strings-chair-action-body { display: grid; gap: 6px; padding: 16px 20px 20px; overflow-y: auto; min-height: 0; }
.strings-chair-action-button { width: 100%; justify-content: center; gap: 8px; margin-bottom: 6px; }
.strings-chair-action-row { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 48px; padding: 7px 10px 7px 8px; border: 1px solid #e5e7eb; border-radius: 10px; background: white; color: #1f2937; font-size: 14px; font-weight: 500; text-align: left; transition: background-color .12s, border-color .12s; }
.strings-chair-action-row:hover { background: #f8fafc; border-color: #cbd5e1; }
.strings-chair-action-row:focus-visible { outline: 3px solid var(--color-primary, #3b82f6); outline-offset: 2px; }
.strings-chair-action-icon { flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 8px; background: #f1f5f9; color: #475569; }
.strings-chair-action-icon svg { width: 18px; height: 18px; }
.strings-chair-action-label { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.strings-chair-action-chevron { flex-shrink: 0; width: 16px; height: 16px; color: #94a3b8; }
.strings-chair-action-row.is-danger { margin-top: 6px; color: #b91c1c; border-color: #fecaca; }
.strings-chair-action-row.is-danger:hover { background: #fef2f2; border-color: #fca5a5; }
.strings-chair-action-row.is-danger .strings-chair-action-icon { background: #fee2e2; color: #b91c1c; }
.strings-chair-action-row.is-danger .strings-chair-action-chevron { color: #f87171; }
.strings-chair-action-status { display: grid; gap: 10px; margin-bottom: 8px; padding: 12px; border: 1px solid #fde68a; border-radius: 10px; background: #fffbeb; }
.strings-chair-action-status > p[role=status] { margin: 0; font-size: 14px; font-weight: 600; color: #92400e; }
.strings-chair-action-status .button { flex: 1 1 auto; justify-content: center; }
@media (max-width: 640px) {
    .strings-chair-action-modal { align-items: flex-end; padding: 0; }
    .strings-chair-action-panel { width: 100%; max-height: 92dvh; border-radius: 18px 18px 0 0; animation-name: strings-chair-action-sheet; }
    .strings-chair-action-body { padding-bottom: calc(20px + env(safe-area-inset-bottom)); }
    .strings-chair-action-close { width: 44px; height: 44px; }
}
@keyframes strings-chair-action-sheet { from { transform: translateY(24px); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .strings-chair-action-panel { animation: none; } }
.strings-musician-flight { filter: drop-shadow(0 14px 22px rgb(15 23 42 / 0.28)); }
.strings-musician-animating { opacity: 0.22; }
.dark .strings-chart { --stage-text: #d8e1ef; --stage-line: #334155; --stage-bg: #111c2e; }
.dark .strings-chair-action-panel { background: #111827; color: #f8fafc; border: 1px solid #334155; }
.dark .strings-chair-action-header { border-color: #334155; }
.dark .strings-chair-action-header p { color: #94a3b8; }
.dark .strings-chair-action-close { color: #94a3b8; }
.dark .strings-chair-action-close:hover { background: #1f2937; color: #f8fafc; }
.dark .strings-chair-action-row { background: #111827; border-color: #334155; color: #e5e7eb; }
.dark .strings-chair-action-row:hover { background: #1f2937; border-color: #475569; }
.dark .strings-chair-action-icon { background: #1f2937; color: #cbd5e1; }
.dark .strings-chair-action-chevron { color: #64748b; }
.dark .strings-chair-action-row.is-danger { color: #fca5a5; border-color: #7f1d1d; }
.dark .strings-chair-action-row.is-danger:hover { background: #2a1215; }
.dark .strings-chair-action-row.is-danger .strings-chair-action-icon { background: #450a0a; color: #fca5a5; }
.dark .strings-chair-action-status { background: #2a1d05; border-color: #78350f; }
.dark .strings-chair-action-status > p[role=status] { color: #fcd34d; }
.dark .strings-section[data-section="violin1"] { --section-color: #78a6ff; }
.dark .strings-section[data-section="violin2"] { --section-color: #b695f1; }
.dark .strings-section[data-section="viola"] { --section-color: #69c5b5; }
.dark .strings-section[data-section="cello"] { --section-color: #e3a773; }
.dark .strings-section[data-section="bass"] { --section-color: #e494b7; }
.dark .strings-chair-dot { color: #111827; }
.dark .strings-vacancy .strings-chair-dot { color: var(--section-color); }
.dark .strings-chart-header p, .dark .strings-chart-preset, .dark .strings-chart-footer, .dark .strings-vacancy .strings-chair-name { color: #94a3b8; }
.dark .strings-chart-tools button:hover { background: #334155; }
@media (max-width: 640px) {
    .strings-chart-viewport { max-height: 65vh; }
}

.strings-chair-fee { display: block; font-size: 10px; line-height: 14px; color: #64748b; white-space: nowrap; }
.dark .strings-chair-fee { color: #94a3b8; }

/* Participation is separate from the yellow/green response status. */
.nomination-participation-badge { display: inline-flex; align-items: center; width: fit-content; gap: 4px; padding: 2px 6px; margin: 3px 0; border: 1px solid; border-radius: 999px; font-size: 10px; font-weight: 600; line-height: 14px; white-space: nowrap; }
.nomination-participation-badge.is-full { background: #dbeafe; border-color: #93c5fd; color: #1e40af; }
.nomination-participation-badge.is-partial { background: #ede9fe; border-color: #c4b5fd; color: #5b21b6; }
.dark .nomination-participation-badge.is-full { background: #172554; border-color: #3b82f6; color: #bfdbfe; }
.dark .nomination-participation-badge.is-partial { background: #2e1065; border-color: #8b5cf6; color: #ddd6fe; }


.nomination-part-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 8px; }

/* A common coverage view for strings, winds, percussion and soloists. */
.nomination-coverage-embedded { margin: 20px 0 28px; padding-bottom: 24px; border-bottom: 1px solid #cbd5e1; }
.dark .nomination-coverage-embedded { border-color: #475569; }
.coverage-heading { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:16px; }
.coverage-heading p, .coverage-heading label { font-size:13px; }
.coverage-scroll { overflow:auto; max-height:65vh; border:1px solid #cbd5e1; border-radius:8px; }
.coverage-table { border-collapse:separate; border-spacing:0; width:100%; font-size:13px; }
.coverage-table th, .coverage-table td { padding:8px; border-bottom:1px solid #cbd5e1; border-right:1px solid #e2e8f0; text-align:left; min-width:180px; }
.coverage-table th { background:#f8fafc; }
.coverage-table thead th { position:sticky; top:0; z-index:2; vertical-align:top; }
.coverage-table th:first-child { position:sticky; left:0; z-index:1; min-width:160px; max-width:220px; }
.coverage-table thead th:first-child { z-index:3; }
.coverage-table small, .coverage-table th span { display:block; font-size:11px; font-weight:normal; margin-top:3px; }
.coverage-cell { display:flex; flex-direction:column; gap:4px; width:100%; min-height:52px; padding:8px 10px; border:1px solid; border-radius:6px; text-align:left; font-size:12px; }
.coverage-cell:focus-visible { outline:3px solid #2563eb; outline-offset:2px; }
.coverage-cell.is-empty, .coverage-cell.is-unavailable { background:#fff1f2; border-color:#fda4af; color:#9f1239; }
.coverage-cell.is-contacted, .coverage-cell.is-available { background:#fffbeb; border-color:#fcd34d; color:#92400e; }
.coverage-cell.is-nominated { background:#f0fdf4; border-color:#86efac; color:#166534; }
.coverage-unused { color:#64748b; font-size:12px; }
.coverage-part-heading { border-top: 4px solid var(--part-color, #64748b); }
.coverage-part-heading strong { display:flex; align-items:center; gap:7px; }
.coverage-part-dot { display:inline-block; width:10px; height:10px; border-radius:50%; background:var(--part-color, #64748b); flex-shrink:0; }
.coverage-table td { box-shadow: inset 3px 0 var(--part-color, #64748b); }
.coverage-cell { overflow-wrap:anywhere; }
.dark .coverage-cell.is-empty, .dark .coverage-cell.is-unavailable { background:#4c0519; color:#fecdd3; border-color:#fb7185; }
.dark .coverage-cell.is-contacted, .dark .coverage-cell.is-available { background:#451a03; color:#fef3c7; border-color:#fbbf24; }
.dark .coverage-cell.is-nominated { background:#052e16; color:#dcfce7; border-color:#4ade80; }
.dark .coverage-unused { color:#94a3b8; }
.nomination-coverage.gaps-only [data-has-gap="0"] { display:none; }
.coverage-empty { display:none; font-size:13px; margin-top:12px; }
.nomination-coverage.gaps-only:not(:has([data-has-gap="1"])) .coverage-empty { display:block; }
.dark .coverage-table th { background:#1e293b; }
.dark .coverage-table td, .dark .coverage-table th, .dark .coverage-scroll { border-color:#475569; }
@media (max-width:600px) { .coverage-table th:first-child { min-width:110px; max-width:140px; } }

/* All parts share one physical chair; the detail dialog lists participation. */
.strings-chair .strings-part-summary { gap:2px; }
.strings-chair-coverage { display:block; width:80px; white-space:nowrap; font-size:9px; line-height:12px; text-align:center; }
.strings-part-summary.is-confirmed .strings-chair-dot { background:#dcfce7; border-color:#15803d; border-style:solid; color:#166534; }
.strings-part-summary.is-pending .strings-chair-dot { background:#fef3c7; border-color:#b45309; border-style:solid; color:#92400e; }
.strings-part-summary.is-gap .strings-chair-dot { background:#fff1f2; border-color:#be123c; border-style:dashed; color:#9f1239; }
.strings-part-summary.is-gap .strings-chair-coverage { color:#be123c; font-weight:600; }
.dark .strings-part-summary.is-gap .strings-chair-coverage { color:#fda4af; }

.strings-chair-action-panel:has([data-part-overview]) { width:min(820px,100%); }
.strings-chair-action-panel:has([data-part-overview]) .strings-chair-action-body { gap:12px; }
.part-overview-intro { font-size:13px; color:#64748b; margin:0 0 14px; }
.part-overview-list { display:grid; gap:10px; }
.part-overview-row { border:1px solid #cbd5e1; border-left:4px solid #d97706; border-radius:8px; padding:12px; }
.part-overview-row.is-nominated { border-left-color:#16a34a; }
.part-overview-row.is-empty, .part-overview-row.is-unavailable { border-left-color:#e11d48; }
.part-overview-main { display:grid; grid-template-columns:minmax(120px,1fr) minmax(160px,1.3fr) auto; gap:14px; align-items:start; }
.part-overview-main h4 { margin:0; font-size:14px; }
.part-overview-person > strong { display:block; font-size:14px; }
.part-overview-part small { display:block; font-size:12px; color:#64748b; margin-top:4px; }
.part-overview-status { display:inline-flex; width:fit-content; margin-top:5px; padding:2px 8px; border-radius:999px; font-size:12px; font-weight:600; line-height:18px; background:#fef3c7; color:#92400e; }
.part-overview-row.is-nominated .part-overview-status { background:#dcfce7; color:#166534; }
.part-overview-row.is-empty .part-overview-status, .part-overview-row.is-unavailable .part-overview-status { background:#ffe4e6; color:#9f1239; }
.part-overview-fee { font-size:13px; font-weight:600; white-space:nowrap; font-variant-numeric:tabular-nums; }
.part-overview-actions form .button, .part-overview-actions > .button { justify-content:center; }
.part-overview-actions { margin-top:10px; border-top:1px solid #e2e8f0; padding-top:8px; }
.part-overview-actions > summary.part-overview-toggle { display:inline-flex; width:auto; max-width:100%; gap:6px; list-style:none; cursor:pointer; user-select:none; }
.part-overview-actions > summary.part-overview-toggle::-webkit-details-marker { display:none; }
.part-overview-actions > summary.part-overview-toggle > span { min-width:0; overflow-wrap:anywhere; text-align:left; }
.part-overview-chevron { width:16px; height:16px; margin-left:2px; transition:transform .15s ease; }
.part-overview-actions[open] > summary .part-overview-chevron { transform:rotate(180deg); }
.part-overview-actions + .part-overview-actions { border-top:0; margin-top:6px; padding-top:0; }
@media (prefers-reduced-motion: reduce) { .part-overview-chevron { transition:none; } }
.part-overview-actions form { margin:10px 0; }
.part-overview-fill { margin-top:6px; padding:14px; border:1px solid #cbd5e1; border-radius:10px; background:#f8fafc; }
.part-overview-fill [data-part-offer-form] > label { padding:10px 12px; background:white; border-color:#e2e8f0; cursor:pointer; transition:border-color .12s, background-color .12s; }
.part-overview-fill [data-part-offer-form] > label:hover { border-color:#94a3b8; }
.part-overview-fill [data-part-offer-form] > label:has(:checked) { border-color:var(--color-primary, #2563eb); box-shadow:inset 0 0 0 1px var(--color-primary, #2563eb); }
.part-overview-fill [data-part-offer-form] [type=checkbox] { width:18px; height:18px; flex-shrink:0; }
.part-overview-fill [data-part-offer-form] [type=submit] { width:100%; justify-content:center; }
.dark .part-overview-fill { background:#0f172a; }
.dark .part-overview-fill [data-part-offer-form] > label { background:#111827; border-color:#334155; }
.dark .part-overview-status { background:#451a03; color:#fde68a; }
.dark .part-overview-row.is-nominated .part-overview-status { background:#052e16; color:#bbf7d0; }
.dark .part-overview-row.is-empty .part-overview-status, .dark .part-overview-row.is-unavailable .part-overview-status { background:#4c0519; color:#fecdd3; }
.dark .part-overview-row, .dark .part-overview-actions, .dark .part-overview-fill { border-color:#475569; }
.dark .part-overview-intro, .dark .part-overview-part small { color:#94a3b8; }
@media (max-width:600px) {
  .part-overview-main { grid-template-columns:1fr auto; gap:8px; }
  .part-overview-part { grid-column:1 / -1; }
  .part-overview-person { min-width:0; overflow-wrap:anywhere; }
}
.dark .part-overview-row.is-nominated { border-left-color:#4ade80; }
.dark .part-overview-row.is-contacted, .dark .part-overview-row.is-available { border-left-color:#fbbf24; }
.dark .part-overview-row.is-empty, .dark .part-overview-row.is-unavailable { border-left-color:#fb7185; }
.part-player-position-dialog {
  width: min(38rem, calc(100vw - 2rem));
  max-height: calc(100dvh - 2rem);
  overflow-y: auto;
  border: 1px solid #d1d5db;
  border-radius: 1rem;
  padding: 1.5rem;
  background: #fff;
  color: #111827;
  margin: auto;
}
.part-player-position-dialog::backdrop { background: rgb(0 0 0 / .55); }
.part-player-position-dialog form { display: grid; gap: 1rem; }
.part-player-position-dialog h3 { font-size: 1.2rem; font-weight: 700; }
.part-player-position-row { display: grid; gap: .5rem; min-width: 0; padding: 1rem; border: 1px solid #d1d5db; border-radius: .75rem; }
.part-player-position-row select { width: 100%; min-width: 0; min-height: 44px; padding: .5rem; border: 1px solid #9ca3af; border-radius: .5rem; background: inherit; color: inherit; }
.part-player-position-row small { color: #6b7280; }
.part-player-position-dialog .button-area { display: flex; flex-wrap: wrap; gap: .75rem; }
.part-player-position-dialog .button { white-space: normal; min-height: 44px; }
.dark .part-player-position-dialog { background: #1f2937; color: #f3f4f6; border-color: #4b5563; }
.dark .part-player-position-row { border-color: #4b5563; }
.dark .part-player-position-row small { color: #d1d5db; }

/* Dedicated nomination page: schedule -> part coverage -> seat actions. */
.nomination-project-page .project-header h1 { overflow-wrap:anywhere; }
.nomination-project-page .nomination-section-heading { flex-wrap:wrap; gap:12px; }
.nomination-project-page .nomination-section-tools { flex-wrap:wrap; }
.nomination-project-meta { display:flex; flex-wrap:wrap; align-items:center; gap:8px 20px; color:#64748b; font-size:13px; }
.nomination-project-meta a, .nomination-workspace-intro > a { color:var(--color-primary, #2563eb); font-weight:600; }
.nomination-plan-heading { display:flex; align-items:start; justify-content:space-between; flex-wrap:wrap; gap:16px; }
.nomination-plan-heading p { color:#64748b; font-size:13px; margin-top:6px; max-width:650px; }
.nomination-eyebrow { display:block; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:#64748b; margin-bottom:6px; }
.nomination-plan-parts { margin:20px 0; }
.nomination-plan-tour-summary { display:flex; flex-wrap:wrap; gap:8px 20px; margin-top:12px; font-size:12px; }
.nomination-plan-all { margin-bottom:12px; }
.nomination-part-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr)); gap:12px; }
.nomination-part-card { display:flex; flex-direction:column; gap:6px; padding:16px; border:1px solid #cbd5e1; border-top:5px solid var(--part-color,#64748b); border-radius:12px; background:#f8fafc; color:#0f172a; overflow-wrap:anywhere; }
.nomination-part-card strong { font-size:17px; }
.nomination-part-card span, .nomination-part-card small { font-size:12px; }
.nomination-part-card small { color:#64748b; margin-top:6px; }
.nomination-part-card:hover, .nomination-part-card:focus-visible, .nomination-part-card.is-active { outline:2px solid var(--part-color,#64748b); outline-offset:2px; }
.nomination-plan-schedule > summary { cursor:pointer; font-weight:650; padding:12px 0; border-top:1px solid #e2e8f0; }
.nomination-plan-days { display:grid; gap:10px; margin-top:8px; }
.nomination-plan-day { display:grid; grid-template-columns:115px minmax(0,1fr); gap:16px; }
.nomination-plan-day h3 { font-size:13px; padding-top:14px; font-weight:700; }
.nomination-plan-day ol { margin:0; padding:0; list-style:none; }
.nomination-plan-event { display:grid; grid-template-columns:88px minmax(0,1fr) minmax(90px,160px); gap:12px; padding:8px 10px; border-left:4px solid var(--part-color,#cbd5e1); border-bottom:1px solid #e2e8f0; }
.nomination-plan-time { font-weight:650; font-size:13px; }
.nomination-plan-time small, .nomination-plan-unassigned small { display:block; font-size:11px; font-weight:400; }
.nomination-plan-event-info { display:flex; flex-direction:column; gap:2px; font-size:13px; min-width:0; overflow-wrap:anywhere; }
.nomination-plan-event-info small { color:#64748b; font-size:11px; }
.nomination-plan-part-label { align-self:start; font-size:12px; font-weight:650; border:1px solid #cbd5e1; border-left:5px solid var(--part-color,#64748b); border-radius:7px; padding:5px 8px; color:#0f172a; background:#f8fafc; overflow-wrap:anywhere; }
.nomination-plan-unassigned { align-self:start; color:#64748b; font-size:11px; }
.nomination-plan-notice { background:#fffbeb; color:#92400e; border:1px solid #fcd34d; border-radius:8px; padding:10px 12px; font-size:12px; margin:12px 0; }
.nomination-workspace-intro { padding:8px 0 16px; font-size:13px; }
.nomination-workspace-intro p { margin-bottom:6px; }
#nomination-plan, #nomination-workspace { scroll-margin-top:90px; }
.dark .nomination-project-meta, .dark .nomination-plan-heading p, .dark .nomination-eyebrow, .dark .nomination-part-card small, .dark .nomination-plan-event-info small, .dark .nomination-plan-unassigned { color:#a5b4c8; }
.dark .nomination-part-card, .dark .nomination-plan-part-label { background:#182230; color:#f1f5f9; border-color:#475569; border-left-color:var(--part-color,#475569); }
.dark .nomination-part-card { border-top-color:var(--part-color,#475569); }
.dark .nomination-plan-event { border-bottom-color:#37475c; }
.dark .nomination-plan-schedule > summary { border-color:#37475c; }
.dark .nomination-plan-notice { background:#451a03; color:#fde68a; border-color:#92400e; }
@media(max-width:640px) {
  .nomination-plan-day { grid-template-columns:1fr; gap:4px; }
  .nomination-plan-event { grid-template-columns:72px minmax(0,1fr); gap:8px; padding:12px 8px; }
  .nomination-plan-attendance { grid-column:2; justify-self:start; }
  .nomination-plan-heading > .button { width:100%; }
}

.nomination-plan-schedule > summary > span { font-weight:400; }
.nomination-plan-schedule > summary > small { margin-left:12px; font-size:12px; font-weight:400; }
.nomination-schedule-collapse, .nomination-plan-schedule[open] .nomination-schedule-expand { display:none; }
.nomination-plan-schedule[open] .nomination-schedule-collapse { display:inline; }
.nomination-plan-attendance { display:flex; flex-direction:column; align-items:start; gap:5px; min-width:0; }
.nomination-plan-travel-groups { display:flex; flex-wrap:wrap; gap:3px; }
.nomination-plan-travel-groups > small { width:100%; font-size:10px; color:#64748b; }
.nomination-plan-group { font-size:11px; border:1px solid #cbd5e1; border-left:3px solid var(--part-color,#94a3b8); border-radius:4px; padding:2px 5px; overflow-wrap:anywhere; max-width:100%; }
.dark .nomination-plan-travel-groups > small { color:#a5b4c8; }
.dark .nomination-plan-group { border-color:#475569; border-left-color:var(--part-color,#94a3b8); }

/* Direct nomination modal (partials/_add_player_modal.html): same look as the seat modal. */
.nom-modal { z-index: 60; background: rgb(15 23 42 / 0.42); }
.modal.nom-modal .modal-center { padding-block: 20px; }
.modal .modal-content.nom-modal-panel { max-width: 480px; padding: 0; border-radius: 14px; box-shadow: 0 24px 70px rgb(15 23 42 / 0.28); animation: strings-chair-action-in .16s ease-out; }
.nom-modal-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 16px 16px 14px 20px; border-bottom: 1px solid #e5e7eb; }
.modal .modal-content .nom-modal-header h2 { margin: 0 0 3px; font-size: 18px; font-weight: 650; line-height: 1.25; letter-spacing: -.01em; }
.nom-modal-header p { margin: 0; color: #64748b; font-size: 13px; }
.nom-modal-header p:empty { display: none; }
.nom-modal-close { flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; margin: -4px -4px 0 0; border-radius: 999px; color: #64748b; }
.nom-modal-close svg { width: 20px; height: 20px; }
.nom-modal-close:hover { background: #f1f5f9; color: #111827; }
.add-player-body { display: grid; gap: 14px; padding: 18px 20px 20px; }
.add-player-step { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; font-size: 14px; font-weight: 600; color: #1f2937; }
.add-player-step-icon { width: 18px; height: 18px; color: #64748b; }
.add-player-divider { display: flex; align-items: center; gap: 12px; font-size: 11px; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; color: #94a3b8; }
.add-player-divider::before, .add-player-divider::after { content: ""; flex: 1; height: 1px; background: #e5e7eb; }
.add-player-new { border: 1px solid #e5e7eb; border-radius: 10px; }
.add-player-new[open] { border-color: #cbd5e1; }
.add-player-new-toggle { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 7px 12px 7px 8px; list-style: none; cursor: pointer; user-select: none; border-radius: 10px; font-size: 14px; font-weight: 500; color: #1f2937; }
.add-player-new-toggle::-webkit-details-marker, .add-player-more-toggle::-webkit-details-marker { display: none; }
.add-player-new-toggle:hover { background: #f8fafc; }
.add-player-new[open] > .add-player-new-toggle { border-bottom: 1px solid #e5e7eb; border-radius: 10px 10px 0 0; }
.add-player-new-toggle:focus-visible, .add-player-more-toggle:focus-visible { outline: 3px solid var(--color-primary, #3b82f6); outline-offset: 2px; }
.add-player-new-icon { flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 8px; background: #f1f5f9; color: #475569; }
.add-player-new-icon svg { width: 18px; height: 18px; }
.add-player-new-label { flex: 1; min-width: 0; }
.add-player-chevron { flex-shrink: 0; width: 16px; height: 16px; color: #94a3b8; transition: transform .15s ease; }
details[open] > summary > .add-player-chevron { transform: rotate(180deg); }
.add-player-new-fields { padding: 14px 12px 12px; }
.add-player-new > .add-player-duplicate { margin: 0 12px 12px; }
.add-player-more { border-top: 1px dashed #e5e7eb; padding-top: 10px; }
.add-player-more-toggle { display: inline-flex; align-items: center; gap: 6px; padding: 4px 8px 4px 4px; margin-left: -4px; list-style: none; cursor: pointer; border-radius: 6px; font-size: 13px; font-weight: 500; color: #475569; }
.add-player-more-toggle:hover { background: #f1f5f9; color: #1f2937; }
.add-player-notify { display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px; border-radius: 10px; background: #f8fafc; font-size: 14px; color: #374151; cursor: pointer; }
.add-player-notify input { width: 18px; height: 18px; margin-top: 1px; flex-shrink: 0; accent-color: var(--color-primary, #2563eb); }
.nom-modal-footer { display: flex; justify-content: flex-end; gap: 8px; padding: 12px 20px; border-top: 1px solid #e5e7eb; border-radius: 0 0 14px 14px; background: #f8fafc; }
.dark .nom-modal-header, .dark .nom-modal-footer, .dark .add-player-new, .dark .add-player-new[open] > .add-player-new-toggle, .dark .add-player-more { border-color: #334155; }
.dark .nom-modal-header p { color: #94a3b8; }
.dark .nom-modal-close { color: #94a3b8; }
.dark .nom-modal-close:hover, .dark .add-player-more-toggle:hover, .dark .add-player-new-toggle:hover { background: #1f2937; color: #f8fafc; }
.dark .add-player-step, .dark .add-player-new-toggle { color: #e5e7eb; }
.dark .add-player-divider::before, .dark .add-player-divider::after { background: #334155; }
.dark .add-player-new-icon { background: #1f2937; color: #cbd5e1; }
.dark .add-player-more-toggle { color: #94a3b8; }
.dark .add-player-notify, .dark .nom-modal-footer { background: #0f172a; color: #d1d5db; }
@media (max-width: 640px) {
    .modal.nom-modal .modal-center { align-items: flex-end; min-height: 100dvh; padding: 0; }
    .modal .modal-content.nom-modal-panel { max-width: none; border-radius: 18px 18px 0 0; animation-name: strings-chair-action-sheet; }
    .nom-modal-close { width: 44px; height: 44px; }
    .nom-modal-footer { position: sticky; bottom: 0; border-radius: 0; padding-bottom: calc(12px + env(safe-area-inset-bottom)); }
    .nom-modal-footer .button { flex: 1; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) { .modal .modal-content.nom-modal-panel { animation: none; } .add-player-chevron { transition: none; } }

/* "Kontaktovat hráče" / Dostupnost a zprávy (partials/_contact_players_modal.html, contactPlayers.js). */
.modal .modal-content.contact-players-panel { max-width: 720px; display: flex; flex-direction: column; }
.contact-players-search { position: relative; padding: 14px 20px 10px; }
.contact-players-search svg { position: absolute; left: 32px; top: 50%; width: 18px; height: 18px; margin-top: 2px; transform: translateY(-50%); color: #94a3b8; pointer-events: none; }
.contact-players-search input { width: 100%; height: 44px; padding-left: 40px; border-radius: 10px; }
.contact-players-list { display: grid; gap: 8px; align-content: start; max-height: min(60vh, 560px); overflow-y: auto; padding: 4px 20px 20px; overscroll-behavior: contain; }
.contact-players-new { flex-shrink: 0; padding: 0 20px 16px; }
.contact-players-new .add-player-new[open] { max-height: min(50vh, 520px); overflow-y: auto; overscroll-behavior: contain; }
.contact-players-panel:has(.add-player-new[open]) .contact-players-list { max-height: min(30vh, 280px); }
.contact-players-empty { margin: 0; padding: 28px 0; text-align: center; font-size: 14px; color: #64748b; }
.contact-players-empty.is-error { color: #b91c1c; }
.contact-group-heading { position: sticky; top: -4px; z-index: 1; display: flex; align-items: center; gap: 8px; margin: 8px -4px 0; padding: 8px 4px 4px; background: white; font-size: 11px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: #64748b; }
.contact-group-heading:first-child { margin-top: 0; }
button.contact-group-toggle { width: calc(100% + 8px); border: 0; text-align: left; cursor: pointer; font-family: inherit; }
.contact-group-toggle:hover { color: #334155; }
.contact-group-toggle svg { width: 12px; height: 12px; flex-shrink: 0; transition: transform .15s; }
.contact-group-toggle[aria-expanded="true"] svg { transform: rotate(90deg); }
.contact-group-body { display: contents; }
.contact-group-body[hidden] { display: none; }
.contact-group-count { padding: 0 7px; border-radius: 999px; background: #f1f5f9; font-size: 11px; line-height: 18px; letter-spacing: 0; color: #475569; font-variant-numeric: tabular-nums; }
.contact-row { display: grid; gap: 8px; padding: 10px 12px; border: 1px solid #e5e7eb; border-left: 3px solid #e5e7eb; border-radius: 10px; background: white; font-size: 14px; transition: border-color .12s; }
.contact-row:hover { border-color: #cbd5e1; }
.contact-row.is-pending { border-left-color: #f59e0b; background: #fffdf5; }
.contact-row.is-assigned { border-left-color: #16a34a; }
.contact-row.is-blocked { background: #f8fafc; }
.contact-row.is-blocked .contact-row-name, .contact-row.is-blocked .contact-avatar { opacity: .6; }
/* The row wraps when the actions (sent badge + buttons) do not fit beside the name; the name column keeps a
   real minimum width so it never collapses to one letter per line. */
.contact-row-top { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 10px; }
.contact-avatar { flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 999px; background: color-mix(in srgb, var(--color-primary, #2563eb) 12%, white); color: var(--color-primary, #2563eb); font-size: 12px; font-weight: 700; letter-spacing: .02em; }
.contact-row-who { flex: 1 1 12rem; min-width: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; }
.contact-row-name { font-weight: 600; color: #111827; overflow-wrap: anywhere; }
.contact-row-phone { font-size: 12px; color: #94a3b8; font-variant-numeric: tabular-nums; }
.contact-row-chips { flex-basis: 100%; display: flex; flex-wrap: wrap; gap: 4px; margin-top: 3px; }
.contact-chip { display: inline-flex; align-items: center; max-width: 100%; padding: 1px 8px; border-radius: 999px; background: #f1f5f9; color: #475569; font-size: 12px; font-weight: 500; line-height: 18px; overflow-wrap: anywhere; }
.contact-chip:empty { display: none; }
.contact-chip.is-success { background: #dcfce7; color: #166534; }
.contact-chip.is-pending { background: #fef3c7; color: #92400e; }
.contact-chip.is-danger { background: #ffe4e6; color: #9f1239; }
.contact-row-actions { flex: 0 1 auto; min-width: 0; margin-left: auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 6px; }
.contact-row-actions .button { gap: 5px; }
.contact-row-actions .btn-icon { width: 16px; height: 16px; }
.contact-sent { font-size: 12px; color: #64748b; }
.contact-sent:empty { display: none; }
.contact-row-line { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding-left: 44px; }
.contact-row-line.hidden { display: none; }
.contact-row-part { padding-top: 8px; border-top: 1px dashed #e5e7eb; }
.contact-row-part-label { font-size: 13px; font-weight: 600; margin-right: 4px; }
.contact-cancel-offer { margin-left: auto; }
.contact-row-select { width: auto; min-width: 12rem; max-width: 100%; padding: 4px 32px 4px 10px; font-size: 13px; }
@media (max-width: 640px) {
    .modal .modal-content.contact-players-panel { max-height: 94dvh; }
    .contact-players-list { max-height: none; flex: 1; min-height: 0; }
    .contact-row-top { flex-wrap: wrap; }
    .contact-row-actions { flex-basis: 100%; margin-left: 0; justify-content: flex-start; padding-left: 44px; }
    .contact-row-line { padding-left: 0; }
    .contact-cancel-offer { margin-left: 0; }
}
.dark .contact-group-heading { background: #111827; color: #94a3b8; }
.dark .contact-group-toggle:hover { color: #e2e8f0; }
.dark .contact-group-count, .dark .contact-chip { background: #1f2937; color: #cbd5e1; }
.dark .contact-row { background: #111827; border-color: #334155; }
.dark .contact-row.is-pending { background: #1c1606; border-left-color: #f59e0b; }
.dark .contact-row.is-assigned { border-left-color: #4ade80; }
.dark .contact-row.is-blocked { background: #0f172a; }
.dark .contact-row-name { color: #f3f4f6; }
.dark .contact-avatar { background: #1e293b; color: #93c5fd; }
.dark .contact-row-part { border-color: #334155; }
.dark .contact-chip.is-success { background: #052e16; color: #bbf7d0; }
.dark .contact-chip.is-pending { background: #451a03; color: #fde68a; }
.dark .contact-chip.is-danger { background: #4c0519; color: #fecdd3; }
.dark .contact-players-empty, .dark .contact-sent { color: #94a3b8; }

/* Player contact card inside the seat popup (partials/_player_contact_card.html). */
.player-card { display: grid; gap: 12px; }
.player-card-head { display: flex; align-items: flex-start; gap: 12px; }
.player-card-avatar { width: 44px; height: 44px; font-size: 15px; text-transform: uppercase; }
.player-card-who { flex: 1; min-width: 0; display: grid; gap: 2px; }
.player-card-who > strong { font-size: 16px; color: #111827; overflow-wrap: anywhere; }
.player-card-who > span { font-size: 13px; color: #64748b; }
.player-card-chips { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
.player-card-contacts { display: grid; gap: 6px; }
.player-card-line { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 7px 10px 7px 8px; border: 1px solid #e5e7eb; border-radius: 10px; background: white; color: #1f2937; text-decoration: none; }
.player-card-line:hover { background: #f8fafc; border-color: #cbd5e1; }
.player-card-value { min-width: 0; display: grid; font-size: 14px; font-weight: 500; overflow-wrap: anywhere; }
.player-card-value small, .player-card-note small { font-size: 11px; font-weight: 600; letter-spacing: .03em; text-transform: uppercase; color: #64748b; }
.player-card-quick { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 4px 0 6px; }
.player-card-quick .button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 14px; white-space: nowrap; }
.player-card-quick .button .btn-icon { width: 18px; height: 18px; flex-shrink: 0; }
.player-card-empty { margin: 0; font-size: 14px; color: #64748b; }
.player-card-facts { display: grid; grid-template-columns: auto 1fr; gap: 4px 12px; margin: 0; font-size: 13px; }
.player-card-facts dt { color: #64748b; }
.player-card-facts dd { margin: 0; color: #1f2937; overflow-wrap: anywhere; }
.player-card-note { display: grid; gap: 2px; padding: 10px 12px; border-radius: 10px; background: #fffbeb; color: #78350f; font-size: 14px; white-space: pre-line; }
.player-card-loading { margin: 0; font-size: 14px; color: #64748b; }
.dark .player-card-who > strong, .dark .player-card-facts dd { color: #f8fafc; }
.dark .player-card-line { background: #111827; border-color: #334155; color: #e5e7eb; }
.dark .player-card-line:hover { background: #1f2937; border-color: #475569; }
.dark .player-card-note { background: #2a1f0a; color: #fde68a; }
.player-card-row { display: flex; gap: 6px; }
.player-card-row > .player-card-line { flex: 1; min-width: 0; }
.player-card-copy { flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; width: 48px; border: 1px solid #e5e7eb; border-radius: 10px; background: white; color: #475569; }
.player-card-copy:hover { background: #f8fafc; border-color: #cbd5e1; }
.player-card-copy svg { width: 18px; height: 18px; }
.player-card-copy.is-copied { color: #15803d; border-color: #86efac; }
.player-card-project { display: grid; gap: 6px; padding: 10px 12px; border: 1px solid #e5e7eb; border-radius: 10px; background: #f8fafc; }
.player-card-project > small { font-size: 11px; font-weight: 600; letter-spacing: .03em; text-transform: uppercase; color: #64748b; overflow-wrap: anywhere; }
.player-card-project ul { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.player-card-project li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 10px; font-size: 14px; }
.player-card-project-what { min-width: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; }
.player-card-project-what > span { font-size: 13px; color: #64748b; }
.player-card-project p { margin: 0; font-size: 14px; color: #64748b; }
.dark .player-card-copy { background: #111827; border-color: #334155; color: #cbd5e1; }
.dark .player-card-copy:hover { background: #1f2937; border-color: #475569; }
.dark .player-card-project { background: #0f172a; border-color: #334155; }

/* "Interní poznámka" editor in the seat action popup. */
.strings-chair-note-form { display: grid; gap: 10px; }
.strings-chair-note-form textarea { width: 100%; min-height: 110px; resize: vertical; }
.strings-chair-note-form .strings-chair-note-hint { margin: 0; color: #64748b; font-size: 12px; }
.strings-chair-note-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.strings-chair-action-note { margin: 0 0 4px; padding: 8px 10px; border-left: 3px solid #0369a1; border-radius: 6px; background: #f0f9ff; color: #0c4a6e; font-size: 13px; white-space: pre-line; overflow-wrap: anywhere; }
.dark .strings-chair-action-note { background: #082f49; color: #e0f2fe; border-color: #7dd3fc; }
.part-overview-note-form { margin-top: 8px; }
.part-overview-note-form textarea { min-height: 64px; }
