/* Layout for controller-rendered content; controls and panel chrome use Filament. */
.compliance-content { min-width: 0; display: flex; flex-direction: column; gap: 1.5rem; font-size: .875rem; line-height: 1.6; }
.compliance-content :where(.fi-section-content, form) { min-width: 0; }
.compliance-content :where(.fi-section-content, form, #template-fields) > * + * { margin-top: 1rem; }
.compliance-content :where(h2, h3) { font-size: 1rem; font-weight: 600; line-height: 1.5; }
.compliance-content :where(p, small, .muted) { color: var(--gray-600); }
.dark .compliance-content :where(p, small, .muted) { color: var(--gray-400); }
.compliance-content label { display: block; font-weight: 500; line-height: 1.5; }
.compliance-content label > .fi-input-wrp { margin-top: .5rem; }
.compliance-content label + .fi-input-wrp { margin-top: .5rem; }
.compliance-content label:has(.fi-checkbox-input) { display: flex; gap: .75rem; align-items: flex-start; }
.compliance-content .fi-checkbox-input { flex-shrink: 0; margin-top: .15rem; }
.compliance-content :where(nav, .actions) { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
.compliance-content nav > * { margin-top: 0; }
.compliance-content .grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr)); gap: 1.5rem; }
.compliance-content .grid > * { min-width: 0; margin-top: 0; }
.compliance-content .fi-badge { display: inline-flex; width: fit-content; vertical-align: middle; }
.compliance-content .scroll, .compliance-table-container { max-width: 100%; overflow-x: auto; }
.compliance-table-container > .fi-ta-content { width: 100%; min-width: 0; }
.compliance-table { width: 100%; border-collapse: collapse; text-align: start; }
.compliance-table :where(th, td) { padding: .875rem 1rem; vertical-align: top; border-bottom: 1px solid var(--gray-200); }
.compliance-table th { font-size: .75rem; font-weight: 600; background: var(--gray-50); }
.compliance-table tr:last-child td { border-bottom: 0; }
.dark .compliance-table :where(th, td) { border-color: var(--gray-700); }
.dark .compliance-table th { background: var(--gray-800); }
.compliance-table .fi-section { min-width: 12rem; }
.compliance-content pre { white-space: pre-wrap; overflow-wrap: anywhere; padding: 1rem; border-radius: .5rem; background: var(--gray-50); font-size: .8125rem; }
.dark .compliance-content pre { background: var(--gray-800); }
.compliance-content code { overflow-wrap: anywhere; }
.compliance-content :where(ul, ol) { padding-inline-start: 1.25rem; list-style: revert; }
.compliance-content dt { font-weight: 600; margin-top: .75rem; }
.compliance-content dd { margin-inline-start: 1rem; }
.compliance-textarea { display: block; width: 100%; min-height: 7rem; padding: .625rem .75rem; resize: vertical; }
.compliance-content input[type=file] { padding: .5rem .75rem; }
.compliance-content input[type=file]::file-selector-button { margin-inline-end: .75rem; font-weight: 500; }
.compliance-content input[type=color] { height: 2.75rem; padding: .25rem; }
.compliance-content select[multiple] { min-height: 8rem; }
.compliance-notice { display: flex; align-items: start; justify-content: space-between; gap: 1rem; font-size: .75rem; color: var(--gray-500); }
.compliance-notice nav { display: flex; gap: .75rem; flex-shrink: 0; }
.compliance-alert, .compliance-content .error, .compliance-content .status { padding: 1rem; border-radius: .75rem; border: 1px solid; }
.compliance-alert-danger, .compliance-content .error { color: var(--danger-700); background: var(--danger-50); border-color: var(--danger-200); }
.compliance-alert-success, .compliance-content .status { color: var(--success-700); background: var(--success-50); border-color: var(--success-200); }
.dark .compliance-alert-danger, .dark .compliance-content .error { color: var(--danger-300); background: color-mix(in srgb, var(--danger-500) 10%, transparent); border-color: var(--danger-800); }
.dark .compliance-alert-success, .dark .compliance-content .status { color: var(--success-300); background: color-mix(in srgb, var(--success-500) 10%, transparent); border-color: var(--success-800); }
.compliance-auth form > .fi-btn { width: 100%; }
.compliance-auth svg { max-width: 100%; }
@media (max-width: 640px) { .compliance-content { gap: 1rem; } .compliance-table :where(th, td) { padding: .75rem; } }
