/* 年度计划首页：覆盖结构与计划/实际对照。仅作用于年度计划列表页。 */
#view-auditplan .ap-coverage-map {
  overflow: hidden;
  margin: 0;
  border: 1px solid #d8e1ec;
  border-radius: 16px;
  background: #ffffff;
  box-shadow: none;
}

#view-auditplan .ap-coverage-head {
  align-items: center;
  padding: 18px 20px 16px;
  border-bottom: 1px solid #e6ebf2;
}

#view-auditplan .ap-coverage-head h3 {
  color: #182235;
  font-size: 21px;
  letter-spacing: -0.015em;
}

#view-auditplan .ap-coverage-head p {
  max-width: 66ch;
  margin-top: 5px;
  color: #596b80;
  font-size: 13px;
}

#view-auditplan .ap-coverage-head-actions > span {
  color: #617287;
  font-variant-numeric: tabular-nums;
}

#view-auditplan .ap-coverage-visual {
  display: grid;
  grid-template-columns: minmax(280px, 0.68fr) minmax(520px, 1.32fr);
  min-height: 350px;
}

#view-auditplan .ap-coverage-chart-panel {
  display: grid;
  align-content: start;
  justify-items: center;
  gap: 18px;
  padding: 26px 30px;
  border-right: 1px solid #e6ebf2;
  background: #f7f9fc;
}

#view-auditplan .ap-coverage-ring {
  position: relative;
  width: min(240px, 100%);
  aspect-ratio: 1;
}

#view-auditplan .ap-coverage-ring svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
  transform: rotate(-90deg);
}

#view-auditplan .ap-coverage-ring-track,
#view-auditplan .ap-coverage-ring-segment {
  fill: none;
  stroke-width: 24;
}

#view-auditplan .ap-coverage-ring-track { stroke: #e8edf3; }
#view-auditplan .ap-coverage-ring-segment { stroke: #d3dbe5; transition: opacity 180ms ease-out; }
#view-auditplan .ap-coverage-ring-segment.is-completed { stroke: #178267; }
#view-auditplan .ap-coverage-ring-segment.is-in-progress { stroke: #3569ce; }
#view-auditplan .ap-coverage-ring-segment.is-planned { stroke: #d28a2f; }
#view-auditplan .ap-coverage-ring-segment.is-not-covered { stroke: #cbd4df; }
#view-auditplan .ap-coverage-ring-segment.is-not-applicable { stroke: #e7ebf0; }

#view-auditplan .ap-coverage-ring:hover .ap-coverage-ring-segment { stroke-width: 26; }

#view-auditplan .ap-coverage-ring-center {
  position: absolute;
  inset: 50% auto auto 50%;
  display: grid;
  width: 128px;
  transform: translate(-50%, -50%);
  justify-items: center;
  text-align: center;
}

#view-auditplan .ap-coverage-ring-center strong {
  color: #172033;
  font-size: 38px;
  line-height: 1;
  letter-spacing: -0.035em;
  font-variant-numeric: tabular-nums;
}

#view-auditplan .ap-coverage-ring-center strong span {
  color: #8491a2;
  font-size: 20px;
  font-weight: 700;
}

#view-auditplan .ap-coverage-ring-center b {
  margin-top: 8px;
  color: #314157;
  font-size: 13px;
}

#view-auditplan .ap-coverage-ring-center small {
  margin-top: 4px;
  color: #6d7c90;
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}

#view-auditplan .ap-coverage-legend {
  display: grid;
  grid-template-columns: repeat(2, minmax(98px, 1fr));
  width: 100%;
  max-width: 260px;
  gap: 7px 18px;
  padding: 0;
  border: 0;
  background: transparent;
}

#view-auditplan .ap-coverage-legend span {
  display: grid;
  grid-template-columns: 8px minmax(0, 1fr) auto;
  align-items: center;
  gap: 7px;
  color: #536579;
  font-size: 11px;
  font-weight: 650;
}

#view-auditplan .ap-coverage-legend span::before {
  width: 8px;
  height: 8px;
}

#view-auditplan .ap-coverage-legend span b {
  color: #253349;
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}

#view-auditplan .ap-coverage-modules {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: start;
  gap: 0;
  padding: 16px 20px 20px;
}

#view-auditplan .ap-coverage-module {
  display: flex;
  min-width: 0;
  min-height: 66px;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 11px 12px;
  border: 0;
  border-bottom: 1px solid #e8edf3;
  background: transparent;
  color: #1f2d41;
  text-align: left;
  cursor: pointer;
  transition: background-color 160ms ease-out;
}

#view-auditplan .ap-coverage-module:nth-child(odd) { margin-right: 9px; }
#view-auditplan .ap-coverage-module:nth-child(even) { margin-left: 9px; }
#view-auditplan .ap-coverage-module:hover { background: #f6f8fb; }

#view-auditplan .ap-coverage-module > span {
  display: grid;
  min-width: 0;
  grid-template-columns: 9px minmax(0, 1fr);
  column-gap: 9px;
  align-items: center;
}

#view-auditplan .ap-coverage-module i {
  grid-row: 1 / span 2;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #cbd4df;
}

#view-auditplan .ap-coverage-module.is-completed i { background: #178267; }
#view-auditplan .ap-coverage-module.is-in-progress i { background: #3569ce; }
#view-auditplan .ap-coverage-module.is-planned i { background: #d28a2f; }
#view-auditplan .ap-coverage-module.is-not-applicable i { background: #e3e8ee; }

#view-auditplan .ap-coverage-module strong,
#view-auditplan .ap-coverage-module small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#view-auditplan .ap-coverage-module strong {
  color: #26354a;
  font-size: 13px;
}

#view-auditplan .ap-coverage-module small {
  margin-top: 3px;
  color: #728196;
  font-size: 11px;
}

#view-auditplan .ap-coverage-module > b {
  flex: 0 0 auto;
  color: #718096;
  font-size: 11px;
  font-weight: 750;
}

#view-auditplan .ap-coverage-module.is-completed > b { color: #117159; }
#view-auditplan .ap-coverage-module.is-in-progress > b { color: #2858b7; }
#view-auditplan .ap-coverage-module.is-planned > b { color: #a56515; }

/* 专项子类保留在其父类型内，不再与根类型混排。 */
#view-auditplan .ap-coverage-modules { grid-template-columns: minmax(0, 1fr); }
#view-auditplan .ap-coverage-type-group { min-width: 0; }
#view-auditplan .ap-coverage-type-group .ap-coverage-module { width: 100%; margin: 0; }
#view-auditplan .ap-coverage-subtypes { margin: 8px 0 14px 30px; padding: 0; border: 0; border-radius: 8px; background: var(--visual-surface-muted, #f5f8fc); }
#view-auditplan .ap-coverage-subtypes summary { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:42px; padding:10px 14px; box-sizing:border-box; border-radius:8px; color:var(--visual-copy, #536579); cursor:pointer; font-size:12px; list-style:none; }
#view-auditplan .ap-coverage-subtypes summary::-webkit-details-marker { display:none; }
#view-auditplan .ap-coverage-subtypes summary:hover { background:var(--visual-accent-soft, #e7efff); color:var(--visual-accent, #2458d3); }
#view-auditplan .ap-subtypes-label,#view-auditplan .ap-subtypes-toggle { display:inline-flex; align-items:center; gap:8px; }
#view-auditplan .ap-subtypes-label { font-weight:600; }
#view-auditplan .ap-subtypes-count { min-width:22px; padding:1px 5px; border-radius:5px; background:var(--visual-surface, #fff); text-align:center; font-size:11px; font-variant-numeric:tabular-nums; box-sizing:border-box; }
#view-auditplan .ap-subtypes-toggle { font-weight:400; gap:5px; }
#view-auditplan .ap-subtypes-collapse { display:none; }
#view-auditplan .ap-coverage-subtypes[open] .ap-subtypes-collapse { display:inline; }
#view-auditplan .ap-coverage-subtypes[open] .ap-subtypes-expand { display:none; }
#view-auditplan .ap-coverage-subtypes[open] .ap-subtypes-toggle svg { transform:rotate(180deg); }
#view-auditplan .ap-subtypes-list { padding:0 10px 8px; }
#view-auditplan .ap-subtypes-list .ap-coverage-module:last-child { border-bottom:0; }
#view-auditplan .ap-subtypes-list .ap-coverage-module strong { font-weight:500; }
#view-auditplan .ap-coverage-module:focus-visible { outline:2px solid var(--visual-accent, #2458d3); outline-offset:-2px; border-radius:6px; }
#view-auditplan .ap-coverage-subtypes summary:focus-visible { outline: 2px solid #3569ce; outline-offset: 2px; }
#view-auditplan .ap-coverage-subtypes .ap-coverage-module { min-height: 56px; }
#view-auditplan .ap-coverage-module.is-partial i,
#view-auditplan .ap-coverage-legend .is-partial::before { background: #aa741f; }
#view-auditplan .ap-coverage-module.is-partial > b { color: #8a5d16; }
#view-auditplan .ap-coverage-ring-segment.is-partial { stroke: #aa741f; }

#view-auditplan .ap-coverage-map > footer {
  padding: 10px 20px;
  border-top: 1px solid #e6ebf2;
  background: #fbfcfd;
  color: #64758a;
  font-size: 11px;
}

#view-auditplan .ap-coverage-empty {
  border-top: 1px solid #e8edf3;
  background: #fffdf7;
}

#view-auditplan .ap-coverage-topic-summary {
  display: grid;
  gap: 4px;
  padding: 13px 14px;
  border: 1px solid #dbe3ed;
  border-radius: 12px;
  background: #f7f9fc;
}

#view-auditplan .ap-coverage-topic-summary strong { color: #1e2b3e; font-size: 15px; }
#view-auditplan .ap-coverage-topic-summary span { color: #68788c; font-size: 12px; }

#view-auditplan .ap-coverage-topic-entities {
  display: grid;
  margin-top: 12px;
  border-top: 1px solid #e3e9f0;
}

#view-auditplan .ap-coverage-topic-entities button {
  display: flex;
  min-height: 58px;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 10px 4px;
  border: 0;
  border-bottom: 1px solid #e8edf3;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

#view-auditplan .ap-coverage-topic-entities button:hover { background: #f8fafc; }
#view-auditplan .ap-coverage-topic-entities button > span { display: grid; gap: 3px; }
#view-auditplan .ap-coverage-topic-entities strong { color: #253349; font-size: 13px; }
#view-auditplan .ap-coverage-topic-entities small { color: #718096; font-size: 11px; }
#view-auditplan .ap-coverage-topic-entities b { padding: 4px 8px; border-radius: 999px; font-size: 10px; }
#view-auditplan .ap-coverage-topic-entities b.is-completed { background: #e9f6f1; color: #0b7055; }
#view-auditplan .ap-coverage-topic-entities b.is-in-progress { background: #edf3ff; color: #2858b7; }
#view-auditplan .ap-coverage-topic-entities b.is-planned { background: #fff5e5; color: #9a5f14; }
#view-auditplan .ap-coverage-topic-entities b.is-not-covered,
#view-auditplan .ap-coverage-topic-entities b.is-not-applicable { background: #f0f3f6; color: #69788b; }

.ap-module-manager-modal {
  display: flex;
  width: min(720px, calc(100vw - 32px));
  max-height: min(780px, calc(100dvh - 32px));
  flex-direction: column;
}

.ap-module-manager-modal .ap-modal-header,
.ap-module-manager-modal .ap-modal-footer { flex: 0 0 auto; }
.ap-module-manager-modal .ap-modal-body { min-height: 0; overflow-y: auto; }

.ap-coverage-module-overview {
  display: flex;
  gap: 24px;
  padding: 12px 14px;
  border: 1px solid #dbe3ed;
  border-radius: 12px;
  background: #f7f9fc;
  color: #607187;
  font-size: 12px;
}

.ap-coverage-module-overview span { display: inline-flex; align-items: baseline; gap: 6px; }
.ap-coverage-module-overview strong { color: #1f2d41; font-size: 18px; font-variant-numeric: tabular-nums; }

.ap-coverage-module-manager {
  overflow: hidden;
  margin-top: 14px;
  border: 1px solid #dbe3ed;
  border-radius: 12px;
  background: #ffffff;
}

.ap-coverage-module-manager > section + section { border-top: 1px solid #dbe3ed; }

.ap-coverage-module-manager section > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 9px 13px;
  background: #f7f9fc;
}

.ap-coverage-module-manager section > header strong { color: #33435a; font-size: 12px; }
.ap-coverage-module-manager section > header span { color: #758398; font-size: 11px; }

.ap-coverage-module-row {
  display: grid;
  min-height: 58px;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  padding: 10px 13px;
  border-top: 1px solid #edf1f5;
}

.ap-coverage-module-row > span { display: grid; min-width: 0; gap: 3px; }
.ap-coverage-module-row > span strong { overflow: hidden; color: #253349; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.ap-coverage-module-row > span small { overflow: hidden; color: #718096; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.ap-coverage-module-row > b { color: #68788c; font-size: 10px; font-weight: 750; }

.ap-coverage-module-actions { display: flex; gap: 6px; }
.ap-coverage-module-actions button {
  min-height: 30px;
  padding: 4px 9px;
  border: 1px solid #d6dfeb;
  border-radius: 8px;
  background: #ffffff;
  color: #35516d;
  font: inherit;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
}

.ap-coverage-module-actions button:hover { border-color: #adc2dc; background: #f7faff; }
.ap-coverage-module-actions button.is-danger { color: #b13f3a; }
.ap-coverage-module-actions button:disabled { color: #8b98a9; cursor: not-allowed; opacity: 0.72; }
.ap-coverage-module-empty { padding: 18px 13px; border-top: 1px solid #edf1f5; color: #718096; font-size: 12px; }

#view-auditplan .ap-ledger-suite {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
}

#view-auditplan .ap-project-status-panel {
  display: grid;
  width: min(calc(100% - 64px), 1240px);
  margin-inline: auto;
  grid-template-columns: 104px minmax(0, 1fr);
  align-items: center;
  gap: 20px;
}

#view-auditplan .ap-project-status-panel > h3 {
  margin: 0;
  color: #182235;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: -0.01em;
}

#view-auditplan .ap-ledger-suite .ap-landing-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

#view-auditplan .ap-ledger-suite .ap-landing-metric {
  position: relative;
  min-height: 76px;
  padding: 12px 14px;
  border: 1px solid #d8e1ec;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: none !important;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color 160ms ease-out, background-color 160ms ease-out;
}

#view-auditplan .ap-ledger-suite .ap-landing-metric:hover { border-color: #aebfd3; background: #f8fafc; transform: none; }
#view-auditplan .ap-ledger-suite .ap-landing-metric { border-color:var(--visual-line,#d3deea); background:var(--visual-surface,#fff); }
#view-auditplan .ap-ledger-suite .ap-landing-metric.is-active { border-color:var(--visual-accent,#2458d3); background:var(--visual-accent-soft,#e7efff); }
#view-auditplan .ap-ledger-suite .ap-landing-metric:focus-visible { outline: 3px solid rgba(47, 99, 200, 0.24); outline-offset: 2px; }

#view-auditplan .ap-ledger-suite .ap-landing-metric::before {
  inset: 13px 13px auto auto;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #3569ce;
}

#view-auditplan .ap-ledger-suite .ap-landing-metric:not(.is-active)::before { display:none; }
#view-auditplan .ap-ledger-suite .ap-landing-metric.is-active::before { background:var(--visual-accent,#2458d3); }

#view-auditplan .ap-ledger-suite .ap-landing-metric span { color: #536579; font-size: 12px; }
#view-auditplan .ap-ledger-suite .ap-landing-metric strong { margin-top: 4px; color: #172033; font-size: 24px; font-variant-numeric: tabular-nums; }
#view-auditplan .ap-ledger-suite .ap-landing-metric small { margin-top: 4px; color: #718096; font-size: 11px; }

#view-auditplan .ap-execution-ledger {
  border-color: #d8e1ec;
  border-radius: 16px;
  box-shadow: none;
}

#view-auditplan .ap-ledger-head {
  align-items: center;
  padding: 17px 20px 14px;
}

#view-auditplan .ap-ledger-head > div { max-width: 68ch; }

#view-auditplan .ap-ledger-head h3 {
  margin: 0;
  color: #182235;
  font-size: 20px;
  letter-spacing: -0.015em;
}

#view-auditplan .ap-ledger-head p {
  max-width: 68ch;
  margin: 5px 0 0;
  color: #64758a;
  font-size: 12px;
  line-height: 1.55;
}

#view-auditplan .ap-ledger-table {
  min-width: 1180px;
  table-layout: fixed;
}

#view-auditplan .ap-ledger-table th {
  padding: 9px 11px;
  border-right: 1px solid #e2e8f0;
  color: #536579;
  font-size: 11px;
}

#view-auditplan .ap-ledger-table th:last-child { border-right: 0; }

#view-auditplan .ap-ledger-table .ap-ledger-field-head th {
  background: #eef2f7;
  color: #26354a;
  font-weight: 750;
  text-align: left;
}

#view-auditplan .ap-ledger-col-entity { width: 18%; }
#view-auditplan .ap-ledger-col-project { width: 29%; }
#view-auditplan .ap-ledger-col-approval { width: 9%; }
#view-auditplan .ap-ledger-col-plan-month { width: 10%; }
#view-auditplan .ap-ledger-col-actual-month { width: 10%; }
#view-auditplan .ap-ledger-col-lead { width: 7%; }
#view-auditplan .ap-ledger-col-state { width: 7%; }
#view-auditplan .ap-ledger-col-variance { width: 10%; }

#view-auditplan .ap-ledger-table th:nth-child(1) { width: 18% !important; }
#view-auditplan .ap-ledger-table th:nth-child(2) { width: 29% !important; }
#view-auditplan .ap-ledger-table th:nth-child(3) { width: 9% !important; }
#view-auditplan .ap-ledger-table th:nth-child(4) { width: 10% !important; }
#view-auditplan .ap-ledger-table th:nth-child(5) { width: 10% !important; }
#view-auditplan .ap-ledger-table th:nth-child(6) { width: 7% !important; }
#view-auditplan .ap-ledger-table th:nth-child(7) { width: 7% !important; }
#view-auditplan .ap-ledger-table th:nth-child(8) { width: 10% !important; }

#view-auditplan .ap-ledger-table td {
  padding: 13px 11px;
  font-size: 12px;
}

#view-auditplan .ap-ledger-table td:first-child strong { font-size: 13px; }

#view-auditplan .ap-ledger-project-cell {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-items: start;
  gap: 8px;
}

#view-auditplan .ap-ledger-project-cell > strong {
  width: 100%;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#view-auditplan .ap-ledger-project-action {
  min-height: 30px;
  padding: 4px 9px;
  border: 1px solid #c7d5e6;
  border-radius: 8px;
  background: #ffffff;
  color: #214f8f;
  font: inherit;
  font-size: 11px;
  font-weight: 750;
  line-height: 1.2;
  white-space: nowrap;
  cursor: pointer;
}

#view-auditplan .ap-ledger-project-action:hover {
  border-color: #7d9fd2;
  background: #f3f7fd;
}

#view-auditplan .ap-ledger-project-action:focus-visible {
  outline: 3px solid rgba(47, 99, 200, 0.24);
  outline-offset: 2px;
}

#view-auditplan .ap-project-handoff-status,
#view-auditplan .ap-item-handoff-state {
  display: inline-flex;
  min-height: 25px;
  align-items: center;
  padding: 3px 8px;
  border-radius: 999px;
  background: #edf3ff;
  color: #2858b7;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
}

#view-auditplan .ap-project-handoff-note {
  display: block;
  max-width: 28ch;
  color: #6b7c91;
  font-size: 11px;
  line-height: 1.45;
}

#view-auditplan .ap-row-actions .ap-project-handoff-status {
  margin-right: 2px;
}

#view-auditplan .ap-ledger-month {
  color: #2b3a4f !important;
  font-size: 12px !important;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

#view-auditplan .ap-approval-state,
#view-auditplan .ap-ledger-variance {
  display: inline-flex;
  min-height: 25px;
  align-items: center;
  padding: 3px 8px;
  border-radius: 999px;
  background: #eef2f6;
  color: #58697d;
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
}

#view-auditplan .ap-approval-state.is-approved,
#view-auditplan .ap-ledger-variance.is-on-time { background: #e9f6f1; color: #0d7057; }
#view-auditplan .ap-approval-state.is-adjusting,
#view-auditplan .ap-ledger-variance.is-pending { background: #fff5e5; color: #9a5f14; }
#view-auditplan .ap-ledger-variance.is-late { background: #fff0ee; color: #ad4038; }
#view-auditplan .ap-ledger-variance.is-early { background: #edf3ff; color: #2858b7; }

#view-auditplan .ap-ledger-state {
  min-height: 25px;
  padding: 3px 8px;
  font-size: 10px;
}

html[data-theme="dark"] #view-auditplan :is(.ap-coverage-map, .ap-execution-ledger) {
  border-color: #314158;
  background: #172235;
}

html[data-theme="dark"] #view-auditplan :is(.ap-coverage-chart-panel, .ap-ledger-table .ap-ledger-field-head th) {
  border-color: #314158;
  background: #132033;
}

html[data-theme="dark"] #view-auditplan :is(.ap-coverage-head h3, .ap-ledger-head h3, .ap-coverage-ring-center strong, .ap-coverage-module strong) { color: #eef4ff; }
html[data-theme="dark"] #view-auditplan .ap-project-status-panel > h3 { color: #eef4ff; }
html[data-theme="dark"] #view-auditplan .ap-ledger-project-action { border-color: #40536e; background: #172235; color: #b9d3ff; }
html[data-theme="dark"] #view-auditplan :is(.ap-project-handoff-status, .ap-item-handoff-state) { background: #243b63; color: #cfe0ff; }
html[data-theme="dark"] #view-auditplan .ap-project-handoff-note { color: #9aabc0; }
html[data-theme="dark"] #view-auditplan :is(.ap-coverage-module, .ap-coverage-map > footer) { border-color: #314158; }
html[data-theme="dark"] #view-auditplan .ap-coverage-module:hover { background: #1c2a40; }
html[data-theme="dark"] #view-auditplan .ap-ledger-suite .ap-landing-metric { border-color: #314158; background: #172235; }
html[data-theme="dark"] :is(.ap-coverage-module-manager, .ap-coverage-module-actions button) { border-color: #314158; background: #172235; }
html[data-theme="dark"] .ap-coverage-module-manager section > header { background: #132033; }
html[data-theme="dark"] #view-auditplan .ap-ledger-suite .ap-landing-metric.is-active { background: #1d2d49; }

@media (max-width: 980px) {
  #view-auditplan .ap-coverage-visual { grid-template-columns: minmax(250px, 0.58fr) minmax(430px, 1.42fr); }
  #view-auditplan .ap-coverage-chart-panel { padding-inline: 20px; }
}

@media (max-width: 760px) {
  #view-auditplan .ap-coverage-head { align-items: flex-start; }
  #view-auditplan .ap-coverage-visual { grid-template-columns: 1fr; }
  #view-auditplan .ap-coverage-chart-panel { border-right: 0; border-bottom: 1px solid #e6ebf2; }
  #view-auditplan .ap-coverage-ring { width: 220px; }
  #view-auditplan .ap-coverage-modules { padding-top: 8px; }
  #view-auditplan .ap-project-status-panel { width: 100%; grid-template-columns: 1fr; gap: 10px; }
  #view-auditplan .ap-ledger-suite .ap-landing-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  #view-auditplan .ap-coverage-head,
  #view-auditplan .ap-ledger-head { padding-inline: 14px; }
  #view-auditplan .ap-coverage-modules { grid-template-columns: 1fr; padding-inline: 14px; }
  #view-auditplan .ap-coverage-module:nth-child(n) { margin-inline: 0; }
  #view-auditplan .ap-coverage-legend { max-width: 240px; }
  .ap-coverage-module-row { grid-template-columns: 1fr; gap: 8px; }
  .ap-coverage-module-actions { justify-content: flex-start; }
}

@media (max-width: 420px) {
  #view-auditplan .ap-ledger-suite .ap-landing-metrics { grid-template-columns: 1fr; }
}
#view-auditplan .ap-annual-arrangement { margin-top:24px; border-top:1px solid #dfe5ec; }
#view-auditplan .ap-annual-arrangement > summary { display:flex; align-items:center; flex-wrap:wrap; gap:8px 16px; min-height:56px; padding:16px 4px; color:#304157; cursor:pointer; }
#view-auditplan .ap-annual-arrangement > summary::before { content:'›'; font-size:20px; }
#view-auditplan .ap-annual-arrangement[open] > summary::before { transform:rotate(90deg); }
#view-auditplan .ap-annual-arrangement > summary strong { font-size:14px; }
#view-auditplan .ap-annual-arrangement > summary span { color:#647184; font-size:12px; }
#view-auditplan .ap-annual-arrangement > summary:focus-visible { outline:2px solid #1769e8; outline-offset:2px; }
html[data-theme="dark"] #view-auditplan .ap-annual-arrangement { border-color:#314158; }
html[data-theme="dark"] #view-auditplan .ap-annual-arrangement > summary { color:#dce6f3; }
html[data-theme="dark"] #view-auditplan .ap-annual-arrangement > summary span { color:#aebbd0; }
#view-auditplan .ap-ledger-result-meta { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px 12px; color:var(--visual-copy,#526174); font-size:12px; }
#view-auditplan .ap-ledger-result-meta button { min-height:36px; padding:6px 10px; border:1px solid var(--visual-line,#dce3ea); border-radius:var(--visual-radius-sm,7px); background:var(--visual-surface,#fff); color:var(--visual-accent-deep,#2458a0); font:inherit; cursor:pointer; }
@media (max-width:760px) {
  #view-auditplan .ap-ledger-head { align-items:flex-start; flex-direction:column; gap:12px; }
  #view-auditplan .ap-ledger-result-meta { justify-content:flex-start; }
}
