/**
 * Enterprise module bridge — aligns ServiceNow / cyber-flow / CFA studio surfaces
 * with enterprise-workspace.css (flat panels, es-* tokens, square corners).
 * Load after per-page stylesheets (see base.html, after {% block extra_css %}).
 */

/* --------------------------------------------------------------------------
   Global — flatten Bootstrap “pill” radius (badges, progress, pill shells)
   Applies app-wide (including login) so enterprise tokens stay consistent.
   -------------------------------------------------------------------------- */
body .badge.rounded-pill {
    border-radius: var(--radius-pill, 0) !important;
}

body .progress.rounded-pill,
body .progress.rounded-pill .progress-bar,
body .progress .progress-bar.rounded-pill {
    border-radius: var(--radius-md, 0) !important;
}

body .cyber-exp-bar.rounded-pill,
body .cyber-exp-bar .rounded-pill {
    border-radius: var(--radius-md, 0) !important;
}

/* Block-level “pill” strips — square to match app surfaces */
body .rounded-pill:not(.badge):not(.btn):not(.progress):not(.progress-bar):not(input):not(select):not(textarea):not(img) {
    border-radius: var(--radius-card, 0) !important;
}

/* --------------------------------------------------------------------------
   Cyber flow pages — token reset inside main workspace
   -------------------------------------------------------------------------- */
.content-area .cyber-flow-page,
.content-area .cyber-wizard-flow,
.content-area .cyber-start-here-page {
    --cyber-flow-accent: var(--es-accent, #0f76b8);
    --cyber-flow-accent-soft: rgba(30, 64, 175, 0.08);
    --cyber-flow-border: rgba(17, 24, 39, 0.1);
    --cyber-flow-radius: var(--es-radius, 3px);
    --cyber-flow-shadow: none;
}

.content-area .cyber-flow-hero:not(.cyber-grc-command-bar) {
    background: var(--es-th-bg, #f7f8fa);
    border: 1px solid var(--es-border, #e2e5ea);
    border-radius: var(--es-radius, 3px);
    box-shadow: none;
}

.content-area .cyber-flow-next-action {
    border: 1px solid var(--es-border, #e2e5ea);
    border-radius: var(--es-radius, 3px);
    box-shadow: none;
}

.content-area .cyber-flow-next-action .card-body {
    background: transparent;
}

.content-area .cyber-flow-cockpit {
    border-radius: var(--es-radius, 3px) !important;
    box-shadow: none !important;
    border: 1px solid var(--es-border, #e2e5ea);
}

.content-area .cyber-flow-page .card.shadow-sm,
.content-area .cyber-wizard-flow .card.shadow-sm,
.content-area .cyber-start-here-page .card.shadow-sm {
    box-shadow: none !important;
}

/* Start Here — light command bar (replaces dark gradient strip) */
.content-area .cyber-grc-command-bar.cyber-flow-hero {
    background: var(--es-panel-bg, #fff);
    border: 1px solid var(--es-border, #e2e5ea);
    border-radius: var(--es-radius, 3px);
    box-shadow: none;
}

.content-area .cyber-grc-command-bar__badge {
    color: var(--es-muted, #6b7280);
}

.content-area .cyber-grc-command-bar__entity {
    color: var(--es-muted, #6b7280);
}

.content-area .cyber-grc-command-bar__title {
    color: var(--es-text, #111827);
}

.content-area .cyber-grc-command-bar__subtitle {
    color: var(--es-muted, #6b7280);
}

.content-area .cyber-grc-command-bar .btn-outline-light {
    --bs-btn-color: var(--es-text, #111827);
    --bs-btn-border-color: var(--es-border, #e2e5ea);
    --bs-btn-hover-bg: var(--es-row-hover, #f9fafb);
    --bs-btn-hover-border-color: #cbd5e1;
    --bs-btn-hover-color: var(--es-text, #111827);
    --bs-btn-active-bg: #e5e7eb;
    --bs-btn-active-border-color: #cbd5e1;
    --bs-btn-active-color: var(--es-text, #111827);
}

[data-bs-theme="dark"] .content-area .cyber-grc-command-bar.cyber-flow-hero {
    background: var(--bs-body-bg, #0f172a);
    border-color: rgba(248, 250, 252, 0.12);
}

[data-bs-theme="dark"] .content-area .cyber-grc-command-bar__title {
    color: var(--bs-body-color, #f8fafc);
}

[data-bs-theme="dark"] .content-area .cyber-grc-command-bar__subtitle,
[data-bs-theme="dark"] .content-area .cyber-grc-command-bar__entity,
[data-bs-theme="dark"] .content-area .cyber-grc-command-bar__badge {
    color: var(--bs-secondary-color, #94a3b8);
}

[data-bs-theme="dark"] .content-area .cyber-grc-command-bar .btn-outline-light {
    --bs-btn-color: #e2e8f0;
    --bs-btn-border-color: rgba(148, 163, 184, 0.45);
    --bs-btn-hover-bg: rgba(248, 250, 252, 0.1);
}

/* Marketing-style Start Here hero → flat panel */
.content-area .cyber-start-here-hero {
    border: 1px solid var(--es-border, #e2e5ea);
    background: var(--es-panel-bg, #fff);
    box-shadow: none;
    border-radius: var(--es-radius, 3px);
}

.content-area .cyber-start-here-hero::before {
    background: var(--es-accent, #0f76b8);
    border-radius: var(--es-radius, 3px) 0 0 var(--es-radius, 3px);
}

.content-area .cyber-start-here-hero-aside {
    border-radius: var(--es-radius, 3px);
    border: 1px solid var(--es-border, #e2e5ea);
    background: var(--es-th-bg, #f7f8fa);
    box-shadow: none;
}

.content-area .cyber-start-here-nav-btn {
    border-radius: 0 !important;
}

.content-area .cyber-start-here-nav-btn:hover {
    box-shadow: none;
}

/* --------------------------------------------------------------------------
   CFA / questionnaire studio
   -------------------------------------------------------------------------- */
.content-area .cfa-studio-page {
    --cfa-navy: var(--es-text, #111827);
    --cfa-navy-mid: var(--es-muted, #6b7280);
    --cfa-accent: var(--es-accent, #0f76b8);
    --cfa-accent-soft: rgba(30, 64, 175, 0.1);
    --cfa-border: var(--es-border, #e2e5ea);
    --cfa-radius: var(--es-radius, 3px);
}

/* Questionnaire library / field respond: `.cyber-flow-page` caps at 1200px + auto margins — force full content-area width */
.content-area .sn-workspace.cyber-flow-page {
    max-width: none !important;
    width: 100% !important;
    margin-left: calc(-1 * var(--sn-pad)) !important;
    margin-right: calc(-1 * var(--sn-pad)) !important;
}

.content-area .sn-workspace.cyber-flow-page .sn-module-header__meta {
    max-width: none;
}

.content-area .cfa-studio-hero {
    background: var(--es-th-bg, #f7f8fa);
    color: var(--es-text, #111827);
    border: 1px solid var(--es-border, #e2e5ea);
    border-radius: var(--es-radius, 3px);
    box-shadow: none;
}

.content-area .cfa-studio-hero .lead {
    opacity: 1;
    color: var(--es-muted, #6b7280);
}

.content-area .cfa-template-card {
    border-radius: var(--es-radius, 3px);
    box-shadow: none;
}

.content-area a.cfa-template-card-link:hover .cfa-template-card {
    box-shadow: none;
    transform: none;
    border-color: var(--es-accent, #0f76b8);
}

.content-area .cfa-template-card-top {
    height: 3px;
    background: var(--es-accent, #0f76b8);
}

.content-area .cfa-stat-pill {
    border-radius: var(--es-radius, 3px);
}

.content-area .cfa-wizard-step-indicator {
    border-radius: var(--es-radius, 3px);
}

.content-area .cfa-wizard-panel,
.content-area .cfa-domain-block,
.content-area .cfa-rail-card,
.content-area .cfa-respond-qcard {
    box-shadow: none;
}

.content-area .cfa-domain-head {
    background: var(--es-th-bg, #f7f8fa);
}

.content-area .cfa-subdomain,
.content-area .cfa-evidence-zone {
    border-radius: var(--es-radius, 3px);
}

/* --------------------------------------------------------------------------
   ServiceNow workspace — align with enterprise tokens
   -------------------------------------------------------------------------- */
.content-area .sn-workspace {
    --sn-header: var(--es-panel-bg, #ffffff);
    --sn-header-text: var(--es-text, #111827);
    --sn-primary: var(--es-accent, #0f76b8);
    --sn-primary-hover: var(--es-accent-hover, #0c5d8f);
    --sn-primary-soft: rgba(30, 64, 175, 0.1);
    --sn-focus: var(--es-accent, #0f76b8);
    --sn-canvas: var(--es-page-bg, #f0f2f5);
    --sn-surface: var(--es-panel-bg, #ffffff);
    --sn-border: var(--es-border, #e2e5ea);
    --sn-border-strong: #cbd5e1;
    --sn-text: var(--es-text, #111827);
    --sn-muted: var(--es-muted, #6b7280);
    --sn-radius: var(--es-radius, 3px);
    --sn-radius-panel: var(--es-radius, 3px);
}

.content-area .sn-chrome-bar {
    background: var(--sn-surface);
    color: var(--sn-text);
    border-bottom: 1px solid var(--sn-border);
    margin-bottom: 0;
}

.content-area .sn-module-header {
    border-top: 1px solid var(--sn-border);
    box-shadow: none;
}

.content-area .sn-record-header {
    box-shadow: none;
}

.content-area .sn-list-panel {
    box-shadow: none;
}

.content-area .sn-workspace .btn.rounded-pill {
    border-radius: 0 !important;
}

.content-area .sn-workspace .table a:not(.btn) {
    color: var(--es-accent, #0f76b8);
}

.content-area .sn-list-panel .progress-bar {
    background: var(--es-accent, #0f76b8);
}

/* --------------------------------------------------------------------------
   Cyber risk register / detail
   -------------------------------------------------------------------------- */
.content-area .cyber-risk-filter-bar .cyber-filter-pill {
    border-radius: var(--es-radius, 3px);
}

.content-area .cyber-score-pill {
    border-radius: var(--es-radius, 3px);
}

.content-area .cyber-main-pills.nav-pills .nav-link,
.content-area .cyber-linked-pills.nav-pills .nav-link {
    border-radius: var(--es-radius, 3px);
}

.content-area .cyber-main-pills.nav-pills .nav-link.active {
    background: var(--es-accent, #0f76b8);
    border-color: var(--es-accent, #0f76b8);
    color: #fff;
}

/* --------------------------------------------------------------------------
   Cyber flow UI — hovers, wizard shell, scenarios (many use !important upstream)
   -------------------------------------------------------------------------- */
.content-area .cyber-flow-module-card:hover {
    transform: none;
    box-shadow: none !important;
}

.content-area .cyber-wizard-stepper-card,
.content-area .cyber-wizard-main-card {
    box-shadow: none !important;
}

.content-area .cyber-flow-workspace {
    box-shadow: none !important;
}

.content-area .cyber-flow-detail-tabs .cyber-main-pills .nav-link.active {
    box-shadow: none;
}

.content-area .cyber-flow-filter-panel,
.content-area .cyber-flow-scenario-card {
    box-shadow: none;
    border-radius: var(--es-radius, 3px) !important;
}

.content-area .cyber-flow-scenario-card:hover {
    box-shadow: none;
    border-color: var(--es-border, #e2e5ea) !important;
}

.content-area .cyber-flow-entry-callout {
    background: var(--es-th-bg, #f7f8fa) !important;
    border: 1px solid var(--es-border, #e2e5ea) !important;
}

.content-area .cyber-flow-insight-panel {
    border-radius: var(--es-radius, 3px);
    background: var(--es-th-bg, #f7f8fa);
    border: 1px solid var(--es-border, #e2e5ea);
}

.content-area .cyber-wizard-action-bar {
    background: var(--es-panel-bg, #fff);
}

.content-area .cyber-wizard-intake-grid .card:hover {
    box-shadow: none;
    border-color: var(--es-border, #e2e5ea) !important;
}

.content-area .cyber-flow-shortcuts .btn {
    border-radius: 0;
}

/* --------------------------------------------------------------------------
   Findings — minor radius alignment
   -------------------------------------------------------------------------- */
.content-area .activity-status-select {
    border-radius: var(--es-radius, 3px);
}

/* Start Here module map cards + cyber monitoring (heavy !important upstream) */
.content-area .cyber-start-here-page .cyber-flow-module-card {
    box-shadow: none !important;
}

.content-area .cyber-start-here-page .card.shadow-sm {
    box-shadow: none !important;
    border-radius: var(--es-radius, 3px) !important;
    border: 1px solid var(--es-border, #e2e5ea);
}

.content-area .cyber-monitoring-stat-card,
.content-area .cyber-monitoring-kri-card {
    box-shadow: none !important;
    border-radius: var(--es-radius, 3px) !important;
}

.content-area .cyber-monitoring-kri-card:hover {
    box-shadow: none !important;
}
