
      #riskview .risk-filter-disclosure,#riskview .risk-detail-disclosure{margin:12px 0;border:1px solid #cbd5e1;border-radius:12px;padding:12px;background:#fff}
      #riskview summary{cursor:pointer;font-weight:700;line-height:1.5;padding:4px}
      #riskview .risk-cell:focus-visible,#riskview summary:focus-visible{outline:3px solid #1e3a8a;outline-offset:3px}
      #riskview .risk-cell[aria-pressed="true"]{box-shadow:inset 0 0 0 3px #0f172a}
      #riskview .risk-empty-state{padding:16px}
      #riskview #rvScopeNote{padding:8px 0;line-height:1.6;overflow-wrap:anywhere}
      @media(max-width:800px){
        #riskview .risk-kpis,#riskview .risk-decision-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}
        #riskview .risk-kpi{padding:10px;min-width:0}
        #riskview .risk-kpi b,#riskview .risk-decision-card strong{font-size:22px!important;line-height:1.2}
        #riskview .risk-kpi span,#riskview .risk-decision-card span{font-size:12px!important;line-height:1.4}
        #riskview .risk-decision-card{padding:10px;min-width:0}
        #riskview .risk-decision-card p,#riskview .risk-method-note{font-size:12px!important;line-height:1.5}
        #riskview h2{font-size:22px!important;line-height:1.25}
        #riskview h3{font-size:18px!important;line-height:1.35;overflow-wrap:anywhere}
        #riskview .risk-tools{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch}
        #riskview .risk-tools label{min-width:0;width:100%}
        #riskview .risk-tools input,#riskview .risk-tools select{width:100%;min-width:0;font-size:16px}
        #riskview .risk-view-tabs .btn{min-height:44px}
        #riskview .risk-profile-matrix-layout{grid-template-columns:minmax(0,1fr)!important}
        #riskview .risk-profile-matrix-layout .risk-heatmap{min-width:0;grid-template-columns:54px repeat(5,minmax(0,1fr));gap:4px}
        #riskview .risk-cell{min-height:44px;padding:4px;font-size:14px}
        #riskview .risk-axis{font-size:10px;overflow-wrap:anywhere}
        #riskview .risk-summary-table-wrap{max-width:100%;overflow-x:auto}
        #riskview .risk-graph-snapshot{grid-template-columns:repeat(2,minmax(0,1fr))!important}
      }
    

/* UI-CG-01: shared APP presentation. No page background, handlers or permissions changed. */
#app > .main, .cg-dialog {
  --cg-action-fill: #dbeafe;
  --cg-action-ink: #163a8a;
  --cg-action-border: #5f8fe8;
  --cg-action-blue: #2456db;
  --cg-action-blue-ink: #fff;
  --cg-action-muted: #52627a;
  --cg-action-soft: #f3f6fc;
  --cg-action-purple: #5930ad;
  --cg-action-warning: #92400e;
  --cg-action-danger: #b42335;
  --cg-action-height: 40px;
}
.cg-dialog { --cg-action-height:44px; }
/* Scope to action components, never every button: heatmaps/choices/navbar retain their semantics. */
#app > .main :is(.btn, button.detail-link, #newOrganizationUser, #cancelOrganizationUser),
.cg-dialog button {
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:var(--cg-action-height);
  min-width:0;
  max-width:100%;
  padding:8px 12px!important;
  border:1px solid var(--cg-action-border)!important;
  border-radius:8px!important;
  background:var(--cg-action-fill)!important;
  color:var(--cg-action-ink)!important;
  font-size:14px!important;
  line-height:1.4!important;
  font-weight:600!important;
  text-align:center;
  white-space:normal!important;
  overflow-wrap:anywhere;
  box-shadow:none!important;
  text-decoration:none;
  vertical-align:middle;
  transform:none!important;
}
#app > .main :is(.btn.pri, .control-360-save-button, .soa-save-framework, .soa-save-control, [data-evidence-upload], [data-scoped-evidence-upload]),
.cg-dialog .cg-dialog-primary {
  background:var(--cg-action-blue)!important;
  border-color:var(--cg-action-blue)!important;
  color:var(--cg-action-blue-ink)!important;
}
#app > .main :is(.control-ai-button,.framework-diagnostic,.evidence-ai-button,.btn-copilot-control) {
  background:#7c3aed!important;
  border-color:#6d28d9!important;
  color:#fff!important;
}
#app > .main :is(.btn-warn,.finding-action-edit,[data-edit-control-evidence],.asset-split-section button[onclick^="showAssetForm('"]) {
  background:#f59e0b!important;
  border-color:#d97706!important;
  color:#3b2300!important;
}
#app > .main :is(.btn-danger,.evolution-delete-button,.remove-finding-action,[data-delete-action],[data-delete-finding]),
.cg-dialog .cg-dialog-danger {
  background:#dc2626!important;
  border-color:#b91c1c!important;
  color:#fff!important;
}
#app > .main .btn-action-cancel,
.cg-dialog .cg-dialog-secondary {
  background:#f1f5f9!important;
  border-color:#94a3b8!important;
  color:#334155!important;
}
#app > .main :is(.btn,button.detail-link):hover:not(:disabled):not([aria-disabled="true"]) {
  border-color:var(--cg-action-blue)!important;
  background:#c7dafe!important;
}
#app > .main :is(.btn.pri,.control-360-save-button,.soa-save-framework,.soa-save-control,[data-evidence-upload],[data-scoped-evidence-upload]):hover:not(:disabled):not([aria-disabled="true"]) {
  background:#1946c3!important;
  color:#fff!important;
}
#app > .main :is(.control-ai-button,.framework-diagnostic,.evidence-ai-button,.btn-copilot-control):hover:not(:disabled):not([aria-disabled="true"]) { background:#5b21b6!important;border-color:#4c1d95!important;color:#fff!important; }
#app > .main :is(.btn-warn,.finding-action-edit,[data-edit-control-evidence],.asset-split-section button[onclick^="showAssetForm('"]):hover:not(:disabled):not([aria-disabled="true"]) { background:#d97706!important;border-color:#b45309!important;color:#fff!important; }
#app > .main :is(.btn-danger,.evolution-delete-button,.remove-finding-action,[data-delete-action],[data-delete-finding]):hover:not(:disabled):not([aria-disabled="true"]) { background:#b91c1c!important;border-color:#991b1b!important;color:#fff!important; }
#app > .main .btn-action-cancel:hover:not(:disabled):not([aria-disabled="true"]),
.cg-dialog .cg-dialog-secondary:hover:not(:disabled) { background:#e2e8f0!important;border-color:#64748b!important;color:#1e293b!important; }
#app > .main :is(.btn,button.detail-link,#newOrganizationUser,#cancelOrganizationUser):focus-visible,
.cg-dialog button:focus-visible { outline:3px solid var(--cg-action-blue);outline-offset:3px; }
#app > .main :is(.btn,button.detail-link):is(.on,.active,[aria-pressed="true"]):not(.pri) { border-color:var(--cg-action-blue)!important;background:#eaf1ff!important;color:#173eab!important; }
/* Disabled is a state, not a style-only permission. Keep the real disabled/hidden attributes. */
#app > .main :is(.btn,button.detail-link):is(:disabled,[aria-disabled="true"]),
.cg-dialog button:is(:disabled,[aria-disabled="true"]) {
  background:#e8edf5!important;
  border-color:#c5cedd!important;
  color:#52627a!important;
  box-shadow:none!important;
  opacity:1!important;
  cursor:not-allowed;
}
#app > .main :is(.btn,button.detail-link):active:not(:disabled):not([aria-disabled="true"]) { border-color:#173eab!important; }
/* Only noninteractive status elements. A clickable chip remains a real control with its original handler. */
#app > .main :is(span,small):not([onclick]):not([role="button"]):not([tabindex]):is(.pill,.tag,.status-pill,.soa-badge,.cg-upload-badge,.cg-macro-badge,.control-summary-chip,.finding-count-chip,.finding-severity-chip,.finding-attention,.finding-status-chip,.asset-nature-pill,.cg-summary-pill,.criticality-badge,.evidence-control-chip,.evidence-gap-tag,.evidence-type-pill,.implementation-pill,.improvement-pill,.maturity-badge,.quick-status-chip,.ref-chip,.risk-asset-chip,.risk-chip,.risk-level-pill,.role-link-chip,.role-pill,.session-pill,.status-badge,.workspace-chip) {
  display:inline-flex;
  align-items:center;
  gap:5px;
  max-width:100%;
  min-height:26px;
  padding:4px 9px;
  border-radius:999px;
  box-shadow:none;
  font-size:12px!important;
  line-height:1.4!important;
  font-weight:500!important;
  white-space:normal!important;
  overflow-wrap:anywhere;
  vertical-align:middle;
}
#app > .main .control-summary-chip strong { font-size:13px;line-height:1.4;font-weight:600; }
/* Selected navigation is an underline, never the same filled affordance as an action. */
#app > .main :is(.tabs,.risk-view-tabs,.risk-framework-tabs,.control-360-tabs) {
  gap:8px 16px;
  flex-wrap:wrap;
  align-items:center;
}
#app > .main :is(.tabs .tab,.risk-view-tabs .btn,.risk-framework-tabs .btn,.control-360-tabs button[data-control-section-tab],.control-360-tabs button[data-evidence-control360-tab]) {
  min-height:44px;
  padding:10px 2px!important;
  border:0!important;
  border-bottom:3px solid transparent!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--cg-action-muted)!important;
  font-size:14px!important;
  line-height:1.4!important;
  font-weight:500!important;
  box-shadow:none!important;
  white-space:normal;
}
#app > .main :is(.tabs .tab,.risk-view-tabs .btn,.risk-framework-tabs .btn,.control-360-tabs button[data-control-section-tab],.control-360-tabs button[data-evidence-control360-tab]):is(.on,.active,[aria-selected="true"],[aria-pressed="true"]) {
  border-bottom-color:var(--cg-action-blue)!important;
  background:transparent!important;
  color:#173eab!important;
  font-weight:650!important;
}
#app > .main :is(.tabs .tab,.risk-view-tabs .btn,.risk-framework-tabs .btn):hover:not(:disabled) { color:#173eab!important;background:transparent!important; }
/* Groups wrap rather than forcing translated action text into one narrow line. */
#app > .main :is(.row-actions,.form-actions,.asset-form-actions,.evidence-form-actions,.framework-actions,.finding-row-actions,.soa-actions,.evidence-row-actions,.admin-toolbar-actions) { gap:8px;align-items:center;flex-wrap:wrap; }
#app > .main :is(.toolbar,.admin-toolbar,.finding-summary-head,.finding-actions-head) { gap:12px;align-items:center; }
#app > .main :is(.toolbar,.admin-toolbar)>div { min-width:0; }
#app > .main :is(.risk-tools,.soa-filters,.evidence-executive-filters,.control-filters,.audit-filters) { align-items:end;gap:12px; }
#app > .main :is(.risk-tools,.soa-filters,.evidence-executive-filters,.control-filters,.audit-filters) label { min-width:0; }
#app > .main :is(.risk-tools,.soa-filters,.evidence-executive-filters,.control-filters,.audit-filters) :is(input,select) { min-height:40px; }
/* Finding title, status and actions are distinct rows: no six-column compression. */
#app > .main .finding-summary-row { display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px; }
#app > .main .finding-summary-row>div:first-child { flex:1 1 100%;min-width:0; }
#app > .main .finding-summary-row>.finding-row-actions { flex:1 1 100%;width:100%;margin-top:8px;padding-top:12px;border-top:1px solid var(--bd);justify-content:flex-end; }
#app > .main .control-summary-line { align-items:center;gap:8px; }
#app > .main .control-360-tabs .save-grid-action { gap:8px; }
#app > .main .control-360-save-button { min-width:0; }
/* Compact action alignment for the reported desktop views. */
#app > .main .control-domain > summary {
  grid-template-columns:18px minmax(240px,360px) 100px 150px 132px 132px 130px minmax(112px,max-content);
}
#app > .main .domain-summary-action {
  align-self:center;
  justify-self:start;
  width:auto;
  min-height:36px!important;
  padding:6px 10px!important;
  white-space:nowrap!important;
  overflow-wrap:normal;
}
#app > .main .linked-evidence-actions { flex-wrap:wrap;min-width:0; }
#app > .main .linked-evidence-actions .btn { min-height:36px;padding:6px 10px!important; }
#app > .main .asset-split-section .row-actions { flex-wrap:nowrap; }
#app > .main .asset-split-section .row-actions .btn { min-height:36px;padding:6px 10px!important;white-space:nowrap!important; }
#app > .main .asset-split-section button[onclick^="showAssetForm('"] { font-size:0!important; }
#app > .main .asset-split-section button[onclick^="showAssetForm('"]::after { content:"Modificar";font-size:14px;line-height:1.4; }
html[lang="en"] #app > .main .asset-split-section button[onclick^="showAssetForm('"]::after { content:"Modify"; }
#app > .main .risk-summary-table { min-width:1180px;table-layout:auto; }
#app > .main .risk-summary-table :is(th,td):nth-child(3) { min-width:104px; }
#app > .main .risk-summary-table :is(th,td):nth-child(4),
#app > .main .risk-summary-table :is(th,td):nth-child(5),
#app > .main .risk-summary-table :is(th,td):nth-child(6) { min-width:92px; }
#app > .main .risk-summary-table :is(th,td):nth-child(7) { min-width:118px; }
#app > .main .risk-summary-table :is(th,td):nth-child(8) { min-width:178px; }
#app > .main .risk-control-toggle { min-width:94px;white-space:nowrap!important;overflow-wrap:normal; }
#app > .main .risk-summary-table .risk-treatment-cell .row-actions { flex-wrap:wrap;align-items:center; }
#app > .main .risk-summary-table .risk-treatment-select { min-width:132px;width:132px; }
/* Static, local monochrome action symbols. Never infer intent from translated text. */
#app > .main :is(.btn-danger,.evolution-delete-button,.remove-finding-action,[data-delete-action],[data-delete-finding]) { --cg-action-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18M9 6V3h6v3M5 6l1 15h12l1-15M10 10v7M14 10v7'/%3E%3C/svg%3E"); }
#app > .main .finding-action-view { --cg-action-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s4-7 10-7 10 7 10 7-4 7-10 7S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E"); }
#app > .main .finding-action-edit { --cg-action-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m16 3 5 5-12 12-6 1 1-6ZM14 5l5 5'/%3E%3C/svg%3E"); }
#app > .main .control-360-save-button { --cg-action-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 3h13l4 4v14H3V3ZM7 3v6h9V3M7 21v-8h10v8'/%3E%3C/svg%3E"); }
#app > .main :is(.btn-danger,.evolution-delete-button,.remove-finding-action,[data-delete-action],[data-delete-finding],.finding-action-view,.finding-action-edit,.control-360-save-button)::before {
  content:"";flex:0 0 16px;width:16px;height:16px;background:currentColor;mask-image:var(--cg-action-icon);mask-repeat:no-repeat;mask-position:center;mask-size:contain;
}
@media(max-width:1100px) and (min-width:801px) {
  #app > .main .control-domain > summary { grid-template-columns:18px minmax(200px,270px) 78px 122px 106px 106px 110px minmax(104px,max-content);gap:6px; }
}
@media(max-width:800px) {
  #app > .main { --cg-action-height:44px; }
  #app > .main :is(.row-actions,.finding-row-actions,.framework-actions,.soa-actions,.evidence-row-actions) { flex-direction:row;align-items:center;justify-content:flex-start;white-space:normal; }
  #app > .main :is(.row-actions,.finding-row-actions,.framework-actions,.soa-actions,.evidence-row-actions) .btn { width:auto;flex:0 1 auto; }
  #app > .main .finding-summary-row>.finding-row-actions { justify-content:flex-start; }
  #app > .main :is(.toolbar,.admin-toolbar,.finding-summary-head,.finding-actions-head) { flex-wrap:wrap; }
  #app > .main :is(.risk-tools,.soa-filters,.evidence-executive-filters,.control-filters,.audit-filters) :is(input,select) { min-height:44px;font-size:16px; }
  #app > .main .control-360-tabs .save-grid-action { flex:1 1 100%;margin-left:0;justify-content:flex-end; }
  #app > .main .control-domain > summary { grid-template-columns:18px minmax(0,1fr); }
  #app > .main .domain-summary-action { grid-column:2;margin-top:6px; }
  #app > .main .asset-split-section .row-actions { flex-wrap:wrap; }
}
@media(prefers-reduced-motion:reduce) { #app > .main :is(.btn,button.detail-link) { transition:none!important;animation:none!important; } }
/* Author display rules must never override the native hidden attribute. */
#app > .main [hidden], .cg-dialog [hidden] { display:none!important; }

/* UI-CG-03: semantic action colors across authenticated APP views.
   #oc is the shared content host, so login, navigation, tabs, filters and passive GRC
   status elements remain outside these role-specific overrides. These later rules also
   outrank the legacy base selector whose :is() contains IDs. */
#app > .main #oc :is(.framework-current,.framework-evolution,.domain-summary-action,.control-detail-toggle,.finding-action-view):not(:disabled):not([aria-disabled="true"]) {
  background:#dbeafe!important;
  border-color:#5f8fe8!important;
  color:#163a8a!important;
}
#app > .main #oc :is(.framework-current,.framework-evolution,.domain-summary-action,.control-detail-toggle,.finding-action-view):hover:not(:disabled):not([aria-disabled="true"]) {
  background:#c7dafe!important;
  border-color:#2456db!important;
  color:#163a8a!important;
}
#app > .main #oc :is(.btn.pri,.control-360-save-button,.soa-save-framework,.soa-save-control,[data-evidence-upload],[data-scoped-evidence-upload],[data-macro-save]):not(:disabled):not([aria-disabled="true"]) {
  background:#2456db!important;
  border-color:#2456db!important;
  color:#fff!important;
}
#app > .main #oc :is(.btn.pri,.control-360-save-button,.soa-save-framework,.soa-save-control,[data-evidence-upload],[data-scoped-evidence-upload],[data-macro-save]):hover:not(:disabled):not([aria-disabled="true"]) {
  background:#1946c3!important;
  border-color:#1946c3!important;
  color:#fff!important;
}
#app > .main #oc :is(.framework-diagnostic,.control-ai-button,.evidence-ai-button,.btn-copilot-control,.ai-continue,.ai-voice-start,.ai-voice-stop,#copilotGoControls):not(:disabled):not([aria-disabled="true"]) {
  background:#7c3aed!important;
  border-color:#6d28d9!important;
  color:#fff!important;
}
#app > .main #oc :is(.framework-diagnostic,.control-ai-button,.evidence-ai-button,.btn-copilot-control,.ai-continue,.ai-voice-start,.ai-voice-stop,#copilotGoControls):hover:not(:disabled):not([aria-disabled="true"]) {
  background:#5b21b6!important;
  border-color:#4c1d95!important;
  color:#fff!important;
}
#app > .main #oc :is(.btn-warn,.finding-action-edit,[data-edit],[data-edit-control-evidence],[data-corporate-edit],[data-cg-edit],[data-edit-user],[data-edit-organization],[data-edit-action],[data-edit-finding],button[onclick^="editRecord("],button[onclick^="editRiskRecord("],button[onclick^="showAssetForm('"],button[onclick^="showThirdPartyForm('"],button[onclick^="showObjectiveForm('"],button[onclick^="showProcessForm('"]):not(:disabled):not([aria-disabled="true"]) {
  background:#f59e0b!important;
  border-color:#d97706!important;
  color:#3b2300!important;
}
#app > .main #oc :is(.btn-warn,.finding-action-edit,[data-edit],[data-edit-control-evidence],[data-corporate-edit],[data-cg-edit],[data-edit-user],[data-edit-organization],[data-edit-action],[data-edit-finding],button[onclick^="editRecord("],button[onclick^="editRiskRecord("],button[onclick^="showAssetForm('"],button[onclick^="showThirdPartyForm('"],button[onclick^="showObjectiveForm('"],button[onclick^="showProcessForm('"]):hover:not(:disabled):not([aria-disabled="true"]) {
  background:#d97706!important;
  border-color:#b45309!important;
  color:#fff!important;
}
#app > .main #oc :is(.btn-action-cancel,.quick-cancel,[data-cancel],[data-cg-cancel],[data-cancel-user-edit],[data-cancel-reference-form],[data-control-evidence-upload-cancel]):not(:disabled):not([aria-disabled="true"]),
#app > .main #oc .control-card.expanded .control-detail-toggle:not(:disabled):not([aria-disabled="true"]) {
  background:#f1f5f9!important;
  border-color:#94a3b8!important;
  color:#334155!important;
}
#app > .main #oc :is(.btn-action-cancel,.quick-cancel,[data-cancel],[data-cg-cancel],[data-cancel-user-edit],[data-cancel-reference-form],[data-control-evidence-upload-cancel]):hover:not(:disabled):not([aria-disabled="true"]),
#app > .main #oc .control-card.expanded .control-detail-toggle:hover:not(:disabled):not([aria-disabled="true"]) {
  background:#e2e8f0!important;
  border-color:#64748b!important;
  color:#1e293b!important;
}
#app > .main #oc :is(.btn-danger,.evolution-delete-button,.remove-finding-action,[data-delete-action],[data-delete-finding],[data-delete-control-evidence],[data-corporate-delete],[data-request-user-deletion],[data-execute-user-deletion],[data-request-deletion],[data-approve-deletion],[data-execute-deletion],[data-deactivate-global-user],[data-toggle-user][data-status="active"],[data-toggle-organization][data-status="active"],[data-toggle-platform-admin][data-current-platform-admin="true"],[data-toggle-user-superadmin][data-current-superadmin="true"],button[onclick^="deleteRecord("]):not(:disabled):not([aria-disabled="true"]) {
  background:#dc2626!important;
  border-color:#b91c1c!important;
  color:#fff!important;
}
#app > .main #oc :is(.btn-danger,.evolution-delete-button,.remove-finding-action,[data-delete-action],[data-delete-finding],[data-delete-control-evidence],[data-corporate-delete],[data-request-user-deletion],[data-execute-user-deletion],[data-request-deletion],[data-approve-deletion],[data-execute-deletion],[data-deactivate-global-user],[data-toggle-user][data-status="active"],[data-toggle-organization][data-status="active"],[data-toggle-platform-admin][data-current-platform-admin="true"],[data-toggle-user-superadmin][data-current-superadmin="true"],button[onclick^="deleteRecord("]):hover:not(:disabled):not([aria-disabled="true"]) {
  background:#b91c1c!important;
  border-color:#991b1b!important;
  color:#fff!important;
}
    

/* CR-01: approved refined mockup. Component-only, no new containment/scroll context. */
#app > .main #oc #controlCards .control-domain {
  --cc-paper: #fff;
  --cc-ink: #172844;
  --cc-muted: #536780;
  --cc-rule: #dbe4f1;
  --cc-band: #edf3fc;
  background: var(--cc-paper);
  color: var(--cc-ink);
  border: 1px solid var(--cc-rule);
  border-radius: 10px;
}
#app > .main #oc #controlCards .control-domain > summary {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 12px;
  padding: 11px 12px;
  border-bottom: 1px solid var(--cc-rule);
  font-size: 12px;
  line-height: 1.4;
}
#app > .main #oc #controlCards .control-domain > summary .domain-summary-name {
  flex: 1 1 240px;
  font-size: 14px;
  font-weight: 600;
}
#app > .main #oc #controlCards .control-domain-body {
  padding: 0 !important;
  min-width: 0;
  box-sizing: border-box;
}
#app > .main #oc #controlCards .control-domain-body > .control-card.compact:not(.expanded) {
  margin: 0 !important;
  padding: 8px 12px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--cc-rule) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: var(--cc-paper) !important;
  box-sizing: border-box;
}
#app > .main #oc #controlCards .control-domain-body > .control-card.compact:not(.expanded):last-child {
  border-bottom: 0 !important;
}
#app > .main #oc #controlCards .control-domain-body > .control-card.expanded {
  margin: 8px 6px !important;
  padding: 12px !important;
  width: auto !important;
  max-width: calc(100% - 12px) !important;
  box-sizing: border-box;
}
#app > .main #oc #controlCards .control-summary-columns {
  display: none;
  padding: 7px 12px;
  background: var(--cc-band);
  color: var(--cc-muted);
  border-bottom: 1px solid var(--cc-rule);
  box-sizing: border-box;
  font: 400 12px/1.4 Arial, Helvetica, sans-serif;
}
#app > .main #oc #controlCards :is(.control-summary-columns-grid,.control-summary-line) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr) !important;
  gap: 7px 12px !important;
  width: 100% !important;
  max-width: 960px !important;
  min-width: 0;
  box-sizing: border-box;
  align-items: start !important;
}
#app > .main #oc #controlCards .control-card .control-summary-line {
  margin: 5px 0 0 !important;
}
#app > .main #oc #controlCards .control-card .control-summary-line > .control-summary-chip {
  display: block !important;
  width: 100% !important;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
#app > .main #oc #controlCards .control-summary-label {
  display: block;
  margin: 0 0 2px;
  color: var(--cc-muted);
  font: 400 12px/1.4 Arial, Helvetica, sans-serif;
}
#app > .main #oc #controlCards .control-card .control-summary-line > .control-summary-chip > strong {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center !important;
  justify-content: flex-start !important;
  justify-self: start !important;
  gap: 6px;
  margin: 0;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--cc-ink) !important;
  min-width: 0;
  max-width: 100% !important;
  font: 400 13px/1.45 Arial, Helvetica, sans-serif !important;
  text-align: start !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}
#app > .main #oc #controlCards .control-card .control-card-head {
  display: flex;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  justify-content: space-between;
  gap: 8px !important;
  margin: 0 !important;
}
#app > .main #oc #controlCards .control-card .control-title-line {
  flex: 1 1 230px !important;
  min-width: 0;
  margin: 4px 0 0 !important;
  font: 600 13px/1.4 Arial, Helvetica, sans-serif !important;
}
#app > .main #oc #controlCards .control-card .control-title-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex: 0 1 auto !important;
  flex-wrap: wrap !important;
  gap: 6px 10px !important;
  width: auto !important;
  max-width: 100%;
  min-width: 0;
  margin: 0 !important;
}
#app > .main #oc #controlCards .control-card .control-title-actions > .finding-summary-chip {
  display: inline-flex !important;
  flex: 0 1 auto;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  width: auto !important;
  max-width: 100%;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #b34c16 !important;
  font: 400 12px/1.4 Arial, Helvetica, sans-serif !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
#app > .main #oc #controlCards .control-finding-indicator {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
#app > .main #oc #controlCards .control-finding-indicator svg {
  width: 13px;
  height: 13px;
  flex: none;
}
#app > .main #oc #controlCards .control-summary-buttons {
  display: flex;
  align-items: center;
  gap: 5px;
  flex-wrap: wrap;
  max-width: 100%;
}
#app > .main #oc #controlCards .control-card .control-title-actions :is(.control-detail-toggle,.control-ai-button) {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-height: 30px !important;
  width: auto !important;
  max-width: 100% !important;
  padding: 5px 8px !important;
  border-radius: 6px !important;
  font: 500 12px/1.3 Arial, Helvetica, sans-serif !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  box-sizing: border-box;
}
#app > .main #oc #controlCards .control-card .control-ai-button svg {
  width: 13px;
  height: 13px;
  flex: none;
}
@media (min-width: 1000px) {
  #app > .main #oc #controlCards :is(.control-summary-columns-grid,.control-summary-line) {
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.12fr) minmax(0, 1.48fr) minmax(0, .8fr) !important;
    gap: 12px !important;
  }
  #app > .main #oc #controlCards .control-summary-columns {
    display: block;
  }
  #app > .main #oc #controlCards .control-summary-label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
}
@media (max-width: 650px) {
  #app > .main #oc #controlCards .control-domain-body > .control-card.compact:not(.expanded) {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  #app > .main #oc #controlCards .control-card .control-title-line {
    flex-basis: 100% !important;
  }
  #app > .main #oc #controlCards .control-card .control-title-line {
    margin-top: 0 !important;
  }
  #app > .main #oc #controlCards .control-card .control-title-actions {
    width: 100% !important;
    flex-basis: 100% !important;
    justify-content: space-between !important;
    gap: 6px !important;
  }
  #app > .main #oc #controlCards .control-card .control-title-actions :is(.control-detail-toggle,.control-ai-button) {
    min-height: 44px !important;
    min-width: 44px !important;
  }
}
@media (pointer: coarse) {
  #app > .main #oc #controlCards .control-card .control-title-actions :is(.control-detail-toggle,.control-ai-button) {
    min-height: 44px !important;
    min-width: 44px !important;
  }
}

/* SS-01: local names and existing signal; full original value retained for detail. */
#app > .main #oc #controlCards .control-summary-columns {
  display: none !important;
}
#app > .main #oc #controlCards .control-card:not(.expanded) .control-summary-line {
  grid-template-columns: 112px 146px 142px 85px !important;
  gap: 2px 8px !important;
  margin-top: 4px !important;
  max-width: 100% !important;
}
#app > .main #oc #controlCards .control-card:not(.expanded) .control-summary-chip > :is(.control-summary-label,strong) {
  display: none !important;
}
#app > .main #oc #controlCards .control-summary-signal {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  max-width: 100%;
  min-width: 0;
  min-height: 26px;
  margin: 0;
  padding: 3px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: 400 12px/1.4 Arial, Helvetica, sans-serif;
  cursor: pointer;
}
#app > .main #oc #controlCards .control-summary-light {
  flex: none;
  font-size: 13px;
}
#app > .main #oc #controlCards .control-summary-meaning {
  display: block;
  margin: 3px 0 0;
  color: var(--cc-muted);
  font: 400 12px/1.4 Arial, Helvetica, sans-serif;
  overflow-wrap: anywhere;
}
#app > .main #oc #controlCards .control-summary-meaning[hidden] {
  display: none !important;
}
#app > .main #oc #controlCards .control-card.expanded :is(.control-summary-signal,.control-summary-meaning) {
  display: none !important;
}
#app > .main #oc #controlCards .control-card.expanded .control-summary-label {
  display: block;
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  clip-path: none;
  white-space: normal;
}
@media (max-width: 800px) {
  #app > .main #oc #controlCards .control-card:not(.expanded) .control-summary-line {
    grid-template-columns: minmax(0,1fr) minmax(0,1.15fr) !important;
    gap: 2px 12px !important;
  }
}
@media (pointer: coarse) {
  #app > .main #oc #controlCards .control-summary-signal {
    min-height: 44px;
    width: 100%;
  }
}

.role-policy-assignment-list,
.role-policy-assignment-history > div {
  display: grid;
  gap: 8px;
}
.role-policy-assignment-list > article,
.role-policy-assignment-history article {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border: 1px solid #d8e3f5;
  border-radius: 12px;
  padding: 12px;
  background: #f8fbff;
}
.role-policy-assignment-list strong,
.role-policy-assignment-list span,
.role-policy-assignment-list small,
.role-policy-assignment-history span,
.role-policy-assignment-history small {
  display: block;
}
.role-policy-assignment-list span,
.role-policy-assignment-history span { color: #55657e; }
.role-policy-assignment-list small,
.role-policy-assignment-history small { color: #71819a; margin-top: 4px; }
.role-policy-assignment-confirm { display: flex; align-items: end; gap: 8px; flex-wrap: wrap; }
.role-policy-assignment-confirm label { display: grid; gap: 5px; }
.role-policy-assignment-confirm textarea,
.role-policy-console > label textarea {
  min-height: 68px;
  resize: vertical;
  border: 1px solid #b8c9e7;
  border-radius: 10px;
  padding: 10px;
  color: #111827;
}
.role-policy-assignment-history { border: 1px solid #d8e3f5; border-radius: 12px; padding: 12px; }
.role-policy-assignment-history summary { font-weight: 800; cursor: pointer; }
.role-policy-assignment-history > div { margin-top: 12px; }
.role-policy-assignment-history article { align-items: flex-start; flex-direction: column; }
@media (max-width: 900px) {
  .role-policy-assignment-list > article,
  .role-policy-assignment-confirm { align-items: stretch; flex-direction: column; }
  .role-policy-assignment-confirm textarea { width: 100%; }
}

/* 3.9.45 MFA: con el servicio de verificación no disponible solo se muestra el aviso y «Reintentar». */
#mfaOtpForm[data-mfa-state="unavailable"] label[for="mfaOtpCode"], #mfaOtpForm[data-mfa-state="unavailable"] #mfaOtpCode { display:none !important; }
