/* Compact audit surfaces; keep the existing panel palette and navigation. */
.quality-workspace, .quality-grid > *, .audit-workspace, .audit-editor { min-width: 0; }
.audit-workspace { display: grid; grid-template-columns: minmax(0,1fr); gap: 1rem; font-size: .9375rem; }
.audit-workspace > * { min-width: 0; }
.audit-workspace .button, #policy-analysis .button, .audit-scan .button { padding: .45rem .75rem; min-height: 2.25rem; font-size: .875rem; white-space: normal; }
.audit-workspace p, .audit-scan p { margin: 0; }
.audit-filters { display: flex; flex-wrap: wrap; align-items: end; gap: .75rem; }
.audit-filters label, .audit-review-form label { display: grid; gap: .3rem; font-size: .875rem; font-weight: 600; min-width: 0; }
.audit-filters label { flex: 1 1 140px; }
.audit-filters input, .audit-filters select, .audit-review-form select, .audit-review-form textarea { width: 100%; min-width: 0; min-height: 2.4rem; padding: .45rem .6rem; border: 1px solid var(--border-strong); border-radius: 7px; background: white; }
.audit-results table { width: 100%; border-collapse: collapse; font-size: .875rem; }
.audit-results th { text-align: left; color: var(--ink-soft); white-space: nowrap; }
.audit-results td, .audit-results th { padding: .7rem; border-bottom: 1px solid var(--border); vertical-align: top; }
.audit-results td { max-width: 250px; overflow-wrap: anywhere; }
.audit-results td small { display: block; margin-top: .2rem; color: var(--ink-soft); font-size: .8125rem; }
.audit-results .audit-detail-cell { max-width: none; padding: .4rem 0 1rem; }
.audit-inline-editor { box-shadow: 0 3px 14px #1724410a; scroll-margin-top: 6rem; }
.audit-inline-row[hidden], .audit-editor[hidden], .audit-transcript [hidden] { display: none !important; }
.audit-transcript { min-width: 0; border-top: 1px solid var(--border); padding-top: 1rem; display: grid; gap: .65rem; scroll-margin-top: 6rem; }
.audit-transcript-header { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: space-between; align-items: center; }
.audit-transcript-header h3 { font-size: 1rem; margin: 0; }
.audit-selected-finding { border-left: 3px solid #d97706; border-radius: 6px; background: #fff8e8; padding: .65rem .8rem; display: grid; gap: .3rem; font-size: .875rem; overflow-wrap: anywhere; }
.audit-selected-finding small { color: #80501a; }
.audit-chat-messages { position: relative; display: grid; align-content: start; gap: .75rem; margin: 0; padding: 1rem; list-style: none; max-height: min(30rem,48vh); overflow-y: auto; overscroll-behavior: contain; border: 1px solid var(--border); border-radius: 8px; background: #f6f8fb; }
.audit-chat-message { width: min(88%,850px); min-width: 0; padding: .75rem .9rem; border: 1px solid #dbe3ee; border-radius: 9px; background: white; font-size: .875rem; }
.audit-chat-message.audit-role-agent { justify-self: end; background: #eef2ff; border-color: #d7def9; }
.audit-chat-message.audit-role-system { justify-self: center; width: min(95%,950px); background: #f0f3f7; color: #526078; }
.audit-chat-message-head { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem .75rem; margin-bottom: .4rem; }
.audit-chat-message-head time { margin-left: auto; font-size: .8125rem; color: #536278; }
.audit-chat-message-body { white-space: pre-wrap; overflow-wrap: anywhere; }
.audit-message-finding { display: block; margin-top: .5rem; font-size: .8125rem; font-weight: 650; color: #9a4e0b; }
.audit-chat-message.has-finding { border-left: 3px solid #d97706; }
.audit-chat-message.is-highlighted { outline: 3px solid #e3a12b; outline-offset: 2px; background: #fffbeb; }
.audit-chat-message:focus-visible, .audit-chat-messages:focus-visible { outline: 3px solid #6366f1; outline-offset: 2px; }
.audit-locate-message { justify-self: start; }
@media (max-width: 600px) { .audit-chat-messages { padding: .6rem; } .audit-chat-message { width: 100%; } .audit-inline-editor { min-width: 0; } }
.audit-actions { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.audit-actions h2 { flex: 1 1 220px; margin: 0; font-size: 1.125rem; }
.audit-editor { padding: 1rem; border: 1px solid var(--border-strong); border-radius: 10px; background: white; scroll-margin-top: 1rem; }
.audit-editor > * + * { margin-top: 1rem; }
.audit-review-form { display: grid; gap: .75rem; border-top: 1px solid var(--border); padding-top: 1rem; }
.audit-review-form > fieldset { display: grid; gap: .8rem; padding: 0; border: 0; min-width: 0; }
.audit-error-picker { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); max-height: 220px; overflow: auto; gap: .4rem; padding: .7rem; border: 1px solid var(--border); min-width: 0; }
.audit-review-form label.audit-check { display: flex; align-items: flex-start; gap: .5rem; font-weight: 400; }
.audit-check input[type=checkbox] { width: 16px; height: 16px; min-height: 16px; flex: 0 0 16px; margin: .15rem 0 0; padding: 0; }
.audit-metrics { display: grid; grid-template-columns: repeat(auto-fit,minmax(150px,1fr)); gap: .75rem; margin-bottom: 1rem; }
.audit-metrics article { padding: 1rem; border: 1px solid var(--border); border-radius: 8px; background: white; }
.audit-metrics span, .audit-metrics strong { display: block; }
.audit-metrics strong { margin-top: .25rem; font-size: 1.6rem; }
.audit-badge { display: inline-block; border-radius: 5px; background: #eef2f7; padding: .2rem .45rem; font-size: .8125rem; font-weight: 650; }
.audit-badge.violation { color: #973727; background: #fff0ed; }
.audit-badge.needs_review, .audit-warning { color: #80501a; background: #fff8e8; }
.audit-warning { border-radius: 5px; padding: .4rem .6rem; }
.audit-badge.no_violation { color: #176341; background: #eaf7f0; }
.audit-scan { margin-bottom: 1rem; }
.audit-scan progress { display: block; width: 100%; height: .55rem; margin: .8rem 0; }
.audit-scan summary { cursor: pointer; font-size: .875rem; color: var(--ink-soft); }
.audit-scan details { margin-top: .75rem; }
.audit-scan details p { margin-top: .5rem; font-size: .875rem; }
.audit-scan #policy-scan-status { white-space: pre-line; font-size: .875rem; margin: .5rem 0; }
.audit-scan #policy-scan-coverage { margin-top: .65rem; font-size: .875rem; }
.quality-sidebar .scope-card { display: none; }
.quality-sidebar .nav-item { min-height: 2.5rem; padding-block: .5rem; }
.review-panel #review-content:not([hidden]) { display: block !important; min-width: 0; }
#legacy-audit-area { display: none; }
#policy-analysis { display: grid; gap: .6rem; padding: 1rem; font-size: .875rem; min-width: 0; overflow-wrap: anywhere; }
.audit-editor #policy-analysis { padding: 0; scroll-margin-top: 6rem; }
#policy-analysis h3 { font-size: 1rem; line-height: 1.35; margin: 0; }
#policy-analysis p { margin: 0; }
#policy-analysis .audit-summary { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; }
#policy-analysis .audit-finding { min-width: 0; border: 1px solid var(--border); border-radius: 8px; background: white; }
#policy-analysis .audit-finding summary { cursor: pointer; padding: .65rem .75rem; font-size: .875rem; }
#policy-analysis .audit-finding summary strong { font-weight: 650; }
#policy-analysis .audit-finding summary small { display: block; padding-left: 1rem; margin-top: .25rem; font-size: .8125rem; color: var(--ink-soft); }
#policy-analysis .audit-finding-body { display: grid; gap: .6rem; padding: .75rem; border-top: 1px solid var(--border); max-height: 22rem; overflow-y: auto; }
#policy-analysis .audit-evidence { margin: 0; border-left: 3px solid #cbd5e1; padding: .5rem .65rem; background: #f6f8fb; white-space: pre-wrap; overflow-wrap: anywhere; }
#policy-analysis .audit-note { color: var(--ink-soft); font-size: .8125rem; }
.policy-main .policy-item { padding: .8rem 1rem; }
.policy-main .policy-item p { margin: .4rem 0; }
.policy-main .policy-item .button { padding: .35rem .65rem; min-height: 2rem; font-size: .875rem; }
.policy-main details summary { cursor: pointer; font-size: .875rem; }
@media (min-width: 1201px) { .quality-grid { grid-template-columns: minmax(200px,.65fr) minmax(300px,1.3fr) minmax(260px,1fr); } .review-panel { grid-column: auto; min-height: 0; } }
@media (max-width: 1200px) and (min-width: 901px) { .quality-grid { grid-template-columns: minmax(230px,.65fr) minmax(0,1.35fr); } .review-panel { grid-column: 1 / -1; min-height: 0; } }
@media (max-width: 900px) { .quality-grid { grid-template-columns: minmax(0,1fr); } .review-panel { min-height: 0; } .audit-filters label { flex-basis: 40%; } .audit-editor { padding: .75rem; } }
@media (max-width: 480px) { .audit-filters label { flex-basis: 100%; } .audit-error-picker { grid-template-columns: minmax(0,1fr); } }
