.action-plan-cards { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:9px; margin-bottom:16px; }
.action-plan-card { min-width:0; padding:13px 12px; border:1px solid color-mix(in srgb,var(--process-color) 28%,#dfe5ec); border-top:4px solid var(--process-color); border-radius:11px; background:linear-gradient(155deg,color-mix(in srgb,var(--process-color) 8%,#fff),#fff 55%); box-shadow:var(--shadow-sm); }
.action-plan-card-heading { display:flex; align-items:baseline; gap:6px; min-width:0; }
.action-plan-card-heading strong { color:var(--process-color); font-size:14px; }
.action-plan-card-heading span { min-width:0; overflow:hidden; color:var(--ink-700); font-size:9px; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }
.action-plan-card>p { height:25px; margin:7px 0 9px; overflow:hidden; color:var(--ink-500); font-size:8px; line-height:1.45; }
.action-plan-card-values { display:grid; grid-template-columns:repeat(3,1fr); gap:4px; }
.action-plan-card-values span { min-width:0; color:var(--ink-500); font-size:7px; text-align:center; }
.action-plan-card-values b { display:block; margin-bottom:2px; color:var(--ink-900); font-size:13px; }
.action-plan-filters { margin-bottom:14px; padding:14px; }
.action-plan-filter-grid { display:grid; grid-template-columns:repeat(4,minmax(150px,1fr)); gap:10px; }
.action-plan-filter-grid label { display:flex; min-width:0; flex-direction:column; gap:5px; color:var(--ink-500); font-size:9px; font-weight:750; text-transform:uppercase; letter-spacing:.05em; }
.action-plan-filter-grid select,.action-plan-filter-grid input { width:100%; height:37px; min-width:0; padding:0 10px; border:1px solid var(--line); border-radius:8px; color:var(--ink-900); background:#fff; font-size:11px; text-transform:none; letter-spacing:0; }
.action-plan-filters>.ghost-button { margin-top:9px; }
.action-plan-count { margin:0 0 10px; color:var(--ink-500); font-size:11px; }
.action-plan-count strong { color:var(--ink-900); }
.action-plan-groups { display:grid; gap:11px; }
.action-plan-process-group { overflow:hidden; border:1px solid color-mix(in srgb,var(--process-color) 30%,#dfe5ec); border-radius:12px; background:#fff; box-shadow:var(--shadow-sm); }
.action-plan-process-toggle { width:100%; min-height:56px; display:flex; align-items:center; justify-content:space-between; gap:15px; padding:10px 16px; border:0; border-left:5px solid var(--process-color); color:var(--ink-900); background:linear-gradient(90deg,color-mix(in srgb,var(--process-color) 8%,#fff),#fff 45%); text-align:left; }
.action-plan-process-toggle>svg { width:19px; flex:0 0 auto; color:var(--process-color); }
.action-plan-process-title { display:flex; align-items:center; gap:10px; }
.action-plan-process-title b { min-width:38px; color:var(--process-color); font-size:14px; }
.action-plan-process-title span { font-size:12px; font-weight:750; }
.action-plan-process-title small { padding:4px 8px; border-radius:999px; color:var(--ink-500); background:#edf1f5; font-size:8px; }
.action-plan-process-content { padding:14px; }
.action-plan-source-group { padding-top:14px; }
.action-plan-source-group h3 { margin:0 0 8px; color:var(--ink-700); font-size:11px; }
.action-plan-source-group h3 span { display:inline-flex; min-width:20px; height:20px; align-items:center; justify-content:center; margin-left:5px; border-radius:999px; color:var(--process-color); background:color-mix(in srgb,var(--process-color) 10%,#fff); font-size:8px; }
.action-plan-table-wrap { overflow:auto; border:1px solid var(--line); border-radius:9px; }
.action-plan-table-wrap table { width:max(1900px,100%); border-collapse:collapse; font-size:9px; }
.action-plan-table-wrap th { position:sticky; top:0; z-index:1; padding:9px 8px; border-bottom:1px solid var(--line); color:#526174; background:#f4f7fa; font-size:8px; text-align:left; text-transform:uppercase; letter-spacing:.035em; }
.action-plan-table-wrap td { max-width:220px; padding:9px 8px; border-bottom:1px solid #edf0f3; color:var(--ink-700); vertical-align:top; line-height:1.4; }
.action-plan-table-wrap tr:last-child td { border-bottom:0; }
.action-plan-row { box-shadow:inset 3px 0 var(--process-color); cursor:pointer; }
.action-plan-row:hover { background:color-mix(in srgb,var(--process-color) 4%,#fff); }
.action-plan-process { display:inline-flex; padding:4px 7px; border:1px solid color-mix(in srgb,var(--process-color) 35%,#fff); border-radius:999px; color:var(--process-color); background:color-mix(in srgb,var(--process-color) 9%,#fff); font-size:8px; font-weight:850; }
.action-plan-number { padding:0; border:0; color:var(--blue-600); background:transparent; font-size:9px; font-weight:800; text-decoration:underline; text-underline-offset:2px; }
.action-plan-tags { display:flex; flex-wrap:wrap; gap:4px; }
.action-plan-tag { display:inline-flex; max-width:170px; align-items:center; padding:3px 6px; overflow:hidden; border-radius:999px; font-size:7px; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.action-plan-tag.is-source { color:#174f76; background:#e4f2fb; }
.action-plan-tag.is-axis { color:#62450d; background:#fff2d6; }
.action-plan-priority { display:inline-flex; padding:3px 6px; border-radius:999px; color:#4f5d6e; background:#edf1f5; font-size:7px; font-weight:850; }
.action-plan-priority.is-high { color:#9b5212; background:#fff0df; }.action-plan-priority.is-critical { color:#9a2f38; background:#fde9e8; }.action-plan-priority.is-low { color:#2c6750; background:#e4f6ef; }
.action-plan-status { display:inline-flex; align-items:center; gap:4px; padding:4px 7px; border-radius:999px; font-size:7px; font-weight:850; white-space:nowrap; }
.action-plan-status svg { width:10px; height:10px; }
.action-plan-status.is-to_start { color:#1263a0; background:#dceefe; }.action-plan-status.is-in_progress { color:#9a5210; background:#fff1df; }.action-plan-status.is-completed { color:#146a4d; background:#e4f6ef; }.action-plan-status.is-overdue { color:#a32f36; background:#fde9e8; }.action-plan-status.is-abandoned { color:#fff; background:#303942; }
.action-plan-progress { position:relative; width:100px; height:15px; overflow:hidden; border-radius:999px; background:#e8edf2; }
.action-plan-progress span { position:absolute; inset:0 auto 0 0; border-radius:inherit; background:linear-gradient(90deg,#2b81bd,#1a956c); }
.action-plan-progress strong { position:absolute; inset:0; display:grid; place-items:center; color:#172638; font-size:7px; text-shadow:0 1px 0 rgba(255,255,255,.7); }
.action-plan-empty { display:grid; justify-items:center; padding:46px 20px; border:1px dashed #b8c5d0; border-radius:12px; color:var(--ink-500); background:#fff; text-align:center; }
.action-plan-empty>span { width:48px; height:48px; display:grid; place-items:center; border-radius:50%; color:var(--blue-600); background:var(--blue-100); }.action-plan-empty svg { width:24px; }.action-plan-empty h2 { margin:13px 0 5px; color:var(--ink-900); font-size:15px; }.action-plan-empty p { max-width:520px; margin:0; font-size:11px; }

.modal.action-plan-modal,.modal.action-plan-detail-modal { display:grid; grid-template-rows:auto minmax(0,1fr) auto; width:min(1080px,calc(100vw - 28px)); height:min(92vh,940px); overflow:hidden; }
.action-plan-modal [hidden] { display:none !important; }
.action-plan-modal .modal-body,.action-plan-detail-modal .modal-body { overflow-y:auto; background:#f7f9fb; }
.action-plan-form-section,.action-plan-detail-section { margin-bottom:14px; padding:16px; border:1px solid var(--line); border-radius:11px; background:#fff; }
.action-plan-form-section:last-child,.action-plan-detail-section:last-child { margin-bottom:0; }
.action-plan-form-section>h3,.action-plan-detail-section>h3,.action-plan-section-heading h3 { margin:0 0 12px; color:var(--ink-900); font-size:13px; }
.action-plan-section-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }.action-plan-section-heading h3 { margin:0; }
.action-plan-policy-source { margin:-5px 0 12px; color:var(--ink-500); font-size:9px; }
.action-plan-check-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.action-plan-check-grid label { display:flex; align-items:flex-start; gap:8px; padding:10px; border:1px solid var(--line); border-radius:8px; font-size:9px; cursor:pointer; }.action-plan-check-grid input { margin-top:2px; }.action-plan-check-grid span { display:grid; gap:2px; color:var(--ink-700); line-height:1.4; }.action-plan-check-grid b { color:#956c15; }
.action-plan-source-row { position:relative; display:grid; grid-template-columns:1.2fr 120px 1.4fr 1.3fr; gap:8px; align-items:end; margin-top:8px; padding:10px; border:1px solid var(--line); border-radius:9px; background:#f9fbfc; }
.action-plan-source-row label { display:flex; min-width:0; flex-direction:column; gap:5px; color:var(--ink-500); font-size:8px; font-weight:750; }.action-plan-source-row input,.action-plan-source-row select { width:100%; height:36px; min-width:0; padding:0 8px; border:1px solid var(--line); border-radius:7px; color:var(--ink-900); background:#fff; font-size:9px; }
.action-plan-single-source-note { margin:8px 0 0; color:var(--ink-500); font-size:8px; }
.action-plan-participants>input[type="search"] { height:38px; }
.action-plan-participant-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); max-height:174px; gap:6px; margin-top:7px; padding:8px; overflow-y:auto; border:1px solid var(--line); border-radius:8px; background:#f9fbfc; }
.action-plan-participant-list label { display:flex; min-width:0; align-items:center; gap:7px; padding:7px 8px; border:1px solid #e2e8ee; border-radius:7px; color:var(--ink-700); background:#fff; font-size:9px; cursor:pointer; }
.action-plan-participant-list label:has(input:checked) { border-color:#75a8cb; color:#174f76; background:#eaf5fc; }
.action-plan-participant-list label[hidden] { display:none; }
.action-plan-participant-list input { flex:0 0 auto; margin:0; }
.action-plan-participant-list span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.danger-inline { color:#a32f36; }.action-plan-modal .field small { margin-top:4px; color:var(--ink-500); font-size:8px; }
.action-plan-detail-modal .modal-header { border-left:6px solid var(--process-color); }
.action-plan-detail-state { display:flex; align-items:center; gap:9px; margin-top:9px; }.action-plan-detail-state .action-plan-progress { width:150px; }
.action-plan-detail-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.action-plan-detail-field { display:grid; gap:4px; padding:10px; border:1px solid #e8edf2; border-radius:8px; background:#fafbfd; }.action-plan-detail-field span,.action-plan-long-fields span { color:var(--ink-500); font-size:8px; font-weight:750; text-transform:uppercase; }.action-plan-detail-field strong { color:var(--ink-900); font-size:10px; }
.action-plan-long-fields { display:grid; gap:9px; margin-top:10px; }.action-plan-long-fields>div { padding:10px; border-left:3px solid #d7e1ea; background:#fafbfd; }.action-plan-long-fields p { margin:5px 0 0; color:var(--ink-700); font-size:10px; line-height:1.55; white-space:pre-wrap; }
.action-plan-axis-line { display:flex; gap:10px; margin-top:7px; padding:9px; border-radius:8px; background:#fff7e5; font-size:10px; }.action-plan-axis-line b { flex:0 0 55px; color:#956c15; }
.action-plan-source-detail { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; margin-top:7px; padding:10px; border:1px solid #d9e7f1; border-radius:8px; background:#f6fbfe; font-size:9px; }.action-plan-source-detail a { display:inline-flex; align-items:center; gap:5px; color:var(--blue-600); font-weight:750; }.action-plan-source-detail a svg { width:14px; }
.action-plan-timeline { display:grid; gap:8px; }.action-plan-timeline article { position:relative; padding:9px 10px 9px 18px; border-left:2px solid #cbd8e3; background:#fafbfd; }.action-plan-timeline article::before { content:""; position:absolute; left:-5px; top:13px; width:8px; height:8px; border-radius:50%; background:var(--blue-600); }.action-plan-timeline b { display:block; color:var(--ink-900); font-size:9px; }.action-plan-timeline time { display:block; margin-top:2px; color:var(--ink-500); font-size:8px; }.action-plan-timeline p { margin:7px 0 0; color:var(--ink-700); font-size:10px; white-space:pre-wrap; }
.action-plan-attachments { display:grid; gap:7px; }.action-plan-attachments a { display:flex; align-items:center; gap:9px; padding:9px; border:1px solid var(--line); border-radius:8px; color:var(--ink-700); background:#fff; }.action-plan-attachments a>svg { width:17px; color:var(--blue-600); }.action-plan-attachments span { display:grid; gap:2px; }.action-plan-attachments b { font-size:9px; }.action-plan-attachments small,.muted-copy { color:var(--ink-500); font-size:8px; }

@media (max-width:1280px) { .action-plan-filter-grid { grid-template-columns:repeat(3,minmax(150px,1fr)); } }
@media (max-width:900px) { .action-plan-cards { display:flex; overflow-x:auto; padding-bottom:4px; }.action-plan-card { min-width:180px; }.action-plan-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.action-plan-source-row { grid-template-columns:1fr 110px; }.action-plan-source-row .wide { grid-column:1/-1; }.action-plan-check-grid,.action-plan-detail-grid { grid-template-columns:1fr; }.action-plan-source-detail { grid-template-columns:1fr; align-items:start; } }
@media (max-width:600px) { .action-plan-filter-grid { grid-template-columns:1fr; }.action-plan-process-title { flex-wrap:wrap; gap:6px; }.action-plan-process-title span { width:calc(100% - 48px); }.action-plan-process-title small { margin-left:48px; }.action-plan-process-content { padding-inline:8px; }.action-plan-source-row,.action-plan-participant-list { grid-template-columns:1fr; }.action-plan-source-row .wide { grid-column:auto; }.action-plan-modal .modal-body,.action-plan-detail-modal .modal-body { padding:10px; }.action-plan-form-section,.action-plan-detail-section { padding:12px; }.action-plan-detail-state { align-items:flex-start; flex-direction:column; } }
