.sr-app, .sr-portal{
	--sr-red:#BC2C2C;
	--sr-red-light:#FDECEC;
	--sr-ink:#1A1A1A;
	--sr-sub:#6B6B6B;
	--sr-line:#E7E8EB;
	--sr-card:#FFFFFF;
	--sr-bg:#F4F5F7;
	--sr-radius:14px;
	--sr-shadow:0 2px 10px rgba(20,20,20,.06);
	font-family:-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
	font-size:14px;
	color:var(--sr-ink);
	box-sizing:border-box;
}
.sr-app *, .sr-portal *{ box-sizing:border-box; }

.sr-notice{
	background:linear-gradient(90deg,var(--sr-red-light),#fff);
	border:1px solid #F3D3D3; border-radius:12px;
	padding:14px 18px; font-size:13px; color:#7a2020; margin-bottom:20px;
}
.sr-locked-notice{
	background:#F4F5F7; border:1px solid #E7E8EB; border-radius:12px;
	padding:24px; text-align:center; color:#6B6B6B; font-family:-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
}
.sr-loading{ color:var(--sr-sub); padding:30px; text-align:center; }

/* =============================================================
   APP SHELL — sidebar + topbar (dashboard shortcode)
   ============================================================= */
.sr-app{
	display:flex; align-items:flex-start; background:var(--sr-bg);
	border-radius:16px; overflow:hidden; box-shadow:var(--sr-shadow);
	min-height:600px;
}

/* ---- Sidebar ---- */
.sr-sidebar{
	width:230px; background:#1B1D22; color:#fff; flex-shrink:0;
	padding:22px 16px; display:flex; flex-direction:column; gap:4px; align-self:stretch;
}
.sr-brand{ display:flex; align-items:center; gap:10px; padding:0 6px 22px; }
.sr-brand-icon{
	width:34px;height:34px;border-radius:9px;background:var(--sr-red);
	display:flex;align-items:center;justify-content:center;font-size:16px; flex-shrink:0;
}
.sr-brand-name{ font-weight:700; font-size:13.5px; line-height:1.25; }
.sr-nav-item{
	display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:9px;
	color:#C6C8D0; cursor:pointer; font-weight:500; user-select:none; font-size:13.5px;
}
.sr-nav-item:hover{ background:#282A32; color:#fff; }
.sr-nav-item.active{ background:var(--sr-red); color:#fff; }
.sr-nav-dot{ width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.65; }

.sr-side-box{
	margin-top:18px; background:#24262D; border-radius:12px; padding:14px;
}
.sr-side-box-title{ font-weight:700; font-size:12.5px; margin-bottom:8px; color:#EDEDED; }
.sr-side-box-desc{ font-size:11px; color:#9A9CA5; line-height:1.5; margin-bottom:10px; }
.sr-configure-btn{
	background:#fff; color:#1B1D22; border:none; border-radius:8px; padding:7px 12px;
	font-weight:700; font-size:11.5px; cursor:pointer; width:100%;
}
.sr-side-level-row{ display:flex; align-items:center; gap:8px; padding:4px 0; font-size:11.5px; color:#D3D4DA; }
.sr-side-swatch{ width:8px; height:8px; border-radius:50%; flex-shrink:0; }

/* ---- Main / topbar ---- */
.sr-main{ flex:1; padding:26px 30px 40px; min-width:0; }
.sr-topbar{ display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:22px; flex-wrap:wrap; }
.sr-title{ font-size:22px; font-weight:800; margin:0 0 4px; }
.sr-subtitle{ color:var(--sr-sub); margin:0; font-size:13px; }
.sr-top-right{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }

.sr-daterange, .sr-filter-btn, .sr-company-badge{
	display:flex; align-items:center; gap:6px; background:var(--sr-card); border:1px solid var(--sr-line);
	border-radius:10px; padding:8px 12px; font-weight:600; font-size:12.5px; box-shadow:var(--sr-shadow);
	cursor:pointer; white-space:nowrap; position:relative;
}
.sr-company-badge{ cursor:default; }
.sr-dropdown-menu{
	position:absolute; top:calc(100% + 6px); right:0; background:#fff; border:1px solid var(--sr-line);
	border-radius:10px; box-shadow:0 6px 20px rgba(0,0,0,.12); padding:6px; min-width:170px; z-index:20;
}
.sr-dropdown-item{
	padding:8px 10px; border-radius:7px; font-size:12.5px; font-weight:500; cursor:pointer; white-space:nowrap;
}
.sr-dropdown-item:hover{ background:var(--sr-bg); }
.sr-company-switch{
	background:var(--sr-card); border:1px solid var(--sr-line); border-radius:10px; padding:8px 12px;
	font-weight:600; font-size:12.5px; box-shadow:var(--sr-shadow); cursor:pointer;
}
.sr-avatar{
	width:30px;height:30px;border-radius:50%; background:#EDE7FB; color:#6C4FCE;
	display:flex;align-items:center;justify-content:center; font-weight:700; font-size:12px; flex-shrink:0;
}

/* =============================================================
   Stat cards with sparkline
   ============================================================= */
.sr-cards-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:20px; }
@media (max-width:900px){ .sr-cards-row{ grid-template-columns:repeat(2,1fr); } }
.sr-stat-card{
	background:var(--sr-card); border-radius:var(--sr-radius); box-shadow:var(--sr-shadow);
	padding:18px 20px; display:flex; flex-direction:column; gap:6px;
}
.sr-stat-top{ display:flex; align-items:center; gap:10px; }
.sr-stat-icon{
	width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;
	font-size:15px; font-weight:800; flex-shrink:0;
}
.sr-stat-num{ font-size:22px; font-weight:800; }
.sr-stat-label{ font-size:13px; font-weight:700; margin-top:-2px; }
.sr-stat-sub{ font-size:11px; color:var(--sr-sub); }
.sr-sparkline{ width:100%; height:32px; margin-top:4px; }

/* =============================================================
   Panels / layout
   ============================================================= */
.sr-two-col{ display:grid; grid-template-columns:2fr 1fr; gap:16px; align-items:start; margin-bottom:16px; }
@media (max-width:1000px){ .sr-two-col{ grid-template-columns:1fr; } }

.sr-panel{
	background:var(--sr-card); border-radius:var(--sr-radius); box-shadow:var(--sr-shadow);
	padding:20px 22px; margin-bottom:16px;
}
.sr-panel h3{ margin:0 0 14px; font-size:15px; display:flex; justify-content:space-between; align-items:center; }
.sr-view-all{ background:var(--sr-card); border:1px solid var(--sr-line); border-radius:8px; padding:6px 12px; font-size:12px; font-weight:600; cursor:pointer; }

/* notifications table */
.sr-table{ width:100%; border-collapse:collapse; font-size:13px; }
.sr-table th{
	text-align:left; color:var(--sr-sub); font-weight:600; font-size:11px; text-transform:uppercase;
	letter-spacing:.03em; padding:6px 8px; border-bottom:1px solid var(--sr-line);
}
.sr-table td{ padding:11px 8px; border-bottom:1px solid var(--sr-line); vertical-align:middle; }
.sr-table tr:last-child td{ border-bottom:none; }
.sr-table tr{ cursor:pointer; }
.sr-table tr:hover{ background:#FAFAFB; }
.sr-row-title{ display:flex; align-items:center; gap:10px; }
.sr-row-icon{
	width:32px;height:32px;border-radius:9px;background:#F6F6F6;display:flex;align-items:center;justify-content:center;
	font-size:14px; flex-shrink:0;
}
.sr-table-title{ font-weight:700; font-size:13px; }
.sr-table-sub{ font-size:11px; color:var(--sr-sub); margin-top:2px; }
.sr-chevron{ color:#BBB; font-size:14px; }

.sr-badge{
	display:inline-flex; align-items:center; padding:4px 12px; border-radius:999px; font-size:11.5px; font-weight:700;
}

/* levels panel */
.sr-level-row{ display:flex; align-items:center; gap:10px; padding:9px 2px; border-bottom:1px solid var(--sr-line); }
.sr-level-row:last-child{ border-bottom:none; }
.sr-swatch{ width:11px; height:11px; border-radius:4px; flex-shrink:0; }
.sr-level-name{ font-weight:700; font-size:12.5px; width:90px; flex-shrink:0; }
.sr-level-desc{ color:var(--sr-sub); font-size:11.5px; flex:1; }
.sr-manage-link{ background:#1A1A1A; color:#fff; border:none; border-radius:8px; padding:7px 14px; font-weight:600; font-size:12px; cursor:pointer; }

/* =============================================================
   Charts
   ============================================================= */
.sr-chart-row{ display:grid; grid-template-columns:1fr 1fr 1.2fr; gap:16px; }
@media (max-width:1000px){ .sr-chart-row{ grid-template-columns:1fr; } }

.sr-bar-wrap{ display:flex; align-items:flex-end; gap:14px; height:150px; padding-top:10px; }
.sr-bar-col{ display:flex; flex-direction:column; align-items:center; gap:6px; flex:1; }
.sr-bar{ width:26px; border-radius:6px 6px 0 0; transition:height .35s ease; }
.sr-bar-label{ font-size:10px; color:var(--sr-sub); text-align:center; }
.sr-bar-count{ font-size:11px; font-weight:700; }

.sr-donut-wrap{ display:flex; align-items:center; gap:16px; }
.sr-donut{ width:100px; height:100px; border-radius:50%; flex-shrink:0; }
.sr-legend{ display:flex; flex-direction:column; gap:6px; font-size:12px; }
.sr-legend-item{ display:flex; align-items:center; gap:6px; }
.sr-legend-dot{ width:9px; height:9px; border-radius:50%; flex-shrink:0; }
.sr-empty{ color:var(--sr-sub); font-style:italic; font-size:12px; }

.sr-trend-legend{ display:flex; gap:14px; font-size:11.5px; margin-bottom:6px; }
.sr-trend-legend span{ display:inline-flex; align-items:center; gap:5px; }
.sr-trend-svg{ width:100%; height:150px; }
.sr-trend-axis{ display:flex; justify-content:space-between; font-size:10px; color:var(--sr-sub); margin-top:4px; }

.sr-coverage-num{ font-size:30px; font-weight:800; color:var(--sr-red); text-align:center; }
.sr-coverage-caption{ text-align:center; color:var(--sr-sub); font-size:12px; margin-top:4px; }
.sr-coverage-bar{ height:8px; background:#eee; border-radius:99px; overflow:hidden; margin-top:14px; }
.sr-coverage-bar div{ height:100%; background:var(--sr-red); transition:width .35s ease; }

/* =============================================================
   Notification detail panel (right column on dashboard)
   ============================================================= */
.sr-detail-back{ background:none; border:none; color:var(--sr-red); font-weight:700; font-size:12.5px; cursor:pointer; padding:0; margin-bottom:14px; }
.sr-detail-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:10px; margin-bottom:8px; }
.sr-detail-title{ font-size:16px; font-weight:800; }
.sr-detail-meta{ color:var(--sr-sub); font-size:11.5px; margin-bottom:12px; }
.sr-detail-desc{ font-size:13px; color:#444; line-height:1.55; margin-bottom:16px; }
.sr-detail-links{ display:flex; gap:10px; margin-bottom:20px; }
.sr-detail-links a{
	background:#F4F5F7; border-radius:8px; padding:7px 12px; font-size:12px; font-weight:600;
	color:var(--sr-ink); text-decoration:none;
}
.sr-your-assessment{ background:var(--sr-bg); border-radius:12px; padding:14px 16px; }
.sr-your-assessment-title{ font-weight:700; font-size:13px; margin-bottom:2px; }
.sr-your-assessment-meta{ font-size:11px; color:var(--sr-sub); margin-bottom:12px; }
.sr-detail-select{
	width:100%; padding:8px 10px; border-radius:8px; border:1px solid var(--sr-line); font-weight:700; font-size:13px;
	margin-bottom:10px; background:#fff;
}
.sr-detail-note-label{ font-size:11px; color:var(--sr-sub); margin-bottom:4px; }
.sr-detail-note{ width:100%; border:1px solid var(--sr-line); border-radius:8px; padding:8px; font-size:12.5px; resize:vertical; min-height:56px; }
.sr-detail-save-hint{ font-size:10.5px; color:#3E7A2E; opacity:0; transition:opacity .25s; margin-top:6px; }
.sr-detail-save-hint.show{ opacity:1; }

/* =============================================================
   Alert feed (separate shortcode)
   ============================================================= */
.sr-card{
	background:var(--sr-card); border-radius:var(--sr-radius); box-shadow:var(--sr-shadow);
	padding:18px 20px; display:flex; gap:16px; margin-bottom:14px; align-items:flex-start;
}
.sr-card-icon-col{ display:flex; flex-direction:column; align-items:center; gap:4px; width:56px; flex-shrink:0; }
.sr-source-logo{
	width:36px; height:36px; border-radius:9px; object-fit:contain; background:#F6F6F6; padding:5px;
}
.sr-source-fallback{
	display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:800; color:#888;
}
.sr-source-name{ font-size:9.5px; color:var(--sr-sub); text-align:center; line-height:1.3; }
.sr-source-link{ display:inline-block; margin-top:8px; font-size:12px; font-weight:700; color:var(--sr-red); text-decoration:none; }
.sr-source-link:hover{ text-decoration:underline; }
.sr-row-icon-sm{ width:32px; height:32px; }
.sr-card-body{ flex:1; min-width:0; }
.sr-card-title{ font-weight:700; font-size:14.5px; margin-bottom:8px; }
.sr-chip-row{ display:flex; gap:6px; flex-wrap:wrap; margin-bottom:8px; }
.sr-chip{ background:#F2F2F2; color:#444; border-radius:999px; padding:3px 10px; font-size:11.5px; }
.sr-chip-cve{ background:#EAF2FC; color:#2C6FBC; font-weight:600; font-family:ui-monospace,monospace; }
.sr-card-desc{ color:#555; font-size:13px; line-height:1.5; }
.sr-card-side{ display:flex; flex-direction:column; align-items:flex-end; gap:8px; min-width:170px; }
.sr-rating-select{
	-webkit-appearance:none; appearance:none;
	border:none; border-radius:999px; padding:6px 26px 6px 14px; font-weight:700; font-size:12.5px; cursor:pointer;
	background-repeat:no-repeat; background-position:right 10px center; background-size:9px;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23555' stroke-width='1.4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
}
.sr-note{ width:170px; font-size:11.5px; padding:6px 8px; border:1px solid var(--sr-line); border-radius:7px; resize:none; }
.sr-save-hint{ font-size:10.5px; color:#3E7A2E; opacity:0; transition:opacity .25s; }
.sr-save-hint.show{ opacity:1; }

@media (max-width:760px){
	.sr-app{ flex-direction:column; }
	.sr-sidebar{ width:100%; flex-direction:row; flex-wrap:wrap; align-self:auto; }
	.sr-brand{ width:100%; }
}

.sr-feed-error{
	background:#FFF7F7; border:1px solid #F1CACA; border-radius:12px;
	padding:22px; text-align:center; color:#7A2020; line-height:1.7;
}
.sr-feed-error strong{ font-size:14px; }
.sr-feed-error span{ color:#6B6B6B; font-size:12px; }
.sr-retry-btn{
	margin-top:10px; background:#BC2C2C; color:#fff; border:0; border-radius:8px;
	padding:8px 16px; font-weight:700; cursor:pointer;
}
.sr-retry-btn:hover{ background:#982323; }

/* Inline dashboard assessment control. */
.sr-inline-assessment{
	max-width:150px; border:1px solid var(--sr-line); border-radius:999px;
	padding:6px 26px 6px 10px; font-weight:700; font-size:11.5px; cursor:pointer;
	background:#F1F1F1; color:var(--sr-sub); background-repeat:no-repeat;
	background-position:right 9px center; background-size:9px;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23555' stroke-width='1.4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
}
.sr-inline-save-hint{ display:block; color:#3E7A2E; font-size:10px; opacity:0; transition:opacity .25s; margin-top:3px; }
.sr-inline-save-hint.show{ opacity:1; }

@media (max-width:760px){
	.sr-app{ flex-direction:column; }
	.sr-sidebar{ width:100%; flex-direction:row; flex-wrap:wrap; align-self:auto; padding:14px 10px; }
	.sr-brand{ width:100%; padding-bottom:12px; }
	.sr-nav-item{ flex:1 1 calc(50% - 8px); min-width:132px; }
	.sr-main{ width:100%; padding:16px 12px 28px; }
	.sr-topbar{ flex-direction:column; gap:12px; }
	.sr-top-right{ width:100%; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
	.sr-daterange,.sr-filter-btn,.sr-company-badge{ min-width:0; justify-content:center; overflow:hidden; text-overflow:ellipsis; }
	.sr-cards-row,.sr-two-col,.sr-chart-row{ grid-template-columns:1fr; }
	.sr-panel{ padding:15px 12px; overflow-x:auto; }
	.sr-table{ min-width:640px; }
	.sr-card{ flex-wrap:wrap; padding:14px; gap:10px; }
	.sr-card-icon-col{ width:48px; }
	.sr-card-body{ flex-basis:calc(100% - 58px); }
	.sr-card-side{ width:100%; min-width:0; flex-direction:row; align-items:center; flex-wrap:wrap; }
	.sr-card-side .sr-note{ flex:1 1 180px; width:auto; min-width:0; }
	.sr-card-side .sr-rating-select{ flex:0 0 auto; }
	.sr-inline-assessment{ max-width:140px; }
	.sr-level-row{ flex-wrap:wrap; }
	.sr-level-name{ width:auto; min-width:80px; }
	.sr-level-desc{ min-width:180px; }
}


/* =============================================================
   Feed filters and saved presets
   ============================================================= */
.sr-feed-toolbar{
	background:var(--sr-card); border:1px solid var(--sr-line); border-radius:var(--sr-radius);
	box-shadow:var(--sr-shadow); padding:16px 18px; margin-bottom:16px;
}
.sr-feed-toolbar-top{ display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:12px; }
.sr-feed-toolbar-top strong{ font-size:14px; }
.sr-filter-summary{ color:var(--sr-sub); font-size:12px; }
.sr-filter-controls, .sr-filter-presets{ display:flex; align-items:flex-end; gap:10px; flex-wrap:wrap; }
.sr-filter-presets{ margin-top:12px; padding-top:12px; border-top:1px solid var(--sr-line); }
.sr-filter-field{ display:flex; flex-direction:column; gap:5px; min-width:160px; flex:1; }
.sr-filter-search{ min-width:230px; }
.sr-filter-field > span{ color:var(--sr-sub); font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.03em; }
.sr-filter-field input, .sr-filter-field select, .sr-filter-preset-name{
	width:100%; min-height:36px; padding:8px 10px; border:1px solid var(--sr-line); border-radius:8px;
	background:#fff; color:var(--sr-ink); font-size:12.5px;
}
.sr-filter-controls button, .sr-filter-presets button{
	min-height:36px; padding:8px 12px; border:1px solid var(--sr-line); border-radius:8px;
	background:#fff; color:var(--sr-ink); font-size:12px; font-weight:700; cursor:pointer; white-space:nowrap;
}
.sr-filter-controls button:hover, .sr-filter-presets button:hover{ border-color:var(--sr-red); color:var(--sr-red); }
.sr-filter-save{ background:var(--sr-red) !important; border-color:var(--sr-red) !important; color:#fff !important; }
.sr-filter-save:hover{ background:#9e2424 !important; color:#fff !important; }
.sr-filter-delete{ color:#7a2020 !important; }
.sr-filter-status{ align-self:center; color:#3E7A2E; font-size:11px; min-height:16px; }
.sr-feed-filter-empty{ padding:28px 18px; text-align:center; color:var(--sr-sub); }

@media (max-width:760px){
	.sr-feed-toolbar{ padding:14px; }
	.sr-feed-toolbar-top{ align-items:flex-start; flex-direction:column; gap:4px; }
	.sr-filter-controls, .sr-filter-presets{ display:grid; grid-template-columns:1fr 1fr; align-items:stretch; }
	.sr-filter-field, .sr-filter-search{ min-width:0; grid-column:span 2; }
	.sr-filter-controls .sr-filter-field:not(.sr-filter-search){ grid-column:span 1; }
	.sr-filter-controls button, .sr-filter-presets button{ width:100%; }
	.sr-filter-presets .sr-filter-field, .sr-filter-preset-name, .sr-filter-status{ grid-column:span 2; }
	.sr-filter-status{ text-align:center; }
}


/* =============================================================
   Mobile dashboard navigation and compact layout
   ============================================================= */
.sr-mobile-topbar, .sr-mobile-bottom-nav, .sr-mobile-backdrop{ display:none; }

@media (max-width:760px){
			.sr-app{ position:relative; display:block; min-height:0; padding-bottom:0; border-radius:12px; overflow:visible; }

	.sr-mobile-topbar{ position:sticky; top:0; z-index:40; height:56px; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 12px; background:#1B1D22; color:#fff; box-shadow:0 2px 10px rgba(0,0,0,.18); }
	.sr-mobile-menu-toggle{ display:inline-flex; align-items:center; gap:7px; border:0; background:transparent; color:#fff; font-weight:700; font-size:13px; cursor:pointer; padding:8px 4px; }
	.sr-mobile-menu-toggle span{ font-size:12px; }
	.sr-mobile-view-title{ font-size:14px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
	.sr-mobile-topbar .sr-avatar{ width:30px; height:30px; background:#fff; color:#6C4FCE; }
			.sr-sidebar{ position:fixed; top:var(--sr-host-header-height, 0px); left:0; bottom:0; z-index:100000; width:min(86vw,300px); height:calc(100dvh - var(--sr-host-header-height, 0px)); min-height:0; max-height:calc(100dvh - var(--sr-host-header-height, 0px)); padding:18px 14px 24px; display:flex; flex-direction:column; flex-wrap:nowrap; overflow-y:auto; overflow-x:hidden; -webkit-overflow-scrolling:touch; transform:translateX(-105%); transition:transform .25s ease; box-shadow:8px 0 28px rgba(0,0,0,.22); }

	.sr-app.sr-mobile-nav-open .sr-sidebar{ transform:translateX(0); }
			.sr-mobile-backdrop{ position:fixed; top:var(--sr-host-header-height, 0px); right:0; bottom:0; left:0; z-index:99999; background:rgba(0,0,0,.48); }

	.sr-mobile-backdrop:not([hidden]){ display:block; }
	.sr-main{ padding:16px 12px 24px; }
	.sr-topbar{ display:none; }
	.sr-title{ font-size:19px; }
	.sr-subtitle{ font-size:12px; }
	.sr-cards-row{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:8px; margin-bottom:12px; }
	.sr-stat-card{ padding:12px 10px; border-radius:10px; gap:4px; }
	.sr-stat-icon{ width:27px; height:27px; font-size:12px; }
	.sr-stat-num{ font-size:18px; }
	.sr-stat-label{ font-size:11px; }
	.sr-stat-sub{ font-size:10px; }
	.sr-panel{ padding:14px 12px; border-radius:10px; margin-bottom:12px; overflow-x:auto; }
	.sr-panel h3{ font-size:14px; }
	.sr-two-col, .sr-chart-row{ gap:10px; margin-bottom:10px; }
	.sr-table{ min-width:560px; font-size:12px; }
	.sr-table th{ font-size:10px; padding:6px; }
	.sr-table td{ padding:9px 6px; }
	.sr-table-title{ font-size:12px; }
	.sr-table-sub{ font-size:10px; }
	.sr-level-row{ align-items:flex-start; gap:7px; padding:8px 0; }
	.sr-level-name{ width:74px; font-size:11px; }
	.sr-level-desc{ font-size:10.5px; }
	.sr-bar-wrap{ gap:7px; height:125px; }
	.sr-donut-wrap{ gap:10px; }
	.sr-trend-svg{ height:120px; }
	.sr-mobile-bottom-nav{ position:fixed; left:0; right:0; bottom:0; z-index:45; display:grid; grid-template-columns:repeat(4,1fr); min-height:62px; background:#fff; border-top:1px solid var(--sr-line); box-shadow:0 -3px 14px rgba(0,0,0,.1); padding-bottom:env(safe-area-inset-bottom); }
	.sr-mobile-bottom-item{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; border:0; background:transparent; color:var(--sr-sub); font-size:18px; cursor:pointer; padding:6px 2px; }
	.sr-mobile-bottom-item small{ font-size:9.5px; font-weight:700; }
		.sr-mobile-bottom-item.active{ color:var(--sr-red); }
		.sr-mobile-bottom-item:focus-visible, .sr-mobile-menu-toggle:focus-visible{ outline:2px solid #fff; outline-offset:2px; }

		/* Mobile correction pass: high-contrast menu, no footer navigation, no page overflow. */
		html, body{ max-width:100%; overflow-x:hidden; }
		.sr-app, .sr-portal{ width:100%; max-width:100%; min-width:0; overflow-x:hidden; }
		.sr-main{ width:100%; max-width:100%; min-width:0; overflow-x:hidden; padding:16px 12px 24px; }
		.sr-mobile-topbar{ width:100%; max-width:100%; min-width:0; padding:10px 12px; }
		.sr-mobile-menu-toggle{
			display:inline-flex !important; align-items:center; justify-content:center; gap:7px;
			min-width:108px; min-height:44px; padding:10px 14px;
			background:#BC2C2C !important; border:1px solid #E36B6B !important;
			border-radius:8px; color:#fff !important; opacity:1 !important;
			font-size:14px; font-weight:800; line-height:1; text-shadow:none;
			-webkit-appearance:none; appearance:none; box-shadow:0 2px 6px rgba(0,0,0,.22);
		}
		.sr-mobile-menu-toggle span, .sr-mobile-menu-toggle svg{ color:#fff !important; opacity:1 !important; }
		.sr-mobile-view-title{ color:#fff !important; font-size:18px; font-weight:800; }
		.sr-mobile-bottom-nav, .sr-mobile-bottom-item{ display:none !important; }
		.sr-panel, .sr-two-col, .sr-chart-row, .sr-cards-row{ width:100%; max-width:100%; min-width:0; }
		.sr-panel{ overflow:hidden; padding:14px 12px; }
		.sr-table{ display:table; width:100% !important; max-width:100%; min-width:0 !important; table-layout:fixed; font-size:11px; word-break:break-word; }
		.sr-table th, .sr-table td{ min-width:0 !important; max-width:0; padding:9px 5px; overflow-wrap:anywhere; word-break:break-word; }
		.sr-table th{ font-size:9px; letter-spacing:0; }
		.sr-table th:first-child, .sr-table td:first-child{ width:52%; }
		.sr-table th:nth-child(2), .sr-table td:nth-child(2){ width:22%; }
		.sr-table th:nth-child(3), .sr-table td:nth-child(3){ width:20%; }
		.sr-table th:nth-child(n+4), .sr-table td:nth-child(n+4){ width:6%; }
		.sr-row-title{ min-width:0; gap:6px; align-items:flex-start; }
		.sr-row-icon{ width:26px; height:26px; flex:0 0 26px; }
		.sr-table-title, .sr-table-sub{ min-width:0; overflow-wrap:anywhere; word-break:break-word; }
		.sr-table-title{ font-size:11px; }
		.sr-table-sub{ font-size:9px; }
		.sr-badge{ max-width:100%; padding:3px 6px; font-size:9px; white-space:normal; }
		.sr-chevron{ display:none; }
	}
