/* Tech Fin Market Data */
/* CSS Styles */

/* 1. ОБЩИЕ СИСТЕМНЫЕ СТИЛИ СТРАНИЦЫ */
body {color: #333; margin: 0; padding: 10px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, sans-serif;}
.wrap {position: relative;}
.header {background: #fff; text-align: center;}
.footer {padding-top: 10px; background: #fff; font-family: monospace; text-align: center; vertical-align: middle; margin: 10px;}
.footer_notice {font-size: 13px; text-align: center; color: red;}
.footer_copy {font-size: 12px; margin: 8px;}
iframe {height: 100%; width: 100%;}
h1 {text-align: center;}
h2 {text-align: center; line-height: 25px;}
h3 {text-align: center; margin: 0; padding-top: 10px;}
h4 {color: #cc2f3c; text-align: center;}
h5 {text-align: center;}
p {color: #cc2f3c; text-align: left; line-height: 14px;}

/* 2. СЕТКА И СТРУКТУРНЫЕ ВИДЖЕТЫ */
.dashboard-grid {display: flex; flex-wrap: wrap; gap: 3px; justify-content: center; padding: 10px 0 10px 0;}
.widget-ticker-tape {width: 100%; margin-bottom: 10px; overflow: hidden; border-top: 1px solid #333; border-bottom: 1px solid #333;}
/*.widget-main-chart {flex: 1 1 65%; min-width: 350px; height: 600px; overflow: hidden; border-radius: 8px; border: 1px solid #dfdfdf;}*/
.chart {flex: 1 1 500px; min-width: 300px; display: flex; flex-direction: column; gap: 15px; height: 600px; border-radius: 8px; border: 1px solid #dfdfdf;}
.widget-box {border-radius: 8px; overflow: hidden; box-shadow: 0 4px 6px rgba(0,0,0,0.3);}
.widget-market-overview {height: 380px;}
.widget-timeline {height: 205px;}

/* Стили блоков новостей */
.news {position: relative; display: flex; flex-wrap: wrap; gap: 20px; width: 100%; margin-bottom: 20px;}
.news-header {width: 100%; text-align: center; text-transform: uppercase; margin-bottom: 5px;}
.news-context {margin: 10px 0 0 0; font-size: 13px; font-weight: bold; color: #000; text-align: center; text-transform: uppercase;}
.news-block {position: relative; display: block; flex: 1 1 45%; min-width: 45%; background: #fff; border-radius: 8px; box-sizing: border-box;}
.indent-down {padding: 20px 0 4px 0;}

/* 3. МОДУЛЬ ИНТЕРАКТИВНОЙ ТАБЛИЦЫ MOEX */
.moex-search-wrapper {margin-bottom: 15px; width: 100%;}
#moex-search {width: 100%; padding: 12px 15px; font-size: 14px; border: 1px solid #2a2e39; border-radius: 6px; color: #333; box-sizing: border-box; transition: border-color 0.2s ease;}
#moex-search:focus {border-color: #2962ff; outline: none;}
#moex-search::placeholder {color: #787b86;}
.table-container {max-height: 400px; overflow-y: auto; border: 1px solid #ddd; box-shadow: 0 1px 3px rgba(0,0,0,0.1);}
.moex-table {width: 100%; border-collapse: collapse; background: #fff;}
.moex-table-notice {line-height: 19px; padding: 0 0 10px 20px; color: #004c00;}
.hide-column {display: none !important;}
.moex-table th, .moex-table td {white-space: nowrap !important; vertical-align: middle; color: #000; padding: 10px; border: 1px solid #ddd; text-align: left; font-size: 13px;}
.moex-table th {background-color: #f2f2f2; text-align: center; font-weight: bold; position: sticky; top: 0; z-index: 10; cursor: pointer; user-select: none;}
.moex-table tr:nth-child(even) {background-color: #ecf1fd; white-space: nowrap;}
.moex-table tr:hover {background-color: #f1f1f1;}
.moex-table-bottom {background: #f2f2f2; height: 15px;}
.sort-arrow {display: inline-block; margin-left: 5px; font-size: 11px; color: #888; line-height: 1;}

/* 4. КЛАССЫ СВЕТЛОЙ НОВОСТНОЙ ЛЕНТЫ INVESTING */
.rss-news-container {background-color: #fff; max-height: 300px; overflow-y: auto; box-sizing: border-box; background: none; padding: 5px 15px;}
.rss-title-text {margin: 0 0 10px 0; font-size: 13px; font-weight: bold; color: #000; text-align: center; border-bottom: 1px solid #ddd; padding-bottom: 6px; text-transform: uppercase;}
.rss-list {list-style: none; padding: 0; margin: 0;}
.rss-item {display: flex; align-items: center; padding: 4px 0; border-bottom: 1px solid #f2f2f2; font-size: 15px;}
.rss-item:last-child {border-bottom: none;}
.rss-date {color: #2962ff; font-weight: bold; margin-right: 12px; white-space: nowrap; font-size: 11px;}
.rss-link {color: #000; text-decoration: none; flex-grow: 1; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: color 0.1s ease;}
.rss-link:hover {color: #2962ff; text-decoration: underline;}
.rss-author {color: #333; font-size: 11px; margin-left: 15px; white-space: nowrap; background: #f2f2f2; padding: 2px 6px; border-radius: 4px;}

/*.live-currency-cross-rates-norus {height: 460px; border-radius: 8px; border: 1px solid #dfdfdf;}*/
.live-currency-cross-rates-norus {overflow: hidden; position: relative; height: 373px; border-top: 1px solid #eee;}
.live-currency-cross-rates-norus iframe {position: absolute; left: 0; top: -87px; width: 100%; height: calc(100% + 87px);}

.live-currency-cross-rates {display: flex; flex-wrap: wrap; gap: 0px; padding: 4px; border-top: 1px solid #eee;}

/*.live-currency-cross-rates_all {flex: 1 1 500px; height: 990px; border-radius: 8px; border: 1px solid #dfdfdf;}*/
.live-currency-cross-rates_all {flex: 1 1 500px; overflow: hidden; position: relative; height: 901px;}
.live-currency-cross-rates_all iframe {position: absolute; left: 0; top: -87px; width: 100%; height: calc(100% + 87px);}

/* 5. УЛЬТИМАТИВНЫЕ @MEDIA ЗАПРОСЫ ДЛЯ АДАПТИВНОСТИ ДАШБОРДА */
@media screen and (max-width: 1200px) { .news-block {flex: 1 1 100%; min-width: 100%;} .widget-main-chart {flex: 1 1 100%; height: 500px;} .widget-side-panel {flex: 1 1 100%; height: auto;} }
@media screen and (max-width: 768px) { body {padding: 5px;} .dashboard-grid {gap: 10px;} .widget-main-chart {height: 400px;} .rss-item {font-size: 13px;} .moex-table th, .moex-table td {padding: 6px; font-size: 12px;} }
