#group-view { padding: 10px 0 70px; color: var(--ink); }
.group-summary { margin: 0 0 20px; padding: 14px 17px; border-left: 2px solid var(--teal); background: var(--inset); color: var(--ink); font-size: 14px; }
.group-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 350px); gap: 18px; align-items: start; }
.group-catalog, .group-editor { min-width: 0; padding: 20px; border: 1px solid var(--line); background: var(--surface); }
.group-editor { position: sticky; top: 20px; max-height: calc(100vh - 40px); overflow-y: auto; border-top: 2px solid var(--teal); }
.group-editor h2 { margin: 0 0 8px; font: normal 29px "Palatino Linotype", Georgia, serif; overflow-wrap: anywhere; }
.group-editor h3 { margin: 22px 0 10px; font: normal 18px "Palatino Linotype", Georgia, serif; }
.group-editor > code { display: block; color: var(--muted); font-size: 12px; }
.group-editor-status { margin: 16px 0 0; color: var(--teal); font-size: 13px; font-weight: 700; }
.group-filter-grid { display: grid; grid-template-columns: minmax(180px, 1.3fr) repeat(3, minmax(120px, 1fr)); gap: 9px; }
.group-filter-grid label { display: flex; flex-direction: column; gap: 6px; color: var(--muted); font-size: 11px; font-weight: 700; letter-spacing: .04em; }
.group-filter-grid input, .group-filter-grid select, .group-primary-label select { width: 100%; min-width: 0; min-height: 39px; padding: 7px 9px; border: 1px solid var(--frame); background: var(--paper); color: var(--ink); font: inherit; font-size: 13px; }
.group-batch-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-top: 15px; padding: 12px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.group-batch-bar button, .group-show-more, .group-inspect, .group-editor button, .group-dialog-actions button { min-height: 37px; padding: 7px 10px; border: 1px solid var(--frame); background: var(--inset); color: var(--ink); font: inherit; font-size: 12px; cursor: pointer; }
.group-batch-bar button:hover, .group-show-more:hover, .group-inspect:hover, .group-editor button:hover, .group-dialog-actions button:hover { border-color: var(--teal); background: var(--paper); }
.group-batch-bar button:disabled { opacity: .48; cursor: not-allowed; }
.group-batch-bar span { color: var(--muted); font-size: 12px; }
.group-batch-bar #group-batch-approve { margin-left: auto; border-color: var(--teal); }
.group-list-summary { margin: 14px 0 9px; color: var(--muted); font-size: 12px; }
.group-list { display: grid; gap: 6px; }
.group-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 11px 12px; border: 1px solid var(--line); background: var(--paper); }
.group-row.is-active { border-color: var(--teal); box-shadow: inset 3px 0 var(--teal); }
.group-row > input { width: 17px; height: 17px; accent-color: var(--teal); }
.group-row-main { min-width: 0; }
.group-row-top { display: flex; flex-wrap: wrap; align-items: baseline; gap: 5px 10px; }
.group-row-top strong { font: normal 17px "Palatino Linotype", Georgia, serif; }
.group-row-top code { color: var(--muted); font-size: 11px; }
.group-row small { display: block; margin-top: 3px; color: var(--muted); overflow-wrap: anywhere; }
.group-row .group-row-status { color: var(--teal); }
.group-show-more { width: 100%; margin-top: 12px; }
.group-evidence { margin: 0; padding-left: 17px; color: var(--muted); font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.group-evidence li + li { margin-top: 6px; }
.group-provenance { padding: 10px; border-left: 2px solid var(--teal); background: var(--inset); font-size: 12px; line-height: 1.5; }
.group-editor-form { margin-top: 21px; padding-top: 4px; border-top: 1px solid var(--line); }
.group-check { display: flex; align-items: center; gap: 9px; padding: 5px 0; font-size: 13px; cursor: pointer; }
.group-check input { accent-color: var(--teal); }
.group-swatch { width: 14px; height: 14px; border: 1px solid var(--line); border-radius: 50%; }
.group-primary-label { display: flex; flex-direction: column; gap: 6px; margin: 12px 0; color: var(--muted); font-size: 12px; }
.group-save { width: 100%; border-color: var(--teal) !important; font-weight: 700 !important; }
.group-editor-actions { display: grid; gap: 7px; margin-top: 12px; padding-top: 13px; border-top: 1px solid var(--line); }
.group-editor-actions .group-clear { color: var(--muted); }
.group-message { margin: 16px 0 0; padding: 10px 13px; border-left: 2px solid var(--teal); background: var(--inset); color: var(--ink); font-size: 13px; }
.group-message.is-error { border-color: #c96a4b; }
.group-batch-dialog { width: min(530px, calc(100vw - 32px)); padding: 24px; border: 1px solid var(--frame); background: var(--surface); color: var(--ink); box-shadow: 0 22px 60px #03101b99; }
.group-batch-dialog::backdrop { background: #051821b8; }
.group-batch-dialog h2 { margin: 0 0 12px; font: normal 26px "Palatino Linotype", Georgia, serif; }
.group-batch-dialog p { line-height: 1.6; }
.group-dialog-actions { display: flex; justify-content: end; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
#group-batch-confirm { border-color: var(--teal); font-weight: 700; }
@media (max-width: 1000px) { .group-layout { grid-template-columns: minmax(0, 1fr); } .group-editor { position: static; max-height: none; } .group-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .group-catalog, .group-editor { padding: 14px; } .group-filter-grid { grid-template-columns: minmax(0, 1fr); } .group-row { grid-template-columns: auto minmax(0, 1fr); } .group-inspect { grid-column: 2; justify-self: start; } }
