/* Compliance preparation extends the existing portal shell and semantic palette. */
body.rwt-compliance-open { background: var(--bg, #f4f5f3); }
#rwt-compliance-root[hidden] { display: none; }
.rwt-compliance-workspace { width: min(1120px, calc(100% - 48px)); margin: 30px auto 56px; }
.rwt-compliance-header { display: flex; justify-content: space-between; gap: 28px; align-items: flex-end; margin-bottom: 24px; }
.rwt-compliance-back { display: inline-block; margin-bottom: 12px; color: var(--accent, #9d2948); font-size: 14px; font-weight: 700; text-decoration: none; text-underline-offset: 3px; }
.rwt-compliance-back:hover { text-decoration: underline; }
.rwt-compliance-header h1 { margin: 0; font-size: 30px; line-height: 1.15; letter-spacing: -.03em; }
.rwt-compliance-header p { max-width: 70ch; margin: 8px 0 0; color: var(--muted, #5f6871); }
.rwt-compliance-preview-note { margin: 0 0 18px; padding: 10px 14px; border: 1px solid var(--line, #e2e4e1); border-radius: 10px; color: var(--ink, #26313b); background: var(--surface-muted, #f9f9f7); font-size: 13px; }
.rwt-compliance-workspace button:disabled { cursor: not-allowed; opacity: .55; }
.rwt-compliance-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; flex: 0 0 auto; }
.rwt-compliance-section { margin-top: 18px; padding: 22px; border: 1px solid var(--line, #e2e4e1); border-radius: 16px; background: var(--surface, #fff); box-shadow: 0 2px 5px rgba(43, 50, 54, .04); }
.rwt-compliance-next-actions { margin-top: 18px; padding: 22px; border: 1px solid color-mix(in srgb, var(--blue, #526f86) 30%, var(--line, #e2e4e1)); border-radius: 16px; background: linear-gradient(135deg, var(--blue-soft, #eaf0f5), var(--surface, #fff) 62%); box-shadow: 0 2px 5px rgba(43, 50, 54, .04); }
.rwt-compliance-next-actions-head { display: flex; justify-content: space-between; gap: 24px; align-items: start; }
.rwt-compliance-next-actions h2 { margin: 0; font-size: 21px; }
.rwt-compliance-next-actions-head > p { max-width: 58ch; margin: 3px 0 0; color: var(--muted, #5f6871); font-size: 14px; }
.rwt-compliance-unavailable { background: var(--surface-muted, #f9f9f7); border-color: var(--line, #e2e4e1); }
.rwt-compliance-unavailable p { max-width: 65ch; margin: 8px 0 0; color: var(--muted, #5f6871); font-size: 14px; }
.rwt-compliance-eyebrow { margin: 0 0 4px; color: var(--blue, #526f86); font-size: 11px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.rwt-compliance-action-list { display: grid; gap: 8px; margin: 18px 0 0; padding: 0; list-style: none; }
.rwt-compliance-action-list li { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 12px; border-radius: 10px; background: rgba(255,255,255,.72); }
.rwt-compliance-action-index { display: grid; width: 26px; height: 26px; place-items: center; border-radius: 50%; color: var(--blue, #526f86); background: var(--surface, #fff); font-size: 12px; font-weight: 800; }
.rwt-compliance-action-list strong { font-size: 14px; }
.rwt-compliance-action-list p { margin: 3px 0 0; color: var(--muted, #5f6871); font-size: 13px; }
.rwt-compliance-action-list button { padding: 6px 8px; border: 0; color: var(--accent, #9d2948); background: transparent; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
.rwt-compliance-action-list button:hover { text-decoration: underline; }
.rwt-compliance-section > h2, .rwt-compliance-section-title h2 { margin: 0; font-size: 19px; }
.rwt-compliance-section-title { display: flex; justify-content: space-between; gap: 20px; align-items: start; margin-bottom: 16px; }
.rwt-compliance-section-title p { max-width: 65ch; margin: 2px 0 0; color: var(--muted, #5f6871); font-size: 14px; }
.rwt-compliance-requirement { padding: 18px 0; border-top: 1px solid var(--line, #e2e4e1); }
.rwt-compliance-requirement:first-of-type { border-top: 0; }
.rwt-compliance-requirement-head { display: flex; justify-content: space-between; gap: 16px; align-items: start; }
.rwt-compliance-requirement h2 { margin: 0; font-size: 16px; }
.rwt-compliance-requirement-head p { margin: 4px 0 0; color: var(--muted, #5f6871); font-size: 13px; }
.rwt-compliance-state { flex: 0 0 auto; padding: 4px 8px; border-radius: 999px; font-size: 12px; font-weight: 700; }
.rwt-compliance-state.verified { background: var(--green-soft, #edf5e9); color: var(--green, #4d723e); }
.rwt-compliance-state.supplied { background: var(--blue-soft, #eaf0f5); color: var(--blue, #526f86); }
.rwt-compliance-state.missing { background: var(--ochre-soft, #f7f0df); color: var(--ochre, #7b5a12); }
.rwt-compliance-state.not-required { background: var(--surface-muted, #f9f9f7); color: var(--muted, #5f6871); }
.rwt-compliance-evidence { margin-top: 14px; padding: 12px 14px; border-radius: 12px; background: var(--surface-muted, #f9f9f7); }
.rwt-compliance-evidence h3 { margin: 0 0 7px; font-size: 12px; color: var(--muted, #5f6871); letter-spacing: .04em; text-transform: uppercase; }
.rwt-compliance-evidence p { margin: 0; color: var(--muted, #5f6871); font-size: 13px; }
.rwt-compliance-evidence ul { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.rwt-compliance-source { display: flex; flex-wrap: wrap; align-items: baseline; gap: 7px; font-size: 13px; }
.rwt-compliance-source a { color: var(--accent, #9d2948); overflow-wrap: anywhere; }
.rwt-compliance-source time { color: var(--muted, #5f6871); }
.rwt-compliance-source-summary { flex-basis: 100%; color: var(--muted, #5f6871); }
.rwt-compliance-source-mark { color: var(--muted, #5f6871); font-size: 11px; font-weight: 700; text-transform: uppercase; }
.rwt-compliance-private-document { color: var(--ink, #26313b); font-weight: 700; }
.rwt-compliance-verified-note { margin: 11px 0 0; color: var(--green, #4d723e); font-size: 13px; font-weight: 600; }
.rwt-compliance-drift { margin: 9px 0 0; color: var(--ochre, #7b5a12) !important; font-weight: 600; }
.rwt-compliance-answer, .rwt-compliance-not-required { margin-top: 12px; }
.rwt-compliance-answer summary, .rwt-compliance-not-required summary, .rwt-compliance-irb-upload summary { cursor: pointer; color: var(--accent, #9d2948); font-size: 13px; font-weight: 700; }
.rwt-compliance-irb-upload { margin-top: 12px; }
.rwt-compliance-entry-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.rwt-compliance-entry-actions .button { min-height: 38px; padding: 8px 12px; font-size: 13px; }
.rwt-compliance-entry-actions .button:focus-visible { outline: 3px solid var(--accent-dark, #7f1736); outline-offset: 3px; }
.rwt-compliance-form { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(130px, .5fr); gap: 10px; align-items: end; margin-top: 12px; padding: 14px; border: 1px solid var(--line, #e2e4e1); border-radius: 12px; background: #fff; }
.rwt-compliance-form-help { grid-column: 1 / -1; margin: 0; color: var(--muted, #5f6871); font-size: 13px; line-height: 1.45; }
.rwt-compliance-upload-form { grid-template-columns: repeat(3, minmax(0, 1fr)); background: #fcfdfd; }
.rwt-compliance-upload-form > label:nth-of-type(4) { grid-column: 1 / -1; }
.rwt-compliance-upload-form .rwt-compliance-confirm { display: flex; grid-column: 1 / -1; gap: 8px; align-items: start; color: var(--ink, #26313b); font-size: 13px; line-height: 1.35; }
.rwt-compliance-upload-form .rwt-compliance-confirm input { width: auto; min-height: 0; margin-top: 2px; }
.rwt-compliance-form.compact { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; }
.rwt-compliance-form label { display: grid; gap: 5px; color: var(--ink, #26313b); font-size: 12px; font-weight: 700; }
.rwt-compliance-form textarea, .rwt-compliance-form input, .rwt-compliance-form select { width: 100%; min-height: 38px; padding: 8px 9px; border: 1px solid var(--control-border, #858c87); border-radius: 8px; color: var(--ink, #26313b); background: #fff; font: inherit; font-size: 13px; }
.rwt-compliance-form textarea { resize: vertical; }
.rwt-compliance-form .button { min-height: 38px; }
.rwt-compliance-error { grid-column: 1 / -1; margin: 0; color: var(--accent-dark, #7f1736); font-size: 13px; }
.rwt-compliance-review-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 12px; }
.rwt-compliance-needs { background: #fffdf8; }
.rwt-compliance-questions { display: grid; gap: 8px; margin: 12px 0 0; padding-left: 20px; }
.rwt-compliance-questions li { color: var(--ink, #26313b); }
.rwt-compliance-limitations { margin: 14px 0 0; color: var(--muted, #5f6871); font-size: 13px; }
.rwt-compliance-history { display: grid; gap: 10px; margin: 14px 0 0; padding: 0; list-style: none; }
.rwt-compliance-history li { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) auto; gap: 12px; padding-bottom: 10px; border-bottom: 1px solid var(--line, #e2e4e1); font-size: 13px; }
.rwt-compliance-history li:last-child { padding-bottom: 0; border-bottom: 0; }
.rwt-compliance-history span, .rwt-compliance-history time { color: var(--muted, #5f6871); }
.rwt-compliance-empty { margin: 12px 0 0; color: var(--muted, #5f6871); }
.rwt-compliance-loading { display: grid; min-height: 40vh; place-items: center; color: var(--muted, #5f6871); }
.rwt-compliance-project-tool { display: grid; grid-template-columns: 30px minmax(0, 1fr) 18px; gap: 10px; align-items: center; width: 100%; padding: 12px 0; border: 0; border-top: 1px solid var(--line, #e2e4e1); color: inherit; background: transparent; text-align: left; cursor: pointer; font: inherit; }
.rwt-compliance-project-tool > span:first-child { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 9px; color: var(--green, #4d723e); background: var(--green-soft, #edf5e9); font-weight: 800; }
.rwt-compliance-project-tool strong, .rwt-compliance-project-tool small { display: block; }.rwt-compliance-project-tool small { margin-top: 2px; color: var(--muted, #5f6871); font-size: 12px; }
@media (max-width: 700px) { .rwt-compliance-workspace { width: min(100% - 28px, 1120px); margin-top: 18px; }.rwt-compliance-header, .rwt-compliance-requirement-head, .rwt-compliance-next-actions-head { display: grid; }.rwt-compliance-actions { justify-content: flex-start; }.rwt-compliance-section, .rwt-compliance-next-actions { padding: 16px; }.rwt-compliance-form, .rwt-compliance-form.compact, .rwt-compliance-upload-form { grid-template-columns: 1fr; }.rwt-compliance-history li { grid-template-columns: 1fr; gap: 3px; }.rwt-compliance-state { width: max-content; }.rwt-compliance-section-title { display: grid; gap: 5px; }.rwt-compliance-action-list li { grid-template-columns: 28px minmax(0, 1fr); }.rwt-compliance-action-list button { grid-column: 2; padding-left: 0; text-align: left; } }
.rwt-compliance-review-form {display:grid;gap:10px;width:100%;max-width:640px;background:#f6faf9;padding:14px;border-radius:10px;}
.rwt-compliance-review-form label {display:grid;gap:6px;font-size:13px;font-weight:600;}
.rwt-compliance-review-form textarea {font:inherit;padding:10px;border:1px solid var(--control-border,#858c87);border-radius:8px;width:100%;}
.rwt-compliance-review-form select {width:100%;min-width:0;min-height:40px;padding:8px 10px;border:1px solid var(--control-border,#858c87);border-radius:8px;background:#fff;color:var(--ink,#26313b);font:inherit;}
.rwt-compliance-review-form p {margin:0;color:var(--muted,#5f6871);font-size:13px;}
.rwt-compliance-review-form button {justify-self:start;}
.rwt-compliance-waiting {color:var(--muted,#5f6871);font-size:12px;}
.rwt-compliance-source .button {width:max-content;max-width:100%;font-size:12px;}
.rwt-compliance-workspace,.rwt-compliance-section,.rwt-compliance-requirement,.rwt-compliance-draft-card {min-width:0;}
.rwt-compliance-draft > p {max-width:72ch;margin:8px 0 0;color:var(--muted,#5f6871);font-size:14px;line-height:1.5;}
.rwt-compliance-draft-input,.rwt-compliance-draft-card,.rwt-compliance-draft-pdf {display:grid;gap:12px;margin-top:18px;padding:16px;border:1px solid var(--line,#e2e4e1);border-radius:12px;background:var(--surface-muted,#f9f9f7);}
.rwt-compliance-draft-input label,.rwt-compliance-draft-card label,.rwt-compliance-draft-pdf label {display:grid;gap:6px;min-width:0;font-size:13px;font-weight:700;}
.rwt-compliance-draft-input :is(input[type=text],input:not([type]),textarea),.rwt-compliance-draft-card :is(input,textarea) {width:100%;min-width:0;padding:9px 10px;border:1px solid var(--control-border,#858c87);border-radius:8px;background:#fff;color:var(--ink,#26313b);font:inherit;}
.rwt-compliance-draft-input textarea,.rwt-compliance-draft-card textarea {resize:vertical;}
.rwt-compliance-draft-input .rwt-compliance-confirm {display:flex;align-items:flex-start;gap:8px;font-weight:500;}
.rwt-compliance-draft-input .rwt-compliance-confirm input {width:auto;margin-top:2px;}
.rwt-compliance-draft-pdf .rwt-compliance-confirm {display:flex;align-items:flex-start;gap:8px;font-weight:500;}
.rwt-compliance-draft-pdf select {width:100%;min-width:0;padding:9px 10px;border:1px solid var(--control-border,#858c87);border-radius:8px;background:#fff;color:var(--ink,#26313b);font:inherit;}
.rwt-compliance-draft-input button,.rwt-compliance-draft-card button {justify-self:start;}
.rwt-compliance-draft-review {margin-top:20px;}
.rwt-compliance-draft-review h3 {margin:0;font-size:17px;overflow-wrap:anywhere;}
.rwt-compliance-draft-review > p {color:var(--muted,#5f6871);font-size:13px;}
.rwt-compliance-draft-cautions {margin:12px 0;padding:12px 12px 12px 30px;border-radius:10px;background:#fff8ed;color:#77521c;font-size:13px;}
.rwt-compliance-draft-card h4 {margin:0;font-size:15px;}
.rwt-compliance-draft-card blockquote {margin:0;padding:10px 12px;border-left:3px solid var(--blue,#526f86);background:#fff;color:var(--ink,#26313b);font-size:13px;overflow-wrap:anywhere;}
.rwt-compliance-draft-saved {margin:0;color:var(--green,#4d723e);font-size:13px;font-weight:700;}
@media (max-width:700px) {.rwt-compliance-draft-input,.rwt-compliance-draft-card {padding:12px;}.rwt-compliance-review-form {min-width:0;}}
