/* ============================================================
   mfl26.css - ROTC standalone site
   Ported from the MFL-hosted version at
   https://www.returnofthechampions.com/css/mfl26.css

   CHANGES FROM THE MFL VERSION:
   - Sections that only existed to fight MFL's own markup
     (hiding stock menu, restyling MFL's tab bar, hiding
     table.pageheader) are removed — there's no MFL chrome
     to hide here, this is your own HTML.
   - .report / .homepagemodule selectors kept and renamed to
     plain, semantic classes (.data-table, .card) since you
     control the markup now and don't need to match MFL's
     table class names.
   - Hero banner image/logo lockup is gone. The news carousel
     (#rotc-postcarousel) is now the full-width hero — see the
     note from Matteo: no banner, carousel goes edge to edge,
     tabs/colors stay muted rather than high-contrast.
   - Everything else (nav, footer, carousel, sidefeed) is a
     straight port — same class names, same behavior, so this
     stylesheet is a near-drop-in for the templates in ../templates.
   ============================================================ */

/* ---- 1. PALETTE TOKENS ------------------------------------ */
:root{
  --ink:    #2A1810;   /* darkest chrome: nav, footer */
  --ink-2:  #4A2312;   /* brown: links, secondary chrome */
  --accent: #E0531B;   /* orange: the one bright color */
  --paper:  #FDFBF7;   /* cream: page + odd rows */
  --card:   #FFFFFF;   /* white: cards + even rows */
  --sand:   #EFEAE2;   /* tint: hover + highlighted row */
  --line:   #E4DACE;   /* hairline divider */
  --muted:  #8A7A6C;   /* dates, secondary text */
  --on-ink: #FDFBF7;   /* text on dark chrome */
  --module-head:      #DCCFB2;
  --module-head-text: #1A1310;
  --radius: 14px;
}

/* ---- 2. TYPE + PAGE FRAME ---------------------------------- */
*{ box-sizing:border-box; }
body{
  font-family:"Roboto", Arial, sans-serif;
  color:var(--ink);
  background:var(--module-head);
  margin:0;
}
.page{ background:var(--paper); max-width:1400px; margin:0 auto; }
a{ color:var(--ink-2); text-decoration:none; }
a:hover{ color:var(--accent); }

/* ---- 3. SECTION HEADERS ------------------------------------
   Condensed, uppercase, bold, short accent underline.
   Applies to any card/module/report title. */
.card-title, .data-table caption{
  background:transparent;
  color:var(--ink);
  font-family:"Roboto Condensed", "Arial Narrow", sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:20px;
  text-align:left;
  padding:14px 4px 0 4px;
  margin:0;
}
.card-title::after, .data-table caption::after{
  content:"";
  display:block;
  width:52px;
  height:3px;
  background:var(--accent);
  margin:7px 0 10px 0;
}

/* ---- 4. CARD (was .homepagemodule) -------------------------- */
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  padding:0 12px 12px 12px;
  margin-bottom:18px;
}
.home-col{ vertical-align:top; padding:0 8px; }

/* ---- 5. DATA TABLE (was .report) ---------------------------- */
.data-table{
  width:100%;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius);
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
}
.data-table th{
  background:var(--module-head);
  color:var(--module-head-text);
  font-family:"Roboto Condensed", sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-size:11px;
  padding:8px 10px;
  border:0;
  text-align:left;
}
.data-table tr.odd td{  background:var(--card);  }
.data-table tr.even td{ background:var(--paper); }
.data-table td{
  border-bottom:1px solid var(--line);
  padding:8px 10px;
}
.data-table tr:hover td{ background:var(--sand); }
.data-table td.pwr{ font-family:"Roboto Condensed", sans-serif; font-weight:700; color:var(--accent); }
.data-table tr.my-franchise td{ background:var(--sand); box-shadow:inset 3px 0 0 var(--accent); }

/* Rosters page -- per-franchise tables sit in a multi-column card grid
   (as narrow as ~380px), so this is a deliberately tighter, fixed-layout
   variant of .data-table: table-layout:fixed + percentage column widths
   means content wraps within its column instead of ever forcing the
   table wider than its card (which is what caused Acquired to get
   clipped -- overflow-x:auto scroll was technically there but nobody
   found it). word-break on the Acquired/Player cells is the safety net
   for the rare very-long single token. */
.rotc-roster-table{ table-layout:fixed; width:100%; }
.rotc-roster-table th, .rotc-roster-table td{ padding:6px 5px; font-size:12px; overflow-wrap:break-word; word-break:break-word; }
.rotc-roster-table th{ font-size:10px; }
.rotc-roster-table td:first-child{ padding:4px 2px; text-align:center; }


@media (max-width:767px){
  .home-col{ display:block; width:100% !important; padding:0; }
  .card-title, .data-table caption{ font-size:17px; }
}

/* ---- 5b. TWO-COLUMN HOME LAYOUT ------------------------------
   Main column (hero + report cards) beside the sidebar
   (rotc-sidefeed). Matches the reference screenshot proportions. */
.home-grid{ display:grid; grid-template-columns:2fr 1fr; gap:20px; padding:20px; align-items:start; }
@media (max-width:900px){ .home-grid{ grid-template-columns:1fr; } }
/* Every built report page (rosters, free agents, standings, etc.) reuses
   .home-grid but only ever renders the <main>, no <aside> sidebar -- the
   2fr/1fr split was still reserving a blank 1/3 of the page for a
   sidebar that doesn't exist there, capping every report to ~66% of the
   available width regardless of screen size. Only the homepage
   (index.php) actually has two children (<main> + <aside
   class="home-sidebar">), so :only-child correctly targets every other
   page without touching per-page markup. */
.home-grid > .home-main:only-child{ grid-column: 1 / -1; }

/* ---- 6. NAV (rotc-nav) — unchanged from MFL version -------- */
.rotc-nav{ font-family:"Roboto",Arial,sans-serif; background:var(--ink); position:sticky; top:0; z-index:9999; }
.rotc-nav *{ box-sizing:border-box; }
.rotc-bar{ display:flex; align-items:center; gap:28px; max-width:none; margin:0; padding:0 20px; height:62px; }
.rotc-brand{ display:flex; align-items:center; text-decoration:none; flex:0 0 auto; }
.rotc-nav .rotc-brand .rotc-logo{ height:36px !important; width:auto !important; max-height:36px !important; max-width:140px !important; object-fit:contain; display:block; }

/* WhatsApp icon nav item -- replaces the old Social dropdown tree.
   Uses .rotc-top for consistent hover/padding but isn't a dropdown, so
   the mobile ::after "+" indicator (added for every .rotc-top at the
   mobile breakpoint below) needs to be suppressed on this one item. */
.rotc-whatsapp-link{ display:flex; align-items:center; justify-content:center; padding:20px 4px; color:rgba(253,251,247,.82); }
.rotc-whatsapp-link:hover{ color:#25D366; }
.rotc-whatsapp-link::after{ content:none !important; }

.rotc-burger{ display:none; }
.rotc-burger-btn{ display:none; margin-left:auto; color:var(--paper); font-size:26px; line-height:1; cursor:pointer; user-select:none; }
.rotc-menu{ list-style:none; display:flex; align-items:center; justify-content:space-between; flex:1; gap:10px; margin:0; padding:0; }
.rotc-item{ position:relative; }
.rotc-toggle{ display:none; }
.rotc-top{ display:block; font-family:"Roboto Condensed",sans-serif; font-weight:600; text-transform:uppercase; letter-spacing:.08em; font-size:14px; color:rgba(253,251,247,.82); padding:22px 4px; cursor:pointer; border-bottom:2px solid transparent; white-space:nowrap; transition:color .15s; }
.rotc-item:hover .rotc-top{ color:var(--paper); border-bottom-color:var(--accent); }
.rotc-login{ margin-left:0; }
.rotc-login .rotc-top{ color:var(--accent); }
.rotc-coach-pill{
  display:flex; align-items:center; gap:8px;
  padding:8px 16px !important;
  border-radius:999px;
  background:var(--accent);
  color:var(--on-ink) !important;
  border-bottom:none !important;
  text-transform:none;
  letter-spacing:normal;
  font-weight:600;
}
.rotc-coach-pill:hover{ background:#c8481a; color:var(--on-ink) !important; }
.rotc-coach-pill-helmet{ width:22px; height:22px; border-radius:50%; object-fit:cover; background:var(--paper); flex:none; }
@media (max-width:900px){
  .rotc-coach-pill{ padding:10px 16px !important; }
}
.rotc-sub{ list-style:none; margin:0; padding:6px; position:absolute; top:100%; left:0; width:240px; max-width:90vw; background:var(--card); border:1px solid var(--line); box-shadow:0 8px 20px rgba(42,24,16,.18); display:none; z-index:10000; box-sizing:border-box; overflow:hidden; }
.rotc-sub a{ overflow-wrap:break-word; word-break:break-word; display:block; padding:7px 10px; font-size:13px; color:var(--ink-2); }
.rotc-item:hover .rotc-sub{ display:block; }
.rotc-item.wide:hover .rotc-sub{ display:flex; }
.rotc-item.wide .rotc-sub{ width:480px; }
.rotc-sub-col{ list-style:none; margin:0; padding:0; flex:1 1 50%; min-width:0; }
.rotc-item:nth-child(n+4) .rotc-sub{ left:auto; right:0; }
.rotc-sub a:hover{ background:var(--sand); color:var(--accent); }
@media (max-width:1100px){
  .rotc-bar{ flex-wrap:wrap; height:auto; padding:10px 16px; }
  .rotc-burger-btn{ display:block; }
  .rotc-menu{ flex-direction:column; align-items:stretch; gap:0; width:100%; display:none; padding-top:6px; }
  .rotc-burger:checked ~ .rotc-bar .rotc-menu{ display:flex; }
  .rotc-item{ position:static; }
  .rotc-top{ padding:12px 4px; border-bottom:1px solid rgba(255,255,255,.12); }
  .rotc-item:hover .rotc-top{ border-bottom-color:rgba(255,255,255,.12); }
  .rotc-top::after{ content:"+"; float:right; color:var(--accent); font-weight:700; }
  .rotc-toggle:checked + .rotc-top::after{ content:"-"; }
  .rotc-sub{ position:static; display:none; border:0; box-shadow:none; background:rgba(255,255,255,.04); padding:0 0 6px 10px; width:auto; }
  .rotc-item:hover .rotc-sub{ display:none; }
  .rotc-item.wide:hover .rotc-sub{ display:none; }
  .rotc-toggle:checked ~ .rotc-sub{ display:block; }
  .rotc-item.wide .rotc-sub{ width:auto; }
  .rotc-sub-col{ flex:none; }
  .rotc-sub a{ color:var(--paper); }
  .rotc-sub a:hover{ background:rgba(224,83,27,.15); color:var(--accent); }
}

/* ---- 7. TAB BAR (was .myfantasyleague_tabmenu) --------------
   Your own tabs now, not MFL's — ghost style: pill-shaped outline,
   no solid fill. Active tab gets a ring instead of the old filled-
   pill look; plain markup instead of fighting MFL's #homepagetabs. */
.tab-bar{ background:var(--paper); border-bottom:1px solid var(--line); padding:10px 20px; }
.tab-bar ul{ display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:0; list-style:none; }
.tab-bar a{
  display:block;
  color:var(--ink-2);
  font-family:"Roboto Condensed", sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-size:12px;
  padding:9px 18px;
  border-radius:999px;
  border:1px solid transparent;
  transition:background .15s ease, color .15s ease, border-color .15s ease;
}
.tab-bar li:hover a{ background:var(--sand); color:var(--ink); }
.tab-bar li.current a{ background:transparent; color:var(--ink); border-color:var(--ink); }

/* ---- 8. MATCHUP TICKER (rotc-ticker) ------------------------
   Superseded — Matteo shared the real rotc-header.html source and the
   live ticker builds its own DOM at runtime with inline styles, not
   these classes. The guess below was wrong; see templates/matchup-ticker.php
   for the actual port. Nothing in this project references .rotc-ticker-*
   anymore — left deleted rather than kept as dead weight. */

/* ---- 9. HERO CAROUSEL (rotc-postcarousel) -------------------
   Full-width per Matteo's note — meaning it fills its own column
   edge to edge (no card border/padding like a boxed module), not
   that it spans behind the sidebar. Sits at the top of the main
   column, sidebar (rotc-sidefeed) sits beside it — see the
   two-column layout in home.php / .home-grid below. */
#rotc-postcarousel{ margin-bottom:18px; }
#rotc-postcarousel .rotc-pc-track{
  position:relative;
  height:clamp(280px, 28vw, 420px);
  overflow:hidden;
  background:var(--ink);
}
#rotc-postcarousel .rotc-pc-slide{
  position:absolute; inset:0;
  opacity:0; transition:opacity .4s;
  pointer-events:none;
}
#rotc-postcarousel .rotc-pc-slide.active{ opacity:1; pointer-events:auto; }
#rotc-postcarousel .rotc-pc-img{
  position:absolute; inset:0;
  background-size:cover; background-position:center center;
}
#rotc-postcarousel .rotc-pc-img::after{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(to left,
    rgba(30,12,4,.92) 0%,
    rgba(224,83,27,.85) 22%,
    rgba(224,83,27,.45) 50%,
    rgba(224,83,27,0) 78%);
}
#rotc-postcarousel .rotc-pc-body{
  position:absolute; top:0; bottom:0; right:0;
  width:min(56%, 560px);
  display:flex; flex-direction:column; justify-content:flex-end;
  padding:32px 40px; z-index:2;
}
#rotc-postcarousel .rotc-pc-meta{ font-size:12px; text-transform:uppercase; letter-spacing:.05em; color:rgba(255,255,255,.85); margin-bottom:8px; }
#rotc-postcarousel .rotc-pc-body h1{ margin:0 0 10px; font-family:"Roboto Condensed", sans-serif; font-weight:700; font-size:32px; line-height:1.15; color:#fff; }
#rotc-postcarousel .rotc-pc-body h1 a{ color:#fff; }
#rotc-postcarousel .rotc-pc-body h1 a:hover{ color:#FFD9C7; }
#rotc-postcarousel .rotc-pc-excerpt{ font-size:14px; line-height:1.5; color:rgba(255,255,255,.95); display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
#rotc-postcarousel .rotc-pc-arrow{
  position:absolute; top:50%; transform:translateY(-50%); z-index:3;
  background:rgba(0,0,0,.35); color:#fff; border:0; border-radius:50%;
  width:36px; height:36px; cursor:pointer; font-size:14px;
}
#rotc-postcarousel .rotc-pc-arrow:hover{ background:rgba(0,0,0,.6); }
#rotc-postcarousel .rotc-pc-prev{ left:16px; }
#rotc-postcarousel .rotc-pc-next{ right:16px; }
#rotc-postcarousel .rotc-pc-dots{ position:absolute; left:16px; bottom:18px; z-index:3; margin:0; }
#rotc-postcarousel .rotc-pc-dot{ width:7px; height:7px; border-radius:50%; display:inline-block; margin:0 4px 0 0; background:rgba(255,255,255,.5); cursor:pointer; }
#rotc-postcarousel .rotc-pc-dot.active{ background:#fff; }

/* ---- 10. SIDEBAR TABS (rotc-sidefeed) ----------------------- */
.rotc-sidefeed{
  background:var(--card); border:1px solid var(--line); border-radius:var(--radius);
  overflow:hidden; margin-bottom:18px; font-family:"Roboto", Arial, sans-serif;
}
.rotc-sidefeed-tabs{ display:flex; border-bottom:1px solid var(--line); background:var(--sand); }
.rotc-sidefeed-tab{
  flex:1; text-align:center; padding:12px 8px;
  font-weight:700; font-size:13px; letter-spacing:.03em; text-transform:uppercase;
  color:var(--muted); cursor:pointer; border-bottom:3px solid transparent;
  background:none; border-top:0; border-left:0; border-right:0; user-select:none;
}
.rotc-sidefeed-tab.active{ color:var(--ink); border-bottom-color:var(--accent); }
.rotc-sidefeed-panel{ display:none; padding:4px 0; }
.rotc-sidefeed-panel.active{ display:block; }
.rotc-sidefeed-item{ padding:10px 14px 12px; border-bottom:1px dashed var(--line); }
.rotc-sidefeed-item:last-child{ border-bottom:0; }
.rotc-sidefeed-item .tag{ font-size:11px; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); }
.rotc-sidefeed-item .title{ display:block; font-weight:700; font-size:13px; margin:2px 0 4px; color:var(--ink); }
.rotc-sidefeed-item .title:hover{ color:var(--accent); }
.rotc-sidefeed-item .desc{ font-size:12px; line-height:1.5; color:var(--muted); }

/* ---- 11. FOOTER (rotc-foot) — unchanged from MFL version --- */
.rotc-foot{ --fline:rgba(255,255,255,.12); --fmuted:#B7A99B; font-family:"Roboto",Arial,sans-serif; background:var(--ink); color:var(--paper); border-top:3px solid var(--accent); margin-top:24px; }
.rotc-foot *{ box-sizing:border-box; }
.rotc-foot-grid{ max-width:1200px; margin:0 auto; padding:32px 16px 20px; display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:28px; }
.rotc-foot h4{ font-family:"Roboto Condensed",sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:.06em; font-size:13px; margin:0 0 12px; color:var(--paper); }
.rotc-foot h4::after{ content:""; display:block; width:36px; height:3px; background:var(--accent); margin-top:6px; }
.rotc-foot-brand b{ display:block; font-family:"Roboto Condensed",sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:.04em; font-size:19px; line-height:1.1; }
.rotc-foot-brand b span{ color:var(--accent); }
.rotc-foot-brand p{ color:var(--fmuted); font-size:13px; line-height:1.6; margin:8px 0 0; max-width:34ch; }
.rotc-foot ul{ list-style:none; margin:0; padding:0; }
.rotc-foot li{ margin:0 0 8px; }
.rotc-foot a{ color:var(--paper); font-size:13px; }
.rotc-foot a:hover{ color:var(--accent); }
.rotc-foot-group + .rotc-foot-group{ margin-top:22px; }
.rotc-foot-bar{ border-top:1px solid var(--fline); }
.rotc-foot-bar div{ max-width:1200px; margin:0 auto; padding:14px 16px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:12px; color:var(--fmuted); }
.rotc-foot-bar a{ font-size:12px; color:var(--fmuted); }
.rotc-foot-bar a:hover{ color:var(--accent); }
@media (max-width:760px){ .rotc-foot-grid{ grid-template-columns:1fr; gap:22px; } }

/* Collapsible conference/division groups on transactions/rosters.php.
   Native <details>/<summary> needs no JS; this just hides the default
   marker (styled differently per-browser) in favor of one custom arrow
   glyph that rotates via the [open] attribute selector. */
.rotc-division-group > summary { user-select: none; }
.rotc-division-group > summary::-webkit-details-marker { display: none; }
.rotc-division-group > summary::marker { content: ''; }
.rotc-division-group .rotc-details-arrow { display: inline-block; transition: transform .15s ease; }
.rotc-division-group[open] > summary .rotc-details-arrow { transform: rotate(90deg); }

/* Fixed 2-per-row grid for roster cards within a division (rather than
   auto-fit, which let 3-4 narrow cards pack into a row on wide screens
   and forced the roster table inside each one to word-wrap). Two cards
   gives each table enough width for its columns; collapses to a single
   column on narrow viewports so it still respects small screens. */
.rotc-roster-division-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:12px; }
@media (max-width:900px){ .rotc-roster-division-grid{ grid-template-columns:1fr; } }

/* Front-page "newspaper" recap: hero (Game of the Week) + hub (every
   other matchup that week) — see includes/weekly-recap.php and
   templates/weekly-recap-hub.php. News-homepage layout: one big
   focal story (headline + a large helmet standing in for a hero
   photo) up top, then a two-column grid of smaller story rows below
   it, each pairing a category tag + headline + blurb with a small
   helmet thumbnail, matching a classic news-hub front page. Kept
   inside the existing .card wrapper on index.php, so no card border/
   radius/background repeated here, just the internal layout. */
.rotc-recap-hero{ display:flex; gap:24px; align-items:center; padding-bottom:20px; border-bottom:1px solid var(--line); margin-bottom:6px; flex-wrap:wrap; }
.rotc-recap-hero-media{ flex:0 0 auto; }
.rotc-recap-hero-helmet{ width:150px; height:150px; object-fit:contain; display:block; }
.rotc-recap-hero-body{ flex:1 1 320px; min-width:240px; }
.rotc-recap-kicker{ font-family:"Roboto Condensed", sans-serif; text-transform:uppercase; letter-spacing:.08em; font-size:12px; color:var(--accent); font-weight:700; margin-bottom:6px; }
.rotc-recap-headline{ font-family:"Roboto Condensed", sans-serif; text-transform:uppercase; font-size:28px; line-height:1.15; margin:0 0 8px; color:var(--ink); }
.rotc-recap-byline{ font-family:"Roboto Condensed", sans-serif; text-transform:uppercase; letter-spacing:.03em; font-size:12px; color:var(--muted); margin-bottom:10px; }
.rotc-recap-blurb{ font-size:15px; line-height:1.55; margin:0; }
.rotc-recap-card-kicker{ font-family:"Roboto Condensed", sans-serif; text-transform:uppercase; letter-spacing:.06em; font-size:11px; color:var(--accent); font-weight:700; margin-bottom:4px; }
.rotc-recap-blurb .rotc-player-hover{ border-bottom:1px dotted var(--muted); }

/* Interactive hub: primary article left, plain text "more stories"
   list right -- clicking a list item swaps which article is shown in
   the primary spot (JS in templates/weekly-recap-hub.php), same shape
   as a classic news-hub front page. Every article is pre-rendered and
   just hidden/shown, so switching stories is instant, no reload. */
.rotc-recap-hub-wrap{ display:grid; grid-template-columns:2fr 1fr; column-gap:32px; align-items:start; margin-top:6px; }
.rotc-recap-list{ display:flex; flex-direction:column; border-top:1px solid var(--line); }
.rotc-recap-list-item{ display:flex; flex-direction:column; gap:2px; text-align:left; background:none; border:none; border-bottom:1px solid var(--line); padding:12px 4px; cursor:pointer; font-family:inherit; }
.rotc-recap-list-item:hover{ background:var(--sand); }
.rotc-recap-list-item.active{ background:var(--sand); box-shadow:inset 3px 0 0 var(--accent); }
.rotc-recap-list-kicker{ font-family:"Roboto Condensed", sans-serif; text-transform:uppercase; letter-spacing:.06em; font-size:10px; color:var(--accent); font-weight:700; }
.rotc-recap-list-headline{ font-family:"Roboto Condensed", sans-serif; text-transform:uppercase; font-size:14px; line-height:1.25; color:var(--ink); }
.rotc-recap-list-score{ font-size:12px; color:var(--muted); }
@media (max-width:900px){ .rotc-recap-hub-wrap{ grid-template-columns:1fr; } }
@media (max-width:600px){ .rotc-recap-hero{ flex-direction:column; align-items:flex-start; } .rotc-recap-hero-helmet{ width:110px; height:110px; } .rotc-recap-headline{ font-size:22px; } }

/* Sidebar "Top Adds/Drops" tab (templates/sidefeed.php, replacing the
   dead Videos tab) -- compact trending-player rows: logo, hoverable
   name, position, trend percent. */
.rotc-trending-group{ padding:6px 14px 10px; }
.rotc-trending-heading{ font-family:"Roboto Condensed", sans-serif; text-transform:uppercase; letter-spacing:.05em; font-size:11px; color:var(--muted); margin:6px 0 4px; }
.rotc-trending-row{ display:flex; align-items:center; gap:6px; padding:4px 0; border-bottom:1px dashed var(--line); font-size:12px; }
.rotc-trending-row:last-child{ border-bottom:0; }
.rotc-trending-name{ flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:600; }
.rotc-trending-pos{ color:var(--muted); flex:0 0 auto; }
.rotc-trending-pct{ color:var(--accent); font-weight:700; flex:0 0 auto; }

/* Owner login (login.php) + Franchise action pages (franchise/submit-
   lineup.php, drop-player.php, offer-trade.php, survivor-pick.php,
   pool-pick.php, trade-bait.php's submit form) -- shared form chrome
   so every write-action page looks/feels consistent. See
   includes/mfl-auth.php for the real login this all sits on top of. */
.rotc-login-main{ width:100%; max-width:440px; margin:0 auto; }
.rotc-login-blurb{ font-size:13px; color:var(--muted); margin-top:0; line-height:1.5; }
.rotc-login-error{ color:#b3261e; font-weight:600; background:#fbe9e7; border:1px solid #f3c8c2; border-radius:8px; padding:10px 12px; }
.rotc-login-success{ color:#1b5e20; font-weight:600; background:#e8f5e9; border:1px solid #c3e6c5; border-radius:8px; padding:10px 12px; }
.rotc-login-form{ display:flex; flex-direction:column; gap:10px; }
.rotc-login-form label{ font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); }
.rotc-login-form input[type="text"],
.rotc-login-form input[type="password"]{ padding:9px 10px; border:1px solid var(--line); border-radius:8px; font-size:14px; }

.rotc-btn{ align-self:flex-start; padding:9px 18px; border-radius:8px; background:var(--accent); color:var(--on-ink); border:none; font-weight:700; font-size:14px; cursor:pointer; font-family:"Roboto Condensed", sans-serif; text-transform:uppercase; letter-spacing:.03em; }
.rotc-btn:hover{ opacity:.9; }
.rotc-btn-danger{ background:#b3261e; }

.rotc-inline-form{ display:flex; align-items:center; gap:8px; margin:10px 0 14px; font-size:13px; }
.rotc-inline-form select{ padding:6px 8px; border:1px solid var(--line); border-radius:8px; }

.rotc-lineup-form{ display:flex; flex-direction:column; gap:14px; }
.rotc-lineup-table{ width:100%; border-collapse:collapse; font-size:13px; }
.rotc-lineup-table th{ text-align:left; text-transform:uppercase; font-size:11px; letter-spacing:.04em; color:var(--muted); border-bottom:1px solid var(--line); padding:6px 8px; }
.rotc-lineup-table td{ padding:6px 8px; border-bottom:1px solid var(--line); }
.rotc-lineup-table tr:hover td{ background:var(--sand); }

.rotc-trade-columns{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
@media (max-width:700px){ .rotc-trade-columns{ grid-template-columns:1fr; } }
.rotc-trade-col-head{ font-family:"Roboto Condensed", sans-serif; text-transform:uppercase; font-size:14px; margin:0 0 8px; }
.rotc-trade-player{ display:block; padding:4px 0; font-size:13px; }
.rotc-pending-trade{ border:1px solid var(--line); border-radius:var(--radius); padding:12px 16px; margin:0 0 14px; background:var(--card); }
.rotc-pending-trade p{ margin:4px 0; font-size:14px; }
.rotc-trade-bait-players{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:2px 12px; }

.rotc-pool-matchup{ display:flex; align-items:center; gap:14px; padding:8px 0; border-bottom:1px solid var(--line); font-size:13px; }
.rotc-pool-matchup span{ flex:0 0 110px; font-weight:700; }
.rotc-pool-matchup label{ display:flex; align-items:center; gap:4px; }

/* "Open an Auction" -- listed in the Franchise menu per Matteo's call
   even while inactive (no live auction running), styled shadowy/muted
   rather than removed so owners know it exists without it looking
   like a normal live link. */
a.rotc-nav-inactive{ color:#8a7a6c99 !important; font-style:italic; cursor:default; }
a.rotc-nav-inactive:hover{ color:#8a7a6c99 !important; }

/* franchise/index.php soft-landing grid of action cards. */
.rotc-franchise-actions{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:14px; margin-top:10px; }
.rotc-franchise-action{ display:flex; flex-direction:column; gap:4px; border:1px solid var(--line); border-radius:var(--radius); padding:14px; }
.rotc-franchise-action:hover{ background:var(--sand); }
.rotc-franchise-action-title{ font-family:"Roboto Condensed", sans-serif; text-transform:uppercase; font-weight:700; font-size:14px; color:var(--ink); }
.rotc-franchise-action-desc{ font-size:12px; color:var(--muted); }
a.rotc-franchise-action.rotc-nav-inactive .rotc-franchise-action-title,
a.rotc-franchise-action.rotc-nav-inactive .rotc-franchise-action-desc{ color:#8a7a6c99 !important; }

/* Submit Lineup table (franchise/submit-lineup.php) -- section header
   rows double as the horizontal divider between position groups (QB,
   RB, WR, TE, DL, LB, DB), via a heavier top border + module-head
   background rather than a separate <hr>. */
.rotc-lineup-section-row td{ background:var(--module-head); color:var(--module-head-text); font-family:"Roboto Condensed", sans-serif; text-transform:uppercase; letter-spacing:.05em; font-size:12px; font-weight:700; padding:6px 8px; border-top:2px solid var(--ink); }
.rotc-lineup-table td, .rotc-lineup-table th{ white-space:nowrap; }

/* Transactions Report Type column pills (transactions/transactions.php). */
.rotc-txn-pill{ display:inline-block; padding:2px 10px; border-radius:999px; font-family:"Roboto Condensed", sans-serif; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; background:var(--sand); color:var(--ink); }
.rotc-pill-drop{ background:#fbe9e7; color:#b3261e; }
.rotc-pill-add{ background:#e8f5e9; color:#1b5e20; }
.rotc-pill-swap{ background:#fff3e0; color:#8a5a00; }
.rotc-pill-trade{ background:#e3f2fd; color:#0d47a1; }

/* League History records hub (history/index.php) -- sidebar + panel
   layout instead of one long stack of cards. Sidebar lists every
   category up front (nothing hidden below the fold) and uses the
   horizontal space a single stretched column was wasting; JS toggles
   which panel is visible, no page reload. */
.rotc-history-layout{ display:flex; gap:20px; align-items:flex-start; }
.rotc-history-nav{ flex:0 0 210px; position:sticky; top:16px; display:flex; flex-direction:column; gap:4px; background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:10px; }
.rotc-history-nav button{
  display:block; width:100%; text-align:left; background:transparent; border:none;
  font-family:"Roboto Condensed", sans-serif; font-weight:700; text-transform:uppercase;
  letter-spacing:.04em; font-size:12.5px; color:var(--ink-2); padding:10px 12px;
  border-radius:8px; cursor:pointer; transition:background .15s ease, color .15s ease;
}
.rotc-history-nav button:hover{ background:var(--sand); color:var(--ink); }
.rotc-history-nav button.active{ background:var(--ink); color:var(--on-ink); }
.rotc-history-content{ flex:1; min-width:0; }
.rotc-history-panel{ }
.rotc-history-panel h3{ margin-top:22px; }
.rotc-history-panel h3:first-child{ margin-top:0; }
.data-table tr.rotc-history-row-latest td{
  background: linear-gradient(90deg, rgba(224,83,27,0.14), rgba(224,83,27,0.04));
  box-shadow: inset 3px 0 0 var(--accent);
  font-weight:600;
}
.rotc-history-crown{ margin-right:2px; }
@media (max-width:800px){
  .rotc-history-layout{ flex-direction:column; }
  .rotc-history-nav{ position:static; flex-direction:row; flex-wrap:wrap; }
  .rotc-history-nav button{ width:auto; }
}
