/* Audit register — status and finding badges. Shares the generic
 * .ims-register-* layout (table, filters, pagination, column toggle,
 * resize, key) that lives in ims-risk.css, and the .ims-risk-view-btn /
 * .ims-risk-edit-btn / modal JS behaviour in ims-risk.js -- this file only
 * adds the visual treatment specific to Audit's own status/finding values.
 */

.ims-audit-status {
	display: inline-block;
	padding: .15em .6em;
	border-radius: 999px;
	font-size: .82rem;
	font-weight: 600;
	white-space: nowrap;
}
.ims-audit-status-planned     { background: #cfe3f7; color: #17456e; }
.ims-audit-status-in_progress { background: #fbe9b0; color: #7a5c0c; }
.ims-audit-status-completed   { background: #e2f2e8; color: #1e5c3a; }
.ims-audit-status-closed      { background: #e2f2e8; color: #1e5c3a; }

.ims-audit-finding-badge {
	display: inline-block;
	padding: .1em .5em;
	border-radius: 999px;
	font-size: .78rem;
	font-weight: 600;
	white-space: nowrap;
	margin: 0 .25em .25em 0;
}
.ims-audit-finding-major_nc    { background: #f6c8c4; color: #8c1c14; }
.ims-audit-finding-minor_nc    { background: #fbe9b0; color: #7a5c0c; }
.ims-audit-finding-observation { background: #cfe3f7; color: #17456e; }
.ims-audit-finding-ofi         { background: #e2f2e8; color: #1e5c3a; }
.ims-audit-finding-none        { color: #7a7266; font-size: .85rem; }

.ims-audit-open-count { font-weight: 700; }
.ims-audit-open-count-zero    { color: #2f6f4e; }
.ims-audit-open-count-pending { color: #a1481f; }

@media print {
	.ims-audit-status, .ims-audit-finding-badge { border: 1px solid rgba(0,0,0,.15); }
}

/* Checklist status badge (read view) -- same visual language as the
 * finding badges above, just for the checklist's own status values. */
.ims-audit-checklist-badge { display: inline-block; padding: .1em .55em; border-radius: 999px; font-size: .78rem; font-weight: 600; white-space: nowrap; }
.ims-audit-checklist-badge-conform     { background: #e2f2e8; color: #1e5c3a; }
.ims-audit-checklist-badge-nonconform  { background: #f6c8c4; color: #8c1c14; }
.ims-audit-checklist-badge-observation { background: #cfe3f7; color: #17456e; }
.ims-audit-checklist-badge-na          { background: #eef0f3; color: #626b7a; }

/* ============================================================
 * "Ledger" card redesign for the Audit module -- everything below
 * is scoped under .imsaudit-app (added to the module's own
 * wrapper elements only), so it re-skins Audit's own detail/edit
 * page and Register list without touching the shared table/badge
 * classes that SOP, Risk, Stakeholder, etc. also rely on. Colors
 * reuse the plugin-wide --sopdoc-* palette (defined in
 * frontend.css) so it stays consistent with the other modules'
 * color scheme instead of introducing a new one.
 * ============================================================ */

.imsaudit-app { --imsaudit-radius: 8px; }

/* -- Record head: title + reference/status chips -- */
.imsaudit-record-head { margin-bottom: 1.1rem; }
.imsaudit-title { font-size: 1.5rem; font-weight: 700; color: var(--sopdoc-maroon-dark); margin: 0 0 .5rem; font-family: Georgia, serif; }
.imsaudit-chip-row { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.imsaudit-ref-chip {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: .78rem; color: var(--sopdoc-maroon-dark); background: var(--sopdoc-cream);
	border: 1px solid var(--sopdoc-border); padding: .2em .6em; border-radius: 5px; white-space: nowrap;
}

/* -- Field grid (Audit Details, read + edit) -- */
.imsaudit-field-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .9rem 1.5rem; }
.imsaudit-field label { display: block; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--sopdoc-muted); margin-bottom: .3em; }
.imsaudit-field .imsaudit-field-value { font-size: .95rem; }
.imsaudit-field input, .imsaudit-field select {
	width: 100%; font-family: inherit; font-size: .92rem; border: 1px solid var(--sopdoc-border); padding: .4em .5em; border-radius: 4px;
}
.imsaudit-field-wide { grid-column: 1 / -1; }

/* -- Section cards: wraps each existing "sopdoc-subheading + body"
 * block (Scope, Checklist, Findings, Conclusion, Linked Records,
 * Sign-off) so the existing heading becomes the card's header bar,
 * no markup changes needed inside those shared blocks. -- */
.imsaudit-section {
	border: 1px solid var(--sopdoc-border); border-radius: var(--imsaudit-radius);
	background: var(--sopdoc-paper); margin-bottom: 1.1rem; padding: 0 1.1em 1.1em; overflow: hidden;
}
.imsaudit-section > .sopdoc-subheading:first-child {
	margin: 0 -1.1em 1em; padding: .7em 1.1em; background: var(--sopdoc-cream);
	border-bottom: 1px solid var(--sopdoc-border); font-size: .92rem; color: var(--sopdoc-maroon-dark);
}

/* -- Ledger-style tables (checklist / findings / sign-off / etc.),
 * scoped so SOP's letterhead-style tables are unaffected. -- */
.imsaudit-app .sopdoc-activity-table,
.imsaudit-app .sopdoc-amendments-table,
.imsaudit-app .sopdoc-signers-table {
	border: none; border-collapse: collapse; width: 100%;
}
.imsaudit-app .sopdoc-activity-table th, .imsaudit-app .sopdoc-activity-table td,
.imsaudit-app .sopdoc-amendments-table th, .imsaudit-app .sopdoc-amendments-table td,
.imsaudit-app .sopdoc-signers-table th, .imsaudit-app .sopdoc-signers-table td {
	border: none; border-bottom: 1px solid var(--sopdoc-border); padding: .55em .6em; text-align: left; vertical-align: top;
}
.imsaudit-app .sopdoc-activity-table thead th, .imsaudit-app .sopdoc-amendments-table thead th, .imsaudit-app .sopdoc-signers-table thead th {
	background: transparent; font-size: .72rem; text-transform: uppercase; letter-spacing: .04em;
	color: var(--sopdoc-muted); font-weight: 700; border-bottom: 1px solid var(--sopdoc-border);
}
.imsaudit-app .sopdoc-activity-table tbody tr:last-child td,
.imsaudit-app .sopdoc-amendments-table tbody tr:last-child td,
.imsaudit-app .sopdoc-signers-table tbody tr:last-child td { border-bottom: none; }
.imsaudit-app .sopdoc-activity-table tbody tr:hover,
.imsaudit-app .sopdoc-amendments-table tbody tr:hover,
.imsaudit-app .sopdoc-signers-table tbody tr:hover { background: var(--sopdoc-cream); }

/* -- Register (list) view: card-ify the existing filterable/
 * sortable table instead of the plain grid lines it had before. -- */
.imsaudit-app .ims-register-table-scroll {
	border: 1px solid var(--sopdoc-border); border-radius: var(--imsaudit-radius); overflow: auto; background: var(--sopdoc-paper);
}
.imsaudit-app .ims-register-table { border-collapse: collapse; width: 100%; }
.imsaudit-app .ims-register-table th, .imsaudit-app .ims-register-table td { padding: .6em .7em; border-bottom: 1px solid var(--sopdoc-border); }
.imsaudit-app .ims-register-table thead th {
	background: var(--sopdoc-cream); font-size: .72rem; text-transform: uppercase; letter-spacing: .04em;
	color: var(--sopdoc-muted); font-weight: 700; border-bottom: 1px solid var(--sopdoc-border);
}
.imsaudit-app .ims-register-table tbody tr:hover { background: var(--sopdoc-cream); }
.imsaudit-app .ims-register-filters {
	display: flex; flex-wrap: wrap; gap: .75rem; align-items: flex-end; background: var(--sopdoc-cream);
	border: 1px solid var(--sopdoc-border); border-radius: var(--imsaudit-radius); padding: .8em 1em; margin-bottom: 1em;
}
.imsaudit-app .ims-register-filters label { font-size: .78rem; color: var(--sopdoc-muted); display: flex; flex-direction: column; gap: .3em; }
.imsaudit-app .ims-register-filters select, .imsaudit-app .ims-register-filters input {
	font-family: inherit; font-size: .85rem; border: 1px solid var(--sopdoc-border); border-radius: 4px; padding: .35em .5em;
}

@media (max-width: 780px) {
	.imsaudit-field-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
	.imsaudit-field-grid { grid-template-columns: 1fr; }
}

/* -- KPI summary strip above the Register list -- */
.imsaudit-kpi-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: .75rem; margin-bottom: 1rem; }
.imsaudit-kpi { border: 1px solid var(--sopdoc-border); border-radius: var(--imsaudit-radius); background: var(--sopdoc-paper); padding: .8em 1em; }
.imsaudit-kpi-label { font-size: .68rem; text-transform: uppercase; letter-spacing: .05em; color: var(--sopdoc-muted); margin-bottom: .4em; }
.imsaudit-kpi-value { font-size: 1.5rem; font-weight: 700; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; color: var(--sopdoc-maroon-dark); }
.imsaudit-kpi-amber .imsaudit-kpi-value { color: var(--sopdoc-pending); }
.imsaudit-kpi-accent .imsaudit-kpi-value { color: var(--sopdoc-success); }
