:root {
    color-scheme: light dark;
    --rg-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --rg-border: rgba(120, 132, 158, .18);
    --rg-muted: #6b7589;
    --rg-success: #168f5b;
    --rg-warning: #d98316;
    --rg-danger: #d64545;
}

html, body { margin: 0; min-height: 100%; font-family: var(--rg-font); }
body { background: var(--mud-palette-background); color: var(--mud-palette-text-primary); }
*, *::before, *::after { box-sizing: border-box; }

.console-appbar { border-bottom: 1px solid var(--mud-palette-divider); padding-left: 12px; }
.console-drawer { border-right: 0 !important; }
.console-drawer .mud-drawer-content { display: flex; flex-direction: column; overflow: hidden; }
.console-main { min-height: 100vh; }
.content-shell { padding: 38px 40px 64px; max-width: 1660px; margin: 0 auto; }

.brand-lockup { height: 72px; display: flex; align-items: center; gap: 12px; padding: 0 22px; color: #fff; }
.brand-lockup strong, .brand-lockup small { display: block; line-height: 1.15; }
.brand-lockup strong { font-size: 17px; letter-spacing: -.02em; }
.brand-lockup small { color: #8f9aae; font-size: 11px; text-transform: uppercase; letter-spacing: .13em; margin-top: 4px; }
.brand-mark { width: 34px; height: 34px; border-radius: 10px; background: linear-gradient(145deg,#7c85ff,#4754e7); position: relative; box-shadow: 0 8px 25px rgba(76,87,227,.35); }
.brand-mark::before, .brand-mark::after, .brand-mark span { content:""; position:absolute; width:6px; border-radius:5px; background:white; bottom:8px; }
.brand-mark::before { left:8px; height:11px; opacity:.75; }
.brand-mark span { left:14px; height:18px; }
.brand-mark::after { left:20px; height:14px; opacity:.85; }

.primary-nav { flex: 1; overflow-y: auto; padding: 8px 12px; }
.primary-nav .mud-nav-link { border-radius: 9px; margin: 2px 0; min-height: 42px; color: #aeb8ca; }
.primary-nav .mud-nav-link.active:not(.mud-disabled) { background: rgba(112,124,255,.14); color: #fff; }
.primary-nav .mud-nav-link:hover:not(.mud-disabled) { background: rgba(255,255,255,.06); color: #fff; }
.primary-nav .mud-disabled { opacity: .5; }
.nav-section-label { color: #606b7f; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .13em; margin: 22px 12px 7px; }
.soon { float: right; border: 1px solid rgba(255,255,255,.12); border-radius: 99px; font-size: 9px; padding: 1px 6px; margin-left: 12px; text-transform: uppercase; }
.nav-footnote { margin: 12px; padding: 13px; border: 1px solid rgba(255,255,255,.07); border-radius: 10px; display: flex; gap: 10px; align-items: center; color:#c9d2e3; }
.nav-footnote strong, .nav-footnote small { display:block; font-size:11px; }
.nav-footnote small { color:#717d91; margin-top:2px; }
.live-dot { width:8px; height:8px; border-radius:50%; background:#47c58a; box-shadow:0 0 0 4px rgba(71,197,138,.11); }

.appbar-search { width: min(420px, 38vw); height: 38px; border: 1px solid var(--mud-palette-divider); background: var(--mud-palette-background); border-radius: 9px; margin-left: 14px; padding: 0 10px; display:flex; align-items:center; gap:8px; color:var(--mud-palette-text-secondary); font-size:12px; }
.appbar-search span { flex:1; }
kbd { border:1px solid var(--mud-palette-divider); border-bottom-width:2px; border-radius:5px; padding:2px 6px; font-family:var(--rg-font); font-size:10px; }
.profile-button { display:flex; align-items:center; gap:8px; border:0; background:transparent; color:var(--mud-palette-text-primary); font:inherit; padding:4px 8px; cursor:pointer; }
.profile-avatar { width:30px; height:30px; border-radius:9px; display:grid; place-items:center; color:white; background:linear-gradient(145deg,#6873f7,#4854d7); font-size:10px; font-weight:700; }
.profile-name { font-size:12px; font-weight:600; max-width:140px; overflow:hidden; text-overflow:ellipsis; }

.page-header { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; margin-bottom:30px; }
.page-header h1 { margin:4px 0 6px; font-size:30px; line-height:1.2; letter-spacing:-.035em; }
.page-header p { margin:0; color:var(--mud-palette-text-secondary); font-size:13px; }
.eyebrow { color:var(--mud-palette-primary); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.13em; }
.header-actions { display:flex; align-items:center; gap:16px; }
.last-updated { display:flex; align-items:center; gap:6px; color:var(--mud-palette-text-secondary); font-size:11px; }

.metric-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-bottom:16px; }
.metric-card, .panel { background:var(--mud-palette-surface); border:1px solid var(--mud-palette-divider); border-radius:12px; box-shadow:0 1px 2px rgba(16,24,40,.025); }
.metric-card { min-height:190px; padding:20px; position:relative; overflow:hidden; }
.metric-card-heading { display:flex; align-items:center; justify-content:space-between; color:var(--mud-palette-text-secondary); font-size:11px; font-weight:600; }
.metric-card-heading .mud-icon-root { font-size:20px; color:var(--mud-palette-primary); }
.metric-number { margin-top:23px; font-size:38px; line-height:1; font-weight:700; letter-spacing:-.05em; }
.metric-card p { color:var(--mud-palette-text-secondary); font-size:11px; line-height:1.55; max-width:235px; margin:12px 0; }
.success-number { color:var(--rg-success); }
.trend { border-radius:99px; padding:3px 8px; font-size:9px; text-transform:uppercase; letter-spacing:.06em; }
.trend.good { color:var(--rg-success); background:rgba(22,143,91,.1); }
.trend.bad { color:var(--rg-danger); background:rgba(207,53,68,.11); }
.status-pill { display:inline-flex; align-items:center; width:max-content; border-radius:99px; padding:4px 9px; font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.status-pill.passing { color:var(--rg-success); background:rgba(22,143,91,.1); }
.status-pill.manual { color:var(--mud-palette-primary); background:rgba(89,101,242,.1); }
.status-pill.unmonitored { color:var(--mud-palette-text-secondary); background:rgba(105,117,145,.12); }
.status-pill.failing { color:var(--rg-danger); background:rgba(207,53,68,.11); }
.status-pill.attention { color:var(--rg-warning); background:rgba(217,131,22,.11); }
.readiness-content { display:flex; align-items:center; gap:22px; margin-top:17px; }
.readiness-ring { --value:0; width:103px; aspect-ratio:1; border-radius:50%; display:grid; place-items:center; background:conic-gradient(var(--mud-palette-primary) calc(var(--value)*1%), rgba(105,117,145,.13) 0); position:relative; }
.readiness-ring::before { content:""; position:absolute; inset:9px; border-radius:50%; background:var(--mud-palette-surface); }
.readiness-ring div { position:relative; text-align:center; }
.readiness-ring strong, .readiness-ring small { display:block; }
.readiness-ring strong { font-size:20px; letter-spacing:-.04em; }
.readiness-ring small { color:var(--mud-palette-text-secondary); font-size:8px; text-transform:uppercase; }
.readiness-legend { display:grid; gap:13px; flex:1; }
.readiness-legend div { display:grid; grid-template-columns:8px 25px 1fr; align-items:center; gap:5px; }
.readiness-legend b { font-size:12px; }.readiness-legend small { color:var(--mud-palette-text-secondary); font-size:9px; }
.legend-dot { width:7px;height:7px;border-radius:50%; }.legend-dot.passing{background:var(--rg-success)}.legend-dot.attention{background:var(--rg-warning)}
.micro-chart { display:flex; align-items:end; gap:5px; height:46px; position:absolute; bottom:18px; right:20px; }
.micro-chart span { width:5px; border-radius:4px; background:linear-gradient(var(--mud-palette-primary),rgba(89,101,242,.25)); }
.progress-track { height:5px; background:rgba(105,117,145,.12); border-radius:99px; overflow:hidden; margin-top:20px; }.progress-track span{display:block;height:100%;background:var(--rg-success)}

.dashboard-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(320px,.75fr); gap:16px; }
.panel { padding:22px; }
.panel-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:20px; }
.panel-heading h2 { margin:4px 0 0; font-size:16px; letter-spacing:-.02em; }
.framework-empty { min-height:180px; border:1px dashed var(--mud-palette-divider); border-radius:10px; display:flex; align-items:center; justify-content:center; gap:18px; padding:24px; }
.empty-illustration { width:54px; height:54px; display:grid; place-items:center; border-radius:15px; color:var(--mud-palette-primary); background:rgba(89,101,242,.09); }
.framework-empty h3 { margin:0 0 5px; font-size:13px; }.framework-empty p{margin:0;color:var(--mud-palette-text-secondary);font-size:11px}
.activity-list { list-style:none; margin:0; padding:0; display:grid; }
.activity-list li { display:flex; gap:12px; padding:13px 0; border-top:1px solid var(--mud-palette-divider); }.activity-list li:first-child{border-top:0;padding-top:2px}
.activity-icon { width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:var(--mud-palette-primary);background:rgba(89,101,242,.1)}.activity-icon.success{color:var(--rg-success);background:rgba(22,143,91,.1)}
.activity-list strong,.activity-list small{display:block}.activity-list strong{font-size:11px;margin-top:1px}.activity-list small{font-size:9px;color:var(--mud-palette-text-secondary);margin-top:4px}
.home-framework-list{display:grid}.home-framework-list>a{display:grid;grid-template-columns:42px 1fr auto 20px;align-items:center;gap:13px;padding:16px 5px;border-top:1px solid var(--mud-palette-divider);color:inherit;text-decoration:none}.home-framework-list>a:first-child{border-top:0}.home-framework-list>a:hover strong{color:var(--mud-palette-primary)}.home-framework-list strong,.home-framework-list small{display:block}.home-framework-list strong{font-size:12px}.home-framework-list small{font-size:9px;color:var(--mud-palette-text-secondary);margin-top:3px}.home-framework-coverage{text-align:right}.home-framework-coverage strong{font-size:14px}.home-framework-coverage small{text-transform:uppercase;letter-spacing:.08em}
.readiness-trend-panel{margin-top:16px}.readiness-trend{display:grid;grid-template-columns:repeat(14,minmax(46px,1fr));gap:9px;min-width:760px;overflow:hidden}.readiness-trend-panel{overflow:auto}.readiness-trend article{display:grid;grid-template-rows:22px 128px 18px;gap:6px;text-align:center;align-items:end}.readiness-trend article>strong{font-size:9px}.readiness-trend article>div{height:128px;display:flex;align-items:end;overflow:hidden;border-radius:7px;background:rgba(105,117,145,.1)}.readiness-trend article>div span{display:block;width:100%;min-height:1px;background:linear-gradient(var(--mud-palette-primary),rgba(89,101,242,.32));border-radius:7px 7px 0 0}.readiness-trend article>small{font-size:8px;color:var(--mud-palette-text-secondary);white-space:nowrap}.dashboard-proof-note{margin:16px 0 0;color:var(--mud-palette-text-secondary);font-size:9px;line-height:1.5}

.catalog-loading{display:grid;gap:16px}.catalog-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.catalog-summary-grid article{background:var(--mud-palette-surface);border:1px solid var(--mud-palette-divider);border-radius:11px;padding:17px 19px}.catalog-summary-grid span,.catalog-summary-grid strong,.catalog-summary-grid small{display:block}.catalog-summary-grid span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--mud-palette-text-secondary);font-weight:700}.catalog-summary-grid strong{font-size:27px;letter-spacing:-.04em;margin:7px 0 2px}.catalog-summary-grid small{font-size:9px;color:var(--mud-palette-text-secondary)}
.framework-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}.framework-card{background:var(--mud-palette-surface);border:1px solid var(--mud-palette-divider);border-radius:12px;padding:20px}.framework-card-top{display:flex;align-items:center;gap:12px}.framework-card-top>div:nth-child(2){flex:1}.framework-card-top span:not(.status-pill){font-size:9px;color:var(--mud-palette-text-secondary);font-weight:700;letter-spacing:.09em}.framework-card h2{font-size:14px;margin:2px 0}.framework-card>p{color:var(--mud-palette-text-secondary);font-size:10px;line-height:1.55;margin:15px 0;min-height:47px}.framework-monogram{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;color:white;background:linear-gradient(145deg,#6974f8,#414dcc);font-weight:800;font-size:11px;letter-spacing:-.03em;box-shadow:0 7px 18px rgba(67,78,204,.2)}.framework-monogram.small{width:36px;height:36px;border-radius:9px;font-size:9px}.framework-monogram.large{width:62px;height:62px;border-radius:17px;font-size:14px;flex:0 0 auto}.framework-coverage>div:first-child{display:flex;justify-content:space-between;font-size:10px}.framework-coverage .progress-track{margin:7px 0}.framework-coverage small{color:var(--mud-palette-text-secondary);font-size:9px}
.control-catalog-panel{padding:0;overflow:hidden}.catalog-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:21px 22px}.catalog-title-row h2{font-size:16px;margin:3px 0}.catalog-title-row p{font-size:10px;color:var(--mud-palette-text-secondary);margin:0}.catalog-legend{font-size:9px;color:var(--mud-palette-text-secondary);display:flex;align-items:center;gap:7px}.catalog-toolbar{display:flex;align-items:end;gap:10px;padding:12px 22px;background:var(--mud-palette-background);border-top:1px solid var(--mud-palette-divider);border-bottom:1px solid var(--mud-palette-divider)}.catalog-toolbar>label:not(.catalog-search){display:grid;gap:4px}.catalog-toolbar label>span{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:var(--mud-palette-text-secondary);font-weight:700}.catalog-toolbar select,.catalog-search{height:36px;border:1px solid var(--mud-palette-divider);border-radius:8px;background:var(--mud-palette-surface);color:var(--mud-palette-text-primary);font:inherit;font-size:10px}.catalog-toolbar select{min-width:150px;padding:0 28px 0 10px}.catalog-search{flex:1;display:flex;align-items:center;gap:8px;padding:0 10px}.catalog-search input{width:100%;height:100%;border:0;outline:0;background:transparent;color:inherit;font:inherit;font-size:10px}.catalog-search.compact{flex:0 1 330px}.icon-filter-button,.row-open-button{border:1px solid var(--mud-palette-divider);background:var(--mud-palette-surface);color:var(--mud-palette-text-secondary);border-radius:8px;width:36px;height:36px;display:grid;place-items:center;cursor:pointer}.icon-filter-button:hover,.row-open-button:hover{color:var(--mud-palette-primary);border-color:var(--mud-palette-primary)}
.control-table th,.control-table td{padding:12px 14px}.control-table td:first-child{white-space:normal;min-width:340px}.control-title-button{display:block;width:100%;text-align:left;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;padding:0}.control-title-button>span,.control-title-button>strong,.control-title-button>small{display:block}.control-title-button>span{font-size:9px;color:var(--mud-palette-primary);font-weight:700}.control-title-button>strong{font-size:11px;margin:3px 0}.control-title-button>small{font-size:9px;line-height:1.4;color:var(--mud-palette-text-secondary);max-width:520px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.control-title-button:hover>strong{color:var(--mud-palette-primary)}.category-label{font-size:9px;border:1px solid var(--mud-palette-divider);border-radius:6px;padding:4px 7px}.mapping-chip-list{display:flex;flex-wrap:wrap;gap:5px}.mapping-chip-list span{background:rgba(89,101,242,.08);color:var(--mud-palette-primary);border-radius:6px;padding:4px 6px;font-size:9px;font-weight:700}.mapping-chip-list b{margin-left:3px}.row-open-button{width:28px;height:28px;border:0;background:transparent}
.detail-backdrop{position:fixed;inset:0;background:rgba(7,11,19,.45);z-index:1299;backdrop-filter:blur(2px)}.control-detail-drawer{position:fixed;z-index:1300;right:0;top:0;bottom:0;width:min(580px,94vw);background:var(--mud-palette-surface);box-shadow:-20px 0 60px rgba(0,0,0,.2);display:flex;flex-direction:column;animation:drawer-in .18s ease-out}.control-detail-drawer>header{padding:22px 24px;border-bottom:1px solid var(--mud-palette-divider);display:flex;align-items:flex-start;gap:15px}.control-detail-drawer>header>div{flex:1}.control-detail-drawer>header span{font-size:10px;color:var(--mud-palette-primary);font-weight:700}.control-detail-drawer h2{margin:5px 0 0;font-size:20px;letter-spacing:-.03em}.control-detail-drawer>header button{border:0;background:transparent;color:var(--mud-palette-text-secondary);cursor:pointer}.control-detail-body{padding:24px;overflow:auto}.control-detail-body>section{margin-bottom:25px}.detail-label{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--mud-palette-text-secondary);font-weight:700;margin-bottom:8px}.control-detail-body p{font-size:11px;line-height:1.65;margin:0;color:var(--mud-palette-text-secondary)}.detail-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:25px}.detail-facts>div{padding:12px;background:var(--mud-palette-background);border:1px solid var(--mud-palette-divider);border-radius:8px}.detail-facts span,.detail-facts strong{display:block}.detail-facts span{font-size:8px;text-transform:uppercase;color:var(--mud-palette-text-secondary)}.detail-facts strong{font-size:10px;margin-top:4px}.detail-mapping-list{display:grid;gap:9px}.detail-mapping-list article{border:1px solid var(--mud-palette-divider);border-radius:9px;padding:13px}.detail-mapping-list article>div{display:flex;gap:7px;margin-bottom:6px}.detail-mapping-list strong{font-size:10px;display:block}.detail-mapping-list p{font-size:9px;margin-top:5px}.framework-code{font-size:9px;font-weight:800;color:var(--mud-palette-primary)}.coverage-tag{display:inline-flex;width:max-content;border-radius:99px;padding:2px 6px;font-size:8px;font-weight:700;text-transform:uppercase}.coverage-tag.full{color:var(--rg-success);background:rgba(22,143,91,.1)}.coverage-tag.partial{color:var(--rg-warning);background:rgba(217,131,22,.11)}.coverage-tag.supporting{color:var(--mud-palette-primary);background:rgba(89,101,242,.1)}
.breadcrumb{display:flex;align-items:center;gap:5px;font-size:9px;color:var(--mud-palette-text-secondary);margin-bottom:18px}.breadcrumb a{color:var(--mud-palette-primary);text-decoration:none}.framework-detail-header{display:flex;align-items:center;gap:18px;margin-bottom:20px}.framework-detail-header>div:nth-child(2){flex:1}.framework-detail-header h1{font-size:27px;margin:3px 0}.framework-detail-header p{font-size:10px;color:var(--mud-palette-text-secondary);line-height:1.5;max-width:780px;margin:0}.source-link{display:flex;align-items:center;gap:5px;color:var(--mud-palette-primary);font-size:9px;text-decoration:none}.framework-detail-stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--mud-palette-divider);background:var(--mud-palette-surface);border-radius:11px;margin-bottom:16px}.framework-detail-stats>div{padding:15px 19px;border-left:1px solid var(--mud-palette-divider)}.framework-detail-stats>div:first-child{border-left:0}.framework-detail-stats strong,.framework-detail-stats span{display:block}.framework-detail-stats strong{font-size:19px}.framework-detail-stats span{font-size:8px;color:var(--mud-palette-text-secondary);text-transform:uppercase;letter-spacing:.07em;margin-top:2px}.requirement-panel{padding:0;overflow:hidden}.requirement-panel .catalog-search{border:1px solid var(--mud-palette-divider)}.requirement-groups{border-top:1px solid var(--mud-palette-divider)}.requirement-group>header{display:flex;justify-content:space-between;padding:12px 22px;background:var(--mud-palette-background);border-bottom:1px solid var(--mud-palette-divider)}.requirement-group>header h3{font-size:10px;text-transform:uppercase;letter-spacing:.09em;margin:0}.requirement-group>header span{font-size:9px;color:var(--mud-palette-text-secondary)}.requirement-row{border-bottom:1px solid var(--mud-palette-divider)}.requirement-row summary{display:grid;grid-template-columns:72px 1fr auto 100px 20px;align-items:center;gap:10px;padding:13px 22px;cursor:pointer;list-style:none}.requirement-row summary::-webkit-details-marker{display:none}.requirement-row summary>.mono{font-size:9px;color:var(--mud-palette-primary);font-weight:700}.requirement-row summary>strong{font-size:10px}.mapping-count{text-align:right;font-size:9px;color:var(--mud-palette-text-secondary)}.requirement-content{padding:0 22px 17px 104px}.requirement-content>p{font-size:10px;color:var(--mud-palette-text-secondary);line-height:1.5}.requirement-controls{display:grid;gap:6px}.requirement-controls>a{display:grid;grid-template-columns:110px 1fr auto;gap:8px;align-items:center;border:1px solid var(--mud-palette-divider);border-radius:8px;padding:9px 10px;text-decoration:none;color:inherit}.requirement-controls>a:hover{border-color:var(--mud-palette-primary)}.requirement-controls .mono{font-size:8px;color:var(--mud-palette-primary)}.requirement-controls strong{font-size:9px}.requirement-controls small{grid-column:2/4;color:var(--mud-palette-text-secondary);font-size:8px;line-height:1.4}
@keyframes drawer-in{from{transform:translateX(25px);opacity:.5}to{transform:translateX(0);opacity:1}}

.integrity-banner { display:flex; align-items:center; gap:14px; border:1px solid; border-radius:12px; padding:17px 20px; margin-bottom:16px; }
.integrity-banner.valid { color:var(--rg-success); border-color:rgba(22,143,91,.2); background:rgba(22,143,91,.06); }.integrity-banner.invalid{color:var(--rg-danger);border-color:rgba(214,69,69,.25);background:rgba(214,69,69,.06)}
.integrity-banner div { flex:1; }.integrity-banner strong,.integrity-banner span{display:block}.integrity-banner strong{font-size:13px}.integrity-banner span,.integrity-banner time{font-size:10px;margin-top:3px;opacity:.8}
.table-panel { padding:0; overflow:hidden; }.table-panel .panel-heading{padding:22px;margin:0}.data-table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:11px}.data-table th{text-align:left;color:var(--mud-palette-text-secondary);font-size:9px;text-transform:uppercase;letter-spacing:.08em;background:var(--mud-palette-background);padding:10px 18px}.data-table td{padding:13px 18px;border-top:1px solid var(--mud-palette-divider);white-space:nowrap}.data-table td small{display:block;color:var(--mud-palette-text-secondary);margin-top:3px}.mono{font-family:"SFMono-Regular",Consolas,monospace}.hash{color:var(--mud-palette-text-secondary)}
.work-group-row td{background:rgba(89,101,242,.05);border-top-color:rgba(89,101,242,.18)}.work-source-row td:nth-child(2){padding-left:30px}.work-item-action{margin-top:8px}.inventory-form-grid .work-checkbox{display:flex;align-items:center;gap:7px;min-height:34px;font-size:10px;color:var(--mud-palette-text-primary)}.inventory-form-grid .work-checkbox input{width:auto}
.table-skeleton{display:grid;gap:1px;padding:0 22px 22px}.compact-empty{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--mud-palette-text-secondary);font-size:11px;padding:50px}
.empty-state { min-height:55vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:40px; }.empty-state h1{font-size:24px;margin:18px 0 7px}.empty-state p{color:var(--mud-palette-text-secondary);font-size:12px;max-width:440px;margin:0 0 20px}.full-page-empty{min-height:calc(100vh - 160px)}
.inventory-section{margin-top:16px}.inventory-form-panel{padding:0;margin-bottom:16px}.inventory-form-panel .panel-heading{padding:20px 22px}.inventory-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;padding:0 22px 18px}.inventory-form-grid label{display:grid;gap:5px}.inventory-form-grid>.wide{grid-column:1/-1;min-width:0}.inventory-form-grid label>span{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:var(--mud-palette-text-secondary);font-weight:700}.inventory-form-grid input,.inventory-form-grid select,.inventory-form-grid textarea{width:100%;border:1px solid var(--mud-palette-divider);border-radius:8px;background:var(--mud-palette-background);color:var(--mud-palette-text-primary);font:inherit;font-size:10px;padding:9px 10px;outline:none}.inventory-form-grid input:focus,.inventory-form-grid select:focus,.inventory-form-grid textarea:focus{border-color:var(--mud-palette-primary);box-shadow:0 0 0 2px rgba(89,101,242,.1)}.inventory-form-grid textarea{resize:vertical}.inventory-form-actions{display:flex;justify-content:flex-end;gap:8px;padding:14px 22px;border-top:1px solid var(--mud-palette-divider)}.inventory-form-note{font-size:9px;color:var(--mud-palette-text-secondary);margin:0;padding:0 22px 17px}.table-panel>.inventory-help{margin:0;padding:0 22px 18px;font-size:10px;line-height:1.5;color:var(--mud-palette-text-secondary)}.inventory-source-error{max-width:28rem;color:var(--rg-danger);white-space:normal}.inventory-message{border:1px solid;border-radius:9px;padding:11px 14px;margin-bottom:16px;font-size:10px}.inventory-message.success{color:var(--rg-success);border-color:rgba(22,143,91,.25);background:rgba(22,143,91,.07)}.inventory-message.error{color:var(--rg-danger);border-color:rgba(207,53,68,.25);background:rgba(207,53,68,.07)}
.runtime-queue-section-heading{margin:0;padding:12px 22px;border-top:1px solid var(--mud-palette-divider);border-bottom:1px solid var(--mud-palette-divider);background:var(--mud-palette-background);font-size:10px;text-transform:uppercase;letter-spacing:.09em}
.date-time-picker-field{min-width:0;margin:0;padding:0;border:0;display:grid;gap:5px}.date-time-picker-field>legend{padding:0;font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:var(--mud-palette-text-secondary);font-weight:700}.date-time-picker-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.date-time-picker-field .mud-input-control{margin:0}.date-time-picker-field.invalid>legend{color:var(--rg-danger)}
@media (max-width:480px){.date-time-picker-controls{grid-template-columns:1fr}}
.inventory-wizard-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;list-style:none;margin:0;padding:0 22px 18px}.inventory-wizard-steps li{border:1px solid var(--mud-palette-divider);border-radius:8px;padding:9px 10px;color:var(--mud-palette-text-secondary);font-size:9px;font-weight:700}.inventory-wizard-steps li.current{border-color:var(--mud-palette-primary);background:rgba(89,101,242,.08);color:var(--mud-palette-primary)}.inventory-wizard-steps li.complete{border-color:rgba(22,143,91,.3);background:rgba(22,143,91,.07);color:var(--rg-success)}.inventory-validation-summary{border:1px solid rgba(207,53,68,.25);border-radius:9px;background:rgba(207,53,68,.06);color:var(--rg-danger);padding:12px}.inventory-validation-summary.ready{border-color:rgba(22,143,91,.3);background:rgba(22,143,91,.07);color:var(--rg-success)}.inventory-validation-summary ul{margin:6px 0 0;padding-left:18px}.data-table details ul{margin:5px 0;padding-left:16px}
.risk-heatmap{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.risk-cell{min-height:82px;border:1px solid var(--mud-palette-divider);border-radius:9px;padding:10px;display:grid;align-content:space-between}.risk-cell span,.risk-cell small{font-size:8px;text-transform:uppercase;letter-spacing:.06em}.risk-cell strong{font-size:22px}.risk-cell.low{background:rgba(22,143,91,.1);color:var(--rg-success)}.risk-cell.moderate{background:rgba(217,131,22,.1);color:var(--rg-warning)}.risk-cell.high{background:rgba(229,91,31,.12);color:#c75a20}.risk-cell.critical{background:rgba(207,53,68,.12);color:var(--rg-danger)}.risk-cell.mixed{background:rgba(105,117,145,.12)}.risk-reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:0 22px 18px}.risk-reference-grid.one-column{grid-template-columns:1fr}.risk-reference-grid>section{border:1px solid var(--mud-palette-divider);border-radius:9px;padding:12px;max-height:350px;overflow:auto}.risk-reference-grid h3{font-size:11px;margin:0 0 8px}.risk-reference-grid p{font-size:9px;color:var(--mud-palette-text-secondary)}.risk-reference{display:flex;gap:8px;align-items:flex-start;padding:7px 0;border-top:1px solid var(--mud-palette-divider);font-size:9px}.risk-reference:first-of-type{border-top:0}.risk-reference input{margin-top:2px}.risk-reference span,.risk-reference strong,.risk-reference small{display:block}.risk-reference small{color:var(--mud-palette-text-secondary);word-break:break-all}
.page-loading{padding:50px;max-width:900px;margin:auto}

/* Authentication and authorization failures deliberately render outside the console shell. */
.auth-shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto;background:radial-gradient(circle at 50% 0,rgba(89,101,242,.10),transparent 34rem),#f6f8fc;color:#172033}
.auth-header{height:78px;display:flex;align-items:center;max-width:1180px;width:100%;margin:0 auto;padding:0 28px;border-bottom:1px solid rgba(120,132,158,.16)}
.auth-brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.auth-brand>.brand-mark{flex:0 0 auto}.auth-brand>span:last-child strong,.auth-brand>span:last-child small{display:block;line-height:1.15}.auth-brand>span:last-child strong{font-size:17px;letter-spacing:-.02em}.auth-brand>span:last-child small{margin-top:4px;color:#78839a;font-size:10px;text-transform:uppercase;letter-spacing:.13em}
.auth-main{display:grid;place-items:center;padding:54px 24px}.auth-footer{display:flex;justify-content:space-between;gap:20px;max-width:1180px;width:100%;margin:0 auto;padding:24px 28px;border-top:1px solid rgba(120,132,158,.16);color:#7a8498;font-size:10px}
.auth-notice{width:min(560px,100%);padding:48px 44px;border:1px solid rgba(120,132,158,.18);border-radius:18px;background:#fff;box-shadow:0 24px 70px rgba(37,48,76,.10);text-align:center}.auth-notice-icon{display:grid;place-items:center;width:60px;height:60px;margin:0 auto 22px;border-radius:17px;background:rgba(89,101,242,.10);color:#4d59df}.auth-notice-icon-error{background:rgba(214,69,69,.09)}.auth-notice .eyebrow{margin:0 0 8px}.auth-notice h1{margin:0 0 12px;font-size:29px;line-height:1.18;letter-spacing:-.04em}.auth-notice>p:not(.eyebrow){max-width:450px;margin:0 auto;color:#6b7589;font-size:13px;line-height:1.65}.auth-notice-actions{display:flex;justify-content:center;margin-top:27px}.auth-notice>small{display:block;margin-top:21px;color:#8992a4;font-size:10px;line-height:1.5}
.auth-route-loading{display:grid;justify-items:center;gap:12px;color:#6b7589;font-size:12px}.auth-loading-mark{width:34px;height:34px;border:3px solid rgba(89,101,242,.18);border-top-color:#5965f2;border-radius:50%;animation:auth-spin .75s linear infinite}.auth-route-loading p{margin:0}@keyframes auth-spin{to{transform:rotate(360deg)}}
@media(max-width:620px){.auth-header{height:70px;padding:0 20px}.auth-main{padding:34px 16px}.auth-notice{padding:38px 24px}.auth-notice h1{font-size:25px}.auth-footer{align-items:flex-start;flex-direction:column;padding:20px}.auth-footer span:last-child{display:none}}

@media (max-width: 1200px) { .metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.content-shell{padding:30px 28px 55px}.catalog-summary-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width: 700px) { .content-shell{padding:24px 16px 45px}.metric-grid,.catalog-summary-grid,.framework-card-grid,.framework-detail-stats,.risk-reference-grid{grid-template-columns:1fr}.risk-heatmap{grid-template-columns:repeat(2,minmax(0,1fr))}.framework-detail-stats>div{border-left:0;border-top:1px solid var(--mud-palette-divider)}.framework-detail-stats>div:first-child{border-top:0}.page-header,.framework-detail-header{align-items:flex-start;flex-direction:column}.header-actions{width:100%;justify-content:space-between}.appbar-search{display:none}.profile-name{display:none}.framework-empty{align-items:flex-start;flex-direction:column}.dashboard-grid{display:block}.dashboard-grid .panel+ .panel{margin-top:16px}.catalog-toolbar{align-items:stretch;flex-direction:column}.catalog-toolbar select{width:100%}.catalog-search{flex:0 0 36px}.control-table td:first-child{min-width:280px}.catalog-title-row{align-items:flex-start;flex-direction:column}.catalog-search.compact{width:100%;flex-basis:36px}.requirement-row summary{grid-template-columns:60px 1fr 20px}.requirement-row summary .status-pill,.mapping-count{display:none}.requirement-content{padding-left:22px}.requirement-controls>a{grid-template-columns:1fr auto}.requirement-controls .mono{grid-column:1/3}.requirement-controls small{grid-column:1/3}.source-link{align-self:flex-start}.inventory-form-grid{grid-template-columns:1fr}.inventory-form-grid label.wide{grid-column:auto} }

.heartbeat-secret-panel{display:grid;gap:12px;padding:20px 22px;margin-bottom:16px;border-color:rgba(184,123,0,.35);background:rgba(184,123,0,.06)}.heartbeat-secret-panel h2{margin:3px 0 0;font-size:16px}.heartbeat-secret-panel p{margin:0;color:var(--mud-palette-text-secondary);font-size:10px}.heartbeat-secret-panel label{display:grid;gap:5px}.heartbeat-secret-panel label>span{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:var(--mud-palette-text-secondary);font-weight:700}.heartbeat-secret-panel code{display:block;overflow-wrap:anywhere;padding:10px 12px;border:1px solid var(--mud-palette-divider);border-radius:7px;background:var(--mud-palette-background);font-size:9px;user-select:all}
.endpoint-onboarding{margin-bottom:16px}.endpoint-onboarding-steps{grid-template-columns:repeat(5,minmax(0,1fr))}.endpoint-onboarding .inventory-message{margin:0 22px 16px}.onboarding-release-card{display:grid;gap:6px;padding:14px;border:1px solid rgba(89,101,242,.28);border-radius:9px;background:rgba(89,101,242,.06)}.onboarding-release-card span,.onboarding-release-card small{color:var(--mud-palette-text-secondary)}.onboarding-release-card code{overflow-wrap:anywhere}.onboarding-prerequisites{margin:0 22px 18px;padding:16px;border:1px solid var(--mud-palette-divider);border-radius:9px;background:var(--mud-palette-background)}.onboarding-prerequisites h3,.onboarding-troubleshooting h3,.onboarding-install-grid h3,.onboarding-verification-heading h3{margin:0 0 8px;font-size:12px}.onboarding-prerequisites h3:not(:first-child){margin-top:14px}.onboarding-prerequisites ul,.onboarding-troubleshooting ol,.onboarding-install-grid ol{margin:0;padding-left:20px;color:var(--mud-palette-text-secondary);font-size:10px;line-height:1.55}.onboarding-secret{margin:0 22px 16px}.onboarding-secret h3{margin:3px 0 0;font-size:15px}.onboarding-code{max-height:320px;margin:0;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;padding:12px;border:1px solid var(--mud-palette-divider);border-radius:7px;background:var(--mud-palette-background);color:var(--mud-palette-text-primary);font-size:9px;line-height:1.5;user-select:all}.onboarding-install-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 22px 16px}.onboarding-install-grid article{display:grid;align-content:start;gap:9px;padding:16px;border:1px solid var(--mud-palette-divider);border-radius:9px;background:var(--mud-palette-background)}.onboarding-install-grid p{margin:0;color:var(--mud-palette-text-secondary);font-size:10px}.onboarding-install-grid label{display:grid;gap:4px}.onboarding-install-grid label span{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:var(--mud-palette-text-secondary);font-weight:700}.onboarding-install-grid code{overflow-wrap:anywhere;user-select:all}.onboarding-verification-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0 22px 14px}.onboarding-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 22px 16px}.onboarding-check{display:grid;align-content:start;gap:7px;min-height:120px;padding:13px;border:1px solid var(--mud-palette-divider);border-radius:9px;background:var(--mud-palette-background)}.onboarding-check.passing{border-color:rgba(22,143,91,.3);background:rgba(22,143,91,.05)}.onboarding-check.failing{border-color:rgba(207,53,68,.28);background:rgba(207,53,68,.05)}.onboarding-check .status-pill{justify-self:start}.onboarding-check small{color:var(--mud-palette-text-secondary);line-height:1.45}.onboarding-check em{margin-top:auto;color:var(--rg-danger);font-size:8px;font-style:normal;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.onboarding-troubleshooting{margin:0 22px 16px;padding:16px;border:1px solid rgba(184,123,0,.28);border-radius:9px;background:rgba(184,123,0,.06)}.onboarding-confirmation{margin:0 22px 16px}.endpoint-onboarding-actions{padding-top:0}.onboarding-close-note{padding-top:0!important;text-align:right}

/* Public trust center: intentionally separate from the authenticated console skin. */
.trust-shell{--trust-ink:#18231f;--trust-muted:#62706a;--trust-line:#dce6e0;--trust-green:#196c4a;min-height:100vh;background:#f7faf8;color:var(--trust-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.trust-header{height:76px;display:flex;align-items:center;justify-content:space-between;gap:30px;max-width:1160px;margin:auto;padding:0 28px;border-bottom:1px solid var(--trust-line)}.trust-brand{display:flex;align-items:center;gap:11px;color:inherit;text-decoration:none}.trust-brand-mark{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:var(--trust-green);color:white;font-weight:800}.trust-brand strong,.trust-brand small{display:block}.trust-brand small{color:var(--trust-muted);font-size:10px;text-transform:uppercase;letter-spacing:.12em;margin-top:2px}.trust-header nav{display:flex;align-items:center;gap:22px}.trust-header nav a{color:var(--trust-muted);font-size:13px;text-decoration:none}.trust-header nav a:hover{color:var(--trust-green)}.trust-main{max-width:1104px;margin:auto;padding:70px 28px 90px}.trust-hero{max-width:820px;padding-bottom:56px}.trust-kicker{margin:0 0 10px;color:var(--trust-green)!important;font-size:11px!important;font-weight:800;text-transform:uppercase;letter-spacing:.13em}.trust-hero h1{font-size:clamp(38px,6vw,70px);line-height:1.03;letter-spacing:-.055em;margin:0 0 24px}.trust-hero>p:not(.trust-kicker){max-width:720px;color:var(--trust-muted);font-size:18px;line-height:1.65}.trust-verified{display:inline-flex;align-items:center;gap:10px;margin-top:20px;padding:11px 15px;border:1px solid #b7d9c8;border-radius:10px;background:#eef8f2;color:var(--trust-green)}.trust-verified>span{font-size:18px}.trust-verified strong,.trust-verified small{display:block}.trust-verified small{font-size:11px;margin-top:2px}.trust-gate{display:grid;grid-template-columns:1.25fr 1fr;gap:45px;align-items:center;margin:0 0 60px;padding:34px;border:1px solid #c8dbd0;border-radius:18px;background:white;box-shadow:0 18px 55px rgba(29,68,50,.07)}.trust-gate h2,.trust-section h2,.trust-empty h2{font-size:28px;letter-spacing:-.035em;margin:0 0 10px}.trust-gate p{color:var(--trust-muted);line-height:1.6}.trust-form{display:grid;gap:8px}.trust-form label{font-size:12px;font-weight:700}.trust-form input{width:100%;height:46px;border:1px solid #bdcbc4;border-radius:9px;padding:0 13px;background:#fbfdfc;color:var(--trust-ink);font:inherit}.trust-form input:focus{outline:3px solid rgba(25,108,74,.12);border-color:var(--trust-green)}.trust-form button,.trust-button,.trust-nda button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:0;border-radius:9px;padding:0 17px;background:var(--trust-green);color:white;font:inherit;font-size:13px;font-weight:700;text-decoration:none;cursor:pointer}.trust-form small{color:var(--trust-muted);font-size:10px}.trust-section,.trust-empty{padding:48px 0;border-top:1px solid var(--trust-line)}.trust-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:25px}.trust-section-heading h2{margin:0}.trust-section-heading>span{color:var(--trust-muted);font-size:11px}.trust-copy{max-width:850px;color:var(--trust-muted);font-size:16px;line-height:1.8;white-space:pre-line}.trust-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.trust-card{padding:24px;border:1px solid var(--trust-line);border-radius:14px;background:white}.trust-card-title{display:flex;align-items:center;justify-content:space-between;gap:15px}.trust-card h3,.trust-list-row h3{margin:0;font-size:16px}.trust-card>p,.trust-list-row p{color:var(--trust-muted);font-size:12px;line-height:1.55}.trust-card>small,.trust-list-row small{color:var(--trust-muted);font-size:10px}.trust-status{padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800}.trust-status-passing{background:#e8f7ee;color:#147346}.trust-status-attention{background:#fff4d9;color:#925c00}.trust-status-failing{background:#fde9e8;color:#a3302c}.trust-status-unknown{background:#edf0ef;color:#58645f}.trust-category{display:flex;justify-content:space-between;gap:20px;padding:8px 0;border-top:1px solid #edf2ef;font-size:11px}.trust-list{display:grid}.trust-list-row{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:22px 0;border-top:1px solid var(--trust-line)}.trust-list-row:first-child{border-top:0}.trust-list-row>div{flex:1}.trust-list-row>a:not(.trust-button){color:var(--trust-green);font-size:12px;font-weight:700}.trust-muted{max-width:250px;color:var(--trust-muted);font-size:11px;text-align:right}.trust-nda{max-width:420px;color:var(--trust-muted);font-size:12px}.trust-nda summary{color:var(--trust-green);font-weight:700;cursor:pointer}.trust-nda p{max-height:180px;overflow:auto;white-space:pre-line}.trust-nda button{min-height:38px}.trust-alert{margin-bottom:25px;padding:13px 16px;border-radius:9px;font-size:12px}.trust-alert-error{border:1px solid #e5b7b4;background:#fff0ef;color:#8f2f2b}.trust-loading,.trust-empty{text-align:center;color:var(--trust-muted)}.trust-footer{display:flex;justify-content:space-between;gap:20px;max-width:1160px;margin:auto;padding:28px;border-top:1px solid var(--trust-line);color:var(--trust-muted);font-size:10px}
@media (max-width:760px){.trust-header{height:auto;padding-top:18px;padding-bottom:18px;align-items:flex-start}.trust-header nav{display:none}.trust-main{padding:45px 20px 65px}.trust-gate{grid-template-columns:1fr;padding:24px;gap:18px}.trust-status-grid{grid-template-columns:1fr}.trust-section-heading,.trust-list-row,.trust-footer{align-items:flex-start;flex-direction:column}.trust-muted{text-align:left}.trust-hero h1{font-size:42px}}

/* ==========================================================================
   Form UX and accessibility layer
   --------------------------------------------------------------------------
   The console is operated by one accountable person entering data that becomes
   immutable compliance proof. A mistyped value is not a cosmetic problem here —
   it is a frozen record. So every field states what it is, what it is for, and
   what is wrong with it, and nothing depends on colour alone to say so.
   ========================================================================== */

:root {
    --rg-field-gap: 6px;
    --rg-focus-ring: 0 0 0 3px rgba(96, 112, 255, .45);
    --rg-invalid: #c0392b;
    --rg-invalid-bg: rgba(214, 69, 69, .08);
}

/* Keyboard focus must be obvious. `:focus-visible` rather than `:focus` so a
   mouse click does not leave a ring behind, while tabbing always shows one. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
    outline: 2px solid transparent;
    outline-offset: 2px;
    box-shadow: var(--rg-focus-ring);
    border-radius: 6px;
}

/* Skip link: the console's nav is long, and a keyboard user should not have to
   tab through all of it on every page. */
.skip-to-content {
    position: absolute;
    left: -9999px;
    top: 0;
    z-index: 2000;
    padding: 12px 18px;
    background: var(--mud-palette-surface);
    border: 1px solid var(--mud-palette-divider);
    border-radius: 0 0 10px 0;
    font-weight: 600;
}

.skip-to-content:focus {
    left: 0;
}

/* Field descriptions. Rendered under the control and wired up with
   aria-describedby so a screen reader hears the guidance, not just the label. */
.field-help {
    display: block;
    margin-top: var(--rg-field-gap);
    font-size: 12px;
    line-height: 1.45;
    color: var(--rg-muted);
}

/* Validation messages carry an icon and wording as well as colour, because
   roughly one operator in twelve cannot rely on the red. */
.field-error {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    margin-top: var(--rg-field-gap);
    font-size: 12px;
    line-height: 1.45;
    color: var(--rg-invalid);
    font-weight: 600;
}

.field-error::before {
    content: "\26A0";
    font-weight: 700;
    line-height: 1.35;
}

.inventory-form-grid label.has-error input,
.inventory-form-grid label.has-error select,
.inventory-form-grid label.has-error textarea,
input[aria-invalid="true"],
select[aria-invalid="true"],
textarea[aria-invalid="true"] {
    border-color: var(--rg-invalid);
    background: var(--rg-invalid-bg);
}

/* Required marker. The asterisk is decorative; the real signal is the
   "(required)" text, which is what assistive technology announces. */
.field-required {
    color: var(--rg-invalid);
    margin-left: 3px;
    font-weight: 700;
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

/* Form-level error summary. Placed at the top of the form and focused on submit
   failure so the operator is told everything that is wrong at once rather than
   discovering the next problem on each attempt. */
.form-error-summary {
    border: 1px solid var(--rg-invalid);
    background: var(--rg-invalid-bg);
    border-radius: 10px;
    padding: 14px 18px;
    margin-bottom: 18px;
}

.form-error-summary h3 {
    margin: 0 0 8px;
    font-size: 14px;
    color: var(--rg-invalid);
}

.form-error-summary ul {
    margin: 0;
    padding-left: 20px;
    font-size: 13px;
    line-height: 1.6;
}

/* Fieldsets group related inputs so the relationship is structural, not just
   visual — which is the difference between a form a screen reader can navigate
   and one it reads as a flat list of boxes. */
.inventory-form-panel fieldset {
    border: 1px solid var(--mud-palette-divider);
    border-radius: 12px;
    padding: 18px 20px 20px;
    margin: 0 0 18px;
}

.inventory-form-panel legend {
    padding: 0 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--rg-muted);
}

/* Destructive and irreversible actions read differently from ordinary ones.
   Much of what this console records cannot be edited afterwards. */
.action-irreversible {
    border-left: 3px solid var(--rg-warning);
    padding-left: 12px;
    font-size: 12px;
    line-height: 1.5;
    color: var(--rg-muted);
    margin: 10px 0 14px;
}

/* Status pills already carry colour; add a shape cue so status survives both
   colour-blindness and a monochrome print of an audit pack. */
.status-pill::before {
    margin-right: 5px;
    font-weight: 700;
}

.status-pill.passing::before { content: "\2713"; }
.status-pill.failing::before { content: "\2715"; }
.status-pill.manual::before { content: "\25CB"; }

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
        scroll-behavior: auto !important;
    }
}

/* Evidence gets exported and printed into audit packs. Chrome, navigation and
   interactive controls are noise on paper. */
@media print {
    .console-drawer,
    .console-appbar,
    .header-actions,
    .skip-to-content {
        display: none !important;
    }

    .content-shell {
        padding: 0;
        max-width: none;
    }

    .panel {
        break-inside: avoid;
        border: 1px solid #999;
    }
}

/* Empty state: icon, explanation, and the action that resolves it. */
.compact-empty {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 28px 22px;
    color: var(--mud-palette-text-secondary);
}

.compact-empty .mud-icon-root {
    font-size: 26px;
    opacity: .7;
    flex: none;
}

.compact-empty strong {
    display: block;
    font-size: 14px;
    color: var(--mud-palette-text-primary);
}

.compact-empty p {
    margin: 5px 0 0;
    font-size: 12.5px;
    line-height: 1.55;
    max-width: 62ch;
}

.decision-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.overdue-note {
    display: block;
    margin-top: 3px;
    font-size: 11px;
    font-weight: 600;
    color: var(--rg-warning);
}

/* Row headers carry the record identity; keep them readable rather than bold-and-cramped. */
.data-table th[scope="row"] {
    font-weight: 600;
    text-align: left;
}

/* ---------------------------------------------------------------- Evidence search and metadata */

/* The filter panel sits above a table that can hold tens of thousands of rows. It is deliberately
   plain: the operator's attention belongs on the results, not on the controls that produced them. */
.evidence-search-panel .inventory-form-grid {
    margin-bottom: 4px;
}

.evidence-search-toggles {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 18px;
    padding-top: 14px;
    border-top: 1px solid var(--mud-palette-divider);
    margin-top: 14px;
}

.evidence-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: var(--mud-palette-text-secondary);
    cursor: pointer;
}

.evidence-toggle input {
    width: 15px;
    height: 15px;
    accent-color: var(--mud-palette-primary);
}

.evidence-search-summary {
    margin-left: auto;
    font-size: 12px;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
}

.evidence-paging {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 22px;
    border-top: 1px solid var(--mud-palette-divider);
    font-size: 12px;
    color: var(--mud-palette-text-secondary);
}

.evidence-metadata {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.evidence-metadata-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
}

.evidence-metadata-header h3 {
    margin: 4px 0 0;
    font-size: 17px;
    letter-spacing: -.02em;
}

.evidence-metadata-file {
    margin: 6px 0 0;
    font-size: 12px;
    color: var(--mud-palette-text-secondary);
}

.evidence-metadata h4 {
    margin: 0 0 10px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--mud-palette-text-secondary);
}

/* The verdict is the one thing a reviewer must not skim past, so it carries an icon, a colour, and
   a sentence. Colour alone would fail the roughly one reader in twelve who cannot rely on it. */
.evidence-verdict {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 16px 18px;
    border-radius: 10px;
    border: 1px solid var(--rg-border);
}

.evidence-verdict strong {
    display: block;
    font-size: 13.5px;
}

.evidence-verdict p {
    margin: 5px 0 0;
    font-size: 12.5px;
    line-height: 1.55;
    color: var(--mud-palette-text-secondary);
    max-width: 78ch;
}

.evidence-verdict.passing { border-color: rgba(22, 143, 91, .35); background: rgba(22, 143, 91, .07); }
.evidence-verdict.passing .mud-icon-root { color: var(--rg-success); }
.evidence-verdict.failing { border-color: rgba(214, 69, 69, .4); background: rgba(214, 69, 69, .08); }
.evidence-verdict.failing .mud-icon-root { color: var(--rg-danger); }
.evidence-verdict.attention { border-color: rgba(217, 131, 22, .35); background: rgba(217, 131, 22, .07); }
.evidence-verdict.attention .mud-icon-root { color: var(--rg-warning); }
.evidence-verdict.manual .mud-icon-root { color: var(--mud-palette-text-secondary); }

/* Three timestamps side by side is the whole point of this panel; a stacked list would let a
   reviewer read one without the others. */
.evidence-timestamps {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 1px;
    margin: 0;
    background: var(--mud-palette-divider);
    border: 1px solid var(--mud-palette-divider);
    border-radius: 10px;
    overflow: hidden;
}

.evidence-timestamps > div {
    background: var(--mud-palette-surface);
    padding: 14px 16px;
}

.evidence-timestamps dt {
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--mud-palette-text-secondary);
}

.evidence-timestamps dd {
    margin: 6px 0 0;
    font-size: 13px;
}

.evidence-timestamps dd small {
    display: block;
    margin-top: 4px;
    font-size: 11px;
    line-height: 1.45;
    color: var(--mud-palette-text-secondary);
    white-space: normal;
}

.evidence-timestamps dd .hash {
    font-size: 10.5px;
    word-break: break-all;
}

.evidence-absent {
    color: var(--mud-palette-text-secondary);
    font-style: italic;
}

.evidence-preview-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.evidence-preview-note {
    font-size: 11px;
    color: var(--mud-palette-text-secondary);
}

.evidence-preview img,
.evidence-preview iframe {
    display: block;
    width: 100%;
    max-height: 62vh;
    border: 1px solid var(--mud-palette-divider);
    border-radius: 10px;
    background: var(--mud-palette-background);
}

.evidence-preview img {
    height: auto;
    object-fit: contain;
}

.evidence-preview iframe {
    height: 62vh;
}

/* Metadata values are free text from someone else's file; let them wrap rather than blow the table
   out horizontally, and keep them from crowding the field name. */
.evidence-metadata-value {
    white-space: normal;
    word-break: break-word;
    max-width: 52ch;
}

.evidence-metadata-notes {
    margin: 0;
    padding-left: 18px;
    font-size: 12px;
    line-height: 1.6;
    color: var(--mud-palette-text-secondary);
}

@media (max-width: 700px) {
    .evidence-metadata-header { flex-direction: column; }
    .evidence-paging { flex-direction: column; align-items: stretch; }
    .evidence-search-summary { margin-left: 0; }
}

/* ---------------------------------------------------------------- Trust center posture and updates */

/* The scorecard is the first thing a prospect reads and the number they quote back, so it gets the
   weight: one large figure, and the four counts that explain how it was reached right beside it. */
.trust-scorecard {
    display: flex;
    align-items: center;
    gap: 40px;
    flex-wrap: wrap;
    margin-top: 34px;
    padding: 28px 32px;
    border: 1px solid #c8dbd0;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 18px 55px rgba(29, 68, 50, .07);
}

/* conic-gradient renders the ring without script, which matters on a statically rendered page. */
.trust-score {
    flex: none;
    width: 132px;
    height: 132px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: conic-gradient(var(--trust-green) calc(var(--value) * 1%), #e6efe9 0);
}

.trust-score > div {
    width: 104px;
    height: 104px;
    display: grid;
    place-items: center;
    align-content: center;
    border-radius: 50%;
    background: #fff;
    text-align: center;
}

.trust-score strong { display: block; font-size: 27px; letter-spacing: -.04em; }
.trust-score small { display: block; margin-top: 2px; color: var(--trust-muted); font-size: 9.5px; text-transform: uppercase; letter-spacing: .08em; }

.trust-score-facts {
    flex: 1;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 22px 30px;
    margin: 0;
    min-width: 260px;
}

.trust-score-facts dt { color: var(--trust-muted); font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }
.trust-score-facts dd { margin: 6px 0 0; font-size: 24px; font-weight: 700; letter-spacing: -.03em; }
.trust-score-facts dd small { display: block; margin-top: 3px; color: var(--trust-muted); font-size: 11px; font-weight: 400; letter-spacing: 0; line-height: 1.45; }

.trust-computed { margin: 14px 0 0; color: var(--trust-muted); font-size: 11px; }
.trust-computed code { font-size: 10.5px; }

/* Framework badges read as the certification row a visitor scans for first. */
.trust-badges { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0 0; padding: 0; list-style: none; }

.trust-badge {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 10px 15px;
    border: 1px solid var(--trust-line);
    border-radius: 11px;
    background: #fff;
}

.trust-badge strong { font-size: 13px; letter-spacing: -.01em; }
.trust-badge span { font-size: 9.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .09em; color: var(--trust-muted); }
.trust-badge-passing { border-color: #b7d9c8; } .trust-badge-passing span { color: #147346; }
.trust-badge-attention { border-color: #e7d3a6; } .trust-badge-attention span { color: #925c00; }
.trust-badge-failing { border-color: #e5b7b4; } .trust-badge-failing span { color: #a3302c; }

.trust-search { padding: 34px 0 0; }
.trust-search label { display: block; margin-bottom: 8px; font-size: 12px; font-weight: 700; }
.trust-search > div { display: flex; gap: 10px; flex-wrap: wrap; }

.trust-search input {
    flex: 1;
    min-width: 240px;
    height: 46px;
    border: 1px solid #bdcbc4;
    border-radius: 9px;
    padding: 0 13px;
    background: #fbfdfc;
    color: var(--trust-ink);
    font: inherit;
}

.trust-search input:focus { outline: 3px solid rgba(25, 108, 74, .12); border-color: var(--trust-green); }

.trust-search button {
    min-height: 46px;
    border: 0;
    border-radius: 9px;
    padding: 0 20px;
    background: var(--trust-green);
    color: #fff;
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}

.trust-search-clear { align-self: center; color: var(--trust-green); font-size: 12px; font-weight: 700; }
.trust-search p { margin: 10px 0 0; color: var(--trust-muted); font-size: 12px; }

.trust-categories { display: grid; grid-template-columns: repeat(auto-fit, minmax(268px, 1fr)); gap: 16px; }

.trust-category-card { padding: 20px 22px; border: 1px solid var(--trust-line); border-radius: 14px; background: #fff; }
.trust-category-card header { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 14px; }
.trust-category-card h3 { margin: 0; font-size: 14px; }

.trust-meter { height: 7px; border-radius: 99px; background: #e6efe9; overflow: hidden; }
.trust-meter > span { display: block; height: 100%; border-radius: 99px; background: var(--trust-green); }
.trust-meter-caption { margin: 10px 0 0; color: var(--trust-muted); font-size: 11.5px; line-height: 1.5; }
.trust-meter-caption strong { color: var(--trust-ink); }

.trust-card .trust-meter { margin: 14px 0 12px; }

.trust-updates { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }

.trust-update { padding: 24px 0 24px 20px; border-top: 1px solid var(--trust-line); border-left: 3px solid transparent; }
.trust-update:first-child { border-top: 0; }
.trust-update-notice { border-left-color: #b7d9c8; }
.trust-update-important { border-left-color: #e0a33a; }
.trust-update-critical { border-left-color: #cf3544; }

.trust-update-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; margin-bottom: 9px; }
.trust-update-meta time { color: var(--trust-muted); font-size: 11px; font-weight: 700; }
.trust-update h3 { margin: 0 0 7px; font-size: 17px; letter-spacing: -.02em; }
.trust-update > p { margin: 0; max-width: 800px; color: var(--trust-muted); font-size: 14px; line-height: 1.65; }
.trust-update details { margin-top: 11px; }
.trust-update summary { color: var(--trust-green); font-size: 12px; font-weight: 700; cursor: pointer; }
.trust-update details .trust-copy { margin-top: 10px; font-size: 14px; }

.trust-chip {
    padding: 4px 9px;
    border-radius: 999px;
    background: #edf2ef;
    color: #4a5852;
    font-size: 9.5px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .07em;
}

.trust-chip-important { background: #fff4d9; color: #925c00; }
.trust-chip-critical { background: #fde9e8; color: #a3302c; }
.trust-chip-notice { background: #e8f7ee; color: #147346; }

.trust-inline-link { display: inline-block; margin-top: 12px; color: var(--trust-green); font-size: 12.5px; font-weight: 700; }

@media (max-width: 760px) {
    .trust-scorecard { gap: 26px; padding: 22px; }
    .trust-score { width: 108px; height: 108px; }
    .trust-score > div { width: 84px; height: 84px; }
    .trust-score strong { font-size: 22px; }
    .trust-categories { grid-template-columns: 1fr; }
    .trust-search > div { flex-direction: column; }
    .trust-search-clear { align-self: flex-start; }
}

/* ---------------------------------------------------------------- Operator overview (single pane) */

/* The banner answers "is anything wrong" before the operator reads anything else, in words as well as
   colour — colour alone fails roughly one reader in twelve, and this is the page they open in a hurry. */
.ops-banner {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 22px;
    padding: 22px 26px;
    border: 1px solid var(--rg-border);
    border-radius: 14px;
    background: var(--mud-palette-surface);
}

.ops-banner strong { display: block; font-size: 17px; letter-spacing: -.02em; }
.ops-banner p { margin: 6px 0 0; max-width: 92ch; color: var(--mud-palette-text-secondary); font-size: 13px; line-height: 1.6; }
.ops-banner > div:first-of-type { flex: 1; }

.ops-banner-figure { flex: none; text-align: right; }
.ops-banner-figure span { display: block; font-size: 30px; font-weight: 700; letter-spacing: -.04em; }
.ops-banner-figure small { display: block; margin-top: 2px; color: var(--mud-palette-text-secondary); font-size: 9.5px; text-transform: uppercase; letter-spacing: .08em; }

.ops-banner.passing { border-color: rgba(22,143,91,.35); background: rgba(22,143,91,.06); }
.ops-banner.passing .mud-icon-root { color: var(--rg-success); }
.ops-banner.attention { border-color: rgba(217,131,22,.35); background: rgba(217,131,22,.06); }
.ops-banner.attention .mud-icon-root { color: var(--rg-warning); }
.ops-banner.failing { border-color: rgba(214,69,69,.4); background: rgba(214,69,69,.07); }
.ops-banner.failing .mud-icon-root { color: var(--rg-danger); }

.ops-degraded { margin-bottom: 22px; border-left: 3px solid var(--rg-warning); }
.ops-degraded h2 { margin: 0 0 8px; font-size: 15px; }
.ops-degraded p { margin: 0 0 12px; max-width: 92ch; color: var(--mud-palette-text-secondary); font-size: 13px; line-height: 1.6; }
.ops-degraded ul { margin: 0; padding-left: 18px; font-size: 12.5px; line-height: 1.7; color: var(--mud-palette-text-secondary); }

.ops-tiles {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(216px, 1fr));
    gap: 14px;
    margin-bottom: 22px;
}

/* Whole tile is the link: the operator's next move from any figure is always to drill into it. */
.ops-tile {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 18px 20px;
    border: 1px solid var(--mud-palette-divider);
    border-left-width: 3px;
    border-radius: 12px;
    background: var(--mud-palette-surface);
    color: inherit;
    text-decoration: none;
    transition: border-color .12s ease, transform .12s ease;
}

.ops-tile:hover { border-color: var(--mud-palette-primary); transform: translateY(-1px); }
.ops-tile:focus-visible { outline: none; box-shadow: var(--rg-focus-ring); }
.ops-tile-domain { color: var(--mud-palette-text-secondary); font-size: 9.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .09em; }
.ops-tile-value { font-size: 26px; font-weight: 700; letter-spacing: -.035em; line-height: 1.15; }
.ops-tile-label { font-size: 12.5px; font-weight: 600; }
.ops-tile small { color: var(--mud-palette-text-secondary); font-size: 11px; line-height: 1.5; }

.ops-tile-passing { border-left-color: var(--rg-success); }
.ops-tile-attention { border-left-color: var(--rg-warning); }
.ops-tile-failing { border-left-color: var(--rg-danger); }
.ops-tile-unmonitored { border-left-color: var(--mud-palette-text-secondary); }

.ops-split { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 16px; margin-bottom: 16px; }
.ops-side { display: grid; gap: 16px; align-content: start; }

.ops-signals { margin: 0; padding: 0; list-style: none; }

.ops-signal { border-top: 1px solid var(--mud-palette-divider); border-left: 3px solid transparent; }
.ops-signal:first-child { border-top: 0; }
.ops-signal-critical { border-left-color: var(--rg-danger); }
.ops-signal-high { border-left-color: var(--rg-danger); opacity: .95; }
.ops-signal-medium { border-left-color: var(--rg-warning); }
.ops-signal-info { border-left-color: var(--mud-palette-divider); }

.ops-signal > a { display: block; padding: 15px 18px; color: inherit; text-decoration: none; }
.ops-signal > a:hover { background: var(--mud-palette-background); }
.ops-signal > a:focus-visible { outline: none; box-shadow: var(--rg-focus-ring); }
.ops-signal-head { display: flex; align-items: center; gap: 10px; margin-bottom: 7px; }
.ops-signal-domain { color: var(--mud-palette-text-secondary); font-size: 9.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .09em; }
.ops-signal strong { display: block; font-size: 13.5px; }
.ops-signal p { margin: 5px 0 0; max-width: 88ch; color: var(--mud-palette-text-secondary); font-size: 12.5px; line-height: 1.55; }

.ops-more { padding: 12px 18px; border-top: 1px solid var(--mud-palette-divider); }

@media (max-width: 1100px) {
    .ops-split { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
    .ops-banner { flex-direction: column; align-items: flex-start; }
    .ops-banner-figure { text-align: left; }
}

/* Subscription form and its outcome banner. */
.trust-alert-ok { border: 1px solid #b7d9c8; background: #eef8f2; color: #147346; }

.trust-subscribe {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    flex-wrap: wrap;
    margin-top: 26px;
    padding: 22px 24px;
    border: 1px solid var(--trust-line);
    border-radius: 14px;
    background: #fff;
}

.trust-subscribe label { display: block; font-size: 15px; font-weight: 700; }
.trust-subscribe p { margin: 6px 0 0; max-width: 60ch; color: var(--trust-muted); font-size: 12.5px; line-height: 1.55; }
.trust-subscribe-controls { display: flex; gap: 10px; flex-wrap: wrap; }

.trust-subscribe input {
    min-width: 250px;
    height: 46px;
    border: 1px solid #bdcbc4;
    border-radius: 9px;
    padding: 0 13px;
    background: #fbfdfc;
    color: var(--trust-ink);
    font: inherit;
}

.trust-subscribe input:focus { outline: 3px solid rgba(25,108,74,.12); border-color: var(--trust-green); }

.trust-subscribe button {
    min-height: 46px;
    border: 0;
    border-radius: 9px;
    padding: 0 22px;
    background: var(--trust-green);
    color: #fff;
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}

@media (max-width: 760px) {
    .trust-subscribe { flex-direction: column; align-items: stretch; gap: 16px; }
    .trust-subscribe-controls { flex-direction: column; }
    .trust-subscribe input { min-width: 0; }
}

/* Trust center — published policies and the controls they satisfy. */
.trust-policy { padding: 24px 0; border-top: 1px solid var(--trust-line); }
.trust-policy:first-child { border-top: 0; }

.trust-policy-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 35px; }
.trust-policy-head > div:first-child { flex: 1; }
.trust-policy-head h3 { margin: 0 0 6px; font-size: 16px; }
.trust-policy-head > div:first-child > p { margin: 0; max-width: 78ch; color: var(--trust-muted); font-size: 13px; line-height: 1.6; }

.trust-policy-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin-top: 10px; color: var(--trust-muted); font-size: 10.5px; }
.trust-policy-meta code { font-size: 10px; }

.trust-policy-actions { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }

.trust-policy-note { margin: 12px 0 0; color: var(--trust-muted); font-size: 11.5px; }

.trust-controls { margin-top: 14px; }
.trust-controls > summary { color: var(--trust-green); font-size: 12.5px; font-weight: 700; cursor: pointer; }
.trust-controls-frameworks { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin: 14px 0 0; color: var(--trust-muted); font-size: 11px; }

.trust-table-scroll { margin-top: 12px; overflow-x: auto; }
.trust-control-table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 12px; }
.trust-control-table th {
    padding: 8px 12px 8px 0;
    border-bottom: 1px solid var(--trust-line);
    color: var(--trust-muted);
    font-size: 9.5px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .09em;
    text-align: left;
}
.trust-control-table td { padding: 11px 12px 11px 0; border-bottom: 1px solid #edf2ef; color: var(--trust-muted); vertical-align: top; }
.trust-control-table tr:last-child td { border-bottom: 0; }
.trust-control-table td:first-child { color: var(--trust-ink); }
.trust-control-table td code { display: block; font-size: 11px; font-weight: 700; }
.trust-control-table td code + span { display: block; margin-top: 3px; color: var(--trust-muted); font-size: 11.5px; line-height: 1.45; }

@media (max-width: 760px) {
    .trust-policy-head { flex-direction: column; gap: 16px; }
    .trust-policy-actions { align-items: flex-start; }
}

/* Trust Center landing: public product surface and passwordless visitor entry. */
.trust-shell {
    color-scheme: light;
    --trust-ink: #263238;
    --trust-muted: #61707d;
    --trust-line: #dce5f0;
    --trust-green: #2f72f4;
    --trust-green-dark: #174fae;
    --trust-mint: #edf4ff;
    --trust-teal: #13a9ba;
    background:
        radial-gradient(circle at 82% 4%, rgba(47, 114, 244, .14), transparent 31rem),
        radial-gradient(circle at 6% 34%, rgba(19, 169, 186, .08), transparent 24rem),
        linear-gradient(#fcfdff, #f5f8fd 40rem, #f8fafd);
}
.trust-header {
    position: relative;
    z-index: 2;
    max-width: 1240px;
    background: rgba(252, 253, 255, .86);
    backdrop-filter: blur(14px);
}
.trust-brand-logo { display: block; width: 124px; height: auto; }
.trust-brand > span { padding-left: 11px; border-left: 1px solid #cbd8e8; }
.trust-brand small { margin: 0; color: #526375; }
.trust-header nav .trust-nav-optional { display: var(--trust-nav-display, none); }
.trust-shell:has(#compliance) .trust-nav-frameworks,
.trust-shell:has(#updates) .trust-nav-updates,
.trust-shell:has(#policies) .trust-nav-policies,
.trust-shell:has(#subprocessors) .trust-nav-subprocessors,
.trust-shell:has(#visitor-access) .trust-nav-visitor-access { --trust-nav-display: inline-flex; }
.trust-header nav .trust-nav-access {
    padding: 10px 14px;
    border: 1px solid #b9ccef;
    border-radius: 9px;
    color: var(--trust-green);
    font-weight: 800;
}
.trust-header nav .trust-nav-access:hover { background: var(--trust-mint); }
.trust-main { max-width: 1180px; padding-top: 72px; }
.trust-hero { max-width: none; padding-bottom: 54px; }
.trust-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.22fr) minmax(340px, .78fr);
    gap: clamp(40px, 7vw, 88px);
    align-items: center;
}
.trust-hero-copy h1 {
    max-width: 760px;
    font-size: clamp(46px, 6.4vw, 78px);
    line-height: .99;
    letter-spacing: -.06em;
    margin: 0 0 26px;
}
.trust-hero-copy > p:not(.trust-kicker) {
    max-width: 690px;
    margin: 0;
    color: var(--trust-muted);
    font-size: 18px;
    line-height: 1.72;
}
.trust-commitments { display: grid; gap: 11px; margin: 27px 0 0; padding: 0; list-style: none; }
.trust-commitments li { display: flex; gap: 10px; color: #35475a; font-size: 13px; font-weight: 650; }
.trust-commitments li span { display: grid; place-items: center; width: 19px; height: 19px; border-radius: 50%; background: var(--trust-mint); color: var(--trust-green); font-size: 11px; }
.trust-access-card {
    position: relative;
    padding: 30px;
    border: 1px solid #cad9ef;
    border-radius: 22px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 26px 70px rgba(34, 76, 143, .14), 0 2px 5px rgba(34, 76, 143, .04);
}
.trust-access-card::before {
    content: "";
    position: absolute;
    top: 0;
    right: 28px;
    left: 28px;
    height: 3px;
    border-radius: 0 0 4px 4px;
    background: linear-gradient(90deg, var(--trust-teal), var(--trust-green));
}
.trust-access-card h2 { margin: 0 0 10px; font-size: 27px; letter-spacing: -.04em; }
.trust-access-card > p:not(.trust-kicker) { margin: 0 0 21px; color: var(--trust-muted); font-size: 13px; line-height: 1.6; }
.trust-access-card .trust-alert { margin: 0 0 15px; }
.trust-form { gap: 9px; }
.trust-form label { margin-top: 3px; }
.trust-form input, .trust-form textarea {
    width: 100%;
    border: 1px solid #bdcbc4;
    border-radius: 9px;
    padding: 0 13px;
    background: #fbfdfc;
    color: var(--trust-ink);
    font: inherit;
}
.trust-form textarea { min-height: 76px; padding-top: 11px; resize: vertical; }
.trust-form input:focus, .trust-form textarea:focus { outline: 3px solid rgba(47,114,244,.14); border-color: var(--trust-green); }
.trust-form button { gap: 8px; margin-top: 3px; background: linear-gradient(135deg, #3478f6, var(--trust-green-dark)); box-shadow: 0 9px 22px rgba(47,114,244,.2); }
.trust-form-link { justify-self: center; color: var(--trust-green); font-size: 11px; font-weight: 750; }
.trust-captcha { min-height: 65px; margin-top: 4px; }
.trust-code-sent { margin: 0 0 13px; padding: 11px 12px; border-radius: 9px; background: var(--trust-mint); color: var(--trust-green-dark); font-size: 11px; line-height: 1.5; }
.trust-access-request { margin: 0 0 16px; padding-bottom: 14px; border-bottom: 1px solid var(--trust-line); }
.trust-access-request > summary { color: var(--trust-green); font-size: 12px; font-weight: 800; cursor: pointer; }
.trust-access-request[open] > summary { margin-bottom: 14px; }
.trust-request-open { display: none; }
.trust-access-request[open] .trust-request-closed { display: none; }
.trust-access-request[open] .trust-request-open { display: inline; }
.trust-access-request[open] + .trust-login-panel { display: none; }
.trust-access-card-verified { background: linear-gradient(160deg, #fff, #eef5ff); }
.trust-access-card-verified small { display: block; margin: 8px 0 20px; color: var(--trust-muted); }
.trust-access-check { display: grid; place-items: center; width: 46px; height: 46px; margin-bottom: 22px; border-radius: 14px; background: var(--trust-green); color: white; font-size: 22px; box-shadow: 0 12px 28px rgba(47,114,244,.22); }
.trust-button-secondary { background: white; color: var(--trust-green); border: 1px solid #b9ccef; }
.trust-scorecard { border-color: #cad9ef; box-shadow: 0 18px 55px rgba(34,76,143,.08); }
.trust-meter { background: #e5edf9; }
.trust-hero .trust-scorecard { margin-top: 48px; }
.trust-hero .trust-badges { margin-top: 20px; }
.trust-showcase, .trust-framework-showcase { padding: 58px 0; border-top: 1px solid var(--trust-line); scroll-margin-top: 20px; }
.trust-showcase h2, .trust-framework-showcase h2 { max-width: 720px; margin: 0; font-size: 31px; line-height: 1.15; letter-spacing: -.04em; }
.trust-feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.trust-feature-grid article {
    min-height: 205px;
    padding: 24px;
    border: 1px solid var(--trust-line);
    border-radius: 16px;
    background: rgba(255,255,255,.75);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.trust-feature-grid article:hover { transform: translateY(-2px); border-color: #b9ccef; box-shadow: 0 14px 35px rgba(34,76,143,.08); }
.trust-feature-grid article > span { color: #6386c3; font-size: 10px; font-weight: 850; letter-spacing: .12em; }
.trust-feature-grid h3 { margin: 24px 0 9px; font-size: 17px; letter-spacing: -.025em; }
.trust-feature-grid p { margin: 0; color: var(--trust-muted); font-size: 12.5px; line-height: 1.7; }
.trust-framework-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 28px; }
.trust-framework-grid article { padding: 22px; border: 1px solid var(--trust-line); border-radius: 15px; background: white; }
.trust-framework-grid article > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.trust-framework-grid article > div strong { color: var(--trust-green); font-size: 11px; letter-spacing: .06em; }
.trust-framework-grid article > div span { padding: 4px 7px; border-radius: 99px; background: #fff4d9; color: #835800; font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.trust-framework-grid h3 { margin: 17px 0 8px; font-size: 15px; line-height: 1.35; }
.trust-framework-grid p { display: -webkit-box; overflow: hidden; margin: 0 0 14px; color: var(--trust-muted); font-size: 11.5px; line-height: 1.6; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.trust-framework-grid small { color: #7c8983; font-size: 9px; }

.trust-sales {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(420px, 1.08fr);
    gap: clamp(36px, 6vw, 72px);
    align-items: center;
    padding: 64px 54px;
    border: 1px solid #cad9ef;
    border-radius: 24px;
    background: linear-gradient(140deg, #f8fbff 0%, #eef5ff 58%, #e9f8fa 100%);
    box-shadow: 0 24px 65px rgba(34,76,143,.09);
}
.trust-sales h2 { margin: 0; font-size: clamp(32px,4.5vw,52px); line-height: 1.04; letter-spacing: -.05em; }
.trust-sales-copy > p:not(.trust-kicker) { color: var(--trust-muted); font-size: 15px; line-height: 1.75; }
.trust-sales-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.trust-value-grid { display: grid; gap: 12px; }
.trust-value-grid article { padding: 18px 20px; border: 1px solid rgba(185,204,239,.9); border-radius: 14px; background: rgba(255,255,255,.78); }
.trust-value-grid strong { color: var(--trust-green-dark); font-size: 13px; }
.trust-value-grid p { margin: 6px 0 0; color: var(--trust-muted); font-size: 12px; line-height: 1.6; }

.trust-subprocessor-card { padding: 26px 0; border-top: 1px solid var(--trust-line); }
.trust-subprocessor-card:first-child { border-top: 0; }
.trust-subprocessor-card header { display: flex; align-items: flex-start; justify-content: space-between; gap: 25px; }
.trust-subprocessor-card h3 { margin: 0; font-size: 18px; }
.trust-subprocessor-card header p { margin: 7px 0; max-width: 75ch; color: var(--trust-muted); font-size: 13px; line-height: 1.6; }
.trust-subprocessor-card header small { color: var(--trust-muted); font-size: 10px; }
.trust-subprocessor-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px 28px; margin: 22px 0 0; padding: 20px; border-radius: 14px; background: #f5f8fd; }
.trust-subprocessor-facts div { min-width: 0; }
.trust-subprocessor-facts .trust-subprocessor-wide { grid-column: 1/-1; }
.trust-subprocessor-facts dt { color: #66788c; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.trust-subprocessor-facts dd { margin: 5px 0 0; color: #34475a; font-size: 11.5px; line-height: 1.55; }
.trust-resource-links { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 15px; }
.trust-resource-links a { color: var(--trust-green); font-size: 11.5px; font-weight: 750; }

.trust-hall-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(260px,1fr)); gap: 14px; margin-top: 28px; }
.trust-hall-card { display: flex; align-items: center; gap: 16px; padding: 20px; border: 1px solid var(--trust-line); border-radius: 15px; background: white; color: inherit; text-decoration: none; transition: transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.trust-hall-card:hover { transform: translateY(-2px); border-color: #b9ccef; box-shadow: 0 13px 32px rgba(34,76,143,.08); }
.trust-hall-card > span { display: grid; place-items: center; flex: none; width: 46px; height: 46px; border-radius: 13px; background: linear-gradient(145deg,var(--trust-teal),var(--trust-green)); color: white; font-size: 18px; font-weight: 850; }
.trust-hall-card div { flex: 1; }
.trust-hall-card h3 { margin: 0; font-size: 15px; }
.trust-hall-card p { margin: 5px 0 0; color: var(--trust-muted); font-size: 11px; }
.trust-hall-card > strong { color: var(--trust-green); }

@media (max-width: 940px) {
    .trust-header nav a:not(.trust-nav-access) { display: none; }
    .trust-hero-grid { grid-template-columns: 1fr; gap: 40px; }
    .trust-access-card { max-width: 620px; }
    .trust-feature-grid, .trust-framework-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .trust-sales { grid-template-columns: 1fr; padding: 44px; }
}

@media (max-width: 620px) {
    .trust-main { padding-top: 44px; }
    .trust-hero-copy h1 { font-size: 45px; }
    .trust-access-card { padding: 24px; border-radius: 18px; }
    .trust-feature-grid, .trust-framework-grid { grid-template-columns: 1fr; }
    .trust-feature-grid article { min-height: 0; }
    .trust-showcase h2, .trust-framework-showcase h2 { font-size: 27px; }
    .trust-sales { padding: 30px 23px; border-radius: 18px; }
    .trust-subprocessor-facts { grid-template-columns: 1fr; }
    .trust-subprocessor-facts .trust-subprocessor-wide { grid-column: auto; }
}

/* Verified Trust Center workspace. Kept separate from the public landing skin so a successful
   code opens a review dashboard instead of revealing partner content inside the marketing page. */
.trust-dashboard-shell {
    color-scheme: light;
    --trust-ink: #203040;
    --trust-muted: #667788;
    --trust-line: #dce5f0;
    --trust-green: #2f72f4;
    --trust-green-dark: #174fae;
    --trust-mint: #edf4ff;
    min-height: 100vh;
    background: #f5f7fb;
    color: var(--trust-ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
}
.trust-dashboard-header {
    position: sticky;
    top: 0;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    min-height: 72px;
    padding: 0 max(28px, calc((100vw - 1240px) / 2));
    border-bottom: 1px solid var(--trust-line);
    background: rgba(255, 255, 255, .94);
    backdrop-filter: blur(14px);
}
.trust-dashboard-brand { display: flex; align-items: center; gap: 14px; color: inherit; text-decoration: none; }
.trust-dashboard-brand img { width: 112px; height: auto; }
.trust-dashboard-brand span { padding-left: 14px; border-left: 1px solid #cbd8e8; }
.trust-dashboard-brand strong, .trust-dashboard-brand small { display: block; }
.trust-dashboard-brand strong { font-size: 13px; }
.trust-dashboard-brand small { margin-top: 2px; color: var(--trust-muted); font-size: 9px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.trust-dashboard-header nav { display: flex; align-items: center; gap: 20px; }
.trust-dashboard-header nav a { color: var(--trust-muted); font-size: 12px; font-weight: 650; text-decoration: none; }
.trust-dashboard-header nav a:hover { color: var(--trust-green); }
.trust-dashboard-header nav .trust-dashboard-signout { padding: 9px 12px; border: 1px solid #c7d5e7; border-radius: 8px; color: var(--trust-green); }
.trust-dashboard-main { max-width: 1180px; margin: 0 auto; padding: 56px 28px 90px; }
.trust-dashboard-overview { scroll-margin-top: 90px; }
.trust-dashboard-intro { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 56px; align-items: end; }
.trust-dashboard-intro h1 { margin: 0 0 16px; font-size: clamp(40px, 6vw, 66px); line-height: 1; letter-spacing: -.055em; }
.trust-dashboard-intro > div > p:not(.trust-kicker) { max-width: 720px; margin: 0; color: var(--trust-muted); font-size: 17px; line-height: 1.7; }
.trust-dashboard-intro aside { display: grid; grid-template-columns: auto 1fr; gap: 15px 12px; padding: 23px; border: 1px solid #c8d8ee; border-radius: 17px; background: white; box-shadow: 0 14px 38px rgba(38, 75, 128, .07); }
.trust-dashboard-intro aside > div:last-child { grid-column: 2; }
.trust-dashboard-intro aside small, .trust-dashboard-intro aside strong { display: block; }
.trust-dashboard-intro aside small { color: var(--trust-muted); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.trust-dashboard-intro aside strong { margin-top: 3px; overflow-wrap: anywhere; font-size: 12px; }
.trust-dashboard-verified { grid-row: 1 / span 2; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #e8f7ee; color: #147346; font-weight: 900; }
.trust-dashboard-metrics { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 48px 0 0; border: 1px solid var(--trust-line); border-radius: 18px; background: white; overflow: hidden; }
.trust-dashboard-metrics div { min-width: 0; padding: 22px; border-left: 1px solid var(--trust-line); }
.trust-dashboard-metrics div:first-child { border-left: 0; }
.trust-dashboard-metrics dt { color: var(--trust-muted); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.trust-dashboard-metrics dd { margin: 7px 0 2px; font-size: 30px; font-weight: 850; letter-spacing: -.04em; }
.trust-dashboard-metrics small { color: var(--trust-muted); font-size: 9px; line-height: 1.4; }
.trust-dashboard-metrics .passing dd { color: #147346; }
.trust-dashboard-metrics .attention dd { color: #9a5f00; }
.trust-dashboard-freshness { margin: 13px 3px 0; color: var(--trust-muted); font-size: 10.5px; line-height: 1.6; }
.trust-dashboard-section { padding: 58px 0 0; scroll-margin-top: 82px; }
.trust-dashboard-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: 24px; }
.trust-dashboard-section-heading h2 { margin: 0; font-size: 30px; letter-spacing: -.035em; }
.trust-dashboard-section-heading > span { color: var(--trust-muted); font-size: 10px; }
.trust-dashboard-frameworks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.trust-dashboard-framework-card { display: flex; flex-direction: column; min-height: 230px; padding: 23px; border: 1px solid var(--trust-line); border-radius: 16px; background: white; color: inherit; text-decoration: none; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.trust-dashboard-framework-card:hover { transform: translateY(-2px); border-color: #b7cae6; box-shadow: 0 14px 34px rgba(38, 75, 128, .08); }
.trust-dashboard-framework-card header { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.trust-dashboard-framework-card header > span { color: var(--trust-green); font-size: 11px; font-weight: 850; letter-spacing: .06em; }
.trust-dashboard-framework-card h3 { margin: 20px 0 9px; font-size: 17px; }
.trust-dashboard-framework-card p { margin: 0; color: var(--trust-muted); font-size: 11.5px; line-height: 1.55; }
.trust-dashboard-framework-card footer { display: grid; gap: 4px; margin-top: auto; padding-top: 20px; color: var(--trust-muted); font-size: 9.5px; }
.trust-dashboard-status { display: inline-flex; align-items: center; width: max-content; padding: 5px 9px; border-radius: 999px; font-size: 9px; font-weight: 850; }
.trust-dashboard-status-passing { background: #e8f7ee; color: #147346; }
.trust-dashboard-status-attention { background: #fff4d9; color: #925c00; }
.trust-dashboard-status-failing { background: #fde9e8; color: #a3302c; }
.trust-dashboard-status-unknown { background: #edf0f4; color: #596875; }
.trust-dashboard-filter { display: grid; grid-template-columns: minmax(280px, 1fr) minmax(180px, .42fr) auto auto; gap: 12px; align-items: end; padding: 17px; border: 1px solid var(--trust-line); border-radius: 14px; background: white; }
.trust-dashboard-filter label { display: grid; gap: 6px; }
.trust-dashboard-filter label span { color: var(--trust-muted); font-size: 9px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.trust-dashboard-filter input, .trust-dashboard-filter select { width: 100%; height: 42px; border: 1px solid #bdcce0; border-radius: 8px; padding: 0 12px; background: #fbfcfe; color: var(--trust-ink); font: inherit; font-size: 12px; }
.trust-dashboard-filter button { height: 42px; border: 0; border-radius: 8px; padding: 0 16px; background: var(--trust-green); color: white; font: inherit; font-size: 11px; font-weight: 800; cursor: pointer; }
.trust-dashboard-filter > a { display: grid; place-items: center; height: 42px; color: var(--trust-green); font-size: 11px; font-weight: 750; text-decoration: none; }
.trust-dashboard-control-groups { display: grid; gap: 18px; margin-top: 18px; }
.trust-dashboard-control-group { border: 1px solid var(--trust-line); border-radius: 16px; background: white; overflow: hidden; }
.trust-dashboard-control-group > header { display: flex; justify-content: space-between; gap: 20px; padding: 18px 21px; background: #f9fbfe; }
.trust-dashboard-control-group > header h3 { margin: 0; font-size: 14px; }
.trust-dashboard-control-group > header span { color: var(--trust-muted); font-size: 10px; }
.trust-dashboard-control { border-top: 1px solid var(--trust-line); }
.trust-dashboard-control summary { display: grid; grid-template-columns: 100px minmax(0, 1fr) auto 18px; gap: 14px; align-items: center; padding: 16px 21px; cursor: pointer; list-style: none; }
.trust-dashboard-control summary::-webkit-details-marker { display: none; }
.trust-dashboard-control summary code { color: var(--trust-green); font-size: 10.5px; font-weight: 800; }
.trust-dashboard-control summary strong { font-size: 12.5px; }
.trust-dashboard-control summary > span:last-child { color: var(--trust-muted); transition: transform .16s ease; }
.trust-dashboard-control[open] summary > span:last-child { transform: rotate(180deg); }
.trust-dashboard-control-detail { padding: 0 21px 21px 135px; }
.trust-dashboard-control-detail > p { max-width: 780px; margin: 0 0 16px; color: var(--trust-muted); font-size: 11.5px; line-height: 1.65; }
.trust-dashboard-control-detail dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; margin: 0; padding: 16px; border-radius: 11px; background: #f6f8fc; }
.trust-dashboard-control-detail dt { color: var(--trust-muted); font-size: 8.5px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.trust-dashboard-control-detail dd { margin: 4px 0 0; font-size: 10.5px; line-height: 1.45; }
.trust-dashboard-resources { display: grid; gap: 12px; }
.trust-dashboard-resources > article { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 21px; border: 1px solid var(--trust-line); border-radius: 14px; background: white; }
.trust-dashboard-resources > article > div { min-width: 0; }
.trust-dashboard-resources article div > span, .trust-dashboard-updates li div > span { color: var(--trust-green); font-size: 9px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.trust-dashboard-resources h3, .trust-dashboard-subprocessors h3, .trust-dashboard-updates h3 { margin: 6px 0; font-size: 14px; }
.trust-dashboard-resources p, .trust-dashboard-subprocessors p, .trust-dashboard-updates p { margin: 0; color: var(--trust-muted); font-size: 11.5px; line-height: 1.6; }
.trust-dashboard-resources small { display: block; margin-top: 8px; color: var(--trust-muted); font-size: 9.5px; }
.trust-dashboard-nda { max-width: 380px; color: var(--trust-muted); font-size: 11px; }
.trust-dashboard-nda summary { color: var(--trust-green); font-weight: 800; cursor: pointer; }
.trust-dashboard-nda > p { max-height: 160px; overflow: auto; white-space: pre-line; }
.trust-dashboard-nda button { min-height: 38px; border: 0; border-radius: 8px; padding: 0 14px; background: var(--trust-green); color: white; font: inherit; font-size: 10px; font-weight: 800; }
.trust-dashboard-subprocessors { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.trust-dashboard-subprocessors > article { padding: 21px; border: 1px solid var(--trust-line); border-radius: 15px; background: white; }
.trust-dashboard-subprocessors article > header { display: flex; justify-content: space-between; gap: 22px; }
.trust-dashboard-subprocessors article > header > span { color: var(--trust-muted); font-size: 9.5px; white-space: nowrap; }
.trust-dashboard-subprocessors dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 20px; margin: 18px 0; padding: 16px; border-radius: 11px; background: #f6f8fc; }
.trust-dashboard-subprocessors dt { color: var(--trust-muted); font-size: 8px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.trust-dashboard-subprocessors dd { margin: 4px 0 0; font-size: 10px; line-height: 1.5; }
.trust-dashboard-subprocessors footer { display: flex; gap: 16px; }
.trust-dashboard-subprocessors footer a { color: var(--trust-green); font-size: 10.5px; font-weight: 750; text-decoration: none; }
.trust-dashboard-updates { display: grid; gap: 0; margin: 0; padding: 0; border: 1px solid var(--trust-line); border-radius: 15px; background: white; list-style: none; overflow: hidden; }
.trust-dashboard-updates li { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 24px; padding: 22px; border-top: 1px solid var(--trust-line); }
.trust-dashboard-updates li:first-child { border-top: 0; }
.trust-dashboard-updates time { color: var(--trust-muted); font-size: 10px; }
.trust-dashboard-updates details { margin-top: 10px; color: var(--trust-muted); font-size: 10.5px; }
.trust-dashboard-updates summary { color: var(--trust-green); font-weight: 750; cursor: pointer; }
.trust-dashboard-notice { margin: 0 0 14px; padding: 13px 16px; border: 1px solid; border-radius: 10px; font-size: 11px; line-height: 1.5; }
.trust-dashboard-notice.success { border-color: #b9dfc8; background: #eef9f2; color: #14643f; }
.trust-dashboard-notice.error { border-color: #efc4c1; background: #fff2f1; color: #8d302c; }
.trust-dashboard-exchange-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.trust-dashboard-exchange-form { display: flex; flex-direction: column; padding: 22px; border: 1px solid var(--trust-line); border-radius: 16px; background: white; }
.trust-dashboard-form-heading { display: flex; align-items: start; justify-content: space-between; gap: 18px; }
.trust-dashboard-form-heading span { color: var(--trust-green); font-size: 8.5px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.trust-dashboard-form-heading h3 { margin: 4px 0 0; font-size: 17px; }
.trust-dashboard-form-heading small { max-width: 220px; color: var(--trust-muted); font-size: 9px; line-height: 1.5; text-align: right; }
.trust-dashboard-exchange-form > p { min-height: 42px; margin: 13px 0 17px; color: var(--trust-muted); font-size: 11px; line-height: 1.6; }
.trust-dashboard-form-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.trust-dashboard-form-fields label { display: grid; align-content: start; gap: 6px; }
.trust-dashboard-form-fields label.wide { grid-column: 1 / -1; }
.trust-dashboard-form-fields label > span { color: var(--trust-muted); font-size: 8.5px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.trust-dashboard-form-fields input, .trust-dashboard-form-fields textarea { width: 100%; min-width: 0; border: 1px solid #bdcce0; border-radius: 8px; padding: 10px 11px; background: #fbfcfe; color: var(--trust-ink); font: inherit; font-size: 11px; }
.trust-dashboard-form-fields input { height: 41px; }
.trust-dashboard-form-fields textarea { resize: vertical; line-height: 1.55; }
.trust-dashboard-form-fields input[readonly] { background: #f1f4f8; color: var(--trust-muted); }
.trust-dashboard-exchange-form > button { align-self: flex-start; min-height: 41px; margin-top: 18px; border: 0; border-radius: 8px; padding: 0 16px; background: var(--trust-green); color: white; font: inherit; font-size: 10.5px; font-weight: 800; cursor: pointer; }
.trust-dashboard-exchange-form > button:disabled { background: #aab7c7; cursor: not-allowed; }
.trust-dashboard-form-help { margin-top: 8px; color: var(--trust-muted); font-size: 9px; }
.trust-dashboard-questionnaires { display: grid; gap: 14px; margin-top: 20px; }
.trust-dashboard-questionnaire { padding: 22px; border: 1px solid var(--trust-line); border-radius: 16px; background: white; }
.trust-dashboard-questionnaire > header { display: flex; align-items: start; justify-content: space-between; gap: 24px; }
.trust-dashboard-questionnaire > header div > span { color: var(--trust-green); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 9px; font-weight: 800; }
.trust-dashboard-questionnaire h3 { margin: 5px 0; font-size: 16px; }
.trust-dashboard-questionnaire header small { color: var(--trust-muted); font-size: 9.5px; }
.trust-dashboard-questionnaire > details { margin: 16px 0 0; padding: 13px 15px; border-radius: 10px; background: #f6f8fc; }
.trust-dashboard-questionnaire > details summary { color: var(--trust-green); font-size: 10px; font-weight: 800; cursor: pointer; }
.trust-dashboard-questionnaire > details p { margin: 11px 0 0; color: var(--trust-muted); font-size: 10.5px; line-height: 1.65; white-space: pre-wrap; }
.trust-dashboard-attachment { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 12px; padding: 11px 13px; border: 1px solid #cbd9eb; border-radius: 9px; color: var(--trust-ink); font-size: 10px; font-weight: 700; text-decoration: none; overflow-wrap: anywhere; }
.trust-dashboard-attachment span { flex: none; color: var(--trust-green); font-size: 9px; }
.trust-dashboard-questionnaire-events { display: grid; gap: 0; margin: 18px 0 0; padding: 0; border-top: 1px solid var(--trust-line); list-style: none; }
.trust-dashboard-questionnaire-events li { padding: 16px 0; border-bottom: 1px solid var(--trust-line); }
.trust-dashboard-questionnaire-events li:last-child { padding-bottom: 0; border-bottom: 0; }
.trust-dashboard-questionnaire-events li > div { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.trust-dashboard-questionnaire-events time { color: var(--trust-muted); font-size: 9px; }
.trust-dashboard-questionnaire-events p { margin: 10px 0 4px; color: var(--trust-ink); font-size: 11px; line-height: 1.6; white-space: pre-wrap; }
.trust-dashboard-questionnaire-events li > small { color: var(--trust-muted); font-size: 9px; }
.trust-dashboard-empty, .trust-dashboard-unavailable { padding: 40px; border: 1px dashed #c5d3e5; border-radius: 15px; background: rgba(255, 255, 255, .66); text-align: center; }
.trust-dashboard-empty h3 { margin: 0 0 7px; font-size: 15px; }
.trust-dashboard-empty p, .trust-dashboard-unavailable p { color: var(--trust-muted); font-size: 12px; }
.trust-dashboard-unavailable { max-width: 680px; margin: 70px auto; }
.trust-dashboard-unavailable h1 { margin: 0 0 12px; font-size: 34px; letter-spacing: -.04em; }
.trust-dashboard-footer { display: flex; justify-content: space-between; gap: 22px; max-width: 1240px; margin: 0 auto; padding: 28px; border-top: 1px solid var(--trust-line); color: var(--trust-muted); font-size: 9.5px; }

@media (max-width: 980px) {
    .trust-dashboard-header nav a:not(.trust-dashboard-signout) { display: none; }
    .trust-dashboard-frameworks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .trust-dashboard-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .trust-dashboard-metrics div:nth-child(4) { border-left: 0; }
    .trust-dashboard-metrics div:nth-child(n+4) { border-top: 1px solid var(--trust-line); }
}

@media (max-width: 720px) {
    .trust-dashboard-header { padding: 13px 20px; }
    .trust-dashboard-brand img { width: 98px; }
    .trust-dashboard-main { padding: 40px 20px 65px; }
    .trust-dashboard-intro { grid-template-columns: 1fr; gap: 28px; }
    .trust-dashboard-intro h1 { font-size: 44px; }
    .trust-dashboard-frameworks, .trust-dashboard-subprocessors, .trust-dashboard-exchange-grid { grid-template-columns: 1fr; }
    .trust-dashboard-filter { grid-template-columns: 1fr; }
    .trust-dashboard-control summary { grid-template-columns: 76px minmax(0, 1fr) auto; }
    .trust-dashboard-control summary > span:last-child { display: none; }
    .trust-dashboard-control-detail { padding-left: 21px; }
    .trust-dashboard-resources > article, .trust-dashboard-footer { align-items: flex-start; flex-direction: column; }
    .trust-dashboard-updates li { grid-template-columns: 1fr; gap: 8px; }
    .trust-dashboard-exchange-form > p { min-height: 0; }
}

@media (max-width: 500px) {
    .trust-dashboard-brand span { display: none; }
    .trust-dashboard-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .trust-dashboard-metrics div, .trust-dashboard-metrics div:nth-child(4) { border-left: 1px solid var(--trust-line); border-top: 1px solid var(--trust-line); }
    .trust-dashboard-metrics div:nth-child(odd) { border-left: 0; }
    .trust-dashboard-metrics div:nth-child(-n+2) { border-top: 0; }
    .trust-dashboard-control-detail dl, .trust-dashboard-subprocessors dl { grid-template-columns: 1fr; }
    .trust-dashboard-control summary { grid-template-columns: 1fr auto; gap: 7px 12px; }
    .trust-dashboard-control summary strong { grid-column: 1 / -1; grid-row: 2; }
    .trust-dashboard-form-fields { grid-template-columns: 1fr; }
    .trust-dashboard-form-fields label.wide { grid-column: auto; }
    .trust-dashboard-questionnaire > header, .trust-dashboard-questionnaire-events li > div { align-items: flex-start; flex-direction: column; }
}


/* Configuration drift: added and removed lines need to be distinguishable at a glance, and by more
   than colour alone, so each keeps its leading +/- marker in the markup. */
.diff-added {
    color: var(--mud-palette-success-darken, #1b5e20);
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    white-space: pre-wrap;
    word-break: break-all;
}

.diff-removed {
    color: var(--mud-palette-error-darken, #b71c1c);
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    white-space: pre-wrap;
    word-break: break-all;
}

.structured-editor{display:grid;gap:10px;min-width:0;max-width:100%;box-sizing:border-box;border:1px solid var(--mud-palette-divider);border-radius:9px;padding:12px;background:rgba(105,117,145,.035)}
.structured-editor>div>strong,.structured-editor>div>small{display:block}
.structured-editor>div>small{font-size:9px;color:var(--mud-palette-text-secondary);margin-top:3px}
.structured-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(100px,.6fr) minmax(160px,1.5fr) auto;gap:9px;align-items:end}.structured-row>*{min-width:0}
.structured-row.token-row{grid-template-columns:minmax(12rem,1fr) auto}
.structured-row>label{display:grid;gap:5px}
.structured-row>label>span{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:var(--mud-palette-text-secondary);font-weight:700}
.field-label{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:var(--mud-palette-text-secondary);font-weight:700;margin-bottom:5px}
.structured-card{display:grid;gap:10px;border-top:1px solid var(--mud-palette-divider);padding-top:10px}
.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 12px;border:1px solid var(--mud-palette-divider);border-radius:9px;padding:8px 12px}
@media (max-width:700px){.structured-row{grid-template-columns:1fr}.inventory-wizard-steps,.endpoint-onboarding-steps{grid-template-columns:1fr 1fr}.onboarding-install-grid,.onboarding-check-grid{grid-template-columns:1fr}.onboarding-verification-heading{align-items:stretch;flex-direction:column}}
