html body { 
	background-color:#fafafa; 
	color:#2c3e50;  
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	font-size: 14px;
	line-height: 1.6;
	text-align:center;
}

/**************************************************************
ANCHORS
**************************************************************/

a  {
	color: #2980b9;
	font-weight: 600;
	text-decoration: none;
	transition: color 0.2s ease;
}

a:hover {
	color: #1e5f8e;
	text-decoration: underline;
}

a.expandspot, a.dropspot, a.glossterm {
	color:#34495e;
	cursor:pointer;
	font-style:italic;
	text-decoration:none;
}

a.glossterm {
	color:#c0392b;
}

a:active, a:visited {
	color:#34495e;
	font-weight:600;
	font-style:normal;
}

a.csv {
	color:#3498db;
	display:block;
	font-size:0.9em;
	margin:1em auto;
	text-align:right;
	width:8in;
}

#page {
	background: white;
	border-radius: 8px;
	box-shadow: 0 2px 10px rgba(0,0,0,0.08);
	margin:20px auto;
	padding:30px;
	text-align:left;
	width:7.5in;
}

/**************************************************************
HEADINGS
**************************************************************/

.h1text {
    color:#2c3e50;
    font-weight:700;
    font-size:1.8em;
}

.h1 {
	font-size:1.8em;
	height:60px;
    color:#2c3e50;
    font-weight:700;
}

h1, h2 {
	color:#2c3e50;
	font-weight:700;
	margin-bottom:.5em;
	margin-top:1.5em;
	margin-left:auto;
	margin-right:auto;
	width:7.5in;
}

h1 {
	background-image:url(logo.png);
	background-position:top right;
	background-repeat:no-repeat;
	font-size:1.8em;
	height:60px;
	letter-spacing: -0.5px;
}

h2 {
	background:#f8f9fa;
	border-bottom:2px solid #e9ecef;
	border-top:1px solid #e9ecef;
	font-size:1.3em;
	padding:10px 15px;
	border-radius: 4px;
	margin-top: 2em;
}

h3, h4, h5, h6 {
	color:#34495e;
	font-weight:600;
	margin:0 auto .8em auto;
	width:7.5in;
}

h3 {
	border-bottom:1px solid #dee2e6;
	font-size:1.1em;
	margin-top:1.8em;
	padding-bottom: 5px;
}

h4 {
	font-size:1em;
	color: #495057;
}

h5 {
	font-size:0.9em;
	color: #6c757d;
}

h6 {
	font-size:0.85em;
	margin-top:1em;
	margin-bottom:0.5em;
	color: #6c757d;
}

/**************************************************************
OTHER
**************************************************************/

ol, ul {
	background-color:#fff;
	color:#2c3e50;
	font-size:14px;
	margin-top:12px;
	margin-bottom:12px;
	line-height: 1.8;
}

li {
	color:#495057;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	font-size:14px;
	margin-top:4px;
	margin-bottom:4px;
}

/**************************************************************
DATALIST
**************************************************************/
.datalist {
	border-top:1px solid #dee2e6;
	margin:20px auto;
	width:7.5in;
	border-radius: 4px;
	overflow: hidden;
}

.datalist td {
	border-bottom:1px solid #e9ecef;
	font-size: 0.9em;
	padding:8px 12px;
	transition: background-color 0.15s ease;
}

.datalist tr:hover td {
	background-color:#f8f9fa;
}

.datalist tr.alt td {
	background-color:#f8f9fa;
}

.datalist tr.alt:hover td {
	background-color:#e9ecef;
}

.datalist td.label {
	color:#495057;
	font-weight:600;
}

.datalist td.datar {
	text-align:right;
	font-variant-numeric: tabular-nums;
}

.datalist td.datac {
	text-align:center;
}


/**************************************************************
DATATBL
**************************************************************/

.datatbl {
	border: 1px solid #dee2e6;
	border-radius: 6px;
	margin: 20px auto;
	width: 7.5in;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}

.datatbl thead td {
	background: linear-gradient(to bottom, #f8f9fa, #e9ecef);
	font-weight: 600;
	padding: 10px 14px;
	border-bottom: 2px solid #dee2e6;
	color: #2c3e50;
	font-size: 0.9em;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.datatbl thead td:first-child {
	border-top-left-radius: 6px;
}

.datatbl thead td:last-child {
	border-top-right-radius: 6px;
}

.datatbl tfoot td {
	background: linear-gradient(to bottom, #f8f9fa, #e9ecef);
	font-weight: 600;
	padding: 10px 14px;
	border-top: 2px solid #dee2e6;
	color: #2c3e50;
}

.datatbl td {
	border-bottom: 1px solid #e9ecef;
	font-size: 0.9em;
	padding: 8px 14px;
	transition: background-color 0.15s ease;
}

.datatbl tbody tr:hover td {
	background-color:#f1f3f5;
}

.datatbl tr.alt td {
	background-color:#f8f9fa;
}

.datatbl tr.alt:hover td {
	background-color:#e9ecef;
}

.datatbl td.label {
	color:#495057;
	font-weight:600;
}

.datatbl td.datar {
	text-align:right;
	font-variant-numeric: tabular-nums;
}

.datatbl td.datac {
	text-align:center;
}


span.expandtext, span.glosstext {
	color:#e74c3c;
	font-style:italic;
	font-weight:normal;
}

span.glosstext {
	color:#3498db;
}

span.sup {
	font-size:0.75em;
	text-transform:uppercase;
	vertical-align:super;
}

sup {
	font-size:0.75em;
}

p.news {
	font-size:0.9em;
	margin-bottom:0;
}

p {
	margin-left:auto;
	margin-right:auto;
	width:7.5in;
	line-height: 1.7;
	color: #495057;
}

p.img, p img, div.chart-container, div.chart-container iframe, p iframe {
	margin: 30px auto 30px auto;
	text-align: center;
	display: block;
	width: 7.5in;
	max-width: 100%;
}

/* Chart containers */
p > img,
p > iframe,
p > object,
p > a > img,
p > a > iframe,
p > a > object,
p:has(> iframe),
p:has(> img),
p:has(> object) {
	display: block;
	margin: 20px auto;
	text-align: center;
	max-width: none;
}

.chart-container {
	display: block;
	margin: 20px auto;
	text-align: center;
	width: 80%;
}

/* Chart containers in paragraphs */
p > a > img,
p > a > iframe,
p > a > object,
p > a,
p:has(a > img),
p:has(a > iframe),
p:has(a > object) {
	display: block;
	margin: 20px auto;
	text-align: center;
	max-width: none;
}

/* Chart containers in divs with dp.getLink */
div:has(a > img),
div:has(a > iframe),
div:has(a > object) {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

/* Simple selectors for older browsers that don't support :has() */
p a img, 
p a iframe, 
p a object {
	display: block;
	margin: 0 auto;
}

p a[href^="javascript:"] {
	display: block;
	text-align: center;
	margin: 20px auto;
}

/* Target direct paragraph chart links */
p a[href^="javascript:"] img,
p a[href^="javascript:"] iframe,
p a[href^="javascript:"] object {
	display: inline-block;
	margin: 0 auto;
}

/* Specific rules for the image/chart containers in TopLevelMetrics */
div[style*="margin: 20px 0; padding: 10px; border: 1px solid #e5e5e5;"] {
	margin: 20px auto !important;
	width: 90% !important;
	text-align: center !important;
	max-width: 100% !important;
	overflow: auto !important;  /* Add scrolling for large charts */
}

/* Make the chart image centered and responsive */
div[style*="border: 1px solid #e5e5e5;"] img {
	display: block !important;
	margin: 0 auto !important;
	max-width: 100% !important;
	height: auto !important;
}

/* Universal chart centering - ensures ALL charts are centered */
a > img[src*="."],
a > img[width][height],
img[src*="chart"],
img[width][height][src*="."],
a[href^="javascript:"] > img {
	display: block !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* CRITICAL: Preserve chart aspect ratios - prevent horizontal squashing */
img[width][height],
img.chart-image,
a > img[width][height],
img[src*="chart"],
img[src*=".png"],
img[src*=".jpg"],
img[src*=".jpeg"] {
	max-width: none !important;
	width: auto !important;
	height: auto !important;
	aspect-ratio: attr(width) / attr(height);
}

/* Fallback for browsers that don't support aspect-ratio */
@supports not (aspect-ratio: 1) {
	img[width][height],
	img.chart-image,
	a > img[width][height],
	img[src*="chart"] {
		max-width: none !important;
		width: inherit !important;
		height: inherit !important;
	}
}

/* Additional direct parent centering */
div.chart-wrapper,
div[style*="padding: 10px; border:"],
p:has(img),
div:has(> img),
div:has(> a > img) {
	text-align: center !important;
	width: 100% !important;
}

p.description, p.probanner {
	background:#f8f9fa;
	border:1px solid #dee2e6;
	border-radius: 4px;
	color:#495057;
	font-size:0.85em;
	padding:12px 15px;
	line-height: 1.6;
	margin: 15px auto;
}

.note {
	color:#6c757d;
	font-size:0.9em;
	text-align:center;
	font-style: italic;
}

.subnote {
	color:#6c757d;
	font-size:0.85em;
}

b.news-header, p.smalltable {
	font-size:0.85em;
}

table, table.small { 
	color:#495057;
}

table.small {
	font-size:0.8em;
}

p.tableheader {
	color:#fff;
	text-decoration:none;
}

p.smalltableheader {
	color:#fff;
	font-size:0.85em;
}

p.code {
	font-family: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, 'Courier New', monospace;
	background: #f6f8fa;
	padding: 2px 6px;
	border-radius: 3px;
	font-size: 0.9em;
}

.warning {
	color:#e74c3c;
	font-size:0.85em;
	font-weight: 600;
}

ol.notes li {
	color:#6c757d;
	font-size:0.85em;
	padding-bottom:1em;
	line-height: 1.6;
}

/**
 * PRO Banner
 */
p.probanner img {
	border: 0px;
}
p.samplereport-link {
    font-size: 13px;
    line-height: 20px;
    text-align: center;
    margin: 20px 0;
}
p.samplereport-link span {
	background-color: #f8f9fa;
    border: 1px solid #dee2e6;
	padding: 8px 12px;
	border-radius: 4px;
	display: inline-block;
}
p.samplereport-link a {
    background: url('sample-report-link.gif') no-repeat left;
    padding-left: 24px;
    color: #2980b9;
}

/**************************************************************
SCREENCAST LINK - MODERNIZED STYLE
**************************************************************/

/* Modern video links - this is the new style */
.video-link-container {
    text-align: center;
    margin: 20px 0;
}

.video-link {
    display: inline-block;
    text-decoration: none;
    font-size: 12px;
    color: #2980b9 !important;
    font-weight: 600;
    background: linear-gradient(to bottom, #f0f7ff, #e3f2fd);
    padding: 6px 12px 6px 10px;
    white-space: nowrap;
    border: 1px solid #90caf9;
    border-radius: 4px;
    transition: all 0.2s ease;
}

.video-link span {
    color: #2980b9;
}

.video-link:hover {
    background: linear-gradient(to bottom, #e3f2fd, #bbdefb);
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    transform: translateY(-1px);
}

/* Legacy style - for backward compatibility only */
p.screencast-link {
    font-size: 13px;
    line-height: 20px;
    text-align: center;
    margin: 20px 0;
    padding: 0;
}