/* AD Report # 13: PingCastle's own HTML report in the Forecast style (Reports # 1, # 7 and # 11).
 * Loaded last in the head of site/adr13/index.html by tools/Build-PingCastleHtml.ps1, after PingCastle's own
 * Bootstrap 5 and report styles, so these rules win. The report's markup is PingCastle's, unchanged: restyle it here.
 * Some of PingCastle's rules use !important, so the matching rules here do too. */
@import url("https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,400;0,500;0,600;0,700;1,400&family=JetBrains+Mono:wght@400;500&display=swap");

:root {
  --fc-bg: #142026; --fc-surface: #1A2A31; --fc-well: #22323A; --fc-grid: #2C3A3F; --fc-rule: #3B4A50;
  --fc-ink: #F3EBDD; --fc-ink2: #E2D9C9; --fc-muted: #B9B2A4; --fc-orange: #E07A45; --fc-on: #142026;
  --fc-teal: #5AA3A6; --fc-blue: #6F9AE0; --fc-red: #EC6A5C; --fc-gold: #F0B94A; --fc-plum: #B892E8; --fc-link: #7CC3C6;
  --fc-font: "Jost", Futura, "Century Gothic", "Avenir Next", "Helvetica Neue", Arial, sans-serif;
  --bs-font-sans-serif: var(--fc-font) !important;
  --bs-body-bg: var(--fc-bg); --bs-body-color: var(--fc-ink);
  color-scheme: dark;
}
html, body { background: var(--fc-bg) !important; }
body { color: var(--fc-ink); font-family: var(--fc-font); font-size: 15px; padding-top: 0 !important; margin-top: 0 !important; }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { font-family: var(--fc-font); color: var(--fc-ink) !important; }
h1, .h1 { font-weight: 600; letter-spacing: -0.02em; }
strong, b { font-weight: 600; }
a, .btn-link { color: var(--fc-link); }
a:hover, .btn-link:hover { color: var(--fc-ink); }
::selection { background: var(--fc-orange); color: var(--fc-on); }
:focus-visible { outline: 3px solid var(--fc-gold) !important; outline-offset: 2px; }
code, pre, .text-monospace { font-family: "JetBrains Mono", ui-monospace, Consolas, monospace; color: var(--fc-ink2); }
hr { border-color: var(--fc-rule); opacity: 1; }
.text-muted, .small.text-muted { color: var(--fc-muted) !important; }
.text-white { color: var(--fc-ink) !important; }
.text-dark, .text-body { color: var(--fc-ink) !important; }
.bg-light, .bg-white, .bg-pc-orange { background-color: var(--fc-surface) !important; }
.border, .border-bottom, .border-top { border-color: var(--fc-grid) !important; }

/* ---------- the Report # 13 top bar ---------- */
.fc-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 20px; padding: 12px 24px; background: var(--fc-bg); border-bottom: 1px solid var(--fc-grid); }
.fc-brand { margin: 0; font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--fc-ink); }
.fc-brand a { color: var(--fc-orange); }
.fc-links { display: flex; flex-wrap: wrap; gap: 6px; }
.fc-links a { display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px; border-radius: 999px; border: 1.5px solid var(--fc-rule); color: var(--fc-ink); font-size: 13.5px; font-weight: 500; }
.fc-links a:hover { border-color: var(--fc-orange); color: var(--fc-orange); }
.fc-links a.fc-home { background: var(--fc-orange); border-color: var(--fc-orange); color: var(--fc-on); font-weight: 600; }
@media print { .fc-bar { display: none; } }

/* ---------- PingCastle's own bar: stays at the top as you scroll ---------- */
.navbar-custom, .navbar { position: sticky !important; top: 0; background-color: rgba(20, 32, 38, .96) !important; border-bottom: 1px solid var(--fc-grid) !important; backdrop-filter: blur(6px); }
.navbar-custom .navbar-brand img { filter: invert(1) hue-rotate(180deg) brightness(1.1); }
.navbar-custom .navbar-nav .nav-link { color: var(--fc-ink) !important; font-weight: 500; }
.navbar-custom .navbar-nav > .active > a, .navbar-custom .navbar-nav > .active > a:hover, .navbar-custom .navbar-nav > .active > a:focus { border-bottom: 4px solid var(--fc-orange); }
.navbar-custom .navbar-toggler { border-color: var(--fc-rule); }
.navbar-custom .navbar-toggler-icon { filter: invert(1); }
.dropdown-menu { background: var(--fc-surface); border-color: var(--fc-rule); }
.dropdown-item { color: var(--fc-ink); }
.dropdown-item:hover, .dropdown-item:focus { background: var(--fc-well); color: var(--fc-ink); }
.dropdown-item.active, .dropdown-item:active { background: var(--fc-orange); color: var(--fc-on); }

/* ---------- the page ---------- */
#wrapper, #wrapper.well, .well { background: var(--fc-bg) !important; box-shadow: none !important; border: 0; }
.report-date { color: var(--fc-muted); }
.alert, .alert-info, .notif { background: var(--fc-surface) !important; color: var(--fc-ink) !important; border: 1px solid var(--fc-grid) !important; border-left: 4px solid var(--fc-teal) !important; border-radius: 14px; }
.warn { background: var(--fc-surface); color: var(--fc-ink); border-left-color: var(--fc-gold); border-radius: 10px; }
.lead { color: var(--fc-ink2); }

/* section heads: an orange band, as on the forecast panels */
.section-header-container { background: var(--fc-orange) !important; border: 0 !important; border-radius: 22px 22px 0 0; padding: 12px 24px !important; margin-top: 2rem; margin-bottom: 0 !important; }
.section-header-container + * { margin-top: 1rem; }
.section-header-container h1, .section-header-container h2, .section-header-container h3, .section-header-container .sectionheader, .sectionheader {
  color: var(--fc-on) !important; text-decoration: none !important; font-size: 13px !important; font-weight: 600 !important; letter-spacing: .16em; text-transform: uppercase; margin: 0 !important; }
.section-header-container a { color: var(--fc-on) !important; }
.sub-section, h2.indicator-header { color: var(--fc-ink); font-weight: 600; }
.risk-sub-section h2, .risk-sub-section h3 { font-weight: 600; }

/* cards: rule details and the like */
.card { background: var(--fc-surface); border: 1px solid var(--fc-grid); border-radius: 16px; color: var(--fc-ink); }
.card-header { background: var(--fc-well); border-bottom: 1px solid var(--fc-grid); }
.card-header:first-child { border-radius: 15px 15px 0 0; }
.card-body { color: var(--fc-ink); }
.card-title, .card-header .btn-link { color: var(--fc-ink) !important; font-weight: 500; }
.card-header .btn-link:hover { color: var(--fc-orange) !important; }
.risk-card .card-header .float-end, .float-end i { color: var(--fc-gold); }
.indicators-border { border: 1px solid var(--fc-grid) !important; border-radius: 16px; background: var(--fc-surface); }
.ticked { color: var(--fc-teal) !important; }
.unticked { color: var(--fc-red) !important; }

/* gauges: teal / gold / orange / red, a cream needle */
.chart-first { fill: var(--fc-teal) !important; }
.chart-second { fill: var(--fc-gold) !important; }
.chart-third { fill: var(--fc-orange) !important; }
.chart-quart { fill: var(--fc-red) !important; }
.needle, .needle-center { fill: var(--fc-ink) !important; }
svg text, svg { fill: var(--fc-ink2); font-family: var(--fc-font); }
.bar { fill: var(--fc-teal) !important; }
g.sectors { stroke: var(--fc-bg) !important; }
path.empty { fill: var(--fc-well) !important; }

/* the risk model grid */
.model_table th { color: var(--fc-ink); font-weight: 600; }
.model_cell { border: 2px solid var(--fc-bg) !important; background: var(--fc-well); color: var(--fc-ink); border-radius: 4px; }
.model_cell.model_toimprove { background-color: var(--fc-gold) !important; color: #10181C !important; }
.model_cell.model_info { background-color: var(--fc-blue) !important; color: #10181C !important; }
.model_cell.model_warning { background-color: var(--fc-orange) !important; color: #10181C !important; }
.model_cell.model_danger { background-color: var(--fc-red) !important; color: #10181C !important; }
.model_cell a { color: inherit !important; }
.risk_model_none { background-color: var(--fc-blue) !important; }
.risk_model_low { background-color: var(--fc-gold) !important; }
.risk_model_medium { background-color: var(--fc-orange) !important; }
.risk_model_high { background-color: var(--fc-red) !important; }
.risk_model_no_detections { background-color: var(--fc-well) !important; }
.risk_model_information { background-color: var(--fc-blue) !important; }
.score_100 { background-color: var(--fc-plum) !important; color: #10181C; }
.score_over75 { background-color: var(--fc-red) !important; color: #10181C; }
.score_over50 { background-color: var(--fc-orange) !important; color: #10181C; }
.score_over25 { background-color: var(--fc-gold) !important; color: #10181C; }
.score_below25 { background-color: var(--fc-teal) !important; color: #10181C; }
.grade-1 { background-color: var(--fc-red) !important; color: #10181C !important; }
.grade-2 { background-color: var(--fc-orange) !important; color: #10181C !important; }
.grade-3 { background-color: var(--fc-gold) !important; color: #10181C !important; }
.grade-4 { background-color: var(--fc-blue) !important; color: #10181C !important; }
.grade-5 { background-color: var(--fc-teal) !important; color: #10181C !important; }

/* tables */
.table { --bs-table-bg: transparent; --bs-table-striped-bg: rgba(243, 235, 221, .035); --bs-table-striped-color: var(--fc-ink); --bs-table-hover-bg: rgba(243, 235, 221, .06); --bs-table-hover-color: var(--fc-ink);
  --bs-table-active-bg: rgba(224, 122, 69, .15); --bs-table-active-color: var(--fc-ink); color: var(--fc-ink); border-color: var(--fc-grid); }
.table > :not(caption) > * > * { border-color: var(--fc-grid); color: var(--fc-ink); }
.table-bordered > :not(caption) > * > * { border-width: 0 0 1px; }
.table-bordered > :not(caption) > * { border-width: 0; }
.table thead th, .table > thead > tr > th { color: var(--fc-muted); font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; border-bottom: 1.5px solid var(--fc-rule) !important; background: transparent; }
.table > :not(:first-child) { border-top: 0; }
.bootstrap-table .fixed-table-container, .bootstrap-table .fixed-table-container .table thead th { border-color: var(--fc-grid) !important; }
.bootstrap-table .fixed-table-container .table thead th .sortable { background-image: none; }
.bootstrap-table .fixed-table-container .table thead th .sortable::after { content: " ↕"; color: var(--fc-orange); opacity: .6; }
.bootstrap-table .fixed-table-container .table thead th .asc::after { content: " ▲"; opacity: 1; }
.bootstrap-table .fixed-table-container .table thead th .desc::after { content: " ▼"; opacity: 1; }
.bootstrap-table .fixed-table-pagination { color: var(--fc-muted); }
.fixed-table-toolbar .search input, .form-control, .form-select { background: var(--fc-bg) !important; color: var(--fc-ink) !important; border: 1.5px solid var(--fc-ink) !important; border-radius: 999px !important; }
.form-control::placeholder { color: var(--fc-muted); }
.form-check-input, .custom-control-input { accent-color: var(--fc-orange); }
.page-link { background: transparent !important; color: var(--fc-ink) !important; border: 0; border-radius: 999px !important; min-width: 36px; text-align: center; }
.page-link:hover { color: var(--fc-orange) !important; }
.page-item.active .page-link { background: var(--fc-orange) !important; color: var(--fc-on) !important; }
.page-item.disabled .page-link { color: var(--fc-rule) !important; }
.num { font-variant-numeric: tabular-nums; }

/* buttons: pills */
.btn { border-radius: 999px !important; font-weight: 600; }
.btn-primary, .submit-btn { background-color: var(--fc-orange) !important; border-color: var(--fc-orange) !important; color: var(--fc-on) !important; }
.btn-primary:hover, .btn-primary:focus, .submit-btn:hover { background: #EA8C5A !important; color: var(--fc-on) !important; border-color: #EA8C5A !important; }
.btn-secondary, .btn-default, .btn-outline-primary, .btn-outline-secondary { background: transparent !important; color: var(--fc-ink) !important; border: 1.5px solid var(--fc-ink) !important; }
.btn-secondary:hover, .btn-default:hover, .btn-outline-primary:hover, .btn-outline-secondary:hover, .btn.btn-secondary:active, .btn.btn-secondary:focus { background: transparent !important; color: var(--fc-gold) !important; border-color: var(--fc-gold) !important; }
.bi-download::before { filter: invert(1) brightness(1.4); }
.btn.btn-secondary:hover .bi-download::before { filter: none; }
.btn-close { filter: invert(1) grayscale(1) brightness(2); }
.btn-close-white { filter: none; }

/* tabs */
.nav-tabs { border-bottom-color: var(--fc-rule); }
.nav-tabs .nav-link { color: var(--fc-ink) !important; border-color: transparent !important; border-radius: 999px 999px 0 0; }
.nav-tabs .nav-link:hover { background: var(--fc-well) !important; }
.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link { background: var(--fc-orange) !important; color: var(--fc-on) !important; border-color: var(--fc-orange) !important; }

/* pop-ups: modals with an orange band, cream tooltips */
.modal-content { background: var(--fc-bg); color: var(--fc-ink); border: 1px solid var(--fc-rule); border-radius: 22px; overflow: hidden; }
.modal-header { background-color: var(--fc-orange) !important; border-bottom: 0; border-radius: 0; }
.modal-title, .modal-header h4, .modal-header h5 { color: var(--fc-on) !important; font-size: 13px !important; font-weight: 600 !important; letter-spacing: .16em; text-transform: uppercase; }
.modal-header .btn-close, .modal-header .btn-close-white { filter: none; }
.modal-footer { border-top-color: var(--fc-grid); }
.modal-full-screen-content { background: var(--fc-bg); }
.network-area { background: var(--fc-surface); }
.tooltip-inner { background: var(--fc-ink) !important; color: var(--fc-on) !important; border-radius: 12px; box-shadow: 0 8px 24px rgba(0, 0, 0, .4); font-family: var(--fc-font); text-align: left; }
.tooltip .border-flag { border-color: var(--fc-on); }
.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before { border-top-color: var(--fc-ink); }
.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before { border-bottom-color: var(--fc-ink); }
.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before { border-left-color: var(--fc-ink); }
.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before { border-right-color: var(--fc-ink); }
.popover { background: var(--fc-ink); border: 0; border-radius: 12px; }
.popover-body, .popover-header, .model_cell .popover-content, .model_cell .popover-title { color: var(--fc-on) !important; }
.popover-header { background: #E9DFCC; border-bottom-color: #D9D0BF; }
.info-mark { background: transparent; }

/* progress bars, list groups, switches */
.progress { background: var(--fc-well); border-radius: 999px; }
.progress-bar { background-color: var(--fc-teal); }
.list-group-item { background: var(--fc-surface); color: var(--fc-ink); border-color: var(--fc-grid); }
.custom-control-label { color: var(--fc-ink); }
