.ebe-welcome{--welcome-text:#f7faff;--welcome-muted:#c4d5ec;--welcome-gold:#ffda64;position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:center;min-height:100svh;padding:clamp(24px,4vw,64px) clamp(24px,4vw,64px) 24px;color:var(--welcome-text);background:radial-gradient(ellipse at 0% 0%,rgba(241,202,103,.53),transparent 43%),radial-gradient(ellipse at 95% 25%,rgba(25,99,169,.32),transparent 60%),linear-gradient(125deg,#26394c 0%,#163354 46%,#0d294a 100%);color-scheme:dark}
.ebe-welcome::before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:repeating-linear-gradient(135deg,transparent 0 185px,rgba(183,211,245,.08) 186px,transparent 187px 372px),repeating-linear-gradient(45deg,transparent 0 265px,rgba(255,218,100,.06) 266px,transparent 267px 532px);mask-image:linear-gradient(90deg,#000,transparent 48%,#000)}
.ebe-welcome *{box-sizing:border-box}
.ebe-welcome-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);align-items:center;gap:clamp(40px,5vw,84px);width:min(1180px,100%);margin:auto;padding:32px 0 48px}
.ebe-welcome-brand{display:flex;align-items:center;gap:16px;width:fit-content;color:var(--welcome-text);text-decoration:none;margin-bottom:36px}
.ebe-welcome-brand img{width:76px;height:76px;flex-shrink:0}
.ebe-welcome-brand strong{display:block;font-size:clamp(24px,2.3vw,36px);line-height:1.1;letter-spacing:-1px}
.ebe-welcome-brand strong span{font-weight:400}
.ebe-welcome-brand small{display:block;margin-top:8px;color:var(--welcome-gold);font-size:10px;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.ebe-welcome-intro h1{margin:0;color:var(--welcome-text);font-size:clamp(42px,4.5vw,66px);line-height:1.08;letter-spacing:-.035em;font-weight:800}
.ebe-welcome-lead{max-width:530px;margin:24px 0 32px;color:var(--welcome-muted);font-size:clamp(18px,1.7vw,23px);line-height:1.55}
.ebe-welcome-features{display:grid;gap:26px}
.ebe-welcome-features>div{display:flex;align-items:center;gap:22px}
.ebe-welcome-features svg{width:46px;height:46px;flex-shrink:0;color:var(--welcome-gold)}
.ebe-welcome-features p{display:grid;gap:6px;margin:0;font-size:16px;line-height:1.5;color:var(--welcome-muted)}
.ebe-welcome-features strong{font-size:19px;color:var(--welcome-text)}
.ebe-welcome-tagline{margin:34px 0 0;color:var(--welcome-gold);font-size:clamp(19px,2vw,25px);letter-spacing:.14em;line-height:1.5}
.ebe-welcome-tagline::before{content:"";display:block;width:68px;height:1px;background:var(--welcome-gold);margin-bottom:16px}
.ebe-welcome-card{min-width:0;padding:clamp(26px,3vw,44px);border:1px solid #53779f;border-radius:20px;background:linear-gradient(145deg,rgba(30,62,98,.94),rgba(16,43,74,.96));box-shadow:0 24px 65px rgba(4,15,31,.25)}
.ebe-welcome-card .ebe-welcome-eyebrow{margin:0 0 18px;color:var(--welcome-gold);font-size:13px;letter-spacing:.04em;font-weight:800;text-transform:uppercase}
.ebe-welcome-card h2{margin:0 0 10px;color:var(--welcome-text);font-size:clamp(30px,3vw,42px);letter-spacing:-.025em;line-height:1.15}
.ebe-welcome-card .ebe-welcome-description{margin:0 0 28px;color:#e0eafb;font-size:17px;line-height:1.55}
.ebe-welcome-card form{display:grid;gap:20px}
.ebe-welcome-card label{display:grid;gap:9px;margin:0;font-size:15px;font-weight:500;color:var(--welcome-text)}
.ebe-welcome .ebe-welcome-card form input{display:block;width:100%;min-width:0;min-height:52px;margin:0;padding:14px 16px;border:1px solid #6f8bac;border-radius:10px;color:#fff;background:#203d5d;font:inherit;box-shadow:inset 0 1px 3px rgba(0,0,0,.12)}
.ebe-welcome-card input::placeholder{color:#b2c4db;opacity:1}
.ebe-welcome-password{position:relative;display:block}
.ebe-welcome .ebe-welcome-card .ebe-welcome-password input{padding-right:54px}
.ebe-welcome-card .ebe-welcome-eye{position:absolute;top:4px;right:4px;display:grid;place-items:center;width:44px;height:44px;padding:10px;color:#d6e5fa;background:transparent;border:0;border-radius:7px}
.ebe-welcome-eye svg{width:22px;height:22px}
.ebe-welcome .ebe-welcome-card .ebe-welcome-submit{width:100%;min-height:52px;padding:13px 18px;border:1px solid #f3c13b;border-radius:10px;background:linear-gradient(110deg,#ffe37b,#e8ad17);color:#101a2c;font-weight:800;font-size:16px;box-shadow:0 6px 20px rgba(255,205,61,.1)}
.ebe-welcome-submit:hover{filter:brightness(1.06)}
.ebe-welcome-card button:disabled{cursor:wait;opacity:.65}
.ebe-welcome-card .ebe-welcome-reset{justify-self:center;min-height:32px;padding:3px 8px;color:var(--welcome-gold);font-size:15px;background:none;border:0;text-decoration:underline;text-underline-offset:3px}
.ebe-welcome-card .ebe-welcome-feedback{padding:12px 14px;margin:0;border:1px solid #8caccc;border-radius:8px;background:#243e5b;color:#f7faff;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.ebe-welcome-card .ebe-welcome-feedback[role="alert"]{border-color:#ffb8b8;background:#4d3044;color:#ffe5e5}
.ebe-welcome-divider{display:flex;align-items:center;gap:14px;margin:24px 0;color:#bfd0e7;font-size:14px}
.ebe-welcome-divider::before,.ebe-welcome-divider::after{content:"";height:1px;background:#56708d;flex:1}
.ebe-welcome-actions{display:grid;gap:16px;text-align:center}
.ebe-welcome .ebe-welcome-trial{display:block;min-height:52px;padding:14px 12px;border:1px solid var(--welcome-gold);border-radius:10px;color:var(--welcome-gold);background:rgba(10,28,49,.25);font-size:15px;font-weight:700;text-decoration:none;line-height:1.5}
.ebe-welcome-trial:hover{background:rgba(255,218,100,.09)}
.ebe-welcome-products{color:var(--welcome-gold);font-size:15px;line-height:1.5;text-underline-offset:4px}
.ebe-welcome-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;margin:0 auto;padding-top:22px;border-top:1px solid #58728d;font-size:12px;color:#c4d5ec;line-height:1.7}
.ebe-welcome-footer p{margin:0}
.ebe-welcome-footer nav{display:flex;flex-wrap:wrap;gap:10px 24px}
.ebe-welcome-footer a{color:#c4d5ec;text-decoration:none}
.ebe-welcome-footer a:hover{text-decoration:underline;color:white}
.ebe-welcome a:focus-visible,.ebe-welcome button:focus-visible,.ebe-welcome input:focus-visible{outline:3px solid #ffe37b;outline-offset:4px}
@media(min-width:1600px){.ebe-welcome-layout{width:min(1320px,100%);gap:90px}.ebe-welcome-intro h1{font-size:72px}}
@media(max-width:800px){.ebe-welcome-layout{grid-template-columns:1fr;max-width:560px;gap:32px;padding:8px 0 36px}.ebe-welcome-brand{margin-bottom:24px}.ebe-welcome-intro h1{font-size:clamp(38px,7vw,52px)}.ebe-welcome-lead{font-size:18px;margin:18px 0 24px}.ebe-welcome-features{gap:18px}.ebe-welcome-features p{font-size:14px}.ebe-welcome-features strong{font-size:17px}.ebe-welcome-tagline{margin-top:24px;font-size:19px}.ebe-welcome-footer{flex-direction:column;align-items:flex-start;gap:12px;max-width:560px}.ebe-welcome-footer nav{gap:10px 18px}}
@media(prefers-reduced-motion:reduce){.ebe-welcome{scroll-behavior:auto}}
.shortlist-review-center { padding: 24px; color: var(--text-primary, #edf1f7); }
.shortlist-review-center h2 { color: #e5c16b; margin: 8px 0 14px; }
.shortlist-review-center > p { line-height: 1.55; }
.shortlist-review-center [role="alert"] { padding: 12px; border-left: 3px solid #e5c16b; background: rgba(229,193,107,.09); overflow-wrap: anywhere; }
.shortlist-review-card { background: rgba(20,36,58,.7); border: 1px solid rgba(229,193,107,.25); border-radius: 12px; padding: 20px; margin: 16px 0; }
.shortlist-review-card h3 { font-size: 1rem; line-height: 1.5; overflow-wrap: anywhere; }
.shortlist-review-card p { line-height: 1.5; }
.shortlist-review-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 14px 0; }
.shortlist-review-drawer { max-width: 900px; width: min(900px, 96vw); }
@media (max-width: 600px) { .shortlist-review-center { padding: 16px; } .shortlist-review-card { padding: 14px; } }
.commercial-settings { min-width:0; }
.commercial-settings .cs-card { border:1px solid rgba(148,163,184,.25); border-radius:12px; padding:20px; margin:18px 0; }
.commercial-settings .cs-card summary { cursor:pointer; font-weight:700; padding:4px 0; }
.commercial-settings p { line-height:1.6; }
.commercial-settings fieldset { display:grid; gap:14px; border:0; padding:16px 0; min-width:0; }
.commercial-settings label { display:grid; gap:8px; margin:12px 0; }
.commercial-settings input:not([type=checkbox]),.commercial-settings select { width:100%; max-width:600px; min-height:44px; padding:10px; border:1px solid rgba(148,163,184,.4); border-radius:8px; color:inherit; background:rgba(148,163,184,.08); }
.commercial-settings option { color:#0f172a; background:#e2e8f0; }
.commercial-settings .cs-check,.commercial-settings .cs-checks label { display:flex; align-items:center; gap:10px; }
.commercial-settings .cs-checks { display:flex; flex-wrap:wrap; gap:16px; }
.commercial-settings .cs-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:20px 0; }
.commercial-settings .cs-summary article { display:grid; gap:8px; border:1px solid rgba(148,163,184,.25); border-radius:10px; padding:18px; }
.commercial-settings .cs-summary strong { font-size:1.2rem; }
.commercial-settings .cs-summary span { font-size:.9rem; }
.commercial-settings .cs-usage { display:flex; flex-wrap:wrap; gap:20px; }
.commercial-settings .cs-notice { border:1px solid #60a5fa; padding:14px; border-radius:10px; }
.commercial-settings td small { display:block; }
.commercial-settings pre { white-space:pre-wrap; overflow-wrap:anywhere; }
.commercial-settings button { width:fit-content; margin:4px 8px 4px 0; }
.commercial-settings button:disabled { opacity:.5; cursor:not-allowed; }
.commercial-invoice { background:white; color:#0f172a; }
@media(max-width:650px){.commercial-settings .cs-summary{grid-template-columns:1fr}.commercial-settings .cs-card{padding:14px}}
@media print {
 body:has(.commercial-invoice) * { visibility:hidden; }
 body .commercial-invoice,body .commercial-invoice * { visibility:visible; }
 body .commercial-invoice { position:absolute;left:0;top:0;width:100%;border:0;margin:0;padding:20px; }
 body .commercial-invoice .cs-no-print,body .commercial-invoice .cs-no-print * { display:none; }
}


.commercial-settings .cs-package-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:16px; margin:20px 0; }
.commercial-settings .cs-package { border:1px solid rgba(212,175,55,.35); border-radius:12px; padding:18px; min-width:0; }
.commercial-settings .cs-package h4 { margin:0 0 14px; }
.commercial-settings .cs-package strong { font-size:1.25rem; }
.commercial-settings .cs-package-status { font-weight:600; color:#d4af37; }
.commercial-settings .cs-package li { margin:8px 0; }
.tc-shell:has(.bt-dashboard) { background: #bbc7d5; color: #172b4d; --text-primary: #172b4d; --text-secondary: #52627a; border-radius: 18px; }
.tc-shell:has(.bt-dashboard) .tc-header h1, .tc-shell:has(.bt-dashboard) .tc-user strong { color: #172b4d; }
.tc-shell:has(.bt-dashboard) .tc-user small, .tc-shell:has(.bt-dashboard) .tc-footer { color: #52627a; }
.tc-shell .bt-dashboard { background: #d5dde7; color: #172b4d; border: 1px solid #dce4ee; padding: 28px; border-radius: 18px; box-shadow: 0 8px 30px #1c35510a; }
.bt-dashboard .tc-register-title { margin-top: 0; }
.bt-dashboard h2 { font-size: 30px; letter-spacing: -.7px; color: #122747; }
.bt-dashboard h3, .bt-dialog h2, .bt-dialog h3, .bt-dialog h4 { color: #172b4d; }
.tc-shell .bt-dashboard p, .bt-dialog p { color: #52627a; line-height: 1.55; }
.tc-shell .bt-dashboard small, .tc-shell .bt-dialog small { color: #52627a; }
.tc-shell .bt-dashboard .bt-eyebrow { color: #856018; font-size: 11px; font-weight: 750; letter-spacing: 1.8px; margin: 0 0 8px; }
.bt-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; margin: 24px 0; }
.tc-shell .bt-dashboard .bt-metric { display: grid; gap: 8px; text-align: left; color: #172b4d; background: #dce4ed; border: 1px solid #dce4ee; border-top: 4px solid #365a82; border-radius: 12px; padding: 18px; box-shadow: none; min-height: 145px; }
.bt-metric span { font-size: 14px; font-weight: 650; }
.bt-metric strong { font-size: 34px; line-height: 1; }
.tc-shell .bt-dashboard .bt-metric small { font-size: 12px; margin: 0; }
.tc-shell .bt-dashboard .bt-metric-closingSoon { border-top-color: #c18b16; background: #e9e1ce; }
.tc-shell .bt-dashboard .bt-metric-overdue { border-top-color: #bb3345; background: #eadcde; }
.tc-shell .bt-dashboard .bt-metric-awaitingReview { border-top-color: #3e64bb; background: #dbe3ef; }
.bt-metric[aria-pressed="true"] { outline: 2px solid #365a82; outline-offset: 2px; }
.bt-filters { padding: 18px; background: #d6dfe9; border: 1px solid #e1e7f0; border-radius: 12px; }
.tc-shell .bt-dashboard label, .tc-shell .bt-dialog label { color: #243955; font-weight: 600; }
:root .tc-shell .bt-dashboard input, :root .tc-shell .bt-dashboard select, :root .tc-shell .bt-dashboard textarea, :root .tc-shell .bt-dialog input, :root .tc-shell .bt-dialog select, :root .tc-shell .bt-dialog textarea { background: #d5dde7; color: #172b4d; border: 1px solid #b9c6d8; box-shadow: none; color-scheme: light; }
.bt-dashboard input::placeholder, .bt-dialog input::placeholder, .bt-dialog textarea::placeholder { color: #667790; }
.tc-shell .bt-dashboard .secondary-button, .tc-shell .bt-dialog .secondary-button, .tc-shell:has(.bt-dashboard) > .tc-views .secondary-button { color: #243955; background: #d5dde7; border: 1px solid #bbc9dc; box-shadow: none; }
.tc-shell .bt-dashboard .primary-button, .tc-shell .bt-dialog .primary-button { color: #172536; background: #f2c14b; border: 1px solid #d6a330; box-shadow: none; }
.bt-dashboard button:hover:not(:disabled), .bt-dialog button:hover:not(:disabled) { filter: brightness(.97); }
.bt-dashboard button:disabled, .bt-dialog button:disabled { opacity: .55; cursor: not-allowed; }
.bt-list-heading { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin: 26px 0 14px; }
.bt-list-heading h3 { margin: 0; }
.bt-list-heading span { color: #52627a; font-size: 13px; }
.bt-list-heading button { margin-left: auto; }
.bt-view-toggle { display: flex; gap: 4px; margin-left: auto; }
.bt-list-heading .bt-view-toggle button { margin-left: 0; }
.bt-view-toggle button[aria-pressed="true"] { background: #e5edf8 !important; border-color: #365a82 !important; color: #183f70 !important; }
.bt-pipeline { display: flex; gap: 14px; overflow: auto; padding: 4px 2px 16px; }
.bt-pipeline-column { flex: 0 0 270px; padding: 14px; background: #d2dce7; border: 1px solid #dce4ee; border-radius: 12px; }
.bt-pipeline-column h4 { display: flex; justify-content: space-between; margin: 0 0 16px; color: #243955; }
.bt-pipeline-column h4 span { background: #dfe7f2; padding: 3px 8px; border-radius: 5px; }
.bt-pipeline-card { padding: 16px; border: 1px solid #dce4ee; border-radius: 10px; background: #d5dde7; margin-bottom: 12px; }
.bt-pipeline-card strong { color: #183f70; }
.bt-pipeline-card p { font-size: 13px; }
.bt-pipeline-card button { margin-top: 14px; width: 100%; }
.bt-pipeline-empty { font-size: 13px; text-align: center; padding: 20px 0; }
.tc-shell .bt-dashboard .bt-register { border: 1px solid #dce4ee; border-radius: 12px; background: #d5dde7; max-height: none; overflow-x: auto; overflow-y: auto; overscroll-behavior: auto; }
.tc-shell .bt-dashboard .bt-register table { min-width: 1150px; color: #243955; table-layout: fixed; }
.tc-shell .bt-dashboard th { color: #52627a; background: #d1dbe7; font-size: 11px; letter-spacing: .4px; padding: 16px 12px; border-bottom: 1px solid #dce4ee; }
.tc-shell .bt-dashboard td { color: #243955; background: #d5dde7; padding: 20px 12px; border-bottom: 1px solid #e3e9f2; font-size: 13px; overflow-wrap: anywhere; }
.tc-shell .bt-dashboard tr:hover td { background: #d8e2ed; }
.bt-register th:nth-child(1) { width: 25%; }
.bt-register th:nth-child(2) { width: 11%; }
.bt-register th:nth-child(3) { width: 17%; }
.bt-register th:nth-child(4) { width: 11%; }
.bt-register th:nth-child(5) { width: 12%; }
.bt-register th:nth-child(6) { width: 17%; }
.bt-register th:nth-child(7) { width: 7%; }
.bt-reference { display: block; color: #183f70; font-size: 14px; }
.tc-shell .bt-dashboard .bt-tender-title { color: #243955; margin: 8px 0; font-size: 13px; }
.bt-company { display: inline-block; font-size: 11px; font-weight: 600; color: #35536f; background: #edf3fa; border-radius: 5px; padding: 5px 8px; margin-top: 8px; }
.bt-badge { display: inline-block; padding: 5px 8px; border-radius: 6px; font-weight: 650; font-size: 11px; margin: 0 0 7px; max-width: 100%; }
.bt-neutral { background: #edf1f7; color: #334c6a; }
.bt-warning { background: #fff1ce; color: #765100; }
.bt-danger { background: #fee8e8; color: #a02132; }
.bt-success { background: #e3f5ec; color: #17643c; }
.bt-ready { background: #e8edff; color: #384a9a; }
.tc-shell .bt-dashboard .bt-attention { color: #805800; font-weight: 650; }
.bt-register progress { display: block; width: 100%; height: 7px; margin: 10px 0; border: 0; border-radius: 8px; accent-color: #315987; }
.bt-register progress::-webkit-progress-bar { background: #e7edf5; border-radius: 8px; }
.bt-register progress::-webkit-progress-value { background: #315987; border-radius: 8px; }
.bt-next-action summary, .bt-full-title summary { cursor: pointer; font-size: 12px; font-weight: 600; color: #294f7c; margin-top: 10px; }
.bt-next-action p, .bt-full-title p { font-size: 12px; }
.tc-shell .bt-dashboard .bt-open { white-space: nowrap; font-size: 12px; padding: 9px 10px; min-width: 0; }
.bt-empty { padding: 35px; text-align: center; background: #dce4ed; border: 1px dashed #c7d3e3; border-radius: 12px; margin-top: 16px; }
.bt-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.tc-shell .bt-dialog { background: #d5dde7; color: #172b4d; border-color: #c9d4e3; }
.bt-dialog::backdrop { background: #12274799; }
.tc-shell .bt-dialog .tc-detail, .tc-shell .bt-dialog .tc-add, .tc-shell .bt-dialog .tc-source-panel { background: #d5dde7; color: #172b4d; border-color: #dce4ee; }
.tc-shell .bt-dialog .tc-register-title { background: #d5dde7; border-bottom: 1px solid #e3e9f2; padding-bottom: 18px; }
.tc-shell .bt-dialog .tc-allocation { background: #f4f7fb; color: #172b4d; border: 1px solid #dce4ee; }
.tc-shell .bt-dialog td { color: #243955; background: #d5dde7; border-color: #dce4ee; }
.tc-shell .bt-dialog th { color: #52627a; background: #d1dbe7; border-color: #dce4ee; }
.tc-shell .bt-dialog a { color: #294f7c; }
.tc-shell .bt-dialog .tc-error, .tc-shell .bt-dashboard .tc-error { color: #a02132; background: #fff3f3; border-color: #e5aab1; }
.tc-shell .bt-dialog .tc-notice, .tc-shell .bt-dashboard .tc-notice { color: #17643c; background: #edf8f2; border-radius: 8px; }
.bt-dialog .bt-create { margin: 0; padding: 24px; }
@media (max-width: 900px) { .bt-summary { grid-template-columns: repeat(2,minmax(0,1fr)); } .tc-shell .bt-dashboard { padding: 18px; } .bt-dashboard .tc-register-title { flex-wrap: wrap; } }
@media (max-width: 500px) { .bt-summary { gap: 10px; } .tc-shell .bt-dashboard .bt-metric { padding: 14px; } .bt-metric strong { font-size: 28px; } .bt-dashboard .tc-views { width: 100%; } .bt-dialog .bt-create { padding: 16px; } }

/* Let vertical wheel and touch scrolling continue to the page across bid surfaces. */
.bt-dashboard .table-wrap, .bt-dashboard .bt-pipeline { overscroll-behavior-y: auto; }
.bt-dialog .table-wrap { overscroll-behavior-y: auto; }

:root .tc-shell .bt-dashboard .bt-inline-open { display: block; width: fit-content; margin: 12px 0; background: #294c76; color: #f5f8fc; border-color: #294c76; }
.bt-action-toolbar { display: flex; flex-wrap: wrap; align-items: end; gap: 16px; margin: 20px 0; padding: 16px; border: 1px solid #99acc3; border-radius: 10px; }
.bt-action-toolbar label { min-width: 220px; }
.bt-action-toolbar p { flex: 1; min-width: 200px; margin: 0; }
:root .tc-shell .bt-dialog .bt-remove { color: #8b2436; background: #edcfd3; border-color: #bb7784; }
.bt-remove-confirm { padding: 20px; border: 2px solid #bb7784; border-radius: 10px; margin: 16px 0; }
.bt-monthly { margin: 24px 0; padding: 20px; border: 1px solid #99acc3; border-radius: 12px; background: #cdd7e3; }
.bt-report-metrics { display: grid; grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); gap: 12px; margin: 20px 0; }
.bt-report-metrics > div { padding: 16px; border: 1px solid #99acc3; border-radius: 8px; background: #d5dde7; }
.bt-report-metrics strong { display: block; font-size: 28px; color: #172b4d; margin-top: 8px; }
.bt-report-metrics span { font-size: 13px; color: #344863; }
.bt-report-row { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px; margin: 12px 0; border: 1px solid #99acc3; border-radius: 8px; }
.bt-monthly .table-wrap { max-height: none; overflow-x: auto; }
.bt-monthly table { min-width: 900px; }
.bt-monthly caption { text-align: left; font-weight: 700; padding: 14px 0; }

/* Separate each tender into a bordered band while preserving column alignment. */
:root .tc-shell .bt-dashboard .bt-register { background: #bdc9d7; border-color: #a1b1c5; padding: 0 10px 10px; }
:root .tc-shell .bt-dashboard .bt-register table { border-collapse: separate; border-spacing: 0 12px; }
:root .tc-shell .bt-dashboard .bt-register thead th { background: #c2cede; color: #344863; border-bottom: 2px solid #8c9fb8; }
:root .tc-shell .bt-dashboard .bt-register tbody td { background: #d5dde7; border-top: 1px solid #99acc3; border-bottom: 1px solid #99acc3; padding: 20px 16px; }
:root .tc-shell .bt-dashboard .bt-register tbody tr:nth-child(even) td { background: #cdd7e3; }
:root .tc-shell .bt-dashboard .bt-register tbody td:first-child { border-left: 4px solid #365a82; border-radius: 10px 0 0 10px; }
:root .tc-shell .bt-dashboard .bt-register tbody td:last-child { border-right: 1px solid #99acc3; border-radius: 0 10px 10px 0; }
:root .tc-shell .bt-dashboard .bt-register tbody td:nth-child(3),
:root .tc-shell .bt-dashboard .bt-register tbody td:nth-child(5) { border-left: 1px solid #b1bfd0; }
:root .tc-shell .bt-dashboard .bt-register tbody tr:hover td,
:root .tc-shell .bt-dashboard .bt-register tbody tr:focus-within td { background: #c0cede; }
:root .tc-shell .bt-dashboard .bt-register td small { color: #40536e; line-height: 1.5; }
:root .tc-shell .bt-dashboard .bt-register .bt-reference { font-size: 16px; }
:root .tc-shell .bt-dashboard .bt-register .bt-company { background: #bbcadd; color: #243f60; }
:root .tc-shell .bt-dashboard .bt-register .bt-open { background: #294c76; color: #f5f8fc; border-color: #294c76; }

.bt-action-editor { padding: 8px; }
.bt-action-editor > .tc-register-title { position: sticky; top: 0; z-index: 1; }
.bt-action-editor > .tc-register-title h2 { margin: 0; font-size: 24px; }

/* Approved navy and gold reference: full-width register, no attention sidebar. */
:root .tc-shell:has(.bt-navy-dashboard) { background: #071320; color: #f0f4fa; --text-primary: #f0f4fa; --text-secondary: #b2c1d3; border: 1px solid #203448; border-radius: 10px; }
:root .tc-shell:has(.bt-navy-dashboard) .tc-header h1, :root .tc-shell:has(.bt-navy-dashboard) .tc-user strong { color: #f4f6fa; }
:root .tc-shell:has(.bt-navy-dashboard) .tc-header p, :root .tc-shell:has(.bt-navy-dashboard) .tc-user small, :root .tc-shell:has(.bt-navy-dashboard) .tc-footer { color: #b2c1d3; }
:root .tc-shell:has(.bt-navy-dashboard) > .tc-preview { background: #101f30; color: #d3deeb; border-color: #394556; }
:root .tc-shell:has(.bt-navy-dashboard) > .tc-preview strong { color: #f0c566; }
:root .tc-shell:has(.bt-navy-dashboard) > .tc-notice { color: #78d5b1; }
:root .tc-shell:has(.bt-navy-dashboard) > .tc-views { border-bottom: 1px solid #283c50; padding-bottom: 12px; }
:root .tc-shell:has(.bt-navy-dashboard) > .tc-views .secondary-button { background: transparent; color: #c9d5e3; border-color: transparent; border-radius: 4px; }
:root .tc-shell:has(.bt-navy-dashboard) > .tc-views .primary-button { color: #f0c566; background: #101f30; border: 1px solid #a47d31; box-shadow: none; }
:root .tc-shell:has(.bt-navy-dashboard) .tc-user .secondary-button, :root .tc-shell:has(.bt-navy-dashboard) > .tc-preview .secondary-button { color: #d4deec; background: #15283c; border-color: #3b536b; }
:root .tc-shell .bt-navy-dashboard { background: #071320; color: #f0f4fa; border: 0; padding: 24px 0 0; border-radius: 0; box-shadow: none; }
:root .tc-shell .bt-navy-dashboard h2, :root .tc-shell .bt-navy-dashboard h3, :root .tc-shell .bt-navy-dashboard h4 { color: #f3f6fb; }
:root .tc-shell .bt-navy-dashboard p, :root .tc-shell .bt-navy-dashboard small { color: #b2c1d3; }
:root .tc-shell .bt-navy-dashboard .bt-eyebrow { color: #e8bd61; }
:root .tc-shell .bt-navy-dashboard .tc-register-title h2 { font-size: 36px; letter-spacing: -.6px; }
:root .tc-shell .bt-navy-dashboard .secondary-button { color: #ccd8e5; background: #0c1c2d; border: 1px solid #354b61; box-shadow: none; }
:root .tc-shell .bt-navy-dashboard .primary-button { color: #0b1725; background: linear-gradient(120deg,#f8d583,#e3ac39); border: 1px solid #e0b157; box-shadow: none; }
:root .tc-shell .bt-navy-dashboard .bt-metric { background: #0b1a2a; color: #e9eff7; border: 1px solid #30475c; border-radius: 8px; min-height: 112px; box-shadow: none; padding: 18px; gap: 8px; }
:root .tc-shell .bt-navy-dashboard .bt-metric strong { color: #eef3fa; font-size: 34px; }
:root .tc-shell .bt-navy-dashboard .bt-metric-closingSoon strong { color: #f0c566; }
:root .tc-shell .bt-navy-dashboard .bt-metric-overdue strong { color: #ff7d8a; }
:root .tc-shell .bt-navy-dashboard .bt-metric-awaitingReview strong { color: #76dadb; }
:root .tc-shell .bt-navy-dashboard .bt-metric small { color: #aebed1; }
:root .tc-shell .bt-navy-dashboard .bt-metric[aria-pressed="true"] { outline: 1px solid #d2a54a; outline-offset: 2px; background: #142435; }
:root .tc-shell .bt-navy-dashboard .bt-filters { background: transparent; border: 0; border-top: 1px solid #253b50; border-bottom: 1px solid #253b50; padding: 16px 0; border-radius: 0; }
:root .tc-shell .bt-navy-dashboard label { color: #c3d0df; }
:root .tc-shell .bt-navy-dashboard input, :root .tc-shell .bt-navy-dashboard select, :root .tc-shell .bt-navy-dashboard textarea { background: #0a1a2b; color: #ecf2fb; border: 1px solid #354b61; color-scheme: dark; }
:root .tc-shell .bt-navy-dashboard input::placeholder { color: #9db0c7; }
.bt-navy-dashboard .bt-command-layout { display: block; margin-top: 20px; }
.bt-navy-dashboard .bt-command-main { width: 100%; }
:root .tc-shell .bt-navy-dashboard .bt-list-heading span { color: #aebed1; }
:root .tc-shell .bt-navy-dashboard .bt-view-toggle button[aria-pressed="true"] { background: #1c2c3b !important; color: #f4cc70 !important; border-color: #c59b46 !important; }
:root .tc-shell .bt-navy-dashboard .bt-register { background: #071320; border: 1px solid #2a4055; border-radius: 8px; padding: 0; max-height: none; overflow: auto; overscroll-behavior: auto; }
:root .tc-shell .bt-navy-dashboard .bt-register table { border-collapse: separate; border-spacing: 0; min-width: 1060px; table-layout: fixed; }
:root .tc-shell .bt-navy-dashboard .bt-register thead th { background: #0f2031; color: #b8c9dd; border-bottom: 1px solid #30485e; font-weight: 600; letter-spacing: .25px; padding: 16px 12px; font-size: 11px; }
:root .tc-shell .bt-navy-dashboard .bt-register tbody td { background: #081725; color: #e6edf6; border: 0; border-bottom: 1px solid #2a4055; padding: 18px 12px; font-size: 13px; line-height: 1.5; overflow-wrap: break-word; }
:root .tc-shell .bt-navy-dashboard .bt-register tbody tr:nth-child(even) td { background: #0b1b2b; }
:root .tc-shell .bt-navy-dashboard .bt-register tbody td:first-child { border-left: 3px solid transparent; border-radius: 0; }
:root .tc-shell .bt-navy-dashboard .bt-register tbody td:last-child { border-right: 0; border-radius: 0; }
:root .tc-shell .bt-navy-dashboard .bt-register tbody td:nth-child(3), :root .tc-shell .bt-navy-dashboard .bt-register tbody td:nth-child(5) { border-left: 1px solid #1b3045; }
:root .tc-shell .bt-navy-dashboard .bt-register tbody tr.bt-urgent-row td { background: #10202e; }
:root .tc-shell .bt-navy-dashboard .bt-register tbody tr.bt-urgent-row td:first-child { border-left-color: #e6b54c; }
:root .tc-shell .bt-navy-dashboard .bt-register tbody tr:hover td, :root .tc-shell .bt-navy-dashboard .bt-register tbody tr:focus-within td { background: #152b40; }
.bt-navy-dashboard .bt-register th:nth-child(1) { width: 25%; }
.bt-navy-dashboard .bt-register th:nth-child(2) { width: 10%; }
.bt-navy-dashboard .bt-register th:nth-child(3) { width: 17%; }
.bt-navy-dashboard .bt-register th:nth-child(4) { width: 10%; }
.bt-navy-dashboard .bt-register th:nth-child(5) { width: 11%; }
.bt-navy-dashboard .bt-register th:nth-child(6) { width: 18%; }
.bt-navy-dashboard .bt-register th:nth-child(7) { width: 9%; }
:root .tc-shell .bt-navy-dashboard .bt-register .bt-reference { color: #f3f6fa; font-size: 15px; }
:root .tc-shell .bt-navy-dashboard .bt-tender-title { color: #d0dcea; font-size: 13px; line-height: 1.5; }
:root .tc-shell .bt-navy-dashboard .bt-register td small { color: #aabed4; font-size: 11px; }
:root .tc-shell .bt-navy-dashboard .bt-register .bt-company { background: #152c41; color: #c8d9eb; font-size: 10px; padding: 4px 7px; }
:root .tc-shell .bt-navy-dashboard .bt-attention { color: #f0c566; }
:root .tc-shell .bt-navy-dashboard .bt-neutral { background: #1a3046; color: #d4e3f3; }
:root .tc-shell .bt-navy-dashboard .bt-warning { background: #3a301b; color: #f5cd76; }
:root .tc-shell .bt-navy-dashboard .bt-danger { background: #402633; color: #ffabb3; }
:root .tc-shell .bt-navy-dashboard .bt-success { background: #15392f; color: #87ddba; }
:root .tc-shell .bt-navy-dashboard .bt-ready { background: #17373f; color: #8ce1df; }
:root .tc-shell .bt-navy-dashboard .bt-register .bt-open { background: #102336; color: #f2ca6c; border: 1px solid #d4a747; width: 100%; font-size: 12px; padding: 10px 6px; white-space: nowrap; }
.bt-navy-dashboard .bt-register progress { accent-color: #efbe57; height: 7px; }
.bt-navy-dashboard .bt-register progress::-webkit-progress-bar { background: #20364b; }
.bt-navy-dashboard .bt-register progress::-webkit-progress-value { background: #efbe57; }
.bt-navy-dashboard .bt-register progress::-moz-progress-bar { background: #efbe57; }
.bt-navy-dashboard .bt-next-action summary, .bt-navy-dashboard .bt-full-title summary { color: #e5bf6c; }
:root .tc-shell .bt-navy-dashboard .bt-pipeline-column { background: #0c1e30; border-color: #30485e; }
:root .tc-shell .bt-navy-dashboard .bt-pipeline-column h4 { color: #dde8f5; }
.bt-navy-dashboard .bt-pipeline-column h4 span { background: #1d354b; }
:root .tc-shell .bt-navy-dashboard .bt-pipeline-card { background: #102538; border-color: #3a5269; }
.bt-navy-dashboard .bt-pipeline-card strong { color: #f0c566; }
:root .tc-shell .bt-navy-dashboard .bt-empty { background: #102336; border-color: #415b74; color: #d1deee; }
:root .tc-shell .bt-navy-dashboard .bt-monthly { background: #0f2336; border-color: #3a5269; }
:root .tc-shell .bt-navy-dashboard .bt-report-metrics > div { background: #152b40; border-color: #3a5269; }
:root .tc-shell .bt-navy-dashboard .bt-report-metrics strong, :root .tc-shell .bt-navy-dashboard .bt-report-metrics span { color: #dce8f6; }
:root .tc-shell .bt-navy-dashboard .bt-report-row { border-color: #3a5269; }
:root .tc-shell .bt-navy-dashboard .tc-error { color: #ffb2bb; background: #3b2230; border-color: #885364; }
:root .tc-shell .bt-navy-dashboard .tc-notice { color: #96dfbf; background: #18392f; }
@media (max-width: 700px) { :root .tc-shell .bt-navy-dashboard { padding: 16px 0 0; } :root .tc-shell .bt-navy-dashboard .tc-register-title h2 { font-size: 28px; } }

/* Shared navy system for the bid workspace, command centre and performance report. */
:root .tc-shell .bt-navy-dashboard .bt-command-centre { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; padding: 24px; margin: 28px 0 0; background: #0c1e30; color: #edf3fb; border: 1px solid #30475d; border-radius: 12px; }
.bt-command-centre > header, .bt-command-centre > .bt-review-queue, .bt-command-centre > .bt-rail-filter, .bt-command-centre > .bt-rail-empty, .bt-command-centre > .bt-rail-stale { grid-column: 1 / -1; }
:root .tc-shell .bt-navy-dashboard .bt-command-centre h3 { color: #f1f5fb; font-size: 24px; display: flex; justify-content: space-between; align-items: center; margin: 0; }
.bt-command-centre h3 > span, .bt-command-centre h4 > span { font-size: 13px; background: #243d54; border: 1px solid #45617c; padding: 5px 9px; border-radius: 6px; color: #f0c566; }
:root .tc-shell .bt-navy-dashboard .bt-rail-eyebrow { color: #edc46b; font-size: 10px; letter-spacing: 1.8px; margin: 0 0 10px; }
:root .tc-shell .bt-navy-dashboard .bt-command-centre p, :root .tc-shell .bt-navy-dashboard .bt-command-centre small { color: #bbcbdd; font-size: 12px; }
:root .tc-shell .bt-navy-dashboard .bt-attention-card, :root .tc-shell .bt-navy-dashboard .bt-review-card { display: flex; flex-direction: column; align-items: flex-start; width: 100%; text-align: left; padding: 18px; margin: 0; background: #142b40; color: #eff4fb; border: 1px solid #415c75; border-radius: 9px; font: inherit; min-width: 0; }
:root .tc-shell .bt-navy-dashboard .bt-attention-card:first-of-type { border-color: #cda34d; }
:root .tc-shell .bt-navy-dashboard .bt-attention-card:hover:not(:disabled), :root .tc-shell .bt-navy-dashboard .bt-review-card:hover:not(:disabled) { background: #1b354f; filter: none; border-color: #deb458; }
.bt-command-centre .bt-attention-card strong, .bt-command-centre .bt-review-card strong { font-size: 14px; margin: 8px 0; overflow-wrap: anywhere; }
.bt-command-centre .bt-rail-title, .bt-command-centre .bt-review-card > span:not(.bt-rail-link) { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; line-height: 1.5; font-size: 13px; color: #d4dfed; }
.bt-command-centre ul { padding-left: 18px; margin: 12px 0; color: #d3deed; font-size: 12px; line-height: 1.65; }
.bt-command-centre li { margin: 4px 0; overflow-wrap: anywhere; }
.bt-command-centre li::marker { color: #e6bd60; }
.bt-command-centre .bt-rail-link { color: #efc568; font-weight: 650; font-size: 12px; margin-top: auto; padding-top: 12px; }
.bt-command-centre .bt-review-queue { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; border-top: 1px solid #3b546d; margin-top: 6px; padding-top: 20px; }
.bt-command-centre .bt-review-queue h4, .bt-command-centre .bt-review-queue > p, .bt-command-centre .bt-review-queue > .bt-rail-filter { grid-column: 1 / -1; margin: 0; }
.bt-command-centre .bt-review-queue h4 { display: flex; gap: 12px; align-items: center; font-size: 18px; }
:root .tc-shell .bt-navy-dashboard .bt-rail-filter { text-align: left; font: inherit; font-size: 13px; font-weight: 650; background: #152c41; color: #efc568; border: 1px solid #53634e; border-radius: 6px; padding: 12px 14px; }
:root .tc-shell .bt-navy-dashboard .bt-rail-stale { color: #ffd18b; background: #3b2b24; padding: 12px; border-radius: 6px; }
:root .tc-shell .bt-navy-dashboard .bt-monthly { background: #0d2134; color: #edf3fb; border: 1px solid #36516b; border-radius: 12px; padding: 24px; }
:root .tc-shell .bt-navy-dashboard .bt-monthly h3 { font-size: 24px; color: #f3f6fb; margin: 0 0 12px; }
:root .tc-shell .bt-navy-dashboard .bt-monthly p { color: #c0cede; font-size: 13px; line-height: 1.6; }
:root .tc-shell .bt-navy-dashboard .bt-monthly p strong { color: #f0c566; }
.bt-navy-dashboard .bt-report-metrics { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
:root .tc-shell .bt-navy-dashboard .bt-report-metrics > div { border: 1px solid #3c5973; border-radius: 8px; background: #142b40; min-height: 105px; padding: 16px; }
:root .tc-shell .bt-navy-dashboard .bt-report-metrics span { color: #c2d1e3; font-size: 12px; }
:root .tc-shell .bt-navy-dashboard .bt-report-metrics strong { color: #f0c566; font-size: 30px; }
:root .tc-shell .bt-navy-dashboard .bt-monthly .table-wrap { border: 1px solid #3b546d; border-radius: 8px; background: #0b1b2b; max-height: none; overflow: auto; overscroll-behavior: auto; margin: 20px 0; }
:root .tc-shell .bt-navy-dashboard .bt-monthly table { border-collapse: collapse; min-width: 1000px; }
:root .tc-shell .bt-navy-dashboard .bt-monthly caption { color: #f0c566; background: #142b40; padding: 16px; font-size: 14px; text-align: left; }
:root .tc-shell .bt-navy-dashboard .bt-monthly th { color: #c7d8eb; background: #152d43; border-bottom: 1px solid #405b75; font-size: 11px; padding: 14px 12px; }
:root .tc-shell .bt-navy-dashboard .bt-monthly td { background: #0d2032; color: #e6effa; padding: 14px 12px; border-bottom: 1px solid #304a64; font-size: 13px; }
:root .tc-shell .bt-navy-dashboard .bt-monthly tbody tr:nth-child(even) td { background: #14283c; }
:root .tc-shell .bt-navy-dashboard .bt-monthly td small { color: #abc1d9; }
:root .tc-shell .bt-navy-dashboard .bt-monthly summary { color: #edc369; cursor: pointer; padding: 12px 0; font-weight: 650; font-size: 13px; }
:root .tc-shell .bt-navy-dashboard .bt-report-row { background: #152c41; border: 1px solid #415c76; color: #e8f0fb; padding: 16px; border-radius: 8px; }
:root .tc-shell .bt-navy-dashboard .bt-report-row strong { color: #f0c566; }
@media (max-width: 1000px) { :root .tc-shell .bt-navy-dashboard .bt-command-centre { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 18px; } .bt-navy-dashboard .bt-report-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 600px) { :root .tc-shell .bt-navy-dashboard .bt-command-centre { grid-template-columns: minmax(0,1fr); } .bt-command-centre .bt-review-queue { grid-template-columns: minmax(0,1fr); } :root .tc-shell .bt-navy-dashboard .bt-monthly { padding: 16px; } .bt-report-row { flex-wrap: wrap; } }

/* Bid popups use the same navy palette as the register, including nested editors. */
:root .tc-shell .bt-dialog { background: #091a2b; color: #ecf2fa; border: 1px solid #486079; color-scheme: dark; box-shadow: 0 24px 90px #0008; }
.bt-dialog::backdrop { background: #030a13c7; }
:root .tc-shell .bt-dialog .tc-detail,
:root .tc-shell .bt-dialog .tc-add,
:root .tc-shell .bt-dialog .tc-source-panel,
:root .tc-shell .bt-dialog .bt-action-editor { background: #091a2b; color: #ecf2fa; border-color: #354e68; }
:root .tc-shell .bt-dialog .tc-register-title { background: #091a2b; border-bottom-color: #354e68; }
:root .tc-shell .bt-dialog h2,
:root .tc-shell .bt-dialog h3,
:root .tc-shell .bt-dialog h4,
:root .tc-shell .bt-dialog strong { color: #edf3fc; }
:root .tc-shell .bt-dialog p,
:root .tc-shell .bt-dialog small,
:root .tc-shell .bt-dialog label,
:root .tc-shell .bt-dialog li { color: #bdcde0; }
:root .tc-shell .bt-dialog a,
:root .tc-shell .bt-dialog summary { color: #efc56a; }
:root .tc-shell .bt-dialog input,
:root .tc-shell .bt-dialog select,
:root .tc-shell .bt-dialog textarea { background: #10273c; color: #edf3fb; border: 1px solid #49647f; color-scheme: dark; }
.bt-dialog input::placeholder, .bt-dialog textarea::placeholder { color: #9fb4ce; }
:root .tc-shell .bt-dialog input::file-selector-button { background: #203c56; color: #edf3fb; border: 1px solid #57738f; border-radius: 4px; padding: 6px 10px; margin-right: 10px; }
:root .tc-shell .bt-dialog .secondary-button { background: #132c42; color: #e2ecf8; border: 1px solid #49647f; box-shadow: none; }
:root .tc-shell .bt-dialog .primary-button { background: #efc15d; color: #091624; border: 1px solid #d6a447; box-shadow: none; }
:root .tc-shell .bt-dialog .tc-allocation,
:root .tc-shell .bt-dialog .bt-action-toolbar { background: #142c42; color: #e4edf9; border: 1px solid #405b75; }
:root .tc-shell .bt-dialog .bt-remove-confirm { background: #2d2030; border-color: #a66478; }
:root .tc-shell .bt-dialog .bt-remove { background: #462b3a; color: #ffc1cb; border-color: #a66478; }
:root .tc-shell .bt-dialog .tc-error { background: #3c2331; color: #ffbcc5; border-color: #995e73; }
:root .tc-shell .bt-dialog .tc-notice { background: #15392e; color: #9fe4c3; border: 1px solid #386c57; padding: 12px; }
:root .tc-shell .bt-dialog .table-wrap { background: #0d2032; border: 1px solid #3a556f; overscroll-behavior-y: auto; }
:root .tc-shell .bt-dialog th { background: #173149; color: #cbdbee; border-color: #405b75; }
:root .tc-shell .bt-dialog td { background: #10273c; color: #e4edf9; border-color: #354e68; }
:root .tc-shell .bt-dialog tbody tr:nth-child(even) td { background: #142d44; }
:root .tc-shell .bt-dialog blockquote { background: #132c42; border-left: 3px solid #d0a44b; color: #d2e0f0; padding: 12px 16px; }
:root .tc-shell .bt-dialog .bt-warning { background: #40331d; color: #f6d589; }
:root .tc-shell .bt-dialog .bt-danger { background: #422635; color: #ffb4c0; }
:root .tc-shell .bt-dialog .bt-success { background: #173c31; color: #99e3bf; }
:root .tc-shell .bt-dialog .bt-neutral { background: #203a52; color: #d4e2f3; }


/* Central tender monitor follows the Bid Tracker navy palette. */
:root .tc-shell .bt-navy-dashboard .bt-change-monitor .table-wrap { background: #0b1b2b; border: 1px solid #3b546d; border-radius: 10px; overflow: auto; }
:root .tc-shell .bt-navy-dashboard .bt-change-monitor table { min-width: 960px; width: 100%; border-collapse: collapse; }
:root .tc-shell .bt-navy-dashboard .bt-change-monitor th { background: #152d43; color: #c7d8eb; border-bottom: 1px solid #405b75; padding: 16px; }
:root .tc-shell .bt-navy-dashboard .bt-change-monitor td { background: #0d2032; color: #e6effa; border-bottom: 1px solid #304a64; padding: 18px 16px; vertical-align: top; overflow-wrap: anywhere; }
:root .tc-shell .bt-navy-dashboard .bt-change-monitor tbody tr:nth-child(even) td { background: #14283c; }
:root .tc-shell .bt-navy-dashboard .bt-change-monitor tbody tr:hover td { background: #1b354e; }
:root .tc-shell .bt-navy-dashboard .bt-change-monitor td strong { color: #f0c566; }
:root .tc-shell .bt-navy-dashboard .bt-change-monitor td p { color: #d5e2f1; margin: 8px 0; }
:root .tc-shell .bt-navy-dashboard .bt-change-monitor td small { display: block; color: #abc1d9; margin-top: 8px; line-height: 1.5; }
:root .tc-shell .bt-navy-dashboard .bt-change-monitor td:last-child { min-width: 150px; }
:root .tc-shell .bt-navy-dashboard .bt-change-monitor td button { white-space: nowrap; word-break: normal; }
:root .tc-shell .bt-navy-dashboard .bt-change-monitor summary { color: #edc369; cursor: pointer; padding: 12px 0; }


/* Action workspace: navy cards with a dedicated priorities rail. */
:root .tc-shell .bt-navy-dashboard .bt-command-layout { display:grid; grid-template-columns:minmax(0,1fr) 280px; align-items:start; gap:20px; }
.bt-command-main { min-width:0; }
:root .tc-shell .bt-navy-dashboard .bt-filters { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
.bt-status-tabs { display:flex; flex-wrap:wrap; gap:0; margin:18px 0; }
:root .tc-shell .bt-navy-dashboard .bt-status-tabs button[aria-pressed="true"] { color:#f5cd76; border-color:#d5a83e; background:#172b3d; }
.bt-bid-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
:root .tc-shell .bt-navy-dashboard .bt-bid-card { min-width:0; padding:20px; border:1px solid #29465f; border-top:2px solid #e4b546; border-radius:10px; background:linear-gradient(120deg,#0d253b,#0a1c2e); display:flex; flex-direction:column; gap:14px; }
.bt-bid-card header { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; }
:root .tc-shell .bt-navy-dashboard .bt-bid-card h3 { margin:0; font-size:19px; overflow-wrap:anywhere; }
:root .tc-shell .bt-navy-dashboard .bt-card-title { color:#d4e1ef; font-size:14px; line-height:1.5; margin:0; overflow-wrap:anywhere; }
.bt-card-details { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:12px; margin-top:auto; }
.bt-card-details>div,.bt-card-progress,.bt-bid-card footer>div { display:flex; flex-direction:column; align-items:flex-start; gap:7px; min-width:0; }
.bt-card-details strong { font-size:13px; overflow-wrap:anywhere; }
.bt-card-progress { border-top:1px solid #28465f; padding-top:14px; }
.bt-card-progress strong { font-size:13px; }
.bt-card-progress progress { width:100%; height:8px; accent-color:#efbf51; border:0; border-radius:8px; overflow:hidden; }
.bt-card-progress progress::-webkit-progress-bar { background:#1a3850; }
.bt-card-progress progress::-webkit-progress-value { background:#efbf51; border-radius:8px; }
.bt-card-progress progress::-moz-progress-bar { background:#efbf51; }
.bt-bid-card footer { display:grid; grid-template-columns:90px minmax(0,1fr) auto; gap:12px; align-items:center; border-top:1px solid #28465f; padding-top:14px; }
.bt-bid-card footer strong { font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
:root .tc-shell .bt-navy-dashboard .bt-bid-card .bt-open { color:#f4ca66; border-color:#d4a747; white-space:nowrap; padding:10px; }
:root .tc-shell .bt-navy-dashboard .bt-priorities { border:1px solid #29465f; background:#081b2d; border-radius:10px; padding:18px; display:flex; flex-direction:column; gap:14px; min-width:0; }
.bt-priorities h3 { font-size:17px; margin:0 0 10px; display:flex; align-items:center; justify-content:space-between; gap:8px; }
.bt-priorities h3>span { background:#efbf51; color:#091624; border-radius:20px; padding:5px 9px; font-size:12px; }
:root .tc-shell .bt-navy-dashboard .bt-priority-item,:root .tc-shell .bt-navy-dashboard .bt-deadline-item { font:inherit; text-align:left; border:1px solid #203b52; border-radius:8px; padding:14px; background:#10283d; color:#edf3fb; display:flex; flex-direction:column; gap:8px; cursor:pointer; width:100%; min-width:0; }
.bt-priority-item strong { font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
.bt-priority-item>span { font-size:12px; }
.bt-priorities small { font-size:11px; line-height:1.5; overflow-wrap:anywhere; }
:root .tc-shell .bt-navy-dashboard .bt-priority-item:hover,:root .tc-shell .bt-navy-dashboard .bt-deadline-item:hover { background:#18364e; border-color:#bc9345; }
.bt-upcoming { border-top:1px solid #29465f; padding-top:20px; margin-top:4px; }
:root .tc-shell .bt-navy-dashboard .bt-deadline-item { flex-direction:row; align-items:flex-start; margin-top:10px; padding:12px 0; border:0; border-bottom:1px solid #29465f; border-radius:0; background:transparent; }
.bt-deadline-item>span:last-child { display:flex; flex-direction:column; gap:6px; min-width:0; }
.bt-deadline-item strong { font-size:12px; overflow-wrap:anywhere; }
.bt-deadline-item small { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.bt-deadline-item .bt-attention { font-size:11px; }
.bt-date-tile { background:#132f48; border-radius:7px; padding:10px 6px; min-width:48px; font-size:13px; font-weight:700; text-align:center; }
:root .tc-shell .bt-navy-dashboard :is(.bt-priority-item,.bt-deadline-item,.bt-status-tabs button,.bt-bid-card button):focus-visible { outline:2px solid #f4ca66; outline-offset:3px; }
@media(min-width:1600px) { :root .tc-shell .bt-navy-dashboard .bt-command-layout { grid-template-columns:minmax(0,1fr) 300px; } }
@media(max-width:1250px) { .bt-bid-cards { grid-template-columns:minmax(0,1fr); } :root .tc-shell .bt-navy-dashboard .bt-filters { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:900px) { :root .tc-shell .bt-navy-dashboard .bt-command-layout { grid-template-columns:minmax(0,1fr); } :root .tc-shell .bt-navy-dashboard .bt-priorities { position:static; } }
@media(max-width:600px) { :root .tc-shell .bt-navy-dashboard .bt-filters { grid-template-columns:minmax(0,1fr); } .bt-card-details { grid-template-columns:repeat(2,minmax(0,1fr)); } .bt-bid-card footer { grid-template-columns:80px minmax(0,1fr); } .bt-bid-card footer button { grid-column:1/-1; } }

/* Completion colour follows the actual percentage: red → amber → vivid green. */
.bt-navy-dashboard .bt-action-progress {
 width:100%; height:9px; overflow:hidden; border-radius:999px;
 background:#1a3850; margin:4px 0; flex-shrink:0;
}
.bt-navy-dashboard .bt-action-progress > span {
 display:block; height:100%; min-width:4px; border-radius:inherit;
 background:linear-gradient(90deg,hsl(var(--progress-start-hue) 88% 48%),hsl(var(--progress-hue) 95% 55%));
 box-shadow:0 0 7px hsl(var(--progress-hue) 90% 52% / .28);
 transition:width .35s ease,background .35s ease;
}
@media(prefers-reduced-motion:reduce) {
 .bt-navy-dashboard .bt-action-progress > span { transition:none; }
}
.tc-shell { max-width: 1600px; margin: auto; padding: 32px; color: var(--text-primary, #e9edf5); }
.tc-header, .tc-register-title { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; }
.tc-header h1 { margin: 4px 0 12px; font-size: clamp(28px, 3vw, 42px); }
.tc-user { display: grid; gap: 8px; text-align: right; }
.tc-preview { padding: 16px 20px; background: #322918; border: 1px solid #8c7237; color: #f8e4b7; border-radius: 12px; margin: 24px 0; line-height: 1.6; }
.tc-preview strong { display: block; }
.tc-views { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.tc-filters, .tc-form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 14px; align-items: end; }
.tc-shell label { display: grid; gap: 8px; font-size: 13px; }
.tc-shell input, .tc-shell select, .tc-shell textarea { width: 100%; box-sizing: border-box; border: 1px solid #47536b; background: #121c2c; color: #f0f3f8; padding: 11px; border-radius: 8px; min-height: 44px; }
.tc-shell textarea { min-height: 90px; }
.tc-register-title { margin: 28px 0 16px; align-items: center; }
.tc-register-title h2 { margin: 0; }
.tc-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
.tc-layout:has(.tc-detail) { grid-template-columns: minmax(0, 1.25fr) minmax(340px, 1fr); }
.tc-register, .tc-detail, .tc-add { background: #121a28; border: 1px solid #344057; border-radius: 14px; padding: 20px; }
.tc-shell small { display: block; color: #aebbd0; margin-top: 6px; line-height: 1.5; }
.tc-shell table { width: 100%; border-collapse: collapse; text-align: left; }
.tc-shell th, .tc-shell td { padding: 14px 8px; border-bottom: 1px solid #344057; vertical-align: top; }
.tc-shell td p { margin: 6px 0; }
.tc-shell th { color: #b4c1d7; font-size: 12px; }
.tc-detail form { display: grid; gap: 14px; }
.tc-detail h3 { margin-top: 26px; }
.tc-company-options { display: grid; gap: 12px; }
.tc-company-options label { display: flex; gap: 12px; align-items: flex-start; padding: 10px; border: 1px solid #344057; border-radius: 8px; }
.tc-company-options input { width: 18px; min-height: 18px; flex-shrink: 0; margin-top: 3px; }
.tc-allocation { padding: 16px; margin: 12px 0; background: #1c293b; border-radius: 10px; }
.tc-allocation .pill { margin: 8px 0; display: inline-block; }
.tc-allocation label { margin-top: 16px; }
.tc-error { padding: 16px; border: 1px solid #ba5969; border-radius: 8px; color: #ffd1d1; }
.tc-notice { padding: 12px; color: #a4e9c6; }
.tc-footer { margin: 28px 0; color: #aebbd0; }
.tc-add { margin-bottom: 24px; }
.tc-add button { margin-top: 18px; }
.tc-empty { padding: 24px; }
.tc-shell button:focus-visible, .tc-shell input:focus-visible, .tc-shell select:focus-visible, .tc-shell textarea:focus-visible { outline: 3px solid #f4c95d; outline-offset: 3px; }
@media (max-width: 1050px) { .tc-layout:has(.tc-detail) { grid-template-columns: 1fr; } }
@media (max-width: 650px) { .tc-shell { padding: 16px; } .tc-header { flex-direction: column; } .tc-user { text-align: left; } .tc-register { padding: 10px; } }

.tc-source-panel { margin: 24px 0; padding: 20px; border: 1px solid #344057; border-radius: 14px; background: #121a28; }
.tc-source-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.tc-source-grid article { border: 1px solid #344057; border-radius: 10px; padding: 16px; }
.tc-source-grid .pill { display: block; width: fit-content; margin-top: 10px; }
.tc-shell a { color: #f4c95d; overflow-wrap: anywhere; }

.tc-shortlist-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 16px; margin: 20px 0; }
.tc-shortlist-grid article { min-width: 0; overflow-wrap: anywhere; }
.tc-shortlist-grid button { margin-top: 16px; }
.tc-shortlist-grid details { margin: 12px 0; }

.tc-review-dialog { width: min(900px, calc(100vw - 32px)); max-width: none; max-height: calc(100dvh - 32px); padding: 0; border: 1px solid #47536b; border-radius: 14px; background: #121a28; color: #e9edf5; overflow: auto; }
.tc-review-dialog::backdrop { background: rgba(0, 0, 0, .75); }
.tc-review-dialog .tc-detail { border: 0; border-radius: 0; }
.tc-review-dialog .tc-register-title { position: sticky; top: -20px; z-index: 1; margin-top: 0; padding: 16px 0; background: #121a28; }
.tc-review-dialog .tc-register-title h2 { overflow-wrap: anywhere; min-width: 0; }
.tc-review-dialog .tc-register-title button { flex-shrink: 0; }
@media (max-width: 650px) { .tc-review-dialog { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); } .tc-review-dialog .tc-detail { padding: 12px; } .tc-review-dialog .tc-register-title { top: -12px; gap: 8px; } }

.bt-check { display: flex !important; align-items: center; gap: 10px; }
.bt-check input { width: 20px; min-height: 20px; }

/* Compliance uses its own selectors so the shortlist retains its current design. */
:root .tc-shell .tc-compliance { background: #162235; color: #edf2f9; border-color: #52647c; }
:root .tc-shell .tc-compliance h2,
:root .tc-shell .tc-compliance h3,
:root .tc-shell .tc-compliance p,
:root .tc-shell .tc-compliance label,
:root .tc-shell .tc-compliance td { color: #edf2f9; }
:root .tc-shell .tc-compliance strong { color: #ffe09a; }
:root .tc-shell .tc-compliance small { color: #c1cee0; }
:root .tc-shell .tc-compliance .table-wrap { max-height: none; overflow-x: auto; overflow-y: visible; overscroll-behavior: auto; }
:root .tc-shell .tc-compliance table { min-width: 850px; }
:root .tc-shell .tc-compliance th { background: #0e1828; color: #c5d3e6; padding: 16px 14px; }
:root .tc-shell .tc-compliance td { background: #162235; padding: 20px 14px; border-color: #52647c; line-height: 1.55; }
:root .tc-shell .tc-compliance tbody tr:nth-child(even) td { background: #1d2c42; }
:root .tc-shell .tc-compliance tbody tr:hover td,
:root .tc-shell .tc-compliance tbody tr:focus-within td { background: #283c56; }
:root .tc-shell .tc-compliance .secondary-button { background: #263a53; color: #f5f7fb; border: 1px solid #7286a2; margin: 4px 0; }
:root .tc-shell .tc-compliance .pill { display: inline-block; max-width: 100%; padding: 7px 10px; border-radius: 8px; background: #25384f; color: #e7edf7; }
:root .tc-shell .tc-compliance .tc-error { background: #422837; color: #ffd1d1; }

/* Readable opportunity rows, shared by the unallocated and allocated filters. */
:root .tc-shell .tc-register { background: #162235; border-color: #52647c; }
:root .tc-shell .tc-register .table-wrap { max-height: none; overflow-x: auto; overflow-y: visible; overscroll-behavior: auto; }
:root .tc-shell .tc-register table { min-width: 780px; color: #edf2f9; }
:root .tc-shell .tc-register th { background: #0e1828; color: #c5d3e6; padding: 16px 14px; letter-spacing: .5px; border-color: #52647c; }
:root .tc-shell .tc-register td { background: #162235; color: #edf2f9; padding: 20px 14px; border-bottom: 1px solid #52647c; line-height: 1.55; }
:root .tc-shell .tc-register tbody tr:nth-child(even) td { background: #1d2c42; }
:root .tc-shell .tc-register tbody tr:hover td,
:root .tc-shell .tc-register tbody tr:focus-within td { background: #283c56; }
:root .tc-shell .tc-register td strong { color: #ffe09a; font-size: 15px; }
:root .tc-shell .tc-register td p { color: #edf2f9; margin: 8px 0; }
:root .tc-shell .tc-register td small { color: #c1cee0; font-size: 12px; }
:root .tc-shell .tc-register th:nth-child(3),
:root .tc-shell .tc-register td:nth-child(3) { min-width: 110px; white-space: nowrap; }
:root .tc-shell .tc-register td:nth-child(4) { text-align: center; font-weight: 700; }
:root .tc-shell .tc-register .secondary-button { color: #f5f7fb; background: #263a53; border: 1px solid #7286a2; }
.director-dashboard{display:grid;gap:24px;color:var(--text-primary,#f4f5f7)}.dd-heading,.dd-controls{display:flex;align-items:center;justify-content:space-between;gap:16px}.dd-heading h1{margin:6px 0;font-size:30px}.dd-controls label{display:grid;gap:6px}.dd-controls select{padding:10px;border:1px solid #756234;border-radius:8px;background:var(--panel-bg,#121925);color:inherit}.dd-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.dd-metric,.dd-panel{background:var(--panel-bg,#121925);border:1px solid #5d5031;border-radius:14px;padding:22px;color:inherit}.dd-metric{text-align:left;display:grid;gap:12px;cursor:pointer;font:inherit}.dd-metric strong{font-size:28px;color:#edc65d}.dd-metric small,.dd-muted{color:var(--text-secondary,#b3bdcc);line-height:1.6}.dd-metric:disabled{cursor:default;opacity:.7}.dd-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:24px;align-items:start}.dd-main{display:grid;gap:20px}.dd-panel h3{margin:0 0 16px}.dd-row{display:grid;grid-template-columns:1fr auto;gap:6px 12px;width:100%;padding:15px 0;text-align:left;background:none;border:0;border-bottom:1px solid #57617455;color:inherit;font:inherit;cursor:pointer}.dd-row span:first-of-type{grid-row:2;color:var(--text-secondary,#b3bdcc);font-size:14px;overflow-wrap:anywhere}.dd-row span:last-child{grid-column:2;grid-row:1/3;align-self:center;color:#edc65d}.dd-row:hover strong{color:#edc65d}.dd-row:focus-visible,.dd-metric:focus-visible{outline:2px solid #edc65d;outline-offset:4px}.dd-priorities{border-top:3px solid #edc65d}.app-shell:has(.director-dashboard) .company-hero{display:none}.app-shell:has(.director-dashboard) .topbar{min-height:0}.dd-panel p[role=alert]{color:#ffb5b5;overflow-wrap:anywhere}@media(max-width:1100px){.dd-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dd-layout{grid-template-columns:1fr}.dd-priorities{grid-row:1}}@media(max-width:600px){.dd-heading{align-items:flex-start;flex-direction:column}.dd-metrics{grid-template-columns:1fr}.dd-metric strong{font-size:24px}.dd-panel{padding:16px}}.dt-tabs { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:20px; }.dt-tabs [aria-pressed=true] { outline:2px solid #60a5fa; outline-offset:2px; }
.company-profile-settings .dt-check { display:flex; align-items:center; gap:10px; }.company-profile-settings .dt-check input { width:20px; min-height:20px; }
.document-template-editor .dt-paper { background:white; color:#182433; padding:28px; border-radius:4px; max-width:800px; margin:24px auto 0; overflow-wrap:anywhere; font:14px Arial,sans-serif; }
.document-template-editor .dt-watermark { font-size:10px; letter-spacing:1px; color:#8a3415; margin-bottom:20px; }
.document-template-editor .dt-paper header { display:flex; gap:22px; border-bottom:4px solid var(--dt-accent); padding-bottom:18px; }
.document-template-editor .dt-paper img { max-width:130px; max-height:85px; object-fit:contain; }
.document-template-editor .dt-paper h3 { color:var(--dt-primary); font-size:21px; margin:0; }
.document-template-editor .dt-paper p { white-space:pre-line; margin:5px 0; line-height:1.5; color:#334155; }
.document-template-editor .dt-heading,.document-template-editor .dt-parties { display:flex; justify-content:space-between; gap:24px; margin:20px 0; }
.document-template-editor .dt-parties section { flex:1; }.document-template-editor .dt-paper h2 { color:var(--dt-primary); font-size:25px; margin:0; }
.document-template-editor .dt-paper table { width:100%; border-collapse:collapse; margin-top:20px; }
.document-template-editor .dt-paper th,.document-template-editor .dt-paper td { text-align:left; padding:10px; border-bottom:1px solid #cbd5e1; background:white; color:#182433; }
.document-template-editor .dt-paper th { color:var(--dt-primary); background:#edf2f7; }
.document-template-editor .dt-paper th:not(:first-child),.document-template-editor .dt-paper td:not(:first-child) { text-align:right; }
.document-template-editor .dt-totals { margin:20px 0 24px auto; max-width:260px; }.document-template-editor .dt-totals p,.document-template-editor .dt-totals strong { display:flex; justify-content:space-between; gap:20px; }
.document-template-editor .dt-terms { margin:16px 0; }.document-template-editor .dt-signature { margin:35px 0 25px; }.document-template-editor .dt-signature span { margin-left:15px; }
.document-template-editor .dt-paper footer { border-top:3px solid var(--dt-accent); padding-top:12px; margin-top:25px; font-size:10px; white-space:pre-line; color:#334155; }
.document-template-editor .dt-compact header { padding-bottom:10px; }.document-template-editor .dt-compact .dt-heading,.document-template-editor .dt-compact .dt-parties { margin:12px 0; }.document-template-editor .dt-compact th,.document-template-editor .dt-compact td { padding:7px; }
@media(max-width:600px){.document-template-editor .dt-paper{padding:14px;font-size:12px}.document-template-editor .dt-paper header,.document-template-editor .dt-heading,.document-template-editor .dt-parties{flex-wrap:wrap}.document-template-editor .dt-paper th,.document-template-editor .dt-paper td{padding:6px}.document-template-editor .dt-paper h2{font-size:21px}}

.document-template-editor .dt-letterhead{display:grid;grid-template-columns:60% 40%;column-gap:0}.document-template-editor .dt-letterhead>*{grid-column:1/-1}.document-template-editor .dt-letterhead header{grid-column:2;grid-row:2/4;display:flex;flex-direction:column;align-items:flex-end;border:0;padding:0 0 10px 15px}.document-template-editor .dt-letterhead header img{max-width:150px;margin-bottom:14px}.document-template-editor .dt-letterhead header h3{font-size:15px}.document-template-editor .dt-letterhead .dt-heading{grid-column:1;grid-row:2;display:block;margin:0 15px 10px 0}.document-template-editor .dt-letterhead .dt-parties{grid-column:1;grid-row:3;display:block;margin:0 15px 0 0}.document-template-editor .dt-letterhead .dt-parties section{margin-bottom:12px}.document-template-editor .dt-letterhead table{margin-top:55px}.document-template-editor .dt-letterhead th{background:white;color:#182433;border-bottom:1px solid #182433}.document-template-editor .dt-letterhead footer{border-top:1px solid #182433}.document-template-editor .dt-letterhead h2{color:#111;font-weight:400;font-size:32px}
.dt-import-review { border:1px solid var(--es-line); padding:16px; border-radius:8px; }.dt-import-review li { margin-bottom:10px; }.dt-import-review button { margin:6px 8px 6px 0; }

.document-template-editor .dt-letterhead tbody td{font-size:11px;line-height:1.4}
.qi{display:grid;gap:20px}.qi-heading,.qi-toolbar,.qi-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.qi-heading{justify-content:space-between}.qi-heading h1{margin:4px 0;font-size:30px}.qi-heading p{margin:4px 0}.qi-tabs{display:flex;gap:8px;flex-wrap:wrap}.qi-tabs button[aria-pressed=true]{background:#d6a919;color:#102238}.qi-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:12px}.qi-card{background:var(--card-bg,#142338);border:1px solid #64748b55;border-radius:14px;padding:20px}.qi-card strong.qi-value{display:block;font-size:24px;margin:12px 0}.qi-card small,.qi-muted{color:var(--text-muted,#aebdce)}.qi-scroll{overflow:auto}.qi table{width:100%;border-collapse:collapse}.qi th,.qi td{padding:13px;text-align:left;border-bottom:1px solid #64748b44;vertical-align:top}.qi th{font-size:12px;text-transform:uppercase;letter-spacing:.04em}.qi button{cursor:pointer}.qi button:disabled{cursor:wait;opacity:.5}.qi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.qi label{display:grid;gap:6px}.qi input,.qi select,.qi textarea{width:100%;padding:10px;border-radius:7px;border:1px solid #64748b88;box-sizing:border-box}.qi fieldset{border:0;padding:0;min-width:0}.qi-line{display:grid;grid-template-columns:minmax(180px,3fr) 80px 130px 90px 40px;gap:8px;align-items:end;margin:12px 0}.qi-modal-backdrop{position:fixed;inset:0;background:#000a;z-index:1000;display:grid;place-items:center;padding:20px}.qi-modal{background:var(--panel-bg,#102238);color:var(--text-primary,#eff4fa);border:1px solid #64748b;border-radius:16px;width:min(1050px,100%);max-height:90vh;overflow:auto;padding:24px;box-sizing:border-box}.qi-modal form{display:grid;gap:18px}.qi-error{background:#7f1d1d;color:#fff;padding:14px;border-radius:8px}.qi-badge{display:inline-block;padding:5px 9px;border:1px solid #64748b88;border-radius:20px;font-size:12px}.qi-badge.overdue{color:#fca5a5;border-color:#ef4444}.qi-badge.settled{color:#86efac}.qi-paper{background:white;padding:24px;overflow:auto}.qi-empty{padding:36px;text-align:center}.qi .dt-paper{min-width:620px}@media(max-width:650px){.qi-line{grid-template-columns:1fr 1fr}.qi-line label:first-child{grid-column:1/-1}.qi-modal-backdrop{padding:6px}.qi-modal{padding:16px}.qi-heading h1{font-size:24px}}

/* Scope application colours to registers, never to the white document preview. */
.qi-card{color:#edf2f9;background:#17273d}.qi-card h2,.qi-card h3{color:#f6f8fc}.qi-card>p,.qi-card td,.qi-card td strong{color:#e5edf7}.qi-card small,.qi-card .qi-muted{color:#afc2da}
.qi-card th{background:#0e192a;color:#f5ca5b;font-size:11px;font-weight:700}.qi-card td{font-size:14px;line-height:1.6}.qi-card tbody tr:hover{background:#21354f}.qi-card .qi-scroll{border-radius:10px;border:1px solid #405674;margin-top:16px}.qi-card th,.qi-card td{border-color:#344a66}
.qi button:not(.primary-button):not(.secondary-button){border:1px solid #4a6281;background:#21354f;color:#f1f5fb;border-radius:8px;padding:8px 12px;font-family:inherit;font-size:12px;font-weight:600;line-height:1.3;min-height:34px}.qi button:not(.primary-button):not(.secondary-button):hover{background:#304d70;border-color:#c69d30}.qi .qi-actions{gap:8px}.qi-card td:last-child{min-width:210px}.qi .qi-badge{color:#dbeafe;border-color:#6683a7;background:#243d5e;text-transform:capitalize;white-space:nowrap}.qi .qi-badge.draft{background:#5c481c;color:#ffdf82;border-color:#a47e26}.qi .qi-badge.issued,.qi .qi-badge.accepted,.qi .qi-badge.settled{background:#174d3a;color:#b7f5d8;border-color:#388a69}
.qi-card input,.qi-card select,.qi-modal input,.qi-modal select,.qi-modal textarea{color:#eef4fc;background:#0c192b;border:1px solid #516987;min-height:42px}.qi input:focus,.qi select:focus,.qi textarea:focus{outline:2px solid #e7bb42;outline-offset:2px}.qi input[readonly]{color:#c1cee0;background:#1d2e44}.qi-modal label{margin-bottom:14px;color:#e9f1fa;font-size:13px}.qi-modal h2{color:#f5f8fc}.qi-modal fieldset>.qi-grid{margin-top:16px}.qi-modal form{gap:14px}.qi-modal .qi-line{background:#172b45;padding:14px;border:1px solid #3d5574;border-radius:10px}.qi-line label{margin:0}.qi-line{grid-template-columns:minmax(220px,3fr) 75px 120px 85px 40px}.qi-line label:first-child input{font-size:14px}.qi-search{max-width:480px;margin:18px 0}.qi-address{white-space:pre-line}.qi-toolbar>label{min-width:280px}.qi-modal .qi-heading{position:sticky;top:-24px;background:#102238;padding:12px 0;z-index:1}.qi-paper{color:#182433}.qi-paper .dt-paper{min-width:0}.qi-paper p,.qi-paper h2,.qi-paper h3{color:#182433}
.qi-card .qi-paper th,.qi-card .qi-paper td,.qi-card .qi-paper td strong{color:#182433;background:white}.qi-card .qi-paper td:last-child{min-width:0}
.qi-statement-workspace{display:grid;gap:20px}.qi-statement-filters{margin-top:20px;grid-template-columns:minmax(260px,2fr) 1fr 1fr;align-items:end}.qi-statement-preview{background:#203047;border:1px solid #405674;border-radius:14px;padding:24px;overflow:auto}.qi-statement-preview .dt-paper{margin:0 auto;background:#fff;padding:32px;box-shadow:0 8px 30px #0004;min-height:780px;max-width:900px}.qi .dt-statement-table{table-layout:fixed}.qi .dt-statement-table th:first-child{width:15%}.qi .dt-statement-table th:nth-child(2){width:31%;text-align:left}.qi .dt-statement-table th:nth-child(n+3){width:18%;text-align:right}.qi .dt-statement-table td:nth-child(2){text-align:left;overflow-wrap:anywhere}.qi .dt-statement-table td:nth-child(n+3){white-space:nowrap;text-align:right}.qi .dt-statement-table small{color:#64748b}.qi-statement-preview .dt-heading h2{font-size:26px}@media(max-width:800px){.qi-statement-filters{grid-template-columns:1fr}.qi-statement-preview{padding:10px}.qi-statement-preview .dt-paper{min-width:620px}}


.qi-line.qi-catalogue-line{grid-template-columns:minmax(150px,1.2fr) 70px minmax(210px,2fr) 65px 110px 75px 36px}.qi-catalogue-line label:first-child input{font-size:13px}@media(max-width:950px){.qi-line.qi-catalogue-line{grid-template-columns:1fr 1fr}.qi-catalogue-line label:nth-child(3){grid-column:1/-1}}

.qi label.qi-bank-check{display:flex;align-items:center;gap:12px;padding:10px;border-bottom:1px solid #64748b44}.qi label.qi-bank-check input{width:20px;min-height:20px;flex:none}

/* Keep the active section visible above the global workspace button theme. */
.qi .qi-tabs > button[aria-pressed="true"],.qi .qi-tabs > button.is-active{background:linear-gradient(135deg,#f8d56b,#d6a919)!important;color:#102238!important;border-color:#e6b731!important;box-shadow:0 2px 10px #d6a91933;font-weight:700}
.qi .qi-tabs > button:focus-visible{outline:2px solid #f8d56b;outline-offset:3px}

.qi input[type=date],.qi input[type=month]{color-scheme:dark}.qi-date-control{display:flex;gap:8px;align-items:center}.qi-date-control input{min-width:0;flex:1}.qi-date-control button{flex:none;min-height:44px;color:#f8d56b;border-color:#d6a919}.qi-line.qi-catalogue-line{grid-template-columns:minmax(120px,1fr) 60px minmax(180px,2fr) 65px 100px 65px minmax(170px,1.4fr) 36px}@media(max-width:1150px){.qi-line.qi-catalogue-line{grid-template-columns:1fr 1fr}.qi-line.qi-catalogue-line label:nth-child(3){grid-column:1/-1}}

.qi-line.qi-engineering-line{grid-template-columns:repeat(4,minmax(0,1fr))}.qi-line.qi-engineering-line label:nth-child(3){grid-column:auto}.qi-line.qi-engineering-line label:nth-child(5),.qi-line.qi-engineering-line label:nth-child(9){grid-column:span 2}.qi-line.qi-engineering-line button{align-self:end}@media(max-width:650px){.qi-line.qi-engineering-line{grid-template-columns:1fr 1fr}.qi-line.qi-engineering-line label:nth-child(5),.qi-line.qi-engineering-line label:nth-child(9){grid-column:1/-1}}


.qi-modal label.qi-credit-confirm{display:flex;align-items:flex-start;gap:10px;padding:14px;border:1px solid #678164;border-radius:8px;background:#173329}.qi-modal .qi-credit-confirm input{width:18px;height:18px;min-height:18px;flex:0 0 18px;margin:0;accent-color:#e7bb42}.qi-credit-summary{padding:16px;background:#172b45;border:1px solid #c69d30;border-radius:8px;font-size:16px}.qi .qi-badge.fully.credited{background:#174d3a;color:#b7f5d8;border-color:#388a69}
.bank-workspace{display:grid;gap:18px;min-width:0}.bank-workspace summary{cursor:pointer;color:#e8c464;font-weight:600;padding:8px 0}.bank-lock{border-top:1px solid #42546a;padding-top:8px}.bank-rules{order:3}.bank-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:22px 0}.bank-summary>div{background:#0c192b;border:1px solid #344a66;border-radius:12px;padding:16px}.bank-summary strong{display:block;font-size:20px;margin-top:9px;font-variant-numeric:tabular-nums}.bank-summary .bank-balanced{border-color:#238369;background:#102e2b}.bank-balanced strong,.bank-money-in{color:#7be3b4}.bank-warning strong{color:#ffc47a}.bank-progress{padding:16px 0}.bank-progress>div{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.bank-progress span{color:#aebdce}.bank-progress progress{width:100%;height:9px;margin-top:14px;accent-color:#34d399;border:0;border-radius:8px;overflow:hidden}.bank-progress progress::-webkit-progress-bar{background:#27394e}.bank-progress progress::-webkit-progress-value{background:linear-gradient(90deg,#d6a919,#34d399)}.bank-filters{display:flex;gap:14px;align-items:end;flex-wrap:wrap;padding:16px 0;border-top:1px solid #344a66}.bank-filters .qi-tabs{flex:1}.bank-workspace .qi-scroll{max-height:62vh}.bank-workspace thead{position:sticky;top:0;z-index:1}.bank-workspace td{padding:10px 12px;vertical-align:middle}.bank-workspace td:first-child{width:28px}.bank-workspace input[type=checkbox]{width:17px;height:17px;min-height:17px;padding:0;accent-color:#d6a919}.bank-workspace td:nth-child(4){text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.bank-money-out{color:#f3d6d6}.bank-status{display:inline-block;border-radius:20px;padding:4px 9px;font-size:12px;border:1px solid #a87b36;color:#ffd38a;background:#382c1c}.bank-status.matched{color:#8ce7bc;border-color:#286e56;background:#12392c}.bank-status.review{color:#ffaaaa;border-color:#914848;background:#42252c}.bank-closebar{position:sticky;bottom:0;z-index:2;background:#102238;border:1px solid #536275;padding:16px;border-radius:12px;margin-top:18px;box-shadow:0 -8px 25px #0003}.bank-closebar>div{flex:1}.bank-closebar small{display:block;margin-top:6px}.bank-workspace .bank-review-panel{position:absolute;right:0;top:0;height:100%;max-height:100vh;width:min(620px,100%);border-radius:16px 0 0 16px;padding:28px}.bank-action-options{display:grid;gap:14px}.bank-action-options button{text-align:left;padding:15px}.bank-header>p{font-size:13px;color:#aebdce}@media(max-width:1000px){.bank-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:650px){.bank-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.bank-summary strong{font-size:17px}.bank-filters>label{width:100%}.bank-closebar{position:static}.bank-workspace td{font-size:13px}.bank-workspace .qi-scroll table{min-width:850px}}
.ft-workspace { min-height: 100vh; background: #101114; color: #f4f1e7; padding: 24px; }
.ft-header, .ft-controls, .ft-header > div:last-child { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.ft-header { justify-content: space-between; border-bottom: 1px solid #44413a; padding-bottom: 16px; }
.ft-header strong { color: #d6a919; letter-spacing: .1em; }
.ft-header p { margin-bottom: 0; }
.ft-controls { padding: 20px 0; }
.ft-controls label { display: flex; align-items: center; gap: 12px; }
.ft-controls button[aria-pressed="true"] { border-color: #d6a919; color: #d6a919; }
.ft-workspace .tc-shell { min-height: auto; }
@media (max-width: 640px) { .ft-workspace { padding: 12px; } .ft-controls label, .ft-controls select { width: 100%; } }
.company-profile-settings fieldset { border:0; padding:0; margin:0; min-width:0; }
.company-profile-settings .cp-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.company-profile-settings .cp-field { display:grid; gap:8px; margin:12px 0; min-width:0; }
.company-profile-settings input,.company-profile-settings textarea,.company-profile-settings select { width:100%; min-height:44px; padding:10px 12px; border:1px solid var(--es-line); border-radius:8px; background:var(--surface-color,#152033); color:inherit; font:inherit; box-sizing:border-box; }
.company-profile-settings textarea { resize:vertical; }
.company-profile-settings input[type=color] { max-width:120px; padding:5px; }
.company-profile-settings .cp-save { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:16px 0 24px; }
.company-profile-settings .cp-paper { background:#fff; color:#182433; border-radius:4px; padding:28px; max-width:760px; margin:auto; overflow-wrap:anywhere; }
.company-profile-settings .cp-paper header { display:flex; gap:20px; align-items:center; border-bottom:4px solid var(--cp-accent); padding-bottom:20px; }
.company-profile-settings .cp-paper h4 { color:var(--cp-primary); font-size:1.4rem; margin:0; }
.company-profile-settings .cp-paper img { max-width:150px; max-height:100px; object-fit:contain; }
.company-profile-settings .cp-paper p { color:#334155; margin:5px 0; white-space:pre-line; }
.company-profile-settings .cp-contact { padding:18px 0; }
.company-profile-settings .cp-sample { padding:30px 0 60px; border-top:1px solid #cbd5e1; }
.company-profile-settings .cp-sample span { display:block; font-size:.7rem; margin-top:24px; color:#64748b; }
.company-profile-settings .cp-paper footer { padding-top:16px; border-top:3px solid var(--cp-accent); white-space:pre-line; color:#334155; }
.company-profile-settings .cp-history { padding-left:22px; }.company-profile-settings .cp-history li { margin-bottom:18px; }.company-profile-settings .cp-history small { overflow-wrap:anywhere; }
@media(max-width:650px) { .company-profile-settings .cp-grid { grid-template-columns:1fr; }.company-profile-settings .cp-paper { padding:16px; }.company-profile-settings .cp-paper header { flex-wrap:wrap; } }

.company-profile-settings .cp-logo-thumbnail { display:block; max-width:180px; max-height:100px; object-fit:contain; background:#fff; padding:10px; border-radius:6px; margin:12px 0; }
.ebe-settings { --es-line: rgba(148,163,184,.24); }
.ebe-settings .es-context { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; padding:18px; margin:20px 0; border:1px solid var(--es-line); border-radius:12px; }
.ebe-settings .es-context span,.ebe-settings .es-context strong { display:block; overflow-wrap:anywhere; }
.ebe-settings .es-context span { font-size:.8rem; opacity:.75; margin-bottom:5px; }
.ebe-settings .es-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:24px; align-items:start; }
.ebe-settings .es-nav { display:grid; gap:6px; position:sticky; top:20px; }
.ebe-settings .es-nav button { text-align:left; color:inherit; background:transparent; border:1px solid transparent; padding:14px; border-radius:10px; cursor:pointer; }
.ebe-settings .es-nav button:hover { background:rgba(148,163,184,.09); }
.ebe-settings .es-nav button[aria-current="page"] { background:rgba(59,130,246,.14); border-color:rgba(96,165,250,.6); }
.ebe-settings .es-nav strong,.ebe-settings .es-nav small { display:block; }
.ebe-settings .es-nav small { margin-top:5px; line-height:1.45; opacity:.75; }
.ebe-settings .es-nav button:focus-visible { outline:2px solid #60a5fa; outline-offset:2px; }
.ebe-settings .es-panel { min-width:0; }
.ebe-settings .es-heading { display:flex; justify-content:space-between; gap:16px; align-items:start; margin-bottom:20px; }
.ebe-settings .es-heading h2 { margin:4px 0 8px; }
.ebe-settings .es-heading p { margin:0 0 6px; }
.ebe-settings .es-heading .status-badge { white-space:normal; }
.ebe-settings .es-card { border:1px solid var(--es-line); border-radius:12px; padding:22px; margin-bottom:16px; background:rgba(148,163,184,.035); }
.ebe-settings .es-card h3 { margin:0 0 12px; }
.ebe-settings .es-card p { line-height:1.65; overflow-wrap:anywhere; }
.ebe-settings .es-card .status-badge { display:inline-block; margin-bottom:12px; }
.ebe-settings .es-field { display:grid; gap:8px; max-width:480px; margin:18px 0; }
.ebe-settings .es-field input,.ebe-settings .es-field select { width:100%; min-height:44px; padding:10px 12px; border-radius:8px; border:1px solid var(--es-line); color:inherit; background:rgba(148,163,184,.08); }
.ebe-settings .es-field select option { color:#0f172a; background:#e2e8f0; }
.ebe-settings .es-notice { border:1px solid rgba(52,211,153,.5); border-radius:8px; padding:12px; }
.ebe-settings .es-chips,.ebe-settings .es-counts { display:flex; flex-wrap:wrap; gap:8px; }
.ebe-settings .es-chips span,.ebe-settings .es-counts span { padding:7px 11px; border:1px solid var(--es-line); border-radius:8px; font-size:.85rem; overflow-wrap:anywhere; }
.ebe-settings button:disabled { opacity:.5; cursor:not-allowed; }
@media(max-width:900px) { .ebe-settings .es-layout { grid-template-columns:1fr; } .ebe-settings .es-nav { position:static; grid-template-columns:repeat(2,minmax(0,1fr)); } .ebe-settings .es-context { grid-template-columns:1fr; } }
@media(max-width:520px) { .ebe-settings .es-nav { grid-template-columns:1fr; } .ebe-settings .es-heading { flex-direction:column; } .ebe-settings .es-card { padding:16px; } }

.ebe-settings .es-tool-list { display:grid; gap:12px; justify-items:start; }
.ebe-settings .es-unavailable { margin:0; padding:12px 14px; border-left:3px solid var(--es-line); }
.ebe-settings .es-unavailable span { display:block; font-size:.85rem; opacity:.75; }
.ebe-settings .profile-field-grid dd { overflow-wrap:anywhere; }
:root {
  font-family:
    Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
    sans-serif;
  color: #172033;
  background: #f4f7fb;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

:root[data-theme="dark"],
:root:not([data-theme]),
:root[data-theme="system"] {
  color: #f8fbff;
  background: #090b10;
}

:root[data-theme="dark"] body,
:root:not([data-theme]) body,
:root[data-theme="system"] body {
  background:
    radial-gradient(circle at top left, rgba(214, 162, 58, 0.16), transparent 30rem),
    #090b10;
}

:root[data-theme="dark"] .main-panel,
:root:not([data-theme]) .main-panel,
:root[data-theme="system"] .main-panel {
  background: #0d1118;
}

:root[data-theme="dark"] .content-card,
:root[data-theme="dark"] .metric-card,
:root[data-theme="dark"] .module-card,
:root:not([data-theme]) .content-card,
:root:not([data-theme]) .metric-card,
:root:not([data-theme]) .module-card,
:root[data-theme="system"] .content-card,
:root[data-theme="system"] .metric-card,
:root[data-theme="system"] .module-card {
  color: #f8fbff;
  background: #121824;
  border-color: rgba(244, 201, 93, 0.18);
}

:root[data-theme="dark"] input,
:root[data-theme="dark"] select,
:root[data-theme="dark"] textarea,
:root:not([data-theme]) input,
:root:not([data-theme]) select,
:root:not([data-theme]) textarea,
:root[data-theme="system"] input,
:root[data-theme="system"] select,
:root[data-theme="system"] textarea {
  color: #f8fbff;
  background: #0b1018;
  border-color: rgba(244, 201, 93, 0.22);
}

:root[data-theme="light"] {
  color: #172033;
  background: #f4f7fb;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  overflow-x: hidden;
  background:
    radial-gradient(circle at top left, rgba(34, 113, 177, 0.12), transparent 32rem),
    #f4f7fb;
}

button,
input,
select,
textarea {
  font: inherit;
}

button {
  cursor: pointer;
}

html {
  scroll-behavior: smooth;
}

:focus-visible {
  outline: 3px solid rgba(244, 201, 93, 0.72);
  outline-offset: 3px;
}

.app-shell {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  min-height: 100vh;
}

.sidebar {
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: column;
  height: 100vh;
  min-height: 0;
  overflow: hidden;
  padding: 0;
  color: #f8fbff;
  background: linear-gradient(180deg, #172033 0%, #263750 100%);
  border-right: 1px solid rgba(255, 255, 255, 0.08);
}

.brand-lockup {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 24px 18px 18px;
}

.sidebar-scroll {
  display: grid;
  flex: 1 1 auto;
  gap: 18px;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 0 18px 18px;
  scrollbar-color: rgba(244, 201, 93, 0.5) rgba(255, 255, 255, 0.08);
  scrollbar-width: thin;
}

.sidebar-scroll::-webkit-scrollbar,
.modal-panel::-webkit-scrollbar,
.drawer-panel::-webkit-scrollbar,
.table-wrap::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

.sidebar-scroll::-webkit-scrollbar-thumb,
.modal-panel::-webkit-scrollbar-thumb,
.drawer-panel::-webkit-scrollbar-thumb,
.table-wrap::-webkit-scrollbar-thumb {
  background: rgba(244, 201, 93, 0.45);
  border-radius: 999px;
}

.brand-mark {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 8px;
  color: #172033;
  font-weight: 800;
  background: #f4c95d;
}

.brand-lockup h1,
.topbar h2,
.section-heading h3 {
  margin: 0;
}

.brand-lockup h1 {
  font-size: 1.3rem;
  letter-spacing: 0;
}

.eyebrow {
  margin: 0 0 5px;
  color: #6a7890;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sidebar .eyebrow {
  color: #9fb1ca;
}

.nav-list {
  display: grid;
  gap: 6px;
}

.sidebar-workspaces {
  display: grid;
  gap: 8px;
  padding: 12px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.workspace-nav {
  width: 100%;
  padding: 8px 10px;
  color: #f7efe0;
  text-align: left;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(244, 201, 93, 0.18);
  border-radius: 8px;
  font-size: 0.85rem;
  font-weight: 800;
}

.workspace-nav.active,
.workspace-nav:hover {
  color: #ffffff;
  background: rgba(244, 201, 93, 0.18);
}

.nav-item {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 46px;
  padding: 10px 12px;
  color: #d8e2f0;
  text-align: left;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 8px;
}

.nav-item:hover,
.nav-item.active {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.16);
}

.nav-icon {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  color: #172033;
  font-size: 0.72rem;
  font-weight: 800;
  background: #d8e2f0;
}

.nav-item.active .nav-icon {
  background: #f4c95d;
}

.sidebar-status {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 18px 18px;
  padding: 14px;
  color: #d8e2f0;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 8px;
}

.sidebar-status strong,
.sidebar-status small {
  display: block;
}

.sidebar-status small {
  margin-top: 3px;
  color: #9fb1ca;
}

.status-dot {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #4ed3a5;
}

.main-panel {
  min-width: 0;
  overflow-x: hidden;
}

.login-page {
  display: grid;
  min-height: 100vh;
  place-items: center;
  padding: 28px;
  background:
    radial-gradient(circle at top left, rgba(244, 201, 93, 0.18), transparent 30rem),
    linear-gradient(135deg, #172033, #263750);
}

.login-panel {
  display: grid;
  grid-template-columns: 1fr minmax(320px, 460px);
  gap: 32px;
  width: min(1040px, 100%);
  align-items: center;
}

.login-brand {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  color: #ffffff;
}

.login-brand h1 {
  max-width: 620px;
  margin: 0;
  font-size: clamp(2rem, 6vw, 4rem);
  line-height: 1.05;
  letter-spacing: 0;
}

.login-brand .eyebrow {
  color: #f4c95d;
}

.login-card {
  display: grid;
  gap: 18px;
  padding: 28px;
  background: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 8px;
  box-shadow: 0 26px 70px rgba(0, 0, 0, 0.22);
}

.login-card h2 {
  margin: 0;
}

.login-card p {
  margin: 0;
  color: #5f6f85;
  line-height: 1.55;
}

.login-profile {
  display: grid;
  gap: 5px;
  padding: 14px;
  background: #f8fbff;
  border: 1px solid #e6edf5;
  border-radius: 8px;
}

.login-profile span {
  color: #617087;
}

.login-screen {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: clamp(22px, 3.2vw, 36px);
  min-height: 100vh;
  padding: clamp(22px, 3vw, 48px);
  color: #f8fafc;
  overflow: hidden auto;
  background:
    linear-gradient(90deg, rgba(5, 7, 12, 0.98), rgba(5, 7, 12, 0.82) 44%, rgba(5, 7, 12, 0.94)),
    radial-gradient(circle at 76% 50%, rgba(212, 160, 23, 0.22), transparent 28rem),
    linear-gradient(135deg, transparent 0 40%, rgba(212, 160, 23, 0.06) 40% 41%, transparent 41%),
    #05070c;
}

.login-screen::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(rgba(212, 160, 23, 0.1) 1px, transparent 1px),
    linear-gradient(90deg, rgba(212, 160, 23, 0.1) 1px, transparent 1px),
    repeating-linear-gradient(115deg, transparent 0 76px, rgba(212, 160, 23, 0.09) 77px, transparent 78px);
  background-size: 42px 42px, 42px 42px, 240px 240px;
  mask-image: linear-gradient(90deg, transparent 4%, rgba(0, 0, 0, 0.4) 42%, rgba(0, 0, 0, 0.8) 100%);
}

.login-screen::after {
  content: "";
  position: absolute;
  right: -8vw;
  top: 0;
  width: 62vw;
  height: 54vh;
  pointer-events: none;
  opacity: 0.62;
  background:
    linear-gradient(90deg, transparent 6%, rgba(212, 160, 23, 0.32) 6% 6.6%, transparent 6.6%),
    linear-gradient(0deg, transparent 12%, rgba(212, 160, 23, 0.22) 12% 12.6%, transparent 12.6%),
    repeating-linear-gradient(90deg, transparent 0 42px, rgba(212, 160, 23, 0.22) 43px, transparent 44px),
    repeating-linear-gradient(0deg, transparent 0 38px, rgba(212, 160, 23, 0.16) 39px, transparent 40px);
  clip-path: polygon(24% 8%, 98% 0, 100% 76%, 78% 76%, 72% 34%, 60% 34%, 58% 92%, 34% 92%, 31% 48%, 18% 48%);
}

.login-hero,
.login-screen .login-card {
  position: relative;
  z-index: 1;
}

.login-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: clamp(20px, 3vw, 36px);
  width: min(1660px, 100%);
  margin: 0 auto;
}

.login-logo-lockup {
  display: flex;
  align-items: center;
  gap: clamp(18px, 2vw, 32px);
}

.login-ebe-mark {
  position: relative;
  display: grid;
  place-items: center;
  width: clamp(86px, 8vw, 138px);
  height: clamp(86px, 8vw, 138px);
  flex: 0 0 auto;
  color: #f4c95d;
  background:
    radial-gradient(circle at 35% 20%, rgba(255, 233, 166, 0.22), transparent 28%),
    linear-gradient(135deg, #111827, #030507);
  border: 5px solid #d4a017;
  border-radius: 999px;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.06),
    0 0 0 6px rgba(212, 160, 23, 0.08);
  filter:
    drop-shadow(0 22px 42px rgba(0, 0, 0, 0.52))
    drop-shadow(0 0 18px rgba(212, 160, 23, 0.28));
}

.login-ebe-mark::before,
.login-ebe-mark::after {
  content: "";
  position: absolute;
  width: 12px;
  height: 12px;
  background: #f4c95d;
  border-radius: 999px;
  box-shadow: 0 0 18px rgba(244, 201, 93, 0.72);
}

.login-ebe-mark::before {
  top: 6%;
  right: 18%;
}

.login-ebe-mark::after {
  bottom: 9%;
  left: 14%;
}

.login-ebe-mark span {
  font-size: clamp(1.45rem, 2.4vw, 2.7rem);
  font-weight: 950;
  letter-spacing: 0;
}

.login-logo-lockup h1 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(3rem, 5.6vw, 6rem);
  line-height: 0.9;
  letter-spacing: 0;
}

.login-logo-lockup span {
  display: block;
  margin-top: 12px;
  color: #f4c95d;
  font-size: clamp(0.95rem, 1.2vw, 1.35rem);
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.login-logo-lockup strong {
  display: block;
  margin-top: 12px;
  color: #f8fafc;
  font-size: clamp(0.82rem, 1.1vw, 1.08rem);
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.login-platform-pill {
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 320px;
  padding: 20px 24px;
  color: #f8fafc;
  background: rgba(8, 12, 18, 0.9);
  border: 1px solid rgba(212, 160, 23, 0.58);
  border-radius: 16px;
  box-shadow: 0 22px 54px rgba(0, 0, 0, 0.36);
}

.login-platform-pill strong,
.login-platform-pill small {
  display: block;
}

.login-platform-pill strong {
  color: #f4c95d;
  font-size: 0.9rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.login-platform-pill small {
  margin-top: 6px;
  color: #f8fafc;
}

.login-shield,
.login-auth-icon,
.security-main-icon,
.security-row > span {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  color: #f4c95d;
  border: 1px solid rgba(212, 160, 23, 0.42);
  background: radial-gradient(circle at 35% 20%, rgba(244, 201, 93, 0.18), rgba(5, 7, 12, 0.82));
}

.login-shield {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  font-size: 1.5rem;
}

.login-hero .eyebrow,
.login-screen .login-card .eyebrow {
  color: #d4a017;
}

.login-hero-copy {
  grid-column: 1 / -1;
  display: grid;
  gap: 12px;
  max-width: 860px;
  margin-top: clamp(12px, 2vw, 32px);
  padding-left: 28px;
  border-left: 4px solid #f4c95d;
}

.login-hero-copy h2 {
  margin: 0;
  color: #f8fafc;
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1;
  letter-spacing: 0;
}

.login-hero-copy p {
  max-width: 780px;
  margin: 0;
  color: #e2e8f0;
  font-size: clamp(1rem, 1.35vw, 1.2rem);
  line-height: 1.55;
}

.login-screen .login-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.48fr);
  gap: clamp(28px, 4vw, 54px);
  width: min(1660px, 100%);
  margin: 0 auto;
  padding: clamp(28px, 3vw, 48px);
  color: #f8fafc;
  background:
    linear-gradient(135deg, rgba(10, 14, 21, 0.97), rgba(3, 5, 9, 0.96)),
    radial-gradient(circle at 60% 0%, rgba(212, 160, 23, 0.1), transparent 34rem);
  border: 1px solid rgba(212, 160, 23, 0.58);
  border-radius: 22px;
  box-shadow:
    0 34px 110px rgba(0, 0, 0, 0.58),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.login-auth-panel {
  position: relative;
  display: grid;
  gap: 17px;
  padding-left: clamp(0px, 3vw, 120px);
}

.login-auth-icon {
  position: absolute;
  left: clamp(0px, 2vw, 28px);
  top: 10px;
  width: 74px;
  height: 74px;
  border-radius: 999px;
  box-shadow: 0 0 0 8px rgba(212, 160, 23, 0.08);
}

.login-screen .login-card h2 {
  color: #ffffff;
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1.05;
}

.login-screen .login-card h2 span {
  color: #f4c95d;
}

.login-screen .login-card label {
  display: grid;
  gap: 7px;
  color: #e5edf8;
  font-weight: 800;
}

.login-screen .login-card label span {
  color: #cbd5e1;
  font-size: 0.82rem;
}

.login-screen .login-card select,
.login-screen .login-card input[type="text"],
.login-screen .login-card input[type="email"] {
  width: 100%;
  min-height: 58px;
  color: #f8fafc;
  padding: 0 18px;
  background: rgba(0, 0, 0, 0.52);
  border: 1px solid rgba(212, 160, 23, 0.72);
  border-radius: 10px;
  outline: none;
  font-size: 1rem;
}

.login-screen .login-card select:focus-visible,
.login-screen .login-card input:focus-visible {
  border-color: rgba(244, 201, 93, 0.72);
  box-shadow: 0 0 0 4px rgba(244, 201, 93, 0.14);
}

.login-screen .access-preview {
  display: grid;
  gap: 12px;
  padding: 0;
  color: #d8e2f0;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.login-screen .access-preview strong {
  display: inline;
  color: #f4c95d;
  font-size: 1rem;
}

.login-screen .access-preview span {
  color: #cbd5e1;
  overflow-wrap: anywhere;
}

.login-screen .access-preview small {
  color: #f4c95d;
  overflow-wrap: anywhere;
}

.login-screen .access-preview p {
  color: #cbd5e1;
}

.login-screen .checkbox-row {
  display: flex;
  grid-template-columns: none;
  align-items: center;
  gap: 10px;
  color: #cbd5e1;
  font-weight: 800;
}

.login-screen .checkbox-row input {
  width: 18px;
  height: 18px;
  accent-color: #d4a017;
}

.login-screen .login-auth-panel > button {
  min-height: 58px;
  color: #05070c;
  background: linear-gradient(135deg, #ffe9a6, #d4a017 58%, #b58510);
  border: 0;
  border-radius: 10px;
  box-shadow: 0 16px 34px rgba(212, 160, 23, 0.2);
  font-weight: 900;
  font-size: 1.02rem;
}

.login-screen .login-auth-panel > button span {
  margin-right: 10px;
}

.login-screen .login-auth-panel > button:hover {
  transform: translateY(-1px);
  box-shadow: 0 20px 40px rgba(212, 160, 23, 0.28);
}

.login-screen .sso-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(10px, 2vw, 28px);
}

.login-screen .sso-row button {
  min-height: 52px;
  color: #e5edf8;
  background: rgba(0, 0, 0, 0.38);
  border: 1px solid rgba(212, 160, 23, 0.42);
  border-radius: 10px;
  font-weight: 800;
}

.login-screen .sso-row button:hover {
  color: #ffffff;
  border-color: rgba(244, 201, 93, 0.38);
  background: rgba(244, 201, 93, 0.08);
}

.sso-mark {
  margin-right: 10px;
  font-weight: 900;
}

.sso-mark.microsoft {
  color: #f4c95d;
}

.sso-mark.google {
  color: #6ea8ff;
}

.login-divider {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 18px;
  color: #f4c95d;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.login-divider::before,
.login-divider::after {
  content: "";
  height: 1px;
  background: rgba(255, 255, 255, 0.16);
}

.login-security-panel {
  display: grid;
  align-content: center;
  gap: 22px;
  padding-left: clamp(22px, 3vw, 46px);
  border-left: 1px solid rgba(255, 255, 255, 0.18);
}

.security-heading {
  display: flex;
  align-items: center;
  gap: 20px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(212, 160, 23, 0.3);
}

.security-heading h3 {
  margin: 0;
  color: #ffffff;
  font-size: 1.1rem;
}

.security-main-icon {
  width: 64px;
  height: 64px;
  border-radius: 16px;
  font-size: 1.7rem;
}

.security-row {
  display: flex;
  align-items: center;
  gap: 18px;
}

.security-row > span {
  width: 52px;
  height: 52px;
  border-radius: 999px;
  font-size: 1.15rem;
}

.security-row strong,
.security-row small {
  display: block;
}

.security-row strong {
  color: #ffffff;
  font-size: 1rem;
}

.security-row small {
  margin-top: 4px;
  color: #cbd5e1;
}

.login-system-status {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  margin-top: 10px;
  padding-top: 24px;
  color: #d8e2f0;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.login-system-status p {
  margin: 0;
}

.login-system-status strong {
  color: #22c55e;
}

.login-footer {
  position: relative;
  z-index: 1;
  width: min(1660px, 100%);
  margin: 0 auto;
  color: #9ca3af;
  text-align: center;
}

.inline-control {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #5f6f85;
  font-weight: 700;
}

.inline-control input {
  width: 18px;
  height: 18px;
}

.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 108px;
  padding: 24px 34px;
  background: rgba(255, 255, 255, 0.86);
  border-bottom: 1px solid #dce5f0;
  backdrop-filter: blur(18px);
}

.topbar h2 {
  font-size: clamp(1.45rem, 3vw, 2.2rem);
  letter-spacing: 0;
}

.topbar p:last-child {
  margin: 6px 0 0;
  color: #5f6f85;
}

.header-actions {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.company-switcher {
  display: grid;
  gap: 4px;
  min-width: 210px;
}

.company-switcher span {
  color: #6a7890;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.company-switcher select {
  min-height: 42px;
  padding: 9px 12px;
  color: #172033;
  background: #ffffff;
  border: 1px solid #cbd8e6;
  border-radius: 8px;
}

.global-search {
  position: relative;
  flex: 1;
  max-width: 460px;
}

.global-search input {
  width: 100%;
  min-height: 42px;
  padding: 10px 12px;
  color: #172033;
  background: #ffffff;
  border: 1px solid #cbd8e6;
  border-radius: 8px;
}

.search-results {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  left: 0;
  z-index: 15;
  display: grid;
  gap: 10px;
  max-height: 420px;
  overflow: auto;
  padding: 12px;
  background: #ffffff;
  border: 1px solid #dce5f0;
  border-radius: 8px;
  box-shadow: 0 20px 50px rgba(23, 32, 51, 0.18);
}

.search-results section {
  display: grid;
  gap: 6px;
}

.search-results button {
  display: grid;
  gap: 3px;
  padding: 9px;
  text-align: left;
  background: #f8fbff;
  border: 1px solid #e6edf5;
  border-radius: 8px;
}

.search-results span {
  color: #617087;
  font-size: 0.82rem;
}

.icon-button {
  position: relative;
  min-height: 38px;
  padding: 8px 12px;
  color: #172033;
  font-weight: 800;
  background: #ffffff;
  border: 1px solid #cbd8e6;
  border-radius: 8px;
}

.icon-button span {
  position: absolute;
  top: -8px;
  right: -8px;
  display: grid;
  min-width: 22px;
  min-height: 22px;
  place-items: center;
  color: #172033;
  font-size: 0.72rem;
  background: #f4c95d;
  border-radius: 999px;
}

.notification-panel {
  display: grid;
  gap: 8px;
  width: 100%;
}

.notification-panel button {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 10px;
  text-align: left;
  background: #f8fbff;
  border: 1px solid #e6edf5;
  border-radius: 8px;
}

.notification-panel small {
  display: block;
  margin-top: 3px;
  color: #617087;
  line-height: 1.35;
}

.status-dot.warning {
  background: #f4c95d;
}

.status-dot.critical {
  background: #e05f5f;
}

.status-dot.notice {
  background: #5f7ce0;
}

.pill,
.status-badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 10px;
  border-radius: 999px;
  color: #23405c;
  font-size: 0.78rem;
  font-weight: 800;
  background: #e6eef8;
}

.primary-button,
.secondary-button {
  min-height: 40px;
  padding: 0 14px;
  border-radius: 8px;
  font-weight: 800;
}

.primary-button {
  color: #172033;
  background: #f4c95d;
  border: 1px solid #ddb13d;
}

.secondary-button {
  color: #23405c;
  background: #ffffff;
  border: 1px solid #cbd8e6;
}

.danger-button {
  min-height: 40px;
  padding: 0 14px;
  color: #ffffff;
  font-weight: 800;
  background: #b93838;
  border: 1px solid #9d2f2f;
  border-radius: 8px;
}

.link-button {
  padding: 0;
  color: #2271b1;
  font-weight: 800;
  background: transparent;
  border: 0;
}

.danger-text {
  color: #9d2f2f;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.page-content {
  padding: 28px 34px 42px;
}

.page-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.metrics-grid {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.compact-metrics {
  grid-template-columns: minmax(220px, 320px);
  margin: 18px 0;
}

.metric-card,
.content-card,
.priority-grid article {
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid #dce5f0;
  border-radius: 8px;
  box-shadow: 0 18px 45px rgba(23, 32, 51, 0.07);
}

.metric-card {
  min-height: 140px;
  padding: 20px;
}

.metric-card p,
.metric-card span,
.list-row span,
.priority-grid span {
  color: #617087;
}

.metric-card p {
  margin: 0 0 14px;
  font-weight: 800;
}

.metric-card strong {
  display: block;
  margin-bottom: 12px;
  font-size: 2rem;
  letter-spacing: 0;
}

.content-card {
  min-width: 0;
  padding: 22px;
}

.content-card.wide {
  grid-column: 1 / -1;
}

.section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.section-heading h3 {
  font-size: 1.15rem;
  letter-spacing: 0;
}

.module-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.module-header h3,
.hero-card h3,
.module-card h4 {
  margin: 0;
  letter-spacing: 0;
}

.module-header h3,
.hero-card h3 {
  font-size: 1.55rem;
}

.module-header p,
.hero-card p,
.module-card p {
  max-width: 760px;
  margin: 8px 0 0;
  color: #5f6f85;
  line-height: 1.55;
}

.module-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.hero-card {
  background: #172033;
  color: #ffffff;
}

.hero-card .eyebrow,
.hero-card p {
  color: #d8e2f0;
}

.module-card-grid {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

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

.module-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 22px;
  min-height: 250px;
  padding: 20px;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid #dce5f0;
  border-radius: 8px;
  box-shadow: 0 18px 45px rgba(23, 32, 51, 0.07);
}

.module-card.selected {
  border-color: #d6a23a;
  box-shadow: 0 18px 45px rgba(214, 162, 58, 0.18);
}

.group-portal {
  display: grid;
  gap: 18px;
}

.about-nexus {
  display: grid;
  gap: 18px;
}

.about-hero {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 24px;
  align-items: center;
  padding: 32px;
  color: #ffffff;
  background:
    radial-gradient(circle at top right, rgba(244, 201, 93, 0.22), transparent 28rem),
    linear-gradient(135deg, #0b0f17, #172033 54%, #263750);
  border: 1px solid rgba(244, 201, 93, 0.26);
  border-radius: 12px;
  box-shadow: 0 28px 80px rgba(23, 32, 51, 0.22);
}

.about-logo {
  display: grid;
  place-items: center;
  width: 112px;
  height: 112px;
  color: #172033;
  background: linear-gradient(135deg, #f4c95d, #ffffff);
  border-radius: 24px;
  font-size: 2.4rem;
  font-weight: 900;
  box-shadow: 0 18px 48px rgba(244, 201, 93, 0.22);
}

.about-hero h2,
.about-hero h3,
.about-hero p {
  margin: 0;
}

.about-hero h2 {
  font-size: clamp(2rem, 5vw, 4.4rem);
  line-height: 1;
}

.about-hero h3 {
  margin-top: 8px;
  color: #f4c95d;
  font-size: 1.25rem;
}

.about-hero p {
  max-width: 920px;
  margin-top: 14px;
  color: #d8e2f0;
  line-height: 1.6;
}

.about-version-grid,
.about-stack-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.about-version-grid div,
.about-stack-list div {
  padding: 14px;
  background: #f8fbff;
  border: 1px solid #e6edf5;
  border-radius: 8px;
}

.about-version-grid dt,
.about-stack-list dt {
  color: #6a7890;
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.about-version-grid dd,
.about-stack-list dd {
  margin: 6px 0 0;
  color: #172033;
  font-weight: 800;
}

.about-module-grid,
.about-company-grid,
.health-grid,
.about-action-grid {
  display: grid;
  gap: 14px;
}

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

.about-module-card,
.about-company-card,
.health-card,
.about-resource-panel {
  padding: 18px;
  background: #ffffff;
  border: 1px solid #e6edf5;
  border-radius: 10px;
  box-shadow: 0 16px 42px rgba(23, 32, 51, 0.07);
}

.about-module-card {
  display: grid;
  gap: 18px;
  min-height: 230px;
}

.about-module-card h4,
.about-company-card h4,
.release-list h4,
.roadmap-timeline h4,
.about-resource-panel h4 {
  margin: 8px 0;
}

.about-module-card p,
.about-company-card p,
.release-list p,
.roadmap-timeline p,
.about-resource-panel p {
  margin: 0;
  color: #5f6f85;
  line-height: 1.55;
}

.about-module-card dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.about-module-card dt,
.about-module-card dd {
  margin: 0;
}

.about-module-card dt {
  color: #6a7890;
  font-size: 0.78rem;
  font-weight: 800;
}

.about-module-card dd {
  font-weight: 800;
}

.about-company-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.about-company-card {
  display: grid;
  gap: 12px;
  align-content: start;
}

.about-company-card .brand-mark {
  width: 56px;
  height: 56px;
}

.about-company-card small {
  color: #6a7890;
  font-weight: 800;
}

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

.health-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
}

.health-card p {
  margin: 4px 0 0;
  color: #5f6f85;
}

.health-light {
  width: 14px;
  height: 14px;
  border-radius: 999px;
}

.health-light.green {
  background: #22c55e;
  box-shadow: 0 0 0 6px rgba(34, 197, 94, 0.12);
}

.health-light.yellow {
  background: #f4c95d;
  box-shadow: 0 0 0 6px rgba(244, 201, 93, 0.18);
}

.health-light.red {
  background: #e05252;
  box-shadow: 0 0 0 6px rgba(224, 82, 82, 0.14);
}

.about-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 18px;
}

.release-list,
.roadmap-timeline {
  display: grid;
  gap: 16px;
}

.release-list section {
  padding: 16px;
  background: #f8fbff;
  border: 1px solid #e6edf5;
  border-radius: 8px;
}

.release-list ul {
  margin: 12px 0 0;
  padding-left: 20px;
  color: #5f6f85;
  line-height: 1.6;
}

.roadmap-timeline section {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 12px;
}

.roadmap-timeline section > span {
  width: 14px;
  height: 14px;
  margin-top: 4px;
  background: #f4c95d;
  border: 3px solid #172033;
  border-radius: 999px;
}

.about-action-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.about-resource-panel {
  margin-top: 16px;
  background: #f8fbff;
}

.executive-boardroom {
  display: grid;
  gap: 18px;
}

.boardroom-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 24px;
  padding: 30px;
  color: #ffffff;
  background:
    radial-gradient(circle at top right, rgba(244, 201, 93, 0.24), transparent 28rem),
    linear-gradient(135deg, #06080d, #172033 58%, #2d3f5a);
  border: 1px solid rgba(244, 201, 93, 0.28);
  border-radius: 14px;
  box-shadow: 0 30px 80px rgba(23, 32, 51, 0.24);
}

.boardroom-hero h2,
.boardroom-hero p {
  margin: 0;
}

.boardroom-hero h2 {
  font-size: clamp(2rem, 5vw, 4rem);
  line-height: 1;
}

.boardroom-hero p {
  max-width: 860px;
  margin-top: 14px;
  color: #d8e2f0;
  line-height: 1.6;
}

.boardroom-controls {
  display: grid;
  gap: 12px;
  padding: 16px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(244, 201, 93, 0.18);
  border-radius: 10px;
}

.boardroom-controls label {
  display: grid;
  gap: 6px;
  color: #f8fbff;
  font-weight: 800;
}

.boardroom-controls select {
  min-height: 40px;
  padding: 0 10px;
  border: 1px solid rgba(244, 201, 93, 0.3);
  border-radius: 8px;
}

.boardroom-actions,
.report-grid,
.chart-grid,
.company-performance-grid,
.boardroom-grid {
  display: grid;
  gap: 14px;
}

.boardroom-actions {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

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

.executive-ai-card {
  color: #ffffff;
  background: linear-gradient(135deg, #172033, #263750);
  border-color: rgba(244, 201, 93, 0.3);
}

.executive-ai-card h3,
.executive-ai-card .eyebrow {
  color: #ffffff;
}

.attention-feed {
  display: grid;
  gap: 10px;
  max-height: 560px;
  overflow: auto;
}

.attention-feed button {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 8px 12px;
  padding: 12px;
  text-align: left;
  background: #f8fbff;
  border: 1px solid #e6edf5;
  border-radius: 8px;
}

.attention-feed p {
  grid-column: 1 / -1;
  margin: 0;
  color: #5f6f85;
}

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

.company-performance-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.company-performance-card {
  display: grid;
  gap: 14px;
  padding: 18px;
  background: #ffffff;
  border: 1px solid #e6edf5;
  border-radius: 10px;
  box-shadow: 0 18px 45px rgba(23, 32, 51, 0.08);
}

.company-performance-card > div {
  display: flex;
  align-items: center;
  gap: 10px;
}

.company-performance-card h3,
.company-performance-card p,
.company-performance-card dl {
  margin: 0;
}

.company-performance-card dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.company-performance-card span {
  padding: 10px;
  background: #f8fbff;
  border-radius: 8px;
}

.company-performance-card dt {
  color: #6a7890;
  font-size: 0.75rem;
  font-weight: 800;
}

.company-performance-card dd {
  margin: 4px 0 0;
  font-weight: 900;
}

.risk-heatmap {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}

.risk-heatmap span {
  display: grid;
  gap: 5px;
  padding: 12px;
  color: #172033;
  background: #fff1cc;
  border: 1px solid #f4c95d;
  border-radius: 8px;
}

.mini-chart {
  display: grid;
  gap: 12px;
  padding: 16px;
  background: #f8fbff;
  border: 1px solid #e6edf5;
  border-radius: 8px;
}

.mini-chart h4 {
  margin: 0;
}

.mini-chart div {
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr) 80px;
  gap: 10px;
  align-items: center;
}

.mini-chart b {
  display: block;
  height: 12px;
  background: linear-gradient(90deg, #172033, #f4c95d);
  border-radius: 999px;
}

.executive-briefing-card {
  color: #ffffff;
  background:
    linear-gradient(135deg, rgba(23, 32, 51, 0.96), rgba(38, 55, 80, 0.94)),
    #172033;
  border-color: rgba(244, 201, 93, 0.42);
}

.executive-briefing-card .eyebrow,
.executive-briefing-card p,
.executive-briefing-card h3 {
  color: #ffffff;
}

.briefing-grid,
.workspace-grid,
.group-company-grid,
.company-kpi-grid {
  display: grid;
  gap: 14px;
}

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

.briefing-grid article {
  min-height: 110px;
  padding: 16px;
  color: #f7efe0;
  line-height: 1.55;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(244, 201, 93, 0.24);
  border-radius: 8px;
}

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

.workspace-card {
  display: grid;
  gap: 8px;
  min-height: 150px;
  padding: 16px;
  text-align: left;
  background: #f8fbff;
  border: 1px solid #e6edf5;
  border-radius: 8px;
}

.workspace-card strong {
  color: #172033;
}

.workspace-card span,
.workspace-card small {
  color: #5f6f85;
  line-height: 1.5;
}

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

.company-operating-card {
  display: grid;
  gap: 16px;
  padding: 20px;
  background: #ffffff;
  border: 1px solid #e6edf5;
  border-radius: 8px;
  box-shadow: 0 18px 45px rgba(23, 32, 51, 0.07);
}

.company-card-head {
  display: flex;
  align-items: center;
  gap: 12px;
}

.company-card-head h3,
.company-card-head p {
  margin: 0;
}

.company-card-head p {
  color: #6a7890;
}

.company-card-head .status-badge {
  margin-left: auto;
}

.company-kpi-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.company-kpi-grid span {
  display: grid;
  gap: 4px;
  padding: 12px;
  background: #f8fbff;
  border: 1px solid #e6edf5;
  border-radius: 8px;
}

.company-kpi-grid b {
  color: #172033;
}

.company-kpi-grid small {
  color: #6a7890;
}

.module-chip-row,
.alert-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.module-chip-row span,
.alert-list small {
  padding: 7px 10px;
  color: #172033;
  background: #f7efe0;
  border: 1px solid rgba(244, 201, 93, 0.45);
  border-radius: 999px;
  font-weight: 700;
}

.alert-list small {
  color: #8a4b18;
  background: #fff8f0;
  border-color: #f2d4b2;
}

.settings-areas .module-card {
  min-height: 180px;
}

.platform-services {
  display: grid;
  gap: 18px;
}

.platform-grid,
.widget-toggle-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.widget-toggle-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.compact-field {
  display: grid;
  gap: 5px;
  min-width: min(360px, 100%);
}

.compact-field span {
  color: #6a7890;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.compact-field select,
.inline-form input {
  width: 100%;
  min-height: 42px;
  padding: 10px 12px;
  color: #172033;
  background: #ffffff;
  border: 1px solid #cbd8e6;
  border-radius: 8px;
}

.inline-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
}

.tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.widget-toggle {
  justify-content: flex-start;
  padding: 12px;
  background: #f8fbff;
  border: 1px solid #e6edf5;
  border-radius: 8px;
}

.ai-floating-button {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 50;
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  color: #172033;
  font-weight: 900;
  background: #f4c95d;
  border: 1px solid rgba(23, 32, 51, 0.2);
  border-radius: 999px;
  box-shadow: 0 18px 50px rgba(23, 32, 51, 0.28);
}

.ai-assistant-panel {
  display: grid;
  gap: 14px;
  align-content: start;
}

.ai-mode-grid,
.ai-chip-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ai-mode-grid button,
.ai-chip-grid button,
.ai-prompt-list button {
  padding: 8px 10px;
  color: #172033;
  background: #f8fbff;
  border: 1px solid #dce5f0;
  border-radius: 8px;
}

.ai-mode-grid button.active {
  background: #172033;
  color: #ffffff;
  border-color: #172033;
}

.ai-recommendations,
.ai-generator,
.ai-module-actions {
  display: grid;
  gap: 10px;
  padding: 14px;
  background: #f8fbff;
  border: 1px solid #e6edf5;
  border-radius: 8px;
}

.ai-recommendations p,
.ai-message p {
  margin: 0;
  color: #5f6f85;
  line-height: 1.45;
}

.ai-chat-form,
.ai-prompt-form {
  display: grid;
  gap: 10px;
}

.ai-chat-form textarea,
.ai-prompt-form textarea,
.ai-prompt-form input {
  width: 100%;
  min-height: 42px;
  padding: 10px 12px;
  color: #172033;
  background: #ffffff;
  border: 1px solid #cbd8e6;
  border-radius: 8px;
}

.ai-chat-form textarea,
.ai-prompt-form textarea {
  min-height: 96px;
  resize: vertical;
}

.ai-history {
  display: grid;
  gap: 10px;
}

.ai-message {
  padding: 12px;
  background: #ffffff;
  border: 1px solid #e6edf5;
  border-radius: 8px;
}

.ai-message.user {
  background: #172033;
  color: #ffffff;
}

.ai-message.user p {
  color: #d8e2f0;
}

.ai-prompt-list {
  display: grid;
  gap: 8px;
}

.ai-module-actions {
  grid-column: 1 / -1;
  margin-bottom: 16px;
}

.ai-inline-output,
.ai-result {
  margin: 0;
  overflow: auto;
  white-space: pre-wrap;
  padding: 12px;
  color: #d8e2f0;
  background: #172033;
  border-radius: 8px;
}

.ai-command-backdrop {
  position: fixed;
  inset: 0;
  z-index: 60;
  display: grid;
  align-items: flex-start;
  justify-items: center;
  padding-top: 12vh;
  background: rgba(23, 32, 51, 0.38);
  backdrop-filter: blur(6px);
}

.ai-command-bar {
  display: grid;
  gap: 14px;
  width: min(760px, calc(100vw - 32px));
  padding: 18px;
  background: #ffffff;
  border: 1px solid #dce5f0;
  border-radius: 8px;
  box-shadow: 0 30px 80px rgba(23, 32, 51, 0.32);
}

.ai-command-bar input {
  width: 100%;
  min-height: 58px;
  padding: 14px;
  color: #172033;
  font-size: 1.05rem;
  background: #f8fbff;
  border: 1px solid #cbd8e6;
  border-radius: 8px;
}

.ai-command-examples {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.ai-command-examples button {
  padding: 10px;
  text-align: left;
  color: #172033;
  background: #f8fbff;
  border: 1px solid #e6edf5;
  border-radius: 8px;
}

.finance-module {
  display: grid;
  gap: 18px;
}

.finance-action-grid,
.finance-cash-grid,
.account-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.finance-action-grid button {
  min-height: 54px;
}

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

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

.account-grid article {
  display: grid;
  gap: 6px;
  padding: 14px;
  background: #f8fbff;
  border: 1px solid #e6edf5;
  border-radius: 8px;
}

.account-grid span {
  color: #617087;
}

.procurement-module {
  display: grid;
  gap: 18px;
}

.procurement-module .module-card {
  min-height: 210px;
}

.inventory-module {
  display: grid;
  gap: 18px;
}

.workshop-module {
  display: grid;
  gap: 18px;
}

.workshop-commercial-panel,
.workshop-costing-grid,
.workshop-commercial-summary,
.workshop-costing-totals,
.workshop-line-editor {
  display: grid;
  gap: 16px;
}

.workshop-commercial-summary {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.workshop-costing-grid {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.workshop-costing-totals {
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}

.workshop-costing-totals div,
.workshop-line-row {
  padding: 14px;
  background: #f8fbff;
  border: 1px solid #e6edf5;
  border-radius: 10px;
}

.workshop-costing-totals span,
.workshop-line-row span {
  display: block;
  margin-bottom: 6px;
  color: #617087;
}

.workshop-line-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 12px;
  align-items: end;
}

.workshop-line-remove {
  align-self: center;
}

.projects-module {
  display: grid;
  gap: 18px;
}

.workshop-kanban {
  display: grid;
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap: 14px;
  align-items: start;
}

.project-kanban {
  display: grid;
  grid-template-columns: repeat(5, minmax(180px, 1fr));
  gap: 14px;
  align-items: start;
  margin-top: 16px;
}

.project-gantt {
  display: grid;
  gap: 12px;
}

.gantt-row {
  display: grid;
  grid-template-columns: 260px minmax(180px, 1fr) 170px;
  gap: 14px;
  align-items: center;
  padding: 14px;
  background: #ffffff;
  border: 1px solid #e6edf5;
  border-radius: 8px;
  box-shadow: 0 12px 32px rgba(23, 32, 51, 0.06);
}

.gantt-row strong,
.gantt-row span {
  display: block;
}

.gantt-row span {
  color: #6a7890;
  font-size: 0.88rem;
}

.gantt-track {
  height: 18px;
  overflow: hidden;
  background: #edf2f7;
  border: 1px solid #dce5f0;
  border-radius: 999px;
}

.gantt-track span {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, #172033, #f4c95d);
}

.kanban-column {
  min-height: 260px;
  border: 1px solid rgba(214, 162, 58, 0.2);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 244, 235, 0.92));
  padding: 14px;
}

.kanban-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}

.kanban-heading h4 {
  margin: 0;
  color: #111827;
  font-size: 0.95rem;
}

.kanban-heading span {
  display: grid;
  place-items: center;
  min-width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #111827;
  color: #f7d88a;
  font-weight: 800;
}

.kanban-card {
  display: grid;
  gap: 8px;
  margin-bottom: 10px;
  padding: 12px;
  border: 1px solid rgba(17, 24, 39, 0.08);
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 10px 28px rgba(17, 24, 39, 0.08);
}

.kanban-card div {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
}

.kanban-card p,
.kanban-card small {
  margin: 0;
  color: #4b5563;
}

.kanban-card small {
  line-height: 1.45;
}

.status-badge.low-stock,
.status-badge.reorder,
.status-badge.reserved {
  color: #172033;
  background: #f4c95d;
}

.status-badge.out-of-stock,
.status-badge.pending-approval {
  color: #7f1d1d;
  background: #fee2e2;
}

.status-badge.posted,
.status-badge.received,
.status-badge.issued {
  color: #14532d;
  background: #dcfce7;
}

.status-badge.preferred-supplier,
.status-badge.best-value,
.status-badge.preferred {
  color: #172033;
  background: #f4c95d;
}

.status-badge.lowest-price,
.status-badge.fastest-delivery {
  color: #174d3a;
  background: #d9f7ea;
}

.finance-tabs {
  display: flex;
  gap: 6px;
  padding: 6px;
  overflow-x: auto;
  background: #eef3f9;
  border: 1px solid #dce5f0;
  border-radius: 8px;
}

.finance-tabs button {
  flex: 0 0 auto;
  min-height: 38px;
  color: #41516a;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 8px;
}

.finance-tabs button.active {
  color: #172033;
  background: #ffffff;
  border-color: #d6a23a;
  box-shadow: 0 10px 28px rgba(23, 32, 51, 0.08);
}

.finance-filter-bar {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  padding: 14px;
  background: #f8fbff;
  border: 1px solid #e6edf5;
  border-radius: 8px;
}

.finance-filter-bar label {
  display: grid;
  gap: 6px;
}

.finance-filter-bar span {
  color: #6a7890;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.finance-filter-bar input,
.finance-filter-bar select {
  min-height: 40px;
  padding: 9px 10px;
  color: #172033;
  background: #ffffff;
  border: 1px solid #cbd8e6;
  border-radius: 8px;
}

.module-card h4 {
  margin-top: 16px;
  font-size: 1.1rem;
}

.module-card .secondary-button {
  width: fit-content;
}

.empty-state {
  display: grid;
  gap: 8px;
  min-height: 190px;
  margin-top: 18px;
  padding: 28px;
  place-content: center;
  text-align: center;
  background: #f8fbff;
  border: 1px dashed #b9c8d9;
  border-radius: 8px;
}

.empty-state strong {
  font-size: 1.05rem;
}

.empty-state p {
  max-width: 620px;
  margin: 0 auto;
  color: #617087;
  line-height: 1.55;
}

.table-wrap {
  width: 100%;
  max-height: min(70vh, 860px);
  overflow-x: auto;
  overflow-y: auto;
  overscroll-behavior: contain;
  border-radius: 8px;
}

.action-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 18px 0;
}

.search-bar {
  flex: 1;
  min-width: 220px;
}

.search-bar input {
  width: 100%;
  min-height: 42px;
  padding: 10px 12px;
  color: #172033;
  background: #ffffff;
  border: 1px solid #cbd8e6;
  border-radius: 8px;
}

table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
}

th,
td {
  padding: 14px 12px;
  text-align: left;
  border-bottom: 1px solid #e6edf5;
}

th {
  position: sticky;
  top: 0;
  z-index: 1;
  color: #6a7890;
  font-size: 0.76rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: #ffffff;
}

td {
  color: #263750;
}

tbody tr:hover {
  background: #f8fbff;
}

.row-actions {
  display: flex;
  gap: 12px;
  white-space: nowrap;
}

.status-badge.on-rental,
.status-badge.paid,
.status-badge.connected,
.status-badge.current,
.status-badge.low,
.status-badge.role-control-active,
.status-badge.mock-data-active,
.status-badge.mock-permissions-active,
.status-badge.mock-settings-active {
  color: #126247;
  background: #dff7ee;
}

.status-badge.available {
  color: #23527c;
  background: #e3f0ff;
}

.status-badge.maintenance,
.status-badge.pending,
.status-badge.review,
.status-badge.medium,
.status-badge.live-connector-pending,
.status-badge.module-coming-soon,
.status-badge.documents-pending,
.status-badge.pending-review,
.status-badge.pending-upload,
.status-badge.invited,
.status-badge.draft,
.status-badge.missing,
.status-badge.uploaded,
.status-badge.sent-for-signature,
.status-badge.needs-review,
.status-badge.signed-by-customer,
.status-badge.quotation,
.status-badge.opportunity,
.status-badge.lead,
.status-badge.fallback,
.status-badge.not-synced {
  color: #896313;
  background: #fff1cc;
}

.status-badge.demo-data-active,
.status-badge.active,
.status-badge.active-onboarding,
.status-badge.won,
.status-badge.signed,
.status-badge.approved,
.status-badge.certified,
.status-badge.complete,
.status-badge.clear,
.status-badge.online,
.status-badge.verified,
.status-badge.signed-by-eag,
.status-badge.fully-signed {
  color: #126247;
  background: #dff7ee;
}

.status-badge.overdue,
.status-badge.disabled,
.status-badge.expired,
.status-badge.lost,
.status-badge.cancelled,
.status-badge.at-risk,
.status-badge.delayed,
.status-badge.high {
  color: #9d2f2f;
  background: #ffe3e3;
}

.stack-list {
  display: grid;
  gap: 10px;
}

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

.field {
  display: grid;
  gap: 7px;
}

.field span {
  color: #5f6f85;
  font-size: 0.86rem;
  font-weight: 800;
}

.field input,
.field select,
.field textarea {
  width: 100%;
  min-height: 42px;
  padding: 10px 12px;
  color: #172033;
  background: #ffffff;
  border: 1px solid #cbd8e6;
  border-radius: 8px;
}

.field textarea {
  resize: vertical;
}

.wide-field {
  grid-column: 1 / -1;
}

.workflow-grid,
.permission-grid,
.connector-grid {
  display: grid;
  gap: 14px;
  margin-bottom: 20px;
}

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

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

.connector-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 18px;
}

.workflow-card,
.permission-card,
.connector-card {
  display: grid;
  gap: 8px;
  padding: 16px;
  background: #f8fbff;
  border: 1px solid #e6edf5;
  border-radius: 8px;
}

.workflow-card span,
.permission-card span,
.permission-card p,
.muted-text {
  color: #617087;
  line-height: 1.55;
}

.permission-card p {
  margin: 0;
}

.connector-metrics {
  grid-template-columns: repeat(2, minmax(220px, 320px));
}

.connector-card {
  gap: 16px;
}

.connector-card h3 {
  margin: 0 0 10px;
}

.connector-card dl {
  display: grid;
  gap: 10px;
  margin: 0;
}

.connector-card dl div {
  display: grid;
  gap: 3px;
}

.connector-card dt {
  color: #6a7890;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.connector-card dd {
  margin: 0;
  color: #263750;
  line-height: 1.45;
}

.fleet-module {
  display: grid;
  gap: 18px;
}

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

.tab-strip {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  padding: 6px;
  background: #f8fbff;
  border: 1px solid #e6edf5;
  border-radius: 8px;
}

.tab-button {
  min-height: 38px;
  padding: 0 12px;
  color: #41516a;
  font-weight: 800;
  white-space: nowrap;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 8px;
}

.tab-button.active,
.tab-button:hover {
  color: #172033;
  background: #ffffff;
  border-color: #cbd8e6;
}

.fleet-tab-panel {
  display: grid;
  gap: 18px;
}

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

.fleet-summary-card {
  min-height: 170px;
  padding: 20px;
  background: #f8fbff;
  border: 1px solid #e6edf5;
  border-radius: 8px;
}

.fleet-summary-card h3 {
  margin: 0;
}

.fleet-summary-card p:last-child {
  color: #617087;
  line-height: 1.55;
}

.module-subheader {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 16px;
  padding: 18px;
  border: 1px solid rgba(244, 201, 93, 0.18);
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(244, 201, 93, 0.11), transparent 42%),
    rgba(9, 13, 20, 0.66);
}

.module-subheader h3 {
  margin: 0 0 6px;
  color: #f8fbff;
}

.module-subheader p:last-child {
  max-width: 760px;
  margin: 0;
  color: #aeb9c8;
}

.eag-pricing-engine {
  display: grid;
  gap: 18px;
}

.tab-strip.compact {
  align-items: center;
  gap: 8px;
}

.tab-strip.compact .tab-button {
  min-height: 38px;
  padding: 9px 13px;
  white-space: nowrap;
}

.pricing-subnav {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 8px;
  border: 1px solid rgba(244, 201, 93, 0.18);
  border-radius: 12px;
  background: rgba(4, 7, 12, 0.52);
}

.pricing-subnav .tab-button {
  flex: 0 0 auto;
}

.pricing-stepper {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}

.pricing-stepper span {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 8px 10px;
  color: #f8fbff;
  border: 1px solid rgba(244, 201, 93, 0.18);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.035);
  font-size: 0.82rem;
  font-weight: 800;
}

.pricing-stepper strong {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  color: #10151f;
  border-radius: 999px;
  background: #f4c95d;
}

.inline-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

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

.pricing-form-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  padding: 18px;
  border: 1px solid rgba(244, 201, 93, 0.16);
  border-radius: 14px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.015)),
    rgba(8, 11, 17, 0.72);
}

.pricing-form-grid .field {
  margin: 0;
}

.pricing-form-grid textarea {
  min-height: 90px;
  resize: vertical;
}

.wide-field {
  grid-column: 1 / -1;
}

.pricing-result-card,
.quote-preview-card {
  padding: 18px;
  border: 1px solid rgba(244, 201, 93, 0.18);
  border-radius: 14px;
  background:
    radial-gradient(circle at top right, rgba(244, 201, 93, 0.13), transparent 14rem),
    #0d121b;
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.28);
}

.pricing-result-card h3,
.quote-preview-card h3 {
  margin: 0 0 8px;
  color: #f8fbff;
}

.pricing-result-card p:last-child {
  margin-bottom: 0;
  color: #aeb9c8;
}

.quote-preview-shell {
  display: grid;
  place-items: start center;
}

.quote-preview-card {
  width: min(100%, 860px);
}

.quote-head,
.action-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.quote-line-grid {
  display: grid;
  grid-template-columns: minmax(130px, 0.45fr) 1fr;
  gap: 10px 16px;
  margin: 18px 0;
  padding: 16px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.03);
}

.quote-line-grid span {
  color: #92a0b3;
}

.quote-line-grid strong {
  color: #f8fbff;
}

.quote-terms {
  color: #aeb9c8;
}

@media (max-width: 980px) {
  .pricing-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

  .module-subheader,
  .quote-head,
  .action-row {
    align-items: stretch;
    flex-direction: column;
  }
}

@media (max-width: 640px) {
  .pricing-form-grid {
    grid-template-columns: 1fr;
  }

  .pricing-stepper {
    grid-template-columns: 1fr;
  }

  .quote-line-grid {
    grid-template-columns: 1fr;
  }
}

@media print {
  .sidebar,
  .topbar,
  .fleet-actions,
  .tab-strip,
  .module-subheader,
  .no-print,
  .ai-actions-bar {
    display: none !important;
  }

  .app-shell {
    display: block;
  }

  .main-panel,
  .content-card,
  .quote-preview-card {
    color: #111827 !important;
    background: #ffffff !important;
    box-shadow: none !important;
  }

  .quote-line-grid strong,
  .quote-preview-card h3 {
    color: #111827 !important;
  }
}

.contract-pack-list {
  margin-top: 4px;
}

.active-contract-row {
  border-color: #f4c95d;
  box-shadow: inset 3px 0 0 #f4c95d;
}

.contract-preview {
  display: grid;
  gap: 18px;
  padding: 24px;
  color: #172033;
  background: #ffffff;
  border: 1px solid #d8b44f;
  border-radius: 8px;
  box-shadow: 0 18px 45px rgba(23, 32, 51, 0.09);
}

.empty-contract-preview {
  border-style: dashed;
}

.contract-preview-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 18px;
  color: #ffffff;
  background: #111827;
  border-radius: 8px;
}

.contract-preview-header .eyebrow {
  color: #f4c95d;
}

.contract-preview-header h3,
.contract-preview-grid h4 {
  margin: 0;
}

.contract-preview-header p {
  margin: 6px 0 0;
  color: #d8e2f0;
}

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

.contract-preview-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.contract-preview-grid article {
  padding: 16px;
  background: #fffcf3;
  border: 1px solid #ead89b;
  border-radius: 8px;
}

.contract-preview dl {
  display: grid;
  gap: 8px;
  margin: 14px 0 0;
}

.contract-preview dl div {
  display: grid;
  gap: 2px;
}

.contract-preview dt {
  color: #6a7890;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.contract-preview dd {
  margin: 0;
}

.document-checklist {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.document-card {
  display: grid;
  gap: 10px;
  padding: 16px;
  background: #ffffff;
  border: 1px solid #e6edf5;
  border-radius: 8px;
}

.document-card strong,
.document-card span {
  display: block;
}

.document-card strong {
  color: #172033;
}

.document-card span,
.document-card p {
  color: #617087;
}

.document-card p {
  margin: 0;
  line-height: 1.5;
}

.profile-page {
  display: grid;
  gap: 18px;
}

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

.profile-section {
  padding: 20px;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid #dce5f0;
  border-radius: 8px;
  box-shadow: 0 18px 45px rgba(23, 32, 51, 0.06);
}

.profile-field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
}

.profile-field-grid div {
  padding: 12px;
  background: #f8fbff;
  border: 1px solid #e6edf5;
  border-radius: 8px;
}

.profile-field-grid dt {
  color: #6a7890;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.profile-field-grid dd {
  margin: 5px 0 0;
  color: #172033;
}

.timeline {
  display: grid;
  gap: 12px;
}

.timeline article {
  padding: 14px 14px 14px 18px;
  background: #f8fbff;
  border: 1px solid #e6edf5;
  border-left: 4px solid #f4c95d;
  border-radius: 8px;
}

.timeline span {
  color: #6a7890;
  font-size: 0.8rem;
  font-weight: 800;
}

.timeline strong {
  display: block;
  margin-top: 5px;
}

.timeline p {
  margin: 5px 0 0;
  color: #617087;
}

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

.photo-placeholder {
  display: grid;
  min-height: 120px;
  place-items: center;
  color: #617087;
  font-weight: 800;
  background: #f8fbff;
  border: 1px dashed #b9c8d9;
  border-radius: 8px;
}

.document-vault {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.vault-document {
  display: grid;
  gap: 12px;
  padding: 16px;
  background: #ffffff;
  border: 1px solid #e6edf5;
  border-radius: 8px;
}

.vault-document strong,
.vault-document span {
  display: block;
}

.vault-document span {
  margin-top: 4px;
  color: #617087;
  word-break: break-word;
}

.vault-document dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.vault-document dt {
  color: #6a7890;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.vault-document dd {
  margin: 4px 0 0;
}

.upload-link {
  display: inline-flex;
  align-items: center;
}

.signature-blocks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.signature-blocks article {
  display: grid;
  gap: 10px;
  min-height: 150px;
  padding: 18px;
  background: #fffcf3;
  border: 1px solid #ead89b;
  border-radius: 8px;
}

.signature-blocks span {
  color: #172033;
}

.modal-guidance {
  padding: 14px;
  background: #f8fbff;
  border: 1px solid #e6edf5;
  border-radius: 8px;
}

.modal-guidance p {
  margin: 6px 0 0;
  color: #617087;
  line-height: 1.55;
}

.form-error {
  margin: 0;
  padding: 12px;
  color: #9d2f2f;
  font-weight: 800;
  background: #ffe3e3;
  border: 1px solid #f0b9b9;
  border-radius: 8px;
}

.success-message {
  background: rgba(78, 211, 165, 0.12);
  border: 1px solid rgba(78, 211, 165, 0.32);
  border-radius: 10px;
  color: #13664e;
  font-weight: 800;
  margin: 0;
  padding: 12px 14px;
}

.health-list,
.import-preview {
  display: grid;
  gap: 8px;
  margin-top: 16px;
  padding: 14px;
  background: #f8fbff;
  border: 1px solid #e6edf5;
  border-radius: 8px;
}

.health-list p,
.import-preview p {
  margin: 0;
  color: #617087;
}

.secondary-button:disabled,
.primary-button:disabled {
  cursor: not-allowed;
  opacity: 0.62;
}

.modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 22px;
  background: rgba(23, 32, 51, 0.58);
  animation: overlay-fade 160ms ease;
}

.modal-panel {
  width: min(760px, 100%);
  max-height: min(86vh, 860px);
  overflow: auto;
  padding: 24px;
  background: #ffffff;
  border: 1px solid #dce5f0;
  border-radius: 8px;
  box-shadow: 0 26px 70px rgba(0, 0, 0, 0.24);
  animation: modal-rise 180ms ease;
}

.modal-panel.command {
  width: min(760px, calc(100vw - 32px));
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: 990;
  display: flex;
  justify-content: flex-end;
  background: rgba(23, 32, 51, 0.26);
  animation: overlay-fade 160ms ease;
}

.drawer-panel {
  width: min(520px, calc(100vw - 24px));
  height: 100vh;
  overflow: auto;
  padding: 22px;
  background: #ffffff;
  border-left: 1px solid #dce5f0;
  box-shadow: -24px 0 60px rgba(23, 32, 51, 0.18);
  animation: drawer-in 180ms ease;
}

.drawer-panel.wide {
  width: min(760px, calc(100vw - 24px));
}

.drawer-panel.narrow {
  width: min(420px, calc(100vw - 24px));
}

.drawer-panel.left {
  border-left: 0;
  border-right: 1px solid #dce5f0;
  margin-right: auto;
}

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

@keyframes overlay-fade {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes modal-rise {
  from {
    opacity: 0;
    transform: translateY(10px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes drawer-in {
  from {
    opacity: 0;
    transform: translateX(24px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.confirm-dialog {
  width: min(480px, 100%);
}

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

.list-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 72px;
  padding: 14px;
  background: #f8fbff;
  border: 1px solid #e6edf5;
  border-radius: 8px;
}

.list-row strong,
.list-row span {
  display: block;
}

.list-row span {
  margin-top: 5px;
  font-size: 0.9rem;
}

.align-right {
  text-align: right;
}

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

.priority-grid article {
  display: grid;
  gap: 10px;
  min-height: 136px;
  padding: 18px;
}

.priority-grid b {
  color: #2271b1;
}

.chart-bars {
  display: flex;
  align-items: end;
  gap: 14px;
  height: 260px;
  padding: 18px;
  background: #f8fbff;
  border: 1px solid #e6edf5;
  border-radius: 8px;
}

.chart-bars span {
  flex: 1;
  min-width: 30px;
  border-radius: 8px 8px 0 0;
  background: linear-gradient(180deg, #2271b1, #4ed3a5);
}

.settings-list {
  display: grid;
  gap: 14px;
  max-width: 560px;
}

.settings-list label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px;
  background: #f8fbff;
  border: 1px solid #e6edf5;
  border-radius: 8px;
}

.settings-list select {
  min-height: 38px;
  padding: 0 10px;
  border: 1px solid #cbd8e6;
  border-radius: 8px;
  background: #ffffff;
}

.settings-list input {
  width: 20px;
  height: 20px;
  accent-color: #2271b1;
}

@media (max-width: 1040px) {
  .workshop-kanban {
    grid-template-columns: repeat(2, minmax(220px, 1fr));
  }

  .project-kanban {
    grid-template-columns: repeat(2, minmax(220px, 1fr));
  }

  .about-module-grid,
  .about-company-grid,
  .health-grid,
  .about-action-grid,
  .boardroom-actions,
  .company-performance-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .about-version-grid,
  .about-stack-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

  .boardroom-hero,
  .boardroom-grid,
  .chart-grid {
    grid-template-columns: 1fr;
  }

  .app-shell {
    grid-template-columns: 88px minmax(0, 1fr);
  }

  .sidebar {
    padding: 0;
  }

  .brand-lockup div:not(.brand-mark),
  .nav-item span:last-child,
  .sidebar-status {
    display: none;
  }

  .brand-lockup {
    justify-content: center;
    padding: 18px 12px 14px;
  }

  .sidebar-scroll {
    padding: 0 12px 14px;
  }

  .sidebar-status {
    margin: 0 12px 14px;
  }

  .nav-item {
    justify-content: center;
    padding: 10px;
  }
}

@media (max-width: 760px) {
  .app-shell {
    display: block;
  }

  .sidebar {
    position: static;
    height: auto;
    overflow: visible;
  }

  .sidebar-scroll {
    overflow: visible;
    padding-bottom: 18px;
  }

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

  .nav-item {
    justify-content: flex-start;
  }

  .nav-item span:last-child,
  .brand-lockup div:not(.brand-mark) {
    display: block;
  }

  .topbar,
  .page-content {
    padding-inline: 18px;
  }

  .topbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .global-search {
    width: 100%;
    max-width: none;
  }

  .company-switcher {
    width: 100%;
  }

  .page-grid,
  .metrics-grid,
  .priority-grid,
  .module-card-grid,
  .briefing-grid,
  .workspace-grid,
  .group-company-grid,
  .company-kpi-grid,
  .about-module-grid,
  .about-company-grid,
  .health-grid,
  .about-version-grid,
  .about-stack-list,
  .about-split,
  .about-action-grid,
  .boardroom-actions,
  .company-performance-grid,
  .boardroom-grid,
  .chart-grid,
  .form-grid,
  .workflow-grid,
  .permission-grid,
  .connector-grid,
  .connector-metrics,
  .fleet-overview-grid,
  .contract-preview-grid,
  .document-checklist,
  .profile-grid,
  .profile-field-grid,
  .photo-grid,
  .document-vault,
  .workshop-kanban,
  .project-kanban,
  .vault-document dl,
  .signature-blocks {
    grid-template-columns: 1fr;
  }

  .module-card-grid.compact {
    grid-template-columns: 1fr;
  }

  .finance-action-grid,
  .finance-cash-grid,
  .account-grid,
  .finance-filter-bar {
    grid-template-columns: 1fr;
  }

  .login-panel {
    grid-template-columns: 1fr;
  }

  .content-card {
    padding: 18px;
  }

  .section-heading,
  .module-header,
  .action-toolbar,
  .list-row,
  .settings-list label {
    align-items: flex-start;
    flex-direction: column;
  }

  .modal-actions {
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .drawer-panel,
  .drawer-panel.wide,
  .drawer-panel.narrow {
    width: 100vw;
    max-width: 100vw;
  }

  .module-actions {
    justify-content: flex-start;
  }

  .align-right {
    text-align: left;
  }
}

@media print {
  body {
    background: #ffffff;
  }

  .sidebar,
  .topbar,
  .fleet-actions,
  .tab-strip,
  .table-wrap,
  .no-print,
  .modal-backdrop {
    display: none !important;
  }

  .app-shell,
  .main-panel,
  .page-content {
    display: block;
    padding: 0;
  }

  .content-card,
  .contract-preview {
    border: 0;
    box-shadow: none;
  }

  .contract-preview {
    page-break-inside: avoid;
  }
}
.workflow-module {
  border-color: rgba(214, 162, 58, 0.28);
}

.workflow-designer-grid,
.rule-builder,
.automation-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(280px, 0.8fr);
  gap: 18px;
  margin-top: 18px;
}

.workflow-designer-grid article,
.rule-builder article,
.automation-panel article,
.approval-flow article {
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(248, 244, 235, 0.92));
  border: 1px solid rgba(214, 162, 58, 0.22);
  border-radius: 14px;
  padding: 18px;
  box-shadow: 0 16px 40px rgba(12, 12, 12, 0.08);
}

.workflow-health-stack {
  display: grid;
  gap: 12px;
}

.workflow-health-stack span {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

.rule-builder {
  grid-template-columns: minmax(280px, 1fr) minmax(240px, 1fr) minmax(240px, 1fr);
}

.rule-flow,
.tag-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 14px 0;
}

.rule-flow span,
.tag-cloud span {
  background: #101010;
  border: 1px solid rgba(214, 162, 58, 0.5);
  border-radius: 999px;
  color: #f8ead0;
  font-size: 0.78rem;
  font-weight: 700;
  padding: 8px 12px;
}

.tag-cloud span {
  background: rgba(16, 16, 16, 0.06);
  color: #1f1f1f;
}

.approval-flow {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 14px;
  margin: 18px 0;
}

.approval-flow article {
  display: grid;
  gap: 8px;
}

.approval-flow span:not(.status-badge) {
  color: #6c6254;
  font-size: 0.84rem;
}

.workflow-timeline {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.workflow-timeline article {
  align-items: flex-start;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(214, 162, 58, 0.2);
  border-radius: 14px;
  display: grid;
  gap: 14px;
  grid-template-columns: auto 1fr auto;
  padding: 16px;
}

.timeline-dot {
  background: #d6a23a;
  border-radius: 999px;
  box-shadow: 0 0 0 6px rgba(214, 162, 58, 0.14);
  display: block;
  height: 12px;
  margin-top: 4px;
  width: 12px;
}

.automation-panel {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.automation-panel article {
  display: grid;
  gap: 14px;
}

.hr-module {
  border-color: rgba(214, 162, 58, 0.28);
}

.hr-split {
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1.5fr) minmax(300px, 0.8fr);
  margin-top: 18px;
}

.employee-profile-card,
.org-chart,
.org-departments article,
.org-team,
.report-grid .metric-card {
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.97), rgba(248, 244, 235, 0.92));
  border: 1px solid rgba(214, 162, 58, 0.22);
  border-radius: 14px;
  box-shadow: 0 16px 40px rgba(12, 12, 12, 0.08);
  padding: 18px;
}

.employee-profile-card {
  align-self: start;
  display: grid;
  gap: 14px;
}

.employee-avatar {
  align-items: center;
  background: #101010;
  border: 2px solid #d6a23a;
  border-radius: 999px;
  color: #f8ead0;
  display: flex;
  font-size: 1.2rem;
  font-weight: 800;
  height: 64px;
  justify-content: center;
  width: 64px;
}

.employee-profile-card dl {
  display: grid;
  gap: 8px;
  grid-template-columns: 120px minmax(0, 1fr);
}

.employee-profile-card dt {
  color: #756b5f;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
}

.employee-profile-card dd {
  margin: 0;
}

.org-chart {
  display: grid;
  gap: 16px;
  margin-top: 18px;
}

.org-root,
.org-company {
  background: #101010;
  border-radius: 12px;
  color: #f8ead0;
  display: grid;
  gap: 4px;
  padding: 16px;
  text-align: center;
}

.org-company {
  background: linear-gradient(135deg, #d6a23a, #f3d892);
  color: #17120a;
}

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

.org-team {
  box-shadow: none;
  display: grid;
  gap: 8px;
  margin-top: 10px;
  padding: 12px;
}

.org-team button {
  background: rgba(16, 16, 16, 0.04);
  border: 1px solid rgba(16, 16, 16, 0.08);
  border-radius: 10px;
  color: #1f1f1f;
  cursor: pointer;
  display: grid;
  gap: 4px;
  padding: 10px;
  text-align: left;
}

.org-team small {
  color: #756b5f;
}

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

.product-footer {
  align-items: center;
  background: rgba(12, 12, 12, 0.94);
  border-top: 1px solid rgba(214, 162, 58, 0.35);
  color: #f8ead0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-top: 20px;
  padding: 14px 20px;
}

.product-footer span {
  border-left: 1px solid rgba(248, 234, 208, 0.25);
  padding-left: 10px;
}

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

.version-roadmap-grid article {
  background: linear-gradient(145deg, #101010, #252017);
  border: 1px solid rgba(214, 162, 58, 0.35);
  border-radius: 14px;
  color: #f8ead0;
  padding: 18px;
}

.version-roadmap-grid strong {
  color: #d6a23a;
  font-size: 1.15rem;
}

.release-group {
  margin-top: 10px;
}

.release-group strong {
  color: #1f1f1f;
  display: block;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  margin-bottom: 4px;
  text-transform: uppercase;
}

.version-settings {
  display: grid;
  gap: 18px;
}

.plant-module {
  border-color: rgba(214, 162, 58, 0.3);
}

.plant-card-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  margin-top: 18px;
}

.plant-equipment-card,
.plant-asset-panel {
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.97), rgba(248, 244, 235, 0.92));
  border: 1px solid rgba(214, 162, 58, 0.24);
  border-radius: 14px;
  box-shadow: 0 16px 40px rgba(12, 12, 12, 0.08);
  display: grid;
  gap: 14px;
  padding: 18px;
}

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

.architecture-card {
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(248, 244, 235, 0.94));
  border: 1px solid rgba(214, 162, 58, 0.24);
  border-radius: 14px;
  box-shadow: 0 14px 34px rgba(12, 12, 12, 0.08);
  display: grid;
  gap: 10px;
  padding: 18px;
}

.architecture-card h4 {
  margin: 0;
}

.architecture-card p {
  color: #756b5f;
  margin: 0;
}

.empty-state.compact {
  margin: 0;
  min-height: auto;
  padding: 18px;
}

.form-section {
  display: grid;
  gap: 12px;
}

.section-heading.compact {
  margin-bottom: 0;
}

.modal-panel.small {
  max-width: 460px;
}

.modal-panel.large {
  max-width: 960px;
}

.error-boundary {
  align-items: center;
  background: linear-gradient(135deg, #101010, #2a2112);
  color: #f8ead0;
  display: grid;
  min-height: 100vh;
  padding: 24px;
}

.error-boundary .content-card {
  margin: 0 auto;
  max-width: 720px;
}

.error-boundary h1 {
  margin-top: 0;
}

.plant-equipment-card h4,
.plant-asset-panel h3 {
  margin: 8px 0 2px;
}

.plant-equipment-card dl,
.plant-asset-panel dl {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.plant-equipment-card dt,
.plant-asset-panel dt {
  color: #756b5f;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.plant-equipment-card dd,
.plant-asset-panel dd {
  margin: 0;
}

.plant-split {
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1.5fr) minmax(300px, 0.8fr);
  margin-top: 18px;
}

.plant-asset-panel {
  align-self: start;
  background: linear-gradient(145deg, #101010, #252017);
  color: #f8ead0;
}

.plant-asset-panel dt {
  color: #d6a23a;
}

.plant-timeline {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.plant-timeline article {
  align-items: flex-start;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(214, 162, 58, 0.22);
  border-radius: 14px;
  display: grid;
  gap: 14px;
  grid-template-columns: auto 1fr auto;
  padding: 16px;
}

.copilot-button {
  background: linear-gradient(135deg, #101010, #d6a23a);
  box-shadow: 0 18px 42px rgba(16, 16, 16, 0.28);
}

.copilot-panel {
  border-left: 1px solid rgba(214, 162, 58, 0.35);
  max-width: min(760px, calc(100vw - 28px));
  width: 720px;
}

.copilot-context-card {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 12px 0;
}

.copilot-context-card div {
  background: linear-gradient(145deg, #101010, #252017);
  border: 1px solid rgba(214, 162, 58, 0.35);
  border-radius: 12px;
  color: #f8ead0;
  display: grid;
  gap: 4px;
  padding: 12px;
}

.copilot-context-card span {
  color: #d6a23a;
  font-size: 0.78rem;
}

.copilot-history-layout {
  display: grid;
  gap: 14px;
  grid-template-columns: 220px minmax(0, 1fr);
}

.copilot-conversation-list {
  background: rgba(16, 16, 16, 0.04);
  border: 1px solid rgba(214, 162, 58, 0.18);
  border-radius: 14px;
  display: grid;
  gap: 8px;
  max-height: 430px;
  overflow: auto;
  padding: 12px;
}

.copilot-conversation-list button {
  background: #fff;
  border: 1px solid rgba(16, 16, 16, 0.08);
  border-radius: 10px;
  color: #17120a;
  cursor: pointer;
  display: grid;
  gap: 3px;
  padding: 10px;
  text-align: left;
}

.copilot-conversation-list button.active {
  border-color: #d6a23a;
  box-shadow: 0 0 0 3px rgba(214, 162, 58, 0.16);
}

.copilot-conversation-list span,
.copilot-conversation-list small {
  color: #756b5f;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
}

.copilot-thread {
  max-height: 430px;
  overflow: auto;
}

.copilot-thread-toolbar {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px;
}

.copilot-markdown {
  background: #101010;
  border-radius: 10px;
  color: #f8ead0;
  overflow: auto;
  padding: 12px;
  white-space: pre-wrap;
}

.copilot-knowledge {
  background: rgba(214, 162, 58, 0.08);
  border: 1px solid rgba(214, 162, 58, 0.2);
  border-radius: 14px;
  display: grid;
  gap: 10px;
  padding: 14px;
}

.treasury-module {
  display: grid;
  gap: 18px;
}

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

.treasury-balance-list,
.cash-forecast-grid,
.approval-rule-grid,
.fraud-grid,
.adapter-grid,
.treasury-action-row {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.treasury-balance-list div,
.cash-forecast-grid article,
.approval-rule-grid article,
.fraud-grid article,
.adapter-grid article,
.treasury-action-row article {
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(248, 244, 235, 0.94));
  border: 1px solid rgba(214, 162, 58, 0.22);
  border-radius: 14px;
  box-shadow: 0 14px 34px rgba(12, 12, 12, 0.08);
  display: grid;
  gap: 8px;
  padding: 16px;
}

.treasury-balance-list strong {
  color: #101010;
  font-size: 1.4rem;
}

.cash-forecast-grid dl {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
}

.cash-forecast-grid dt {
  color: #756b5f;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.cash-forecast-grid dd {
  margin: 0;
}

.payment-timeline {
  display: grid;
  gap: 12px;
}

.payment-timeline article {
  align-items: center;
  background: #fffaf0;
  border: 1px solid rgba(214, 162, 58, 0.22);
  border-radius: 12px;
  display: grid;
  gap: 12px;
  grid-template-columns: auto 1fr;
  padding: 14px;
}

.timeline-dot {
  background: #cbd8e6;
  border-radius: 999px;
  height: 14px;
  width: 14px;
}

.timeline-dot.complete {
  background: #d6a23a;
}

.fraud-grid small,
.adapter-grid small {
  color: #756b5f;
  display: block;
  line-height: 1.45;
}

.treasury-ai-list article {
  background: #101010;
  border: 1px solid rgba(214, 162, 58, 0.3);
  border-radius: 12px;
  color: #f8ead0;
  padding: 14px;
}

.connect-module {
  display: grid;
  gap: 18px;
}

.connect-landing {
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.85fr);
}

.connect-hero {
  align-items: center;
  background: linear-gradient(135deg, #101010, #2a2112);
  color: #f8ead0;
  display: grid;
  gap: 18px;
  grid-column: 1 / -1;
  grid-template-columns: auto minmax(0, 1fr);
}

.connect-hero .brand-mark {
  background: #d6a23a;
  color: #101010;
  height: 72px;
  width: 72px;
}

.connect-hero p {
  color: #f8ead0;
}

.portal-login-list,
.portal-announcement-list,
.portal-knowledge-grid,
.portal-self-service,
.portal-security-grid {
  display: grid;
  gap: 12px;
}

.portal-login-list button,
.portal-announcement-list section,
.portal-knowledge-grid article,
.portal-self-service button,
.portal-security-grid article {
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(248, 244, 235, 0.94));
  border: 1px solid rgba(214, 162, 58, 0.22);
  border-radius: 12px;
  color: #17120a;
  display: grid;
  gap: 7px;
  padding: 14px;
  text-align: left;
}

.portal-login-list button:hover,
.portal-self-service button:hover {
  border-color: #d6a23a;
  box-shadow: 0 0 0 3px rgba(214, 162, 58, 0.14);
}

.portal-knowledge-grid,
.portal-security-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.portal-ai-form {
  display: grid;
  gap: 12px;
}

.portal-ai-form textarea {
  min-height: 120px;
  resize: vertical;
}

.portal-ai-answer {
  background: #101010;
  border: 1px solid rgba(214, 162, 58, 0.35);
  border-radius: 12px;
  color: #f8ead0;
  margin-top: 14px;
  padding: 16px;
}

.integration-module {
  display: grid;
  gap: 18px;
}

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

.integration-card-grid,
.integration-security-grid,
.integration-ai-grid,
.integration-settings-list,
.mapping-entity-grid,
.integration-alert-list {
  display: grid;
  gap: 14px;
}

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

.integration-card,
.integration-security-grid article,
.integration-ai-grid article,
.integration-settings-list article,
.integration-alert-list section {
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(248, 244, 235, 0.94));
  border: 1px solid rgba(214, 162, 58, 0.22);
  border-radius: 14px;
  box-shadow: 0 14px 34px rgba(12, 12, 12, 0.08);
  display: grid;
  gap: 10px;
  padding: 16px;
}

.integration-card dl {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
}

.integration-card dt,
.integration-security-grid small {
  color: #756b5f;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.integration-card dd {
  margin: 0;
}

.mapping-entity-grid {
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  margin-bottom: 16px;
}

.mapping-entity-grid span {
  background: #101010;
  border: 1px solid rgba(214, 162, 58, 0.3);
  border-radius: 999px;
  color: #f8ead0;
  font-weight: 800;
  padding: 9px 12px;
  text-align: center;
}

.sync-timeline {
  display: grid;
  gap: 12px;
  margin-bottom: 16px;
}

.sync-timeline article {
  align-items: center;
  background: #fffaf0;
  border: 1px solid rgba(214, 162, 58, 0.22);
  border-radius: 12px;
  display: grid;
  gap: 12px;
  grid-template-columns: auto 1fr;
  padding: 14px;
}

.integration-ai-grid article {
  background: #101010;
  color: #f8ead0;
}

.knowledge-module {
  display: grid;
  gap: 18px;
}

.knowledge-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.75fr);
}

.knowledge-insight-list {
  display: grid;
  gap: 12px;
}

.knowledge-insight-list article,
.knowledge-insight-list section,
.knowledge-ai-grid article,
.knowledge-permission-grid article {
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(248, 244, 235, 0.94));
  border: 1px solid rgba(214, 162, 58, 0.22);
  border-radius: 14px;
  box-shadow: 0 14px 34px rgba(12, 12, 12, 0.08);
  display: grid;
  gap: 8px;
  padding: 16px;
}

.knowledge-search-row {
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(260px, 1fr) 220px 220px;
  margin-bottom: 16px;
}

.knowledge-search-row input,
.knowledge-search-row select {
  min-height: 42px;
  padding: 9px 12px;
  color: #172033;
  background: #ffffff;
  border: 1px solid #cbd8e6;
  border-radius: 8px;
}

.knowledge-explorer {
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.4fr);
}

.explorer-list {
  display: grid;
  gap: 10px;
  max-height: 650px;
  overflow: auto;
  padding-right: 6px;
}

.explorer-list button {
  display: grid;
  gap: 6px;
  padding: 14px;
  text-align: left;
  background: #ffffff;
  border: 1px solid #e6edf5;
  border-radius: 12px;
}

.explorer-list button.active,
.explorer-list button:hover {
  border-color: #d6a23a;
  box-shadow: 0 0 0 3px rgba(214, 162, 58, 0.14);
}

.explorer-list small,
.document-preview-box small,
.knowledge-permission-grid small {
  color: #756b5f;
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.preview-panel {
  align-self: start;
  display: grid;
  gap: 16px;
}

.document-preview-box {
  background: linear-gradient(145deg, #101010, #252017);
  border: 1px solid rgba(214, 162, 58, 0.35);
  border-radius: 16px;
  color: #f8ead0;
  display: grid;
  gap: 14px;
  min-height: 420px;
  padding: 22px;
}

.document-preview-box h3,
.document-preview-box p,
.document-preview-box dl {
  margin: 0;
}

.document-preview-box p {
  color: #f8ead0;
  line-height: 1.55;
}

.document-preview-box dl {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.document-preview-box dt {
  color: #d6a23a;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.document-preview-box dd {
  margin: 0;
}

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

.related-document-list {
  display: grid;
  gap: 8px;
}

.related-document-list span {
  background: rgba(244, 201, 93, 0.12);
  border: 1px solid rgba(244, 201, 93, 0.25);
  border-radius: 999px;
  color: #f8ead0;
  padding: 7px 10px;
}

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

.knowledge-ai-grid article {
  background: #101010;
  color: #f8ead0;
  font-weight: 800;
}

.knowledge-permission-grid article {
  align-content: start;
}

.security-admin {
  display: grid;
  gap: 18px;
}

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

.security-alert-list,
.security-identity-grid,
.security-role-catalog,
.security-ai-grid {
  display: grid;
  gap: 12px;
}

.security-alert-list section,
.security-ai-grid article {
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(248, 244, 235, 0.94));
  border: 1px solid rgba(214, 162, 58, 0.22);
  border-radius: 14px;
  box-shadow: 0 14px 34px rgba(12, 12, 12, 0.08);
  display: grid;
  gap: 8px;
  padding: 16px;
}

.security-alert-list p,
.security-alert-list small {
  color: #756b5f;
  line-height: 1.45;
}

.security-identity-grid,
.security-role-catalog {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.security-identity-grid span,
.security-role-catalog span {
  background: #101010;
  border: 1px solid rgba(214, 162, 58, 0.32);
  border-radius: 999px;
  color: #f8ead0;
  font-weight: 800;
  padding: 9px 12px;
  text-align: center;
}

.security-role-catalog {
  margin-top: 18px;
}

.security-check {
  border-radius: 999px;
  display: inline-flex;
  font-size: 0.76rem;
  font-weight: 900;
  padding: 5px 9px;
}

.security-check.yes {
  background: rgba(34, 197, 94, 0.12);
  color: #166534;
}

.security-check.no {
  background: rgba(224, 82, 82, 0.12);
  color: #9d2f2f;
}

.security-ai-grid {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.security-ai-grid article {
  background: #101010;
  color: #f8ead0;
  font-weight: 800;
}

.collaboration-centre {
  display: grid;
  gap: 18px;
}

.collaboration-grid,
.cloud-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.provider-grid,
.presence-stack,
.team-space-grid,
.collaboration-ai-grid,
.notification-list {
  display: grid;
  gap: 12px;
}

.provider-grid {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.provider-grid section,
.team-space-grid article,
.collaboration-ai-grid article {
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(248, 244, 235, 0.94));
  border: 1px solid rgba(214, 162, 58, 0.22);
  border-radius: 14px;
  box-shadow: 0 14px 34px rgba(12, 12, 12, 0.08);
  display: grid;
  gap: 8px;
  padding: 16px;
}

.provider-grid p,
.team-space-grid p {
  color: #756b5f;
  margin: 0;
}

.presence-pill {
  align-items: center;
  background: #fffaf0;
  border: 1px solid rgba(214, 162, 58, 0.22);
  border-radius: 14px;
  display: flex;
  gap: 12px;
  padding: 12px;
}

.presence-avatar {
  align-items: center;
  background: #101010;
  border: 2px solid #d6a23a;
  border-radius: 999px;
  color: #f8ead0;
  display: flex;
  font-size: 0.78rem;
  font-weight: 900;
  height: 42px;
  justify-content: center;
  width: 42px;
}

.presence-avatar.away {
  border-color: #f4c95d;
}

.presence-avatar.busy {
  border-color: #e05f5f;
}

.presence-avatar.offline {
  border-color: #94a3b8;
  opacity: 0.72;
}

.presence-pill small {
  color: #756b5f;
  display: block;
  margin-top: 3px;
}

.presence-actions,
.collaboration-filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 16px;
}

.collaboration-filter-row input,
.collaboration-filter-row select {
  min-height: 42px;
  min-width: 220px;
  padding: 9px 12px;
  border: 1px solid #cbd8e6;
  border-radius: 8px;
}

.notification-list {
  margin-top: 16px;
}

.notification-list button {
  align-items: flex-start;
  background: #fff;
  border: 1px solid rgba(214, 162, 58, 0.22);
  border-radius: 12px;
  display: flex;
  gap: 10px;
  padding: 12px;
  text-align: left;
}

.notification-list small {
  color: #756b5f;
  display: block;
  margin-top: 4px;
}

.activity-stream {
  display: grid;
  gap: 12px;
}

.activity-stream article {
  align-items: flex-start;
  background: #ffffff;
  border: 1px solid rgba(214, 162, 58, 0.18);
  border-radius: 12px;
  display: grid;
  gap: 12px;
  grid-template-columns: auto minmax(0, 1fr);
  padding: 14px;
}

.activity-stream p {
  color: #5f6f85;
  margin: 4px 0;
}

.activity-stream small {
  color: #756b5f;
}

.collaboration-ai-grid {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.collaboration-ai-grid article {
  background: #101010;
  color: #f8ead0;
  font-weight: 800;
}

.presence-button {
  position: relative;
}

.presence-button span {
  background: #22c55e;
  border-radius: 999px;
  color: #ffffff;
  display: inline-flex;
  font-size: 0.72rem;
  justify-content: center;
  margin-left: 6px;
  min-width: 22px;
  padding: 2px 6px;
}

@media (max-width: 900px) {
  .hr-split {
    grid-template-columns: 1fr;
  }

  .employee-profile-card dl {
    grid-template-columns: 1fr;
  }

  .plant-split,
  .plant-equipment-card dl,
  .plant-asset-panel dl {
    grid-template-columns: 1fr;
  }

  .copilot-context-card,
  .copilot-history-layout,
  .treasury-grid,
  .connect-landing,
  .connect-hero,
  .integration-grid,
  .integration-card dl,
  .cash-forecast-grid dl,
  .knowledge-grid,
  .knowledge-search-row,
  .knowledge-explorer,
  .document-preview-box dl,
  .security-grid,
  .collaboration-grid,
  .cloud-grid {
    grid-template-columns: 1fr;
  }
}

/* EBE ForgeOS executive UI transformation */
:root {
  --ebe-gold: #d4a017;
  --ebe-gold-soft: rgba(212, 160, 23, 0.16);
  --ebe-navy: #0f172a;
  --ebe-bg: #070b12;
  --ebe-sidebar: #0b1220;
  --ebe-surface: rgba(17, 24, 39, 0.8);
  --ebe-surface-solid: #111827;
  --ebe-surface-raised: rgba(15, 23, 42, 0.92);
  --ebe-border: #1f2937;
  --ebe-text: #f3f4f6;
  --ebe-muted: #9ca3af;
  --ebe-success: #22c55e;
  --ebe-info: #3b82f6;
  --ebe-warning: #f59e0b;
  --ebe-danger: #ef4444;
  --ebe-radius-card: 12px;
  --ebe-radius-button: 10px;
  --ebe-shadow: 0 22px 60px rgba(0, 0, 0, 0.34);
}

:root:not([data-theme]),
:root[data-theme="dark"],
:root[data-theme="system"] {
  color: var(--ebe-text);
  background: var(--ebe-bg);
}

:root:not([data-theme]) body,
:root[data-theme="dark"] body,
:root[data-theme="system"] body {
  color: var(--ebe-text);
  background:
    radial-gradient(circle at 24% 0%, rgba(212, 160, 23, 0.14), transparent 34rem),
    radial-gradient(circle at 90% 8%, rgba(59, 130, 246, 0.09), transparent 28rem),
    linear-gradient(135deg, #05080e 0%, #08111f 48%, #05080e 100%);
}

.app-shell {
  grid-template-columns: 268px minmax(0, 1fr);
  min-height: 100dvh;
  background: transparent;
}

.sidebar {
  position: sticky;
  top: 0;
  height: 100dvh;
  min-height: 0;
  background:
    radial-gradient(circle at top left, rgba(212, 160, 23, 0.12), transparent 16rem),
    linear-gradient(180deg, #0b1220 0%, #070d18 100%);
  border-right: 1px solid rgba(212, 160, 23, 0.15);
  box-shadow: 18px 0 50px rgba(0, 0, 0, 0.22);
}

.brand-lockup {
  padding: 18px 18px 16px;
}

.brand-mark,
.sidebar-company-mark {
  color: #111827;
  background: linear-gradient(135deg, #ffd66b, var(--ebe-gold));
  border: 1px solid rgba(255, 255, 255, 0.22);
  box-shadow: 0 10px 24px rgba(212, 160, 23, 0.24);
}

.brand-mark {
  width: 42px;
  height: 42px;
  border-radius: 10px;
  font-size: 0.82rem;
}

.brand-lockup .eyebrow,
.sidebar-heading {
  color: var(--ebe-muted);
  font-size: 0.69rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  margin: 0 0 8px;
  text-transform: uppercase;
}

.brand-lockup h1 {
  color: var(--ebe-text);
  font-size: 1.18rem;
}

.sidebar-scroll {
  display: block;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: 0 14px 14px;
  scroll-behavior: smooth;
}

.sidebar-workspaces,
.sidebar-nav-group {
  display: grid;
  gap: 7px;
  margin-bottom: 16px;
}

.sidebar-workspaces {
  padding: 10px 0 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.workspace-nav,
.nav-item {
  border-radius: var(--ebe-radius-button);
  transition: background 200ms ease, border-color 200ms ease, color 200ms ease, transform 200ms ease;
}

.workspace-nav {
  color: #d8dde8;
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(255, 255, 255, 0.07);
}

.workspace-nav.active,
.workspace-nav:hover {
  color: var(--ebe-gold);
  background: rgba(212, 160, 23, 0.12);
  border-color: rgba(212, 160, 23, 0.32);
}

.nav-list {
  gap: 0;
}

.nav-item {
  min-height: 39px;
  padding: 8px 10px;
  color: #d7deea;
  font-size: 0.9rem;
}

.nav-item:hover,
.nav-item.active {
  color: var(--ebe-gold);
  background: rgba(255, 255, 255, 0.075);
  border-color: rgba(212, 160, 23, 0.18);
  transform: translateX(2px);
}

.nav-icon {
  width: 24px;
  height: 24px;
  color: #dbe4f0;
  background: transparent;
  border: 1px solid rgba(219, 228, 240, 0.45);
  border-radius: 7px;
  font-size: 0.62rem;
}

.nav-item.active .nav-icon,
.nav-item:hover .nav-icon {
  color: #111827;
  background: var(--ebe-gold);
  border-color: var(--ebe-gold);
}

.sidebar-status {
  position: relative;
  gap: 10px;
  margin: 0 14px 10px;
  padding: 13px;
  background: rgba(17, 24, 39, 0.88);
  border: 1px solid rgba(212, 160, 23, 0.18);
  border-radius: var(--ebe-radius-card);
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.24);
}

.sidebar-company-mark {
  display: grid;
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 10px;
  font-weight: 900;
}

.sidebar-status .status-dot {
  position: absolute;
  top: 14px;
  left: 42px;
  border: 2px solid var(--ebe-sidebar);
  background: var(--ebe-success);
}

.sidebar-status strong {
  color: var(--ebe-text);
}

.sidebar-status small {
  color: var(--ebe-muted);
}

.sidebar-footer {
  margin: 0;
  padding: 0 16px 14px;
  color: #6b7280;
  font-size: 0.72rem;
}

.main-panel {
  min-height: 100dvh;
  background:
    linear-gradient(180deg, rgba(8, 13, 24, 0.98), rgba(6, 10, 18, 0.98)),
    var(--ebe-bg);
}

.topbar {
  position: sticky;
  top: 0;
  z-index: 80;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 12px 18px;
  min-height: 0;
  padding: 14px 18px;
  background: rgba(8, 13, 24, 0.78);
  border-bottom: 1px solid rgba(212, 160, 23, 0.13);
  backdrop-filter: blur(18px);
}

.topbar-controls {
  display: grid;
  flex: 1 1 780px;
  min-width: 0;
  gap: 12px;
  grid-template-columns: minmax(0, 2fr) minmax(220px, 1fr);
  align-items: end;
}

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

.company-switcher {
  min-width: 0;
}

.company-switcher span {
  color: var(--ebe-muted);
  font-size: 0.65rem;
  letter-spacing: 0.08em;
}

.company-switcher select,
.global-search input,
input,
select,
textarea {
  color: var(--ebe-text);
  background: rgba(8, 13, 24, 0.86);
  border: 1px solid rgba(212, 160, 23, 0.2);
  border-radius: 8px;
}

.company-switcher select {
  width: 100%;
  min-width: 0;
  min-height: 42px;
  padding: 7px 11px;
}

.global-search {
  min-width: 0;
  max-width: none;
  width: 100%;
}

.global-search input {
  min-width: 0;
  min-height: 42px;
}

.search-results,
.notification-panel button,
.drawer-panel,
.modal-panel {
  color: var(--ebe-text);
  background: rgba(12, 18, 31, 0.96);
  border-color: rgba(212, 160, 23, 0.22);
  box-shadow: var(--ebe-shadow);
}

.search-results button {
  color: var(--ebe-text);
  background: rgba(17, 24, 39, 0.92);
  border-color: rgba(255, 255, 255, 0.08);
}

.search-results span,
.notification-panel small,
.muted-text {
  color: var(--ebe-muted);
}

.header-actions {
  flex: 0 1 auto;
  min-width: 0;
  max-width: 100%;
  margin-left: auto;
  justify-content: flex-end;
  gap: 8px;
}

.primary-button,
.secondary-button,
.icon-button,
.danger-button,
.link-button,
.tab-strip button,
.quick-create-card,
.executive-action-bar button {
  transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease, background 200ms ease;
}

.primary-button {
  color: #111827;
  background: linear-gradient(135deg, #ffd76a, var(--ebe-gold));
  border-color: rgba(255, 214, 106, 0.6);
  border-radius: var(--ebe-radius-button);
  box-shadow: 0 10px 22px rgba(212, 160, 23, 0.22);
}

.secondary-button,
.icon-button {
  color: var(--ebe-text);
  background: rgba(17, 24, 39, 0.82);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--ebe-radius-button);
}

.primary-button:hover,
.secondary-button:hover,
.icon-button:hover,
.quick-create-card:hover,
.executive-action-bar button:hover {
  transform: translateY(-1px);
  border-color: rgba(212, 160, 23, 0.46);
  box-shadow: 0 14px 34px rgba(212, 160, 23, 0.16);
}

.notification-button span,
.presence-button span {
  background: var(--ebe-gold);
  color: #111827;
}

.pill,
.status-badge {
  color: var(--ebe-text);
  background: rgba(17, 24, 39, 0.84);
  border: 1px solid rgba(212, 160, 23, 0.22);
}

.user-pill {
  display: grid;
  gap: 1px;
  min-width: 130px;
  border-radius: 10px;
}

.user-pill small {
  color: var(--ebe-muted);
  font-size: 0.62rem;
}

.company-hero {
  flex: 1 0 100%;
  position: relative;
  grid-column: 1 / -1;
  display: grid;
  place-items: center;
  min-height: 178px;
  overflow: hidden;
  margin: 0 -18px;
  padding: 30px 24px;
  text-align: center;
  background:
    linear-gradient(90deg, rgba(8, 12, 20, 0.92), rgba(8, 12, 20, 0.58), rgba(8, 12, 20, 0.2)),
    linear-gradient(135deg, rgba(212, 160, 23, 0.22), transparent 30%),
    radial-gradient(circle at 20% 40%, rgba(212, 160, 23, 0.24), transparent 16rem),
    linear-gradient(135deg, #09111f, #172033);
  background-position: center;
  background-size: cover;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.company-hero::before {
  position: absolute;
  inset: 0;
  content: "";
  background-image:
    linear-gradient(30deg, rgba(212, 160, 23, 0.09) 12%, transparent 12.5%, transparent 87%, rgba(212, 160, 23, 0.09) 87.5%, rgba(212, 160, 23, 0.09)),
    linear-gradient(150deg, rgba(212, 160, 23, 0.09) 12%, transparent 12.5%, transparent 87%, rgba(212, 160, 23, 0.09) 87.5%, rgba(212, 160, 23, 0.09));
  background-position: 0 0, 0 0;
  background-size: 68px 118px;
  mask-image: linear-gradient(90deg, black, transparent 46%);
  opacity: 0.8;
}

.company-hero-logo,
.company-hero h2,
.company-hero p {
  position: relative;
  z-index: 1;
}

.company-hero-logo {
  display: grid;
  width: 60px;
  height: 60px;
  margin-bottom: 10px;
  place-items: center;
  color: #111827;
  background: linear-gradient(135deg, #ffd66b, var(--ebe-gold));
  border-radius: 18px;
  font-weight: 950;
  box-shadow: 0 20px 46px rgba(212, 160, 23, 0.28);
}

.company-hero h2 {
  margin: 0;
  color: var(--ebe-gold);
  font-size: clamp(1.6rem, 4vw, 2.55rem);
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.company-hero p {
  margin: 6px 0 0;
  color: #f8ead0;
  font-weight: 800;
}

.page-content {
  width: min(100%, 1580px);
  margin: 0 auto;
  padding: 16px 18px 36px;
}

.content-card,
.metric-card,
.module-card,
.priority-grid article,
.portal-login-list button,
.portal-announcement-list section,
.portal-knowledge-grid article,
.portal-self-service button,
.portal-security-grid article,
.plant-equipment-card,
.plant-asset-panel,
.architecture-card,
.integration-card,
.integration-security-grid article,
.integration-ai-grid article,
.integration-settings-list article,
.integration-alert-list section,
.knowledge-insight-list article,
.knowledge-insight-list section,
.knowledge-ai-grid article,
.knowledge-permission-grid article,
.security-alert-list section,
.security-ai-grid article,
.provider-grid section,
.team-space-grid article,
.collaboration-ai-grid article,
.activity-stream article {
  color: var(--ebe-text);
  background: linear-gradient(145deg, rgba(17, 24, 39, 0.88), rgba(10, 16, 28, 0.84));
  border: 1px solid rgba(31, 41, 55, 0.95);
  border-radius: var(--ebe-radius-card);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.22);
}

.content-card p,
.module-header p,
.hero-card p,
.module-card p,
.metric-card p,
.metric-card span,
.activity-stream p,
.portal-knowledge-grid article span,
.portal-security-grid article span {
  color: var(--ebe-muted);
}

.module-header {
  align-items: center;
  padding: 16px 18px;
  background: rgba(17, 24, 39, 0.72);
  border: 1px solid rgba(31, 41, 55, 0.95);
  border-radius: var(--ebe-radius-card);
}

.module-header h3,
.section-heading h3 {
  color: var(--ebe-text);
}

.eyebrow {
  color: var(--ebe-gold);
}

.tab-strip {
  gap: 8px;
  padding: 8px;
  background: rgba(8, 13, 24, 0.72);
  border: 1px solid rgba(31, 41, 55, 0.95);
  border-radius: var(--ebe-radius-card);
  scrollbar-width: thin;
}

.tab-strip button {
  flex: 0 0 auto;
  min-height: 37px;
  color: var(--ebe-text);
  background: rgba(17, 24, 39, 0.64);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 9px;
}

.tab-strip button.active,
.tab-strip button:hover {
  color: var(--ebe-gold);
  background: rgba(212, 160, 23, 0.12);
  border-color: rgba(212, 160, 23, 0.36);
}

.metrics-grid {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.metric-card {
  position: relative;
  min-height: 112px;
  padding: 16px 16px 16px 58px;
}

.metric-icon {
  position: absolute;
  top: 16px;
  left: 16px;
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  color: #111827;
  background: linear-gradient(135deg, #ffd66b, var(--ebe-gold));
  border-radius: 10px;
  font-size: 0.68rem;
  font-weight: 900;
}

.metric-card p {
  margin-bottom: 8px;
}

.metric-card strong {
  color: var(--ebe-text);
  font-size: 1.6rem;
}

.executive-action-bar {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 10px;
}

.executive-action-bar button {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 2px 12px;
  min-height: 56px;
  padding: 11px 14px;
  text-align: left;
  color: var(--ebe-text);
  background: rgba(17, 24, 39, 0.78);
  border: 1px solid rgba(31, 41, 55, 0.95);
  border-radius: var(--ebe-radius-button);
}

.executive-action-bar button span {
  grid-row: span 2;
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  color: var(--ebe-gold);
  background: rgba(212, 160, 23, 0.12);
  border: 1px solid rgba(212, 160, 23, 0.32);
  border-radius: 10px;
  font-weight: 900;
}

.executive-action-bar button small {
  color: var(--ebe-muted);
}

.launch-two-column {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.9fr);
  gap: 16px;
}

.activity-stream.compact {
  display: grid;
  gap: 10px;
}

.announcement-card {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 14px;
  padding: 14px;
  background: rgba(8, 13, 24, 0.72);
  border: 1px solid rgba(212, 160, 23, 0.18);
  border-radius: var(--ebe-radius-card);
}

.announcement-card span {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  color: #111827;
  background: var(--ebe-gold);
  border-radius: 10px;
  font-weight: 900;
}

.announcement-card p {
  margin: 4px 0 0;
  color: var(--ebe-muted);
}

.quick-create-drawer {
  width: min(720px, calc(100vw - 32px));
}

.quick-create-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 16px;
}

.quick-create-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 2px 10px;
  padding: 12px;
  text-align: left;
  color: var(--ebe-text);
  background: rgba(17, 24, 39, 0.78);
  border: 1px solid rgba(31, 41, 55, 0.95);
  border-radius: 10px;
}

.quick-create-card span {
  grid-row: span 2;
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  color: #111827;
  background: var(--ebe-gold);
  border-radius: 9px;
  font-size: 0.68rem;
  font-weight: 900;
}

.quick-create-card small {
  color: var(--ebe-muted);
}

.quick-create-card.active {
  border-color: rgba(212, 160, 23, 0.5);
  box-shadow: inset 0 0 0 1px rgba(212, 160, 23, 0.2);
}

.quick-create-all {
  width: 100%;
  padding: 12px 0 0;
  color: var(--ebe-gold);
  text-align: left;
  background: transparent;
  border: 0;
  font-weight: 900;
}

.field-wide {
  grid-column: 1 / -1;
}

.form-grid textarea {
  min-height: 112px;
  resize: vertical;
}

.brand-form-toolbar,
.brand-upload-panel,
.brand-import-panel {
  display: grid;
  gap: 12px;
  padding: 14px;
  background: rgba(8, 13, 24, 0.72);
  border: 1px solid rgba(212, 160, 23, 0.2);
  border-radius: var(--ebe-radius-card);
}

.brand-form-toolbar {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
}

.brand-form-toolbar span,
.brand-upload-panel p {
  margin: 0;
  color: var(--ebe-muted);
}

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

.brand-upload-panel section {
  display: grid;
  gap: 10px;
  align-content: start;
}

.brand-upload-panel input[type="file"],
.brand-import-panel input[type="file"] {
  width: 100%;
  padding: 10px;
  color: var(--ebe-muted);
  background: rgba(17, 24, 39, 0.82);
  border: 1px dashed rgba(212, 160, 23, 0.35);
  border-radius: 10px;
}

.brand-logo-preview {
  display: grid;
  width: 96px;
  height: 96px;
  place-items: center;
  overflow: hidden;
  color: #111827;
  background: linear-gradient(135deg, #ffd66b, var(--ebe-gold));
  border: 1px solid rgba(212, 160, 23, 0.45);
  border-radius: 18px;
  font-weight: 950;
}

.brand-logo-preview img,
.company-hero-logo img,
.sidebar-company-mark img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.brand-background-preview {
  width: 100%;
  max-height: 180px;
  object-fit: cover;
  border: 1px solid rgba(212, 160, 23, 0.28);
  border-radius: 12px;
}

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

.brand-import-panel .section-heading {
  grid-column: 1 / -1;
  margin-bottom: 0;
}

.document-designer {
  display: grid;
  gap: 14px;
}

.designer-toolbar {
  align-items: center;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(260px, 1fr) minmax(220px, 0.8fr) auto auto auto;
}

.designer-toolbar h3 {
  margin: 0;
}

.designer-shell {
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(210px, 0.65fr) minmax(460px, 1.35fr) minmax(260px, 0.8fr);
}

.designer-panel,
.designer-canvas {
  min-width: 0;
}

.designer-element-grid {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.designer-element-grid button {
  min-height: 46px;
  color: var(--ebe-text);
  background: rgba(17, 24, 39, 0.82);
  border: 1px solid rgba(31, 41, 55, 0.95);
  border-radius: 10px;
  font-weight: 800;
}

.designer-element-grid button:hover {
  color: var(--ebe-gold);
  border-color: rgba(212, 160, 23, 0.42);
}

.designer-canvas {
  overflow: auto;
  padding: 18px;
}

.document-page {
  width: min(100%, 794px);
  min-height: 950px;
  margin: 0 auto;
  padding: 26px;
  color: #111827;
  background: #fffaf2;
  border: 1px solid rgba(212, 160, 23, 0.32);
  border-radius: 8px;
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.28);
}

.document-page-header {
  display: flex;
  gap: 14px;
  align-items: center;
  margin-bottom: 18px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--ebe-gold);
}

.document-logo {
  display: grid;
  width: 76px;
  height: 46px;
  place-items: center;
  color: #111827;
  background: var(--ebe-gold);
  border-radius: 6px;
  font-weight: 950;
}

.document-page-header span {
  display: block;
  margin-top: 3px;
  color: #4b5563;
  font-size: 0.78rem;
}

.designer-page-element {
  display: grid;
  gap: 4px;
  width: 100%;
  margin-bottom: 8px;
  padding: 9px 10px;
  text-align: left;
  border: 1px dashed rgba(17, 24, 39, 0.22);
  border-radius: 6px;
}

.designer-page-element.active {
  border-color: var(--ebe-gold);
  box-shadow: 0 0 0 3px rgba(212, 160, 23, 0.18);
}

.designer-page-element small {
  color: #6b7280;
  font-size: 0.65rem;
  font-weight: 900;
  text-transform: uppercase;
}

.designer-empty {
  display: grid;
  min-height: 360px;
  place-items: center;
  color: #6b7280;
  border: 1px dashed rgba(17, 24, 39, 0.2);
  border-radius: 8px;
}

.designer-properties {
  display: grid;
  gap: 12px;
}

.designer-properties label,
.element-editor {
  min-width: 0;
}

.element-editor {
  display: grid;
  gap: 12px;
  padding: 12px;
  background: rgba(8, 13, 24, 0.72);
  border: 1px solid rgba(212, 160, 23, 0.18);
  border-radius: 12px;
}

.import-documents {
  display: grid;
  gap: 16px;
}

.import-document-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(300px, 0.8fr) minmax(300px, 1fr);
}

.upload-drop-zone {
  display: grid;
  gap: 10px;
  min-height: 260px;
  place-items: center;
  padding: 24px;
  text-align: center;
  background: rgba(8, 13, 24, 0.72);
  border: 1px dashed rgba(212, 160, 23, 0.48);
  border-radius: 14px;
}

.upload-drop-zone label {
  position: relative;
  display: inline-grid;
  place-items: center;
  min-width: 150px;
}

.upload-drop-zone input[type="file"] {
  position: absolute;
  inset: 0;
  opacity: 0;
}

.upload-drop-zone small {
  max-width: 380px;
  color: var(--ebe-muted);
  line-height: 1.5;
}

.import-settings {
  display: grid;
  gap: 12px;
  align-content: start;
}

.tender-intelligence {
  display: grid;
  gap: 16px;
}

.tender-actions,
.tender-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.connector-status-grid,
.tender-card-grid,
.tender-detail-grid {
  display: grid;
  gap: 14px;
}

.connector-status-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.connector-status-grid article,
.tender-card,
.tender-detail-grid article,
.tender-list-panel {
  color: var(--ebe-text);
  background: linear-gradient(145deg, rgba(17, 24, 39, 0.88), rgba(8, 13, 24, 0.82));
  border: 1px solid rgba(31, 41, 55, 0.95);
  border-radius: var(--ebe-radius-card);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.22);
}

.connector-status-grid article {
  display: grid;
  gap: 8px;
  padding: 14px;
}

.connector-status-grid small,
.tender-detail-grid span,
.tender-list-panel p,
.tender-card dt {
  color: var(--ebe-muted);
}

.tender-card-grid {
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}

.tender-card {
  display: grid;
  gap: 14px;
  padding: 18px;
}

.tender-card h3 {
  margin: 0;
  font-size: 1.05rem;
}

.tender-card dl,
.tender-detail-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tender-card dl {
  display: grid;
  gap: 10px;
  margin: 0;
}

.tender-card dt {
  font-size: 0.68rem;
  font-weight: 900;
  text-transform: uppercase;
}

.tender-card dd {
  margin: 3px 0 0;
  font-weight: 800;
}

.tender-workspace {
  display: grid;
  gap: 14px;
}

.tender-workspace-drawer {
  max-width: min(1120px, calc(100vw - 28px));
  width: min(1120px, calc(100vw - 28px));
  animation: tenderDrawerIn 220ms ease-out;
}

.tender-workspace-drawer .tender-workspace {
  min-height: calc(100vh - 44px);
}

.tender-workspace-drawer .section-heading {
  position: sticky;
  top: -22px;
  z-index: 2;
  padding: 0 0 14px;
  background: rgba(8, 13, 24, 0.98);
  border-bottom: 1px solid rgba(212, 160, 23, 0.16);
}

.tender-workspace-drawer h3:focus {
  outline: 3px solid rgba(212, 160, 23, 0.56);
  outline-offset: 4px;
  border-radius: 8px;
}

@keyframes tenderDrawerIn {
  from {
    opacity: 0;
    transform: translateX(24px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.tender-workspace-body {
  min-height: 260px;
}

.tender-detail-grid article,
.tender-list-panel {
  padding: 14px;
}

.tender-detail-grid strong {
  display: block;
  margin-top: 4px;
}

.tender-list-panel {
  display: grid;
  gap: 10px;
}

.tender-list-panel h4 {
  margin: 0;
}

.tender-card.selected {
  border-color: rgba(212, 160, 23, 0.62);
  box-shadow: 0 0 0 3px rgba(212, 160, 23, 0.14), 0 22px 54px rgba(0, 0, 0, 0.28);
}

.tender-card[role="button"] {
  cursor: pointer;
}

.compliance-checklist-grid,
.ai-analysis-grid,
.pipeline-board {
  display: grid;
  gap: 12px;
}

.compliance-checklist-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.compliance-checklist-grid article,
.ai-analysis-grid article,
.pipeline-board article {
  color: var(--ebe-text);
  background: rgba(8, 13, 24, 0.72);
  border: 1px solid rgba(31, 41, 55, 0.95);
  border-radius: var(--ebe-radius-card);
  padding: 14px;
}

.compliance-checklist-grid article {
  align-items: center;
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.ai-analysis-grid {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.ai-analysis-grid article span {
  color: var(--ebe-muted);
  display: block;
  font-size: 0.72rem;
  font-weight: 900;
  margin-bottom: 6px;
  text-transform: uppercase;
}

.ai-analysis-grid .tender-list-panel {
  grid-column: 1 / -1;
}

.pipeline-board {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.pipeline-board article {
  align-content: start;
  display: grid;
  gap: 10px;
  min-height: 160px;
}

.pipeline-board article > strong {
  color: var(--ebe-gold);
}

.pipeline-board article > p {
  color: var(--ebe-muted);
  margin: 0;
}

.pipeline-item {
  display: grid;
  gap: 8px;
  padding: 10px;
  background: rgba(17, 24, 39, 0.8);
  border: 1px solid rgba(212, 160, 23, 0.18);
  border-radius: 10px;
}

.pipeline-item button {
  display: grid;
  gap: 4px;
  padding: 0;
  color: var(--ebe-text);
  text-align: left;
  background: transparent;
  border: 0;
}

.pipeline-item small {
  color: var(--ebe-muted);
  line-height: 1.35;
}

.pipeline-item select {
  min-height: 34px;
}

.drawer-backdrop {
  background: rgba(0, 0, 0, 0.42);
  backdrop-filter: blur(5px);
}

.drawer-panel {
  background: rgba(8, 13, 24, 0.96);
  border-left: 1px solid rgba(212, 160, 23, 0.24);
}

.table-wrap {
  border-color: rgba(31, 41, 55, 0.95);
  border-radius: var(--ebe-radius-card);
}

table {
  color: var(--ebe-text);
}

thead th {
  color: var(--ebe-gold);
  background: rgba(8, 13, 24, 0.92);
}

tbody td {
  border-color: rgba(255, 255, 255, 0.06);
}

.eag-pricing-engine {
  background: linear-gradient(180deg, rgba(12, 18, 30, 0.98), rgba(8, 13, 24, 0.98));
  border: 1px solid rgba(212, 160, 23, 0.26);
  border-radius: 14px;
}

.eag-pricing-engine .metric-card,
.eag-pricing-engine .module-card {
  color: #f4f6f8;
  background: rgba(14, 22, 36, 0.94);
  border: 1px solid rgba(212, 160, 23, 0.18);
  box-shadow: 0 20px 48px rgba(0, 0, 0, 0.34);
}

.eag-pricing-engine .metric-card p,
.eag-pricing-engine .metric-card span,
.eag-pricing-engine .module-card p {
  color: #9fb1c8;
}

.eag-pricing-engine .metric-card strong {
  color: #f7d477;
}

.eag-pricing-engine .settings-list {
  display: grid;
  max-width: none;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.eag-pricing-engine .settings-list label {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 8px;
  min-height: 116px;
  padding: 12px;
  color: #d9e2ef;
  background: rgba(15, 23, 36, 0.88);
  border: 1px solid rgba(212, 160, 23, 0.2);
  border-radius: 10px;
}

.eag-pricing-engine .settings-list label > span {
  color: #9eb0c6;
  font-weight: 600;
}

.eag-pricing-engine .settings-list input,
.eag-pricing-engine .settings-list select,
.eag-pricing-engine .settings-list textarea {
  width: 100%;
  min-height: 40px;
  height: auto;
  padding: 10px 12px;
  color: #f4f6f8;
  background: #0f1724;
  border: 1px solid #3a4353;
  border-radius: 8px;
  opacity: 1;
  visibility: visible;
  appearance: auto;
}

.eag-pricing-engine .settings-list input::placeholder,
.eag-pricing-engine .settings-list textarea::placeholder {
  color: rgba(158, 176, 198, 0.9);
}

.eag-pricing-engine .settings-list select option {
  color: #f4f6f8;
  background: #0f1724;
}

.eag-pricing-engine .settings-list input:focus,
.eag-pricing-engine .settings-list select:focus,
.eag-pricing-engine .settings-list textarea:focus {
  outline: none;
  border-color: #d4a017;
  box-shadow: 0 0 0 2px rgba(212, 160, 23, 0.24);
}

.eag-pricing-engine .settings-list input[type='checkbox'],
.eag-pricing-engine .settings-list input[type='radio'] {
  width: 18px;
  min-width: 18px;
  min-height: 18px;
  height: 18px;
  padding: 0;
}

.eag-pricing-engine .table-wrap {
  border: 1px solid rgba(212, 160, 23, 0.2);
  background: rgba(9, 14, 24, 0.9);
  max-height: none;
  overflow-x: auto;
  overflow-y: visible;
  overscroll-behavior: auto;
  touch-action: pan-y;
}

.eag-pricing-engine table {
  color: #f4f6f8;
}

.eag-pricing-engine thead th {
  color: #d4a017;
  background: rgba(8, 13, 24, 0.94);
}

.eag-pricing-engine tbody td {
  color: #e5ebf5;
  border-color: rgba(255, 255, 255, 0.08);
  background: rgba(15, 23, 36, 0.36);
}

.eag-pricing-engine tbody tr:hover {
  background: rgba(40, 58, 82, 0.28);
}

.eag-pricing-engine .primary-button {
  color: #111827;
  background: linear-gradient(135deg, #f6d57b, #d4a017);
  border-color: rgba(212, 160, 23, 0.85);
}

.eag-pricing-engine .secondary-button {
  color: #f4f6f8;
  background: rgba(16, 24, 39, 0.86);
  border-color: rgba(212, 160, 23, 0.36);
}

.eag-pricing-engine .primary-button:hover,
.eag-pricing-engine .secondary-button:hover {
  border-color: rgba(212, 160, 23, 0.8);
}

.eag-pricing-engine .vehicle-summary-card h4 {
  margin-bottom: 0.35rem;
}

.eag-pricing-engine .vehicle-summary-card p {
  margin: 0;
  color: #f6d57b;
  font-weight: 600;
}

.eag-pricing-engine .vehicle-summary-card small {
  color: rgba(214, 227, 245, 0.78);
}

@media (max-width: 1280px) {
  .eag-pricing-engine .settings-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .eag-pricing-engine .settings-list {
    grid-template-columns: 1fr;
  }
}

.floating-ai-button {
  position: fixed;
  right: 24px;
  bottom: 28px;
  z-index: 120;
  display: grid;
  width: 72px;
  height: 72px;
  place-items: center;
  color: #111827;
  background:
    radial-gradient(circle at 32% 26%, #fff5b8, transparent 18px),
    linear-gradient(135deg, #ffd66b, var(--ebe-gold));
  border: 1px solid rgba(255, 214, 106, 0.72);
  border-radius: 999px;
  box-shadow: 0 0 0 0 rgba(212, 160, 23, 0.34), 0 24px 60px rgba(0, 0, 0, 0.36);
  font-size: 1.05rem;
  font-weight: 950;
  animation: ebePulse 2.4s ease-in-out infinite;
}

@keyframes ebePulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(212, 160, 23, 0.34), 0 24px 60px rgba(0, 0, 0, 0.36);
    transform: translateY(0);
  }
  50% {
    box-shadow: 0 0 0 12px rgba(212, 160, 23, 0), 0 30px 70px rgba(0, 0, 0, 0.42);
    transform: translateY(-2px);
  }
}

.product-footer {
  display: flex;
  justify-content: center;
  gap: 12px;
  color: var(--ebe-muted);
  background: rgba(8, 13, 24, 0.94);
  border-top: 1px solid rgba(31, 41, 55, 0.95);
}

.product-footer strong {
  color: var(--ebe-text);
}

.splash-screen {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 28px;
  color: var(--ebe-text);
  background:
    radial-gradient(circle at 20% 10%, rgba(212, 160, 23, 0.22), transparent 30%),
    radial-gradient(circle at 82% 78%, rgba(34, 197, 94, 0.1), transparent 28%),
    linear-gradient(135deg, #04070d 0%, #0b111d 52%, #05070c 100%);
}

.splash-card {
  display: grid;
  gap: 18px;
  justify-items: center;
  width: min(500px, 100%);
  padding: 42px 42px 36px;
  text-align: center;
  background: linear-gradient(165deg, rgba(10, 15, 28, 0.95), rgba(6, 10, 19, 0.9));
  border: 1px solid rgba(212, 160, 23, 0.28);
  border-radius: 20px;
  box-shadow:
    0 40px 120px rgba(0, 0, 0, 0.5),
    inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.splash-card img {
  width: min(248px, 72vw);
  height: auto;
}

.splash-title-block {
  display: grid;
  gap: 8px;
}

.splash-card h1 {
  margin: 0;
  font-size: clamp(1.8rem, 4vw, 2.5rem);
  letter-spacing: 0.015em;
}

.splash-card h2 {
  margin: 0;
  font-size: clamp(1rem, 2.4vw, 1.22rem);
  font-weight: 500;
  color: rgba(226, 232, 240, 0.88);
}

.splash-card p {
  margin: 0;
  color: rgba(203, 213, 225, 0.82);
}

.splash-loader {
  display: grid;
  gap: 10px;
  width: min(270px, 100%);
  margin-top: 6px;
}

.splash-loader-track {
  height: 6px;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.2);
  overflow: hidden;
  border: 1px solid rgba(212, 160, 23, 0.18);
}

.splash-loader-fill {
  display: block;
  width: 40%;
  height: 100%;
  background: linear-gradient(90deg, rgba(212, 160, 23, 0.3), rgba(245, 199, 87, 0.95), rgba(212, 160, 23, 0.3));
  border-radius: inherit;
  animation: splashLoaderSlide 1.25s ease-in-out infinite;
}

.splash-loader p {
  font-size: 0.9rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: rgba(203, 213, 225, 0.9);
}

@keyframes splashLoaderSlide {
  0% {
    transform: translateX(-120%);
  }
  50% {
    transform: translateX(160%);
  }
  100% {
    transform: translateX(320%);
  }
}

.forge-login {
  min-height: 100vh;
  padding: clamp(20px, 4vw, 54px);
  background:
    linear-gradient(90deg, rgba(4, 7, 13, 0.72), rgba(4, 7, 13, 0.96)),
    radial-gradient(circle at 12% 18%, rgba(212, 160, 23, 0.2), transparent 32%),
    #05070c;
}

.forge-login-panel {
  width: min(1180px, 100%);
  min-height: min(720px, calc(100vh - 80px));
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(360px, 0.75fr);
  gap: clamp(22px, 4vw, 56px);
  align-items: center;
  margin: 0 auto;
}

.forge-login-hero {
  display: grid;
  gap: 18px;
  align-content: center;
  max-width: 680px;
}

.login-logo {
  width: min(320px, 70vw);
  height: auto;
}

.forge-login-hero h1 {
  max-width: 620px;
  margin: 0;
  font-size: clamp(2.35rem, 6vw, 5rem);
  line-height: 0.95;
}

.forge-login-hero p {
  max-width: 620px;
  color: var(--ebe-muted);
  font-size: 1.05rem;
}

.login-announcements {
  display: grid;
  gap: 10px;
  max-width: 620px;
  padding: 18px;
  background: rgba(8, 13, 24, 0.74);
  border: 1px solid rgba(212, 160, 23, 0.2);
  border-radius: var(--ebe-radius-card);
}

.login-announcements strong {
  color: var(--ebe-gold);
  text-transform: uppercase;
  letter-spacing: 0;
}

.login-announcements ul {
  display: grid;
  gap: 8px;
  padding-left: 18px;
  margin: 0;
  color: var(--ebe-muted);
}

.forge-login-card {
  width: 100%;
  padding: clamp(22px, 3vw, 34px);
  background: rgba(8, 13, 24, 0.92);
  border: 1px solid rgba(212, 160, 23, 0.28);
  border-radius: 18px;
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.4);
}

.sso-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 10px;
}

@media (max-width: 860px) {
  .login-screen {
    gap: 28px;
    padding: 22px;
    overflow-y: auto;
  }

  .login-hero {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .login-logo-lockup {
    align-items: flex-start;
  }

  .login-logo-lockup img {
    width: 78px;
    height: 78px;
  }

  .login-platform-pill {
    width: 100%;
    min-width: 0;
  }

  .login-hero-copy {
    margin-top: 4px;
    padding-left: 18px;
  }

  .login-hero-copy h2 {
    font-size: clamp(1.9rem, 11vw, 3.2rem);
  }

  .login-screen .login-card {
    grid-template-columns: 1fr;
    width: 100%;
    gap: 28px;
  }

  .login-auth-panel {
    padding-left: 0;
  }

  .login-auth-icon {
    position: static;
    width: 58px;
    height: 58px;
  }

  .login-security-panel {
    padding-top: 26px;
    padding-left: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.18);
    border-left: 0;
  }

  .forge-login-panel {
    grid-template-columns: 1fr;
  }

  .forge-login-hero h1 {
    font-size: clamp(2.1rem, 12vw, 3.5rem);
  }
}

@media (max-width: 520px) {
  .login-screen {
    padding: 16px;
  }

  .login-logo-lockup {
    display: grid;
    gap: 14px;
  }

  .login-logo-lockup h1 {
    font-size: clamp(2.2rem, 15vw, 3.4rem);
  }

  .login-logo-lockup span {
    letter-spacing: 0.1em;
  }

  .login-screen .login-card {
    padding: 22px;
    border-radius: 16px;
  }

  .security-heading,
  .security-row {
    align-items: flex-start;
  }

  .login-screen .sso-row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1180px) {
  .topbar {
    flex-direction: row;
  }

  .topbar-controls {
    flex-basis: 100%;
    width: 100%;
  }

  .topbar-controls,
  .launch-two-column {
    grid-template-columns: 1fr;
  }

  .switcher-row {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr));
  }

  .header-actions {
    margin-left: 0;
    justify-content: flex-start;
  }
}

@media (max-width: 760px) {
  .app-shell {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
  }

  .sidebar {
    position: sticky;
    width: 76px;
  }

  .brand-lockup {
    justify-content: center;
    padding-inline: 10px;
  }

  .brand-lockup div:not(.brand-mark),
  .sidebar-heading,
  .workspace-nav,
  .nav-item span:last-child,
  .sidebar-status span:not(.status-dot),
  .sidebar-footer {
    display: none;
  }

  .sidebar-scroll {
    padding-inline: 10px;
  }

  .nav-item {
    justify-content: center;
    padding: 8px;
  }

  .sidebar-status {
    justify-content: center;
    margin-inline: 10px;
    padding: 10px;
  }

  .sidebar-company-mark {
    width: 34px;
    height: 34px;
  }

  .topbar {
    position: relative;
    padding: 10px 12px 0;
  }

  .company-hero {
    min-height: 142px;
    margin-inline: -12px;
  }

  .quick-create-grid,
  .executive-action-bar,
  .designer-toolbar,
  .designer-shell,
  .import-document-grid,
  .tender-card dl,
  .tender-detail-grid,
  .brand-upload-panel,
  .brand-import-panel {
    grid-template-columns: 1fr;
  }

  .floating-ai-button {
    right: 16px;
    bottom: 18px;
    width: 58px;
    height: 58px;
  }
}

  .workspace-brand-pill {
    margin-top: 10px;
  }

  .workspace-engine-indicator {
    display: flex;
    justify-content: flex-end;
    margin: 8px 0 14px;
  }

  .workspace-engine-badge {
    color: #f8fbff;
    background: #172033;
    border: 1px solid rgba(244, 201, 93, 0.4);
  }
