:root{--central-navy:#061a30;--central-blue:#0b3d91;--central-cyan:#00a7b5;--central-gold:#ffd166}
html,body{min-height:100%;background:var(--light)!important}
header{padding:13px 18px;background:linear-gradient(120deg,#041426 0%,#0b3d91 58%,#087f8c 100%)}
header>h1{font-size:21px;letter-spacing:.08em}
header nav{gap:7px;align-items:center}
header nav button{padding:8px 10px;font-size:12px;border:1px solid rgba(255,255,255,.18);box-shadow:0 4px 12px rgba(0,0,0,.12)}
header nav .logout-btn{margin-left:auto}
.login-brand-mark span{font-size:25px}
.login-card.premium-login-card h1{font-size:clamp(24px,5vw,31px);letter-spacing:1px}
.first-setup-only{display:none}
.assessment-heading,.access-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;border-left:6px solid var(--central-cyan);background:linear-gradient(120deg,#fff 0%,#f5fbff 64%,#e8f5ff 100%)}
.assessment-heading h2,.access-hero h2{margin:4px 0 5px;color:var(--central-blue);font-size:24px}
.assessment-heading p,.access-hero p{margin:0;color:#536477;line-height:1.5}
.assessment-kicker{font-size:10px;font-weight:900;letter-spacing:.18em;color:#087f8c}
.assessment-source-badge,.access-security-chip{flex:0 0 auto;border-radius:999px;padding:10px 14px;background:#08233f;color:#fff;font-weight:900;font-size:12px;letter-spacing:.05em;box-shadow:0 8px 18px rgba(8,35,63,.2)}
.standard-admin-mode .super-admin-toolbar-control,.viewer-mode .super-admin-toolbar-control{display:none!important}

/* Re-enable the main-site modules that the two standalone variants had retired. */
#deptRegister.page.active,#activitySchedule.page.active,#riskBasedSchedule.page.active{display:block!important}
.viewer-mode #backup.page.active{display:block!important}
.viewer-mode #tab-backup{display:inline-flex!important}

.password-change-overlay{position:fixed;inset:0;z-index:10050;display:grid;place-items:center;padding:20px;background:rgba(2,14,31,.88);backdrop-filter:blur(12px)}
.password-change-overlay[hidden]{display:none!important}
.password-change-card{width:min(460px,100%);border-radius:22px;padding:28px;background:#fff;box-shadow:0 28px 90px rgba(0,0,0,.5)}
.password-change-card h2{margin:6px 0;color:#0b3d91}.password-change-card p{color:#5d6d7e}.password-change-card label{display:block;margin:12px 0;font-size:12px;font-weight:800;color:#334155}.password-change-card input{margin-top:6px}.password-change-card .btn{width:100%;margin-top:6px}

.access-layout{display:grid;grid-template-columns:minmax(340px,.8fr) minmax(520px,1.2fr);gap:18px;align-items:start}
.access-card-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}.access-card-heading h3{margin:0;color:#0b3d91;font-size:20px}.access-card-heading p{margin:5px 0 0;color:#637083;font-size:12px}
.access-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.access-field-grid label,.access-password-form label{font-size:11px;font-weight:900;color:#3f4d5d;letter-spacing:.03em}.access-field-grid input,.access-field-grid select,.access-password-form input{margin-top:5px}
.access-switches{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.access-switches label{display:flex;align-items:center;gap:8px;border:1px solid #d7e6f7;border-radius:10px;padding:8px 10px;background:#f7fbff;font-size:12px;font-weight:800}.access-switches input,.access-permission-grid input{width:18px;height:18px;accent-color:#0b3d91}
.access-permissions{border:1px solid #cbd8e6;border-radius:12px;padding:12px;margin:12px 0}.access-permissions legend{padding:0 8px;color:#0b3d91;font-weight:900}.access-permission-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.access-permission-grid label{display:flex;align-items:center;gap:8px;border-radius:9px;background:#f5f8fb;padding:8px;font-size:12px;font-weight:700}.access-save-button{width:100%}
.access-status{min-height:20px;margin-top:10px;font-size:12px;font-weight:800}.access-status[data-type="error"]{color:#b42318}.access-status[data-type="ok"]{color:#087443}.access-status[data-type="info"]{color:#0b3d91}
.access-table-wrap{overflow:auto;max-height:600px}.access-table{width:100%;min-width:860px;border-collapse:collapse}.access-table th,.access-table td{border:1px solid #d3dce7;padding:9px;text-align:left;vertical-align:top}.access-table th{position:sticky;top:0;background:#08233f;color:#fff;z-index:1}.access-table td small{display:block;margin-top:4px;color:#667085}.role-badge,.status-badge{display:inline-block;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900}.role-superadmin{background:#fff1c7;color:#7a4d00}.role-admin{background:#dbeafe;color:#164e93}.role-user{background:#e9f8ef;color:#146c43}.status-badge.active{background:#d1fae5;color:#067647}.status-badge.inactive{background:#fee4e2;color:#b42318}
.permission-chip-list{display:flex;flex-wrap:wrap;gap:4px}.permission-chip-list span{border-radius:999px;padding:4px 7px;background:#edf4ff;color:#184b85;font-size:10px;font-weight:800}
.access-password-form{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr)) auto;gap:10px;align-items:end}.access-password-form .btn{height:36px}.access-own-password h3{margin-top:0;color:#0b3d91}
.backup-table{min-width:1480px}

@media(max-width:1100px){.access-layout{grid-template-columns:1fr}.access-password-form{grid-template-columns:1fr 1fr}.access-password-form .btn{height:auto}}
@media(max-width:720px){header{position:relative}.assessment-heading,.access-hero{align-items:flex-start;flex-direction:column}.assessment-source-badge,.access-security-chip{align-self:flex-start}.access-field-grid,.access-permission-grid,.access-password-form{grid-template-columns:1fr}.page{padding:12px}.login-card.premium-login-card{max-height:94vh;overflow:auto}header nav .logout-btn{margin-left:0}}
.source-readonly-note{margin-top:8px!important;color:#7a4d00!important;background:#fff7d6;border-left:4px solid var(--central-gold);border-radius:8px;padding:8px 10px;font-weight:800}
.source-readonly-mode #qa .viewer-hidden-control{display:none!important}
