/* TriFocus UX — Precision Intelligence system */
:root{
  --tf-navy-950:#04111d;--tf-navy-900:#071827;--tf-navy-800:#0c263b;--tf-navy-700:#143851;
  --tf-silver-50:#f4f7f8;--tf-silver-100:#e8edef;--tf-silver-200:#d2dce1;--tf-silver-300:#b9c7cf;
  --tf-silver-500:#6e8391;--tf-ink:#102938;--tf-gold:#b99a57;--tf-line:rgba(46,76,94,.18);
  --primary-color:var(--tf-navy-800);--secondary-color:#536a79;--accent-color:var(--tf-silver-500);
  --brand-navy:var(--tf-navy-900);--brand-cyan:var(--tf-silver-500);
  --gray-50:var(--tf-silver-100);--gray-100:#e1e9ed;--gray-200:#c8d4da;--gray-400:#6e8391;--gray-600:#3b5363;--gray-800:var(--tf-ink);
  --radius-sm:3px;--radius-md:5px;--radius-xl:8px;--shadow-sm:0 2px 7px rgba(5,24,39,.07);--shadow-lg:0 14px 30px rgba(5,24,39,.13);
}
*{box-sizing:border-box}
html{background:var(--tf-silver-100)}
body{font-family:'Inter',system-ui,sans-serif!important;background:var(--tf-silver-100);color:var(--tf-ink);font-size:.9rem;line-height:1.5}
body:not(.has-sidebar)::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.5;background-image:linear-gradient(rgba(46,76,94,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(46,76,94,.035) 1px,transparent 1px);background-size:42px 42px}
h1,h2,h3,.display-1,.display-2,.display-3,.display-4,.display-5,.display-6{font-family:'IBM Plex Serif',Georgia,serif;font-weight:600;letter-spacing:-.025em;color:var(--tf-navy-900)}
body.has-sidebar h1,body.has-sidebar h2,body.has-sidebar h3{font-family:'Inter',system-ui,sans-serif;font-weight:700;letter-spacing:-.018em}
a{color:#0c496a}a:hover{color:var(--tf-navy-900)}
:focus-visible{outline:2px solid var(--tf-gold)!important;outline-offset:3px}
.btn,.btn-primary,.btn-secondary,.btn-outline-primary{border-radius:3px;font-family:'Inter',system-ui,sans-serif;font-weight:650;letter-spacing:.015em}
.btn-primary{background:var(--tf-navy-800);border-color:var(--tf-navy-800)}.btn-primary:hover,.btn-primary:focus{background:var(--tf-navy-700);border-color:var(--tf-navy-700)}
.btn-outline-primary{color:var(--tf-navy-800);border-color:#8ca0aa}.btn-outline-primary:hover{background:var(--tf-navy-800);border-color:var(--tf-navy-800)}
.card,.modal-content{background:#f9fbfb;border:1px solid var(--tf-line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}
.card:hover{transform:none;box-shadow:0 5px 16px rgba(5,24,39,.10)}
.form-control,.form-select,input:not([type=checkbox]):not([type=radio]),textarea,select{border-color:#afc0c8;border-radius:3px;background:#fbfcfc;color:var(--tf-ink)}
.form-control:focus,.form-select:focus,input:focus,textarea:focus,select:focus{border-color:#31576b;box-shadow:0 0 0 3px rgba(49,87,107,.14)}
.table{--bs-table-bg:transparent;--bs-table-border-color:#d1dce1;color:var(--tf-ink);font-size:.84rem}.table thead th{background:#e1e9ed;color:#213f50;border-bottom:2px solid #9fb3bd;font-size:.71rem;letter-spacing:.075em;text-transform:uppercase}.table>:not(caption)>*>*{padding:.6rem .7rem}
.badge{border-radius:2px;font-weight:650}.alert{border-radius:3px}.breadcrumb-bar,.tfx-secbar{background:#e8edef!important;border-color:#c8d4da!important}.tfx-secbar-inner,.site-footer nav{font-family:'Inter',system-ui,sans-serif!important}
.site-footer{background:var(--tf-navy-950)!important;border-top:1px solid rgba(199,209,216,.18)}
/* Shared public navigation */
.tfx-public-nav{position:relative;z-index:20;background:rgba(4,17,29,.96);border-bottom:1px solid rgba(199,209,216,.22);font-family:'Inter',system-ui,sans-serif}
.tfx-public-nav__inner{height:104px;max-width:1320px;margin:auto;padding:4px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.tfx-public-nav__brand{display:flex;align-items:center;flex:0 0 auto}.tfx-public-nav__logo{width:320px;height:96px;object-fit:contain;object-position:left center}
.tfx-public-nav__links{display:flex;align-items:center;justify-content:flex-end;gap:24px}.tfx-public-nav__links a,.tfx-public-nav__mobile a{color:#cbd6db;text-decoration:none;font-size:11px;letter-spacing:.075em;text-transform:uppercase;font-weight:600}.tfx-public-nav__links a:hover,.tfx-public-nav__mobile a:hover{color:#fff}
.tfx-public-nav__cta{display:inline-flex!important;align-items:center;min-height:34px;padding:0 14px;border:1px solid #dce5e8;color:#071827!important;background:#dce5e8;font-size:10px!important}.tfx-public-nav__cta:hover{background:#fff!important}
.tfx-public-nav__toggle{display:none;color:#e8edef;background:transparent;border:1px solid rgba(199,209,216,.35);padding:7px 9px}.tfx-public-nav__mobile{display:none;padding:10px 20px 18px;border-top:1px solid rgba(199,209,216,.16);background:#04111d}.tfx-public-nav__mobile.is-open{display:grid}.tfx-public-nav__mobile a{padding:12px 4px;border-bottom:1px solid rgba(199,209,216,.12)}
@media(max-width:767px){.tfx-public-nav__inner{height:82px;padding:4px 18px}.tfx-public-nav__logo{width:230px;height:72px}.tfx-public-nav__links{display:none}.tfx-public-nav__toggle{display:inline-flex}.tfx-public-nav__cta{margin-left:auto}}
[data-theme="dark"]{--gray-50:#101f2b;--gray-100:#172a36;--gray-200:#294150;--gray-800:#e4ecef} [data-theme="dark"] body{background:#101f2b;color:#e4ecef}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* ── Signed-in precision workspace: AXIOM / Coach / Monitor / History / Profile ── */
/* The page templates retain their existing selectors and behaviors; these rules provide
   a single architectural surface language over their legacy structures. */
body:has(.ax-hero),body:has(.mn-hero),body:has(.profile-header),body:has(.ar-hero){background:var(--tf-silver-100)}
.ax-hero,.mn-hero,.profile-header,.ar-hero{isolation:isolate;background:linear-gradient(118deg,#04111d 0%,#09253a 57%,#123b52 100%)!important}
.ax-hero::before,.ax-hero::after,.mn-hero::before,.profile-header::before,.ar-hero::before{border-radius:0!important;background:linear-gradient(135deg,transparent 35%,rgba(185,154,87,.18))!important;filter:none!important;opacity:1!important;transform:skewX(-19deg)}
.ax-hero,.mn-hero,.profile-header{padding-top:42px!important;padding-bottom:58px!important}
.ax-h-eyebrow,.ax-eyebrow,.mn-eyebrow,.pf-eyebrow,.ar-eyebrow{border-radius:0!important;border-color:rgba(185,154,87,.6)!important;background:rgba(185,154,87,.09)!important;color:#dfc78f!important;font-family:Inter,system-ui,sans-serif!important;font-size:10px!important;font-weight:800!important;letter-spacing:.15em!important}
.ax-title,.ax-h1,.mn-hero h1,.pf-hero h1,.ar-title{font-family:Inter,system-ui,sans-serif!important;font-weight:750!important;letter-spacing:-.045em!important;color:#fff!important;overflow-wrap:anywhere}
.ax-hero .quiet,.ax-h1 .quiet,.mn-hero h1 .quiet,.pf-hero h1 .quiet{color:#b9c7cf!important}
.ax-sub,.mn-hero p.lede,.ar-sub{color:#c7d4d9!important}
.ax-wrap,.ax-section{max-width:1360px!important;padding-left:36px!important;padding-right:36px!important}
body:has(.ax-hero) .ax-card,body:has(.ax-hero) .ax-dim-section,body:has(.ax-hero) .ax-finding,body:has(.ax-hero) .ax-strength,body:has(.ax-hero) .ax-roadmap-card,body:has(.mn-hero) .mon-card,body:has(.profile-header) .profile-card,body:has(.ar-hero) .audit-card,body:has(.ar-hero) .analysis-header,body:has(.ar-hero) .analysis-section,body:has(.ar-hero) .analysis-narrative,body:has(.ar-hero) .score-card{border-radius:0!important;border:1px solid #c4d1d6!important;box-shadow:0 3px 9px rgba(5,24,39,.055)!important;background:#f8fbfb!important}
body:has(.ax-hero) .ax-card,body:has(.ax-hero) .ax-roadmap-card{padding:22px!important}body:has(.ax-hero) .ax-card:hover,body:has(.ar-hero) .audit-card:hover{transform:translateY(-2px);box-shadow:0 13px 24px rgba(5,24,39,.11)!important}
body:has(:is(.ax-hero,.mn-hero,.profile-header,.ar-hero)) :is(.ax-btn,.ax-send,.ax-new-btn,.add-btn,.ar-empty-cta){border-radius:0!important;background:#dce5e8!important;color:#071827!important;border:1px solid #f4f7f8!important;font-family:Inter,system-ui,sans-serif!important;font-size:10px!important;font-weight:800!important;letter-spacing:.13em!important;transition:transform .18s,background .18s!important}
body:has(:is(.ax-hero,.mn-hero,.profile-header,.ar-hero)) :is(.ax-btn:hover:not(:disabled),.ax-send:hover:not(:disabled),.ax-new-btn:hover,.add-btn:hover,.ar-empty-cta:hover){background:#fff!important;color:#04111d!important;transform:translateY(-2px)}
body:has(.ax-hero) .ax-btn-ghost{background:transparent!important;border-color:#8fa5af!important;color:#173b50!important}
body:has(:is(.ax-hero,.mn-hero,.ar-hero)) :is(.ax-input,.ax-select,.add-monitor-form input,.add-monitor-form select,.history-search input,.history-filters select){border-radius:0!important;box-shadow:none!important}
body:has(:is(.ax-hero,.mn-hero,.profile-header,.ar-hero)) :is(.ax-form-field label,.ax-sec-eyebrow,.ax-section-h,.ax-dim-h .name,.ax-dim-meta,.ax-dim-section-head .ds-name,.ax-dim-section-head .ds-meta,.ax-finding-h .pill,.ax-finding-h .dim,.ax-strength-h .pill,.ax-strength-h .dim,.ax-strength-h .by,.ax-roadmap-head .uplift,.ax-sprint .when,.ax-sprint .stats,.mn-form-card h3,.mn-stat-pane .lab,.monitor-meta,.monitor-status,.monitor-action,.profile-card .card-header,.info-label,.stats-number,.stats-label,.action-btn,.ar-eyebrow){font-family:Inter,system-ui,sans-serif!important}
body:has(.ax-hero) :is(.ax-hero-stats,.ax-grade-circle,.ax-overall-meta .url,.ax-overall-meta .stats,.ax-dim-h .score,.ax-dim-section-head .ds-score){font-family:Inter,system-ui,sans-serif!important}
body:has(.ax-hero) .ax-dim-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))!important;gap:10px!important}body:has(.ax-hero) .ax-dim{border-width:1px!important;background:#f8fbfb!important}body:has(.ax-hero) .ax-dim-section-head{background:#e9f0f2!important}
body:has(.ax-hero) .ax-grade-circle{border-radius:0!important;background:#123b52!important;outline:none!important;border:1px solid #b99a57!important;box-shadow:none!important}
body:has(.ax-hero) .ax-codefix .side pre,body:has(.ax-hero) :is(.ax-codefix-toggle,.ax-codefix .copy){font-family:Inter,system-ui,sans-serif!important}
body:has(:is(.ax-hero,.mn-hero,.profile-header)) :is(.ax-competitor-card,.mn-alerts-card,#subscriptionCard){border-radius:0!important;background:linear-gradient(135deg,#071827,#123b52)!important;border-color:#173b50!important}

/* Ask AXIOM: controlled conversation bay */
body:has(.ax-hero) .ax-grid{gap:12px!important}body:has(.ax-hero) :is(.ax-side,.ax-chat){border-radius:0!important;border-color:#b9c7cf!important;box-shadow:var(--shadow-sm)}body:has(.ax-hero) .ax-chat{border-top:3px solid #123b52!important}body:has(.ax-hero) .ax-chat-body{background:#edf2f4!important}body:has(.ax-hero) :is(.ax-side-head,.ax-input-bar){background:#f8fbfb!important;border-color:#c4d1d6!important}body:has(.ax-hero) .ax-side-item{border-radius:0!important;border-color:#d1dce1!important}body:has(.ax-hero) .ax-side-item.active{background:#071827!important;border-color:#071827!important}body:has(.ax-hero) .ax-msg{border-radius:0!important;box-shadow:0 1px 2px rgba(5,24,39,.04)}body:has(.ax-hero) .ax-msg.user{background:#123b52!important;border-color:#123b52!important}body:has(.ax-hero) .ax-empty{border-left:3px solid #b99a57;background:#f8fbfb}body:has(.ax-hero) .ax-suggest button{border-radius:0!important}body:has(.ax-hero) .ax-suggest button .arrow{display:inline-grid;place-items:center;width:19px;height:19px;margin-right:8px!important;border:1px solid #b99a57;color:#76571e!important;font-size:9px!important}body:has(.ax-hero) .ax-typing{letter-spacing:0!important}body:has(.ax-hero) .ax-typing span{margin-right:4px}

/* Monitor and profile: pulled-forward operational sheets */
body:has(:is(.mn-hero,.profile-header)) :is(.monitor-page,.pf-body){max-width:1360px!important;padding-left:36px!important;padding-right:36px!important;margin-top:-30px!important}body:has(:is(.mn-hero,.profile-header)) :is(.mn-form-card,.mn-stat-pane,.pf-avatar-pane){border-radius:0!important;border-color:rgba(199,209,216,.22)!important;background:rgba(4,17,29,.32)!important;backdrop-filter:none!important}body:has(.mn-hero) .mn-stat-num{color:#dce5e8!important}body:has(.mn-hero) .monitor-item{border-radius:0!important;border-left-color:#123b52!important;background:#f8fbfb!important}body:has(.mn-hero) .monitor-item:hover{border-left-color:#b99a57!important;background:#fff!important}body:has(.mn-hero) .monitor-status{border-radius:0!important}body:has(.mn-hero) :is(.info-note,#thresholdDescription){border-radius:0!important;background:#edf2f4!important;border-color:#c4d1d6!important}body:has(.profile-header) .profile-card .card-header{background:#e8edef!important;color:#102938!important}body:has(.profile-header) .profile-avatar{border-radius:0!important;box-shadow:none!important;background:#dce5e8!important;color:#071827!important;border-color:#b99a57!important}body:has(.profile-header) .badge-role{border-radius:0!important}body:has(.profile-header) .stats-card{text-align:left!important;padding:15px 0!important}body:has(.profile-header) .stats-number{font-size:30px!important}

/* Reports: dense, sortable reading surface */
body:has(.ar-hero) .ar-hero{padding:40px 24px 68px!important}body:has(.ar-hero) .ar-hero-inner{text-align:left!important;max-width:1280px!important}body:has(.ar-hero) .main-content{margin-top:-28px!important}body:has(.ar-hero) .history-toolbar{padding:12px!important;background:#e8edef;border:1px solid #c4d1d6}body:has(.ar-hero) :is(.history-search input,.history-filters select){background:#f8fbfb!important;border-color:#afc0c8!important}body:has(.ar-hero) .audit-card{margin-bottom:9px!important}body:has(.ar-hero) .audit-card-header{padding:14px 16px!important}body:has(.ar-hero) .audit-card.open{border-color:#315f70!important}body:has(.ar-hero) :is(.audit-score-badge,.audit-card-type,.status-badge){border-radius:0!important}body:has(.ar-hero) .audit-detail-inner{padding:16px!important}body:has(.ar-hero) :is(.audit-overview-item,.audit-detail-ds,.category-bar-track){border-radius:0!important;background:#edf2f4!important}body:has(.ar-hero) :is(.analysis-header,.analysis-section,.analysis-narrative){border-radius:0!important}body:has(.ar-hero) .ai-tag{background:#f3e8ca!important;color:#76571e!important;border-radius:0!important}
@media(max-width:1100px){body:has(.ax-hero) .ax-hero-body{max-width:720px!important}}
@media(max-width:760px){body:has(:is(.ax-hero,.mn-hero,.profile-header)) :is(.ax-wrap,.ax-section,.monitor-page,.pf-body){padding-left:16px!important;padding-right:16px!important}body:has(:is(.ax-hero,.mn-hero,.profile-header)) :is(.ax-hero,.mn-hero,.profile-header){padding:29px 16px 44px!important}body:has(:is(.ax-hero,.mn-hero,.profile-header)) :is(.ax-title,.ax-h1,.mn-hero h1,.pf-hero h1){font-size:clamp(30px,10vw,42px)!important}body:has(:is(.mn-hero,.profile-header)) :is(.monitor-page,.pf-body){margin-top:-18px!important}body:has(.ax-hero) .ax-grid{height:auto!important}body:has(.ax-hero) .ax-side{max-height:220px}body:has(.ax-hero) .ax-msg{max-width:93%!important}body:has(.ar-hero) .ar-title{white-space:normal!important}body:has(.ar-hero) .ar-hero{padding-left:16px!important;padding-right:16px!important}}