﻿:root { --ok:#2b7552; --warn:#936500; --bad:#b8333b; }
.site-header { background:#142b49; color:#fff; height:88px; gap:36px; padding-inline:4%; }
.brand-symbol { display:grid;place-items:center;background:#fff;color:#214a7b;border-radius:6px;width:39px;height:39px;font-size:28px;font-weight:650; }
.brand-lockup { font-size:20px;letter-spacing:-.4px; }
.brand-sub { font-size:10px;letter-spacing:1.3px; }
.site-header nav a { color:#dbe5f2; }
.site-header .workspace-link,.directory-page .site-header .directory-link { background:#294565;color:#fff; }
.directory-page .site-header .workspace-link { color:#dbe5f2; }
.account-menu { margin-left:auto;display:flex;align-items:center;gap:16px; }
.account-menu strong,.account-menu small { display:block; }
.account-menu strong { font-size:12px;font-weight:500; }
.account-menu small { color:#b7c9df;font-size:10px;margin-top:3px; }
.account-menu button { color:#fff;background:transparent;border:1px solid #58708e;font-size:11px;padding:7px 12px; }
.workspace-top h1 { font-size:27px;font-weight:600; }
.eyebrow { font:600 10px/1.5 'Segoe UI',sans-serif;letter-spacing:1.2px; }
.app,.admin-app { padding-top:30px; }
.workspace-grid { gap:28px;grid-template-columns:minmax(0,1fr) 275px; }
.chat-shell { border-radius:8px;box-shadow:0 3px 14px #23375308; }
.chat-header { background:#fafbfd; }
.chat-header strong { font-weight:600; }
.signal-dot { background:#2b7552; }
.dashboard-banner { padding-top:32px; }
.dashboard-banner h2 { font-size:34px;letter-spacing:-.8px;line-height:1.25;font-weight:550; }
.dashboard-banner h2 span { color:#566d88;font-size:27px;font-weight:400; }
.examples button { background:#f8fafc;font-size:12px;border-radius:5px; }
.composer { box-shadow:0 2px 5px #20395806; }
.chat-footnote { color:#68788d;letter-spacing:.6px; }
.mission-panel { padding:22px;background:#fff;border:1px solid var(--line);border-radius:8px;align-self:start; }
.mission-panel h2 { font-size:22px; }
.program-badge { display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:24px; }
.program-icon { width:40px;height:40px;display:grid;place-items:center;background:#e9f0fa;color:#255a9e;border-radius:6px;font-size:25px;font-weight:600; }
.program-badge strong { font-size:13px;font-weight:600; }
.program-badge p { font-size:10px;margin:3px 0 0; }
.directory-cta { padding:16px; }
.directory-cta strong { font-size:17px; }
.mission-steps { margin-bottom:24px; }
.mission-steps strong { font-weight:600; }
.topbar h1 { font-size:32px;letter-spacing:-.7px;font-weight:600; }
.endpoint-route:hover { background:#edf3fb; }
.method { color:#24613f; }
.status strong { color:#24613f;background:#e8f2eb; }
.access-note { display:none;padding:12px 16px;border:1px solid #cbd9ea;background:#eaf1fa;border-radius:5px;font-size:12px;margin-bottom:22px; }
body[data-role=analyst] .analyst-note,body[data-role=auditor] .auditor-note { display:block; }
body[data-role=analyst] #hitl-approve,body[data-role=analyst] #hitl-reject,body[data-role=auditor] .hitl-actions,body[data-role=auditor] #chat-form,body[data-role=auditor] .examples,body[data-role=auditor] .settings-drawer { display:none; }
body[data-role=analyst] label:has(#approved),body[data-role=analyst] #test-llm,body[data-role=analyst] #unload-llm,body[data-role=analyst] label:has(#llm-unload-after-test) { display:none; }
.login-page { min-height:100vh;display:grid;place-items:center;padding:40px 24px;background:#edf1f6; }
.login-layout { width:min(1060px,100%);display:grid;grid-template-columns:.95fr 1fr;border-radius:10px;overflow:hidden;box-shadow:0 18px 60px #192f4b16;background:#fff; }
.login-intro { background:#142b49;color:#fff;padding:45px;display:flex;flex-direction:column;justify-content:space-between;gap:70px; }
.login-intro .eyebrow { color:#a8c5e7;font-size:9px; }
.login-intro h1 { font-size:44px;line-height:1.18;letter-spacing:-1px;margin:20px 0; }
.login-intro p { color:#c4d1e2;font-size:13px;line-height:1.9; }
.login-assurance { display:grid;gap:12px;font-size:11px;color:#c4d1e2;border-top:1px solid #3d526e;padding-top:22px; }
.login-content { padding:48px; }
.demo-tag { color:#255a9e;background:#edf3fb;padding:5px 8px;font-size:9px;letter-spacing:1px;font-weight:650;border-radius:3px; }
.login-content h2 { font-size:29px;font-weight:600;letter-spacing:-.5px;margin:24px 0 7px; }
.login-content>p { font-size:12px; }
#login-form { display:grid;gap:18px;margin-top:28px; }
#login-form label { color:#33465f;font-size:12px;font-weight:500; }
#login-form input:not([type=checkbox]) { height:44px;background:#fff;padding:10px 12px; }
#login-form .check { font-size:11px; }
#login-form .primary-btn { min-height:43px;font-size:13px; }
.login-error { font-size:12px;color:#b8333b;margin:0; }
.login-error:empty { display:none; }
.role-guide { border-top:1px solid var(--line);margin-top:30px;padding-top:20px; }
.role-guide h3 { font-size:11px;font-weight:600;margin-bottom:15px; }
.role-guide p { margin:12px 0;font-size:11px; }
.role-guide strong { display:block;color:#33465f;font-weight:600; }
.role-guide span { display:block;font-size:10px;margin-top:3px; }
.login-footer { font-size:9px!important;margin:25px 0 0;color:#7b8899; }
@media(max-width:1000px) { .site-header { gap:15px; }.site-header nav a { padding:9px 10px; }.workspace-grid { grid-template-columns:minmax(0,1fr) 240px;gap:20px; }.login-intro,.login-content { padding:32px; } }
@media(max-width:760px) { .site-header { height:auto;flex-wrap:wrap;padding:18px; }.account-menu { gap:10px; }.site-header nav { order:3;width:100%; }.workspace-grid { grid-template-columns:1fr; }.dashboard-banner h2 { font-size:27px; }.dashboard-banner h2 span { font-size:23px; }.login-layout { grid-template-columns:1fr;max-width:480px; }.login-intro { padding:26px;gap:20px; }.login-intro>div,.login-assurance { display:none; }.login-page { padding:20px 12px; }.login-content { padding:28px; }.topbar h1 { font-size:27px; } }
.saved-history { margin: 16px 0; padding: 18px; background: #fff; border: 1px solid #dce3ec; border-radius: 8px; }
.saved-history summary { cursor: pointer; font-weight: 600; }
.saved-history button { margin: 8px 8px 0 0; padding: 9px 12px; border: 1px solid #bdc9d8; border-radius: 5px; background: #f4f7fb; color: #173e67; cursor: pointer; }
.saved-history pre { white-space: pre-wrap; overflow-wrap: anywhere; }
/* QCS corporate navigation and assessment workspace. Shared visual contract. */body.qcs-workspace{background:#f3f6fb;color:#172b4d;font-family:Inter,"Segoe UI",sans-serif}:where(body.qcs-workspace) [hidden]{display:none!important}:where(body.qcs-workspace) .site-header{height:78px;box-sizing:border-box;background:linear-gradient(110deg,#10254a,#183f73);border-bottom:3px solid #22b8b0;position:relative;z-index:5;padding:14px 30px;display:flex;align-items:center;gap:24px;color:white}:where(body.qcs-workspace) .site-header a{color:inherit}:where(body.qcs-workspace) .site-header .brand-symbol{background:#fff;color:#184d98;border-radius:10px}:where(body.qcs-workspace) .site-header .account-menu{margin-left:auto}:where(body.qcs-workspace) .site-header small{color:#cedcf0}body.qcs-workspace>main,body.qcs-workspace>.app{max-width:none;margin:0 0 0 248px;padding:32px 38px;min-height:calc(100vh - 78px)}:where(body.qcs-workspace) .primary-nav,:where(body.qcs-workspace) .qcs-side-nav{box-sizing:border-box;position:absolute;left:0;top:78px;width:248px;min-height:calc(100vh - 78px);background:#10254a;padding:24px 14px;display:flex;flex-direction:column;gap:7px;border:0;border-radius:0;color:#d4e1f5}:where(body.qcs-workspace) .primary-nav button,:where(body.qcs-workspace) .qcs-side-nav button{display:block;width:100%;text-align:left;background:transparent;color:#d4e1f5;border:0;border-radius:7px;padding:13px 16px;font:500 14px "Segoe UI",sans-serif;cursor:pointer}:where(body.qcs-workspace) .primary-nav button:hover,:where(body.qcs-workspace) .qcs-side-nav button:hover{background:#203e66}:where(body.qcs-workspace) .primary-nav button[aria-current=page],:where(body.qcs-workspace) .qcs-side-nav button[aria-current=page]{background:#245ac0;color:white;box-shadow:inset 3px 0 #45ded0}:where(body.qcs-workspace) .nav-caption,:where(body.qcs-workspace) .primary-nav summary{font-size:10px;letter-spacing:1.6px;padding:10px 16px;color:#9db6d9}:where(body.qcs-workspace) .primary-nav .saved-navigation{border:0;padding:0;background:transparent;margin:14px 0 0}:where(body.qcs-workspace) .primary-nav .saved-navigation>summary{display:none}:where(body.qcs-workspace) .primary-nav .saved-navigation>nav{display:block!important;position:static;box-shadow:none;background:transparent;padding:0;border:0}:where(body.qcs-workspace) .workspace-grid{display:block}:where(body.qcs-workspace) .workspace-content{min-width:0}:where(body.qcs-workspace) .workspace-content>section,:where(body.qcs-workspace) .qcs-main-section{padding:28px;background:white;border:1px solid #dce5f1;border-radius:12px;box-shadow:0 4px 18px #142b4910}:where(body.qcs-workspace) h1{font-size:30px;letter-spacing:-.7px}:where(body.qcs-workspace) h2{letter-spacing:-.4px}:where(body.qcs-workspace) p{line-height:1.65}:where(body.qcs-workspace) .journey-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:25px 0}:where(body.qcs-workspace) .journey-cards article{border:1px solid #dbe5f2;border-top:4px solid #2474d6;border-radius:10px;background:#f8fbff;padding:22px}:where(body.qcs-workspace) .journey-cards article:nth-child(2){border-top-color:#0d9488}:where(body.qcs-workspace) .journey-cards article:nth-child(3){border-top-color:#7c3aed}:where(body.qcs-workspace) .section-link{display:inline-block;padding:12px 18px;background:#245ac0;color:white;border-radius:7px;text-decoration:none}:where(body.qcs-workspace) button:focus-visible,:where(body.qcs-workspace) a:focus-visible,:where(body.qcs-workspace) summary:focus-visible{outline:3px solid #16b8a6;outline-offset:3px}:where(body.qcs-workspace) .chat-launcher{position:fixed;right:28px;bottom:24px;z-index:20;border:0;background:#245ac0;color:white;border-radius:28px;padding:16px 24px;box-shadow:0 8px 24px #183a7750;font-weight:650;cursor:pointer}:where(body.qcs-workspace) .qcs-chat-drawer{box-sizing:border-box;position:fixed;inset:0 0 0 auto;margin:0;width:min(620px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;padding:0 24px 24px;border:0;border-left:1px solid #dce5f1;background:#fff;color:#172b4d;box-shadow:-12px 0 48px #10254a30;overflow-y:auto}:where(body.qcs-workspace) .qcs-chat-drawer::backdrop{background:#10254a65}:where(body.qcs-workspace) .drawer-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;position:sticky;top:0;background:#fff;z-index:2;padding:22px 0;border-bottom:1px solid #dce5f1;margin-bottom:20px}:where(body.qcs-workspace) .drawer-heading h2{margin:4px 0;font-size:22px}:where(body.qcs-workspace) .drawer-heading small{font-size:10px;color:#526985;letter-spacing:1.3px}:where(body.qcs-workspace) .qcs-chat-drawer .chat-shell{border:0;box-shadow:none}:where(body.qcs-workspace) .qcs-chat-drawer .chat-header{display:none}:where(body.qcs-workspace) .qcs-chat-drawer #chat-panel{padding:0;border:0}:where(body.qcs-workspace) .qcs-chat-drawer #messages{max-height:none}:where(body.qcs-workspace) .qcs-chat-drawer input,:where(body.qcs-workspace) .qcs-chat-drawer textarea,:where(body.qcs-workspace) .qcs-chat-drawer select{max-width:100%;box-sizing:border-box}:where(body.qcs-workspace) .qcs-chat-drawer .fields{grid-template-columns:1fr}:where(body.qcs-workspace) .qcs-rag-legend{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 24px;font-size:12px}:where(body.qcs-workspace) .qcs-rag-legend span,:where(body.qcs-workspace) .rating{display:inline-block;padding:6px 10px;border-radius:5px;font-weight:650}:where(body.qcs-workspace) .rating-critical,:where(body.qcs-workspace) .qcs-rag-legend .critical{color:#991b1b;background:#fee2e2;border-left:4px solid #b91c1c}:where(body.qcs-workspace) .rating-high,:where(body.qcs-workspace) .qcs-rag-legend .high{color:#a12620;background:#ffebe7;border-left:4px solid #dc493a}:where(body.qcs-workspace) .rating-medium,:where(body.qcs-workspace) .qcs-rag-legend .medium{color:#854d0e;background:#fef3c7;border-left:4px solid #d99b07}:where(body.qcs-workspace) .rating-low,:where(body.qcs-workspace) .qcs-rag-legend .low{color:#166534;background:#dcfce7;border-left:4px solid #16a34a}:where(body.qcs-workspace) .rating-unknown,:where(body.qcs-workspace) .qcs-rag-legend .unknown{color:#475569;background:#e2e8f0;border-left:4px solid #64748b}:where(body.qcs-workspace) .vuln-card.critical{background:#fee2e2;color:#991b1b}:where(body.qcs-workspace) .vuln-card.high{background:#ffebe7;color:#a12620}:where(body.qcs-workspace) .vuln-card.medium{background:#fef3c7;color:#854d0e}:where(body.qcs-workspace) .vuln-card.low{background:#dcfce7;color:#166534}:where(body.qcs-workspace) table{width:100%;border-collapse:collapse}:where(body.qcs-workspace) th{background:#edf2f9;color:#334d70;text-align:left}:where(body.qcs-workspace) td,:where(body.qcs-workspace) th{padding:12px;border-bottom:1px solid #e1e8f1}:where(body.qcs-workspace) .workspace-content>section{overflow-x:auto}:where(body.qcs-workspace) .qcs-demo-note{color:#805916;background:#fff6db;border:1px solid #efd492;border-radius:7px;padding:12px 16px}
@media(max-width:1000px){body.qcs-workspace>main,body.qcs-workspace>.app{margin-left:210px;padding:24px}:where(body.qcs-workspace) .primary-nav,:where(body.qcs-workspace) .qcs-side-nav{width:210px}:where(body.qcs-workspace) .journey-cards{grid-template-columns:1fr}}
@media(max-width:700px){:where(body.qcs-workspace) .site-header{height:auto;min-height:78px;padding:14px;flex-wrap:wrap}:where(body.qcs-workspace) .site-header>nav{display:none}body.qcs-workspace>main,body.qcs-workspace>.app{margin:0;padding:18px 14px 90px}:where(body.qcs-workspace) .primary-nav,:where(body.qcs-workspace) .qcs-side-nav{position:static;width:100%;min-height:0;border-radius:10px;margin-bottom:20px;display:grid;grid-template-columns:1fr 1fr;padding:10px}:where(body.qcs-workspace) .primary-nav .saved-navigation{grid-column:1/-1;margin:0}:where(body.qcs-workspace) .primary-nav .saved-navigation>nav{display:grid!important;grid-template-columns:1fr 1fr}:where(body.qcs-workspace) .nav-caption{grid-column:1/-1}:where(body.qcs-workspace) .workspace-content>section{padding:18px}:where(body.qcs-workspace) .chat-launcher{right:16px;bottom:16px}}
