*{box-sizing:border-box}:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17202a;background:#f4f6f8}body{margin:0;min-width:320px;background:#f4f6f8}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#eef2f7,#dfe7ef)}.login-card{width:420px;max-width:100%;padding:42px;background:#fff;border-radius:18px;box-shadow:0 20px 60px #0000001f}.login-logo{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:var(--brand-primary, #17202a);color:#fff;font-weight:800;font-size:18px}.login-logo img,.brand-icon img{width:100%;height:100%;object-fit:contain;border-radius:inherit}.login-card h1{margin:22px 0 5px}.login-card form h2{margin:10px 0 14px;font-size:20px}.login-card .login-link{width:100%;margin:10px 0 0;padding:8px;border:0;background:transparent;color:#34495e;text-decoration:underline;font-weight:600}.login-card small{display:block;margin-top:5px;color:#68737d;line-height:1.4}.login-subtitle{color:#68737d;margin-bottom:30px}.settings-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.settings-form{display:grid;gap:14px}.settings-form h2{margin:0 0 4px}.settings-colors{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.settings-colors input[type=color]{width:100%;height:42px;padding:3px}.settings-preview{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid #dce2e8;border-radius:12px}.settings-preview .login-logo{flex:0 0 56px}.settings-preview p{margin:4px 0 0;color:#68737d}.checkbox-row{display:flex;align-items:center;gap:9px}.checkbox-row input{width:auto}.backup-list{display:grid;gap:10px}.backup-item{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid #e4e9ee}.backup-item>div:first-child{display:grid;gap:4px;min-width:0}.backup-item small{color:#68737d;overflow-wrap:anywhere}.backup-item .actions{flex-wrap:wrap;justify-content:flex-end}@media(max-width:720px){.backup-item{align-items:flex-start;flex-direction:column}.backup-item .actions{justify-content:flex-start}}.login-card label{display:block;margin-top:16px;margin-bottom:7px;font-size:14px;font-weight:600}.login-card input{width:100%;padding:12px 14px;min-height:50px;font-size:16px;color:#17202a;border:1px solid #d6dce1;border-radius:9px;outline:none}.login-card input:focus{border-color:#657786}.login-card button{width:100%;margin-top:24px;padding:13px;border:0;border-radius:9px;background:var(--brand-primary, #17202a);color:#fff;font-weight:600}.login-card .password-input-row{flex-direction:column;align-items:stretch;gap:5px}.login-card .password-input-row input{width:100%;flex:none}.login-card .password-visibility{align-self:flex-end;width:auto;margin:0;padding:4px 6px;border:0;background:transparent;color:#405c77;font-size:13px;font-weight:600}.slider-check{margin-top:20px;padding:12px 13px 10px;border:1px solid #d8e0e8;border-radius:10px;background:#f8fafc}.slider-check.verified{border-color:#7cb993;background:#f1faf4}.slider-check-heading,.slider-check-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.slider-check-heading strong{font-size:13px}.slider-check-heading span,.slider-check-footer small{color:#64748b;font-size:12px}.slider-check-footer small.slider-success{color:#237547;font-weight:700}.slider-track-wrap{position:relative;height:42px;margin:13px 4px 7px;border-radius:999px;background:linear-gradient(90deg,#e7edf3,#dbe4ec);touch-action:pan-y}.slider-track-wrap input[type=range]{position:absolute;z-index:2;inset:0;width:100%;height:42px;margin:0;padding:0;border:0;border-radius:999px;background:transparent;cursor:grab;touch-action:pan-y}.slider-track-wrap input[type=range]:active{cursor:grabbing}.slider-track-wrap input[type=range]::-webkit-slider-runnable-track{height:42px;background:transparent}.slider-track-wrap input[type=range]::-moz-range-track{height:42px;background:transparent}.slider-track-wrap input[type=range]::-webkit-slider-thumb{width:36px;height:36px;margin-top:3px;border:0;border-radius:50%;background:transparent;appearance:none}.slider-track-wrap input[type=range]::-moz-range-thumb{width:36px;height:36px;border:0;border-radius:50%;background:transparent}.slider-target{position:absolute;z-index:1;top:50%;color:#d28b17;font-size:21px;line-height:1;transform:translate(-50%,-50%);text-shadow:0 1px 0 #fff}.slider-arrow{position:absolute;z-index:3;top:50%;display:grid;width:34px;height:34px;place-items:center;border-radius:50%;color:#fff;background:var(--brand-primary,#17202a);font-size:22px;line-height:1;transform:translate(-50%,-50%);pointer-events:none;transition:left .04s linear}.slider-refresh{width:auto!important;margin:0!important;padding:2px 4px!important;border:0!important;background:transparent!important;color:#405c77!important;font-size:12px;text-decoration:underline}.slider-refresh:disabled{opacity:.5}.app{height:100vh;overflow:hidden;display:flex}.sidebar{width:270px;flex:0 0 270px;height:100vh;overflow-y:auto;overflow-x:hidden;background:var(--brand-primary, #17202a);color:#fff;display:flex;flex-direction:column}.brand{padding:24px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.08)}.brand-icon{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#fff;color:#17202a;font-weight:800}.brand small{display:block;color:#aeb8c1;margin-top:3px}.sidebar nav{padding:15px}.sidebar nav button{width:100%;text-align:left;border:0;background:transparent;color:#c7d0d8;padding:12px 14px;border-radius:8px;margin-bottom:4px}.sidebar nav button:hover,.sidebar nav button.active{background:#ffffff1a;color:#fff}.sidebar-bottom{margin-top:auto;padding:20px;border-top:1px solid rgba(255,255,255,.08)}.user-info strong{display:block}.user-info span{color:#9da8b1;font-size:13px}.logout{width:100%;margin-top:14px;padding:9px;border:1px solid rgba(255,255,255,.15);border-radius:7px;background:transparent;color:#fff}.main{flex:1;min-width:0;height:100vh;overflow-y:auto;overflow-x:hidden}.topbar{min-height:88px;display:flex;align-items:center;background:#fff;padding:20px 35px;border-bottom:1px solid #e1e5e8}.topbar h2{margin:0 0 5px}.topbar span{color:#78838c;font-size:14px}.content{padding:30px 35px;max-width:1700px}.page-intro{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.page-intro h1{margin:0 0 5px;font-size:27px}.page-intro p{margin:0;color:#78838c}.actions{display:flex;gap:10px}.button{border:1px solid transparent;border-radius:8px;padding:10px 15px;font-weight:600}.button.primary{background:var(--brand-primary, #17202a);color:#fff}.button.secondary{background:#fff;color:#17202a;border-color:#d7dde2}.button.small{padding:7px 11px;font-size:13px}.loading,.loading-screen{color:#78838c;padding:50px;text-align:center}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700}.error-panel,.form-error{background:#fdecec;color:#a32222;border-radius:8px;padding:12px 14px;margin-bottom:20px}.empty{padding:35px;text-align:center;color:#7c8790}.empty p{margin-top:0}.cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;margin-bottom:25px}.stat-card{min-width:0;background:#fff;border:1px solid #e4e8eb;border-radius:12px;padding:20px}.stat-card span{display:block;color:#78838c;font-size:13px}.stat-card strong{display:block;margin-top:9px;font-size:29px}.panel{background:#fff;border:1px solid #e4e8eb;border-radius:12px;padding:24px;margin-bottom:20px}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.panel-title h3{margin:0 0 4px}.panel-title span{color:#7c8790;font-size:13px}.status-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #edf0f2}.status-row:last-child{border-bottom:0}.workspace{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.workspace>.panel:nth-child(3),.workspace>.panel:nth-child(4){grid-column:span 1}.entity-list{display:flex;flex-direction:column;gap:8px}.entity-card{padding:13px 15px;border:1px solid #e4e8eb;border-radius:9px;display:flex;justify-content:space-between;align-items:center;gap:15px}.entity-main{min-width:0}.entity-main strong{display:block}.entity-main span{display:block;margin-top:3px;color:#78838c;font-size:13px}.entity-meta{white-space:nowrap;color:#78838c;font-size:12px}.project-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.project-card{text-align:left;padding:16px;background:#fff;border:1px solid #e1e6ea;border-radius:10px;color:#17202a}.project-card:hover,.project-card.selected{border-color:#7b8791;background:#f8fafb}.project-code{display:inline-block;margin-bottom:8px;padding:4px 7px;border-radius:5px;background:#eef2f5;color:#52606b;font-size:11px;font-weight:700}.project-card strong{display:block}.project-card>span{display:block;margin-top:5px;color:#78838c;font-size:12px}.project-stats{display:flex;gap:12px;margin-top:14px;color:#78838c;font-size:11px}.system-card{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;padding:13px 15px;border:1px solid #e1e6ea;border-radius:9px;background:#fff;color:#17202a}.system-card:hover,.system-card.selected{border-color:#7b8791;background:#f8fafb}.system-card strong,.system-card span{display:block}.system-card span{margin-top:3px;color:#78838c;font-size:12px}.system-card small{color:#78838c}.module-list{display:flex;flex-direction:column;gap:8px}.module-list-scroll{max-height:min(70vh,760px);overflow-y:auto;overscroll-behavior:contain;padding:0 5px 2px 0}.module-card{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px;padding:13px 15px;border:1px solid #e1e6ea;border-radius:9px}.module-code{flex:0 1 180px;min-width:0;max-width:240px;color:#52606b;font-family:monospace;font-size:12px;font-weight:700;overflow-wrap:anywhere}.module-main{flex:1 1 320px;min-width:0}.module-main strong,.module-main span{display:block}.module-main span{margin-top:3px;color:#78838c;font-size:12px}.badge{padding:4px 8px;border-radius:5px;background:#eef2f5;color:#52606b;font-size:11px;font-weight:700}.modal-backdrop{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;background:#11181d73}.modal{width:560px;max-width:100%;max-height:90vh;overflow-y:auto;background:#fff;border-radius:14px;box-shadow:0 30px 80px #00000040;padding:24px}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.modal-header h3{margin:0}.modal-close{width:32px;height:32px;border:0;border-radius:7px;background:#f1f3f5;color:#4b5660;font-size:22px;line-height:1}.field{display:block;margin-bottom:17px}.password-input-row{display:flex;align-items:center;gap:8px}.password-input-row input{flex:1;min-width:0}.password-visibility{flex:0 0 auto;white-space:nowrap}.credential-notice{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:12px 0 20px;padding:14px;border:1px solid #b8dfc5;border-radius:8px;background:#f2fbf5;color:#17643a}.credential-notice>div{flex:1;min-width:0}.credential-notice .field{margin:12px 0 4px}.credential-notice .muted{margin:4px 0 0}.credential-username{margin-top:5px}.field>span{display:block;margin-bottom:7px;font-size:13px;font-weight:600}.required{color:#a32222}.field input,.field textarea,.field select{width:100%;padding:10px 12px;border:1px solid #d6dce1;border-radius:8px;outline:none;background:#fff}.field textarea{resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:#657786}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px;padding-top:18px;border-top:1px solid #edf0f2}.placeholder-panel{min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.placeholder-panel h2{margin-bottom:8px}.placeholder-panel p{max-width:600px;color:#78838c;line-height:1.6}.placeholder-icon{padding:12px 18px;border-radius:10px;background:#17202a;color:#fff;font-weight:800}@media(max-width:1250px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1000px){.sidebar{width:230px;flex-basis:230px}.content{padding:25px}.workspace{grid-template-columns:1fr}.workspace>.panel:nth-child(3),.workspace>.panel:nth-child(4){grid-column:auto}}@media(max-width:750px){.sidebar{width:70px;flex-basis:70px}.brand{padding:14px;justify-content:center}.brand>div:last-child{display:none}.sidebar nav{padding:10px}.sidebar nav button{text-align:center;padding:12px 5px;font-size:0}.sidebar nav button:first-letter{font-size:16px}.sidebar-bottom{padding:10px}.user-info{display:none}.logout{font-size:0}.logout:after{content:"↪";font-size:18px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.page-intro{align-items:flex-start;flex-direction:column}.actions{width:100%}}@media(max-width:520px){.topbar{padding:18px 20px}.content{padding:20px 15px}.cards,.project-list{grid-template-columns:1fr}.panel{padding:18px}.actions{flex-direction:column}.actions .button{width:100%}}.muted{color:var(--muted, #8b95a5);font-size:.9rem;margin-top:4px}.notice{padding:10px 12px;margin:12px 0;border-radius:8px;background:#e8f6ed;color:#17643a}.table-wrap{width:100%;overflow-x:auto;margin-top:16px}.data-table{width:100%;border-collapse:collapse;min-width:720px}.data-table th,.data-table td{text-align:left;vertical-align:top;padding:12px 10px;border-bottom:1px solid var(--border, #e3e7ee)}.data-table th{font-size:.82rem;color:var(--muted, #778196);font-weight:600;white-space:nowrap}.data-table td{font-size:.92rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.form-grid .field{min-width:0}.form-grid .field textarea{min-height:90px}.form-grid select[multiple]{min-height:170px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0 24px}.report-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:22px}.report-columns>div{min-width:0}.report-columns h3{margin-bottom:12px}@media(max-width:760px){.form-grid,.report-columns{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-title{align-items:flex-start;gap:12px;flex-wrap:wrap}.data-table{min-width:640px}}@media print{body,.app,.main,.content{background:#fff!important;color:#111!important}.sidebar,.topbar,.button,.logout,nav,.sidebar-bottom{display:none!important}.app{display:block!important}.main{margin:0!important;padding:0!important;width:100%!important}.content{padding:0!important}.workspace{display:block!important}.workspace>.panel{box-shadow:none!important;border:0!important;padding:0!important;break-inside:avoid}.field{display:none!important}.data-table{min-width:0!important;font-size:9pt}.data-table th,.data-table td{padding:5px!important}.stats-grid{grid-template-columns:repeat(4,1fr)!important}}.assessment-field{position:relative;min-width:0}.assessment-options{margin-top:6px;max-height:300px;overflow-y:auto;border:1px solid #d6dce1;border-radius:9px;background:#fff;box-shadow:0 8px 24px #1420301f;z-index:10}.assessment-option{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;min-width:0;padding:10px 12px;border:0;border-bottom:1px solid #edf0f2;background:#fff;color:#17202a;text-align:left;white-space:normal}.assessment-option:hover,.assessment-option.selected{background:#eef4fa}.assessment-option strong,.assessment-option span,.assessment-option small{display:block;width:100%;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.4}.assessment-option small{color:#667085}.assessment-empty{padding:12px;color:#667085;font-size:13px}.selected-assessment{display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin-top:8px;padding:10px 12px;border:1px solid #cbd8e6;border-radius:8px;background:#f4f8fc;overflow-wrap:anywhere;word-break:break-word}.selected-assessment span,.selected-assessment small{white-space:normal;overflow-wrap:anywhere;line-height:1.45}.link-button{padding:0;border:0;background:transparent;color:#245c92;text-decoration:underline;font-size:12px}.row-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.button.danger{border:1px solid #e4b8b8;background:#fff2f2;color:#9b2424}.button.danger:hover{background:#ffe5e5}.read-only-banner{margin-top:8px;padding:7px 10px;border-radius:7px;background:#fff4d6;color:#7a4b00;font-size:12px;width:fit-content}.role-user .content form:not(.profile-form){display:none!important}.role-user .content .modal-actions,.role-user .content .button.primary,.role-user .content .button.danger{display:none!important}.user-admin .user-state{display:inline-block;padding:4px 8px;border-radius:999px;font-size:12px;white-space:nowrap}.user-admin .user-state.active{color:#17643a;background:#e8f6ed}.user-admin .user-state.inactive{color:#9b2424;background:#fff0f0}.user-admin .user-checkbox{display:flex;align-items:center;gap:10px;padding:10px 0}.user-admin .user-checkbox input{width:18px;height:18px}.user-admin .user-checkbox span{margin:0}.reset-password-form{margin-top:24px;padding-top:18px;border-top:1px solid #edf0f2}.reset-password-form h4{margin:0 0 12px}.reset-password-row{display:flex;align-items:flex-end;gap:12px}.reset-password-row .field{flex:1;min-width:0}.profile-details{display:grid;grid-template-columns:minmax(120px,200px) minmax(0,1fr);gap:12px}.profile-details dt{color:#667085}.profile-details dd{margin:0;font-weight:600;overflow-wrap:anywhere}.profile-form{max-width:850px}@media(max-width:760px){.assessment-options{max-height:240px}.reset-password-row{flex-direction:column;align-items:stretch}.profile-details{grid-template-columns:1fr;gap:5px}.profile-details dd{margin-bottom:10px}}.role-user .content form.profile-form{display:block!important}.role-user .content .profile-form .modal-actions{display:flex!important}.role-user .content .profile-form .button.primary{display:inline-flex!important}.upload-regulatory-button{position:relative;overflow:hidden;cursor:pointer;white-space:nowrap}.upload-regulatory-button input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.upload-regulatory-button:has(input:disabled){opacity:.65;cursor:wait}.regulatory-progress{min-width:150px;display:flex;flex-direction:column;gap:3px;margin-top:6px;color:#475467;font-size:11px}.regulatory-progress progress{width:100%;height:8px;accent-color:#2365a8}@media(max-width:760px){.upload-regulatory-button{align-self:flex-start}.regulatory-progress{min-width:110px}}.role-user .content .button.danger.regulatory-delete{display:inline-flex!important}.module-selectors{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:16px;margin-bottom:20px}.module-filters{display:grid;grid-template-columns:repeat(2,minmax(200px,1fr));gap:12px;margin:14px 0}.module-search-field input,.module-selectors select,.audit-filters input,.audit-filters select{width:100%}.module-inventory-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 12px;border-bottom:1px solid #eaecf0;padding-bottom:12px}.module-inventory-head h3{margin:0 0 4px}.module-inventory-head span,.module-main p{color:#667085;font-size:13px}.module-card-expanded{align-items:flex-start}.project-entry{display:flex;flex-direction:column;gap:8px;min-width:0}.project-entry .project-card{width:100%}.entity-card:has(.organization-admin-actions){flex-wrap:wrap;justify-content:flex-start}.organization-admin-actions{width:100%}.system-entry{display:flex;flex-direction:column;gap:7px;min-width:0}.system-entry .system-card{width:100%}.project-admin-actions,.organization-admin-actions,.system-admin-actions,.module-admin-actions{display:flex;flex-wrap:wrap;gap:7px}.module-admin-actions{flex:1 0 100%;width:auto;padding-top:8px;border-top:1px solid #eaecf0}.project-admin-actions .button,.organization-admin-actions .button,.system-admin-actions .button,.module-admin-actions .button{padding:7px 10px}.module-main{min-width:0}.module-code{max-width:240px;white-space:normal;overflow-wrap:anywhere}.module-description{margin-top:7px;color:#667085;font-size:12px;line-height:1.45;overflow-wrap:anywhere}.module-source-details{margin-top:6px;color:#475467;font-size:11px}.module-source-details summary{cursor:pointer;color:#245c92}.module-source-details p{margin:5px 0 0;white-space:pre-line;overflow-wrap:anywhere;line-height:1.5}.module-card-expanded .module-main{flex:1}.module-card-expanded .module-main p{margin:8px 0 0}.module-actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.function-list{margin-bottom:16px}.function-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid #eaecf0}.function-row>div:first-child{display:flex;flex-direction:column;gap:5px}.function-row small{color:#667085}.function-edit-form{display:grid;gap:12px;margin-top:16px}.checkbox-field{display:flex;gap:9px;align-items:center;color:#344054}.checkbox-field input{width:auto}.audit-filters{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));gap:12px;margin-bottom:16px}.audit-search{grid-column:span 2}.audit-results{margin-top:16px}.audit-table-wrap{overflow:auto}.audit-table{width:100%;border-collapse:collapse;font-size:13px}.audit-table th,.audit-table td{text-align:left;vertical-align:top;border-bottom:1px solid #eaecf0;padding:11px 9px}.audit-table th{color:#475467;white-space:nowrap}.audit-table td small{display:block;max-width:250px;color:#667085;overflow-wrap:anywhere;margin-top:4px}.audit-table details pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:460px;max-height:320px;overflow:auto;font-size:11px;background:#f8fafc;padding:10px;border-radius:6px}.audit-result{display:inline-block;border-radius:20px;padding:4px 8px;white-space:nowrap;background:#ecfdf3;color:#027a48}.audit-result.failed{background:#fef3f2;color:#b42318}.audit-pagination{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:16px}@media(max-width:760px){.module-selectors,.module-filters,.audit-filters{grid-template-columns:1fr}.audit-search{grid-column:auto}.module-card-expanded,.function-row{flex-wrap:wrap}.module-actions{margin-left:0;width:100%}.audit-table{min-width:800px}}.success-panel{margin:0 0 14px;padding:11px 14px;border:1px solid #abefc6;border-radius:8px;color:#067647;background:#ecfdf3}.fstec-discovery{margin-top:18px;padding:16px;border:1px solid #d0d5dd;border-radius:10px;background:#fafbfc}.fstec-discovery h4{margin:0 0 8px}.fstec-candidate-list{display:grid;gap:10px;margin-top:12px}.fstec-candidate{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px;border:1px solid #e4e7ec;border-radius:8px;background:#fff}.document-scope-badges{display:flex;flex-wrap:wrap;gap:5px;margin:6px 0}.fstec-candidate a{display:inline-block;margin-top:5px;font-size:13px}.fstec-candidate .row-actions{flex-wrap:wrap}.retirement-proposals{max-height:45vh;overflow:auto;display:grid;gap:10px;margin:14px 0}.retirement-proposals .checkbox-field{align-items:flex-start;padding:10px;border:1px solid #e4e7ec;border-radius:8px}.retirement-proposals small{display:block;color:#667085;margin-top:4px}@media(max-width:760px){.fstec-candidate{align-items:flex-start;flex-direction:column}}.content:has(.regulatory-documents-workspace){width:100%;max-width:none}.workspace.regulatory-documents-workspace{width:100%;min-width:0;grid-template-columns:minmax(0,1fr)}.regulatory-documents-panel{width:100%;min-width:0}.regulatory-documents-panel .panel-title{flex-wrap:wrap}.regulatory-documents-panel .panel-title>div:first-child{min-width:min(100%,360px)}.regulatory-documents-panel .actions{flex-wrap:wrap;justify-content:flex-end}.regulatory-documents-panel .fstec-discovery{min-width:0;overflow-wrap:anywhere}.regulatory-documents-panel .fstec-candidate{min-width:0}.regulatory-document-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 12px;padding-bottom:12px;border-bottom:1px solid var(--border, #d0d5dd)}.regulatory-document-tabs .button{display:inline-flex;align-items:center;gap:8px}.regulatory-document-tabs .badge{border-radius:999px;padding:2px 8px;font-size:.8em;background:#ffffff2e}.regulatory-document-tabs .button.secondary .badge{background:#eef2f6}.regulatory-documents-panel .fstec-discovery{margin-top:0}@media(max-width:760px){.regulatory-documents-panel{padding:clamp(12px,2vw,24px)}.regulatory-documents-panel .panel-title{align-items:flex-start}.regulatory-documents-panel .actions{justify-content:flex-start}.regulatory-documents-panel .actions .button{width:auto}}.matrix-pagination{display:flex;justify-content:center;align-items:center;gap:14px;padding:16px 0 4px;color:#667085;font-size:13px}@media(max-width:560px){.matrix-pagination{gap:8px;flex-wrap:wrap}}.matrix-data-row>td{transition:background-color .15s ease}.matrix-data-row.matrix-status-compliant>td{background-color:var(--matrix-status-compliant,#cdebd4)}.matrix-data-row.matrix-status-partial>td{background-color:var(--matrix-status-partial,#ffe4a8)}.matrix-data-row.matrix-status-non-compliant>td{background-color:var(--matrix-status-non-compliant,#f6c9c4)}.matrix-data-row.matrix-status-unassessed>td{background-color:var(--matrix-status-unassessed,#ccdef0)}.matrix-data-row.matrix-status-not-applicable>td{background-color:var(--matrix-status-not-applicable,#dde1e5)}.matrix-data-row:hover>td{filter:brightness(.985)}.matrix-data-row.matrix-applicability-applicable>td:first-child{border-left:4px solid var(--matrix-applicability-applicable,#4d91c9)}.matrix-data-row.matrix-applicability-partial>td:first-child{border-left:4px solid var(--matrix-applicability-partial,#845ec2)}.matrix-data-row.matrix-applicability-not-applicable>td:first-child{border-left:4px solid var(--matrix-applicability-not-applicable,#6b7280)}.matrix-data-row.matrix-applicability-review>td:first-child{border-left:4px solid var(--matrix-applicability-review,#cf961b)}.matrix-legend{display:grid;gap:16px;margin-bottom:20px}.matrix-legend-group{display:grid;gap:9px}.matrix-legend-group>strong{font-size:13px;color:#344054}.matrix-legend-items{display:flex;flex-wrap:wrap;gap:8px 18px}.matrix-legend-item{display:inline-flex;align-items:center;gap:7px;color:#475467;font-size:12px}.matrix-legend-swatch{width:18px;height:14px;border:1px solid #d0d5dd;border-radius:3px;flex:none}.matrix-legend-swatch.status-compliant{background:var(--matrix-status-compliant,#cdebd4)}.matrix-legend-swatch.status-partial{background:var(--matrix-status-partial,#ffe4a8)}.matrix-legend-swatch.status-non-compliant{background:var(--matrix-status-non-compliant,#f6c9c4)}.matrix-legend-swatch.status-unassessed{background:var(--matrix-status-unassessed,#ccdef0)}.matrix-legend-swatch.status-not-applicable{background:var(--matrix-status-not-applicable,#dde1e5)}.matrix-legend-edge{width:4px;height:16px;border-radius:3px;background:var(--matrix-applicability-applicable,#4d91c9);flex:none}.matrix-legend-edge.applicability-partial{background:var(--matrix-applicability-partial,#845ec2)}.matrix-legend-edge.applicability-not-applicable{background:var(--matrix-applicability-not-applicable,#6b7280)}.matrix-legend-edge.applicability-review{background:var(--matrix-applicability-review,#cf961b)}.matrix-color-settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;gap:12px 18px;margin:14px 0 18px}.matrix-color-settings>strong{grid-column:1/-1;margin-top:4px;color:#344054;font-size:13px}.matrix-color-settings .field input[type=color]{width:100%;min-height:42px;padding:4px;cursor:pointer}@media(max-width:560px){.matrix-legend{padding:14px}.matrix-legend-items{gap:8px 12px}}.mobile-menu-toggle,.mobile-nav-backdrop{display:none}@media(max-width:750px){.app{width:100%;height:100dvh;min-height:100dvh;overflow:hidden}.main{width:100%;height:100dvh;min-width:0}.sidebar{position:fixed;z-index:1001;inset:0 auto 0 0;width:min(86vw,320px);max-width:320px;flex:0 0 min(86vw,320px);height:100dvh;transform:translate(-105%);transition:transform .22s ease;box-shadow:0 12px 40px #10182840}.sidebar.mobile-open{transform:translate(0)}.sidebar.mobile-open .brand{justify-content:flex-start;padding:18px 20px}.sidebar.mobile-open .brand>div:last-child{display:block;min-width:0}.sidebar.mobile-open .brand strong,.sidebar.mobile-open .brand small{overflow-wrap:anywhere}.sidebar.mobile-open nav{padding:10px 12px}.sidebar.mobile-open nav button{width:100%;min-height:44px;padding:10px 12px;text-align:left;font-size:14px;line-height:1.3;white-space:normal}.sidebar.mobile-open nav button:first-letter{font-size:inherit}.sidebar.mobile-open .sidebar-bottom{padding:14px 16px}.sidebar.mobile-open .user-info{display:flex}.sidebar.mobile-open .logout{font-size:14px}.sidebar.mobile-open .logout:after{content:none}.mobile-nav-backdrop{display:block;position:fixed;inset:0;z-index:1000;width:100%;height:100%;border:0;padding:0;background:#1018287a}.topbar{min-height:68px;gap:12px;padding:11px 14px;align-items:center}.mobile-menu-toggle{display:flex;flex:0 0 42px;width:42px;height:42px;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid #d7dde2;border-radius:9px;background:#fff;color:#17202a}.mobile-menu-toggle span{display:block;width:18px;height:2px;border-radius:2px;background:currentColor}.topbar>div{min-width:0}.topbar h2{margin:0 0 3px;font-size:18px;line-height:1.2;overflow-wrap:anywhere}.topbar span{display:block;font-size:12px;line-height:1.35}.read-only-banner{margin-top:5px;font-size:11px}.content{width:100%;max-width:none;padding:16px 12px 28px}.page-intro{gap:12px;margin-bottom:18px}.page-intro h1{font-size:23px;line-height:1.2}.panel{min-width:0;padding:14px;border-radius:11px}.panel-title{min-width:0}.panel-title>div:first-child{min-width:0}.panel-title h3{overflow-wrap:anywhere}.workspace{min-width:0;gap:14px}.table-wrap,.audit-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{min-width:640px}.row-actions{display:flex;flex-wrap:wrap;gap:7px}.row-actions .button{width:auto;flex:0 0 auto}.modal-backdrop{align-items:flex-end;padding:8px}.modal{width:100%;max-width:100%;max-height:calc(100dvh - 16px);padding:18px 16px;border-radius:16px 16px 10px 10px}.modal-header{gap:12px;margin-bottom:16px}.modal-header h3{font-size:18px;line-height:1.3}.modal-actions{flex-wrap:wrap}.modal-actions .button{flex:1 1 130px}.login-page{min-height:100dvh;padding:12px}.login-card{padding:24px 20px;border-radius:14px}.module-list-scroll{max-height:48dvh}.matrix-pagination{flex-wrap:wrap}}@media(max-width:520px){.content{padding:13px 10px 24px}.panel{padding:12px}.topbar{padding:9px 10px}.topbar h2{font-size:17px}.cards,.form-grid,.report-columns,.settings-colors,.module-selectors,.module-filters,.audit-filters{grid-template-columns:minmax(0,1fr)}.field input,.field textarea,.field select{min-width:0}.page-intro .actions,.panel-title>.actions{width:100%;justify-content:flex-start}.page-intro .actions .button,.panel-title>.actions .button{width:auto;flex:1 1 145px}.regulatory-document-tabs{display:grid;grid-template-columns:1fr}.regulatory-document-tabs .button{justify-content:space-between;min-height:42px}.fstec-candidate .row-actions{width:100%}.fstec-candidate .row-actions .button{flex:1 1 125px}.button{min-height:40px}.modal-actions .button{flex-basis:100%}}@media(prefers-reduced-motion:reduce){.sidebar{transition:none!important}}.back-to-top{position:fixed;z-index:80;right:26px;bottom:24px;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 15px;border:0;border-radius:999px;background:var(--brand-primary,#17202a);color:#fff;box-shadow:0 5px 18px #1018283d;font-weight:700}.back-to-top>span:first-child{font-size:22px;line-height:1}.back-to-top:focus-visible{outline:3px solid #84adff;outline-offset:3px}@media(max-width:750px){.topbar{position:sticky;top:0;z-index:50;box-shadow:0 3px 12px #10182814}.back-to-top{right:14px;bottom:calc(14px + env(safe-area-inset-bottom));min-height:46px;padding:0 14px}}.topbar{gap:18px}.topbar>div{flex:1 1 auto;min-width:0}.instruction-header-button{flex:0 0 auto;margin-left:auto;white-space:nowrap}.instruction-button-short{display:none}.role-guide-workspace{grid-template-columns:minmax(0,1fr)}.role-guide-panel{min-width:0}.role-guide-intro{align-items:flex-start;flex-wrap:wrap}.role-guide-intro .actions{flex-wrap:wrap}.role-guide-note{margin:-6px 0 12px;color:#667085;font-size:13px}@media(max-width:750px){.topbar{gap:8px}.instruction-header-button{margin-left:0;min-height:40px;padding:7px 9px;font-size:12px}.instruction-button-full{display:none}.instruction-button-short{display:inline}.role-guide-intro .actions{flex-direction:row}.role-guide-intro .actions .button{width:auto;flex:1 1 125px}}@media(max-width:520px){.role-guide-panel{padding:12px}}.role-guide-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin:14px 0 18px}.role-guide-card{display:flex;flex-direction:column;justify-content:space-between;gap:14px;min-width:0;padding:14px;border:1px solid #d8e0e8;border-radius:10px;background:#fff}.role-guide-card strong{display:block;color:#17202a}.role-guide-card p{margin:7px 0 0;color:#667085;font-size:13px;line-height:1.45}.role-guide-card-actions{display:flex;flex-wrap:wrap;gap:8px}.role-guide-card-actions .button{flex:1 1 105px;text-align:center}.guide-download{background:var(--brand-primary,#17202a);color:#fff;border-color:transparent}.guide-download:hover{filter:brightness(.94)}.app,.main,.content{background:var(--portal-bg,#f4f6f8);color:var(--portal-text,#17202a)}.topbar{background:var(--portal-surface,#fff);border-bottom-color:var(--portal-border,#e4e8eb)}.panel{background:var(--portal-surface,#fff);color:var(--portal-text,#17202a);border-color:var(--portal-border,#e4e8eb)}.button.secondary{background:var(--portal-surface,#fff);color:var(--portal-text,#17202a);border-color:var(--portal-border,#d7dde2)}.content a:not(.button),.login-legal-links a,.portal-footer a{color:var(--portal-accent,#245c92)}.login-card{background:var(--portal-surface,#fff);color:var(--portal-text,#17202a);border:1px solid var(--portal-border,#e4e8eb)}.settings-logo-controls{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px}.settings-logo-controls .field{flex:1 1 300px}.file-manager-summary{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0 0 14px;color:#475467}.file-manager-filters{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(280px,1.3fr);gap:12px}.file-category-panel .panel-title{margin-bottom:12px}.file-category-panel .panel-title span{display:block;margin-top:5px;color:#667085;font-size:12px;overflow-wrap:anywhere}.managed-file-list{display:grid;gap:8px}.managed-file-item{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;min-width:0;padding:12px;border:1px solid var(--portal-border,#e4e8eb);border-radius:9px;background:var(--portal-surface,#fff)}.managed-file-details{display:grid;gap:5px;min-width:0}.managed-file-details strong,.managed-file-details span,.managed-file-details code{overflow-wrap:anywhere}.managed-file-details code{padding:4px 6px;border-radius:5px;background:var(--portal-bg,#f4f6f8);color:#475467;font-size:12px}.managed-file-details small{color:#667085;font-size:12px}.managed-file-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:7px}@media(max-width:700px){.file-manager-filters{grid-template-columns:minmax(0,1fr)}.managed-file-item{flex-direction:column}.managed-file-actions{width:100%}.managed-file-actions .button{flex:1 1 120px}}.settings-checklist{display:grid;gap:7px;padding:14px;border:1px solid #d8e0e8;border-radius:10px;background:#fbfcfd}.settings-checklist>strong{margin-bottom:4px}.settings-checklist .checkbox-row{margin:0}.settings-policy-note{display:grid;gap:5px;padding:13px 14px;border:1px solid #d8e0e8;border-radius:10px;background:#fbfcfd}.settings-policy-note strong{color:#253244}.settings-policy-note span{color:#667085;font-size:13px;line-height:1.45}.system-health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:10px}.live-metrics-panel{display:grid;gap:14px}.live-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.live-metric-card{display:grid;gap:9px;min-width:0;padding:14px;border:1px solid var(--portal-border,#e4e8eb);border-radius:10px;background:var(--portal-surface,#fff)}.live-metric-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.live-metric-heading strong{color:#253244}.live-metric-heading b{font-size:17px;font-variant-numeric:tabular-nums}.live-metric-card small{color:#667085;line-height:1.45}.live-metric-bar{height:10px;overflow:hidden;border-radius:99px;background:#e8edf2}.live-metric-bar span{display:block;height:100%;min-width:0;border-radius:inherit;background:#3981b9;transition:width .5s ease}.live-metric-bar.high span{background:#d17a35}.live-metric-bar.critical span{background:#bd4747}.live-metric-bar.unavailable{background:repeating-linear-gradient(135deg,#f2f4f7,#f2f4f7 6px,#e4e7ec 6px 12px)}.role-instruction-upload-list{display:grid;gap:8px;margin:0 0 12px}.role-instruction-upload{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px dashed #b5c1ce;border-radius:9px;background:#fafbfd}.role-instruction-upload>span{display:grid;gap:4px}.role-instruction-upload small{color:#667085}.role-instruction-upload input[type=file]{max-width:min(100%,320px);font-size:12px}.file-replace-button{position:relative;overflow:hidden;cursor:pointer}.file-replace-button input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.role-guide-unavailable{color:#805d14;font-size:13px}.system-storage-list{display:grid;gap:6px;margin:12px 0}.system-storage-list>div{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid #e8edf2}.portal-maintenance-notice{margin:12px 24px 0;padding:12px 16px;border:1px solid #f3d38c;border-radius:10px;background:#fff4d6;color:#744d00;line-height:1.5}.portal-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;padding:10px 18px 14px;color:#667085;font-size:12px}.portal-footer a,.login-legal-links a{color:#245c92}.login-public-notice{margin:12px 0;padding:10px 12px;border-radius:8px;background:#fff4d6;color:#744d00;font-size:13px;line-height:1.45}.login-legal-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 14px;margin-top:18px;font-size:12px}.app[data-density=compact] .sidebar nav button{min-height:34px;padding-top:6px;padding-bottom:6px}.app[data-density=compact] .panel{padding-top:14px;padding-bottom:14px}.app[data-density=compact] .data-table td,.app[data-density=compact] .data-table th{padding-top:7px;padding-bottom:7px}@media(max-width:750px){.portal-maintenance-notice{margin:9px 12px 0}.portal-footer{padding:10px 12px 18px}}.user-list-filters{display:grid;grid-template-columns:minmax(220px,2fr) repeat(2,minmax(160px,1fr));gap:12px;margin:12px 0 18px}.user-row-disabled td{border-color:#333!important}.user-row-disabled .user-state.inactive{color:#fff;background:#383838}.security-access-grid{display:grid;gap:18px;margin-top:18px}.security-access-grid .table-wrap{overflow:auto;max-height:560px}.security-access-grid .audit-filters>.button{align-self:end;justify-self:start;min-width:0;padding:7px 12px;font-size:13px}.security-client-cell{min-width:220px;max-width:360px;overflow-wrap:anywhere}.security-block-form{display:grid;grid-template-columns:1fr 1fr 2fr auto;gap:12px;align-items:end}.security-block-list{margin-top:16px}.security-block-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 4px;border-top:1px solid var(--portal-border, #e4e8eb)}.security-block-row small{display:block;margin-top:4px;color:#687483}.last-login-notice{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 18px 12px;padding:12px 16px;border:1px solid #b8cce0;border-left:5px solid #3976a8;border-radius:9px;background:#e6f0f8;color:#20384c;font-size:13px}.last-login-notice strong{white-space:nowrap}.last-login-line{display:flex;flex:1 1 100%;flex-wrap:wrap;gap:4px 8px}@media(max-width:720px){.user-list-filters,.security-block-form{grid-template-columns:1fr}.last-login-notice{margin:0 10px 10px;align-items:flex-start;flex-direction:column}.security-block-row{align-items:flex-start;flex-direction:column}}
