/* AstroLoop Astra clarity: 20260909-astra-clarity-1. Presentation only. */
html body .al-astra-page {
    container: astra-clarity / inline-size;
    --astra-bg: #212121;
    --astra-panel: #262626;
    --astra-panel-2: #2d3032;
    --astra-header: #333333;
    --astra-text: #f1f3f4;
    --astra-text-2: #e0e4e6;
    --astra-text-3: #d6dcdf;
    --astra-good: #b9e48a;
    --astra-warning: #ffd080;
    --astra-critical: #ffb4ab;
    gap: 12px;
    font: 14px/1.45 Roboto, Arial, sans-serif;
    overflow-wrap: anywhere;
    color: var(--astra-text);
    background: var(--astra-bg);
    min-width: 0 !important;
}

html body .al-astra-page *,
html body .al-astra-page *::before,
html body .al-astra-page *::after {
    box-sizing: border-box;
    font-size: 14px !important;
    line-height: 1.45;
}
html body .al-astra-page :is(p, small, td, th, dt, dd, summary, .al-astra-kpi-description, .al-astra-kpi-unit, .al-astra-kpi-label) {
    color: var(--astra-text-2);
    opacity: 1 !important;
    overflow-wrap: anywhere;
}
html body .al-astra-page :is(h2, h3, .al-astra-section-title) {
    font-size: 18px !important;
    line-height: 1.35;
    color: var(--astra-text);
    margin: 0;
}
html body .al-astra-page h3 small { display: block; margin-top: 5px; font-weight: 400; }
html body .al-astra-page p { margin: 0; }
html body .al-astra-page .al-astra-header-actions [data-astra-action="refresh"] { font-size: 14px !important; }
html body .al-astra-page .al-astra-focus-control { display: inline-flex; align-items: center; gap: 8px; color: #f1f3f4; cursor: pointer; }
html body .al-astra-page [data-astra-focus] { width: 18px; height: 18px; flex: 0 0 18px; margin: 0; accent-color: #c9d0d4; }
html body:has(.al-astra-page [data-astra-focus]:checked) .l-shell__pane-inspector { display: none !important; }

html body .al-astra-page .al-astra-analysis-notice { padding: 12px 14px; border: 1px solid #596166; border-radius: 2px; background: #292d2f; display: grid; gap: 6px; }
html body .al-astra-page .al-astra-association-warning { border-left: 3px solid #ffd080; padding-left: 10px; color: #f5dfb6; }
html body .al-astra-page .al-astra-association-warning[data-level="critical"] { border-left-color: #ffb4ab; color: #ffcec8; }
html body .al-astra-page .al-astra-association-warning[data-level="info"] { border-left-color: #bbc4c9; color: #e0e4e6; }
html body .al-astra-page .al-astra-fetch-note { color: #d6dcdf; }
html body .al-astra-page .al-astra-context { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
html body .al-astra-page .al-astra-context-cell { padding: 12px; min-width: 0; border-bottom: 1px solid #42494d; }
html body .al-astra-page .al-astra-context-mission { grid-column: span 2; }
html body .al-astra-page .al-astra-context-cell span { color: #d6dcdf; letter-spacing: .025em; }
html body .al-astra-page .al-astra-context-cell strong { white-space: normal !important; overflow: visible; overflow-wrap: anywhere; text-overflow: clip; font-size: 16px !important; }
html body .al-astra-page .al-astra-section { padding: 14px; margin: 0; border-radius: 2px; }
html body .al-astra-page .al-astra-section-title { margin-bottom: 12px; }
html body .al-astra-page .al-astra-kpi-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 12px; }
html body .al-astra-page .al-astra-kpi { min-width: 0; min-height: 146px; padding: 14px; background: #2b2f31; border-radius: 2px; }
html body .al-astra-page .al-astra-kpi-label { min-height: 0; margin-bottom: 8px; font-weight: 600; color: #e0e4e6; }
html body .al-astra-page .al-astra-kpi-value { font-size: 28px !important; line-height: 1.2; overflow-wrap: anywhere; }
html body .al-astra-page .al-astra-kpi-unit { display: inline-block; font-size: 14px !important; margin-left: 4px; }
html body .al-astra-page .al-astra-kpi-description { margin-top: 10px; color: #d6dcdf; }
html body .al-astra-page .al-astra-analytics-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px; margin: 0; align-items: start; }
html body .al-astra-page .al-astra-panel { border-radius: 2px; min-width: 0; }
html body .al-astra-page .al-astra-panel > header { padding: 14px; }
html body .al-astra-page .al-astra-panel > header p { margin-top: 6px; }
html body .al-astra-page .al-astra-resource-panel { width: 100%; }
html body .al-astra-page .al-astra-table-wrap { overflow-x: auto; min-width: 0; }
html body .al-astra-page .al-astra-table { table-layout: fixed; width: 100%; }
html body .al-astra-page .al-astra-table :is(td, th) { padding: 12px; white-space: normal; overflow-wrap: anywhere; vertical-align: top; color: #f1f3f4; }
html body .al-astra-page .al-astra-table th { color: #f1f3f4; background: #373c3f; letter-spacing: .015em; }
html body .al-astra-page .al-astra-table td small { max-width: none !important; margin-top: 5px; }
html body .al-astra-page .al-astra-resource-table :is(th,td):first-child { width: 37%; }
html body .al-astra-page .al-astra-reliability-table td:first-child { width: 52%; }
html body .al-astra-page .al-astra-value-good { color: #b9e48a !important; }
html body .al-astra-page .al-astra-value-warning { color: #ffd080 !important; }
html body .al-astra-page .al-astra-value-critical { color: #ffb4ab !important; }
html body .al-astra-page .al-astra-ratio-below { color: #ffd080 !important; font-weight: 700; }
html body .al-astra-page .al-astra-ratio-met { color: #f1f3f4 !important; font-weight: 700; }
html body .al-astra-page .al-astra-ratio-status { display: block; margin-top: 5px; font-weight: 400; }

html body .al-astra-page :is(.al-astra-metric-details, .al-astra-provenance-details) { border: 1px solid #596166; border-radius: 2px; background: #26292b; min-width: 0; }
html body .al-astra-page summary { position: relative; list-style: none; padding: 14px 14px 14px 42px; font-size: 18px !important; font-weight: 600; cursor: pointer; color: #f1f3f4; }
html body .al-astra-page summary::-webkit-details-marker { display: none; }
html body .al-astra-page summary::before { content: "+" !important; display: block !important; position: absolute; left: 14px; top: 14px; width: 18px; font-size: 18px !important; line-height: 1.35; text-align: center; color: #f1f3f4; }
html body .al-astra-page details[open] > summary::before { content: "−" !important; }
html body .al-astra-page summary:focus-visible { outline: 2px solid #e0e4e6; outline-offset: -4px; }
html body .al-astra-page .al-astra-count { display: inline-block; border: 1px solid #737b80; border-radius: 2px; padding: 0 7px; margin-left: 8px; }
html body .al-astra-page .al-astra-details-intro { padding: 0 14px 12px; }
html body .al-astra-page .al-astra-metric-details > .al-astra-kpi-grid { padding: 0 14px 14px; }
html body .al-astra-page .al-astra-provenance-content { padding: 0 14px 14px; display: grid; gap: 14px; }
html body .al-astra-page .al-astra-metric-guide { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
html body .al-astra-page .al-astra-metric-guide dt { font-weight: 700; color: #f1f3f4; }
html body .al-astra-page .al-astra-metric-guide dd { margin: 5px 0 0; }
html body .al-astra-page .al-astra-footer { flex-wrap: wrap; gap: 10px; padding: 12px; margin: 0; }
html body .al-astra-page .al-astra-esm-chart { padding: 14px; }
html body .al-astra-page .al-astra-esm-chart [style*="font-size"] { font-size: 14px !important; opacity: 1 !important; color: #e0e4e6 !important; }
html body .al-astra-page .al-astra-sensitivities { padding: 14px; }
html body .al-astra-page .al-astra-sensitivity { grid-template-columns: minmax(0, 1.4fr) minmax(40px, 1fr) minmax(70px, .8fr); padding: 12px 0; }

@container astra-clarity (max-width: 1050px) {
    html body .al-astra-page .al-astra-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    html body .al-astra-page .al-astra-analytics-grid { grid-template-columns: minmax(0, 1fr) !important; }
}
@container astra-clarity (max-width: 680px) {
    html body .al-astra-page .al-astra-context { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    html body .al-astra-page .al-astra-context-mission, html body .al-astra-page .al-astra-context-run, html body .al-astra-page .al-astra-context-cell:last-child { grid-column: 1 / -1; }
    html body .al-astra-page .al-astra-metric-guide { grid-template-columns: minmax(0, 1fr); }
}
@container astra-clarity (max-width: 520px) {
    html body .al-astra-page .al-astra-kpi-grid { grid-template-columns: minmax(0, 1fr) !important; }
    html body .al-astra-page .al-astra-section { padding: 10px; }
    html body .al-astra-page .al-astra-table :is(thead,tbody,tr,td) { display: block; width: 100% !important; }
    html body .al-astra-page .al-astra-table thead { display: none; }
    html body .al-astra-page .al-astra-table tr { padding: 8px 0; border-bottom: 1px solid #737b80; }
    html body .al-astra-page .al-astra-table td { padding: 7px 12px; border: 0; }
    html body .al-astra-page .al-astra-table td[data-label]::before { content: attr(data-label); display: block; font-weight: 700; color: #e0e4e6; margin-bottom: 3px; }
    html body .al-astra-page :is(.al-astra-alisse-table,.al-astra-comparison-table,.al-astra-reliability-table) td::before { display: block; font-weight: 700; color: #e0e4e6; margin-bottom: 3px; }
    html body .al-astra-page .al-astra-alisse-table td:first-child::before { content: "Dimension"; }
    html body .al-astra-page .al-astra-alisse-table td:nth-child(2):not([colspan])::before { content: "Score (0–1)"; }
    html body .al-astra-page .al-astra-alisse-table td:nth-child(3):not(:last-child)::before { content: "Weight"; }
    html body .al-astra-page .al-astra-alisse-table td:last-child::before { content: "Weighted score"; }
    html body .al-astra-page .al-astra-comparison-table td:first-child:not([colspan])::before { content: "Metric"; }
    html body .al-astra-page .al-astra-comparison-table td:nth-child(2)::before { content: "Baseline"; }
    html body .al-astra-page .al-astra-comparison-table td:nth-child(3)::before { content: "Current"; }
    html body .al-astra-page .al-astra-comparison-table td:nth-child(4)::before { content: "Difference"; }
    html body .al-astra-page .al-astra-comparison-table td:nth-child(5)::before { content: "Change"; }
    html body .al-astra-page .al-astra-reliability-table td:first-child::before { content: "Metric"; }
    html body .al-astra-page .al-astra-reliability-table td:last-child::before { content: "Value"; }
    html body .al-astra-page .al-astra-table td:empty { display: none; }
    html body .al-astra-page .al-astra-sensitivity { grid-template-columns: minmax(0, 1fr); gap: 6px; }
}
@container astra-clarity (max-width: 360px) {
    html body .al-astra-page .al-astra-header-actions { padding: 40px 0 0 !important; }
    html body .al-astra-page .al-astra-esm-chart [style*="grid-template-columns"] { grid-template-columns: minmax(0, 1fr) !important; gap: 6px !important; }
    html body .al-astra-page .al-astra-esm-chart [style*="text-align:right"] { text-align: left !important; }
}
@container astra-clarity (max-width: 240px) {
    html body .al-astra-page .al-astra-context { grid-template-columns: minmax(0, 1fr) !important; }
}
