/* Legacy utility classes still referenced across the views.
   Globals (body, font-family, link hover, .box, h1/h2) have been moved
   into modern_base.css. Only keep targeted helpers here. */

/* Headlines — keep size/weight, font-family inherits from modern_base. */
.headline1 { font-size: 30px; font-weight: 800; }
.headline2 { font-size: 20px; font-weight: 700; padding-left: 5px; }

/* Layout helpers */
.separator        { margin: 10px 0; }
.clear            { clear: both; }
.frame_left       { float: left; margin: -4px 0 -9px -5px; }
.frame_right      { float: left; margin: -4px 0 -9px 0; }
.frame_bottom     { clear: both; }
.float_left       { float: left; padding-right: 15px; margin-bottom: 15px; }
.float_right      { position: relative; left: 136px; }
.floatright       { float: right; }
.align_right,
td.align_right    { text-align: right; padding-right: 15px; }
.third            { width: 200px; padding-right: 20px; }

/* Inline status colors */
.green            { color: #16a34a; font-weight: 600; }
.red              { color: #dc2626; font-weight: 600; }
.lightGreen       { color: #00b900; }
.attention        { color: #dc2626; }
.warning          { color: #f97316; }
.info             { color: #16a34a; }
#green            { color: #16a34a; }
#red              { color: #dc2626; }

/* Rails form errors */
.fieldWithErrors  { padding: 2px; background-color: #fee2e2; display: table; }
#ErrorExplanation {
  width: 400px; max-width: 100%; border: 2px solid #dc2626;
  padding: 7px 7px 12px; margin-bottom: 20px; background-color: #fef2f2;
  border-radius: 8px;
}
#ErrorExplanation h2 {
  text-align: left; font-weight: bold; padding: 5px 5px 5px 15px;
  font-size: var(--fs-label); margin: -7px; background-color: #dc2626; color: #fff;
}
#ErrorExplanation p  { color: #333; margin-bottom: 0; padding: 5px; }
#ErrorExplanation ul li { font-size: var(--fs-label); list-style: square; }

/* Tables: column/row helpers */
table th               { text-align: left; }
th.right               { text-align: right; }
th.center              { text-align: center; }
table.results tr       { height: 25px; }
.firstrow              { padding-left: 10px; }
th.competition         { padding-left: 50px; }

table.rankingTable     { width: 100%; border-collapse: collapse; }
table.rankingTable th  { padding-left: 5px; }
table.rankingTeam      { width: 40%; }
table.bet              { width: 30%; }
table.runningComps     { width: 40%; }
table.infoTable        { width: 525px; max-width: 100%; }
table.OneTwoX          { width: 500px; max-width: 100%; }

table.infoTable td,
table.bet td {
  padding: 3px 5px; line-height: normal; width: 50%;
}

table tr.tablerowcolor1 { background-color: #f1f5f9; }
table tr.tablerowcolor2 { background-color: #e2e8f0; }
table tr.space          { height: 15px; }
tr.empty                { height: 20px; }

td.decimal              { text-align: right; padding-right: 10px; }
td.acronym              { padding-right: 10px; }
td.acronym a            { text-decoration: none; }
td.statsLink            { width: 250px; padding-left: 5px; }
td.statsLink a          { text-decoration: none; color: var(--text-primary, #1e293b); }
td.statsLink a:hover    { font-weight: 700; }
td.bet-name a           { text-decoration: none; color: var(--text-primary, #1e293b); }
td.bet-name a:hover     { font-weight: 700; }
td.OG                   { text-align: right; padding-right: 10px; width: 5%; }
td.ranking,
th.ranking              { width: 30px; padding-right: 10px; text-align: right; }
td.position             { font-size: 25px; line-height: normal; padding-left: 10px; }
td.profit               { text-align: right; padding: 0 20px; }
td.activateNews         { width: 100px; }
td.profitranking_space  { padding: 0 20px; }
td.betsRanking          { width: 10px; }
td.betsProgress         { width: 40px; }
.activateNewsButton     { vertical-align: middle; }

table.bonusAllocation       { width: auto; }
table.bonusAllocation tr    { border-bottom: 1px dotted #cbd5e1; }
table.profitranks           { width: auto; }
table.profitranks th        { padding: 0 10px; text-align: right; }
table.profitranks td        { padding: 0 10px; }
table.profitranks td #profitrank_fraction { width: 80px; text-align: right; }

/* Competition headers (admin views) */
.competitionPreHeader  { font-size: var(--fs-label); font-weight: 700; padding-top: 10px; }
.competitionHeader     { font-size: var(--fs-ui); padding-top: 10px; clear: both; float: left; }
.competitionTime       { padding: 12px 0 5px 10px; float: left; }
div.competition_description { margin-top: 10px; font-weight: bold; }
div.preInfosFor        { width: 260px; float: left; margin-right: 10px; }
div.infosFor           { font-size: var(--fs-title); font-weight: 700; margin: 15px 0; }
div.infosFor a         { text-decoration: none; }

/* Tabs */
div.activeTab a, span.activeTab a {
  color: #0f172a; font-weight: 700; text-decoration: none;
}
div.activeTab a:hover, span.activeTab a:hover { color: #2563eb; }
div.activeTab          { margin-left: 4px; }
span.activeTab         { margin: 10px; }

/* Misc */
.tabspace              { width: 120px; }
.updateInstanceButton  { float: right; }
.submitButton input    { margin-top: 10px; text-align: right; }
.inst_header           { padding: 7px 0 0 10px; font-weight: bold; }
ol.rules li            { padding: 3px 0; }
h3.runningComps        { margin: 5px 0; }
div.header             { margin-top: 20px; }
img                    { border: none; }
a.logo:hover           { background: transparent; }
div.instanceTag        { float: right; }
div.instanceTag a:hover { background: transparent; }
span.quotes            { padding-right: 10px; }

pre {
  background-color: #f1f5f9;
  padding: 10px;
  font-size: var(--fs-label);
  border-radius: 6px;
}

/* News box (homepage blog list) */
div.news_box {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 12px;
  margin-bottom: 10px;
}

/* Whitebox / posting / innerbox — used in blog/posting widgets */
.whitebox, div.posting, div.innerbox {
  background-color: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 10px;
  margin-bottom: 10px;
}
b.innerboxtitle        { padding-top: 15px; }

/* Progress bar (legacy upload widget) */
div.uploadStatus, div.progressBar { margin: 5px; }
div.progressBar div.border     { background: #fff; border: 1px solid #cbd5e1; border-radius: 4px; width: 100%; }
div.progressBar div.background { background: #2563eb; height: 18px; width: 0%; border-radius: 4px; }

/* Menus (admin) */
div.menu, div.submenu { margin-left: 10px; padding: 13px 0 10px; }
div.menu span, div.submenu span { margin: 5px; font-size: var(--fs-body); }
