.sources-tabs, .library-filters, .library-pagination { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2); margin-bottom: var(--space-4); }
.sources-tabs { padding-bottom: var(--space-3); border-bottom: var(--hairline); }
.library-toolbar { display: flex; align-items: end; flex-wrap: wrap; gap: var(--space-3); margin-bottom: var(--space-4); }
.library-search { flex: 1 1 320px; min-width: 0; }
.library-search > div { display: flex; gap: var(--space-2); }
.library-search input { min-width: 0; }
.library-search input, .guidance-search input, .guidance-search select { width: 100%; min-width: 0; min-height: 42px; padding: 10px 12px; border: var(--hairline); border-radius: 9px; background: var(--color-surface); color: var(--color-on-surface); font: inherit; }
.library-search input:focus, .guidance-search input:focus, .guidance-search select:focus { outline: 2px solid var(--color-accent-soft); border-color: var(--color-primary); }
.library-search .button { flex-shrink: 0; }
.library-search label, .guidance-search label { display: block; margin-bottom: var(--space-2); }
.library-location { color: var(--color-primary-strong); font-size: var(--ui-small); overflow-wrap: anywhere; }
.library-count { color: var(--color-muted); font-size: var(--ui-small); margin-bottom: var(--space-3); }
.library-pagination { margin-top: var(--space-4); }
.guidance-search > div { flex: 1 1 180px; min-width: 0; }
.guidance-search > div:first-child { flex-grow: 2; }
.guidance-page { padding: var(--space-5); }
.guidance-dialog { width: min(760px, calc(100vw - 24px)); max-height: calc(100dvh - 32px); overflow: auto; }
.guidance-dialog [data-guidance-content] { min-width: 0; }
.guidance-dialog__close { position: absolute; z-index: 2; top: var(--space-3); right: var(--space-3); display: grid; place-items: center; width: 40px; min-width: 40px; height: 40px; min-height: 40px; padding: 0; font-size: 1.5rem; line-height: 1; }
.guidance-dialog:not(.guidance-dialog--document) [data-guidance-content] > h2 { padding-right: 44px; }
html:has([data-guidance-dialog][open]) { overflow: hidden; }
.guidance-dialog.guidance-dialog--document { width: min(1120px, calc(100vw - 32px)); height: min(860px, calc(100dvh - 32px)); max-height: calc(100dvh - 32px); padding: 0; overflow: hidden; }
.guidance-dialog--document [data-guidance-dialog-body], .guidance-dialog--document .adaptation-guide { height: 100%; min-height: 0; }
.guidance-dialog--document [data-guidance-dialog-body] { overflow: hidden; }
.guidance-dialog--document .adaptation-guide { display: grid; grid-template-rows: auto minmax(0, 1fr); }
.guidance-dialog .guide-page-back { display: none; }
.adaptation-guide__header { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-4) 68px var(--space-4) var(--space-4); border-bottom: var(--hairline); }
.adaptation-guide__header > div { min-width: 0; }
.adaptation-guide__header h2 { margin-block: var(--space-2); }
.adaptation-guide__title { margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: var(--ui-small); color: var(--color-muted); }
.adaptation-guide__count { margin: var(--space-2) 0 0; font-size: var(--ui-small); color: var(--color-muted); }
.adaptation-guide__layout { display: grid; grid-template-columns: 240px minmax(0, 1fr); min-height: 0; }
.adaptation-guide__layout--no-map { grid-template-columns: minmax(0, 1fr); }
.adaptation-guide__index { display: flex; flex-direction: column; align-items: stretch; gap: var(--space-2); min-height: 0; padding: var(--space-4); border-right: var(--hairline); background: var(--color-bg-alt); overflow-y: auto; overscroll-behavior: contain; }
.adaptation-guide__index .button { flex: none; justify-content: space-between; gap: var(--space-2); text-align: left; min-height: 44px; padding: var(--space-2) var(--space-3); }
.adaptation-guide__index .button span { min-width: 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.adaptation-guide__index .button small { flex: none; color: var(--color-muted); }
.adaptation-guide__index .button[aria-current="location"] { border-color: var(--color-primary); background: var(--color-accent-soft); color: var(--color-primary-strong); }
.adaptation-guide__reading { min-height: 0; min-width: 0; padding: var(--space-4) var(--space-5); overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.adaptation-guide__intro { color: var(--color-muted); margin-bottom: var(--space-5); line-height: 1.6; }
.adaptation-guide__entry { margin-block: var(--space-3); padding: var(--space-4); border: var(--hairline); border-radius: var(--radius-base); background: var(--color-surface); overflow-wrap: anywhere; }
.adaptation-guide__entry-heading { display: flex; flex-wrap: wrap; align-items: start; justify-content: space-between; gap: var(--space-2); margin-bottom: var(--space-3); }
.adaptation-guide__entry-heading h4 { margin: 0; font-size: var(--ui-font); }
.adaptation-guide__entry-heading .mini-tag { margin: 0; white-space: normal; }
.adaptation-guide__entry p { margin-block: var(--space-3); line-height: 1.6; }
.adaptation-guide__entry blockquote { margin-inline: 0; padding: var(--space-3); border-left: 3px solid var(--color-primary); background: var(--color-bg-alt); }
.adaptation-guide__entry code { white-space: normal; }
.adaptation-guide__group { scroll-margin-top: var(--space-4); margin-bottom: var(--space-5); }
.adaptation-guide__group > h3 { font-size: var(--ui-subtitle); line-height: 1.4; margin-bottom: var(--space-3); padding-bottom: var(--space-3); border-bottom: var(--hairline); }
@media (max-width: 700px) {
  .guidance-dialog.guidance-dialog--document { width: calc(100vw - 16px); height: calc(100dvh - 16px); max-height: calc(100dvh - 16px); margin: 8px; padding: 0; }
  .adaptation-guide__index { display: none; }
  .adaptation-guide__layout { grid-template-columns: minmax(0, 1fr); }
  .adaptation-guide__header { display: block; padding: var(--space-3) 60px var(--space-3) var(--space-3); }
  .adaptation-guide__header h2 { font-size: var(--ui-title); }
  .guidance-dialog .adaptation-guide__header .form-actions { margin: var(--space-3) 0 0; }
  .adaptation-guide__reading { padding: var(--space-3); }
  .adaptation-guide__entry { padding: var(--space-3); }
}
.message-sources { margin-block: var(--space-3); }
.message-sources summary, .document-pieces summary { cursor: pointer; font-weight: 600; }
.message-sources__content { padding-block: var(--space-3); }
.message-sources__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-block-start: var(--space-4); }
.consumption-table { width: 100%; border-collapse: collapse; font-size: .75rem; }
.consumption-table th, .consumption-table td { padding: 8px 5px; border-bottom: 1px solid var(--color-line); text-align: end; vertical-align: top; }
.consumption-table th:first-child { text-align: start; }
.consumption-table tbody th { font-weight: 400; }
.consumption-table td:last-child { white-space: nowrap; }
.consumption-table tfoot { font-weight: 600; }
.message-sources__hide, .message-sources[open] .message-sources__show { display: none; }
.message-sources[open] .message-sources__hide { display: inline; }
.document-pieces { flex-basis: 100%; }
.document-pieces__links { display: flex; flex-wrap: wrap; gap: var(--space-2); padding-block: var(--space-3); }
.work-plan__identity input, .work-plan__identity select, .work-plan__identity textarea { width: 100%; max-width: 100%; }
.guidance-form .form-actions, .guidance-dialog .form-actions, .guidance-page .form-actions { display: flex; gap: var(--space-2); flex-wrap: wrap; margin-block: var(--space-4); }
.guidance-form .button, .guidance-dialog .button, .guidance-page .button { white-space: normal; }
.guidance-import { display: grid; gap: var(--space-2); padding: var(--space-3); margin-block: var(--space-4); background: var(--color-bg-alt); border: var(--hairline); border-radius: var(--radius-base); }
.guidance-import input { width: 100%; min-width: 0; }
.guidance-import p, .guidance-form small { color: var(--color-muted); font-size: var(--ui-small); }
.guidance-body { white-space: pre-wrap; overflow-wrap: anywhere; margin-block: var(--space-4); }
.template-section { margin-block: 22px; padding-block: 16px; border-block: 1px solid var(--color-line); }
.template-scope { padding: 12px 0; color: var(--color-muted); }
.template-actions, .model-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.template-file-list { list-style: none; padding: 0; margin: 12px 0 22px; }
.template-file-list li { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--color-line); }
.template-file-list li > span { min-width: 0; overflow-wrap: anywhere; }
.template-file-list .button { flex-shrink: 0; }
.template-toggle { display: flex; align-items: center; gap: 12px; cursor: pointer; font-weight: 650; }
.template-switch { appearance: none; width: 42px !important; height: 24px; min-width: 42px; padding: 0 !important; border-radius: 20px !important; background: var(--color-bg-alt); border: 1px solid var(--color-line-strong); position: relative; cursor: pointer; }
.template-switch::after { content: ''; position: absolute; width: 16px; height: 16px; border-radius: 50%; left: 3px; top: 3px; background: var(--color-muted); }
.template-switch:checked { background: var(--color-primary); border-color: var(--color-primary); }
.template-switch:checked::after { transform: translateX(18px); background: #fff; }
.template-switch:focus-visible { outline: 3px solid var(--color-primary); outline-offset: 3px; }
.template-suggestion { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--color-line); }
.template-suggestion h4 { margin: 10px 0; }
.template-suggestion form { margin-block: 12px; }
.template-difference { padding: 10px 0; border-block-end: 1px solid var(--color-line); }
.template-diff-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-block: 14px; }
.template-diff-grid pre { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; font-size: .9rem; }
.template-conflict { border-left: 3px solid var(--color-action-attention, #a96817); padding-left: 12px; }
.template-history-item { display: flex; flex-wrap: wrap; gap: 10px; padding-block: 16px; border-bottom: 1px solid var(--color-line); }
.template-history-item > strong, .template-history-item > small { width: 100%; }
@media (max-width: 600px) { .template-diff-grid { grid-template-columns: 1fr; } .template-file-list li { align-items: flex-start; flex-direction: column; gap: 8px; } }
.guidance-items { margin-block: var(--space-4); padding-left: var(--space-5); }
.guidance-items li { margin-bottom: var(--space-3); overflow-wrap: anywhere; }
.guidance-items small { display: block; color: var(--color-muted); }
.guidance-history { margin-top: var(--space-4); }
.resource-visibility { display: flex; align-items: center; gap: var(--space-2); margin-block: var(--space-3); }
.resource-visibility svg { width: 20px; height: 20px; }
.guidance-form input[type="checkbox"], .guidance-page input[type="checkbox"], .guidance-dialog input[type="checkbox"] { width: auto; }
.guidance-form label:has(+ input[type="checkbox"]) { display: inline; }
.guidance-offer { margin-top: var(--space-4); padding: var(--space-3); border-left: 3px solid var(--color-primary); background: var(--color-accent-soft); border-radius: var(--radius-base); }
.guidance-offer .form-actions { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-2); }
.guidance-offer form { margin: 0; }
.guidance-selection { padding: var(--space-2); font-size: var(--ui-small); color: var(--color-muted); }
.guidance-selection[hidden], .guidance-form > [hidden], [data-guidance-group][hidden] { display: none; }
.guidance-lookup-options { display: grid; gap: var(--space-2); margin-block: var(--space-3); }
.guidance-lookup-options label { display: flex; align-items: start; gap: var(--space-2); padding: var(--space-3); border: var(--hairline); border-radius: var(--radius-base); }
.guidance-lookup-options input { flex: none; width: auto; margin-top: 5px; }
.guidance-lookup-options small { display: block; color: var(--color-muted); }
@media (max-width: 600px) {
  .guidance-search { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .guidance-search > div:first-child, .guidance-search > .button { grid-column: 1 / -1; }
  .guidance-page { padding: var(--space-3); }
  .library-toolbar > .button { width: 100%; }
  .library-search { flex-basis: 100%; }
  .library-search > div { flex-wrap: wrap; }
  .library-search > div input { flex: 1 1 200px; }
  .guidance-dialog { padding: var(--space-3); }
  .guidance-form .form-actions .button { flex: 1 1 130px; }
}
