:root {
    --navy: #6f0011;
    --navy-deep: #230006;
    --teal: #a80016;
    --teal-light: #c91d31;
    --sky: #f7eee2;
    --gold: #d2aa5a;
    --gold-light: #f1d99c;
    --burgundy: #8b0014;
    --burgundy-deep: #52000c;
    --ink: #261b1d;
    --muted: #78696c;
    --line: #e8dcde;
    --paper: #ffffff;
    --background: #f8f4f2;
    --shadow: 0 14px 36px rgba(72, 0, 13, .09);
}

html, body { background: var(--background); color: var(--ink); }
body { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
main > .container { padding: 92px 15px 36px; }
.qms-container { max-width: 1320px; }
.qms-navbar { background:rgba(18,0,3,.98); border-bottom:2px solid var(--burgundy); box-shadow:0 3px 18px rgba(49,0,7,.2); min-height:72px; }
.navbar-brand { min-width:92px; padding:0; font-weight:800; letter-spacing:-.02em; }
.bds-navbar-logo { display:block; width:31px; height:54px; object-fit:cover; object-position:left center; }
.bds-navbar-title { margin-left:8px; padding-left:10px; border-left:1px solid rgba(210,170,90,.55); color:var(--gold-light); font-size:.85rem; letter-spacing:.14em; }
.navbar .nav-link { color:rgba(255,255,255,.7); font-size:.88rem; font-weight:600; padding:.72rem .54rem !important; white-space:nowrap; }
.navbar .nav-link:hover, .navbar .nav-link.active { color:var(--gold-light); }
.qms-footer { background:var(--navy-deep); border-top:2px solid var(--burgundy); color:rgba(255,255,255,.64); font-size:.88rem; }

.qms-hero { overflow:hidden; position:relative; border-radius:24px; padding:42px 46px; color:#fff; background:linear-gradient(125deg, #420008 0%, #850013 56%, #ad0019 100%); box-shadow:var(--shadow); }
.qms-hero::after { content:""; position:absolute; width:360px; height:360px; border:70px solid rgba(255,255,255,.07); border-radius:50%; right:-130px; top:-180px; }
.qms-hero::before { content:""; position:absolute; top:0; right:0; bottom:0; width:40%; background:linear-gradient(100deg, transparent, rgba(210,170,90,.12)); clip-path:polygon(38% 0,100% 0,100% 100%,0 100%); }
.qms-hero > .row { position:relative; z-index:1; }
.qms-hero h1 { max-width:720px; margin:9px 0 12px; font-size:clamp(2.25rem, 5vw, 4rem); font-weight:800; letter-spacing:-.055em; line-height:1; }
.qms-hero h1.impact-tagline { max-width:900px; font-size:clamp(2rem,3.8vw,3.35rem); line-height:1.04; letter-spacing:-.045em; text-wrap:balance; }
.qms-hero p { max-width:750px; margin-bottom:26px; color:rgba(255,255,255,.82); font-size:1.1rem; }
.eyebrow, .panel-kicker { font-weight:800; font-size:.72rem; letter-spacing:.16em; }
.eyebrow { color:var(--gold-light); }
.hero-assurance { display:flex; align-items:center; gap:12px; padding:18px; border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.1); border-radius:16px; backdrop-filter:blur(8px); }
.hero-assurance strong, .hero-assurance span { display:block; }
.hero-assurance span { color:rgba(255,255,255,.72); font-size:.88rem; }
.assurance-icon { display:grid !important; place-items:center; width:38px; height:38px; border-radius:50%; background:var(--gold-light); color:var(--burgundy); font-weight:900; }
.hero-progress { height:8px; margin:18px 0 8px; background:rgba(255,255,255,.16); border-radius:10px; overflow:hidden; }
.hero-progress span { display:block; height:100%; background:linear-gradient(90deg,var(--gold),var(--gold-light)); border-radius:10px; }

.metric-card { display:block; min-height:145px; position:relative; overflow:hidden; padding:24px; border:1px solid var(--line); border-radius:18px; background:var(--paper); color:var(--ink); text-decoration:none; box-shadow:0 5px 20px rgba(15,50,70,.04); transition:.2s ease; }
.metric-card:hover { transform:translateY(-3px); box-shadow:var(--shadow); color:var(--ink); }
.metric-icon { float:right; display:grid; place-items:center; width:42px; height:42px; border-radius:12px; font-weight:900; }
.metric-value { display:block; margin-top:6px; font-size:2.5rem; line-height:1; font-weight:800; letter-spacing:-.04em; }
.metric-label { display:block; margin-top:12px; color:var(--muted); font-weight:650; }
.metric-blue .metric-icon { background:#f5e7e9; color:var(--burgundy); }
.metric-amber .metric-icon { background:#fbf0d7; color:#9b701e; }
.metric-rose .metric-icon { background:#f8dfe3; color:#b0001b; }
.metric-green .metric-icon { background:#eee7dc; color:#755922; }

.qms-alert { display:flex; align-items:center; gap:14px; padding:15px 18px; border:1px solid #f1c8ca; background:#fff7f7; border-radius:14px; color:#7a3038; }
.qms-alert span { color:#965b61; }
.qms-alert-icon { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; color:#fff !important; background:#c74654; font-weight:900; }

.qms-panel { padding:24px; border:1px solid var(--line); border-radius:18px; background:var(--paper); box-shadow:0 5px 22px rgba(72,0,13,.045); }
.panel-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; margin-bottom:14px; }
.panel-heading h2 { margin:3px 0 0; font-size:1.35rem; font-weight:800; letter-spacing:-.025em; }
.panel-kicker { color:var(--teal); }
.panel-link { color:var(--teal); font-size:.9rem; font-weight:750; text-decoration:none; }
.panel-link:hover { color:var(--navy); }
.action-row, .capa-row { display:flex; align-items:center; gap:12px; padding:14px 4px; border-top:1px solid #edf1f3; color:var(--ink); text-decoration:none; }
.action-row:hover, .capa-row:hover { color:var(--teal); }
.action-main { flex:1; min-width:0; }
.action-main strong, .action-main small, .capa-row strong, .capa-row .reference { display:block; }
.action-main small, .action-owner, .action-date, .capa-row .reference { color:var(--muted); font-size:.78rem; }
.action-owner { max-width:120px; }
.action-date { min-width:52px; text-align:right; font-weight:700; }
.priority-dot { width:9px; height:9px; flex:0 0 9px; border-radius:50%; background:#6f8794; }
.priority-hoog { background:#d14a58; box-shadow:0 0 0 4px #ffe8ea; }
.capa-row { justify-content:space-between; }
.capa-row > div { min-width:0; }
.capa-row strong { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

.audit-grid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px; }
.audit-card { display:flex; align-items:center; gap:14px; padding:16px; border:1px solid var(--line); border-radius:14px; color:var(--ink); text-decoration:none; }
.audit-card:hover { border-color:#d9a6ae; color:var(--teal); background:#fff9fa; }
.audit-card > span:last-child strong, .audit-card > span:last-child small { display:block; }
.audit-card small { color:var(--muted); }
.audit-date { display:grid; place-items:center; flex:0 0 50px; width:50px; height:54px; border-radius:12px; background:var(--sky); color:var(--navy); font-size:1.2rem; font-weight:850; line-height:1; }
.audit-date small { color:var(--teal); font-size:.65rem; text-transform:uppercase; }
.readiness-panel { background:linear-gradient(150deg, #220005, #6c000f 68%, #920016); color:#fff; }
.readiness-panel .panel-kicker { color:var(--gold-light); }
.readiness-score { margin:12px 0 6px; font-size:4.2rem; font-weight:850; line-height:1; letter-spacing:-.06em; }
.readiness-score small { font-size:1.4rem; }
.readiness-panel p { color:rgba(255,255,255,.75); }
.readiness-panel ul { list-style:none; padding:0; margin:18px 0 0; }
.readiness-panel li { margin:9px 0; color:rgba(255,255,255,.68); }
.readiness-panel li::before { content:"○"; margin-right:9px; }
.readiness-panel li.done { color:#fff; }
.readiness-panel li.done::before { content:"✓"; color:var(--gold-light); }

.page-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:22px; }
.page-heading h1 { margin:0; font-weight:850; letter-spacing:-.04em; }
.page-heading p { margin:5px 0 0; color:var(--muted); }
.content-card { padding:24px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 5px 22px rgba(72,0,13,.045); }
.table { --bs-table-bg: transparent; }
.table > :not(caption) > * > * { padding:.9rem .75rem; border-bottom-color:#e8eef1; vertical-align:middle; }
.table thead th { color:#71838d; font-size:.74rem; letter-spacing:.08em; text-transform:uppercase; border-bottom-width:1px; }
.form-control, .form-select { min-height:46px; border-color:#d6e1e5; border-radius:10px; }
textarea.form-control { min-height:120px; }
.form-control:focus, .form-select:focus { border-color:#bd5968; box-shadow:0 0 0 .2rem rgba(168,0,22,.11); }
.btn-primary { --bs-btn-bg:var(--teal); --bs-btn-border-color:var(--teal); --bs-btn-hover-bg:#790011; --bs-btn-hover-border-color:#790011; --bs-btn-active-bg:#62000e; --bs-btn-active-border-color:#62000e; }
.btn-outline-primary { --bs-btn-color:var(--teal); --bs-btn-border-color:#c77c87; --bs-btn-hover-bg:var(--teal); --bs-btn-hover-border-color:var(--teal); }
.detail-view th { width:28%; color:var(--muted); }
.not-set { color:#a66; font-style:italic; }
.error-summary { color:#8b2631; background:#fff2f3; border-left:3px solid #d44d5c; padding:12px 18px; margin-bottom:15px; }
.form-group { margin-bottom:1rem; }

.qfor-template-card { display:flex; flex-direction:column; padding:24px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 5px 22px rgba(72,0,13,.045); }
.qfor-template-card h2 { margin:10px 0 8px; font-size:1.3rem; font-weight:850; letter-spacing:-.025em; }
.qfor-template-card p { color:var(--muted); }
.qfor-code { align-self:flex-start; padding:6px 10px; border-radius:8px; background:var(--sky); color:var(--teal); font-size:.75rem; font-weight:850; letter-spacing:.08em; }
.qfor-meta { display:flex; justify-content:space-between; gap:10px; margin:auto 0 18px; padding-top:14px; border-top:1px solid var(--line); color:var(--muted); font-size:.78rem; }
.qfor-definition dt { color:var(--muted); font-size:.75rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.qfor-definition dd { margin-bottom:14px; font-weight:700; }

.qfor-section { margin-bottom:22px; padding:26px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 5px 22px rgba(72,0,13,.045); }
.qfor-section-heading { display:flex; align-items:flex-start; gap:14px; margin-bottom:22px; padding-bottom:16px; border-bottom:1px solid var(--line); }
.qfor-section-heading > span { display:grid; place-items:center; flex:0 0 36px; width:36px; height:36px; border-radius:10px; background:var(--navy); color:#fff; font-size:.75rem; font-weight:850; }
.qfor-section-heading h2 { margin:0; font-size:1.2rem; font-weight:850; letter-spacing:-.02em; }
.qfor-section-heading p { margin:4px 0 0; color:var(--muted); font-size:.9rem; }
.dynamic-qfor-form .form-label { color:#324c5a; font-size:.88rem; font-weight:750; }
.dynamic-qfor-form .form-check { display:inline-flex; align-items:center; gap:7px; margin:6px 18px 4px 0; }
.dynamic-qfor-form .form-check-input { margin-top:0; }
.dynamic-qfor-form .form-check label { margin:0; }
.qfor-repeater { padding:18px; border:1px dashed #d5b7bc; border-radius:14px; background:#fcf8f8; }
.qfor-repeater-table { min-width:780px; }
.qfor-repeater-table th { font-size:.72rem !important; }
.qfor-repeater-table td { padding:.45rem !important; }
.qfor-repeater-table .form-control { min-height:38px; }
.repeater-actions { width:44px; }
.qfor-submitbar { position:sticky; bottom:14px; z-index:10; display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:22px; padding:17px 20px; border:1px solid #dfc9cd; border-radius:16px; background:rgba(255,255,255,.96); box-shadow:0 14px 38px rgba(72,0,13,.14); backdrop-filter:blur(10px); }
.qfor-submitbar strong, .qfor-submitbar small { display:block; }
.qfor-submitbar small { color:var(--muted); }

.qfor-record-banner { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:1px; margin-bottom:22px; overflow:hidden; border:1px solid var(--line); border-radius:16px; background:var(--line); }
.qfor-record-banner > div { padding:17px; background:#fff; }
.qfor-record-banner span, .qfor-record-banner strong { display:block; }
.qfor-record-banner span { margin-bottom:4px; color:var(--muted); font-size:.72rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.qfor-readonly { box-shadow:none; }
.qfor-value { height:100%; padding:15px; border:1px solid #e6edef; border-radius:12px; background:#fafcfc; }
.qfor-value > span, .qfor-value > strong { display:block; }
.qfor-value > span { margin-bottom:6px; color:var(--muted); font-size:.75rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.qfor-value > strong { color:var(--ink); font-size:.95rem; }

.employee-card { display:flex; flex-direction:column; padding:24px; border:1px solid var(--line); border-radius:18px; background:#fff; color:var(--ink); text-decoration:none; box-shadow:0 5px 22px rgba(72,0,13,.045); transition:.2s ease; }
.employee-card:hover { transform:translateY(-3px); border-color:#d7aeb5; color:var(--ink); box-shadow:var(--shadow); }
.employee-card-top { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; }
.employee-avatar { display:grid; place-items:center; width:52px; height:52px; border-radius:15px; background:linear-gradient(145deg,var(--burgundy-deep),var(--teal)); color:var(--gold-light); font-size:1rem; font-weight:850; letter-spacing:.06em; box-shadow:inset 0 0 0 1px rgba(210,170,90,.35); }
.employee-avatar-large { flex:0 0 68px; width:68px; height:68px; border-radius:19px; font-size:1.3rem; }
.employee-card h2 { margin:18px 0 5px; font-size:1.3rem; font-weight:850; letter-spacing:-.025em; }
.employee-card > p { min-height:48px; color:var(--muted); }
.responsibility-tags { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:20px; }
.responsibility-tags span { padding:5px 9px; border:1px solid #ead2d6; border-radius:999px; background:#fcf5f6; color:var(--burgundy); font-size:.72rem; font-weight:750; }
.responsibility-tags-large span { padding:8px 12px; font-size:.8rem; }
.employee-card-footer { display:flex; justify-content:space-between; gap:10px; margin-top:auto; padding-top:15px; border-top:1px solid var(--line); color:var(--muted); font-size:.78rem; }
.employee-card-footer strong { color:var(--burgundy); }
.account-activation-card { max-width:680px; }

.governance-profile small,.project-facts small { display:block; margin-bottom:5px; color:var(--muted); font-size:.7rem; font-weight:800; letter-spacing:.09em; }
.governance-profile p { margin:0; color:#56494b; }
.register-row { display:flex; align-items:center; gap:12px; padding:13px 3px; border-top:1px solid var(--line); color:var(--ink); text-decoration:none; }
.register-row:hover { color:var(--burgundy); }
.register-row > span:nth-child(2) { flex:1; min-width:0; }
.register-row strong,.register-row small { display:block; }
.register-row small { margin-top:3px; color:var(--muted); font-size:.78rem; }
.risk-score,.objective-icon { display:grid; place-items:center; flex:0 0 38px; width:38px; height:38px; border-radius:10px; font-weight:850; }
.risk-score.high { background:#f8dfe3; color:#a80016; }.risk-score.medium { background:#fbf0d7;color:#936913}.risk-score.low { background:#e7f3e9;color:#30723b}.objective-icon { background:var(--sky);color:var(--burgundy); }
.project-gates { display:grid; grid-template-columns:repeat(5,1fr); overflow:hidden; border:1px solid var(--line); border-radius:16px; background:#fff; }
.project-gate { display:flex; align-items:center; gap:9px; padding:18px 14px; border-right:1px solid var(--line); color:var(--muted); }
.project-gate:last-child { border:0; }.project-gate span { font-size:1.25rem; }.project-gate.done { background:#fff9ef;color:#69501c}.project-gate.done span { color:#a87d25; }
.project-facts { display:grid; grid-template-columns:repeat(4,1fr); margin-top:24px; }.project-facts strong { display:block; }
.project-tools { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.project-tool { display:flex; flex-direction:column; min-height:158px; padding:18px; border:1px solid var(--line); border-radius:14px; background:#fff; color:var(--ink); text-decoration:none; transition:.18s ease; }
.project-tool:hover { transform:translateY(-2px); border-color:#d4a6ad; color:var(--burgundy); box-shadow:0 10px 24px rgba(72,0,13,.08); }
.project-tool.has-records { border-color:#dcc17f; background:#fffdf7; }.project-tool.unavailable { opacity:.55; }
.project-tool .tool-code { align-self:flex-start; margin-bottom:12px; padding:4px 8px; border-radius:7px; background:var(--sky); color:var(--burgundy); font-size:.68rem; font-weight:850; letter-spacing:.07em; }
.project-tool strong { font-size:1rem; }.project-tool small { margin:5px 0 14px; color:var(--muted); line-height:1.35; }.project-tool .tool-status { margin-top:auto; color:var(--teal); font-size:.78rem; font-weight:800; }
.project-action-divider { display:flex; align-items:center; gap:10px; margin:7px 0 3px; color:var(--muted); font-size:.68rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.project-action-divider::before,.project-action-divider::after { content:""; flex:1; height:1px; background:var(--line); }
.project-team-list { display:grid; gap:12px; }
.project-team-member { padding:13px 14px; border:1px solid var(--line); border-radius:14px; background:var(--soft); }
.project-team-member strong,.project-team-member span,.project-team-member small { display:block; }
.project-team-member span { margin-top:2px; color:var(--accent); font-weight:700; }
.project-team-member small { margin-top:5px; color:var(--muted); line-height:1.4; }
.project-progress { height:20px; border-radius:999px; background:var(--soft); }
.project-progress .progress-bar { background:var(--accent); font-size:.7rem; font-weight:800; }
.context-help { position:fixed; z-index:1090; right:24px; bottom:24px; }
.context-help summary { display:grid; place-items:center; width:48px; height:48px; border:2px solid rgba(255,255,255,.9); border-radius:50%; color:#fff; background:var(--burgundy); cursor:pointer; font-size:1.15rem; font-weight:850; line-height:1; list-style:none; box-shadow:0 7px 24px rgba(72,0,13,.28),0 0 0 8px rgba(210,170,90,.18); }
.context-help summary::-webkit-details-marker { display:none; }
.context-help summary:hover,.context-help summary:focus { background:var(--burgundy-deep); outline:none; box-shadow:0 8px 28px rgba(72,0,13,.34),0 0 0 8px rgba(210,170,90,.3); }
.context-help[open] summary { box-shadow:0 8px 28px rgba(72,0,13,.34),0 0 0 8px rgba(210,170,90,.36); }
.context-help-popover { position:absolute; right:0; bottom:66px; width:min(390px,calc(100vw - 32px)); max-height:min(620px,calc(100vh - 120px)); overflow:auto; padding:22px 24px; border:1px solid var(--line); border-radius:18px; color:var(--ink); background:#fff; font-size:.92rem; font-weight:400; line-height:1.48; box-shadow:0 22px 60px rgba(49,0,7,.22); }
.context-help-popover::after { content:""; position:absolute; right:17px; bottom:-8px; width:15px; height:15px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:#fff; transform:rotate(45deg); }
.context-help-kicker { display:block; margin-bottom:5px; color:#8a651d; font-size:.66rem; font-weight:850; letter-spacing:.14em; }
.context-help-popover > strong { display:block; color:var(--burgundy); font-size:1.25rem; }
.context-help-popover > p { margin:8px 0 14px; color:var(--muted); }
.context-help-popover li { margin:0 0 9px; padding-left:3px; }

.guide-hero { display:flex; align-items:center; justify-content:space-between; gap:32px; padding:40px 44px; border-radius:24px; color:#fff; background:linear-gradient(125deg,#2b0006,#780011 62%,#a00017); box-shadow:var(--shadow); }
.guide-hero h1 { max-width:790px; margin:8px 0 12px; font-size:clamp(2rem,4vw,3.5rem); line-height:1; font-weight:850; letter-spacing:-.05em; }.guide-hero p { max-width:760px; margin:0;color:rgba(255,255,255,.78); }
.guide-score { flex:0 0 190px; }.guide-score strong,.guide-score span { display:block; }.guide-score strong { font-size:3.6rem;line-height:1; }.guide-score strong small { font-size:1.3rem; }.guide-score span { margin:8px 0;color:rgba(255,255,255,.7);font-size:.8rem; }.guide-score div { height:7px;border-radius:9px;background:rgba(255,255,255,.16);overflow:hidden}.guide-score i { display:block;height:100%;background:var(--gold-light) }
.change-card { height:100%; padding:22px; border:1px solid var(--line); border-radius:16px; background:#fff; }.change-card.active { color:#fff;background:var(--burgundy-deep);border-color:var(--burgundy-deep) }.change-card > span { color:var(--teal);font-size:.68rem;font-weight:850;letter-spacing:.13em}.change-card.active > span { color:var(--gold-light) }.change-card h3 { margin:8px 0;font-size:1.15rem;font-weight:800}.change-card p { margin:0;color:var(--muted);font-size:.88rem}.change-card.active p { color:rgba(255,255,255,.7) }
.guide-layout { display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px;align-items:start}.guide-sidebar { position:sticky;top:92px }.guide-sidebar h3 { margin:5px 0 18px;font-size:1.2rem;font-weight:800}.guide-sidebar dt { color:var(--burgundy);font-size:.75rem;font-weight:850}.guide-sidebar dd { margin-bottom:14px;color:var(--muted);font-size:.86rem}.compact-plan { padding-left:19px;margin:12px 0 0}.compact-plan li { margin:10px 0;color:var(--muted);font-size:.84rem}.compact-plan strong { color:var(--ink) }
.guide-steps { display:flex;flex-direction:column;gap:16px}.guide-step { display:grid;grid-template-columns:56px 1fr;gap:18px;padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 5px 22px rgba(72,0,13,.04)}.guide-step.complete { border-left:4px solid var(--gold) }.guide-number { display:grid;place-items:center;width:48px;height:48px;border-radius:14px;color:#fff;background:var(--burgundy);font-size:1.15rem;font-weight:850}.guide-step.complete .guide-number { color:#5e4717;background:#f5dfaa}.guide-heading { display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.guide-heading > div > span { color:var(--teal);font-size:.7rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.guide-heading h2 { margin:3px 0 10px;font-size:1.35rem;font-weight:850;letter-spacing:-.025em}.guide-purpose { color:#594d4f}.guide-how { display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:#faf4eb;font-size:.84rem}.guide-how span { flex:1;color:var(--muted)}.guide-step ul { margin:15px 0 0;padding-left:20px;color:var(--muted);font-size:.88rem}.guide-step li { margin:6px 0 }

@media (max-width: 991px) {
    .qms-hero { padding:34px 28px; }
    .audit-grid { grid-template-columns:1fr; }
    .action-owner { display:none; }
    .qfor-record-banner { grid-template-columns:repeat(2, minmax(0,1fr)); }
    .guide-layout { grid-template-columns:1fr }.guide-sidebar { position:static;display:grid;grid-template-columns:1fr 1fr;gap:16px}.guide-sidebar .mt-3 { margin-top:0!important }.project-gates { grid-template-columns:1fr 1fr }.project-gate { border-bottom:1px solid var(--line) }.project-tools { grid-template-columns:repeat(2,minmax(0,1fr)) }
}
@media (max-width: 575px) {
    main > .container { padding-top:82px; }
    .qms-hero { padding:28px 22px; border-radius:18px; }
    .qms-hero h1 { font-size:2.4rem; }
    .qms-hero h1.impact-tagline { font-size:2rem; line-height:1.08; }
    .page-heading { align-items:flex-start; flex-direction:column; }
    .content-card { padding:16px; }
    .qfor-section { padding:18px; }
    .qfor-submitbar { position:static; align-items:stretch; flex-direction:column; }
    .qfor-submitbar .d-flex { flex-direction:column; }
    .qfor-record-banner { grid-template-columns:1fr; }
    .guide-hero { align-items:flex-start;flex-direction:column;padding:28px 22px}.guide-score { width:100%;flex-basis:auto}.guide-sidebar { grid-template-columns:1fr}.guide-step { grid-template-columns:1fr;padding:18px}.guide-heading,.guide-how { align-items:flex-start;flex-direction:column}.guide-how span { flex:auto}.project-gates,.project-facts,.project-tools { grid-template-columns:1fr }
    .context-help { right:14px; bottom:14px; }
    .context-help summary { width:44px; height:44px; }
    .context-help-popover { right:-2px; bottom:60px; padding:19px 20px; }
}

/* Personal, role-driven workspace */
.work-hero { overflow:hidden; position:relative; padding:38px 42px; border-radius:24px; color:#fff; background:linear-gradient(125deg,#310006,#720010 58%,#9d0017); box-shadow:var(--shadow); }
.work-hero::after { content:""; position:absolute; inset:0 0 0 auto; width:38%; opacity:.16; background:repeating-linear-gradient(135deg,transparent 0 28px,var(--gold) 29px 30px); }
.work-hero > .row { position:relative; z-index:1; }
.work-hero h1 { margin:8px 0 10px; font-size:clamp(2.25rem,5vw,3.8rem); font-weight:850; letter-spacing:-.055em; line-height:1; }
.work-hero p { max-width:760px; margin-bottom:24px; color:rgba(255,255,255,.78); font-size:1.05rem; }
.work-role-card { display:grid; grid-template-columns:52px 1fr; column-gap:14px; align-items:center; padding:20px; border:1px solid rgba(255,255,255,.18); border-radius:17px; background:rgba(255,255,255,.1); backdrop-filter:blur(10px); }
.work-role-icon { grid-row:1/4; display:grid; place-items:center; width:52px; height:52px; border-radius:14px; background:var(--gold-light); color:var(--burgundy-deep); font-size:1.25rem; font-weight:900; }
.work-role-card small { color:var(--gold-light); font-size:.65rem; font-weight:850; letter-spacing:.14em; }
.work-role-card strong,.work-role-card span { display:block; }.work-role-card strong { font-size:1.05rem; }.work-role-card > span:last-child { color:rgba(255,255,255,.68); font-size:.76rem; }
.work-stat { display:grid; grid-template-columns:42px 1fr; grid-template-rows:1fr 1fr; min-height:112px; padding:20px; border:1px solid var(--line); border-radius:17px; background:#fff; box-shadow:0 5px 20px rgba(72,0,13,.04); }
.work-stat > span { grid-row:1/3; display:grid; place-items:center; align-self:center; width:38px; height:38px; border-radius:11px; font-weight:900; }
.work-stat strong { font-size:2rem; line-height:1; font-weight:850; letter-spacing:-.04em; }.work-stat small { color:var(--muted); font-weight:700; }
.work-stat-blue > span { color:var(--burgundy); background:#f5e7e9; }.work-stat-rose > span { color:#a80016;background:#f8dfe3}.work-stat-green > span { color:#6f551e;background:#f4ead4}.work-stat-amber > span { color:#936913;background:#fbf0d7}
.work-task-list { margin:0 -8px -8px; }
.work-task { display:grid; grid-template-columns:10px minmax(0,1fr) auto 62px; align-items:center; gap:12px; width:100%; padding:15px 8px; border:0; border-top:1px solid var(--line); background:transparent; color:var(--ink); text-align:left; }
.work-task:hover { border-radius:10px; background:#fff8f9; color:var(--burgundy); }
.work-task-main strong,.work-task-main small { display:block; }.work-task-main strong { font-size:.93rem; }.work-task-main small { margin-top:3px;color:var(--muted);font-size:.74rem}.work-task-date { color:var(--muted);font-size:.78rem;font-weight:800;text-align:right}.work-task-date.overdue { color:#b0001b }
.work-empty { padding:38px 20px;text-align:center}.work-empty > span { display:grid;place-items:center;width:50px;height:50px;margin:0 auto 12px;border-radius:50%;background:#f4ead4;color:#76591c;font-weight:900}.work-empty strong { display:block}.work-empty p { color:var(--muted) }
.focus-list > div { display:flex; gap:12px; padding:12px 0; border-top:1px solid var(--line); }.focus-list span { display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:9px;background:var(--sky);color:var(--burgundy);font-size:.72rem;font-weight:850}.focus-list p { margin:3px 0 0;color:#57494c;font-size:.88rem }
.work-project-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.work-project-card { display:flex;flex-direction:column;min-height:270px;padding:20px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(180deg,#fff,#fdfafa)}.work-project-card h3 { margin:13px 0 4px;font-size:1.2rem;font-weight:850;letter-spacing:-.025em}.work-project-card > p { margin:0;color:var(--burgundy);font-weight:750}.work-project-card > small { display:block;min-height:44px;margin:7px 0 16px;color:var(--muted)}
.work-project-gates { display:flex;gap:5px;margin:auto 0 17px}.work-project-gates span { flex:1;padding:6px 3px;border-radius:6px;background:#f0ebec;color:#8a7d7f;font-size:.62rem;font-weight:800;text-align:center;text-transform:uppercase}.work-project-gates span.done { background:#f1e3be;color:#6f5317 }
.work-form-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.work-form-card { display:flex;flex-direction:column;min-height:156px;padding:17px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--ink);text-decoration:none;transition:.18s ease}.work-form-card:hover { transform:translateY(-2px);border-color:#d3a3aa;color:var(--burgundy);box-shadow:0 9px 22px rgba(72,0,13,.07)}.work-form-card > span { align-self:flex-start;padding:4px 7px;border-radius:6px;background:var(--sky);color:var(--burgundy);font-size:.64rem;font-weight:850;letter-spacing:.07em}.work-form-card strong { margin-top:10px;font-size:.91rem}.work-form-card small { margin:3px 0 10px;color:var(--muted);font-size:.72rem}.work-form-card b { margin-top:auto;color:var(--teal);font-size:.75rem}.work-form-card.important { color:#fff;border-color:var(--burgundy);background:linear-gradient(145deg,var(--burgundy-deep),var(--burgundy))}.work-form-card.important > span { color:var(--burgundy);background:var(--gold-light)}.work-form-card.important small { color:rgba(255,255,255,.7)}.work-form-card.important b { color:var(--gold-light) }
.work-registration { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 2px;border-top:1px solid var(--line);color:var(--ink);text-decoration:none}.work-registration:hover { color:var(--burgundy)}.work-registration strong,.work-registration small { display:block}.work-registration small { color:var(--muted);font-size:.75rem}.work-registration em { color:var(--muted);font-size:.7rem;font-style:normal;font-weight:750}
@media (max-width:1199px) { .work-project-grid { grid-template-columns:repeat(2,minmax(0,1fr)) } }
@media (max-width:767px) { .work-hero { padding:30px 24px }.work-task { grid-template-columns:10px minmax(0,1fr) 55px}.work-task .badge { display:none}.work-project-grid,.work-form-grid { grid-template-columns:1fr }.work-project-card { min-height:240px } }
