/*
 * Screen-only Palantir visual layer. It deliberately never styles exported
 * documents: CM sets body[data-export] before report rendering.
 */
@media screen {
  @font-face { font-family:"PalantirText"; src:url("/static/fonts/MTSText-Regular.otf") format("opentype"); font-weight:400; font-style:normal; font-display:swap; }
  @font-face { font-family:"PalantirText"; src:url("/static/fonts/MTSText-Medium.otf") format("opentype"); font-weight:500 600; font-style:normal; font-display:swap; }
  @font-face { font-family:"PalantirText"; src:url("/static/fonts/MTSText-Bold.otf") format("opentype"); font-weight:700 900; font-style:normal; font-display:swap; }
  @font-face { font-family:"PalantirWide"; src:url("/static/fonts/MTSWide-Regular.otf") format("opentype"); font-weight:400 600; font-style:normal; font-display:swap; }
  @font-face { font-family:"PalantirWide"; src:url("/static/fonts/MTSWide-Bold.otf") format("opentype"); font-weight:700 900; font-style:normal; font-display:swap; }
  body.palantir-app:not([data-export]) {
    --pt-bg:#f5f5f7; --pt-surface:#fff; --pt-surface-soft:#f0f1f3;
    --pt-ink:#111216; --pt-muted:#666b73; --pt-muted-2:#8b9098;
    --pt-line:#dedfe3; --pt-line-soft:#ececef; --pt-red:#ff0033;
    --pt-container:1390px; --pt-gutter:36px; --pt-radius:20px;
    --pt-shadow:0 8px 24px rgba(17,18,22,.055);
    margin:0; min-height:100vh; background:var(--pt-bg); color:var(--pt-ink);
    font-family:"PalantirText","Segoe UI",system-ui,sans-serif; font-size:14px; line-height:1.5;
  }
  body.palantir-app:not([data-export]) *, body.palantir-app:not([data-export]) *::before, body.palantir-app:not([data-export]) *::after { box-sizing:border-box; }
  body.palantir-app:not([data-export]) .navbar { position:sticky; top:0; z-index:100; min-height:68px; padding:0 max(var(--pt-gutter),calc((100vw - var(--pt-container))/2)); display:flex; align-items:center; gap:28px; border-bottom:1px solid var(--pt-line-soft); background:rgba(255,255,255,.94); backdrop-filter:blur(14px); }
  body.palantir-app:not([data-export]) .nav-brand { flex:0 0 auto; color:var(--pt-ink); font-family:"PalantirWide",system-ui,sans-serif; font-size:19px; font-weight:700; letter-spacing:-.035em; line-height:1; text-decoration:none; }
  body.palantir-app:not([data-export]) .nav-brand span { display:block; margin-top:4px; color:var(--pt-muted-2); font-family:"PalantirText",system-ui,sans-serif; font-size:9px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
  body.palantir-app:not([data-export]) .nav-links { margin-left:auto; display:flex; align-items:center; gap:6px; }
  body.palantir-app:not([data-export]) .nav-links>a, body.palantir-app:not([data-export]) .nav-dropdown-toggle { display:block; padding:10px 15px; border-radius:999px; color:var(--pt-muted); font-size:13px; font-weight:600; line-height:1; text-decoration:none; white-space:nowrap; }
  body.palantir-app:not([data-export]) .nav-links>a:hover, body.palantir-app:not([data-export]) .nav-dropdown-toggle:hover { color:var(--pt-ink); background:var(--pt-surface-soft); }
  body.palantir-app:not([data-export]) .nav-links>a.active, body.palantir-app:not([data-export]) .nav-dropdown-toggle.active { color:#fff; background:var(--pt-ink); }
  body.palantir-app:not([data-export]) .nav-dropdown { position:relative; }
  body.palantir-app:not([data-export]) .nav-dropdown-menu { top:calc(100% + 10px); padding:7px; border:1px solid var(--pt-line-soft); border-radius:14px; background:#fff; box-shadow:var(--pt-shadow); }
  body.palantir-app:not([data-export]) .nav-dropdown-menu a { border-radius:9px; color:var(--pt-muted); font-size:13px; }
  body.palantir-app:not([data-export]) .container { width:min(100%,var(--pt-container)); min-height:calc(100vh - 122px); margin:0 auto; padding:32px var(--pt-gutter) 50px; }
  body.palantir-app:not([data-export]) h1, body.palantir-app:not([data-export]) h2, body.palantir-app:not([data-export]) h3, body.palantir-app:not([data-export]) h4 { color:var(--pt-ink); font-family:"PalantirWide",system-ui,sans-serif; letter-spacing:-.035em; }
  body.palantir-app:not([data-export]) h1 { margin:0 0 25px; font-size:clamp(28px,3.3vw,45px); line-height:1.03; }
  body.palantir-app:not([data-export]) h2 { font-size:24px; line-height:1.13; } body.palantir-app:not([data-export]) h3 { font-size:18px; line-height:1.2; }
  body.palantir-app:not([data-export]) .subtitle, body.palantir-app:not([data-export]) .description, body.palantir-app:not([data-export]) .muted, body.palantir-app:not([data-export]) .bc-muted { color:var(--pt-muted); }
  body.palantir-app:not([data-export]) .grid { gap:18px; }
  body.palantir-app:not([data-export]) .scenario-run-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.palantir-app:not([data-export]) .card, body.palantir-app:not([data-export]) .table-container, body.palantir-app:not([data-export]) .project-header, body.palantir-app:not([data-export]) .bc-section, body.palantir-app:not([data-export]) .iv-tab-content, body.palantir-app:not([data-export]) .report-section, body.palantir-app:not([data-export]) .upload-section, body.palantir-app:not([data-export]) .cw-screen { border:1px solid var(--pt-line-soft); border-radius:var(--pt-radius); background:var(--pt-surface); box-shadow:var(--pt-shadow); }
  body.palantir-app:not([data-export]) .card-body { padding:22px; } body.palantir-app:not([data-export]) .card-footer { padding:14px 22px; border-top:1px solid var(--pt-line-soft); background:var(--pt-surface); }
  body.palantir-app:not([data-export]) .service-card { transition:transform .18s ease,box-shadow .18s ease; } body.palantir-app:not([data-export]) .service-card:hover { transform:translateY(-2px); box-shadow:0 15px 34px rgba(17,18,22,.09); }
  body.palantir-app:not([data-export]) .btn, body.palantir-app:not([data-export]) .login-btn, body.palantir-app:not([data-export]) .btn-pdf { min-height:42px; padding:10px 17px; border:1px solid var(--pt-line); border-radius:999px; background:#fff; color:var(--pt-ink); box-shadow:none; font:600 13px/1 "PalantirText",system-ui,sans-serif; text-decoration:none; }
  body.palantir-app:not([data-export]) .btn-primary, body.palantir-app:not([data-export]) .btn-accent, body.palantir-app:not([data-export]) .btn-success, body.palantir-app:not([data-export]) .login-btn { border-color:var(--pt-ink); background:var(--pt-ink); color:#fff; }
  body.palantir-app:not([data-export]) .btn:hover, body.palantir-app:not([data-export]) .login-btn:hover { transform:translateY(-1px); } body.palantir-app:not([data-export]) .btn-primary:hover, body.palantir-app:not([data-export]) .login-btn:hover { background:#303239; }
  body.palantir-app:not([data-export]) .btn:focus-visible, body.palantir-app:not([data-export]) input:focus-visible, body.palantir-app:not([data-export]) select:focus-visible, body.palantir-app:not([data-export]) textarea:focus-visible, body.palantir-app:not([data-export]) a:focus-visible { outline:3px solid rgba(255,0,51,.2); outline-offset:2px; }
  body.palantir-app:not([data-export]) input:not([type="checkbox"]):not([type="radio"]), body.palantir-app:not([data-export]) select, body.palantir-app:not([data-export]) textarea, body.palantir-app:not([data-export]) .form-input, body.palantir-app:not([data-export]) .bc-input, body.palantir-app:not([data-export]) .bc-select, body.palantir-app:not([data-export]) .iv-input, body.palantir-app:not([data-export]) .ca-input, body.palantir-app:not([data-export]) .cm-input { min-height:44px; border:1px solid var(--pt-line); border-radius:14px; background:#fff; color:var(--pt-ink); box-shadow:none; font:14px "PalantirText",system-ui,sans-serif; }
  body.palantir-app:not([data-export]) input:not([type="checkbox"]):not([type="radio"]), body.palantir-app:not([data-export]) select, body.palantir-app:not([data-export]) .form-input, body.palantir-app:not([data-export]) .bc-input, body.palantir-app:not([data-export]) .bc-select, body.palantir-app:not([data-export]) .iv-input, body.palantir-app:not([data-export]) .ca-input, body.palantir-app:not([data-export]) .cm-input { padding:0 13px; }
  body.palantir-app:not([data-export]) textarea { min-height:100px; padding:11px 13px; } body.palantir-app:not([data-export]) input:focus, body.palantir-app:not([data-export]) select:focus, body.palantir-app:not([data-export]) textarea:focus { border-color:var(--pt-red); box-shadow:0 0 0 3px rgba(255,0,51,.12); outline:0; }
  body.palantir-app:not([data-export]) label, body.palantir-app:not([data-export]) .form-group label, body.palantir-app:not([data-export]) .iv-label, body.palantir-app:not([data-export]) .bc-label, body.palantir-app:not([data-export]) .ca-label, body.palantir-app:not([data-export]) .cm-label { color:var(--pt-ink); font-size:12px; font-weight:700; }
  body.palantir-app:not([data-export]) .badge, body.palantir-app:not([data-export]) .done-badge { min-height:24px; padding:4px 9px; border:1px solid var(--pt-line); border-radius:999px; background:var(--pt-surface-soft); color:#555b65; font-size:11px; font-weight:700; }
  body.palantir-app:not([data-export]) .badge-ok { border-color:#b9ddcb; background:#edf8f1; color:#187548; } body.palantir-app:not([data-export]) .badge-warn, body.palantir-app:not([data-export]) .badge-pending { border-color:#f0d7a4; background:#fff7e5; color:#9a6500; } body.palantir-app:not([data-export]) .badge-err { border-color:#f1c2ca; background:#fff0f2; color:#b51f3d; }
  body.palantir-app:not([data-export]) .project-card, body.palantir-app:not([data-export]) .scenario-card, body.palantir-app:not([data-export]) .iv-project-card { border:1px solid var(--pt-line-soft); border-radius:var(--pt-radius); background:var(--pt-surface); box-shadow:var(--pt-shadow); }
  body.palantir-app:not([data-export]) .project-card:hover, body.palantir-app:not([data-export]) .scenario-card:hover, body.palantir-app:not([data-export]) .iv-project-card:hover { box-shadow:0 15px 34px rgba(17,18,22,.09); }
  body.palantir-app:not([data-export]) .scenario-indicator, body.palantir-app:not([data-export]) .bc-chip, body.palantir-app:not([data-export]) .cm-badge { border:1px solid var(--pt-line); border-radius:999px; background:var(--pt-surface-soft); color:#555b65; font-size:11px; font-weight:700; }
  body.palantir-app:not([data-export]) .scenario-indicator.done, body.palantir-app:not([data-export]) .bc-chip-fact, body.palantir-app:not([data-export]) .bc-chip-verified, body.palantir-app:not([data-export]) .cm-badge-active, body.palantir-app:not([data-export]) .cm-badge-completed { border-color:#b9ddcb; background:#edf8f1; color:#187548; }
  body.palantir-app:not([data-export]) .scenario-indicator.pending, body.palantir-app:not([data-export]) .bc-chip-hypo, body.palantir-app:not([data-export]) .cm-badge-paused, body.palantir-app:not([data-export]) .cm-badge-generating { border-color:#f0d7a4; background:#fff7e5; color:#9a6500; }
  body.palantir-app:not([data-export]) .bc-chip-unverified, body.palantir-app:not([data-export]) .cm-badge-failed { border-color:#f1c2ca; background:#fff0f2; color:#b51f3d; }
  body.palantir-app:not([data-export]) .cm-badge-configured { border-color:#ced9ed; background:#f0f5ff; color:#315eaa; }
  body.palantir-app:not([data-export]) .table-container { overflow:auto; } body.palantir-app:not([data-export]) .table-container table { width:100%; border-collapse:collapse; background:#fff; } body.palantir-app:not([data-export]) .table-container th { padding:13px 16px; border-bottom:1px solid var(--pt-line); color:var(--pt-muted-2); background:#fafafb; font-size:10px; font-weight:750; letter-spacing:.07em; text-transform:uppercase; } body.palantir-app:not([data-export]) .table-container td { padding:15px 16px; border-bottom:1px solid var(--pt-line-soft); color:var(--pt-ink); } body.palantir-app:not([data-export]) .table-container tbody tr:hover { background:#fafafb; }
  body.palantir-app:not([data-export]) .admin-tabs, body.palantir-app:not([data-export]) .iv-tabs, body.palantir-app:not([data-export]) .ca-tabs, body.palantir-app:not([data-export]) .cm-tabs { display:flex; gap:4px; overflow-x:auto; margin-bottom:20px; padding:5px; border:1px solid var(--pt-line-soft); border-radius:14px; background:#fff; }
  body.palantir-app:not([data-export]) .admin-tab, body.palantir-app:not([data-export]) .iv-tab, body.palantir-app:not([data-export]) .ca-tab, body.palantir-app:not([data-export]) .cm-tab { padding:9px 13px; border:0; border-radius:10px; background:transparent; color:var(--pt-muted); font:600 13px "PalantirText",system-ui,sans-serif; white-space:nowrap; } body.palantir-app:not([data-export]) .admin-tab.active, body.palantir-app:not([data-export]) .iv-tab.active, body.palantir-app:not([data-export]) .ca-tab.active, body.palantir-app:not([data-export]) .cm-tab.active { background:var(--pt-ink); color:#fff; }
  body.palantir-app:not([data-export]) .create-modal-overlay, body.palantir-app:not([data-export]) .bc-dialog-overlay, body.palantir-app:not([data-export]) .iv-dialog-overlay, body.palantir-app:not([data-export]) .ca-dialog-overlay, body.palantir-app:not([data-export]) .cm-dialog-overlay, body.palantir-app:not([data-export]) .feedback-overlay { background:rgba(17,18,22,.35); backdrop-filter:blur(4px); } body.palantir-app:not([data-export]) .create-modal, body.palantir-app:not([data-export]) .bc-dialog, body.palantir-app:not([data-export]) .iv-dialog, body.palantir-app:not([data-export]) .ca-dialog, body.palantir-app:not([data-export]) .cm-dialog, body.palantir-app:not([data-export]) .feedback-card { border:1px solid var(--pt-line-soft); border-radius:22px; background:#fff; box-shadow:0 24px 70px rgba(17,18,22,.19); }
  body.palantir-app:not([data-export]) .report-layout { gap:20px; } body.palantir-app:not([data-export]) .report-sidebar { border:1px solid var(--pt-line-soft); border-radius:18px; background:#fff; box-shadow:var(--pt-shadow); } body.palantir-app:not([data-export]) .report-nav a.active { border-left-color:var(--pt-red); color:var(--pt-ink); }
  body.palantir-app:not([data-export]) .footer { border-top:1px solid var(--pt-line-soft); background:#fff; } body.palantir-app:not([data-export]) .footer-content { width:min(100%,var(--pt-container)); min-height:58px; margin:0 auto; padding:17px var(--pt-gutter); color:var(--pt-muted-2); font-size:11px; } body.palantir-app:not([data-export]) .feedback-trigger { position:fixed; right:24px; bottom:24px; z-index:9999; min-height:42px; padding:10px 18px; border:0; border-radius:999px; background:var(--pt-ink); color:#fff; box-shadow:0 8px 24px rgba(17,18,22,.18); cursor:pointer; font:600 13px "PalantirText",system-ui,sans-serif; }
  body.palantir-app:not([data-export]).palantir-login { position:relative; display:flex; align-items:center; justify-content:center; padding:24px; overflow:hidden; } body.palantir-app:not([data-export]).palantir-login .login-card { position:relative; max-width:430px; padding:44px 40px; border:1px solid var(--pt-line-soft); border-radius:24px; background:#fff; box-shadow:0 22px 55px rgba(17,18,22,.1); text-align:left; } body.palantir-app:not([data-export]).palantir-login .login-brand { color:var(--pt-ink); font-family:"PalantirWide",system-ui,sans-serif; font-size:30px; letter-spacing:-.045em; } body.palantir-app:not([data-export]).palantir-login .login-btn { width:100%; }
  body.palantir-app:not([data-export]) .feedback-trigger { position:static; display:block; width:max-content; margin:16px var(--pt-gutter) 24px auto; }
  /*
   * Action labels share one rhythm across the legacy service surfaces.  Keep
   * this list limited to controls: report navigation, disclosure headers and
   * menu options have their own (deliberately left-aligned) reading rhythm.
   * Font declarations are important only to beat the old inline font sizes
   * that remain on a few generated/template controls.
   */
  body.palantir-app:not([data-export]) .btn,
  body.palantir-app:not([data-export]) .login-btn,
  body.palantir-app:not([data-export]) .btn-pdf,
  body.palantir-app:not([data-export]) .feedback-trigger,
  body.palantir-app:not([data-export]) #gf-submit-btn,
  body.palantir-app:not([data-export]) .rating-submit-btn,
  body.palantir-app:not([data-export]) .rating-change-btn,
  body.palantir-app:not([data-export]) .bc-report-action,
  body.palantir-app:not([data-export]) .bc-mode-btn,
  body.palantir-app:not([data-export]) .bc-param-tab,
  body.palantir-app:not([data-export]) .bc-retry,
  body.palantir-app:not([data-export]) .bc-filter-banner__clear,
  body.palantir-app:not([data-export]) .ca-tab,
  body.palantir-app:not([data-export]) .ca-view-report-btn,
  body.palantir-app:not([data-export]) .ca-btn-dl,
  body.palantir-app:not([data-export]) .ca-btn-approve,
  body.palantir-app:not([data-export]) .ca-btn-revise,
  body.palantir-app:not([data-export]) .ca-btn-monitoring,
  body.palantir-app:not([data-export]) .ca-btn-monitoring-start,
  body.palantir-app:not([data-export]) .ca-btn-stop-monitoring,
  body.palantir-app:not([data-export]) .ca-upload-btn,
  body.palantir-app:not([data-export]) .ca-btn-preview,
  body.palantir-app:not([data-export]) .ca-detail-delete,
  body.palantir-app:not([data-export]) .iv-tab,
  body.palantir-app:not([data-export]) .iv-upload-btn,
  body.palantir-app:not([data-export]) .iv-btn-start,
  body.palantir-app:not([data-export]) .cw-tool-btn,
  body.palantir-app:not([data-export]) .cm-tab,
  body.palantir-app:not([data-export]) .cm-method-btn,
  body.palantir-app:not([data-export]) .cm-export-btn,
  body.palantir-app:not([data-export]) .cm-row-action,
  body.palantir-app:not([data-export]) .cm-filter,
  body.palantir-app:not([data-export]) .cm-activity-chip,
  body.palantir-app:not([data-export]) .admin-tab,
  body.palantir-app:not([data-export]) .cm-tabs button,
  body.palantir-app:not([data-export]) .cm-segment button,
  body.palantir-app:not([data-export]) .cm-importance-tabs button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    gap:6px;
    font-family:"PalantirText",system-ui,sans-serif !important;
    font-size:13px !important;
    font-weight:600 !important;
    line-height:1.2 !important;
  }
  /* BC chips/cards carry their own visual hierarchy; only align their content. */
  body.palantir-app:not([data-export]) button.bc-chip {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:0;
    text-align:center;
    font-family:"PalantirText",system-ui,sans-serif !important;
    line-height:1.2 !important;
  }
  /* Score cards are stacked controls, not a horizontal icon/text row. */
  body.palantir-app:not([data-export]) button.bc-score-card {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:0;
    text-align:center;
    font-family:"PalantirText",system-ui,sans-serif !important;
    line-height:1.2 !important;
  }
  body.palantir-app:not([data-export]) .rating-submit-btn,
  body.palantir-app:not([data-export]) .cm-tabs button,
  body.palantir-app:not([data-export]) .cm-importance-tabs button {
    gap:0;
  }
  /* These controls intentionally remain reading/navigation controls. */
  body.palantir-app:not([data-export]) #download-format-menu .btn {
    justify-content:flex-start;
    text-align:left;
  }
  /*
   * The desktop/mobile feedback layout uses block positioning to sit at the
   * edge of the content.  Flex keeps that placement while centering the
   * label in both axes; unlike the action declarations above this does not
   * alter any hidden inline display state.
   */
  body.palantir-app:not([data-export]) .feedback-trigger {
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
  }
  @media (max-width:360px) {
    body.palantir-app:not([data-export]) .navbar { flex-wrap:wrap; gap:8px; padding-block:12px; }
    body.palantir-app:not([data-export]) .nav-links { flex-wrap:wrap; }
  }
  @media (max-width:900px) { body.palantir-app:not([data-export]) { --pt-gutter:24px; } body.palantir-app:not([data-export]) .navbar { gap:14px; } body.palantir-app:not([data-export]) .nav-brand span { display:none; } }
  @media (max-width:620px) { body.palantir-app:not([data-export]) { --pt-gutter:16px; } body.palantir-app:not([data-export]) .navbar { min-height:62px; padding-inline:16px; } body.palantir-app:not([data-export]) .nav-links { max-width:72vw; } body.palantir-app:not([data-export]) .nav-links>a, body.palantir-app:not([data-export]) .nav-dropdown-toggle { padding:8px 11px; font-size:12px; } body.palantir-app:not([data-export]) .container { padding:22px 16px 36px; } body.palantir-app:not([data-export]) .card-body { padding:18px; } body.palantir-app:not([data-export]) .footer-content { padding:16px; } body.palantir-app:not([data-export]) .report-layout { display:block; } body.palantir-app:not([data-export]) .report-sidebar { margin-bottom:16px; } body.palantir-app:not([data-export]) .scenario-run-grid { grid-template-columns:1fr; } body.palantir-app:not([data-export]) .feedback-trigger { position:static; display:flex; width:calc(100% - 32px); margin:0 16px 18px; } }
}