:root {
  color-scheme: light;
  --bg: #ffffff;
  --surface: #ffffff;
  --surface-strong: #ffffff;
  --surface-subtle: #ffffff;
  --surface-info: #ffffff;
  --line: #d5dee8;
  --line-strong: #b7c5d5;
  --text: #101828;
  --muted: #344054;
  --muted-soft: #667085;
  --accent: #1264a3;
  --accent-strong: #0b4d7d;
  --success: #168a4a;
  --danger: #c62828;
  --warning: #b45309;
  --info: #2563eb;
  --badge-neutral-bg: #eef2f7;
  --badge-neutral-border: #cbd5e1;
  --badge-neutral-text: #344054;
  --badge-success-bg: #eaf8ef;
  --badge-success-border: #8fd4ad;
  --badge-success-text: #0f6b3c;
  --badge-warning-bg: #fff7e6;
  --badge-warning-border: #e5ad47;
  --badge-warning-text: #7a4300;
  --badge-danger-bg: #fff0f0;
  --badge-danger-border: #ee9898;
  --badge-danger-text: #971b1b;
  --badge-info-bg: #eaf4ff;
  --badge-info-border: #8dbde7;
  --badge-info-text: #174f7a;
  --shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
}

/* Authenticated dark theme. Status-specific colors remain unchanged. */
html[data-theme="dark"] body,
html[data-theme="dark"] .sidebar,
html[data-theme="dark"] .content,
html[data-theme="dark"] .user-card,
html[data-theme="dark"] .tone-platform,
html[data-theme="dark"] .infra-app-selector,
html[data-theme="dark"] .application-picker select,
html[data-theme="dark"] .application-selector-card,
html[data-theme="dark"] .metric-row span,
html[data-theme="dark"] .panel,
html[data-theme="dark"] .resource-card,
html[data-theme="dark"] .resource-table-wrap,
html[data-theme="dark"] .resource-table thead th,
html[data-theme="dark"] .modal-card,
html[data-theme="dark"] .provider-card,
html[data-theme="dark"] .provider-app-card,
html[data-theme="dark"] .provider-env-card,
html[data-theme="dark"] .environment-card,
html[data-theme="dark"] .diagnostics-summary,
html[data-theme="dark"] .diagnostics-environment,
html[data-theme="dark"] .diagnostics-environment > summary,
html[data-theme="dark"] .diagnostic-resource,
html[data-theme="dark"] .diagnostic-scope-policy,
html[data-theme="dark"] .diagnostic-scope-policy.environment-policy,
html[data-theme="dark"] .diagnostic-evidence-card,
html[data-theme="dark"] .ai-diagnosis,
html[data-theme="dark"] .log-fingerprint,
html[data-theme="dark"] .source-reference,
html[data-theme="dark"] .diagnostics-job-overlay,
html[data-theme="dark"] .auth-card,
html[data-theme="dark"] .copilot-drawer,
html[data-theme="dark"] .copilot-message,
html[data-theme="dark"] .copilot-form,
html[data-theme="dark"] .ghost-button,
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea,
html[data-theme="dark"] pre,
html[data-theme="dark"] code {
  background-color: var(--surface);
  color: var(--text);
  border-color: var(--line);
}

html[data-theme="dark"] .nav a.active,
html[data-theme="dark"] .nav a:hover,
html[data-theme="dark"] .subnav a:hover,
html[data-theme="dark"] .application-selector-card.selected,
html[data-theme="dark"] .resource-table tbody tr:hover {
  background: var(--surface-strong);
  border-color: var(--accent);
}

html[data-theme="dark"] .muted,
html[data-theme="dark"] small,
html[data-theme="dark"] .brand p,
html[data-theme="dark"] .page-header p,
html[data-theme="dark"] .resource-card span,
html[data-theme="dark"] .resource-row span,
html[data-theme="dark"] .resource-row small {
  color: var(--muted);
}

html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder {
  color: var(--muted-soft);
}

html[data-theme="dark"] .diagnostic-resource code,
html[data-theme="dark"] .diagnostic-config > summary {
  color: var(--accent-strong);
}

html[data-theme="dark"] .diagnostic-summary-copy,
html[data-theme="dark"] .diagnostic-policy-form label,
html[data-theme="dark"] .diagnostic-source-form label {
  color: var(--muted);
}

html[data-theme="dark"] .health-count.health-green { color: #7be4aa; background: #102c20; }
html[data-theme="dark"] .health-count.health-amber { color: #ffd078; background: #30230f; }
html[data-theme="dark"] .health-count.health-red { color: #ff9999; background: #321719; }
html[data-theme="dark"] .health-count.health-unknown { color: #c0cede; background: #1a2637; }

html[data-theme="dark"] .overview-resource-card .provider-github,
html[data-theme="dark"] .overview-resource-card .status-indicator-gray,
html[data-theme="dark"] .overview-resource-card .status-indicator-unknown {
  color: inherit;
}

html[data-theme="dark"] .overview-resource-card .provider-aws {
  color: var(--badge-warning-text);
}

html[data-theme="dark"] .overview-resource-card .provider-render,
html[data-theme="dark"] .resource-card-field code,
html[data-theme="dark"] .resource-table code {
  color: var(--badge-info-text);
}

html[data-theme="dark"] .overview-resource-card .status-indicator-green {
  color: var(--badge-success-text);
}

html[data-theme="dark"] .overview-resource-card .status-indicator-red {
  color: var(--badge-danger-text);
}

html[data-theme="dark"] .overview-resource-card .status-indicator-amber {
  color: var(--badge-warning-text);
}

html[data-theme="dark"] .mapping-status-warning,
html[data-theme="dark"] .scale-state-warning {
  color: var(--badge-warning-text);
  background: var(--badge-warning-bg);
  border-color: var(--badge-warning-border);
}

html[data-theme="dark"] .danger-check,
html[data-theme="dark"] .tag.danger {
  color: var(--badge-danger-text);
  background: var(--badge-danger-bg);
  border-color: var(--badge-danger-border);
}

html[data-theme="dark"] .scale-state-success {
  color: var(--badge-success-text);
  background: var(--badge-success-bg);
  border-color: var(--badge-success-border);
}

html[data-theme="dark"] .scale-state-muted,
html[data-theme="dark"] .modal-progress-copy {
  color: var(--badge-neutral-text);
  background: var(--badge-neutral-bg);
  border-color: var(--badge-neutral-border);
}

html[data-theme="dark"] .copilot-message.user {
  color: var(--text);
  background: var(--badge-info-bg);
  border-color: var(--badge-info-border);
}

html[data-theme="dark"] .copilot-message.assistant {
  color: var(--text);
  background: var(--badge-success-bg);
  border-color: var(--badge-success-border);
}

html[data-theme="dark"] .page-loading-text {
  color: var(--text);
}

html[data-theme="dark"] .page-loading-overlay {
  background: rgba(5, 10, 18, 0.78);
}

@media (prefers-reduced-motion: reduce) {
  body,
  .theme-toggle-thumb {
    transition: none;
  }
}

/* Mobile application inventory and service operations -------------------- */
.application-name-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.mobile-row-chevron {
  display: none;
}

@media (max-width: 768px) {
  .application-table-wrap,
  .service-list-wrap {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  .application-table,
  .application-table tbody,
  .service-list-table,
  .service-list-table tbody {
    width: 100%;
    min-width: 0;
    display: grid;
  }

  .application-table thead,
  .service-list-table thead {
    display: none;
  }

  .application-table tbody,
  .service-list-table tbody {
    gap: 10px;
  }

  .application-table tbody tr,
  .service-list-table tbody tr {
    min-width: 0;
    display: grid;
    border: 1px solid var(--line-strong);
    border-radius: 18px;
    background: var(--surface);
    box-shadow: 0 6px 20px rgba(15, 23, 42, 0.04);
    overflow: hidden;
  }

  .application-table tbody tr {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas:
      "app app"
      "scale status"
      "health health";
  }

  .application-table td,
  .service-list-table td {
    width: auto !important;
    min-width: 0;
    padding: 12px 14px;
    border: 0;
  }

  .application-table td::before {
    content: attr(data-mobile-label);
    display: block;
    margin-bottom: 5px;
    color: var(--muted);
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .application-table .application-name-cell {
    grid-area: app;
    padding: 0;
    border-bottom: 1px solid var(--line);
  }

  .application-table .application-name-cell::before {
    display: none;
  }

  .application-name-link {
    min-height: 58px;
    display: flex;
    justify-content: space-between;
    padding: 14px;
    font-size: 1.03rem;
  }

  .mobile-row-chevron {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    flex: 0 0 30px;
    border-radius: 999px;
    color: var(--accent-strong);
    background: var(--surface-info);
    font-size: 1.6rem;
    line-height: 1;
  }

  .application-open-cell {
    display: none;
  }

  .application-scaling-cell {
    grid-area: scale;
    border-right: 1px solid var(--line) !important;
  }

  .application-status-cell {
    grid-area: status;
  }

  .application-health-cell {
    grid-area: health;
    border-top: 1px solid var(--line) !important;
  }

  .application-info-row {
    grid-template-columns: minmax(36px, auto) minmax(0, 1fr);
    gap: 5px;
  }

  .application-info-row dd,
  .application-status-item,
  .application-health-status {
    font-size: 0.8rem;
  }

  .environment-map {
    gap: 12px;
    margin-top: 12px;
  }

  .environment-map-card {
    border-radius: 18px;
  }

  .environment-map-header {
    display: grid;
    gap: 10px;
    padding: 14px 48px 14px 14px;
  }

  .environment-map-header::after {
    top: 14px;
    right: 12px;
    width: 32px;
    height: 32px;
  }

  .environment-title-row h3 {
    font-size: 1.4rem;
  }

  .environment-title-row .icon-button {
    width: 44px;
    height: 44px;
  }

  .provider-strip {
    gap: 6px;
  }

  .provider-chip {
    padding: 6px 9px;
    font-size: 0.76rem;
  }

  .environment-header-scaling {
    width: calc(100% + 34px);
    margin-right: -34px;
  }

  .environment-header-scaling .scale-toggle {
    gap: 2px;
    padding: 2px;
  }

  .environment-header-scaling .scale-toggle-option {
    min-height: 44px;
    grid-template-columns: auto 1fr;
    justify-content: center;
    align-items: center;
    gap: 6px;
    padding: 6px 7px;
  }

  .environment-header-scaling .scale-toggle-option strong {
    font-size: 0.75rem;
  }

  .environment-header-scaling .scale-icon {
    width: 20px;
    height: 20px;
  }

  .environment-map-body {
    padding: 12px;
  }

  .service-list-table tbody tr {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "name status"
      "type status"
      "actions actions";
    padding: 13px;
  }

  .service-list-table td {
    padding: 0;
  }

  .service-name-cell {
    grid-area: name;
    padding-right: 10px !important;
  }

  .service-name-cell strong {
    overflow-wrap: anywhere;
    font-size: 0.98rem;
  }

  .service-type-cell {
    grid-area: type;
    padding-top: 2px !important;
    color: var(--muted);
    font-size: 0.8rem;
  }

  .service-status-cell {
    grid-area: status;
    align-self: start;
    justify-self: end;
  }

  .service-status-cell .status-indicator {
    padding: 6px 8px;
    font-size: 0.76rem;
  }

  .service-actions-cell {
    grid-area: actions;
    margin-top: 12px;
    padding-top: 10px !important;
    border-top: 1px solid var(--line) !important;
  }

  .service-list-actions {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(82px, 1fr));
    gap: 7px;
  }

  .service-list-actions .compact-button {
    width: 100%;
    justify-content: center;
  }

  .resource-details-card {
    padding: 0;
    border: 0;
  }

  .resource-card-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .resource-card-actions > *,
  .resource-card-actions .compact-button {
    width: 100%;
    justify-content: center;
  }

  .resource-card-actions .action-note {
    grid-column: 1 / -1;
  }
}

@media (max-width: 390px) {
  .application-table tbody tr {
    grid-template-columns: 1fr;
    grid-template-areas:
      "app"
      "scale"
      "status"
      "health";
  }

  .application-scaling-cell {
    border-right: 0 !important;
    border-bottom: 1px solid var(--line) !important;
  }
}

/* Mobile authentication -------------------------------------------------- */
@media (max-width: 768px) {
  .auth-body {
    min-height: 100dvh;
    place-items: start center;
    padding: calc(24px + env(safe-area-inset-top)) 12px calc(24px + env(safe-area-inset-bottom));
    background:
      radial-gradient(circle at 15% 0%, color-mix(in srgb, var(--surface-info) 76%, transparent), transparent 38%),
      var(--bg);
  }

  .auth-shell {
    width: min(100%, 480px);
  }

  .auth-card {
    padding: 22px 18px;
    border-radius: 22px;
  }

  .auth-card h1 {
    margin: 4px 0 6px;
    font-size: 2rem;
    line-height: 1.05;
  }

  .auth-card > p {
    margin-top: 0;
    color: var(--muted);
  }

  .auth-card .primary-button,
  .auth-card .switch-account-form button {
    width: 100%;
    justify-content: center;
  }

  .signed-in-banner {
    grid-template-columns: 1fr;
  }

  .mfa-qr-panel {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 12px;
    margin: 18px 0;
    padding: 14px;
    text-align: center;
  }

  .mfa-qr-panel img {
    width: min(58vw, 190px);
    height: auto;
    aspect-ratio: 1;
  }

  .mfa-qr-panel span {
    max-width: 100%;
    font-size: 0.82rem;
  }

  .mfa-manual-details .resource-row {
    padding: 11px;
  }
}

/* Mobile scheduler, jobs, governance, admin, and diagnostics ------------- */
.job-card-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 12px;
}

@media (max-width: 768px) {
  .scheduler-page-header {
    display: grid;
  }

  .scheduler-page-header > .primary-button {
    width: 100%;
    justify-content: center;
  }

  .scheduler-table-wrap,
  .scheduler-target-table-wrap,
  .admin-users-table,
  .admin-access-table,
  .diagnostic-runs .resource-table-wrap {
    max-height: none;
    overflow: visible;
    border: 0;
    background: transparent;
  }

  .scheduler-slot-table,
  .scheduler-target-table,
  .admin-users-table,
  .admin-access-table,
  .diagnostic-run-table,
  .scheduler-slot-table tbody,
  .scheduler-target-table tbody,
  .admin-users-table tbody,
  .admin-access-table tbody,
  .diagnostic-run-table tbody {
    width: 100%;
    min-width: 0 !important;
    display: grid;
  }

  .scheduler-slot-table thead,
  .scheduler-target-table thead,
  .admin-users-table thead,
  .admin-access-table thead,
  .diagnostic-run-table thead {
    display: none;
  }

  .scheduler-slot-table tbody,
  .scheduler-target-table tbody,
  .admin-users-table tbody,
  .admin-access-table tbody,
  .diagnostic-run-table tbody {
    gap: 10px;
  }

  .scheduler-slot-table tbody tr,
  .scheduler-target-table tbody tr,
  .admin-users-table tbody tr,
  .admin-access-table tbody tr,
  .diagnostic-run-table tbody tr {
    display: grid;
    padding: 4px 13px;
    border: 1px solid var(--line-strong);
    border-radius: 16px;
    background: var(--surface);
    overflow: hidden;
  }

  .scheduler-slot-table td,
  .scheduler-target-table td,
  .admin-users-table td,
  .admin-access-table td,
  .diagnostic-run-table td {
    width: auto !important;
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(82px, 0.38fr) minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    padding: 9px 0;
    border: 0;
    border-bottom: 1px solid var(--line);
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .scheduler-slot-table td:last-child,
  .scheduler-target-table td:last-child,
  .admin-users-table td:last-child,
  .admin-access-table td:last-child,
  .diagnostic-run-table td:last-child {
    border-bottom: 0;
  }

  .scheduler-slot-table td::before,
  .scheduler-target-table td::before,
  .admin-users-table td::before,
  .admin-access-table td::before,
  .diagnostic-run-table td::before {
    color: var(--muted);
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }

  .scheduler-slot-table td:nth-child(1)::before { content: "Slot"; }
  .scheduler-slot-table td:nth-child(2)::before { content: "Action"; }
  .scheduler-slot-table td:nth-child(3)::before { content: "When"; }
  .scheduler-slot-table td:nth-child(4)::before { content: "Tasks"; }
  .scheduler-slot-table td:nth-child(5)::before { content: "Next run"; }
  .scheduler-slot-table td:nth-child(6)::before { content: "Status"; }
  .scheduler-slot-table td:nth-child(7)::before { content: "Details"; }

  .scheduler-target-table td:nth-child(1)::before { content: "Task"; }
  .scheduler-target-table td:nth-child(2)::before { content: "Scope"; }
  .scheduler-target-table td:nth-child(3)::before { content: "Remove"; }

  .admin-users-table td:nth-child(1)::before { content: "Name"; }
  .admin-users-table td:nth-child(2)::before { content: "Email"; }
  .admin-users-table td:nth-child(3)::before { content: "Status"; }
  .admin-users-table td:nth-child(4)::before { content: "MFA"; }
  .admin-users-table td:nth-child(5)::before { content: "Access"; }
  .admin-users-table td:nth-child(6)::before { content: "Edit"; }

  .admin-access-table td:nth-child(1)::before { content: "Role"; }
  .admin-access-table td:nth-child(2)::before { content: "Application"; }
  .admin-access-table td:nth-child(3)::before { content: "Environment"; }
  .admin-access-table td:nth-child(4)::before { content: "Scope"; }
  .admin-access-table td:nth-child(5)::before { content: "Action"; }

  .diagnostic-run-table td:nth-child(1)::before { content: "Started"; }
  .diagnostic-run-table td:nth-child(2)::before { content: "Scope"; }
  .diagnostic-run-table td:nth-child(3)::before { content: "Status"; }
  .diagnostic-run-table td:nth-child(4)::before { content: "Health"; }
  .diagnostic-run-table td:nth-child(5)::before { content: "Result"; }

  .scheduler-slot-table .empty-table-cell,
  .scheduler-target-table .empty-table-cell,
  .admin-users-table .empty-table-cell,
  .admin-access-table .empty-table-cell,
  .diagnostic-run-table .empty-table-cell {
    display: block;
    padding: 14px 2px;
  }

  .scheduler-slot-table .empty-table-cell::before,
  .scheduler-target-table .empty-table-cell::before,
  .admin-users-table .empty-table-cell::before,
  .admin-access-table .empty-table-cell::before,
  .diagnostic-run-table .empty-table-cell::before {
    display: none;
  }

  .scheduler-slot-table .compact-button,
  .scheduler-target-table .compact-button,
  .admin-users-table .compact-button,
  .admin-access-table .compact-button,
  .diagnostic-run-table .compact-button {
    width: 100%;
    justify-content: center;
  }

  .scheduler-window-form,
  .scheduler-target-form,
  .access-form,
  .admin-modal-form {
    grid-template-columns: 1fr;
  }

  .scheduler-day-picker {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-column: 1 / -1;
  }

  .scheduler-day-picker .check-card {
    min-width: 0;
    display: grid;
    justify-items: center;
    gap: 5px;
    padding: 9px 4px;
    text-align: center;
  }

  .scheduler-modal-target-form {
    position: sticky;
    z-index: 3;
    top: 60px;
    padding: 10px 0;
    background: var(--surface);
  }

  .scheduler-danger-zone,
  .scheduler-danger-zone form,
  .scheduler-danger-zone button {
    width: 100%;
  }

  .panel-header.admin-list-header {
    align-items: center;
    gap: 10px;
  }

  .admin-detail-grid,
  .admin-control-grid {
    grid-template-columns: 1fr;
  }

  .control-card,
  .password-control {
    grid-column: auto;
  }

  .job-card,
  .approval-card,
  .resource-row {
    margin-bottom: 10px;
    padding: 14px;
    border: 1px solid var(--line-strong);
    border-radius: 16px;
    background: var(--surface);
  }

  .job-card:last-child,
  .approval-card:last-child,
  .resource-row:last-child {
    margin-bottom: 0;
    border-bottom: 1px solid var(--line-strong);
  }

  .job-header {
    display: grid;
    gap: 8px;
  }

  .job-header > div {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
  }

  .job-header strong {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .job-card pre,
  .approval-card pre {
    max-height: 150px;
    padding: 10px;
    font-size: 0.72rem;
  }

  .job-card-actions,
  .job-card-actions > * {
    width: 100%;
  }

  .job-card-actions > * {
    justify-content: center;
  }

  .job-progress-header {
    display: grid;
    gap: 10px;
  }

  .job-progress-header .status-indicator {
    justify-self: start;
  }

  .job-progress-summary {
    grid-template-columns: 1fr;
  }

  .job-progress-summary strong,
  .job-progress-result,
  .log-line {
    overflow-wrap: anywhere;
  }

  .job-log-list {
    max-height: 50dvh;
    overflow-y: auto;
  }

  .approval-form textarea {
    min-height: 96px;
  }

  .approval-form .button-row {
    position: sticky;
    bottom: calc(var(--mobile-bottom-nav-height) + env(safe-area-inset-bottom));
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: var(--surface);
    box-shadow: 0 -8px 20px rgba(15, 23, 42, 0.08);
  }

  .diagnostics-summary {
    padding: 14px;
    border-radius: 18px;
  }

  .health-counts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5px;
  }

  .health-count {
    min-width: 0;
    padding: 7px 4px;
    font-size: 0.68rem;
    text-align: center;
  }

  .diagnostics-environment > summary {
    padding: 13px;
  }

  .diagnostic-resource {
    padding: 13px;
    border-radius: 16px;
  }

  .diagnostic-resource header {
    gap: 8px;
  }

  .diagnostic-resource code {
    overflow-wrap: anywhere;
  }

  .metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .diagnostic-policy-form,
  .diagnostic-source-form {
    grid-template-columns: 1fr;
  }

  .diagnostic-run-pane {
    width: 100%;
  }

  .log-fingerprint pre,
  .source-reference pre {
    max-height: 32dvh;
  }
}

@media (max-width: 390px) {
  .scheduler-day-picker {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .button-row {
    grid-template-columns: 1fr;
  }

  .health-counts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Mobile application configuration and operation previews ---------------- */
@media (max-width: 768px) {
  .operation-result-pane,
  .scaling-confirm-pane,
  .lifecycle-confirm-pane {
    width: 100%;
  }

  .config-summary-grid,
  .lifecycle-confirm-summary,
  .scaling-cost-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .config-summary-grid div {
    min-width: 0;
    padding: 11px;
  }

  .config-summary-grid strong {
    overflow-wrap: anywhere;
    font-size: 0.94rem;
  }

  .config-pane-grid {
    gap: 10px;
  }

  .config-pane-section {
    padding: 12px;
  }

  .source-grid {
    grid-template-columns: 1fr;
  }

  .source-card {
    padding: 13px;
    border-radius: 16px;
  }

  .operation-result-table,
  .mapping-review-table,
  .scaling-preview-table,
  .scaling-matrix-table,
  .schedule-resource-table,
  .operation-result-table tbody,
  .mapping-review-table tbody,
  .scaling-preview-table tbody,
  .scaling-matrix-table tbody,
  .schedule-resource-table tbody {
    width: 100%;
    min-width: 0;
    display: grid;
  }

  .operation-result-table thead,
  .mapping-review-table thead,
  .scaling-preview-table thead,
  .scaling-matrix-table thead,
  .schedule-resource-table thead {
    display: none;
  }

  .operation-result-table tbody,
  .mapping-review-table tbody,
  .scaling-preview-table tbody,
  .scaling-matrix-table tbody,
  .schedule-resource-table tbody {
    gap: 10px;
  }

  .operation-result-table tbody tr,
  .mapping-review-table tbody tr,
  .scaling-preview-table tbody tr,
  .scaling-matrix-table tbody tr,
  .schedule-resource-table tbody tr {
    display: grid;
    gap: 0;
    padding: 4px 12px;
    border: 1px solid var(--line-strong);
    border-radius: 16px;
    background: var(--surface);
    overflow: hidden;
  }

  .operation-result-table td,
  .mapping-review-table td,
  .scaling-preview-table td,
  .scaling-matrix-table td,
  .schedule-resource-table td {
    min-width: 0 !important;
    display: grid;
    grid-template-columns: minmax(88px, 0.4fr) minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    padding: 9px 0;
    border: 0;
    border-bottom: 1px solid var(--line);
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .operation-result-table td:last-child,
  .mapping-review-table td:last-child,
  .scaling-preview-table td:last-child,
  .scaling-matrix-table td:last-child,
  .schedule-resource-table td:last-child {
    border-bottom: 0;
  }

  .operation-result-table td::before,
  .mapping-review-table td::before,
  .scaling-preview-table td::before,
  .scaling-matrix-table td::before,
  .schedule-resource-table td::before {
    color: var(--muted);
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }

  .operation-result-table td:nth-child(1)::before { content: "Repository"; }
  .operation-result-table td:nth-child(2)::before { content: "Backup"; }
  .operation-result-table td:nth-child(3)::before { content: "Production"; }
  .operation-result-table td:nth-child(4)::before { content: "Fetched"; }

  .mapping-review-table td:nth-child(1)::before { content: "Environment"; }
  .mapping-review-table td:nth-child(2)::before { content: "Component"; }
  .mapping-review-table td:nth-child(3)::before { content: "Provider"; }
  .mapping-review-table td:nth-child(4)::before { content: "Type"; }
  .mapping-review-table td:nth-child(5)::before { content: "Infra name"; }
  .mapping-review-table td:nth-child(6)::before { content: "External ID"; }
  .mapping-review-table td:nth-child(7)::before { content: "Region"; }
  .mapping-review-table td:nth-child(8)::before { content: "Status"; }
  .mapping-review-table td:nth-child(9)::before { content: "Action"; }

  .scaling-preview-table td:nth-child(1)::before { content: "Resource"; }
  .scaling-preview-table td:nth-child(2)::before { content: "Type"; }
  .scaling-preview-table td:nth-child(3)::before { content: "Status"; }
  .scaling-preview-table td:nth-child(4)::before { content: "Current plan"; }
  .scaling-preview-table td:nth-child(5)::before { content: "Current cost"; }
  .scaling-preview-table td:nth-child(6)::before { content: "Target plan"; }
  .scaling-preview-table td:nth-child(7)::before { content: "Target cost"; }
  .scaling-preview-table td:nth-child(8)::before { content: "Change"; }
  .scaling-preview-table td:nth-child(9)::before { content: "Action"; }

  .scaling-matrix-table td:nth-child(1)::before { content: "Resource"; }
  .scaling-matrix-table td:nth-child(2)::before { content: "Type"; }
  .scaling-matrix-table td:nth-child(3)::before { content: "Current"; }
  .scaling-matrix-table td:nth-child(4)::before { content: "Default"; }
  .scaling-matrix-table td:nth-child(5)::before { content: "Turbo"; }
  .scaling-matrix-table td:nth-child(6)::before { content: "Turbo Boost"; }
  .scaling-matrix-table td:nth-child(7)::before { content: "Status"; }

  .schedule-resource-table td:nth-child(1)::before { content: "Use"; }
  .schedule-resource-table td:nth-child(2)::before { content: "Service"; }
  .schedule-resource-table td:nth-child(3)::before { content: "Provider"; }
  .schedule-resource-table td:nth-child(4)::before { content: "Infra name"; }
  .schedule-resource-table td:nth-child(5)::before { content: "Region"; }
  .schedule-resource-table td:nth-child(6)::before { content: "Status"; }

  .operation-result-table .empty-table-cell,
  .mapping-review-table .empty-table-cell,
  .scaling-preview-table .empty-table-cell,
  .scaling-matrix-table .empty-table-cell,
  .schedule-resource-table .empty-table-cell {
    display: block;
    padding: 14px 2px;
  }

  .operation-result-table .empty-table-cell::before,
  .mapping-review-table .empty-table-cell::before,
  .scaling-preview-table .empty-table-cell::before,
  .scaling-matrix-table .empty-table-cell::before,
  .schedule-resource-table .empty-table-cell::before {
    display: none;
  }

  .scaling-matrix-table select {
    width: 100%;
    min-width: 0;
  }

  .scaling-matrix-form > .inline-button,
  .execution-operation-body > .inline-button {
    width: 100%;
    justify-content: center;
  }

  .execution-operation-list {
    gap: 10px;
  }

  .execution-operation-item {
    border-radius: 16px;
  }

  .execution-operation-summary {
    min-height: 64px;
  }

  .execution-operation-body {
    gap: 12px;
  }

  .operation-preview-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .operation-preview-grid > div {
    min-width: 0;
    padding: 10px;
  }

  .operation-preview-grid strong {
    overflow-wrap: anywhere;
  }

  .confirmation-check {
    min-height: 52px;
    align-items: flex-start;
    padding: 12px;
  }

  .confirmation-check input,
  .check input,
  .check-card input {
    min-height: 0;
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
  }

  .schedule-grid,
  .schedule-window-grid {
    grid-template-columns: 1fr;
  }

  .schedule-time-row {
    grid-template-columns: minmax(0, 1fr) minmax(120px, 0.65fr);
  }

  .schedule-form > .modal-actions {
    position: sticky;
    z-index: 10;
    bottom: calc(var(--mobile-bottom-nav-height) + env(safe-area-inset-bottom));
    margin: 12px -12px -12px;
    padding: 10px 12px;
    border-top: 1px solid var(--line);
    background: var(--surface);
  }
}

@media (max-width: 390px) {
  .config-summary-grid,
  .lifecycle-confirm-summary,
  .scaling-cost-summary,
  .operation-preview-grid {
    grid-template-columns: 1fr;
  }

  .schedule-time-row {
    grid-template-columns: 1fr;
  }
}

html[data-theme="dark"] {
  color-scheme: dark;
  --bg: #0b1220;
  --surface: #111c2e;
  --surface-strong: #17243a;
  --surface-subtle: #0e192a;
  --surface-info: #10243c;
  --line: #2b3b52;
  --line-strong: #40536e;
  --text: #eef4fb;
  --muted: #c0cede;
  --muted-soft: #91a4ba;
  --accent: #176da4;
  --accent-strong: #8bc9f4;
  --success: #44c27a;
  --danger: #ff7272;
  --warning: #f5b95f;
  --info: #72a7ff;
  --badge-neutral-bg: #243247;
  --badge-neutral-border: #52657d;
  --badge-neutral-text: #edf3fb;
  --badge-success-bg: #123a2a;
  --badge-success-border: #2d9160;
  --badge-success-text: #a7f3c5;
  --badge-warning-bg: #432a0d;
  --badge-warning-border: #b7791f;
  --badge-warning-text: #ffdda1;
  --badge-danger-bg: #421c22;
  --badge-danger-border: #b84b58;
  --badge-danger-text: #ffc0c7;
  --badge-info-bg: #153653;
  --badge-info-border: #3b82c4;
  --badge-info-text: #c3e2ff;
  --shadow: 0 12px 32px rgba(0, 0, 0, 0.32);
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: "Aptos", "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.45;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  transition: background-color 160ms ease, color 160ms ease;
}

a {
  color: inherit;
  text-decoration: none;
}

.shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 300px 1fr;
}

.sidebar {
  background: var(--surface);
  border-right: 1px solid var(--line);
  padding: 24px 18px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.brand h1,
.page-header h2,
.panel h3 {
  margin: 0;
  color: var(--text);
  font-family: "Aptos", "Segoe UI", sans-serif;
  letter-spacing: -0.03em;
}

.brand p,
.muted,
.resource-card span,
.resource-row span,
.resource-row small,
.page-header p,
.eyebrow {
  color: var(--muted);
}

.eyebrow {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 800;
}

.user-card {
  display: grid;
  gap: 4px;
  padding: 14px;
  border-radius: 16px;
  background: var(--surface);
  border: 1px solid var(--line-strong);
}

.theme-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid var(--line-strong);
  border-radius: 14px;
  background: var(--surface);
  color: var(--text);
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.theme-toggle:hover,
.theme-toggle:focus-visible {
  border-color: var(--accent);
  outline: none;
  box-shadow: 0 0 0 3px rgba(85, 169, 230, 0.2);
}

.theme-toggle:disabled {
  cursor: wait;
  opacity: 0.72;
}

.theme-toggle-track {
  position: relative;
  width: 58px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 7px;
  border-radius: 999px;
  background: #dbeafe;
  color: #204c75;
}

.theme-toggle-sun,
.theme-toggle-moon {
  position: relative;
  z-index: 1;
  font-size: 0.9rem;
}

.theme-toggle-thumb {
  position: absolute;
  z-index: 2;
  top: 3px;
  left: 3px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #ffffff;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.28);
  transition: transform 160ms ease;
}

html[data-theme="dark"] .theme-toggle-track {
  background: #263d5d;
  color: #f5cf70;
}

html[data-theme="dark"] .theme-toggle-thumb {
  transform: translateX(28px);
  background: #dbeafe;
}

.theme-toggle-label {
  flex: 1;
  text-align: left;
}

.nav {
  display: grid;
  gap: 10px;
}

.nav a {
  padding: 11px 13px;
  border-radius: 14px;
  border: 1px solid transparent;
  color: var(--text);
  font-weight: 700;
}

.nav a.active,
.nav a:hover {
  color: var(--accent-strong);
  background: var(--surface-strong);
  border-color: #9dccf5;
}

.logout-form {
  margin-top: 12px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

.logout-form button {
  width: 100%;
  justify-content: center;
}

.content {
  min-width: 0;
  padding: 28px 30px;
  background: var(--bg);
}

.page-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 22px;
}

.page-header-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.grid {
  display: grid;
  gap: 18px;
}

.two-up {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.three-up {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.panel,
.alert,
.resource-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: var(--shadow);
}

.panel {
  padding: 22px;
}

.panel + .panel,
.grid + .panel,
.panel + .grid,
.subnav + .grid,
.subnav + .panel {
  margin-top: 18px;
}

.hero-panel {
  padding: 28px;
}

.tone-platform {
  background: var(--surface);
}

.panel-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 14px;
}

.card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
}

.resource-card {
  display: grid;
  gap: 8px;
  padding: 18px;
}

.app-map-hero h3,
.provider-card h3 {
  margin: 0;
  color: var(--text);
  font-family: "Aptos", "Segoe UI", sans-serif;
  letter-spacing: -0.02em;
}

.provider-card p {
  margin: 0;
  color: var(--muted);
}

.infra-app-selector {
  display: grid;
  gap: 16px;
  padding: 22px;
  border: 1px solid #b9d7f2;
  border-radius: 28px;
  background: var(--surface);
  box-shadow: var(--shadow);
}

.application-picker {
  display: grid;
  grid-template-columns: auto minmax(220px, 420px) auto;
  align-items: end;
  gap: 10px;
}

.application-picker label {
  color: var(--text);
  font-weight: 800;
}

.application-picker select {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface);
  color: var(--text);
  font: inherit;
  padding: 11px 12px;
}

.application-selector-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
}

.application-selector-card {
  display: grid;
  gap: 5px;
  padding: 13px 14px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--surface);
  color: inherit;
  text-decoration: none;
}

.application-selector-card.selected {
  border-color: #62b6cb;
  background: var(--surface-strong);
  box-shadow: inset 0 0 0 1px #bdeff7;
}

.app-card-grid,
.provider-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));
  align-items: start;
  gap: 18px;
}

.app-card,
.provider-card,
.app-map-hero,
.environment-map-card,
.source-card,
.component-map-card,
.provider-app-card {
  border: 1px solid var(--line);
  border-radius: 24px;
  background: var(--surface);
  box-shadow: var(--shadow);
}

.app-card {
  display: grid;
  gap: 16px;
  padding: 20px;
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.app-card:hover,
.component-map-card:hover {
  transform: translateY(-2px);
  border-color: #8bbde8;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.12);
}

.app-card-topline {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: center;
}

.app-card-topline strong {
  display: block;
  font-size: 1.25rem;
}

.app-card-topline small,
.mini-component-list small {
  color: var(--muted);
}

.app-initial,
.provider-mark {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 16px;
  background: #17384c;
  color: #fff;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.metric-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.metric-row.compact {
  grid-template-columns: repeat(4, auto);
  justify-content: start;
}

.metric-row span {
  padding: 10px;
  border-radius: 14px;
  background: var(--surface-subtle);
  border: 1px solid var(--line);
  color: var(--muted);
  font-size: 0.9rem;
}

.metric-row b {
  display: block;
  color: var(--text);
  font-size: 1.15rem;
}

.chip-row,
.provider-strip,
.resource-pill-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.mapping-status-chip,
.action-note {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1.2;
}

.mapping-status-chip {
  padding: 6px 10px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.mapping-status-warning {
  background: var(--badge-warning-bg);
  border: 1px solid var(--badge-warning-border);
  color: var(--badge-warning-text);
}

.action-note {
  max-width: 260px;
  padding: 0;
  color: var(--badge-warning-text);
}

.mapping-review-table code {
  white-space: normal;
  overflow-wrap: anywhere;
}

.mapping-review-table td:last-child {
  min-width: 150px;
}

.action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.compact-actions {
  justify-content: flex-end;
  margin-top: 8px;
}

.inline-form {
  display: inline-flex;
  margin: 0;
}

.provider-strip.small {
  gap: 6px;
}

.provider-chip,
.resource-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  background: var(--surface);
  color: var(--text);
  font-size: 0.86rem;
  font-weight: 700;
  font-style: normal;
  white-space: nowrap;
}

.provider-chip b {
  color: var(--text);
}

.provider-github {
  color: var(--badge-neutral-text);
  background: var(--badge-neutral-bg);
  border-color: var(--badge-neutral-border);
}

.provider-aws {
  color: var(--badge-warning-text);
  background: var(--badge-warning-bg);
  border-color: var(--badge-warning-border);
}

.provider-render {
  color: var(--badge-info-text);
  background: var(--badge-info-bg);
  border-color: var(--badge-info-border);
}

.mini-component-list {
  display: grid;
  gap: 8px;
  padding-top: 2px;
}

.mini-component-list span {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 0;
  border-top: 1px solid var(--line);
  color: var(--text);
}

.app-map-hero {
  display: grid;
  gap: 16px;
  padding: 24px;
  margin-bottom: 18px;
  background: var(--surface);
}

.source-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 14px;
}

.source-card {
  display: grid;
  gap: 10px;
  padding: 16px;
  box-shadow: none;
}

.source-card span {
  color: var(--muted);
}

.render-service-discovery-panel {
  display: grid;
  gap: 16px;
}

.render-service-discovery-header {
  align-items: end;
}

.render-service-discovery-header .muted {
  max-width: 760px;
}

.render-discovery-summary {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface-subtle);
}

.render-discovery-summary span {
  color: var(--muted);
}

.inline-notice {
  padding: 12px 14px;
  border: 1px solid var(--line-strong);
  border-radius: 12px;
  color: var(--muted);
  background: var(--surface-subtle);
  line-height: 1.5;
}

.inline-notice.warning {
  color: var(--badge-warning-text);
  border-color: var(--badge-warning-border);
  background: var(--badge-warning-bg);
}

.render-discovery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 14px;
}

.render-discovery-card {
  display: grid;
  gap: 16px;
  padding: 16px;
  border: 1px solid var(--line-strong);
  border-radius: 16px;
  background: var(--surface);
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
}

.render-discovery-card > header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
}

.render-discovery-card h4 {
  margin: 3px 0 6px;
}

.render-discovery-card code {
  color: var(--muted);
  overflow-wrap: anywhere;
}

.render-discovery-details {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.render-discovery-details div {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 10px;
}

.render-discovery-details dt {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.render-discovery-details dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.render-discovery-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.render-discovery-form label {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 700;
}

.render-discovery-form label small {
  font-weight: 500;
  line-height: 1.35;
}

.render-discovery-form .wide-field,
.render-discovery-form > button {
  grid-column: 1 / -1;
}

.render-mapped-services {
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.render-mapped-services summary {
  cursor: pointer;
  font-weight: 800;
}

.render-mapped-services ul {
  display: grid;
  gap: 8px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}

.render-mapped-services li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-top: 8px;
  border-top: 1px solid var(--line);
  color: var(--muted);
}

.render-mapped-services li span:first-child {
  display: grid;
  gap: 3px;
}

.compact-empty-state {
  padding: 14px;
}

.environment-map {
  display: grid;
  gap: 18px;
  margin-top: 18px;
}

.environment-map-card {
  padding: 0;
  overflow: hidden;
}

.environment-map-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 0;
  padding: 20px 64px 20px 20px;
  border-bottom: 0;
  cursor: pointer;
  position: relative;
  list-style: none;
}

.environment-header-scaling {
  flex: 0 1 440px;
  min-width: 360px;
  margin-left: auto;
}

.environment-header-scaling .scale-toggle {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
}

.environment-map-header::-webkit-details-marker {
  display: none;
}

.environment-map-header::after {
  content: "v";
  position: absolute;
  top: 22px;
  right: 22px;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  color: var(--accent-strong);
  background: var(--surface);
  font-weight: 900;
  transition: transform 160ms ease, background 160ms ease;
}

.environment-map-card[open] > .environment-map-header {
  border-bottom: 1px solid var(--line);
}

.environment-map-card[open] > .environment-map-header::after {
  transform: rotate(180deg);
  background: var(--surface-info);
}

.environment-map-body {
  display: grid;
  gap: 16px;
  padding: 20px;
}

.schedule-next-run {
  display: grid;
  gap: 6px;
  min-width: 240px;
  color: var(--muted);
}

.schedule-next-run span,
.schedule-next-run b {
  display: block;
}

.schedule-next-run b {
  color: var(--text);
}

.schedule-form {
  display: grid;
  gap: 18px;
}

.schedule-grid,
.schedule-window-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 14px;
}

.schedule-window-card,
.schedule-resource-section,
.schedule-summary {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--surface);
}

.schedule-window-card h4,
.schedule-resource-section h4 {
  margin: 0;
}

.schedule-time-row {
  display: grid;
  grid-template-columns: minmax(120px, 1fr) 130px;
  gap: 10px;
  align-items: center;
}

.check-card {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface-subtle);
  font-weight: 800;
}

.danger-check {
  border-color: var(--badge-danger-border);
  background: var(--badge-danger-bg);
  color: var(--badge-danger-text);
}

.compact-panel-header {
  margin-bottom: 0;
}

.schedule-resource-table th:first-child,
.schedule-resource-table td:first-child {
  width: 72px;
  text-align: center;
}

.schedule-summary {
  grid-template-columns: repeat(auto-fit, minmax(160px, auto));
  align-items: center;
}

.scheduler-page-header {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 18px;
}

.scheduler-table-wrap {
  border-radius: 16px;
}

.scheduler-slot-table th:nth-child(1),
.scheduler-slot-table td:nth-child(1) {
  width: 25%;
}

.scheduler-slot-table th:nth-child(2),
.scheduler-slot-table td:nth-child(2) {
  width: 11%;
}

.scheduler-slot-table th:nth-child(3),
.scheduler-slot-table td:nth-child(3) {
  width: 14%;
}

.scheduler-slot-table th:nth-child(4),
.scheduler-slot-table td:nth-child(4) {
  width: 10%;
}

.scheduler-slot-table th:nth-child(5),
.scheduler-slot-table td:nth-child(5) {
  width: 22%;
}

.scheduler-slot-table th:nth-child(7),
.scheduler-slot-table td:nth-child(7),
.scheduler-target-table th:last-child,
.scheduler-target-table td:last-child {
  text-align: right;
}

.scheduler-modal {
  width: min(820px, calc(100vw - 42px));
}

.wide-scheduler-modal {
  width: min(1120px, calc(100vw - 42px));
}

.scheduler-form-actions {
  grid-column: 1 / -1;
}

.scheduler-section-title {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: start;
}

.scheduler-section-title h4,
.scheduler-section-title p {
  margin: 0;
}

.scheduler-modal-target-form {
  margin: 10px 0 14px;
}

.scheduler-target-table-wrap {
  max-height: 280px;
}

.scheduler-target-table th:nth-child(1),
.scheduler-target-table td:nth-child(1) {
  width: 68%;
}

.scheduler-danger-zone {
  display: flex;
  justify-content: flex-end;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.scheduler-window-form {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  align-items: end;
}

.scheduler-day-picker {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.scheduler-target-form {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto;
  gap: 10px;
  align-items: center;
}

.environment-title-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.environment-title-row h3 {
  margin: 0;
  font-size: 1.65rem;
  line-height: 1.05;
  letter-spacing: -0.02em;
}

.icon-button {
  width: 38px;
  height: 38px;
  padding: 0;
  border-radius: 999px;
  font-size: 1.25rem;
  line-height: 1;
}

.refresh-environment-button {
  color: var(--accent-strong);
}

.component-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 14px;
}

.resource-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
  gap: 12px;
}

.service-list-table {
  min-width: 720px;
}

.service-sort-button {
  width: auto;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 4px;
  margin: 0;
  padding: 0;
  border: 0;
  appearance: none;
  -webkit-appearance: none;
  color: inherit;
  background: transparent;
  font: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  text-align: left;
  text-transform: inherit;
  cursor: pointer;
}

.service-sort-button:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 4px;
  border-radius: 4px;
}

.service-sort-indicator {
  width: 0.7rem;
  display: inline-grid;
  place-items: center;
  flex: 0 0 0.7rem;
  font-size: 0.8em;
  line-height: 1;
}

.service-sort-indicator::before {
  content: "\2195";
  opacity: 0.62;
}

.service-sort-button:hover .service-sort-indicator::before {
  opacity: 1;
}

.service-sort-button[data-sort-direction="ascending"] .service-sort-indicator::before {
  content: "\2191";
  opacity: 1;
}

.service-sort-button[data-sort-direction="descending"] .service-sort-indicator::before {
  content: "\2193";
  opacity: 1;
}

.service-list-table th:nth-child(1) {
  width: 30%;
}

.service-list-table th:nth-child(2),
.service-list-table th:nth-child(3) {
  width: 20%;
}

.service-list-table th:nth-child(4) {
  width: 30%;
}

.service-list-actions {
  flex-wrap: wrap;
}

.resource-details-dialog {
  width: min(920px, calc(100vw - 32px));
  max-width: none;
  max-height: calc(100vh - 32px);
  padding: 0;
  border: 0;
  border-radius: 22px;
  background: transparent;
  color: var(--text);
  overflow: visible;
}

.resource-details-dialog::backdrop {
  background: rgba(2, 6, 23, 0.72);
  backdrop-filter: blur(4px);
}

.resource-details-pane {
  width: 100%;
  max-height: calc(100vh - 32px);
  overflow-y: auto;
}

.resource-details-card {
  box-shadow: none;
}

.overview-resource-card {
  align-content: start;
  gap: 12px;
  padding: 14px;
  box-shadow: none;
}

.resource-card-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
}

.resource-card-header > div:first-child {
  min-width: 0;
}

.resource-card-header strong {
  display: block;
  color: var(--text);
  font-size: 1.02rem;
  line-height: 1.25;
  hyphens: none;
  overflow-wrap: normal;
  word-break: keep-all;
}

.resource-card-header small,
.resource-card-header [data-resource-status-cell] small {
  display: block;
  color: var(--muted);
  margin-top: 3px;
  font-size: 0.78rem;
  line-height: 1.25;
}

.resource-card-header [data-resource-status-cell] {
  display: grid;
  justify-items: end;
  gap: 4px;
  text-align: right;
}

.resource-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
}

.resource-card-meta > span:not(.provider-chip) {
  padding: 4px 8px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface-subtle);
  color: var(--muted);
  font-size: 0.84rem;
  font-weight: 700;
}

.overview-resource-card .provider-chip,
.overview-resource-card .status-indicator,
.overview-resource-card .status-indicator span {
  color: inherit;
}

.overview-resource-card .provider-github {
  color: var(--badge-neutral-text);
}

.overview-resource-card .provider-aws {
  color: var(--badge-warning-text);
}

.overview-resource-card .provider-render {
  color: var(--badge-info-text);
}

.overview-resource-card .status-indicator-green {
  color: var(--badge-success-text);
}

.overview-resource-card .status-indicator-red {
  color: var(--badge-danger-text);
}

.overview-resource-card .status-indicator-amber {
  color: var(--badge-warning-text);
}

.overview-resource-card .status-indicator-gray,
.overview-resource-card .status-indicator-unknown {
  color: var(--badge-neutral-text);
}

.resource-card-field {
  display: grid;
  gap: 4px;
}

.resource-card-field span {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.resource-card-field code {
  display: block;
  color: var(--badge-info-text);
  font-size: 0.9rem;
  font-weight: 800;
  overflow-wrap: anywhere;
  white-space: normal;
}

.resource-card-config {
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
}

.resource-card-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(118px, 30%);
  align-items: stretch;
  gap: 12px;
}

.resource-card-detail-stack {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.resource-type-visual {
  --visual-deep: #0b4d7d;
  --visual-soft: #dbeafe;
  --visual-line: #93c5fd;
  position: relative;
  display: grid;
  align-content: space-between;
  min-height: 168px;
  padding: 12px;
  overflow: hidden;
  border: 1px solid var(--visual-line);
  border-radius: 16px;
  background: linear-gradient(
    145deg,
    var(--surface) 0%,
    color-mix(in srgb, var(--visual-deep) 22%, var(--surface)) 100%
  );
}

.resource-type-visual::after {
  content: "";
  position: absolute;
  inset: auto -26px -34px auto;
  width: 96px;
  height: 96px;
  border-radius: 999px;
  border: 18px solid rgba(255, 255, 255, 0.7);
}

.resource-visual-frame {
  position: relative;
  display: grid;
  place-items: center;
  width: 112px;
  height: 112px;
  margin: 0 auto;
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.7), 0 14px 24px rgba(15, 23, 42, 0.12);
}

.resource-visual-image {
  position: relative;
  z-index: 1;
  display: block;
  width: 106px;
  height: 106px;
  object-fit: contain;
  filter: drop-shadow(0 8px 12px rgba(15, 23, 42, 0.12));
}

.resource-visual-copy {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: 2px;
  text-align: center;
}

.resource-visual-copy strong {
  color: var(--visual-deep);
  font-size: 0.9rem;
  line-height: 1.15;
}

.resource-visual-copy span {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.visual-kind-database {
  --visual-deep: #0f766e;
  --visual-soft: #ccfbf1;
  --visual-line: #5eead4;
}

.visual-kind-datastore {
  --visual-deep: #92400e;
  --visual-soft: #ffedd5;
  --visual-line: #fdba74;
}

.visual-kind-codebase {
  --visual-deep: #5b21b6;
  --visual-soft: #ede9fe;
  --visual-line: #c4b5fd;
}

.visual-kind-build {
  --visual-deep: #92400e;
  --visual-soft: #fef3c7;
  --visual-line: #fbbf24;
}

.visual-kind-function {
  --visual-deep: #4c1d95;
  --visual-soft: #ede9fe;
  --visual-line: #c4b5fd;
}

.visual-kind-worker {
  --visual-deep: #991b1b;
  --visual-soft: #fee2e2;
  --visual-line: #fca5a5;
}

.visual-kind-api {
  --visual-deep: #1d4ed8;
  --visual-soft: #dbeafe;
  --visual-line: #93c5fd;
}

.visual-kind-web {
  --visual-deep: #0369a1;
  --visual-soft: #e0f2fe;
  --visual-line: #7dd3fc;
}

.visual-kind-ecs {
  --visual-deep: #0f766e;
  --visual-soft: #ccfbf1;
  --visual-line: #5eead4;
}

.visual-kind-service {
  --visual-deep: #475569;
  --visual-soft: #e2e8f0;
  --visual-line: #cbd5e1;
}

.resource-card-actions {
  padding-top: 2px;
}

.resource-table-wrap {
  width: 100%;
  overflow-x: auto;
  border: 1px solid var(--line-strong);
  border-radius: 18px;
  background: var(--surface);
}

.resource-table {
  width: 100%;
  min-width: 1120px;
  border-collapse: collapse;
}

.application-table {
  min-width: 720px;
  table-layout: fixed;
}

.application-table-wrap {
  margin-top: 18px;
}

.application-table th:nth-child(1),
.application-table td:nth-child(1) {
  width: 42%;
}

.application-table th:nth-child(2),
.application-table td:nth-child(2) {
  width: 10%;
  text-align: left;
}

.application-table th:nth-child(3),
.application-table td:nth-child(3) {
  width: 22%;
}

.application-table th:nth-child(4),
.application-table td:nth-child(4) {
  width: 26%;
}

.application-table.has-health th:nth-child(1),
.application-table.has-health td:nth-child(1) {
  width: 36%;
}

.application-table.has-health th:nth-child(2),
.application-table.has-health td:nth-child(2) {
  width: 9%;
  text-align: left;
}

.application-table.has-health th:nth-child(3),
.application-table.has-health td:nth-child(3) {
  width: 21%;
}

.application-table.has-health th:nth-child(4),
.application-table.has-health td:nth-child(4) {
  width: 21%;
}

.application-table.has-health th:nth-child(5),
.application-table.has-health td:nth-child(5) {
  width: 13%;
  text-align: left;
}

.resource-table th,
.resource-table td {
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: middle;
}

.resource-table th {
  color: var(--text);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: var(--surface-strong);
  border-bottom: 1px solid var(--line-strong);
}

.resource-table tbody tr:hover {
  background: var(--surface-subtle);
}

.resource-table tr:last-child td {
  border-bottom: 0;
}

.resource-table td strong {
  display: block;
}

.resource-table td small {
  display: block;
  color: var(--muted);
  margin-top: 2px;
  font-size: 0.82rem;
  font-weight: 500;
  line-height: 1.4;
}

.resource-table code {
  color: var(--badge-info-text);
  font-size: 0.86rem;
  font-weight: 700;
  white-space: nowrap;
}

.application-name-cell {
  min-width: 220px;
}

.application-info-list,
.application-status-list {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0;
}

.application-info-row {
  display: grid;
  grid-template-columns: minmax(38px, auto) minmax(0, 1fr);
  align-items: baseline;
  gap: 8px;
}

.application-info-row dt {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 700;
  text-transform: lowercase;
}

.application-info-row dd {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin: 0;
  color: var(--text);
  font-size: 0.9rem;
  font-weight: 750;
}

.application-info-empty dd {
  color: var(--muted);
  font-weight: 600;
}

.application-info-dot {
  display: inline-block;
  flex: 0 0 auto;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--badge-neutral-text);
}

.scale-info-default {
  background: var(--accent);
}

.scale-info-turbo,
.scale-info-warning {
  background: var(--badge-warning-text);
}

.scale-info-turbo_boost {
  background: var(--badge-danger-text);
}

.application-status-list {
  list-style: none;
}

.application-status-item,
.application-health-status {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  gap: 7px;
  color: var(--text);
  font-size: 0.88rem;
  font-weight: 700;
}

.application-status-item.status-positive .application-info-dot,
.application-health-status.health-info-green .application-info-dot {
  background: var(--badge-success-text);
}

.application-status-item.status-negative .application-info-dot,
.application-health-status.health-info-red .application-info-dot {
  background: var(--badge-danger-text);
}

.application-health-status.health-info-amber .application-info-dot {
  background: var(--badge-warning-text);
}

.application-status-item.status-neutral,
.application-health-status.health-info-unknown {
  color: var(--muted);
}

.table-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.status-tag {
  color: var(--badge-success-text);
  border: 1px solid var(--badge-success-border);
  background: var(--badge-success-bg);
}

.status-refresh-note {
  padding: 12px 14px;
  border: 1px solid #b9d7f2;
  border-radius: 16px;
  background: var(--surface-info);
  color: var(--text);
  font-weight: 700;
}

.status-indicator {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 9px;
  border-radius: 999px;
  border: 1px solid var(--line-strong);
  background: var(--surface-subtle);
  font-size: 0.86rem;
  font-weight: 800;
  text-transform: capitalize;
  white-space: nowrap;
}

.status-light {
  width: 14px;
  height: 14px;
  border-radius: 999px;
  box-shadow: 0 0 0 3px rgba(97, 112, 125, 0.12), 0 0 12px rgba(97, 112, 125, 0.42);
  background: #8090a0;
}

.status-indicator-green {
  color: var(--badge-success-text);
  border-color: var(--badge-success-border);
  background: var(--badge-success-bg);
}

.status-indicator-green .status-light {
  background: #25c76f;
  box-shadow: 0 0 0 3px rgba(37, 199, 111, 0.18), 0 0 18px rgba(37, 199, 111, 0.72);
}

.status-indicator-red {
  color: var(--badge-danger-text);
  border-color: var(--badge-danger-border);
  background: var(--badge-danger-bg);
}

.status-indicator-red .status-light {
  background: #f04438;
  box-shadow: 0 0 0 3px rgba(240, 68, 56, 0.18), 0 0 18px rgba(240, 68, 56, 0.72);
}

.status-indicator-amber {
  color: var(--badge-warning-text);
  border-color: var(--badge-warning-border);
  background: var(--badge-warning-bg);
}

.status-indicator-amber .status-light {
  background: #f59e0b;
  box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.18), 0 0 18px rgba(245, 158, 11, 0.72);
}

.config-detail-list {
  display: grid;
  gap: 5px;
  min-width: 150px;
}

.config-detail-list span {
  color: var(--muted);
  font-size: 0.88rem;
}

.config-detail-list b {
  color: var(--text);
  font-weight: 800;
}

.config-detail-list.roomy {
  gap: 9px;
}

.modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 50;
  display: grid;
  place-items: center;
  padding: 28px;
  background: rgba(16, 24, 40, 0.38);
}

.config-pane {
  position: relative;
  width: min(920px, calc(100vw - 42px));
  max-height: calc(100vh - 56px);
  overflow: auto;
  display: grid;
  gap: 18px;
  padding: 22px;
  border: 1px solid var(--line-strong);
  border-radius: 20px;
  background: var(--surface);
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.24);
}

.config-pane.standalone-pane {
  max-height: none;
  width: min(920px, 100%);
}

.config-pane-header {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
}

.config-pane-header h3,
.config-pane-section h4 {
  margin: 0;
}

.config-pane-header p {
  margin: 5px 0 0;
  color: var(--muted);
}

.config-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
  gap: 10px;
}

.config-summary-grid div,
.config-pane-section {
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--surface-subtle);
}

.config-summary-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.config-summary-grid strong {
  display: block;
  margin-top: 4px;
  color: var(--text);
  font-size: 1.05rem;
}

.config-pane-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.9fr);
  gap: 14px;
}

.config-pane-section {
  display: grid;
  align-content: start;
  gap: 14px;
}

.scale-toggle {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3px;
  padding: 3px;
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  background: var(--surface-subtle);
}

.scale-toggle-option {
  display: grid;
  justify-items: center;
  gap: 4px;
  padding: 6px 12px;
  border-radius: 999px;
  color: var(--text);
  font-weight: 800;
  text-align: center;
}

.scale-toggle-option strong {
  font-size: 0.86rem;
  line-height: 1.1;
}

.scale-icon {
  position: relative;
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border: 1px solid #bfdbfe;
  border-radius: 999px;
  background: #eff6ff;
}

.scale-icon::before,
.scale-icon::after {
  content: "";
  display: block;
}

.profile-default .scale-icon::before {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--accent);
  box-shadow: 0 0 0 5px #dbeafe;
}

.profile-turbo .scale-icon {
  border-color: #fbbf24;
  background: #fffbeb;
}

.profile-turbo .scale-icon::before {
  width: 13px;
  height: 16px;
  background: #d97706;
  clip-path: polygon(58% 0, 94% 0, 62% 42%, 96% 42%, 34% 100%, 44% 58%, 8% 58%);
}

.profile-turbo_boost .scale-icon {
  border-color: #fb7185;
  background: #fff1f2;
}

.profile-turbo_boost .scale-icon::before,
.profile-turbo_boost .scale-icon::after {
  position: absolute;
  width: 7px;
  height: 13px;
  border-radius: 9px 9px 3px 3px;
  background: #e11d48;
  transform: rotate(45deg);
}

.profile-turbo_boost .scale-icon::before {
  left: 7px;
}

.profile-turbo_boost .scale-icon::after {
  right: 7px;
}

.scale-toggle-option:hover,
.scale-toggle-option.active {
  color: #ffffff;
  background: var(--accent);
}

.scale-toggle-option.profile-turbo:hover,
.scale-toggle-option.profile-turbo.active {
  background: #b45309;
}

.scale-toggle-option.profile-turbo_boost:hover,
.scale-toggle-option.profile-turbo_boost.active {
  background: #be123c;
}

.scale-toggle-option:hover .scale-icon,
.scale-toggle-option.active .scale-icon {
  border-color: rgba(255, 255, 255, 0.72);
  background: rgba(255, 255, 255, 0.18);
}

.scale-toggle-option.profile-default:hover .scale-icon::before,
.scale-toggle-option.profile-default.active .scale-icon::before {
  background: #ffffff;
}

.scaling-matrix-form {
  margin-bottom: 24px;
}

.scaling-matrix-table select {
  min-width: 138px;
}

.scaling-confirm-pane {
  max-width: min(1180px, calc(100vw - 48px));
}

.lifecycle-confirm-pane {
  width: min(640px, calc(100vw - 42px));
  gap: 14px;
}

.lifecycle-confirm-summary {
  grid-template-columns: repeat(2, minmax(140px, 1fr));
}

.compact-confirm-details {
  padding: 12px;
}

.scaling-cost-summary {
  grid-template-columns: repeat(4, minmax(140px, 1fr));
}

.scaling-preview-table th,
.scaling-preview-table td {
  white-space: nowrap;
}

.scaling-preview-table td:first-child {
  min-width: 210px;
  white-space: normal;
}

.modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 18px;
}

.form-is-submitting {
  position: relative;
}

.form-progress-cue {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  width: fit-content;
  margin-top: 10px;
  padding: 9px 12px;
  border: 1px solid #bfdbfe;
  border-radius: 999px;
  background: var(--badge-info-bg);
  color: var(--badge-info-text);
  font-size: 0.9rem;
  font-weight: 800;
  box-shadow: 0 8px 24px rgba(37, 99, 235, 0.12);
}

.form-progress-orb {
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: #0ea5e9;
  box-shadow: 0 0 0 0 rgba(14, 165, 233, 0.55);
  animation: progress-orb-pulse 1200ms ease-out infinite;
}

.form-progress-dots {
  display: inline-flex;
  gap: 3px;
}

.form-progress-dots i {
  width: 4px;
  height: 4px;
  border-radius: 999px;
  background: currentColor;
  opacity: 0.4;
  animation: progress-dot-bounce 900ms ease-in-out infinite;
}

.form-progress-dots i:nth-child(2) {
  animation-delay: 120ms;
}

.form-progress-dots i:nth-child(3) {
  animation-delay: 240ms;
}

.modal-progress-overlay {
  position: absolute;
  inset: 0;
  z-index: 10;
  display: grid;
  place-items: center;
  gap: 9px;
  align-content: center;
  padding: 24px;
  border-radius: inherit;
  background: rgba(255, 255, 255, 0.84);
  color: var(--text);
  text-align: center;
  backdrop-filter: blur(6px);
}

.modal-progress-overlay strong {
  font-size: 1.05rem;
}

.modal-progress-overlay small {
  max-width: 360px;
  color: var(--muted);
}

.modal-progress-ring {
  width: 44px;
  height: 44px;
  border: 4px solid #dbeafe;
  border-top-color: var(--accent);
  border-radius: 999px;
  animation: button-spin 800ms linear infinite;
}

.page-loading-overlay {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 80;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  max-width: min(420px, calc(100vw - 32px));
  padding: 14px 16px;
  border: 1px solid #bfdbfe;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.94);
  color: var(--text);
  box-shadow: 0 20px 55px rgba(15, 23, 42, 0.22);
  opacity: 0;
  transform: translateY(12px) scale(0.98);
  transition: opacity 160ms ease, transform 160ms ease;
  backdrop-filter: blur(10px);
}

.page-loading-overlay.visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.page-loading-ring {
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  border: 3px solid #dbeafe;
  border-top-color: var(--accent);
  border-radius: 999px;
  animation: button-spin 760ms linear infinite;
}

.page-loading-text {
  color: var(--text);
  font-size: 0.94rem;
  font-weight: 800;
}

@keyframes progress-orb-pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(14, 165, 233, 0.55);
    transform: scale(0.94);
  }
  70% {
    box-shadow: 0 0 0 9px rgba(14, 165, 233, 0);
    transform: scale(1);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(14, 165, 233, 0);
    transform: scale(0.94);
  }
}

@keyframes progress-dot-bounce {
  0%,
  100% {
    opacity: 0.35;
    transform: translateY(0);
  }
  50% {
    opacity: 1;
    transform: translateY(-3px);
  }
}

.empty-table-cell {
  color: var(--muted);
  text-align: center;
}

.component-map-card {
  display: grid;
  gap: 12px;
  padding: 16px;
  box-shadow: none;
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.component-map-card strong {
  display: block;
  font-size: 1.05rem;
}

.component-map-card span,
.resource-pill small {
  color: var(--muted);
}

.resource-action-panel {
  display: grid;
  gap: 10px;
  margin: 12px 14px 14px;
  padding: 14px;
  border: 1px solid #b9d7f2;
  border-radius: 14px;
  background: var(--surface);
}

.resource-pill {
  border-radius: 14px;
  white-space: normal;
}

.resource-pill b {
  color: var(--text);
}

.provider-card {
  display: grid;
  align-content: start;
  gap: 16px;
  padding: 20px;
  overflow: hidden;
}

.provider-card-github {
  background: var(--surface);
}

.provider-card-aws {
  background: var(--surface);
}

.provider-card-render {
  background: var(--surface);
}

.provider-card-header {
  display: flex;
  justify-content: space-between;
  gap: 14px;
}

.provider-app-stack,
.provider-env-stack,
.infra-resource-list {
  display: grid;
  gap: 10px;
}

.provider-app-card {
  box-shadow: none;
  border-radius: 18px;
  background: var(--surface);
  overflow: hidden;
}

.provider-app-card summary {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 14px;
  cursor: pointer;
  font-weight: 800;
}

.provider-app-card summary small,
.provider-env-header span,
.infra-resource-row small {
  color: var(--muted);
  font-weight: 500;
}

.provider-env-stack {
  padding: 0 14px 14px;
}

.provider-env-card {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface-subtle);
  overflow: hidden;
}

.provider-env-header {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 11px 12px;
  border-bottom: 1px solid var(--line);
}

.infra-resource-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  padding: 11px 12px;
  border-bottom: 1px solid var(--line);
}

.infra-resource-row:last-child {
  border-bottom: 0;
}

.infra-resource-row span {
  display: block;
  color: var(--muted);
}

.infra-resource-context {
  display: grid;
  justify-items: end;
  gap: 4px;
  min-width: 170px;
}

.wide-empty-state {
  grid-column: 1 / -1;
}

.subnav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 18px;
}

.subnav a {
  padding: 10px 14px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface);
  color: var(--text);
  font-weight: 700;
}

.subnav a.active,
.subnav a:hover {
  color: var(--accent-strong);
  border-color: #9dccf5;
  background: var(--surface-strong);
}

.action-panel {
  min-height: 220px;
}

.resource-row {
  display: grid;
  gap: 4px;
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
}

.resource-row:last-child {
  border-bottom: 0;
}

.inline-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.75rem;
}

.access-form {
  grid-template-columns: repeat(3, minmax(160px, 1fr)) auto;
  align-items: end;
  margin-top: 12px;
}

.admin-list-header {
  align-items: center;
}

.admin-users-table th:nth-child(1),
.admin-users-table td:nth-child(1) {
  width: 20%;
}

.admin-users-table th:nth-child(2),
.admin-users-table td:nth-child(2) {
  width: 28%;
}

.admin-users-table th:nth-child(3),
.admin-users-table td:nth-child(3),
.admin-users-table th:nth-child(4),
.admin-users-table td:nth-child(4),
.admin-users-table th:nth-child(5),
.admin-users-table td:nth-child(5) {
  width: 14%;
}

.admin-users-table th:nth-child(6),
.admin-users-table td:nth-child(6) {
  width: 10%;
  text-align: right;
}

.admin-modal {
  width: min(820px, calc(100vw - 42px));
}

.wide-admin-modal {
  width: min(1100px, calc(100vw - 42px));
}

.admin-modal-form {
  grid-template-columns: repeat(2, minmax(220px, 1fr));
}

.admin-detail-grid,
.admin-control-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 12px;
}

.admin-detail-grid > div,
.control-card {
  display: grid;
  gap: 8px;
  align-content: start;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--surface-subtle);
}

.admin-detail-grid span,
.control-card span {
  color: var(--muted);
  font-size: 0.9rem;
}

.admin-access-table th:last-child,
.admin-access-table td:last-child {
  text-align: right;
}

.password-control {
  grid-column: span 2;
}

.code-block {
  background: #101820;
  border-radius: 12px;
  color: #e8f4f8;
  overflow-x: auto;
  padding: 1rem;
  white-space: pre-wrap;
}

.environment-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
}

.environment-row:last-child {
  border-bottom: 0;
}

.environment-row span {
  color: var(--muted);
  text-align: right;
}

.environment-grid {
  display: grid;
  gap: 12px;
}

.repository-grid {
  display: grid;
  gap: 12px;
}

.branch-map-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 12px;
  padding: 12px;
  border: 1px dashed var(--line);
  border-radius: 8px;
  background: var(--surface);
}

.operation-context {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid #b9d7f2;
  border-radius: 14px;
  background: var(--surface-subtle);
  color: var(--muted);
}

.operation-context strong {
  color: var(--text);
}

.execution-operation-list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.execution-operation-item {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface);
  overflow: hidden;
}

.execution-operation-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 15px 18px;
  cursor: pointer;
  list-style: none;
}

.execution-operation-summary::-webkit-details-marker {
  display: none;
}

.execution-operation-summary:hover {
  background: var(--surface-subtle);
}

.execution-operation-summary:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--accent) 30%, transparent);
  outline-offset: -3px;
}

.execution-operation-title {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.execution-operation-title strong {
  overflow-wrap: anywhere;
  font-size: 1rem;
}

.execution-operation-meta {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 750;
}

.execution-operation-provider {
  color: var(--muted);
}

.execution-operation-unavailable {
  color: var(--badge-danger-text);
}

.execution-operation-chevron {
  width: 9px;
  height: 9px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform 160ms ease;
}

.execution-operation-item[open] > .execution-operation-summary {
  border-bottom: 1px solid var(--line);
  background: var(--surface-subtle);
}

.execution-operation-item[open] .execution-operation-chevron {
  transform: rotate(225deg);
}

.execution-operation-body {
  display: grid;
  gap: 16px;
  padding: 18px;
  background: var(--surface);
}

.execution-operation-body > .muted {
  margin: 0;
}

.operation-result-pane {
  max-width: 980px;
}

.operation-result-table td {
  vertical-align: top;
}

.operation-result-table code {
  display: block;
  width: fit-content;
  max-width: 260px;
  overflow-wrap: anywhere;
}

.operation-result-table small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  overflow-wrap: anywhere;
}

.operation-selector-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}

.operation-preview-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
}

.operation-preview-grid > div {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface-info);
}

.detail-label {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.confirmation-check {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid #fed7aa;
  border-radius: 14px;
  background: var(--badge-warning-bg);
  color: var(--badge-warning-text);
  border-color: var(--badge-warning-border);
  font-weight: 800;
}

.inline-error {
  padding: 12px 14px;
  border: 1px solid #fecaca;
  border-radius: 14px;
  background: var(--badge-danger-bg);
  color: var(--badge-danger-text);
  border-color: var(--badge-danger-border);
  font-weight: 800;
}

.subsection-header {
  margin: 22px 0 12px;
}

.subsection-header h4 {
  margin: 0;
}

.add-repository-form {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

.environment-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  overflow: hidden;
}

.environment-card summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px;
  cursor: pointer;
}

.environment-card summary span:first-child {
  display: grid;
  gap: 4px;
}

.environment-card small {
  color: var(--muted);
}

.environment-card .form-grid {
  padding: 0 14px 14px;
}

.environment-card .nested-form {
  margin: 0 14px 12px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-subtle);
}

.environment-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 0 14px 14px;
}

.form-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.form-row.two-col {
  grid-template-columns: minmax(0, 1fr) minmax(220px, 0.4fr);
}

.check-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
}

.check-inline {
  align-self: end;
  min-height: 46px;
}

.tag-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.tag {
  display: inline-block;
  padding: 3px 9px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-style: normal;
  font-weight: 800;
  line-height: 1.3;
}

.tag.danger {
  color: var(--badge-danger-text);
  background: var(--badge-danger-bg);
  border: 1px solid var(--badge-danger-border);
}

.tag.success {
  color: var(--badge-success-text);
  background: var(--badge-success-bg);
  border: 1px solid var(--badge-success-border);
}

.tag.warning {
  color: var(--badge-warning-text);
  background: var(--badge-warning-bg);
  border: 1px solid var(--badge-warning-border);
}

.tag.muted-tag {
  color: var(--badge-neutral-text);
  background: var(--badge-neutral-bg);
  border: 1px solid var(--badge-neutral-border);
}

.alert {
  padding: 15px 17px;
  margin-bottom: 18px;
}

.alert.success {
  border-left: 5px solid var(--success);
}

.alert.error {
  border-left: 5px solid var(--danger);
}

.alert.warning {
  border-left: 5px solid var(--warning);
}

.toast-notice {
  position: fixed;
  top: 24px;
  right: 24px;
  z-index: 90;
  width: min(430px, calc(100vw - 32px));
  padding: 16px 18px;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  border: 1px solid var(--line-strong);
  border-left: 5px solid var(--danger);
  border-radius: 16px;
  background: var(--surface-strong);
  color: var(--text);
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.18);
  animation: toast-enter 180ms ease-out both;
}

.toast-notice span {
  flex: 1;
}

.toast-close {
  width: 30px;
  height: 30px;
  margin: -5px -6px 0 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  background: var(--surface);
  color: var(--muted);
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}

.toast-close:hover {
  color: var(--text);
  border-color: var(--accent);
}

.toast-notice.error {
  border-left-color: var(--danger);
}

.toast-notice.success {
  border-left-color: var(--success);
}

.toast-notice.warning {
  border-left-color: var(--warning);
}

@keyframes toast-enter {
  0% {
    transform: translateX(calc(100% + 32px));
    opacity: 0;
  }

  100% {
    transform: translateX(0);
    opacity: 1;
  }
}

.form-grid {
  display: grid;
  gap: 14px;
}

.form-grid label {
  display: grid;
  gap: 6px;
}

input,
select,
textarea {
  width: 100%;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid var(--line-strong);
  font: inherit;
  background: var(--surface-strong);
  color: var(--text);
}

textarea {
  min-height: 92px;
}

.check {
  display: flex !important;
  align-items: center;
  gap: 10px;
}

.check input {
  width: auto;
}

.primary-button,
.success-button,
.danger-button,
.ghost-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 0;
  border-radius: 14px;
  padding: 12px 16px;
  cursor: pointer;
  font: inherit;
  font-weight: 800;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.12);
}

.primary-button:disabled,
.success-button:disabled,
.danger-button:disabled,
.ghost-button:disabled {
  cursor: wait;
  opacity: 0.72;
}

.button-spinner {
  width: 14px;
  height: 14px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 999px;
  animation: button-spin 700ms linear infinite;
}

@keyframes button-spin {
  to {
    transform: rotate(360deg);
  }
}

.compact-button {
  min-height: 34px;
  padding: 8px 11px;
  border-radius: 11px;
  font-size: 0.86rem;
}

.primary-button {
  background: var(--accent);
  color: #fff;
}

.primary-button:hover {
  background: var(--accent-strong);
}

.success-button {
  background: var(--success);
  color: #fff;
}

.success-button:hover {
  background: #23724f;
}

.danger-button {
  background: var(--danger);
  color: #fff;
}

.ghost-button {
  color: var(--text);
  background: var(--surface);
  border: 1px solid var(--line-strong);
}

.ghost-button:hover {
  background: var(--surface-info);
  border-color: #9dccf5;
}

.inline-button {
  width: fit-content;
  margin-top: 12px;
}

.approval-card,
.job-card {
  padding: 18px 0;
  border-bottom: 1px solid var(--line);
}

.approval-card:last-child,
.job-card:last-child {
  border-bottom: 0;
}

.approval-form,
.button-row {
  display: grid;
  gap: 12px;
}

.button-row {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.job-header {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 10px;
}

.job-progress-panel {
  display: grid;
  gap: 20px;
}

.job-progress-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
}

.job-progress-summary {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.job-progress-error {
  padding: 14px 16px;
  border: 1px solid #fecaca;
  border-left: 5px solid var(--danger);
  border-radius: 14px;
  background: var(--badge-danger-bg);
  color: var(--badge-danger-text);
  border-color: var(--badge-danger-border);
  font-weight: 800;
}

.job-progress-result {
  padding: 18px;
  border: 1px solid var(--line-strong);
  border-radius: 18px;
  background: var(--surface-subtle);
}

.jobs-history-panel {
  padding: 0;
  overflow: hidden;
}

.jobs-history-table td {
  vertical-align: middle;
}

.jobs-history-link {
  display: block;
  color: var(--text);
  font-weight: 800;
  text-decoration: none;
}

.jobs-history-link:hover {
  color: var(--accent-strong);
  text-decoration: underline;
}

.jobs-history-open {
  width: 1%;
  text-align: right;
  white-space: nowrap;
}

.pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 18px 22px;
  border-top: 1px solid var(--line);
}

.pagination .disabled {
  pointer-events: none;
  opacity: 0.45;
}

.execution-progress-panel {
  display: grid;
  gap: 18px;
  max-width: 900px;
}

.execution-progress-heading {
  display: flex;
  align-items: center;
  gap: 14px;
}

.execution-progress-heading h3 {
  margin-top: 2px;
}

.execution-visual {
  width: 48px;
  height: 48px;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 999px;
}

.execution-spinner,
.execution-tick,
.execution-cross {
  grid-area: 1 / 1;
}

.execution-spinner {
  width: 28px;
  height: 28px;
  border: 3px solid #bfdbfe;
  border-top-color: var(--accent);
  border-radius: 999px;
  animation: button-spin 800ms linear infinite;
}

.execution-tick,
.execution-cross {
  display: none;
  width: 28px;
  height: 28px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 3;
}

.execution-visual-running {
  background: var(--badge-info-bg);
  color: var(--badge-info-text);
}

.execution-visual-success {
  background: var(--badge-success-bg);
  color: var(--badge-success-text);
}

.execution-visual-success .execution-spinner,
.execution-visual-failure .execution-spinner {
  display: none;
}

.execution-visual-success .execution-tick,
.execution-visual-failure .execution-cross {
  display: block;
}

.execution-visual-failure {
  background: var(--badge-danger-bg);
  color: var(--badge-danger-text);
}

.execution-progress-copy {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px 18px;
}

.execution-progress-copy span,
.execution-progress-percent span {
  color: var(--muted);
}

.execution-progress-track {
  height: 12px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--surface-subtle);
  border: 1px solid var(--line);
}

.execution-progress-track > span {
  display: block;
  height: 100%;
  min-width: 2px;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--accent), #45c59a);
  transition: width 500ms ease;
}

.execution-progress-percent {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-top: -10px;
  font-size: 0.86rem;
}

.execution-latest-line {
  overflow: hidden;
  padding: 13px 15px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--accent);
  border-radius: 12px;
  background: var(--surface-subtle);
  color: var(--text);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.execution-latest-error {
  border-left-color: var(--danger);
  color: var(--badge-danger-text);
}

.execution-latest-success {
  border-left-color: var(--success);
  color: var(--badge-success-text);
}

.execution-job-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
}

.execution-job-meta div {
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface-subtle);
}

.execution-job-meta dt {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.execution-job-meta dd {
  overflow: hidden;
  margin: 4px 0 0;
  color: var(--text);
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 760px) {
  .jobs-history-table {
    min-width: 760px;
  }

  .execution-job-meta {
    grid-template-columns: 1fr;
  }

  .execution-latest-line {
    white-space: normal;
  }

  .pagination {
    gap: 10px;
    padding: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .execution-spinner {
    animation-duration: 1800ms;
  }

  .execution-progress-track > span {
    transition: none;
  }
}

.job-result-list {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.job-result-list div {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface);
}

.job-result-list small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-family: "Space Mono", monospace;
}

.job-log-list {
  display: grid;
  gap: 8px;
}

.log-line {
  margin-top: 8px;
  padding: 10px 12px;
  border-radius: 12px;
  background: var(--surface-subtle);
  border: 1px solid var(--line);
  color: var(--text);
  font-size: 0.92rem;
}

pre {
  margin: 10px 0 0;
  padding: 12px;
  border-radius: 14px;
  background: #18202a;
  color: #e9eef4;
  white-space: pre-wrap;
  word-break: break-word;
}

.empty-state {
  padding: 16px;
  border-radius: 14px;
  background: var(--surface-subtle);
  border: 1px solid var(--line);
  color: var(--muted);
}

/* Shared delivery and operational work management. */
.work-subnav {
  margin-bottom: 20px;
}

.work-list-panel,
.work-form-panel,
.work-summary-panel,
.work-status-panel,
.work-thread-panel {
  min-width: 0;
}

.work-attachments-panel {
  margin-top: 1rem;
}

.work-attachment-form {
  display: grid;
  grid-template-columns: minmax(14rem, 1fr) minmax(16rem, 1.5fr) auto;
  gap: 0.75rem;
  align-items: end;
}

.work-attachment-form label {
  display: grid;
  gap: 0.35rem;
}

.work-attachment-list {
  display: grid;
  gap: 0;
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--line);
}

.work-attachment-row {
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: center;
  padding: 0.8rem 0;
  border-bottom: 1px solid var(--line);
}

.work-attachment-icon {
  display: grid;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0.65rem;
  background: var(--surface-subtle);
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 800;
}

.work-attachment-copy {
  display: grid;
  min-width: 0;
  gap: 0.2rem;
}

.work-attachment-copy strong,
.work-attachment-copy span {
  overflow-wrap: anywhere;
}

.work-attachment-copy span {
  color: var(--muted);
  font-size: 0.82rem;
}

.work-attachment-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
}

.work-attachment-actions form {
  margin: 0;
}

.work-attachment-clean {
  color: var(--success);
}

.work-attachment-rejected {
  color: var(--danger);
}

.work-attachment-scanning {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.work-attachment-scanning .execution-spinner {
  width: 0.8rem;
  height: 0.8rem;
}

.work-item-link {
  display: -webkit-box;
  overflow: hidden;
  color: var(--text);
  font-weight: 800;
  text-decoration: none;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.work-item-link:hover {
  color: var(--accent-strong);
  text-decoration: underline;
}

.work-item-summary {
  display: -webkit-box;
  overflow: hidden;
  margin-top: 4px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.work-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 6px 10px;
  border: 1px solid var(--badge-neutral-border);
  border-radius: 999px;
  background: var(--badge-neutral-bg);
  color: var(--badge-neutral-text);
  font-size: 0.8rem;
  font-weight: 800;
  white-space: nowrap;
}

.work-badge-priority-critical,
.work-badge-priority-high {
  border-color: var(--badge-danger-border);
  background: var(--badge-danger-bg);
  color: var(--badge-danger-text);
}

.work-badge-priority-medium,
.work-badge-status-in-progress,
.work-badge-status-ready,
.work-badge-status-in-review {
  border-color: var(--badge-warning-border);
  background: var(--badge-warning-bg);
  color: var(--badge-warning-text);
}

.work-badge-priority-low,
.work-badge-status-resolved,
.work-badge-status-closed,
.work-badge-status-done {
  border-color: var(--badge-success-border);
  background: var(--badge-success-bg);
  color: var(--badge-success-text);
}

.work-badge-status-open,
.work-badge-status-backlog {
  border-color: var(--badge-info-border);
  background: var(--badge-info-bg);
  color: var(--badge-info-text);
}

.work-form-scope {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 14px;
}

.work-form-scope label {
  display: grid;
  gap: 6px;
}

.work-form-note {
  margin: 0;
  color: var(--muted);
  font-size: 0.9rem;
}

.work-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.work-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
  gap: 18px;
}

.notification-nav-link { display: flex !important; align-items: center; justify-content: space-between; gap: .65rem; }
.notification-badge {
  min-width: 1.45rem;
  padding: .12rem .42rem;
  border-radius: 999px;
  background: var(--danger);
  color: #fff;
  text-align: center;
  font-size: .72rem;
  font-weight: 800;
}
.notification-page-header, .notification-actions { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.notification-actions { justify-content: flex-end; flex-wrap: wrap; }
.notification-list { display: grid; }
.notification-row { display: grid; grid-template-columns: auto 1fr auto; gap: .85rem; align-items: start; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.notification-row:last-child { border-bottom: 0; }
.notification-row > a { display: grid; gap: .25rem; color: inherit; text-decoration: none; }
.notification-row p { margin: .25rem 0; color: var(--muted); white-space: pre-wrap; }
.notification-row span, .notification-row small { color: var(--muted); }
.notification-dot { width: .58rem; height: .58rem; margin-top: .42rem; border-radius: 50%; background: transparent; }
.notification-row.unread .notification-dot { background: var(--accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 16%, transparent); }
.notification-toast-stack { position: fixed; z-index: 1200; top: 1rem; right: 1rem; display: grid; gap: .65rem; width: min(390px, calc(100vw - 2rem)); }
.notification-toast { display: grid; gap: .25rem; padding: .9rem 1rem; border: 1px solid var(--line); border-left: 4px solid var(--accent); border-radius: 12px; background: var(--surface); color: var(--text); text-decoration: none; box-shadow: var(--shadow); }
.notification-toast span { color: var(--muted); font-size: .88rem; }
.work-attachment-context { color: var(--muted); font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
@media (max-width: 760px) {
  .notification-page-header { align-items: flex-start; flex-direction: column; }
  .notification-row { grid-template-columns: auto 1fr; }
  .notification-row form { grid-column: 2; }
  .notification-toast-stack { top: 4.75rem; }
}

.work-detail-primary {
  display: grid;
  min-width: 0;
  gap: 18px;
  align-content: start;
}

.work-summary-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
}

.work-metadata {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
}

.work-metadata div {
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface-subtle);
}

.work-metadata dt {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.work-metadata dd {
  margin: 4px 0 0;
  color: var(--text);
  font-weight: 800;
}

.work-description {
  margin-top: 22px;
}

.work-description p,
.work-thread-entry p {
  margin-bottom: 0;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.work-status-panel h3 {
  margin-top: 4px;
  margin-bottom: 16px;
}

.work-thread-panel {
  margin-top: 0;
}

.work-thread-form {
  display: grid;
  gap: 10px;
  margin-top: 22px;
  padding-top: 22px;
  border-top: 1px solid var(--line);
}

.work-thread-form label {
  font-weight: 800;
}

.work-thread-form button {
  width: fit-content;
}

.work-thread {
  display: grid;
  gap: 0;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}

.work-thread-entry {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr);
  gap: 12px;
  padding: 0 0 22px;
}

.work-thread-marker {
  width: 12px;
  height: 12px;
  margin-top: 5px;
  border: 3px solid var(--surface);
  border-radius: 999px;
  background: var(--accent);
  box-shadow: 0 0 0 1px var(--accent);
}

.work-thread-entry.status-change .work-thread-marker {
  background: var(--warning);
  box-shadow: 0 0 0 1px var(--warning);
}

.work-thread-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px;
}

.work-thread-meta span {
  color: var(--muted);
  font-size: 0.86rem;
}

@media (max-width: 760px) {
  .work-attachment-form,
  .work-attachment-row {
    grid-template-columns: 1fr;
  }

  .work-attachment-icon {
    display: none;
  }

  .work-attachment-actions {
    justify-content: flex-start;
  }
  .work-form-scope,
  .work-detail-grid,
  .work-metadata {
    grid-template-columns: 1fr;
  }

  .work-detail-header {
    align-items: stretch;
  }

  .work-table {
    min-width: 760px;
  }
}

.auth-body {
  min-height: 100vh;
  display: grid;
  place-items: center;
}

.auth-shell {
  width: min(520px, calc(100vw - 32px));
}

.auth-card {
  padding: 28px;
  border-radius: 22px;
  background: var(--surface);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
}

.mfa-qr-panel {
  display: grid;
  grid-template-columns: 148px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  margin: 22px 0;
  padding: 16px;
  border: 1px solid #b9d7f2;
  border-radius: 18px;
  background: var(--surface-info);
}

.mfa-qr-panel img {
  width: 148px;
  height: 148px;
  padding: 10px;
  border-radius: 16px;
  background: #ffffff;
  border: 1px solid var(--line);
  box-shadow: 0 12px 24px rgba(12, 30, 46, 0.08);
}

.mfa-qr-panel strong,
.mfa-qr-panel span,
.mfa-qr-panel small {
  display: block;
}

.mfa-qr-panel span {
  margin-top: 8px;
  font-family: "Cascadia Code", "SFMono-Regular", Consolas, monospace;
  overflow-wrap: anywhere;
  color: var(--ink);
}

.mfa-qr-panel small {
  margin-top: 8px;
  color: var(--muted);
}

.mfa-manual-details {
  margin: 0 0 20px;
}

.mfa-manual-details summary {
  cursor: pointer;
  font-weight: 900;
  color: var(--brand);
}

.mfa-manual-details .resource-row {
  margin-top: 12px;
}

.signed-in-banner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  margin: 18px 0 10px;
  padding: 14px;
  border: 1px solid #b9d7f2;
  border-radius: 16px;
  background: var(--surface-subtle);
}

.signed-in-banner strong,
.signed-in-banner span,
.signed-in-banner small {
  display: block;
}

.signed-in-banner span,
.signed-in-banner small {
  color: var(--muted);
  margin-top: 3px;
}

.signed-in-banner small {
  font-size: 0.82rem;
}

.switch-account-form {
  margin: 0 0 18px;
}

.copilot-launcher {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 50;
  border: 0;
  border-radius: 999px;
  padding: 14px 20px;
  color: #ffffff;
  background: linear-gradient(135deg, #0f6fa8, #0b8f6f);
  box-shadow: 0 18px 40px rgba(15, 111, 168, 0.28);
  font-weight: 900;
  cursor: pointer;
}

.copilot-drawer {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 60;
  width: min(520px, 100vw);
  height: 100vh;
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 0;
  background: var(--surface);
  border-left: 1px solid var(--line-strong);
  box-shadow: -24px 0 60px rgba(12, 30, 46, 0.18);
  transform: translateX(105%);
  transition: transform 180ms ease;
}

.copilot-drawer.open {
  transform: translateX(0);
}

.copilot-header {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 22px;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(135deg, var(--surface-strong), var(--surface-info));
}

.copilot-header h2 {
  margin: 2px 0 4px;
  font-size: 1.35rem;
}

.copilot-header p {
  margin: 0;
  color: var(--muted);
  font-size: 0.92rem;
}

.copilot-messages {
  overflow-y: auto;
  padding: 18px;
  background: var(--surface-subtle);
}

.copilot-message,
.copilot-preview {
  margin-bottom: 14px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid var(--line);
  background: var(--surface);
}

.copilot-message.user {
  border-color: #9dccf5;
  background: var(--badge-info-bg);
}

.copilot-message.assistant {
  border-color: #bfe7d7;
  background: var(--badge-success-bg);
}

.copilot-message strong,
.copilot-preview strong {
  display: block;
  margin-bottom: 6px;
  color: var(--text);
}

.copilot-message p {
  margin: 0;
  white-space: pre-wrap;
}

.copilot-preview {
  border-color: #b9d7f2;
  box-shadow: 0 12px 26px rgba(12, 30, 46, 0.08);
}

.copilot-preview .tag {
  width: fit-content;
  margin-bottom: 10px;
}

.copilot-preview pre,
.copilot-result {
  max-height: 260px;
  overflow: auto;
  font-size: 0.82rem;
}

.copilot-preview-actions {
  display: flex;
  gap: 10px;
  margin-top: 12px;
}

.copilot-form {
  display: grid;
  gap: 10px;
  padding: 18px;
  border-top: 1px solid var(--line);
  background: var(--surface);
}

.copilot-form label {
  font-size: 0.82rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--muted);
}

.copilot-model-select {
  min-height: 44px;
  border-radius: 14px;
  border: 1px solid var(--line-strong);
  background: var(--surface);
  color: var(--text);
  font-weight: 800;
}

.copilot-form textarea {
  min-height: 92px;
  resize: vertical;
}

@media (max-width: 1080px) {
  .shell {
    grid-template-columns: 1fr;
  }

  .sidebar {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .two-up,
  .three-up,
  .config-pane-grid,
  .config-summary-grid,
  .scale-toggle,
  .admin-modal-form,
  .admin-detail-grid,
  .admin-control-grid,
  .schedule-grid,
  .schedule-window-grid,
  .schedule-time-row,
  .form-row,
  .form-row.two-col,
  .access-form,
  .environment-row,
  .environment-card summary,
  .environment-map-header,
  .infra-resource-row,
  .mfa-qr-panel,
  .copilot-header {
    grid-template-columns: 1fr;
  }

  .password-control {
    grid-column: span 1;
  }

  .environment-row span {
    text-align: left;
  }

  .environment-map-header,
  .provider-card-header {
    display: grid;
  }

  .environment-header-scaling {
    width: 100%;
    min-width: 0;
    margin-left: 0;
  }

  .scheduler-page-header {
    display: grid;
    align-items: start;
  }

  .scheduler-target-form {
    grid-template-columns: 1fr;
  }

  .application-picker {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .metric-row,
  .metric-row.compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .execution-operation-summary {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 14px;
  }

  .execution-operation-meta {
    justify-content: flex-start;
  }

  .execution-operation-chevron {
    margin-left: auto;
  }

  .execution-operation-body {
    padding: 14px;
  }

  .mfa-qr-panel {
    justify-items: center;
    text-align: center;
  }

  .resource-card-header {
    display: grid;
  }

  .resource-card-header [data-resource-status-cell] {
    justify-items: start;
    text-align: left;
  }

  .resource-card-detail-grid {
    grid-template-columns: 1fr;
  }

  .resource-type-visual {
    min-height: 126px;
    grid-template-columns: auto 1fr;
    align-items: center;
    align-content: center;
    gap: 14px;
  }

  .resource-visual-frame {
    width: 70px;
    height: 70px;
    margin: 0;
    border-radius: 22px;
  }

  .resource-visual-image {
    width: 68px;
    height: 68px;
  }

  .resource-visual-copy {
    justify-items: start;
    text-align: left;
  }

  .resource-card-actions {
    align-items: stretch;
  }

  .resource-card-actions .inline-form,
  .resource-card-actions .compact-button {
    width: 100%;
  }
}

/* Admin-only deterministic diagnostics */
.diagnostics-page-header {
  align-items: flex-end;
  gap: 24px;
}

.diagnostics-header-actions,
.diagnostics-header-actions form {
  display: flex;
  align-items: center;
  gap: 10px;
}

.diagnostics-header-actions select {
  min-width: 170px;
}

.diagnostics-summary {
  display: grid;
  grid-template-columns: auto minmax(220px, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 20px 24px;
  margin: 18px 0;
  border: 1px solid var(--line-strong);
  border-left-width: 6px;
  border-radius: 18px;
  background: var(--surface);
}

.diagnostics-summary h3,
.diagnostics-summary p {
  margin: 2px 0 0;
}

.health-orb,
.health-pill i {
  display: inline-block;
  border-radius: 50%;
  background: #8293a6;
}

.health-orb {
  width: 34px;
  height: 34px;
  box-shadow: 0 0 0 8px #edf1f5;
}

.health-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  width: fit-content;
  padding: 6px 10px;
  border: 1px solid var(--badge-neutral-border);
  border-radius: 999px;
  background: var(--badge-neutral-bg);
  color: var(--badge-neutral-text);
  font-size: 0.82rem;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}

.health-pill i {
  width: 9px;
  height: 9px;
}

.health-green { border-color: #74d59e; }
.health-amber { border-color: #efb24e; }
.health-red { border-color: #ef7777; }
.health-unknown { border-color: #aebac6; }
.health-pill.health-green {
  color: var(--badge-success-text);
  background: var(--badge-success-bg);
  border-color: var(--badge-success-border);
}
.health-pill.health-amber {
  color: var(--badge-warning-text);
  background: var(--badge-warning-bg);
  border-color: var(--badge-warning-border);
}
.health-pill.health-red {
  color: var(--badge-danger-text);
  background: var(--badge-danger-bg);
  border-color: var(--badge-danger-border);
}
.health-pill.health-unknown {
  color: var(--badge-neutral-text);
  background: var(--badge-neutral-bg);
  border-color: var(--badge-neutral-border);
}
.health-green .health-orb,
.health-green.health-orb,
.health-green i { background: #16a05d; box-shadow: 0 0 0 5px #dff7e9; }
.health-amber .health-orb,
.health-amber.health-orb,
.health-amber i { background: #e59200; box-shadow: 0 0 0 5px #fff1ce; }
.health-red .health-orb,
.health-red.health-orb,
.health-red i { background: #d92d2d; box-shadow: 0 0 0 5px #ffe1e1; }
.health-unknown .health-orb,
.health-unknown.health-orb,
.health-unknown i { background: #7b8c9e; box-shadow: 0 0 0 5px #edf1f5; }

.health-counts {
  display: flex;
  align-items: stretch;
  gap: 8px;
}

.health-count {
  min-width: 66px;
  padding: 8px 10px;
  border: 1px solid currentColor;
  border-radius: 12px;
  font-size: 0.72rem;
  text-align: center;
}

.health-count b {
  display: block;
  font-size: 1.05rem;
}

.health-count.health-green { color: var(--badge-success-text); background: var(--badge-success-bg); }
.health-count.health-amber { color: var(--badge-warning-text); background: var(--badge-warning-bg); }
.health-count.health-red { color: var(--badge-danger-text); background: var(--badge-danger-bg); }
.health-count.health-unknown { color: var(--badge-neutral-text); background: var(--badge-neutral-bg); }

.diagnostics-environments {
  display: grid;
  gap: 16px;
}

.diagnostics-environment {
  overflow: hidden;
  border: 1px solid var(--line-strong);
  border-radius: 18px;
  background: var(--surface);
}

.diagnostics-environment > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  cursor: pointer;
  list-style: none;
  background: var(--surface-strong);
}

.diagnostics-environment > summary::-webkit-details-marker { display: none; }
.diagnostics-environment > summary span:first-child { display: flex; align-items: center; gap: 10px; }
.diagnostics-environment > summary small { color: var(--muted); font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; }
.diagnostics-environment > summary strong { font-size: 1.25rem; }

.diagnostic-resource-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 16px;
}

.diagnostic-resource {
  display: grid;
  gap: 14px;
  min-width: 0;
  padding: 18px;
  border: 1px solid var(--line-strong);
  border-top-width: 4px;
  border-radius: 16px;
  background: var(--surface);
}

.diagnostic-resource > header,
.diagnostic-evidence-card > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.diagnostic-resource h4,
.diagnostic-resource p,
.diagnostic-resource code { margin: 3px 0 0; }
.diagnostic-resource code { color: var(--badge-info-text); overflow-wrap: anywhere; }
.diagnostic-summary-copy { min-height: 42px; color: var(--muted); }

.metric-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--line);
}

.metric-grid div { min-width: 0; padding: 10px; background: var(--surface-subtle); }
.metric-grid dt { color: var(--muted); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.metric-grid dd { margin: 4px 0 0; font-size: 0.95rem; font-weight: 800; overflow-wrap: anywhere; }

.diagnostic-errors {
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border-left: 4px solid #8393a5;
  background: var(--badge-neutral-bg);
  color: var(--badge-neutral-text);
  font-size: 0.8rem;
}

.diagnostic-config {
  border-top: 1px solid var(--line);
  padding-top: 12px;
}

.diagnostic-config > summary {
  width: fit-content;
  cursor: pointer;
  color: var(--badge-info-text);
  font-weight: 800;
}

.diagnostic-scope-policy {
  margin: 0 0 18px;
  padding: 14px 16px;
  border: 1px solid var(--line-strong);
  border-radius: 14px;
  background: var(--surface);
}

.diagnostic-scope-policy.environment-policy {
  margin: 14px 16px 0;
  background: var(--surface-subtle);
}

.diagnostic-policy-form,
.diagnostic-source-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.diagnostic-policy-form label,
.diagnostic-source-form label {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 0.73rem;
  font-weight: 800;
}

.diagnostic-policy-form input,
.diagnostic-source-form input,
.diagnostic-source-form select {
  width: 100%;
  min-width: 0;
}

.diagnostic-policy-form .wide-field,
.diagnostic-source-form label { grid-column: span 2; }
.diagnostic-policy-form button,
.diagnostic-source-form button { align-self: end; justify-self: start; }

.diagnostic-runs { margin-top: 22px; }
.diagnostic-runs .resource-table { min-width: 780px; }

.diagnostic-run-pane {
  width: min(1080px, calc(100vw - 40px));
  max-height: calc(100vh - 40px);
  overflow-y: auto;
}

.diagnostic-run-summary {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px;
  border: 1px solid var(--line-strong);
  border-left-width: 5px;
  border-radius: 14px;
}

.diagnostic-evidence-card,
.ai-diagnosis {
  margin-top: 14px;
  padding: 16px;
  border: 1px solid var(--line-strong);
  border-radius: 14px;
  background: var(--surface);
}

.diagnostic-evidence-card p { margin: 8px 0; }
.diagnostic-evidence-card details { margin-top: 10px; }
.diagnostic-evidence-card summary { cursor: pointer; font-weight: 800; }
.log-fingerprint,
.source-reference { margin-top: 10px; padding: 12px; border-radius: 10px; background: var(--surface-subtle); }
.log-fingerprint pre,
.source-reference pre { max-height: 230px; overflow: auto; margin-bottom: 0; white-space: pre-wrap; font-size: 0.76rem; }

.diagnostics-job-overlay {
  position: fixed;
  z-index: 1400;
  right: 24px;
  bottom: 24px;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 4px 12px;
  align-items: center;
  min-width: 330px;
  padding: 16px 20px;
  border: 1px solid #7db8dd;
  border-radius: 16px;
  background: var(--surface-strong);
  box-shadow: 0 20px 55px rgba(20, 52, 76, 0.2);
}

.diagnostics-job-overlay .page-loading-ring { grid-row: span 2; }
.diagnostics-job-overlay span:last-child { color: var(--muted); font-size: 0.82rem; }

@media (max-width: 1050px) {
  .diagnostic-resource-grid { grid-template-columns: 1fr; }
  .diagnostics-page-header,
  .diagnostics-header-actions { align-items: stretch; }
  .diagnostics-page-header { display: grid; }
}

@media (max-width: 720px) {
  .diagnostics-header-actions,
  .diagnostics-header-actions form { display: grid; }
  .diagnostics-summary { grid-template-columns: auto 1fr; }
  .health-counts { grid-column: 1 / -1; flex-wrap: wrap; }
  .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .diagnostic-policy-form,
  .diagnostic-source-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .diagnostics-job-overlay { left: 14px; right: 14px; bottom: 14px; min-width: 0; }
}

/* Mobile application shell ------------------------------------------------ */
.mobile-app-bar,
.mobile-bottom-nav,
.mobile-drawer-header,
.mobile-nav-backdrop {
  display: none;
}

.skip-link {
  position: fixed;
  z-index: 3000;
  top: 8px;
  left: 8px;
  padding: 10px 14px;
  border-radius: 10px;
  color: #ffffff;
  background: var(--accent-strong);
  transform: translateY(-150%);
}

.skip-link:focus {
  transform: translateY(0);
}

.mobile-icon-button {
  width: 44px;
  height: 44px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 44px;
  padding: 0;
  border: 1px solid var(--line-strong);
  border-radius: 14px;
  color: var(--text);
  background: var(--surface);
  cursor: pointer;
}

.mobile-icon-button svg,
.mobile-bottom-nav svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.mobile-theme-button .theme-icon-dark,
html[data-theme="dark"] .mobile-theme-button .theme-icon-light {
  display: none;
}

html[data-theme="dark"] .mobile-theme-button .theme-icon-dark {
  display: block;
}

@keyframes mobile-sheet-enter {
  from { transform: translateY(28px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}

@media (max-width: 768px) {
  :root {
    --mobile-app-bar-height: 60px;
    --mobile-bottom-nav-height: 66px;
    --mobile-gutter: 14px;
  }

  html {
    scroll-padding-top: calc(var(--mobile-app-bar-height) + env(safe-area-inset-top) + 12px);
  }

  body.authenticated-shell {
    min-width: 0;
    overflow-x: hidden;
  }

  body.mobile-nav-open {
    overflow: hidden;
  }

  .mobile-app-bar {
    position: fixed;
    z-index: 90;
    top: 0;
    left: 0;
    right: 0;
    min-height: calc(var(--mobile-app-bar-height) + env(safe-area-inset-top));
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    align-items: end;
    gap: 10px;
    padding: env(safe-area-inset-top) 12px 8px;
    border-bottom: 1px solid var(--line);
    background: color-mix(in srgb, var(--surface) 94%, transparent);
    box-shadow: 0 8px 28px rgba(15, 23, 42, 0.08);
    backdrop-filter: blur(16px);
  }

  .mobile-app-brand {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 10px;
  }

  .mobile-app-brand > span:last-child {
    min-width: 0;
    display: grid;
    line-height: 1.05;
  }

  .mobile-app-brand strong,
  .mobile-app-brand small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mobile-app-brand strong {
    font-size: 1rem;
    letter-spacing: -0.02em;
  }

  .mobile-app-brand small {
    margin-top: 3px;
    color: var(--muted);
    font-size: 0.72rem;
    font-weight: 800;
  }

  .mobile-brand-mark {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    flex: 0 0 34px;
    border-radius: 11px;
    color: #ffffff;
    background: linear-gradient(135deg, #0f6fa8, #0b8f6f);
    font-size: 1.05rem;
    font-weight: 900;
    box-shadow: 0 7px 16px rgba(15, 111, 168, 0.22);
  }

  .shell {
    min-width: 0;
    display: block;
  }

  .sidebar {
    position: fixed;
    z-index: 120;
    inset: 0 auto 0 0;
    width: min(88vw, 360px);
    height: 100dvh;
    padding: calc(12px + env(safe-area-inset-top)) 16px calc(18px + env(safe-area-inset-bottom));
    border: 0;
    border-right: 1px solid var(--line-strong);
    border-radius: 0 24px 24px 0;
    box-shadow: 24px 0 60px rgba(2, 6, 23, 0.24);
    overflow-y: auto;
    transform: translateX(-105%);
    transition: transform 180ms ease;
  }

  body.mobile-nav-open .sidebar {
    transform: translateX(0);
  }

  .mobile-drawer-header {
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .mobile-drawer-title {
    font-size: 0.8rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
  }

  .sidebar .brand p {
    margin-bottom: 0;
    font-size: 0.9rem;
  }

  .sidebar .nav a {
    min-height: 48px;
    display: flex;
    align-items: center;
    padding: 12px 14px;
  }

  .sidebar .logout-form {
    margin-top: auto;
  }

  .mobile-nav-backdrop {
    position: fixed;
    z-index: 110;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    background: rgba(2, 6, 23, 0.54);
    opacity: 0;
    pointer-events: none;
    transition: opacity 180ms ease;
  }

  body.mobile-nav-open .mobile-nav-backdrop {
    display: block;
    opacity: 1;
    pointer-events: auto;
  }

  .content {
    min-width: 0;
    min-height: 100dvh;
    padding: calc(var(--mobile-app-bar-height) + env(safe-area-inset-top) + 14px) var(--mobile-gutter) calc(var(--mobile-bottom-nav-height) + env(safe-area-inset-bottom) + 20px);
  }

  .mobile-bottom-nav {
    position: fixed;
    z-index: 85;
    left: 0;
    right: 0;
    bottom: 0;
    min-height: calc(var(--mobile-bottom-nav-height) + env(safe-area-inset-bottom));
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
    align-items: start;
    padding: 5px 8px calc(5px + env(safe-area-inset-bottom));
    border-top: 1px solid var(--line-strong);
    background: color-mix(in srgb, var(--surface) 96%, transparent);
    box-shadow: 0 -10px 30px rgba(15, 23, 42, 0.1);
    backdrop-filter: blur(18px);
  }

  .mobile-bottom-nav a,
  .mobile-bottom-nav button {
    min-width: 0;
    min-height: 54px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 2px;
    padding: 4px;
    border: 0;
    border-radius: 14px;
    color: var(--muted);
    background: transparent;
    font: inherit;
    font-size: 0.68rem;
    font-weight: 800;
    cursor: pointer;
  }

  .mobile-bottom-nav a.active,
  .mobile-bottom-nav button.active {
    color: var(--accent-strong);
    background: var(--surface-info);
  }

  .mobile-bottom-nav svg {
    width: 21px;
    height: 21px;
  }

  .page-header {
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 16px;
  }

  .page-header h2 {
    font-size: clamp(1.45rem, 7vw, 1.85rem);
    line-height: 1.08;
  }

  .page-header p {
    margin: 5px 0 0;
    font-size: 0.9rem;
    line-height: 1.4;
  }

  .page-header-actions {
    justify-content: flex-start;
  }

  .panel,
  .alert,
  .resource-card {
    border-radius: 18px;
  }

  .panel {
    padding: 16px;
  }

  .subnav {
    position: sticky;
    z-index: 40;
    top: calc(var(--mobile-app-bar-height) + env(safe-area-inset-top));
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    margin: 0 calc(var(--mobile-gutter) * -1) 14px;
    padding: 7px var(--mobile-gutter) 10px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    background: color-mix(in srgb, var(--bg) 96%, transparent);
    backdrop-filter: blur(14px);
  }

  .subnav::-webkit-scrollbar {
    display: none;
  }

  .subnav a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    padding: 9px 14px;
    white-space: nowrap;
  }

  input,
  select,
  textarea {
    min-height: 48px;
    font-size: 16px;
  }

  textarea {
    min-height: 110px;
  }

  .primary-button,
  .success-button,
  .danger-button,
  .ghost-button,
  .warning-button {
    min-height: 44px;
  }

  .compact-button {
    min-height: 44px;
    padding: 9px 12px;
  }

  .modal-backdrop {
    z-index: 200;
    place-items: end center;
    padding: 0;
    background: rgba(2, 6, 23, 0.62);
    backdrop-filter: blur(4px);
  }

  .modal-backdrop .config-pane {
    width: 100%;
    max-width: none;
    max-height: calc(94dvh - env(safe-area-inset-top));
    margin: 0;
    padding: 20px 16px calc(16px + env(safe-area-inset-bottom));
    border-width: 1px 0 0;
    border-radius: 24px 24px 0 0;
    box-shadow: 0 -20px 60px rgba(2, 6, 23, 0.3);
    animation: mobile-sheet-enter 180ms ease-out;
  }

  .modal-backdrop .config-pane::before,
  .resource-details-pane::before {
    content: "";
    width: 42px;
    height: 4px;
    display: block;
    margin: -8px auto 2px;
    border-radius: 999px;
    background: var(--line-strong);
  }

  .config-pane-header {
    position: sticky;
    z-index: 4;
    top: -20px;
    align-items: center;
    margin: -2px -2px 0;
    padding: 10px 2px 14px;
    background: var(--surface);
  }

  .config-pane-header p {
    font-size: 0.86rem;
  }

  .modal-backdrop .modal-actions {
    position: sticky;
    z-index: 4;
    bottom: calc(-16px - env(safe-area-inset-bottom));
    margin: 12px -16px calc(-16px - env(safe-area-inset-bottom));
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
    border-top: 1px solid var(--line);
    background: var(--surface);
    box-shadow: 0 -12px 28px rgba(15, 23, 42, 0.08);
  }

  .modal-actions > * {
    flex: 1 1 0;
    justify-content: center;
  }

  .resource-details-dialog {
    width: 100%;
    max-height: calc(94dvh - env(safe-area-inset-top));
    margin: auto 0 0;
    border-radius: 24px 24px 0 0;
  }

  .resource-details-pane {
    max-height: calc(94dvh - env(safe-area-inset-top));
    padding: 16px 14px calc(16px + env(safe-area-inset-bottom));
    border-radius: 24px 24px 0 0;
    animation: mobile-sheet-enter 180ms ease-out;
  }

  .toast-notice {
    z-index: 260;
    top: calc(var(--mobile-app-bar-height) + env(safe-area-inset-top) + 10px);
    left: 12px;
    right: 12px;
    width: auto;
    max-width: none;
  }

  .page-loading-overlay {
    z-index: 240;
    padding: 18px;
  }

  .copilot-launcher {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    right: 14px;
    bottom: calc(var(--mobile-bottom-nav-height) + env(safe-area-inset-bottom) + 14px);
    padding: 0;
  }

  .copilot-launcher-icon {
    font-size: 0.78rem;
    letter-spacing: 0.02em;
  }

  .copilot-launcher-label {
    display: none;
  }

  .copilot-drawer {
    z-index: 230;
    width: 100%;
    height: 100dvh;
    padding-top: env(safe-area-inset-top);
    border-left: 0;
  }

  .copilot-header {
    display: flex;
    align-items: flex-start;
    padding: 14px;
  }

  .copilot-header p {
    display: none;
  }

  .copilot-messages {
    padding: 12px;
  }

  .copilot-form {
    padding: 12px 12px calc(12px + env(safe-area-inset-bottom));
  }

  .diagnostics-job-overlay {
    bottom: calc(var(--mobile-bottom-nav-height) + env(safe-area-inset-bottom) + 12px);
  }
}

@media (max-width: 390px) {
  :root {
    --mobile-gutter: 10px;
  }

  .mobile-app-bar {
    gap: 8px;
    padding-left: 8px;
    padding-right: 8px;
  }

  .mobile-app-brand .mobile-brand-mark {
    display: none;
  }

  .page-header {
    display: grid;
  }

  .page-header-actions,
  .page-header-actions > * {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sidebar,
  .mobile-nav-backdrop,
  .modal-backdrop .config-pane,
  .resource-details-pane {
    animation: none;
    transition: none;
  }
}

/* Final mobile cascade reset for desktop component declarations above. */
@media (max-width: 768px) {
  .application-table,
  .service-list-table,
  .operation-result-table,
  .mapping-review-table,
  .scaling-preview-table,
  .scaling-matrix-table,
  .schedule-resource-table,
  .scheduler-slot-table,
  .scheduler-target-table,
  .admin-users-table,
  .admin-access-table,
  .diagnostic-run-table {
    min-width: 0 !important;
  }

  .config-summary-grid,
  .lifecycle-confirm-summary,
  .scaling-cost-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .source-grid,
  .render-discovery-grid,
  .render-discovery-form,
  .schedule-grid,
  .schedule-window-grid,
  .scheduler-window-form,
  .scheduler-target-form,
  .access-form,
  .admin-modal-form,
  .admin-detail-grid,
  .admin-control-grid,
  .diagnostic-policy-form,
  .diagnostic-source-form {
    grid-template-columns: 1fr;
  }

  .render-service-discovery-header,
  .render-discovery-summary,
  .render-mapped-services li {
    align-items: stretch;
    flex-direction: column;
  }

  .render-service-discovery-header > a {
    width: 100%;
  }

  .render-discovery-details {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .render-discovery-form .wide-field,
  .render-discovery-form > button {
    grid-column: auto;
  }

  .operation-preview-grid,
  .metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .auth-body {
    min-height: 100dvh;
    place-items: start center;
    padding: calc(24px + env(safe-area-inset-top)) 12px calc(24px + env(safe-area-inset-bottom));
  }

  .auth-shell {
    width: min(100%, 480px);
  }

  .auth-card {
    padding: 22px 18px;
  }

  .mfa-qr-panel {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 390px) {
  .config-summary-grid,
  .lifecycle-confirm-summary,
  .scaling-cost-summary,
  .operation-preview-grid {
    grid-template-columns: 1fr;
  }
}

/* Compliance workspace -------------------------------------------------- */
.compliance-page-header {
  align-items: end;
}

.compliance-subnav {
  margin-bottom: 20px;
}

.compliance-subnav a {
  padding-inline: 13px;
}

.compliance-program-section .detail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 12px;
  margin: 0;
}

.compliance-program-section .detail-grid > div {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface-subtle);
}

.compliance-program-section .detail-grid dt {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 800;
  text-transform: uppercase;
}

.compliance-program-section .detail-grid dd {
  margin: 5px 0 0;
  overflow-wrap: anywhere;
}

.compliance-program-section code {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.compliance-overdue-text {
  display: block;
  margin-top: 5px;
  color: var(--badge-danger-text);
  font-size: 0.78rem;
}

.compliance-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.compliance-kpi {
  min-width: 0;
  display: grid;
  gap: 7px;
  padding: 18px;
  color: var(--text);
  text-decoration: none;
  border: 1px solid var(--line-strong);
  border-radius: 18px;
  background: var(--surface);
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05);
}

.compliance-kpi:hover,
.compliance-kpi:focus-visible {
  border-color: var(--accent);
  box-shadow: 0 8px 24px rgba(18, 100, 163, 0.12);
}

.compliance-kpi.needs-attention {
  border-left: 4px solid var(--warning);
}

.compliance-kpi span,
.recovery-readiness-grid span {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.compliance-kpi strong {
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  line-height: 1;
}

.compliance-kpi small {
  color: var(--muted);
  line-height: 1.4;
}

.compliance-overview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 16px;
}

.compliance-overview-panel,
.compliance-attention-panel,
.remediation-register {
  margin-top: 0;
}

.compliance-activity-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.compliance-activity-list li {
  min-width: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  padding: 13px 0;
  border-bottom: 1px solid var(--line);
}

.compliance-activity-list li:last-child {
  border-bottom: 0;
}

.compliance-activity-list li > div {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.compliance-activity-list strong,
.compliance-activity-list span {
  overflow-wrap: anywhere;
}

.compliance-activity-list div > span {
  color: var(--muted);
  font-size: 0.84rem;
}

.compliance-attention-panel {
  margin-top: 16px;
}

.compliance-attention-grid,
.remediation-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
}

.compliance-attention-grid article,
.remediation-card {
  min-width: 0;
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface-subtle);
}

.compliance-attention-grid small,
.remediation-card small {
  color: var(--muted);
}

.compliance-status {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  color: var(--badge-neutral-text);
  font-size: 0.76rem;
  font-weight: 800;
  white-space: nowrap;
  border: 1px solid var(--badge-neutral-border);
  border-radius: 999px;
  background: var(--badge-neutral-bg);
}

.compliance-status i {
  width: 7px;
  height: 7px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: currentColor;
}

.compliance-status-passed,
.compliance-status-accepted,
.compliance-status-current,
.compliance-status-verified,
.compliance-status-approved,
.compliance-status-acknowledged,
.compliance-status-issued,
.compliance-status-closed,
.compliance-status-resolved {
  color: var(--badge-success-text);
  border-color: var(--badge-success-border);
  background: var(--badge-success-bg);
}

.compliance-status-failed,
.compliance-status-rejected,
.compliance-status-missing {
  color: var(--badge-danger-text);
  border-color: var(--badge-danger-border);
  background: var(--badge-danger-bg);
}

.compliance-status-not-implemented,
.compliance-status-exception,
.compliance-status-attention,
.compliance-status-reported,
.compliance-status-triaged,
.compliance-status-investigating,
.compliance-status-contained,
.compliance-status-recovering,
.compliance-status-open,
.compliance-status-in-progress,
.compliance-status-ready-for-verification,
.compliance-status-pending-review,
.compliance-status-pending-assessment,
.compliance-status-pending-approval,
.compliance-status-required,
.compliance-status-implemented-not-tested {
  color: var(--badge-warning-text);
  border-color: var(--badge-warning-border);
  background: var(--badge-warning-bg);
}

.compliance-control-list,
.recovery-profile-list {
  display: grid;
  gap: 12px;
}

.compliance-control-card,
.recovery-profile-card {
  border: 1px solid var(--line-strong);
  border-radius: 18px;
  background: var(--surface);
  box-shadow: 0 7px 22px rgba(15, 23, 42, 0.04);
  overflow: hidden;
}

.compliance-control-card > summary {
  min-height: 74px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 16px 18px;
  cursor: pointer;
  list-style: none;
}

.compliance-control-card > summary::-webkit-details-marker,
.compliance-create-panel > summary::-webkit-details-marker,
.compliance-inline-action > summary::-webkit-details-marker,
.recovery-actions details > summary::-webkit-details-marker {
  display: none;
}

.compliance-control-card[open] > summary {
  border-bottom: 1px solid var(--line);
  background: var(--surface-subtle);
}

.control-identity {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 14px;
}

.control-identity code {
  flex: 0 0 auto;
  color: var(--accent-strong);
  font-size: 0.75rem;
  font-weight: 800;
}

.control-identity span,
.control-summary-state {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.control-identity small {
  color: var(--muted);
}

.control-summary-state {
  display: flex;
  align-items: center;
  gap: 10px;
}

.disclosure-chevron {
  color: var(--muted);
  font-size: 1.2rem;
  transition: transform 150ms ease;
}

.compliance-control-card[open] .disclosure-chevron {
  transform: rotate(180deg);
}

.compliance-control-body {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(280px, 0.8fr);
  gap: 18px;
  padding: 18px;
}

.control-description > p {
  margin-top: 0;
  color: var(--muted);
  line-height: 1.6;
}

.compliance-definition-list {
  display: grid;
  gap: 10px;
  margin: 0;
}

.compliance-definition-list > div {
  display: grid;
  grid-template-columns: minmax(100px, 0.3fr) minmax(0, 1fr);
  gap: 12px;
  padding-bottom: 9px;
  border-bottom: 1px solid var(--line);
}

.compliance-definition-list dt {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.compliance-definition-list dd {
  margin: 0;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.compliance-inline-action,
.recovery-actions details,
.table-inline-review {
  align-self: start;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface-subtle);
}

.compliance-inline-action > summary,
.recovery-actions details > summary,
.table-inline-review > summary {
  padding: 12px 14px;
  color: var(--accent-strong);
  font-weight: 800;
  cursor: pointer;
}

.compliance-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 13px;
  padding: 18px;
}

.compliance-form.compact-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 14px;
}

.compliance-form label,
.impact-selector {
  min-width: 0;
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.8rem;
  font-weight: 800;
}

.compliance-form input,
.compliance-form select,
.compliance-form textarea,
.remediation-status-form input,
.remediation-status-form select,
.table-inline-review select,
.table-inline-review textarea {
  width: 100%;
}

.compliance-form .wide-field {
  grid-column: 1 / -1;
}

.compliance-form .checkbox-field {
  display: flex;
  align-items: center;
  gap: 9px;
}

.compliance-form .checkbox-field input,
.impact-selector input {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}

.impact-selector {
  grid-template-columns: repeat(3, minmax(0, auto));
  justify-content: start;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.impact-selector legend {
  padding: 0 6px;
}

.impact-selector label {
  display: flex;
  align-items: center;
  gap: 7px;
}

.compliance-create-panel {
  margin-bottom: 16px;
  padding: 0;
  overflow: hidden;
}

.compliance-create-panel > summary {
  padding: 16px 18px;
  color: var(--accent-strong);
  font-weight: 850;
  cursor: pointer;
}

.compliance-create-panel[open] > summary {
  border-bottom: 1px solid var(--line);
}

.control-remediations {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  color: var(--muted);
  font-size: 0.85rem;
}

.control-capture-form {
  align-self: start;
  display: grid;
  gap: 10px;
  padding: 13px;
  color: var(--muted);
  font-size: 0.84rem;
  line-height: 1.45;
  border: 1px dashed var(--line-strong);
  border-radius: 14px;
}

.control-owner-form {
  display: flex;
  align-items: end;
  gap: 0.65rem;
  flex-wrap: wrap;
}

.control-owner-form label {
  display: grid;
  gap: 0.3rem;
  min-width: min(100%, 19rem);
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.control-owner-form select {
  min-height: 2.25rem;
}

.control-remediations span {
  padding-left: 8px;
  border-left: 2px solid var(--warning);
}

.compliance-table-wrap {
  margin-top: 0;
}

.compliance-evidence-table {
  min-width: 980px;
}

.compliance-incident-table {
  min-width: 900px;
}

.table-inline-review {
  margin-top: 8px;
}

.table-inline-review form {
  display: grid;
  gap: 8px;
  padding: 0 10px 10px;
}

.recovery-profile-card {
  padding: 18px;
}

.recovery-profile-card.needs-attention {
  border-left: 4px solid var(--warning);
}

.recovery-profile-card > header {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 16px;
}

.recovery-profile-card h3 {
  margin: 3px 0 0;
}

.recovery-objectives {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin: 16px 0;
}

.recovery-objectives > div,
.recovery-readiness-grid > div {
  min-width: 0;
  display: grid;
  gap: 5px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface-subtle);
}

.recovery-objectives dt {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.recovery-objectives dd {
  margin: 0;
  font-weight: 850;
}

.recovery-readiness-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.recovery-readiness-grid small {
  color: var(--muted);
}

.recovery-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.compliance-priority,
.compliance-severity {
  width: fit-content;
  padding: 3px 7px;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  border-radius: 7px;
  text-transform: uppercase;
}

.priority-critical,
.severity-sev1 {
  color: var(--badge-danger-text);
  background: var(--badge-danger-bg);
}

.priority-high,
.severity-sev2 {
  color: var(--badge-warning-text);
  background: var(--badge-warning-bg);
}

.priority-medium,
.severity-sev3 {
  color: var(--badge-info-text);
  background: var(--badge-info-bg);
}

.priority-low,
.severity-sev4 {
  color: var(--badge-neutral-text);
  background: var(--badge-neutral-bg);
}

.remediation-card header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}

.remediation-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.remediation-status-form {
  display: grid;
  grid-template-columns: minmax(130px, 0.7fr) minmax(150px, 1fr) auto;
  gap: 8px;
  margin-top: 6px;
}

.compliance-incident-pane {
  width: min(1000px, calc(100vw - 42px));
}

.incident-status-strip {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface-subtle);
}

.incident-status-strip > div {
  display: flex;
  align-items: center;
  gap: 10px;
}

.incident-summary-list > div {
  grid-template-columns: 130px minmax(0, 1fr);
}

.incident-timeline ol {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0 0 0 13px;
  list-style: none;
}

.incident-timeline li {
  position: relative;
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 10px;
  padding-bottom: 18px;
}

.incident-timeline li::before {
  content: "";
  position: absolute;
  top: 12px;
  bottom: -2px;
  left: 7px;
  width: 2px;
  background: var(--line-strong);
}

.incident-timeline li:last-child::before {
  display: none;
}

.timeline-marker {
  position: relative;
  z-index: 1;
  width: 16px;
  height: 16px;
  margin-top: 3px;
  border: 3px solid var(--surface);
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 0 1px var(--accent);
}

.incident-timeline li > div {
  min-width: 0;
  display: grid;
  gap: 5px;
}

.incident-timeline header {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.incident-timeline time,
.incident-timeline small {
  color: var(--muted);
  font-size: 0.8rem;
}

.incident-timeline p {
  margin: 0;
  line-height: 1.55;
}

html[data-theme="dark"] .compliance-kpi,
html[data-theme="dark"] .compliance-control-card,
html[data-theme="dark"] .recovery-profile-card,
html[data-theme="dark"] .compliance-attention-grid article,
html[data-theme="dark"] .remediation-card,
html[data-theme="dark"] .compliance-inline-action,
html[data-theme="dark"] .recovery-actions details,
html[data-theme="dark"] .table-inline-review,
html[data-theme="dark"] .recovery-objectives > div,
html[data-theme="dark"] .recovery-readiness-grid > div,
html[data-theme="dark"] .incident-status-strip {
  background: var(--surface);
  border-color: var(--line);
  color: var(--text);
}

@media (max-width: 1000px) {
  .compliance-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .compliance-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .recovery-objectives {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .compliance-page-header {
    align-items: stretch;
  }

  .compliance-page-header > a {
    width: 100%;
  }

  .compliance-subnav {
    margin-inline: -4px;
    gap: 4px;
  }

  .compliance-subnav a {
    padding: 9px 8px;
    font-size: 0.8rem;
  }

  .compliance-kpi-grid,
  .compliance-overview-grid,
  .compliance-control-body,
  .recovery-readiness-grid,
  .recovery-actions,
  .compliance-form,
  .compliance-form.compact-form {
    grid-template-columns: 1fr;
  }

  .compliance-kpi {
    min-height: 124px;
  }

  .compliance-control-card > summary {
    align-items: start;
  }

  .control-identity {
    align-items: start;
    flex-direction: column;
    gap: 8px;
  }

  .control-summary-state {
    align-items: end;
    flex-direction: column;
  }

  .compliance-definition-list > div,
  .incident-summary-list > div {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .recovery-objectives {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .compliance-evidence-table,
  .compliance-incident-table,
  .compliance-evidence-table tbody,
  .compliance-incident-table tbody {
    width: 100%;
    min-width: 0;
    display: grid;
  }

  .compliance-evidence-table thead,
  .compliance-incident-table thead {
    display: none;
  }

  .compliance-evidence-table tbody,
  .compliance-incident-table tbody {
    gap: 12px;
  }

  .compliance-evidence-table tbody tr,
  .compliance-incident-table tbody tr {
    display: grid;
    gap: 0;
    border: 1px solid var(--line-strong);
    border-radius: 16px;
    background: var(--surface);
    overflow: hidden;
  }

  .compliance-evidence-table td,
  .compliance-incident-table td {
    min-width: 0;
    display: grid;
    gap: 4px;
    padding: 12px 14px;
    border-bottom: 1px solid var(--line);
  }

  .compliance-evidence-table td::before,
  .compliance-incident-table td::before {
    content: attr(data-label);
    color: var(--muted);
    font-size: 0.69rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }

  .compliance-evidence-table td:last-child,
  .compliance-incident-table td:last-child {
    border-bottom: 0;
  }

  .remediation-status-form {
    grid-template-columns: 1fr;
  }

  .compliance-incident-pane {
    width: 100%;
  }

  .incident-status-strip,
  .incident-status-strip > div,
  .incident-timeline header {
    align-items: start;
    flex-direction: column;
  }
}

@media (max-width: 390px) {
  .compliance-kpi-grid,
  .recovery-objectives,
  .impact-selector {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .service-list-table td {
    padding: 0;
    border: 0;
  }

  .service-actions-cell {
    border-top: 1px solid var(--line) !important;
  }

  .service-list-actions {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(82px, 1fr));
  }

  .resource-card-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 390px) {
  .config-summary-grid,
  .lifecycle-confirm-summary,
  .scaling-cost-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .operation-preview-grid {
    grid-template-columns: 1fr;
  }
}

/* Versioned compliance program and calendar ---------------------------- */
.compliance-readiness-state {
  min-width: 150px;
  display: grid;
  gap: 4px;
  padding: 12px 16px;
  color: var(--badge-danger-text);
  border: 1px solid var(--badge-danger-border);
  border-radius: 14px;
  background: var(--badge-danger-bg);
}

.compliance-readiness-state small,
.compliance-calendar-stat span {
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.compliance-readiness-panel {
  display: grid;
  grid-template-columns: minmax(260px, 0.8fr) minmax(320px, 1.2fr);
  gap: 22px;
  margin-bottom: 16px;
  padding: 18px;
  border: 1px solid var(--badge-danger-border);
  border-left: 4px solid var(--danger);
  border-radius: 18px;
  background: var(--badge-danger-bg);
}

.compliance-readiness-panel h3,
.compliance-readiness-panel p {
  margin: 4px 0 0;
}

.compliance-readiness-panel p,
.compliance-readiness-panel li {
  line-height: 1.5;
}

.compliance-readiness-panel ul {
  display: grid;
  gap: 7px;
  margin: 0;
  padding-left: 20px;
}

.compliance-program-section,
.compliance-agenda-panel {
  margin-top: 16px;
}

.compliance-profile-grid,
.compliance-finding-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 12px;
}

.compliance-profile-grid > article,
.compliance-finding-grid > article {
  min-width: 0;
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface-subtle);
}

.compliance-profile-grid header,
.compliance-finding-grid header {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 10px;
}

.compliance-profile-grid header > div,
.compliance-profile-grid dl,
.compliance-profile-grid dl > div {
  display: grid;
  gap: 4px;
}

.compliance-profile-grid p,
.compliance-finding-grid p {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.compliance-profile-grid dl {
  margin: 0;
}

.compliance-profile-grid dt {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.compliance-profile-grid dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.compliance-program-table {
  min-width: 860px;
}

.compliance-program-table td {
  vertical-align: top;
}

.compliance-program-table td > strong,
.compliance-program-table td > small,
.compliance-program-table td > code {
  display: block;
  margin-bottom: 4px;
}

.compliance-status-blocked,
.compliance-status-ineffective {
  color: var(--badge-danger-text);
  border-color: var(--badge-danger-border);
  background: var(--badge-danger-bg);
}

.compliance-status-not-tested,
.compliance-status-partial,
.compliance-status-draft,
.compliance-status-scheduled,
.compliance-status-submitted,
.compliance-status-waived,
.compliance-status-risk-accepted {
  color: var(--badge-warning-text);
  border-color: var(--badge-warning-border);
  background: var(--badge-warning-bg);
}

.priority-warning {
  color: var(--badge-neutral-text);
  background: var(--badge-neutral-bg);
}

.compliance-calendar-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.compliance-calendar-stat {
  display: grid;
  gap: 5px;
  padding: 14px 16px;
  border: 1px solid var(--line-strong);
  border-radius: 16px;
  background: var(--surface);
}

.compliance-calendar-stat.needs-attention {
  border-left: 4px solid var(--danger);
}

.compliance-calendar-stat strong {
  font-size: 1.6rem;
}

.compliance-calendar-stat small,
.compliance-task-card small {
  color: var(--muted);
}

.compliance-calendar-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(280px, 0.7fr);
  gap: 16px;
}

.compliance-month-panel,
.compliance-task-section {
  margin-top: 0;
}

.compliance-month-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.compliance-month-toolbar h3 {
  margin: 3px 0 0;
}

.compliance-month-nav-disabled {
  color: var(--muted);
  cursor: not-allowed;
  opacity: 0.5;
  user-select: none;
}

.compliance-month-grid {
  display: grid;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.compliance-calendar-row {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.compliance-weekday {
  padding: 8px;
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 850;
  text-align: center;
  text-transform: uppercase;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--surface-subtle);
}

.compliance-day {
  min-width: 0;
  min-height: 108px;
  padding: 7px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.compliance-day > time {
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  font-size: 0.78rem;
  font-weight: 850;
  border-radius: 50%;
}

.compliance-day.is-today > time {
  color: var(--surface);
  background: var(--accent);
}

.compliance-day.outside-month {
  color: var(--muted);
  background: var(--surface-subtle);
  opacity: 0.65;
}

.compliance-day-tasks {
  display: grid;
  gap: 4px;
  margin-top: 5px;
}

.calendar-task {
  min-width: 0;
  display: block;
  padding: 3px 5px;
  overflow: hidden;
  color: var(--badge-info-text);
  font-size: 0.67rem;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
  border-radius: 5px;
  background: var(--badge-info-bg);
}

.calendar-task-completed,
.calendar-task-verified {
  color: var(--badge-success-text);
  background: var(--badge-success-bg);
}

.calendar-task-overflow {
  min-width: 0;
}

.calendar-task-overflow > summary {
  min-height: 28px;
  padding: 4px 5px;
  color: var(--accent-strong);
  font-size: 0.67rem;
  font-weight: 800;
  border-radius: 5px;
  cursor: pointer;
}

.calendar-task-overflow > summary:hover {
  background: var(--surface-subtle);
}

.calendar-task-overflow > summary:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--accent) 30%, transparent);
  outline-offset: 1px;
}

.calendar-task-overflow[open] > summary {
  margin-bottom: 4px;
}

.calendar-task-overflow-list {
  display: grid;
  gap: 4px;
}

.compliance-calendar-sidebar,
.compliance-task-list {
  display: grid;
  gap: 16px;
  align-content: start;
}

.compliance-task-list {
  gap: 8px;
}

.compliance-task-card {
  min-width: 0;
  display: grid;
  gap: 6px;
  padding: 11px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface-subtle);
}

.compliance-task-card > div {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.compliance-task-card strong,
.compliance-task-card small {
  overflow-wrap: anywhere;
}

.compliance-task-card.is-overdue {
  border-left: 4px solid var(--danger);
}

html[data-theme="dark"] .compliance-readiness-panel,
html[data-theme="dark"] .compliance-profile-grid > article,
html[data-theme="dark"] .compliance-finding-grid > article,
html[data-theme="dark"] .compliance-calendar-stat,
html[data-theme="dark"] .compliance-task-card {
  color: var(--text);
  border-color: var(--line);
  background: var(--surface);
}

@media (max-width: 1050px) {
  .compliance-calendar-layout {
    grid-template-columns: 1fr;
  }

  .compliance-calendar-sidebar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .compliance-readiness-panel,
  .compliance-calendar-summary,
  .compliance-calendar-sidebar {
    grid-template-columns: 1fr;
  }

  .compliance-program-table,
  .compliance-program-table tbody {
    width: 100%;
    min-width: 0;
    display: grid;
  }

  .compliance-program-table thead {
    display: none;
  }

  .compliance-program-table tbody {
    gap: 12px;
  }

  .compliance-program-table tbody tr {
    display: grid;
    border: 1px solid var(--line-strong);
    border-radius: 16px;
    background: var(--surface);
    overflow: hidden;
  }

  .compliance-program-table td {
    min-width: 0;
    display: grid;
    gap: 3px;
    padding: 11px 13px;
    border-bottom: 1px solid var(--line);
  }

  .compliance-program-table td:last-child {
    border-bottom: 0;
  }

  .compliance-program-table td::before {
    content: attr(data-label);
    color: var(--muted);
    font-size: 0.68rem;
    font-weight: 850;
    letter-spacing: 0.05em;
    text-transform: uppercase;
  }

  .compliance-month-panel {
    overflow-x: auto;
  }

  .compliance-month-grid {
    min-width: 660px;
  }
}

@media (max-width: 480px) {
  .compliance-profile-grid,
  .compliance-finding-grid {
    grid-template-columns: 1fr;
  }
}
.agentic-diagnostics-panel {
  display: grid;
  gap: 1rem;
}

.agentic-diagnostics-form {
  grid-template-columns: minmax(12rem, 1fr) minmax(12rem, 1fr) auto;
  align-items: end;
}

.agentic-diagnosis-history,
.agentic-diagnosis-run {
  display: grid;
  gap: 1rem;
}

.agentic-diagnosis-run {
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 1rem;
  background: var(--surface);
}

.agentic-diagnosis-heading,
.agentic-diagnosis-progress,
.agentic-run-totals {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.agentic-diagnosis-heading > div,
.agentic-diagnosis-progress {
  display: flex;
  align-items: center;
  gap: .65rem;
}

.agentic-terminal-mark {
  display: inline-grid;
  width: 1.35rem;
  height: 1.35rem;
  flex: 0 0 1.35rem;
  place-items: center;
  border-radius: 999px;
  color: #fff;
  font-weight: 800;
}

.agentic-terminal-mark.completed { background: var(--success); }
.agentic-terminal-mark.failed { background: var(--danger); }

.agentic-diagnosis-heading span,
.agentic-step-list small {
  color: var(--muted);
}

.agentic-step-list {
  display: grid;
  gap: .55rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.agentic-step-list li {
  display: flex;
  gap: .7rem;
  align-items: flex-start;
  padding: .7rem .8rem;
  border-radius: 12px;
  background: var(--surface);
}

.agentic-step-list li > div {
  display: grid;
  gap: .2rem;
}

.agentic-step-marker {
  display: grid;
  place-items: center;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  background: var(--surface-strong);
  font-weight: 800;
}

.agentic-step-list [data-step-status="completed"] .agentic-step-marker {
  color: #087443;
  background: #d9f8e8;
}

.agentic-step-list [data-step-status="failed"] .agentic-step-marker {
  color: #a71920;
  background: #ffe1e2;
}

.agentic-run-totals {
  justify-content: flex-start;
  color: var(--muted);
}

.agentic-report {
  padding-top: .75rem;
  border-top: 1px solid var(--line);
}

@media (max-width: 760px) {
  .agentic-diagnostics-form {
    grid-template-columns: 1fr;
  }

  .agentic-diagnosis-heading {
    align-items: flex-start;
    flex-direction: column;
  }
}
