.continuity-institutional {
  padding: 24px;
  border: 1px solid #cbdce9;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(31, 78, 121, .08);
}
.continuity-institutional-header,
.continuity-institutional-actions,
.continuity-institutional-dialog-actions,
.continuity-institutional-detail-shell > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.continuity-institutional-header h1 { margin: 4px 0; color: var(--blue); font-size: clamp(25px, 3vw, 36px); }
.continuity-institutional-header p { margin: 0; color: var(--muted); }
.continuity-institutional-actions { flex-wrap: wrap; justify-content: flex-end; }
.continuity-institutional-actions .button-secondary { width: auto; margin: 0; }
.continuity-refresh-action { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 6px; border: 0; background: transparent; color: var(--blue); font: inherit; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.continuity-refresh-action:hover { border-radius: 6px; background: #edf5fb; }
.continuity-refresh-action:focus-visible { border-radius: 6px; outline: 3px solid rgba(31, 111, 171, .28); outline-offset: 2px; }
.continuity-institutional-preview-banner,
.continuity-institutional-draft-banner {
  margin-top: 18px;
  padding: 12px 14px;
  border-left: 5px solid var(--green);
  border-radius: 9px;
  background: #eef9f0;
  color: #0d6b2a;
  font-size: 12px;
  font-weight: 900;
}
.continuity-institutional-draft-banner { border-left-color: #e3ad23; background: #fff8e7; color: #735500; }
.continuity-institutional-tabs { display: flex; gap: 6px; margin: 18px 0; overflow-x: auto; border-bottom: 1px solid #d8e4ed; }
.continuity-institutional-tabs button {
  min-width: max-content;
  min-height: 44px;
  padding: 10px 16px;
  border: 0;
  border-bottom: 3px solid transparent;
  background: transparent;
  color: var(--blue);
  font-weight: 900;
  cursor: pointer;
}
.continuity-institutional-tabs button[aria-selected="true"] { border-bottom-color: var(--green); background: #f2f8fc; }
.continuity-summary-layout { display: grid; gap: 16px; }
.continuity-summary-section {
  padding: 18px;
  border: 1px solid #d3e0eb;
  border-radius: 12px;
  background: #fff;
}
.continuity-summary-section > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.continuity-summary-section h2 { margin: 2px 0 0; color: var(--blue); font-size: clamp(18px, 2.2vw, 24px); }
.continuity-summary-section header time { max-width: 190px; color: var(--muted); font-size: 10px; text-align: right; }
.continuity-summary-eyebrow {
  margin: 0;
  color: var(--green-dark, #0d762d);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.continuity-summary-general-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(125px, .75fr)) minmax(220px, 1.35fr);
  gap: 10px;
}
.continuity-summary-decision-grid { display: grid; grid-template-columns: repeat(2, minmax(180px, 1fr)); gap: 12px; }
.continuity-summary-destination-grid { display: grid; grid-template-columns: repeat(3, minmax(150px, 1fr)); gap: 10px; }
.continuity-summary-card,
.continuity-response-rate {
  min-height: 94px;
  padding: 14px;
  border: 1px solid #d3e0eb;
  border-radius: 10px;
  background: #f8fbfd;
  color: var(--blue);
  text-align: left;
}
button.continuity-summary-card { min-height: 94px; cursor: pointer; }
button.continuity-summary-card:focus-visible,
button.continuity-summary-card:hover { border-color: var(--green); outline: 2px solid rgba(49, 169, 77, .2); }
.continuity-summary-card span,
.continuity-response-rate > span { display: block; color: var(--muted); font-size: 10px; font-weight: 900; }
.continuity-summary-card strong { display: block; margin-top: 12px; font-size: 28px; }
.continuity-summary-card.is-positive { border-left: 5px solid var(--green); background: #f3fbf4; }
.continuity-summary-card.is-negative { border-left: 5px solid #d75a4a; background: #fff7f5; }
.continuity-response-rate { border-color: #9fc3dc; background: #eef7fc; }
.continuity-response-rate strong { display: block; margin: 5px 0 10px; font-size: clamp(30px, 4vw, 42px); }
.continuity-progress { height: 12px; overflow: hidden; border-radius: 999px; background: #d8e7f0; }
.continuity-progress span { display: block; width: var(--continuity-progress); height: 100%; border-radius: inherit; background: var(--green); }
.continuity-linkage-analysis { margin-top: 18px; }
.continuity-linkage-analysis h3 { margin: 0 0 8px; color: var(--blue); font-size: 14px; }
.continuity-linkage-table-wrap { overflow: hidden; border: 1px solid #d3e0eb; border-radius: 10px; }
.continuity-linkage-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.continuity-linkage-table th,
.continuity-linkage-table td { padding: 11px; border-top: 1px solid #e1eaf1; color: var(--blue); text-align: center; }
.continuity-linkage-table thead th { border-top: 0; background: #edf5fa; font-size: 9px; text-transform: uppercase; }
.continuity-linkage-table tbody th { background: #f8fbfd; text-align: left; }
.continuity-attention-section { border-color: #e7c68a; background: #fffdf8; }
.continuity-attention-grid { display: grid; grid-template-columns: repeat(3, minmax(160px, 1fr)); gap: 10px; }
.continuity-attention-card { min-height: 80px !important; border-left: 5px solid #e3ad23; background: #fff8e7; }
.continuity-attention-card strong { font-size: 24px; }
.continuity-filters { display: grid; grid-template-columns: repeat(5, minmax(135px, 1fr)); gap: 10px; }
.continuity-filters label { color: var(--blue); font-size: 10px; font-weight: 900; }
.continuity-filters .input { min-height: 44px; margin-top: 4px; padding: 8px; font-size: 11px; }
.continuity-filter-actions { display: flex; align-items: end; gap: 8px; }
.continuity-filter-actions button { width: auto; margin: 0; }
.continuity-filter-chips { display: flex; flex-wrap: wrap; gap: 7px; min-height: 30px; margin: 10px 0; }
.continuity-filter-chip { padding: 6px 9px; border: 1px solid #bdd0df; border-radius: 20px; background: #f3f8fb; color: var(--blue); font-size: 10px; }
.continuity-table-wrap { overflow-x: auto; border: 1px solid #d3e0eb; border-radius: 10px; }
.continuity-table { width: 100%; border-collapse: collapse; color: var(--text); font-size: 11px; }
.continuity-table th { padding: 10px; background: #edf5fa; color: var(--blue); text-align: left; }
.continuity-table td { padding: 10px; border-top: 1px solid #e1eaf1; vertical-align: top; }
.continuity-table button { min-height: 44px; margin: 0; }
.continuity-status { display: inline-block; padding: 4px 7px; border-radius: 20px; background: #eaf4fb; color: var(--blue); font-size: 9px; font-weight: 900; }
.continuity-status.is-alert { background: #fff0ed; color: #9d2417; }
.continuity-pagination { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 10px; }
.continuity-pagination button { width: auto; margin: 0; }
.continuity-empty-state { padding: 36px 16px; border: 1px dashed #b9cce0; border-radius: 10px; color: var(--muted); text-align: center; }
.continuity-management-grid { display: grid; grid-template-columns: repeat(2, minmax(260px, 1fr)); gap: 12px; }
.continuity-management-card { padding: 15px; border: 1px solid #d3e0eb; border-radius: 10px; background: #fbfdff; }
.continuity-management-card h3 { margin: 0 0 6px; color: var(--blue); }
.continuity-management-meta { display: grid; gap: 5px; color: var(--muted); font-size: 11px; }
.continuity-management-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
.continuity-management-actions button { width: auto; margin: 0; }
.continuity-institutional-detail-dialog,
.continuity-institutional-action-dialog,
.continuity-campaign-lifecycle-dialog { max-width: none; padding: 0; border: 0; background: transparent; }
.continuity-institutional-detail-dialog { width: min(720px, 92vw); height: 100vh; margin: 0 0 0 auto; }
.continuity-institutional-detail-dialog::backdrop,
.continuity-institutional-action-dialog::backdrop,
.continuity-campaign-lifecycle-dialog::backdrop { background: rgba(12, 36, 58, .48); }
.continuity-institutional-detail-shell { min-height: 100%; padding: 22px; overflow-y: auto; background: #fff; box-shadow: -10px 0 30px rgba(0,0,0,.18); }
.continuity-institutional-detail-shell > header { align-items: center; position: sticky; top: -22px; z-index: 2; padding: 8px 0; background: #fff; }
.continuity-institutional-detail-shell h2 { color: var(--blue); }
.continuity-detail-section { margin-top: 14px; padding: 14px; border: 1px solid #d8e4ed; border-radius: 10px; }
.continuity-detail-section h3 { margin: 0 0 10px; color: var(--blue); font-size: 14px; }
.continuity-detail-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.continuity-detail-field { padding: 9px; border-radius: 7px; background: #f5f8fb; }
.continuity-detail-field span { display: block; color: var(--muted); font-size: 9px; font-weight: 800; }
.continuity-detail-field strong { display: block; margin-top: 4px; color: var(--blue); font-size: 11px; overflow-wrap: anywhere; }
.continuity-history { display: grid; gap: 7px; }
.continuity-history article { padding: 9px; border-left: 3px solid #bdd0df; background: #f8fbfd; font-size: 10px; }
.continuity-institutional-action-dialog { width: min(560px, 92vw); }
.continuity-institutional-action-card { padding: 22px; border-radius: 12px; background: #fff; }
.continuity-institutional-action-card h2 { color: var(--blue); }
.continuity-institutional-action-card label { display: grid; gap: 5px; margin-top: 12px; color: var(--blue); font-size: 11px; font-weight: 900; }
.continuity-institutional-action-card .input { min-height: 44px; }
.continuity-institutional-dialog-actions { margin-top: 18px; justify-content: flex-end; }
.continuity-institutional-dialog-actions button { width: auto; margin: 0; }
.continuity-campaign-lifecycle-dialog { width: min(620px, 92vw); }
.continuity-campaign-lifecycle-card { padding: 24px; border-radius: 14px; background: #fff; box-shadow: 0 22px 54px rgba(12, 36, 58, .24); }
.continuity-campaign-lifecycle-card h2 { margin: 5px 0 10px; color: var(--blue); font-size: 24px; }
.continuity-campaign-lifecycle-card p { color: var(--muted); line-height: 1.55; }
.continuity-campaign-lifecycle-card .button-primary { width: auto; min-height: 44px; margin: 0; padding: 8px 15px; }
.continuity-campaign-lifecycle-card .button-secondary { min-height: 44px; }
.continuity-campaign-lifecycle-card .continuity-lifecycle-cancel { display: inline-flex; align-items: center; width: auto; min-height: 44px; padding: 8px 6px; border: 0; background: transparent; color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
.continuity-campaign-lifecycle-card .continuity-lifecycle-cancel:hover { background: #edf5fb; }
.continuity-campaign-lifecycle-card .continuity-lifecycle-cancel:focus-visible { border-radius: 6px; outline: 3px solid rgba(31, 111, 171, .28); outline-offset: 2px; }
.continuity-campaign-lifecycle-card .button-primary.is-danger { background: #9d2417; }
.continuity-audit-filters { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-bottom: 12px; }
.continuity-audit-filters label { color: var(--blue); font-size: 10px; font-weight: 900; }
.continuity-audit-filters .input { min-height: 44px; margin-top: 4px; }
.continuity-legal-draft { margin-top: 14px; padding: 12px; border-left: 4px solid #e3ad23; background: #fff8e7; color: #735500; font-size: 11px; font-weight: 800; }
.continuity-configuration-layout { display: grid; gap: 16px; }
.continuity-configuration-section { padding: 18px; border: 1px solid #d4e1eb; border-radius: 12px; background: #fff; }
.continuity-configuration-section > header { display: flex; justify-content: space-between; margin-bottom: 14px; }
.continuity-configuration-section h2 { margin: 0; color: var(--blue); font-size: 18px; }
.continuity-configuration-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.continuity-configuration-status { min-height: 82px; padding: 12px; border: 1px solid #d8e4ed; border-radius: 9px; background: #f8fbfd; }
.continuity-configuration-status span, .continuity-configuration-status small { display: block; color: var(--muted); font-size: 9px; font-weight: 800; }
.continuity-configuration-status strong { display: block; margin: 7px 0 3px; color: var(--blue); font-size: 17px; overflow-wrap: anywhere; }
.continuity-schedule-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.continuity-schedule-grid label, .continuity-membership-filters label { display: grid; gap: 5px; color: var(--blue); font-size: 10px; font-weight: 900; }
.continuity-schedule-grid input, .continuity-membership-filters input, .continuity-membership-filters select { min-height: 44px; padding: 9px; border: 1px solid #b8ccdc; border-radius: 7px; background: #fff; color: var(--blue); }
.continuity-schedule-grid input[readonly] { background: #eef3f7; }
.continuity-configuration-warning { margin: 12px 0; padding: 11px; border-left: 4px solid #e3ad23; border-radius: 7px; background: #fff8e7; color: #735500; font-size: 11px; }
.continuity-configuration-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.continuity-configuration-actions button, .continuity-configuration-section form > button { width: auto; margin: 0; }
.continuity-configuration-meta { color: var(--muted); font-size: 10px; }
.continuity-convenio-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.continuity-convenio-form label { display: grid; gap: 5px; color: var(--blue); font-size: 10px; font-weight: 800; }
.continuity-convenio-form textarea, .continuity-convenio-form input { width: 100%; min-height: 40px; padding: 9px; border: 1px solid #b9cfe0; border-radius: 7px; color: var(--blue); background: #fff; font: inherit; font-weight: 400; }
.continuity-convenio-form textarea { min-height: 92px; resize: vertical; }
.continuity-convenio-form .continuity-configuration-actions { grid-column: 1 / -1; }
.continuity-convenio-preview { margin-top: 14px; padding: 16px; border: 1px solid #a9d7b3; border-left: 4px solid #45b65b; border-radius: 9px; background: #f5fbf6; color: var(--muted); }
.continuity-convenio-preview h3 { color: var(--blue); }
.continuity-convenio-preview .continuity-convenio-critical { margin: 10px 0; }
.continuity-convenio-preview .continuity-convenio-introduction { margin: 10px 0 4px; }
.continuity-convenio-preview .continuity-convenio-points { margin-bottom: 12px; }
.continuity-convenio-preview .continuity-preview-callout { margin: 9px 0; padding: 10px; border-left: 3px solid #e3ad23; background: #fff; }
.continuity-convenio-preview .continuity-preview-callout strong, .continuity-convenio-preview .continuity-preview-callout span { display: block; }
.continuity-membership-review { margin-top: 16px; padding-top: 14px; border-top: 1px solid #d8e4ed; scroll-margin-top: 12px; }
.continuity-membership-filters { margin-bottom: 12px; }
.continuity-configuration-readonly { border-left: 4px solid #4b9b5c; background: #f5fbf6; }
.continuity-configuration-readonly p { margin: 7px 0 0; color: var(--muted); font-size: 11px; }
.continuity-lifecycle-section { border-left: 4px solid var(--green); background: #fbfefc; }
.continuity-lifecycle-section > header { align-items: center; }
.continuity-lifecycle-status { display: inline-flex; align-items: center; min-height: 30px; padding: 5px 10px; border-radius: 999px; background: #fff1d7; color: #704b00; font-size: 11px; font-weight: 900; }
.continuity-lifecycle-status.state-abierta { background: #e5f5ec; color: #17623c; }
.continuity-lifecycle-status.state-cerrada { background: #eef1f4; color: #425466; }
.continuity-lifecycle-deadline { margin: 0 0 3px; }
.continuity-lifecycle-deadline span, .continuity-lifecycle-metric span { display: block; color: var(--muted); font-size: 10px; font-weight: 800; }
.continuity-lifecycle-deadline strong { display: block; margin-top: 3px; color: var(--blue); font-size: 18px; line-height: 1.3; }
.continuity-lifecycle-opening { margin: 0 0 12px; color: var(--muted); font-size: 10px; }
.continuity-lifecycle-opening span { font-weight: 800; }
.continuity-lifecycle-summary, .continuity-lifecycle-dialog-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-block: 1px solid #d8e4ed; }
.continuity-lifecycle-metric { min-width: 0; padding: 11px 12px; border-right: 1px solid #e2eaf0; }
.continuity-lifecycle-metric:first-child { padding-left: 0; }
.continuity-lifecycle-metric:last-child { border-right: 0; }
.continuity-lifecycle-metric strong { display: block; margin-top: 3px; color: var(--blue); font-size: 19px; }
.continuity-lifecycle-attention { margin-top: 12px; padding: 11px 13px; border-left: 3px solid #e3ad23; background: #fff8e7; color: #735500; font-size: 11px; }
.continuity-lifecycle-attention ul { margin: 6px 0 0; padding-left: 18px; }
.continuity-lifecycle-actions { display: flex; justify-content: flex-end; margin-top: 14px; }
.continuity-lifecycle-primary { width: auto; min-height: 44px; margin: 0; padding: 8px 15px; }
.continuity-lifecycle-secondary { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 4px; border: 0; background: transparent; color: #9d2417; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.continuity-lifecycle-secondary:hover { background: #fff4f2; }
.continuity-lifecycle-secondary:focus-visible { border-radius: 6px; outline: 3px solid rgba(31, 111, 171, .28); outline-offset: 2px; }
.continuity-lifecycle-warning { margin-top: 14px; padding: 11px 13px; border-left: 3px solid #e3ad23; background: #fff8e7; color: #735500 !important; }

@media (max-width: 1050px) {
  .continuity-configuration-grid { grid-template-columns: repeat(3, 1fr); }
  .continuity-schedule-grid { grid-template-columns: repeat(3, 1fr); }
  .continuity-summary-general-grid { grid-template-columns: repeat(3, 1fr); }
  .continuity-response-rate { grid-column: 1 / -1; }
  .continuity-filters { grid-template-columns: repeat(3, 1fr); }
  .continuity-audit-filters { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 820px) {
  .continuity-configuration-grid, .continuity-schedule-grid { grid-template-columns: repeat(2, 1fr); }
  .continuity-institutional { padding: 15px; }
  .continuity-institutional-header { flex-direction: column; }
  .continuity-institutional-actions { width: 100%; justify-content: stretch; }
  .continuity-institutional-actions button { flex: 1 1 130px; }
  .continuity-institutional-actions .continuity-refresh-action { flex: 0 0 auto; }
  .continuity-summary-section { padding: 14px; }
  .continuity-summary-general-grid { grid-template-columns: repeat(2, 1fr); }
  .continuity-response-rate { grid-column: 1 / -1; }
  .continuity-summary-destination-grid, .continuity-attention-grid { grid-template-columns: 1fr; }
  .continuity-management-grid { grid-template-columns: 1fr; }
  .continuity-linkage-table thead { display: none; }
  .continuity-linkage-table,
  .continuity-linkage-table tbody,
  .continuity-linkage-table tr,
  .continuity-linkage-table th,
  .continuity-linkage-table td { display: block; width: 100%; }
  .continuity-linkage-table tr { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid #d8e4ed; }
  .continuity-linkage-table tr:first-child { border-top: 0; }
  .continuity-linkage-table tbody th { grid-column: 1 / -1; border-top: 0; text-align: left; }
  .continuity-linkage-table td { padding: 9px 5px; border-top: 0; }
  .continuity-linkage-table td::before { content: attr(data-label); display: block; margin-bottom: 3px; color: var(--muted); font-size: 8px; font-weight: 900; }
  .continuity-filters, .continuity-audit-filters { grid-template-columns: repeat(2, 1fr); }
  .continuity-table thead { display: none; }
  .continuity-table, .continuity-table tbody, .continuity-table tr, .continuity-table td { display: block; width: 100%; }
  .continuity-table tr { padding: 10px; border-bottom: 1px solid #d8e4ed; }
  .continuity-table td { display: grid; grid-template-columns: 120px 1fr; gap: 8px; padding: 6px; border: 0; }
  .continuity-table td::before { content: attr(data-label); color: var(--muted); font-size: 9px; font-weight: 900; }
  .continuity-institutional-detail-dialog { width: 100vw; height: 100vh; }
  .continuity-detail-grid { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .continuity-configuration-grid, .continuity-schedule-grid, .continuity-membership-filters, .continuity-convenio-form { grid-template-columns: 1fr; }
  .continuity-summary-section > header { flex-direction: column; }
  .continuity-summary-section header time { max-width: none; text-align: left; }
  .continuity-summary-general-grid, .continuity-summary-decision-grid,
  .continuity-filters, .continuity-audit-filters { grid-template-columns: 1fr; }
  .continuity-response-rate { grid-column: auto; }
  .continuity-linkage-table tr { grid-template-columns: repeat(2, 1fr); }
  .continuity-linkage-table tbody th { grid-column: 1 / -1; }
  .continuity-pagination { align-items: stretch; flex-direction: column; }
  .continuity-table td { grid-template-columns: 92px 1fr; }
  .continuity-lifecycle-summary, .continuity-lifecycle-dialog-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .continuity-lifecycle-metric:nth-child(2) { border-right: 0; }
  .continuity-campaign-lifecycle-card .continuity-institutional-dialog-actions { align-items: flex-end; flex-direction: column-reverse; }
  .continuity-campaign-lifecycle-card .continuity-institutional-dialog-actions button { width: auto; max-width: 100%; }
}
