.direction-field { margin: 20px 0 12px; }
.direction-field textarea { font-size: 16px; line-height: 1.9; }
.direction-finding-title { font-size: 18px; font-weight: 650; color: #264933; margin-bottom: 10px; }
#direction-form > .button { margin: 20px 0 12px; }
.direction-summary { background: #f0f7f3; border: 1px solid #c8dfd0; border-radius: 9px; padding: 14px 16px; margin-top: 16px; }
.direction-summary > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.direction-summary strong { font-size: 13px; color: #265d3d; }
.direction-summary p,.proposal-directions p,.legacy-memo p { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.8; margin-top: 8px; }
.direction-summary .button { margin-top: 10px; }
.draft-status { display: inline-flex; font-size: 12px; font-weight: 650; padding: 4px 9px; border-radius: 5px; background: #edf1ef; color: #52685b; }
.draft-status.ready { background: #dcf3e4; color: #166534; }
.draft-status.processing,.draft-status.queued { background: #e7f0fe; color: #2857a1; }
.draft-status.needs_input,.draft-status.failed { background: #fff2d8; color: #855412; }
.direction-warnings { padding-left: 22px; color: #805917; font-size: 13px; line-height: 1.9; margin: 12px 0; overflow-wrap: anywhere; }
.direction-error { color: #a52c27; font-size: 13px; line-height: 1.8; }
.proposal-directions { margin: 12px 0; padding: 13px 15px; border-radius: 7px; background: #f1f8f4; font-size: 14px; }
.proposal-directions .button { margin-top: 9px; }
.direction-ready { display: flex; align-items: center; gap: 8px; color: #17603a; background: #eaf8ef; padding: 12px; margin-bottom: 20px; border-radius: 8px; }
.legacy-memo { border-top: 1px solid #e4ece7; padding-top: 12px; margin-top: 14px; color: #63766a; font-size: 13px; }
.proposal-row textarea { min-height: 155px; }
.proposal-row > label:first-child { align-items: start; }
.proposal-row input[type=checkbox] { flex: none; margin-top: 5px; }
.proposal-row .notice-box .button { display: flex; margin-top: 8px; }
.recheck-summary { margin: 20px 0; padding: 22px 24px; border: 1px solid #b9d0ed; border-left: 5px solid #4876b6; border-radius: 12px; background: #f3f7fe; }
.recheck-summary.resolved { background: #f0faf4; border-color: #b5dcc4; border-left-color: #18854a; }
.recheck-summary.remaining { background: #fff7f6; border-color: #efc4bf; border-left-color: #c1372a; }
.recheck-summary.caution { background: #fffbeb; border-color: #e8d79a; border-left-color: #b48514; }
.recheck-summary-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.recheck-summary h2 { font-size: 20px; line-height: 1.65; margin: 5px 0 0; color: #274333; }
.recheck-summary.remaining h2 { color: #a62b20; }
.recheck-summary > p { font-size: 13px; line-height: 1.8; margin-top: 13px; }
.recheck-counts { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 17px; }
.recheck-count { display: flex; align-items: center; gap: 15px; border: 1px solid; border-radius: 8px; padding: 9px 14px; font-size: 13px; }
.recheck-count strong { font-size: 22px; white-space: nowrap; }
.recheck-count strong span { font-size: 17px; margin: 0 5px; }
.recheck-count.high { color: #ae291f; border-color: #e5b4ad; background: #fff0ee; }
.recheck-count.medium { color: #7a5606; border-color: #e3cb72; background: #fff4c7; }
.recheck-count.low { color: #176b3a; border-color: #afd4bd; background: #eaf8ef; }
.high-risk-actions { background: #fff7f6; border: 1px solid #ebc5bf; border-radius: 8px; padding: 15px; margin: 0 0 20px; }
.high-risk-actions h3 { font-size: 16px; color: #ab2e23; }
.high-risk-actions > p { font-size: 13px; line-height: 1.8; margin: 7px 0 12px; }
.high-risk-actions > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid #f1d9d4; padding: 10px 0; }
.high-risk-actions > div > span { font-size: 13px; overflow-wrap: anywhere; }
.high-risk-actions .button { flex: none; }
.high-risk-actions.medium-only { background: #fffbeb; border-color: #e8d79a; }
.high-risk-actions.medium-only h3 { color: #7a5606; }
.high-risk-actions.medium-only > div { border-top-color: #ecdfb9; }
.applied-changes { background: #f1f8f4; border: 1px solid #d0e4d7; border-radius: 8px; padding: 15px; margin-bottom: 20px; }
.applied-changes > summary { cursor: pointer; color: #2b6340; font-weight: 650; font-size: 14px; }
.applied-changes > div { margin-top: 16px; border-top: 1px solid #d5e6dc; padding-top: 15px; }
.applied-changes .small-label { margin: 12px 0 5px; }
@media(max-width:760px) { .recheck-summary { padding: 17px; } .recheck-counts { gap: 8px; } .recheck-count { flex: 1; justify-content: space-between; min-width: 125px; } .high-risk-actions > div { flex-wrap: wrap; } }
@media(max-width:760px) { #direction-form > .button { width: 100%; font-size: 13px; } .review-detail-heading { flex-wrap: wrap; } .review-detail-heading .button { margin-left: auto; } }
.workflow-layout { grid-template-columns: minmax(0,1.7fr) minmax(310px,1fr); align-items: start; }
.workflow-card { min-width: 0; }
.workflow-card-heading p { font-size: 14px; line-height: 1.9; }
.direction-list-heading { display: flex; gap: 12px; align-items: baseline; justify-content: space-between; margin: 8px 0 14px; flex-wrap: wrap; }
.direction-list-heading h3 { font-size: 16px; }
.direction-list-heading > span { font-size: 13px; color: #60796b; white-space: nowrap; }
.direction-list-row { border: 1px solid #dce7df; border-left: 4px solid; border-radius: 9px; padding: 16px 18px; margin: 12px 0; background: #fff; }
.direction-list-row.high { border-left-color: #c33328; }
.direction-list-row.medium { border-left-color: #d0a115; }
.direction-list-row.low { border-left-color: #27804d; }
.direction-row-heading { display: flex; gap: 12px; justify-content: space-between; align-items: start; }
.direction-row-heading > div { display: flex; gap: 10px; align-items: start; flex-wrap: wrap; min-width: 0; }
.direction-row-heading h4 { font-size: 15px; font-weight: 650; line-height: 1.8; margin: 0; flex: 1; min-width: 160px; overflow-wrap: anywhere; }
.direction-row-heading .button { flex: none; }
.direction-list-row > .field-help { margin: 7px 0 0; color: #697d70; }
.direction-inline { font-size: 15px; line-height: 1.9; white-space: pre-wrap; overflow-wrap: anywhere; background: #edf4ff; border-radius: 7px; padding: 12px 14px; color: #264e80; margin: 10px 0; }
.direction-empty { font-size: 14px; line-height: 1.8; color: #778379; background: #f7f9f8; border-radius: 7px; padding: 10px 13px; margin: 10px 0 0; }
.contract-edit-action { padding: 18px; background: #eff7f3; border: 1px solid #cce2d6; border-radius: 10px; margin: 22px 0; }
.contract-edit-action > .button { font-size: 16px; padding: 13px 25px; }
.contract-edit-action p { font-size: 13px; line-height: 1.9; color: #526e5c; margin-top: 12px; }
.direction-readiness { display: flex; gap: 8px 18px; flex-wrap: wrap; margin-top: 16px; font-size: 14px; line-height: 1.8; }
.direction-readiness strong { color: #2d4e42; }
.direction-readiness > span { color: #146b59; font-weight: 650; }
.direction-readiness p { flex-basis: 100%; margin-top: 0; color: #805917; }
.contract-edit-action .proposal-block-reason { background: #fff7e5; border: 1px solid #e7ce91; border-radius: 7px; padding: 10px 12px; color: #744e0f; font-size: 14px; }
.advanced-proposals { border-top: 1px solid #dce7df; padding: 18px 0; }
.advanced-proposals > summary { font-size: 14px; font-weight: 650; }
.advanced-proposals > p { margin-top: 12px; }
.workflow-risk-status { border: 1px solid #d5dfda; background: #f4f7f5; border-radius: 9px; padding: 16px; margin: 15px 0; }
.workflow-risk-status strong { display: block; font-size: 18px; line-height: 1.7; }
.workflow-risk-status p { font-size: 13px; margin-top: 5px; }
.workflow-risk-status.has-risk { border-color: #e5c975; background: #fffae0; color: #745716; }
.workflow-risk-status.has-risk.high-risk { border-color: #e5b4ad; background: #fff0ee; color: #a62b20; }
.workflow-risk-status.waiting { border-color: #c3d3ed; background: #f0f5fe; color: #345783; }
.comparison-picker { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 16px 0; }
.comparison-picker .field { min-width: 0; }
.comparison-picker select { width: 100%; }
.workflow-output h2 { font-size: 17px; }
.workflow-output .export-link { white-space: normal; text-align: center; line-height: 1.6; }
.output-wait { background: #f1f5fa; padding: 12px; border-radius: 7px; color: #536982; font-size: 13px; line-height: 1.8; margin: 14px 0; }
.individual-exports { border-top: 1px solid #dce7df; margin-top: 18px; padding-top: 3px; }
.workflow-steps { flex-wrap: wrap; row-gap: 12px; }
@media(max-width:1150px) { .workflow-layout { grid-template-columns: 1fr; } .workflow-output { display: grid; } }
@media(max-width:600px) { .direction-list-row { padding: 13px; } .direction-row-heading > div { display: block; } .direction-row-heading h4 { margin-top: 7px; min-width: 0; } .contract-edit-action > .button { width: 100%; } }
.related-amendments { margin:14px 0; padding:14px 16px; border:1px solid #b6cde6; border-radius:8px; background:#f4f8ff; color:#284c72; font-size:14px; line-height:1.8; }
.related-amendments>strong { font-size:15px; }.related-amendments details { margin:8px 0; border-top:1px solid #d9e4f1; padding-top:8px; }.related-amendments summary { cursor:pointer; font-weight:600; color:#285d8c; }.related-amendments .field-help { margin:8px 0; color:#4d6680; }.related-role { margin:10px 0; }.related-comparison { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:8px; }.related-comparison>div { padding:10px 12px; border-radius:5px; background:#fff; }.related-comparison span { font-size:12px; font-weight:700; }.related-comparison p { white-space:pre-wrap; overflow-wrap:anywhere; color:#273f35; max-height:250px; overflow:auto; margin:5px 0; }.related-comparison>div:last-child { background:#edf8f0; }
@media(max-width:760px) { .related-comparison { grid-template-columns:1fr; }.related-amendments { padding:12px; } }
@media(max-width:600px) { .comparison-picker { grid-template-columns: 1fr; } }
.risk-selection-tools{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:14px 0}.risk-selection-tools>span{font-size:13px;color:#506c61}.risk-selection-label{display:flex;align-items:center;gap:10px;width:fit-content;font-size:15px;font-weight:700;color:#175f50;margin-bottom:14px;cursor:pointer}.risk-selection-label input{width:22px;height:22px;accent-color:#146b59;cursor:pointer}.risk-selection-label:has(input:disabled){cursor:default}.direction-list-row.excluded-risk{border-left-color:#a4afa9;background:#f8faf9}.direction-list-row.selected-risk{box-shadow:0 0 0 1px #bad5c8}.risk-amendment-overview{background:#f0f5fc;border-radius:8px;padding:12px 15px;margin:12px 0;color:#24476c}.risk-amendment-overview strong{font-size:13px}.risk-amendment-overview p{margin:5px 0 0;font-size:15px;line-height:1.75;overflow-wrap:anywhere}.risk-proposal-detail{margin:12px 0}.risk-proposal-detail summary{cursor:pointer;color:#47625a;font-size:13px}.risk-proposal-detail p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.8;padding:12px;background:#f7f9f8;border-radius:6px}
.button.draft-working:disabled { opacity:1; cursor:progress; flex-wrap:wrap; animation:workflow-check-flash 1.6s steps(1,end) infinite; }
.draft-progress-time { font-variant-numeric:tabular-nums; white-space:nowrap; }
.direction-list-row.compact-risk { padding:16px 18px; }
.compact-risk-heading { display:grid; grid-template-columns:22px auto minmax(0,1fr) auto; align-items:start; gap:10px; }
.compact-risk-heading input { width:22px; height:22px; margin:4px 0 0; accent-color:#146b59; cursor:pointer; }
.compact-risk-heading input:disabled { cursor:default; }
.compact-risk-heading h4 { margin:2px 0 0; font-size:16px; line-height:1.65; overflow-wrap:anywhere; }
.compact-risk-body { margin:12px 0 0 32px; display:grid; gap:9px; }
.compact-risk-body>div { display:grid; grid-template-columns:6em minmax(0,1fr); gap:12px; font-size:14px; line-height:1.75; }
.compact-risk-body dt { font-weight:700; color:#536b60; }
.compact-risk-body dd { margin:0; color:#2d4139; white-space:pre-wrap; overflow-wrap:anywhere; }
.compact-risk-body>div:last-child dd { color:#24476c; }
@media(max-width:600px) { .direction-list-row.compact-risk { padding:13px; }.compact-risk-body { margin-left:0; }.compact-risk-body>div { grid-template-columns:1fr; gap:2px; } }
.risk-review-link { color:#146b59; font-size:13px; text-decoration:underline; text-underline-offset:3px; padding:5px 0; white-space:nowrap; }
.amendment-source-picker { margin-top:20px; padding:15px 16px; border:1px solid #cce2d6; border-radius:9px; background:#f7fbf9; }
.amendment-source-picker select { width:100%; max-width:420px; }
.amendment-source-picker .field-help { display:block; margin-top:9px; line-height:1.8; }
.risk-check-time { font-size:15px; font-weight:700; font-variant-numeric:tabular-nums; }
.workflow-risk-filters { margin:16px 0 9px; }
.workflow-risk-filter-summary { font-size:14px; font-weight:700; color:#3e5d50; margin:8px 0; }
.workflow-risk-filter-help { line-height:1.75; margin:8px 0 12px; }
.workflow-risk-filter-empty { margin:14px 0; }
.policy-reference { display:inline; }
.policy-token { display:inline; color:#19598c; border-bottom:1px dashed #19598c; padding:0 2px; font:inherit; cursor:help; }
.policy-token:focus-visible { outline:2px solid #19598c; outline-offset:3px; }
.policy-balloon { position:fixed; z-index:250; display:block; visibility:hidden; opacity:0; width:min(350px,calc(100vw - 24px)); max-height:min(430px,55vh); overflow:auto; padding:14px 16px; border:1px solid #b8cde0; border-radius:10px; background:#fff; box-shadow:0 10px 35px #16344730; color:#2a4050; font-size:13px; line-height:1.75; white-space:normal; }
.policy-reference:hover .policy-balloon,.policy-reference:focus-within .policy-balloon,.policy-reference.is-open .policy-balloon { visibility:visible; opacity:1; }
.policy-balloon>b { display:block; margin-bottom:8px; color:#19598c; }
.policy-balloon>div+div { margin-top:10px; padding-top:10px; border-top:1px solid #e1e9f0; }
.policy-balloon p { margin:5px 0 0; }
@media(max-width:600px) { .risk-review-link { grid-column:3 / 5; justify-self:end; }.compact-risk-heading h4 { grid-column:3 / 5; } }
@media(prefers-reduced-motion:reduce) { .button.draft-working:disabled { animation:none; background:#b42318; border-color:#b42318; color:#fff; } }

.source-review-readonly input[type="checkbox"]:disabled { opacity:1; accent-color:#146b59; cursor:default; }
.source-review-notice { background:#f1f5fb; border-color:#c6d7ed; color:#234c76; }
.source-review-notice p,.source-contract-record p { margin:7px 0; }

.amendment-status-switch { margin:18px 0 12px; }
.amendment-status-switch>.small-label { display:block; margin-bottom:8px; }
.amendment-status-options { display:flex; flex-wrap:wrap; gap:5px; padding:5px; border:1px solid #cbd8d2; border-radius:12px; background:#f2f6f4; width:fit-content; max-width:100%; }
.amendment-status-option { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:42px; padding:8px 12px; border:1px solid transparent; border-radius:8px; background:transparent; color:#40594e; font:inherit; font-size:14px; font-weight:700; cursor:pointer; }
.amendment-status-option span { min-width:22px; padding:1px 5px; border-radius:5px; background:#ffffffb3; text-align:center; }
.amendment-status-option.active { background:#fff; border-color:#a8bdb2; box-shadow:0 1px 3px #183d2217; color:#173c2f; }
.amendment-status-option.modified.active { background:#e8f6ee; border-color:#69a989; color:#155b3c; }
.amendment-status-option.unmodified.active { background:#fff4dc; border-color:#dfb55e; color:#7c5108; }
.amendment-status-option:hover { border-color:#8ca99c; }
.amendment-status-option:focus-visible { outline:3px solid #2c719e; outline-offset:2px; }
@media(max-width:600px) { .amendment-status-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; }.amendment-status-option { flex-direction:column; min-width:0; font-size:12px; padding:7px 4px; gap:3px; } }
