*{box-sizing:border-box}.regulatory-page{font:16px/1.55 'Source Sans 3',sans-serif;margin:0}.regulatory-page a{color:#6141b4}.regulatory-page button,.regulatory-page input,.regulatory-page select,.regulatory-page textarea{font:inherit}.regulatory-page button{cursor:pointer}.regulatory-page [hidden]{display:none!important}.regulatory-page h1,.regulatory-page h2,.regulatory-page h3,.regulatory-page p{margin:0}.regulatory-page h1{font-size:clamp(28px,3vw,40px);line-height:1.15}.regulatory-page h2{font-size:24px}.regulatory-page h3{font-size:18px}.regulatory-page .main{max-width:1300px!important}.reg-hero{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px;padding:30px;border:1px solid #e5dfee;border-radius:24px;background:linear-gradient(110deg,#eee8fb,#fff3e9);margin-bottom:24px}.reg-hero p{max-width:680px;color:#635873;margin-top:12px}.reg-kicker{font-size:11px!important;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:#6141b4!important;margin:0 0 12px!important}.reg-toolbar{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:22px}.reg-toolbar>label{flex:1;min-width:180px}.reg-toolbar select{width:100%}.reg-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 0 16px;margin-bottom:15px}.reg-tabs button{white-space:nowrap;border:1px solid #e5dfee;background:white;border-radius:12px;padding:10px 15px;color:#635873;font-weight:600}.reg-tabs button[aria-current=page]{background:#7051c6;border-color:#7051c6;color:white}.reg-panel{background:#fff;border:1px solid #e5dfee;border-radius:20px;padding:26px;margin-bottom:20px;min-width:0}.reg-panel>p,.reg-panel>h2{margin-bottom:16px}.reg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.reg-field{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:14px;font-weight:600}.regulatory-page :is(input:not([type=checkbox]):not([type=radio]),select,textarea){padding:11px 12px;border:1px solid #dcd4e8;border-radius:10px;background:#fff;color:#302e45;max-width:100%;min-width:0}.regulatory-page textarea{min-height:90px;resize:vertical}.regulatory-page select[multiple]{min-height:125px}.reg-field small{color:#72657f;font-weight:400;font-size:12px}.regulatory-page fieldset{border:0;margin:20px 0;padding:0;min-width:0}.regulatory-page legend{font-size:19px;font-weight:600;margin-bottom:18px}.reg-button{display:inline-flex;justify-content:center;align-items:center;border:1px solid #dcd4e8;border-radius:11px;background:#fff;color:#6141b4;padding:10px 16px;font-weight:600;text-decoration:none;gap:8px}.reg-button.primary{background:#7051c6;color:#fff;border-color:#7051c6}.reg-button:hover{filter:brightness(.97)}.reg-button:disabled{opacity:.6;cursor:wait}.reg-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px;align-items:center}.reg-muted{color:#665b74;font-size:14px}.reg-note{padding:15px 18px;border-radius:12px;background:#f2eef8;color:#625273;font-size:14px;margin:16px 0!important}.reg-note.peach{background:#fff0e6;color:#885138}.reg-frameworks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.reg-framework{position:relative;padding:22px;border:1px solid #e5dfee;border-radius:18px;background:#fff}.reg-framework h3{margin:10px 0}.reg-framework p{color:#665b74;font-size:14px;margin:10px 0}.reg-framework label{display:flex;align-items:flex-start;gap:10px}.reg-framework input{margin-top:7px;accent-color:#7051c6}.reg-chip{display:inline-flex;align-items:center;padding:4px 8px;gap:4px;border-radius:7px;background:#eee8fa;color:#6141b4;font-size:11px;font-weight:600;line-height:1.4}.reg-chip.preparation,.reg-chip.readiness{background:#fff0e5;color:#925619}.reg-chip.potential{background:#edf2ff;color:#4269c5}.reg-chip.not_applicable{background:#f0eef2;color:#71667a}.reg-chips{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.reg-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px}.reg-metric{padding:20px;border-radius:16px;background:#eee8fa;color:#49328a}.reg-metric:nth-child(2){background:#eaf0ff;color:#355bab}.reg-metric:nth-child(3){background:#fff0e6;color:#885138}.reg-metric:nth-child(4){background:#e8f1f2;color:#286675}.reg-metric strong{font-size:34px;line-height:1.1;display:block;margin-bottom:9px}.reg-metric span{font-size:13px}.reg-score{font-size:40px!important;font-weight:700;color:#6141b4!important}.reg-score small{font-size:14px;color:#6b6178}.reg-meter{height:7px;background:#eee9f5;border-radius:4px;overflow:hidden;margin:12px 0}.reg-meter>span{height:100%;display:block;background:#9275ce}.reg-control{margin-bottom:12px;border:1px solid #e4dcec;border-radius:16px;background:#fff;overflow:hidden}.reg-control>summary{display:flex;align-items:center;gap:12px;padding:18px;cursor:pointer;list-style:none}.reg-control>summary::-webkit-details-marker{display:none}.reg-control>summary strong{flex:1;min-width:0}.reg-control>summary::after{content:'+';font-size:22px;color:#816993}.reg-control[open]>summary::after{content:'−'}.reg-control-body{padding:22px;border-top:1px solid #e4dcec}.reg-control-body>p{margin-bottom:16px}.reg-control-body form>.reg-grid{margin-bottom:18px}.reg-obligation{padding:16px;background:#f7f4fb;border-radius:12px;margin:12px 0}.reg-obligation p{font-size:14px;margin:8px 0}.reg-obligation .reg-field{margin-top:12px}.reg-frameworks .reg-framework .reg-button{margin-top:10px}.reg-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}.reg-column{background:#eeeaf4;border-radius:18px;padding:15px}.reg-column>h2{font-size:18px;margin:0 0 16px}.reg-task{padding:18px;background:#fff;border:1px solid #e4dcec;border-radius:14px;margin-bottom:12px;min-width:0}.reg-task h3{font-size:16px}.reg-task .reg-field{font-size:12px;margin-top:10px}.reg-task p{font-size:13px;margin:10px 0}.reg-task .reg-button{font-size:13px}.reg-evidence{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;flex-wrap:wrap;border-bottom:1px solid #e7e0ed;padding:18px 0}.reg-evidence p{font-size:13px;margin-top:6px}.reg-date{font-size:12px;color:#72657f}.reg-checkboxes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:240px;overflow:auto;padding:12px;border:1px solid #e4dcec;border-radius:12px}.reg-checkboxes label{display:flex;gap:8px;font-size:13px;align-items:flex-start}.reg-checkboxes input{accent-color:#7051c6;margin-top:4px}.reg-admin-editor{width:100%;min-height:450px!important;font:12px/1.5 ui-monospace,monospace!important}.reg-error{background:#fff0f2;color:#a12e4b;border:1px solid #f0ced8;border-radius:12px;padding:14px;margin-bottom:18px}.reg-success{background:#edf5ef;color:#286347;border-radius:12px;padding:14px;margin-bottom:18px}.reg-domain{display:flex;justify-content:space-between;gap:15px;font-size:14px;margin-top:15px}.reg-empty{padding:30px;background:#fff;border:1px solid #e5dfee;border-radius:18px;text-align:center}.regulatory-page details>summary{cursor:pointer}.regulatory-page pre{white-space:pre-wrap;overflow-wrap:anywhere}.regulatory-page :is(p,a,h2,h3,strong){overflow-wrap:anywhere}
@media(max-width:1100px){.reg-board{grid-template-columns:1fr}.reg-frameworks{grid-template-columns:1fr}.reg-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.regulatory-page>.app{padding:20px 14px!important}.reg-hero{padding:24px 20px;gap:18px}.reg-panel{padding:20px 16px}.reg-grid,.reg-checkboxes{grid-template-columns:1fr}.reg-control-body{padding:16px}.reg-control>summary{padding:14px;gap:8px;font-size:14px}.reg-control>summary .reg-chip{max-width:85px;white-space:normal}.reg-metric{padding:17px}.reg-metric strong{font-size:30px}.reg-tabs{max-width:100%;gap:6px}.reg-tabs button{font-size:13px;padding:9px 12px}.reg-actions{align-items:stretch}.reg-actions>.reg-button{flex:1}.reg-hero h1{font-size:30px}}

.reg-panel>details+details{margin-top:18px}.reg-panel>details[open]>form{padding:22px 0}.reg-panel>details>summary{font-weight:600;color:#6141b4}.regulatory-page .reg-admin-editor{margin-top:14px}

/* Scoped legal context, target profiles and scheduled duties. */
.reg-context-start,.reg-nist-target,.assessment-scheduled{margin:20px 0;padding:18px;border:1px solid #ded6ec;border-radius:16px;background:#faf8fd}.reg-context-start>summary,.reg-nist-target>summary,.assessment-scheduled>summary{cursor:pointer;font-weight:650;color:#493b67}.reg-context-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:18px;margin:22px 0}.reg-context-field{min-width:0;padding:18px;background:#fff;border:1px solid #e7e1ee;border-radius:14px}.reg-context-field fieldset{border:0;margin:0;padding:0;min-width:0}.reg-context-field legend{font-weight:650;margin-bottom:10px}.reg-context-field p{font-size:.9rem;line-height:1.6;margin-bottom:0}.reg-context-option{display:flex;align-items:flex-start;gap:10px;margin:10px 0;line-height:1.45;font-size:.94rem}.reg-context-option input[type=checkbox]{flex:0 0 auto;width:18px;height:18px;margin-top:2px;accent-color:#7254bd}.reg-nist-target .reg-context-option{padding:9px 0;border-bottom:1px solid #e7e1ee}.reg-nist-target{max-height:65vh;overflow:auto}.reg-context-grid select{max-width:100%}.assessment-scheduled p{font-size:.9rem;line-height:1.55}@media(max-width:600px){.reg-context-field{padding:14px}.reg-context-start{padding:12px}.reg-context-grid{gap:12px}}

/* Keep large multi-framework action programs bounded and searchable. */
.reg-program-filter{display:flex;flex-wrap:wrap;align-items:end;gap:12px}.reg-program-filter>.reg-field{flex:1 1 220px}.reg-program-filter .reg-button{min-height:44px}.reg-program-pager{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:16px;font-size:12px;color:#665b74}.reg-program-pager .reg-button{padding:7px 12px;min-height:40px}.reg-program-pager .reg-button:disabled{cursor:default}@media(max-width:600px){.reg-program-filter>.reg-field{flex-basis:100%}}
