.apsad-page { --apsad-accent:#c76d24; --apsad-accent-dark:#94501b; --apsad-soft:#fff6ed; display: grid; gap: 16px; min-width:0; color: #1b2a3b; }
.apsad-page.is-if1 { --apsad-accent:#287a50; --apsad-accent-dark:#185638; --apsad-soft:#f1f8f4; }
.apsad-page > .app-page-header { background:linear-gradient(135deg,var(--apsad-accent-dark),var(--apsad-accent)); }
.apsad-page .app-page-header .primary-button { color:var(--apsad-accent-dark); }
.apsad-page .apsad-source-note { border-color:color-mix(in srgb,var(--apsad-accent) 25%,#d8e5ed); background:var(--apsad-soft); }
.apsad-page .apsad-source-note button,.apsad-page .apsad-card-link,.apsad-page .apsad-document-code { color:var(--apsad-accent-dark); }
.apsad-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.apsad-heading h1 { margin: 2px 0 5px; font-size: clamp(27px, 2.2vw, 32px); line-height: 1.1; }
.apsad-heading p:not(.eyebrow) { max-width: 760px; margin: 0; color: #637286; font-size: 15px; line-height: 1.5; }
.apsad-heading-actions { display: flex; align-items: flex-end; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.apsad-year { display: grid; gap: 4px; min-width: 110px; }
.apsad-year > span, .apsad-report-filters label > span { color: #718095; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.apsad-connections { display: flex; align-items: center; gap: 8px; padding: 11px 14px; border: 1px solid #dfe6ed; border-radius: 12px; background: #fff; box-shadow: 0 4px 14px rgba(22, 49, 73, .04); overflow-x: auto; }
.apsad-connections > div { min-width: 235px; margin-right: auto; }
.apsad-connections > div small { display: block; color: #77869a; font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.apsad-connections > div strong { display: block; margin-top: 2px; font-size: 13px; }
.apsad-connections button { display: inline-flex; align-items: center; gap: 6px; min-width: max-content; padding: 7px 9px; border: 0; border-radius: 8px; background: #f5f7f9; color: #526277; font: inherit; font-size: 11px; font-weight: 750; }
.apsad-connections button:not(:disabled) { cursor: pointer; }
.apsad-connections button i, .apsad-status i { width: 7px; height: 7px; border-radius: 50%; background: #9ca8b5; }
.apsad-connections button.connected i { background: #2d8a61; box-shadow: 0 0 0 3px #e0f2e9; }
.apsad-connections button span { color: #8996a6; font-weight: 600; }
.apsad-dashboard-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.apsad-dashboard-card, .apsad-panel, .apsad-document-group { padding: 16px; border: 1px solid #dfe6ed; border-radius: 14px; background: #fff; box-shadow: 0 5px 16px rgba(23, 48, 72, .05); }
.apsad-dashboard-card > header, .apsad-panel > header, .apsad-document-group > header { display: flex; align-items: center; gap: 10px; margin-bottom: 13px; }
.apsad-dashboard-card > header > span:first-child { display: grid; place-items: center; width: 36px; height: 36px; flex: 0 0 auto; border-radius: 10px; color: #21628f; background: #eaf4fb; }
.apsad-dashboard-card > header svg { width: 18px; height: 18px; }
.apsad-dashboard-card header div, .apsad-panel header div, .apsad-document-group header div { flex: 1; }
.apsad-dashboard-card header small, .apsad-panel header small, .apsad-document-group header small { display: block; color: #7a899b; font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.apsad-dashboard-card h2, .apsad-panel h2, .apsad-document-group h2 { margin: 2px 0 0; font-size: 18px; line-height: 1.2; }
.apsad-status { display: inline-flex; align-items: center; gap: 6px; width: max-content; padding: 5px 8px; border-radius: 999px; color: #5e6e81; background: #edf1f4; font-size: 11px; font-style: normal; font-weight: 800; white-space: nowrap; }
.apsad-status.success { color: #267052; background: #e5f4ec; }
.apsad-status.success i { background: #2d8a61; }
.apsad-status.warning { color: #995a1f; background: #faeddd; }
.apsad-status.warning i { background: #d7822f; }
.apsad-status.danger { color: #973943; background: #f8e5e7; }
.apsad-status.danger i { background: #bd4650; }
.apsad-certificate-value { display: flex; align-items: baseline; gap: 10px; padding: 12px 0; }
.apsad-certificate-value strong { font-size: 26px; }
.apsad-certificate-value span, .apsad-dashboard-card > p, .apsad-panel > p { color: #69798c; font-size: 13px; line-height: 1.5; }
.apsad-card-link { width: 100%; margin-top: 12px; padding: 10px 0 0; display: flex; align-items: center; justify-content: space-between; border: 0; border-top: 1px solid #e8edf1; color: #246b9a; background: transparent; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; text-align: left; }
.apsad-card-link svg { width: 15px; height: 15px; }
.apsad-metric-stack { display: grid; gap: 7px; }
.apsad-metric { width: 100%; min-height: 54px; display: grid; grid-template-columns: 30px minmax(0, 1fr) 16px; align-items: center; gap: 9px; padding: 8px 10px; border: 1px solid #e4e9ee; border-radius: 10px; color: #263649; background: #fafbfc; text-align: left; font: inherit; }
.apsad-metric:not(:disabled) { cursor: pointer; }
.apsad-metric:hover:not(:disabled) { border-color: #a9c8dc; background: #f5fafe; }
.apsad-metric-icon { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; color: #547087; background: #eaf0f4; }
.apsad-metric-icon svg, .apsad-metric > svg { width: 14px; height: 14px; }
.apsad-metric > span:nth-child(2) { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 9px; align-items: baseline; }
.apsad-metric small { color: #607186; font-size: 12px; font-weight: 700; }
.apsad-metric strong { grid-column: 2; grid-row: 1 / span 2; color: #1d3043; font-size: 15px; }
.apsad-metric em { color: #8a97a6; font-size: 10px; font-style: normal; }
.apsad-metric.warning strong { color: #a35d1c; }
.apsad-metric.success strong { color: #267052; }
.apsad-source-note { display: flex; align-items: center; gap: 8px; padding: 10px 13px; border: 1px solid #d8e5ed; border-radius: 10px; color: #49657d; background: #f5fafe; font-size: 12px; }
.apsad-source-note svg { width: 15px; height: 15px; }
.apsad-source-note span { flex: 1; }
.apsad-source-note button { border: 0; color: #246b9a; background: transparent; font: inherit; font-weight: 800; cursor: pointer; }
.apsad-activity-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.apsad-panel.full { grid-column: 1 / -1; }
.apsad-panel > header > button, .apsad-document-group > header > span { margin-left: auto; }
.apsad-inline-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 14px; }
.apsad-kpi-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.apsad-kpi-pair div { padding: 13px; border-radius: 10px; background: #f4f7f9; }
.apsad-kpi-pair strong { display: block; font-size: 23px; }
.apsad-kpi-pair span { color: #718095; font-size: 11px; }
.apsad-list { display: grid; }
.apsad-list-row { display: grid; grid-template-columns: 100px minmax(0, 1fr) auto 18px; align-items: center; gap: 12px; width: 100%; padding: 11px 4px; border: 0; border-bottom: 1px solid #e7ecf0; color: inherit; background: transparent; font: inherit; text-align: left; cursor: pointer; }
.apsad-list-row:last-child { border-bottom: 0; }
.apsad-list-row:hover { background: #f8fafc; }
.apsad-list-row > svg { width: 16px; height: 16px; color: #7990a4; }
.apsad-list-date { color: #234b6c; font-size: 12px; font-weight: 850; }
.apsad-list-row strong, .apsad-list-row small { display: block; }
.apsad-list-row strong { font-size: 13px; }
.apsad-list-row small { margin-top: 2px; color: #7a8999; font-size: 11px; }
.apsad-empty { display: grid; place-items: center; gap: 5px; padding: 22px; color: #748395; text-align: center; }
.apsad-empty.large { min-height: 260px; border: 1px dashed #ced8e1; border-radius: 14px; background: #fbfcfd; }
.apsad-empty svg { width: 28px; height: 28px; color: #8ba2b4; }
.apsad-empty strong { color: #33475b; font-size: 15px; }
.apsad-empty p { max-width: 560px; margin: 0; font-size: 12px; line-height: 1.5; }
.apsad-empty .primary-button { margin-top: 8px; color: #fff; }
.apsad-risk-list { overflow: hidden; border: 1px solid #dfe6ed; border-radius: 14px; background: #fff; box-shadow: 0 5px 16px rgba(23, 48, 72, .05); }
.apsad-risk-row { display: grid; grid-template-columns: 155px minmax(220px, 1.6fr) auto minmax(130px, .8fr) 95px auto 18px; align-items: center; gap: 11px; width: 100%; padding: 13px 14px; border: 0; border-bottom: 1px solid #e6ebef; color: inherit; background: #fff; font: inherit; text-align: left; cursor: pointer; }
.apsad-risk-row:last-child { border-bottom: 0; }
.apsad-risk-row:hover { background: #f8fbfd; }
.apsad-risk-row > span:nth-child(2) { overflow: hidden; }
.apsad-risk-row > span:nth-child(2) strong, .apsad-risk-row > span:nth-child(2) small, .apsad-risk-pilot small, .apsad-risk-pilot strong, .apsad-risk-review small, .apsad-risk-review strong { display: block; }
.apsad-risk-row > span:nth-child(2) strong { font-size: 13px; }
.apsad-risk-row > span:nth-child(2) small { overflow: hidden; margin-top: 3px; color: #768698; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.apsad-risk-ref { color: #245b83; font-size: 11px; font-weight: 850; }
.apsad-risk-pilot small, .apsad-risk-review small { color: #8895a4; font-size: 9px; text-transform: uppercase; }
.apsad-risk-pilot strong, .apsad-risk-review strong { margin-top: 2px; font-size: 11px; }
.apsad-risk-row > svg { width: 16px; height: 16px; color: #7b8fa1; }
.apsad-risk-modal { width: min(900px, calc(100vw - 32px)); }
.apsad-risk-detail { width: min(880px, calc(100vw - 32px)); }
.apsad-detail-section { margin-top: 16px; padding: 14px; border: 1px solid #e1e7ec; border-radius: 11px; background: #fafbfc; }
.apsad-detail-section h3 { margin: 0 0 8px; font-size: 15px; }
.apsad-detail-section p { margin: 0; color: #647488; font-size: 13px; line-height: 1.55; white-space: pre-line; }
.apsad-document-links, .apsad-history > div { display: grid; gap: 7px; }
.apsad-document-links button { display: grid; grid-template-columns: 140px 1fr 18px; gap: 8px; align-items: center; padding: 9px; border: 0; border-radius: 8px; color: inherit; background: #fff; font: inherit; text-align: left; cursor: pointer; }
.apsad-document-links button strong { color: #245b83; font-size: 11px; }
.apsad-document-links button span { font-size: 12px; }
.apsad-document-links svg { width: 15px; height: 15px; }
.apsad-history { margin-top: 16px; }
.apsad-history summary { color: #40576e; font-size: 12px; font-weight: 800; cursor: pointer; }
.apsad-history article { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid #e7ebef; font-size: 11px; }
.apsad-history article span { color: #778698; }
.apsad-report-filters { display: grid; grid-template-columns: 1.4fr repeat(6, minmax(110px, .7fr)); gap: 9px; padding: 13px; border: 1px solid #dfe6ed; border-radius: 12px; background: #fff; }
.apsad-report-filters label { display: grid; gap: 4px; min-width: 0; }
.apsad-report-filters input { min-width: 0; }
.apsad-report-table { overflow: hidden; border: 1px solid #dfe6ed; border-radius: 14px; background: #fff; box-shadow: 0 5px 16px rgba(23, 48, 72, .05); }
.apsad-report-table table { width: 100%; border-collapse: collapse; font-size: 12px; }
.apsad-report-table th, .apsad-report-table td { padding: 10px; border-bottom: 1px solid #e7ebef; text-align: left; }
.apsad-report-table th { color: #657589; background: #f5f7f9; font-size: 10px; letter-spacing: .04em; text-transform: uppercase; }
.apsad-document-groups { display: grid; gap: 12px; }
.apsad-document-group { padding: 0; overflow: hidden; }
.apsad-document-group > header { margin: 0; padding: 13px 15px; border-bottom: 1px solid #e4e9ed; background: #f8fafb; }
.apsad-document-group > header > span { display: grid; place-items: center; min-width: 28px; height: 28px; border-radius: 999px; color: #245b83; background: #e4f1f8; font-size: 12px; font-weight: 850; }
.apsad-document-row { display: grid; grid-template-columns: 150px minmax(0, 1fr) auto 18px; align-items: center; gap: 12px; width: 100%; padding: 12px 15px; border: 0; border-bottom: 1px solid #e7ebef; color: inherit; background: #fff; font: inherit; text-align: left; cursor: pointer; }
.apsad-document-row:last-child { border-bottom: 0; }
.apsad-document-row:hover { background: #f8fbfd; }
.apsad-document-code { color: #245b83; font-size: 11px; font-weight: 850; }
.apsad-document-row strong, .apsad-document-row small { display: block; }
.apsad-document-row strong { font-size: 13px; }
.apsad-document-row small { margin-top: 3px; color: #7b8998; font-size: 11px; }
.apsad-document-row > svg { width: 16px; height: 16px; color: #7d90a1; }
.apsad-audit-summary-panel{min-width:0}
.apsad-master-audit-wrap{width:100%;overflow-x:auto;border:1px solid #e2e8ed;border-radius:11px}
.apsad-master-audit-table{width:100%;min-width:940px;border-collapse:collapse;font-size:12px}
.apsad-master-audit-table th,.apsad-master-audit-table td{padding:10px 11px;border-bottom:1px solid #e7ebef;text-align:left;vertical-align:middle}
.apsad-master-audit-table th{color:#617286;background:#f5f7f9;font-size:10px;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.apsad-master-audit-table tr:last-child td{border-bottom:0}
.apsad-master-audit-table td:first-child strong,.apsad-master-audit-table td:first-child small{display:block}
.apsad-master-audit-table td:first-child small{margin-top:2px;color:#7b8998;font-size:10px}
.apsad-master-audit-table .secondary-button{white-space:nowrap}
.apsad-source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.apsad-source-card>header>span{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;color:var(--apsad-accent-dark);background:var(--apsad-soft)}
.apsad-source-card>header svg{width:18px;height:18px}
.apsad-source-card>.secondary-button{margin-top:12px}
.apsad-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.apsad-kpis article{display:grid;gap:2px;padding:15px;border:1px solid #dfe6ed;border-top:4px solid var(--apsad-accent);border-radius:13px;background:#fff}
.apsad-kpis strong{color:var(--apsad-accent-dark);font-size:1.55rem}
.apsad-kpis span{font-weight:800}
.apsad-kpis small{color:#718095}
.apsad-document-register{padding:0;overflow:hidden}
.apsad-register-tools{display:flex;align-items:end;gap:12px;padding:12px 14px;border-bottom:1px solid #e4e9ed;background:#f8fafb}
.apsad-register-tools label{display:grid;gap:4px;min-width:min(360px,100%);font-size:11px;font-weight:800;color:#657589}
.apsad-register-tools span{margin-left:auto;color:#718095;font-size:12px;font-weight:800}
.apsad-document-list .apsad-document-row:last-child{border-bottom:0}

@media (max-width: 1120px) {
  .apsad-report-filters { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .apsad-risk-row { grid-template-columns: 140px minmax(190px, 1fr) auto 120px 90px 18px; }
  .apsad-risk-row > .apsad-status:nth-last-child(2) { display: none; }
  .apsad-source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 780px) {
  .apsad-heading { display: grid; }
  .apsad-heading-actions { justify-content: flex-start; }
  .apsad-dashboard-grid, .apsad-activity-grid { grid-template-columns: 1fr; }
  .apsad-panel.full { grid-column: auto; }
  .apsad-report-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .apsad-risk-row { grid-template-columns: 1fr auto 18px; }
  .apsad-risk-ref, .apsad-risk-pilot, .apsad-risk-review { display: none; }
  .apsad-risk-row > .apsad-status:nth-last-child(2) { display: inline-flex; }
  .apsad-list-row { grid-template-columns: 80px minmax(0, 1fr) 18px; }
  .apsad-list-row .apsad-status { display: none; }
  .apsad-document-row { grid-template-columns: 1fr 18px; }
  .apsad-document-code, .apsad-document-row .apsad-status { display: none; }
  .apsad-source-grid,.apsad-kpis{grid-template-columns:1fr}
  .apsad-register-tools{align-items:stretch;flex-direction:column}
  .apsad-register-tools span{margin-left:0}
}
@media (max-width: 520px) {
  .apsad-report-filters { grid-template-columns: 1fr; }
  .apsad-connections > div { min-width: 205px; }
  .apsad-kpi-pair { grid-template-columns: 1fr; }
}
