/* Forex Factory-inspired palette, limited to the economic calendar card. */
body.calendar-page #content > .card {
  color: #202b38;
  background: #f4f6f8;
  border: 1px solid #cbd3dc;
  border-radius: 5px;
  padding: 18px;
  box-shadow: 0 1px 2px #07111c12;
}
body.calendar-page #content > .card h2 { color: #fff; margin: -18px -18px 0; padding: 13px 16px; background: #24394d; font-size: 15px; letter-spacing: .1px; }
body.calendar-page #content > .card .cardhead { align-items: stretch; margin: -18px -18px 14px; background: #24394d; }
body.calendar-page #content > .card .cardhead > div { flex: 1; min-width: 0; }
body.calendar-page #content > .card .cardhead h2 { margin: 0; padding: 13px 16px 8px; }
body.calendar-page #content > .card .cardhead > div > .note { margin: 0; padding: 0 16px 12px; color: #d6e1eb; background: #24394d; }
body.calendar-page #content > .card .cardhead button { margin: 13px 14px; align-self: flex-start; color: #fff; border-color: #607487; background: #344e66; border-radius: 4px; }
body.calendar-page #content > .card > .note { color: #566474; }
body.calendar-page #content > .card .news-autorefresh { margin: 0 0 8px; color: #596879; font-size: 11px; }
body.calendar-page #content > .news-calendar-card .news-content-layout { display: grid; grid-template-columns: minmax(0, 1fr) 205px; gap: 16px; align-items: start; }
body.calendar-page #content > .news-calendar-card .news-events-column { min-width: 0; }
body.calendar-page #content > .news-calendar-card .news-status { min-height: 18px; margin: 0 0 5px; color: #566474; }
body.calendar-page #content > .news-calendar-card .news-feed-foot { margin: 12px 0 0; font-size: 10px; }
body.calendar-page #content > .news-calendar-card .news-rates-panel { position: static; width: auto; height: auto; padding: 0; color: #263747; border: 1px solid #c4ced8; border-radius: 4px; background: #edf1f5; }
body.calendar-page #content > .news-calendar-card .news-rates-panel h3 { margin: 0; padding: 7px 9px; color: #344a5f; border-bottom: 1px solid #c4ced8; background: #dce4ec; font-size: 12px; font-weight: 600; }
body.calendar-page #content > .news-calendar-card .news-rates-caption { margin: 0; padding: 7px 9px 2px; color: #667687; font-size: 10px; }
body.calendar-page #content > .news-calendar-card .news-rates-panel ul { margin: 0; padding: 0 8px; list-style: none; }
body.calendar-page #content > .news-calendar-card .news-rates-panel li { padding: 5px 0 4px; border-bottom: 1px solid #d8dfe6; }
body.calendar-page #content > .news-calendar-card .news-rates-panel li:last-child { border-bottom: 0; }
body.calendar-page #content > .news-calendar-card .news-rates-panel li > a { display: grid; grid-template-columns: 58px minmax(0,1fr); align-items: center; gap: 6px; color: #244d72; text-decoration: none; font-size: 11px; }
body.calendar-page #content > .news-calendar-card .news-rates-panel li > a:hover .news-rate-country { text-decoration: underline; }
body.calendar-page #content > .news-calendar-card .news-rate-country { display: flex; align-items: center; gap: 4px; font-weight: 600; }
body.calendar-page #content > .news-calendar-card .news-flag { display: block; flex: none; width: 18px; height: 13px; object-fit: cover; border: 1px solid #c5ccd4; border-radius: 1px; }
body.calendar-page #content > .news-calendar-card .news-rate-track { position: relative; display: block; overflow: hidden; min-height: 19px; background: #e2e8ed; }
body.calendar-page #content > .news-calendar-card .news-rate-track i { position: absolute; inset: 0 auto 0 0; display: block; background: #a6cfad; }
body.calendar-page #content > .news-calendar-card .news-rate-track b { position: relative; z-index: 1; display: block; padding: 2px 4px; color: #1e3825; font-size: 10px; font-weight: 600; white-space: nowrap; }
body.calendar-page #content > .news-calendar-card .news-rates-panel li > small { display: block; margin: 2px 0 0 64px; color: #7a8794; font-size: 9px; letter-spacing: 0; font-weight: 400; }
body.calendar-page #content > .news-calendar-card .news-rates-foot { margin: 0; padding: 7px 9px; color: #6c7885; border-top: 1px solid #d1d9e1; font-size: 9px; line-height: 1.45; }
body.calendar-page #content > .card .filters { align-items: center; gap: 8px; margin: 12px 0; }
body.calendar-page #content > .card select { min-height: 36px; padding: 7px 10px; color: #273747; border-color: #bfc9d3; border-radius: 4px; background: #fff; }
body.calendar-page #content > .card a { color: #245d89; font-size: 12px; font-weight: 600; }
body.calendar-page #content > .card .tablewrap { border: 1px solid #c8d0d9; border-radius: 4px; background: #fff; }
body.calendar-page #content > .card table { color: #263545; font-size: 12px; }
body.calendar-page #content > .card table thead th { position: sticky; top: 0; z-index: 1; padding: 9px 10px; color: #fff; background: #405a72; border: 0; font-size: 10px; letter-spacing: .45px; }
body.calendar-page #content > .card table tbody tr:not(.news-day-heading):nth-child(even) { background: #f0f3f6; }
body.calendar-page #content > .card table td { padding: 9px 10px; color: #293847; border-bottom: 1px solid #e0e5ea; font-size: 12px; }
body.calendar-page #content > .card .news-day-heading th { padding: 8px 10px; color: #fff; background: #dce5ed; color: #30465a; border-top: 1px solid #c8d3dd; border-bottom: 1px solid #c8d3dd; font-size: 11px; letter-spacing: .25px; }
body.calendar-page #content > .card .news-detail-toggle { min-height: 26px; padding: 2px 5px; color: #35556f; border: 1px solid transparent; border-radius: 3px; background: transparent; font-size: 16px; line-height: 1; }
body.calendar-page #content > .card .news-detail-toggle:hover,
body.calendar-page #content > .card .news-detail-toggle[aria-expanded="true"] { border-color: #b5c3d0; background: #e7edf3; }
body.calendar-page #content > .card .news-detail-row td { padding: 0; background: #e4e9ef; }
body.calendar-page #content > .card .news-detail-panel { margin: 8px 10px 12px; padding: 14px 16px; color: #293a4a; border: 1px solid #c1ccd7; border-radius: 4px; background: #fff; white-space: normal; }
body.calendar-page #content > .card .news-detail-title { margin-bottom: 7px; color: #314c65; font-weight: 700; }
body.calendar-page #content > .card .news-detail-panel p { margin: 6px 0 10px; color: #4e5f70; font-size: 12px; line-height: 1.55; }
body.calendar-page #content > .card .news-detail-values { display: flex; gap: 8px; flex-wrap: wrap; margin: 10px 0; }
body.calendar-page #content > .card .news-detail-values span { display: grid; gap: 3px; min-width: 110px; padding: 7px 9px; color: #304252; border: 1px solid #d6dde4; border-radius: 3px; background: #f4f6f8; font-size: 11px; }
body.calendar-page #content > .card .news-detail-values b { color: #738293; font-size: 9px; text-transform: uppercase; letter-spacing: .4px; }
body.calendar-page #content > .card .news-detail-panel a { display: inline-block; margin-top: 2px; }
body.calendar-page #content > .card .news-detail-panel .news-detail-disclaimer { margin: 8px 0 0; color: #7c8793; font-size: 10px; }
body.calendar-page #content > .card .negative { color: #c63f45; font-weight: 700; }
body.calendar-page #content > .card .muted { color: #8b6a18; font-weight: 600; }
body.calendar-page #content > .card td.news-actual.better { color: #168342 !important; font-weight: 700; }
body.calendar-page #content > .card td.news-actual.worse { color: #c23d43 !important; font-weight: 700; }
body.calendar-page #content > .card td.news-actual.neutral { color: #596979 !important; font-weight: 600; }
body.calendar-page #content > .card .empty { padding: 28px 15px; color: #667587; }
body.calendar-page #content > .card > label { color: #566474; }
body.calendar-page #content > .card > label input { color: #273747; border-color: #bfc9d3; border-radius: 4px; background: #fff; }
@media (max-width: 650px) {
  body.calendar-page #content > .card { padding: 12px; }
  body.calendar-page #content > .card .cardhead h2 { margin: 0; padding: 12px 12px 8px; }
  body.calendar-page #content > .card .cardhead { margin: -12px -12px 12px; }
  body.calendar-page #content > .card .cardhead button { margin: 10px; padding: 8px; }
  body.calendar-page #content > .card table td { padding: 8px; }
  body.calendar-page #content > .news-calendar-card .news-content-layout { grid-template-columns: minmax(0, 1fr); }
  body.calendar-page #content > .news-calendar-card .news-rates-panel { max-width: 100%; }
}
@media (max-width: 1050px) and (min-width: 651px) {
  body.calendar-page #content > .news-calendar-card .news-content-layout { grid-template-columns: minmax(0, 1fr) 180px; gap: 10px; }
  body.calendar-page #content > .news-calendar-card .news-rates-panel li > a { grid-template-columns: 50px minmax(0, 1fr); gap: 4px; }
  body.calendar-page #content > .news-calendar-card .news-rates-panel li > small { margin-left: 54px; }
}

/* Latest Forex Factory headlines: roomy desktop sidebar, touch-scrolling on phones. */
body.calendar-page #content > .news-calendar-card .news-content-layout { grid-template-columns: minmax(0, 1fr) 360px; gap: 18px; }
body.calendar-page #content > .news-calendar-card .news-side-panels { position: static; display: flex; flex-direction: column; gap: 14px; width: auto; height: auto; min-width: 0; padding: 0; overflow: visible; color: #263747; border: 0; background: transparent; }
body.calendar-page #content > .news-calendar-card .news-headline-panel { position: static; display: flex; flex-direction: column; width: auto; height: auto; max-width: none; min-width: 0; max-height: 480px; padding: 0; overflow: hidden; color: #263747; border: 1px solid #c4ced8; border-radius: 4px; background: #edf1f5; }
body.calendar-page #content > .news-calendar-card .news-headline-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 10px; border-bottom: 1px solid #c4ced8; background: #dce4ec; }
body.calendar-page #content > .news-calendar-card .news-headline-head h3 { margin: 0; color: #344a5f; font-size: 13px; font-weight: 700; }
body.calendar-page #content > .news-calendar-card .news-headline-head p { margin: 3px 0 0; color: #637384; font-size: 10px; line-height: 1.35; }
body.calendar-page #content > .news-calendar-card .news-headline-head button { flex: none; min-height: 30px; padding: 4px 8px; color: #35556f; border-color: #b8c5d1; background: #f8fafc; font-size: 17px; line-height: 1; }
body.calendar-page #content > .news-calendar-card .news-headline-scroll { flex: 1 1 auto; height: 390px; min-height: 0; max-height: 390px; overflow: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
body.calendar-page #content > .news-calendar-card .news-headline-item { padding: 10px 11px; border-bottom: 1px solid #d7dfe6; }
body.calendar-page #content > .news-calendar-card .news-headline-item:nth-child(even) { background: #f7f8fa; }
body.calendar-page #content > .news-calendar-card .news-headline-item a { display: block; color: #293c50; text-decoration: none; }
body.calendar-page #content > .news-calendar-card .news-headline-item.has-thumbnail a { display: grid; grid-template-columns: 68px minmax(0, 1fr); align-items: start; gap: 9px; }
body.calendar-page #content > .news-calendar-card .news-headline-item img { display: block; width: 68px; height: 52px; object-fit: cover; border: 1px solid #c6d0da; border-radius: 3px; background: #e2e8ed; }
body.calendar-page #content > .news-calendar-card .news-headline-copy { min-width: 0; }
body.calendar-page #content > .news-calendar-card .news-headline-item a:hover strong { text-decoration: underline; }
body.calendar-page #content > .news-calendar-card .news-headline-item strong { display: block; color: #244d72; font-size: 12px; line-height: 1.4; }
body.calendar-page #content > .news-calendar-card .news-headline-meta { display: block; margin-top: 4px; color: #778595; font-size: 9px; line-height: 1.4; }
body.calendar-page #content > .news-calendar-card .news-headline-item p { display: -webkit-box; margin: 5px 0 0; overflow: hidden; color: #556575; font-size: 10px; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
body.calendar-page #content > .news-calendar-card .news-headline-empty { margin: 0; padding: 18px 12px; color: #667587; font-size: 11px; line-height: 1.5; }
body.calendar-page #content > .news-calendar-card .news-headline-source { display: block; padding: 8px 10px; border-top: 1px solid #d1d9e1; background: #f5f7f9; }
@media (min-width: 1051px) and (max-width: 1599px) {
  body.calendar-page #content > .news-calendar-card .news-content-layout { grid-template-columns: minmax(0, 1fr); }
  body.calendar-page #content > .news-calendar-card .news-side-panels { display: grid; grid-template-columns: minmax(300px, 1fr) minmax(250px, 300px); align-items: start; }
  body.calendar-page #content > .news-calendar-card .news-headline-panel { max-height: 430px; }
}
@media (max-width: 1050px) {
  body.calendar-page #content > .news-calendar-card .news-content-layout { grid-template-columns: minmax(0, 1fr); }
  body.calendar-page #content > .news-calendar-card .news-side-panels { display: grid; grid-template-columns: minmax(0, 1fr) minmax(250px, 300px); align-items: start; }
}
@media (max-width: 650px) {
  body.calendar-page #content > .news-calendar-card .news-side-panels { grid-template-columns: minmax(0, 1fr); }
  body.calendar-page #content > .news-calendar-card .news-headline-panel { max-height: none; }
  body.calendar-page #content > .news-calendar-card .news-headline-scroll { height: min(440px, 55vh); max-height: 440px; }
}
