/* PCIReady 2.8 — visual system adapted from the supplied TPRM reference.
   Local assets only. Document exports retain their original print styling. */
:root{color-scheme:dark;--bg:#0b1220;--panel:#121b2d;--panel2:#182338;--line:#22314d;--text:#ebf2ff;--muted:#96a7c2;--primary:#39a2ff;--success:#1ec98f;--warning:#ffb547;--danger:#ff6178;--navy:#ebf2ff;--deep:#0a111f;--teal:#72bdff;--mint:#133c39;--gold:#ffb547;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Tahoma,Arial,sans-serif;font-size:14px}
body{background:linear-gradient(180deg,#0a1220,#101a2e);background-attachment:fixed;color:var(--text)}
a{color:#72bdff}a:hover{color:#a5d5ff}button,a,input,select,textarea,summary{outline-offset:4px}:focus-visible{outline:2px solid #72bdff}::selection{background:#26578b;color:#fff}
aside{width:280px;background:rgba(10,17,31,.97);border-right:1px solid var(--line);padding:28px 20px;overflow-y:auto;overscroll-behavior:contain}
.main-wrap{margin-left:280px;width:calc(100% - 280px)}.brand{font-size:28px;letter-spacing:-.8px}.brand-ready{color:#72bdff}.brand small{color:var(--muted);font-size:8px}.brand-mark{width:42px;height:46px;flex-shrink:0;border:1px solid #34619a;border-radius:13px;background:linear-gradient(145deg,#244f81,#132a49)}.brand-mark .ui-icon{width:28px;height:28px;color:#9cd1ff}
.ui-icon{display:inline-block;width:22px;height:22px;vertical-align:middle;flex-shrink:0}.nav-label{color:#7e94b3;margin:36px 14px 14px;font-size:10px}aside nav{gap:6px}aside nav a{border:1px solid transparent;border-radius:14px;padding:12px 14px;color:#b8c6dd;font-size:13px;align-items:center;transition:background .15s,border-color .15s}aside nav a>span{display:flex}aside nav a.active,aside nav a:hover{background:linear-gradient(120deg,#122746,#1a3358);border-color:#29456f;box-shadow:none;color:#eff7ff}aside nav a.active .ui-icon{color:#72bdff}.sidebar-bottom{color:#9badc7;padding:32px 14px 0}.sidebar-bottom p{color:#7e94b3}.pulse{background:var(--success)}
.topbar{background:rgba(11,18,32,.96);border-bottom:1px solid var(--line);padding:0 28px;min-height:84px;height:auto}.breadcrumb{color:var(--muted)}.avatar{background:#193353;color:#99cdff;border:1px solid #2c4d73}.user a{color:var(--text)}.text-button{color:var(--muted)}.text-button:hover{color:#fff}#menu-toggle{color:var(--text)}
main{padding:28px 28px 60px}.page-heading{margin-bottom:26px}.page-heading p{font-size:13px}.eyebrow{color:#8aa2c3;letter-spacing:1.6px}h1{font-size:30px;font-weight:750}h2{font-weight:700}.version{background:#142740;border-color:#294461;color:#a3c9ee}
.panel,.stat,.assessment-banner,.requirement,.login-box{background:rgba(18,27,45,.97);border:1px solid var(--line);border-radius:22px;box-shadow:0 10px 25px #0000002e}.panel{padding:24px}.hero{background:linear-gradient(115deg,#142a49,#163b60 65%,#125257);border:1px solid #2c4c6c;border-radius:22px;padding:32px;min-height:250px}.hero h2{font-size:32px}.hero p{color:#bbcee6}.hero .eyebrow{color:#8bd4e7}.hero-art .orbit{border-color:#79b8e733;box-shadow:0 0 0 25px #64a7e30c,0 0 0 50px #64a7e308}.shield{background:linear-gradient(145deg,#275b84,#17464d);border-color:#71b7de;color:#9de2ec;box-shadow:0 10px 30px #060c1755}.shield .ui-icon{width:65px;height:65px;stroke-width:1.3}.hero-art span{color:#94bdcf}
.stats{gap:18px}.stat{padding:22px;min-height:132px}.stat p{font-size:12px;padding-right:24px}.stat strong{font-size:34px;font-weight:800}.stat-icon,.course-icon{color:#82c7ff;background:#172f4e;border:1px solid #29486d;border-radius:14px}.stat-icon{width:40px;height:40px}.course-icon .ui-icon{width:30px;height:30px}.course-card .eyebrow{color:#82b6e3}.empty>span,.empty h3{color:#9ab2d0}.empty .ui-icon{width:42px;height:42px}
.button,button.primary,button.secondary,button.light{border-radius:12px;padding:11px 17px;font-size:13px;min-height:42px;transition:background .15s,border-color .15s}.primary{background:#1f72d4;color:#fff;border-color:#398aeb}.primary:hover{background:#2c82e6;color:#fff}.secondary,.light{background:#162742;color:#eaf3ff;border:1px solid #34517f!important}.secondary:hover,.light:hover{background:#20385a;color:#fff}.button:hover{filter:none}.language-switcher a{border-color:#304568;background:#101c30;color:#b7c9e0;border-radius:10px}.language-switcher a[aria-current="true"]{background:#1f72d4;border-color:#398aeb;color:#fff}
table{font-size:13px}th{background:#162238;color:#a9bad2;font-size:11px;padding:14px 12px}td{border-color:var(--line)}tbody tr:hover{background:#18263d66}.row-title{color:#e8f2ff}.code{background:#20314b;color:#b8d8fa;border-radius:7px}.tag{background:#263449;color:#c2cfdf;font-size:11px;padding:5px 10px}.tag.approved,.tag.verified,.tag.confirmed,.tag.in_place,.tag.passed,.tag.completed,.tag.resolved{background:#103c35;color:#76e3bd}.tag.submitted,.tag.qsa_review,.tag.ccw{background:#1c3558;color:#99c7ff}.tag.changes_requested,.tag.pending,.tag.draft,.tag.retry{background:#3b2e1c;color:#ffcc79}.tag.not_in_place,.tag.blocking{background:#431f31;color:#ff9aab}
.notice{background:#2c251b;border-color:#574329;border-left-color:#ffb547;color:#f2d3a0;border-radius:14px;font-size:13px}.notice.success{background:#122f2b;border-color:#21564b;border-left-color:#1ec98f;color:#9be5c9}.journey li:before{background:#173347;border-color:#294d63;color:#98d9ee}.journey li:after{border-color:#2a3c55}
label{color:#c3d1e6;font-size:13px}input:not([type=checkbox]):not([type=radio]),select,textarea,.friendly-field input[type=text],.friendly-field textarea,.source-document textarea{background:#0f1625;border:1px solid #2a3b58;border-radius:12px;color:#f1f6ff;padding:10px 12px}input::placeholder,textarea::placeholder{color:#7f93af}input[type=file]{background:#0f1625!important;color:#b7cae3}input[type=file]::file-selector-button{background:#203a5c;color:#ebf2ff;border:1px solid #34517f;border-radius:7px;padding:6px 10px;margin-right:10px}input:focus,textarea:focus,select:focus{outline:2px solid #72bdff;border-color:#72bdff}input:disabled,textarea:disabled,select:disabled{opacity:.7}input[type=checkbox],input[type=radio]{accent-color:#39a2ff}.answer-option{border-color:#30415d;border-radius:12px;padding:15px;background:#111c2f}.answer-option:has(input:checked){background:#172f4d;border-color:#519beb}fieldset{border-color:#2a3b58;border-radius:16px}
.tabs{border-color:var(--line);gap:6px}.tabs a{color:#9bb0ce;padding:14px 18px}.tabs a:hover{background:#14233a;text-decoration:none;border-radius:10px 10px 0 0}.tabs a.active{color:#89cbff;border-color:#39a2ff}.req-body{border-color:var(--line)}.testing,.ccw{background:#182338;border-radius:12px}.assessment-banner{padding:25px}.completion strong{font-weight:800}progress{background:#0f1625;border-radius:9px;overflow:hidden}progress::-webkit-progress-bar{background:#0f1625}progress::-webkit-progress-value{background:linear-gradient(90deg,#22c1ff,#1ec98f)}progress::-moz-progress-bar{background:linear-gradient(90deg,#22c1ff,#1ec98f)}.exam-clock{background:#302719;border-color:#6a522e;color:#ffe0a8;box-shadow:0 8px 20px #0003}
.forms-sections>a{background:#121b2d;border-color:var(--line);border-radius:14px;color:#c1d1e8}.forms-sections>a:hover{background:#182b46;text-decoration:none}.forms-sections>a[aria-current="page"]{background:#182f4d;border-color:#3d6796;box-shadow:inset 3px 0 #39a2ff;color:#e4f2ff}.source-table td{border-color:#36506e}.source-table tr:first-child{background:#1b304b}.source-value{border-color:#6482a6}.source-calculated{color:#86d8c5}.source-document input[type=date]{border-color:#36506e}.source-document textarea{min-height:62px}.signature-preview{background:#fff;color:#111}.form-grid>*{min-width:0}
.auth{background:radial-gradient(ellipse at 50% 0,#1b3353 0,transparent 60%),linear-gradient(180deg,#0a1220,#101a2e);flex-direction:column;gap:24px;padding:40px 20px}.auth-story{max-width:460px;width:100%;text-align:center}.auth-story .brand{justify-content:center;font-size:34px;margin:0}.auth-story h1,.auth-story p{display:none}.login-box{width:460px;padding:34px;border-radius:22px}.login-box h1{font-size:28px}.login-box form{margin:26px 0}.login-box .language-switcher{margin-top:20px}footer{color:#8195b2;border-color:var(--line)}
@media(min-width:1500px){main{padding:34px 40px 60px}.hero h2{font-size:36px}}
@media(max-width:1150px) and (min-width:761px){aside{width:238px;padding:24px 14px}.main-wrap{margin-left:238px;width:calc(100% - 238px)}main{padding:26px 22px}.topbar{padding:12px 22px}.stat-icon{display:none}.stats{gap:12px}.stat{padding:18px}.hero h2{font-size:28px}}
@media(max-width:760px){aside{width:265px;max-width:85vw}.main-wrap{margin:0;width:100%}.topbar{min-height:74px;height:auto;padding:10px 16px;gap:12px}.user{gap:8px}.user .language-switcher a{font-size:12px;padding:6px 8px}main{padding:24px 16px 40px}h1{font-size:25px}.hero{padding:24px;min-height:230px}.hero h2{font-size:27px}.panel{padding:20px;border-radius:18px}.stats{gap:12px}.stat{padding:18px 14px;min-height:122px;border-radius:18px}.stat p{padding-right:0;font-size:11px}.stat-icon{width:28px;height:28px;right:12px;bottom:18px}.stat-icon .ui-icon{width:18px;height:18px}.stat strong{font-size:30px}.card-grid{grid-template-columns:1fr}.exam-clock{top:92px}.login-box{padding:28px 24px}.assessment-banner{padding:20px;gap:12px}.tabs a{padding:13px 12px}footer{padding:20px 16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}

/* Evidence attachment count; distinct from the assessment response/review result. */
.evidence-badge{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;white-space:nowrap;font-size:11px;padding:5px 9px;border:1px solid #34455d;border-radius:20px;line-height:1.5}
.evidence-badge .ui-icon{width:16px;height:16px}.evidence-badge.has-evidence{background:#133b32;border-color:#28594c;color:#8ce5be}.evidence-badge.no-evidence{background:#1a2536;color:#a6b4c8}
@media(max-width:760px){.requirement>summary{flex-wrap:wrap}.requirement>summary>span:nth-child(2){flex-basis:calc(100% - 70px)}.evidence-badge{font-size:10px;padding:4px 8px}.requirement>summary:after{margin-left:auto}}

.cycle-chart{width:100%;height:auto;max-height:250px;display:block;margin:18px 0;color:#b9cae0}.cycle-chart text{fill:currentColor;font-size:12px}.chart-grid{fill:none;stroke:#30435f;stroke-width:1}.chart-line{fill:none;stroke:#72bdff;stroke-width:3}.chart-point{fill:#76e3bd;stroke:#121b2d;stroke-width:2}

.signature-preview{background:transparent;border:1px dashed #526680}
