:root { --navy:#0b1f3a; --up:#16a34a; --down:#dc2626; --ref:#d4a106; --ceil:#a21caf; --floor:#0891b2; }
body { background:#f4f6fa; font-size: .95rem; }
.bg-navy { background: var(--navy); }
.brand-mark { background:#f5b301; color:var(--navy); border-radius:4px; padding:0 6px; font-weight:800; }
.lang-switch a { color:#adb5bd; text-decoration:none; font-weight:600; padding:0 4px; }
.lang-switch a.active { color:#fff; }
.index-strip { display:flex; gap:.75rem; overflow-x:auto; padding-bottom:.25rem; }
.index-card { min-width:170px; background:#fff; border-radius:8px; padding:.6rem .8rem; text-decoration:none; color:#222;
  box-shadow:0 1px 3px rgba(0,0,0,.08); border-left:4px solid var(--ref); }
.index-card.up { border-left-color:var(--up); } .index-card.down { border-left-color:var(--down); }
.index-name { font-size:.8rem; color:#6c757d; font-weight:600; }
.index-value { font-size:1.25rem; font-weight:700; }
.index-card.up .index-change, .up, tr.up .cur, .stock-head.up .quote-big { color:var(--up); }
.index-card.down .index-change, .down, tr.down .cur, .stock-head.down .quote-big { color:var(--down); }
.ref, tr.ref .cur, .stock-head.ref .quote-big { color:var(--ref); }
.ceil, tr.ceil .cur, .stock-head.ceil .quote-big { color:var(--ceil); }
.floor, tr.floor .cur, .stock-head.floor .quote-big { color:var(--floor); }
.quote-big .price { font-size:2rem; font-weight:800; margin-right:.5rem; }
.quote-big .chg { font-size:1.1rem; font-weight:600; }
.chart { height:320px; width:100%; } .chart-lg { height:440px; }
.board-wrap { background:#111827; border-radius:8px; }
table.board { font-variant-numeric: tabular-nums; margin-bottom:0; --bs-table-bg:#111827; }
table.board th { cursor:pointer; color:#9ca3af; font-weight:600; white-space:nowrap; position:sticky; top:0; background:#1f2937; }
table.board td { color:#e5e7eb; } table.board td.ref { color:var(--ref); } table.board td.ceil { color:#e879f9; } table.board td.floor { color:#22d3ee; }
table.board tr.up td.cur, table.board tr.up td.sym a { color:#4ade80; }
table.board tr.down td.cur, table.board tr.down td.sym a { color:#f87171; }
table.board tr.ref td.cur, table.board tr.ref td.sym a { color:#facc15; }
table.board tr.ceil td.cur, table.board tr.ceil td.sym a { color:#e879f9; }
table.board tr.floor td.cur, table.board tr.floor td.sym a { color:#22d3ee; }
table.board td.sym a { font-weight:700; text-decoration:none; }
table.board td.flash { background:#374151 !important; transition: background .6s; }
table.movers td { font-variant-numeric: tabular-nums; }
table.movers tr.up td:last-child, table.movers tr.ceil td:last-child { color:var(--up); }
table.movers tr.down td:last-child, table.movers tr.floor td:last-child { color:var(--down); }
.breadth .up { color:var(--up); } .breadth .down { color:var(--down); }
.news-compact a, .news-item a { color:#0b3d91; text-decoration:none; } .news-compact a:hover, .news-item a:hover { text-decoration:underline; }
.news-thumb { width:140px; height:90px; object-fit:cover; border-radius:6px; flex-shrink:0; }
.kv th { width:45%; color:#6c757d; font-weight:500; }
.article-body img { max-width:100%; height:auto; }
.footer { background:#e9edf3; }
.admin-sidebar { min-height:100vh; background:var(--navy); }
.admin-sidebar a { color:#cbd5e1; text-decoration:none; display:block; padding:.45rem 1rem; border-radius:6px; }
.admin-sidebar a.active, .admin-sidebar a:hover { background:#1e3a64; color:#fff; }
.status-OK { color:var(--up); font-weight:600; } .status-ERROR { color:var(--down); font-weight:600; }
textarea.code { font-family: ui-monospace, Consolas, monospace; font-size:.8rem; }
@media (max-width: 576px) { .news-thumb { width:90px; height:64px; } .quote-big .price { font-size:1.5rem; } }
