.dso-core {
	--core-purple:#5B3CC4; --core-cyan:#16B8D4; --core-ink:#25263A;
	--core-muted:#667085; --core-line:#E5E7EF; --core-surface:#FFFFFF; --core-bg:#F5F6FA;
	color:var(--core-ink); font-size:var(--bops-text-base,16px); line-height:1.55;
}
.dso-core * { box-sizing:border-box; }
.dso-core-heading,.dso-core-card-heading { display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; }
.dso-core-heading { margin-bottom:20px; }
.dso-core-eyebrow { margin:0 0 4px; color:var(--core-purple); font-size:var(--bops-text-xs,13px); font-weight:800; letter-spacing:.08em; }
.dso-core-intro { margin:0; color:var(--core-muted); font-size:var(--bops-text-base,16px); }
.dso-core-button { display:inline-flex; min-height:44px; align-items:center; justify-content:center; border:1px solid var(--core-purple); border-radius:9px; padding:9px 15px; background:var(--core-purple); color:#fff; font:inherit; font-weight:700; cursor:pointer; text-decoration:none; }
.dso-core-button:hover,.dso-core-button:focus { background:#482BAE; color:#fff; }
.dso-core-button.secondary { background:#fff; color:var(--core-purple); }
.dso-core-button.secondary:hover,.dso-core-button.secondary:focus { background:#F3F0FF; }
.dso-core-notice { display:none; margin:14px 0; border:1px solid #B9E7D1; border-radius:9px; padding:11px 14px; background:#EEFBF5; color:#146C4B; font-size:var(--bops-text-sm,14px); }
.dso-core-notice.visible { display:block; }
.dso-core-notice.error { border-color:#F2C8C5; background:#FFF4F2; color:#B42318; }
.dso-core-layout { display:grid; grid-template-columns:minmax(280px,360px) minmax(0,1fr); gap:18px; align-items:start; }
.dso-core-card { min-width:0; margin:0 0 18px; border:1px solid var(--core-line); border-radius:13px; padding:18px; background:var(--core-surface); box-shadow:0 4px 16px #29294A0A; }
.dso-core-card h2,.dso-core-form h2 { margin:0 0 14px; font-size:var(--bops-text-xl,20px); line-height:1.3; }
.dso-core-card-heading { margin-bottom:12px; }
.dso-core-card-heading h2 { margin:0; }
.dso-core-form { display:flex; flex-direction:column; gap:13px; }
.dso-core-form label { display:flex; flex-direction:column; gap:6px; color:var(--core-ink); font-size:var(--bops-text-sm,14px); font-weight:650; }
.dso-core input,.dso-core select,.dso-core textarea { width:100%; min-height:44px; border:1px solid #D7D9E3; border-radius:8px; padding:9px 11px; background:#fff; color:var(--core-ink); font:inherit; font-weight:400; }
.dso-core textarea { min-height:72px; resize:vertical; }
.dso-core input:focus,.dso-core select:focus,.dso-core textarea:focus { outline:3px solid #5B3CC433; border-color:var(--core-purple); }
.dso-core-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.dso-core-form-actions { display:flex; gap:9px; flex-wrap:wrap; margin-top:3px; }
.dso-core-help { margin:0; color:var(--core-muted); font-size:var(--bops-text-sm,14px); }
.dso-core-table-wrap { width:100%; overflow:auto; border:1px solid var(--core-line); border-radius:9px; }
.dso-core table { width:100%; min-width:640px; border-collapse:collapse; font-size:var(--bops-text-sm,14px); }
.dso-core th { padding:11px 12px; background:#FAFAFC; color:#4B4D61; text-align:left; font-weight:750; white-space:nowrap; }
.dso-core td { padding:12px; border-top:1px solid var(--core-line); vertical-align:top; }
.dso-core tr:hover td { background:#FCFBFF; }
.dso-core td.empty { padding:22px; color:var(--core-muted); text-align:center; }
.dso-core-link { border:0; padding:0; background:transparent; color:var(--core-purple); font:inherit; font-weight:700; cursor:pointer; }
.dso-core-link:hover { text-decoration:underline; }
.dso-core-link.danger { color:#B42318; }
.dso-core-card-heading input { max-width:280px; }
.dso-core-settings { max-width:560px; }
.dso-core-checks { display:grid; gap:8px; }
.dso-core-check { display:grid; grid-template-columns:28px minmax(150px,230px) minmax(0,1fr); align-items:center; gap:10px; border:1px solid var(--core-line); border-radius:9px; padding:11px 13px; font-size:var(--bops-text-sm,14px); }
.dso-core-check.good { background:#F3FBF7; }
.dso-core-check.warning { background:#FFF9EC; }
.dso-core-check .check-dot { display:grid; width:24px; height:24px; place-items:center; border-radius:50%; background:#DCF5E9; color:#17754E; font-weight:800; }
.dso-core-check.warning .check-dot { background:#FFF0C7; color:#9A6300; }
.dso-core-check .check-detail { color:var(--core-muted); overflow-wrap:anywhere; }
.dso-core-access { border:1px solid var(--core-line); border-radius:12px; padding:20px; background:#fff; }
@media (max-width:980px) { .dso-core-layout { grid-template-columns:1fr; } }
@media (max-width:600px) {
	.dso-core-card { padding:14px; }
	.dso-core-grid { grid-template-columns:1fr; }
	.dso-core-check { grid-template-columns:28px minmax(0,1fr); }
	.dso-core-check .check-detail { grid-column:2; }
	.dso-core-card-heading input { max-width:none; }
}
