/* HPC-AC v362 — Assessment Dictionary data-cleanup and responsive UI remediation. */
[data-assessment-dictionary-workspace],
[data-assessment-dictionary-form],
[data-assessment-dictionary-show] {
    min-width: 0;
}

/* Template cards must keep their title and help copy in one flexible column.
   v361 placed four direct children into a three-column grid, which could force
   words to wrap one character per line. */
.assessment-dictionary-template-card {
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    align-items: center !important;
    text-decoration: none;
    min-width: 0;
}
.assessment-dictionary-template-card__type {
    display: inline-flex;
    align-items: center;
    align-self: start;
    width: max-content;
    max-width: 9rem;
    padding: .28rem .55rem;
    border-radius: 999px;
    background: var(--ui-subtle, #f1f5f9);
    color: var(--ui-muted, #52657a);
    font-size: .72rem;
    font-weight: 800;
    line-height: 1.25;
    white-space: nowrap;
}
.assessment-dictionary-template-card__body {
    display: block;
    min-width: 0;
}
.assessment-dictionary-template-card__body > strong,
.assessment-dictionary-template-card__body > small {
    display: block;
    min-width: 0;
    word-break: normal;
    overflow-wrap: break-word;
}
.assessment-dictionary-template-card__body > strong {
    color: var(--ui-text, #172033);
    font-size: .98rem;
    line-height: 1.35;
}
.assessment-dictionary-template-card__body > small {
    margin-top: .3rem;
    color: var(--ui-muted, #64748b);
    font-size: .8rem;
    line-height: 1.5;
}
.assessment-dictionary-template-card > i {
    align-self: start;
    flex: 0 0 auto;
}

/* Keep filters compact but prevent controls from being squeezed into unusable
   widths on desktop. */
.assessment-dictionary-filter-grid {
    grid-template-columns: minmax(17rem, 2fr) repeat(5, minmax(9rem, 1fr)) !important;
    align-items: end;
}
.assessment-dictionary-filter-grid > * {
    min-width: 0;
}
.assessment-dictionary-filter-grid .assessment-dictionary-search {
    grid-column: span 2;
}
.assessment-dictionary-reset {
    width: auto;
    min-width: 9rem;
    justify-self: start;
}

/* Multi-aspect picker: copy remains above a dedicated selection/action row.
   The generated combobox owns the available width and cannot overlap the
   action button or empty-state panel. */
.assessment-dictionary-aspect-picker {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: .9rem !important;
    padding: 1rem;
    overflow: visible !important;
}
.assessment-dictionary-aspect-picker__copy {
    min-width: 0;
}
.assessment-dictionary-aspect-picker__copy h3 {
    margin: .15rem 0 .3rem;
}
.assessment-dictionary-aspect-picker__copy p {
    margin: 0;
    max-width: 90ch;
    color: var(--ui-muted, #64748b);
}
.assessment-dictionary-aspect-picker__controls {
    display: grid;
    grid-template-columns: minmax(18rem, 1fr) auto;
    align-items: end;
    gap: .75rem;
    min-width: 0;
}
.assessment-dictionary-aspect-picker__select,
.assessment-dictionary-aspect-picker__select .hpc-combobox,
.assessment-dictionary-aspect-picker__select .hpc-combobox-button,
.assessment-dictionary-aspect-picker__select .hpc-combobox-panel {
    min-width: 0;
    width: 100%;
    max-width: 100%;
}
.assessment-dictionary-aspect-picker__select .hpc-combobox-panel {
    left: 0;
    right: auto;
}
.assessment-dictionary-aspect-picker__controls > .ui-button {
    width: auto;
    white-space: nowrap;
}

/* Dictionary cards and titles should wrap by words, never one character per
   line, even when a framework name or code is unusually long. */
.assessment-dictionary-card,
.assessment-dictionary-card > header > div,
.assessment-dictionary-card h3,
.assessment-dictionary-code {
    min-width: 0;
}
.assessment-dictionary-card h3,
.assessment-dictionary-code {
    word-break: normal;
    overflow-wrap: anywhere;
}

/* Long provenance keys are secondary information. Give them a bounded column
   and keep the indicator wording left-aligned and readable. */
.assessment-dictionary-indicator-reference li {
    grid-template-columns: minmax(9rem, 14rem) minmax(0, 1fr) !important;
    align-items: start;
}
.assessment-dictionary-indicator-reference__key {
    display: block;
    min-width: 0;
    padding-top: .08rem;
    line-height: 1.35;
    word-break: normal;
    overflow-wrap: anywhere;
}
.assessment-dictionary-indicator-reference__copy {
    min-width: 0;
    text-align: left;
}
.assessment-dictionary-indicator-reference__copy strong,
.assessment-dictionary-indicator-reference__copy p {
    display: block;
    text-align: left;
    word-break: normal;
    overflow-wrap: break-word;
}

@media (max-width: 1380px) {
    .assessment-dictionary-filter-grid {
        grid-template-columns: repeat(4, minmax(10rem, 1fr)) !important;
    }
    .assessment-dictionary-filter-grid .assessment-dictionary-search {
        grid-column: span 2;
    }
}

@media (max-width: 900px) {
    .assessment-dictionary-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .assessment-dictionary-template-card__type {
        white-space: normal;
    }
}

@media (max-width: 640px) {
    .assessment-dictionary-template-card {
        grid-template-columns: minmax(0, 1fr) auto !important;
    }
    .assessment-dictionary-template-card__type {
        grid-column: 1 / -1;
    }
    .assessment-dictionary-aspect-picker__controls,
    .assessment-dictionary-filter-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }
    .assessment-dictionary-filter-grid .assessment-dictionary-search {
        grid-column: auto;
    }
    .assessment-dictionary-aspect-picker__controls > .ui-button,
    .assessment-dictionary-reset {
        width: 100%;
        justify-self: stretch;
    }
    .assessment-dictionary-indicator-reference li {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}
