/*
 * NebraOT Modern UI V3 corrective layer
 * Fixes oversized legacy blocks, low contrast and the remaining old-looking widgets.
 * Visual only: no form names, links, routes, permissions, queries or game logic are changed.
 */

:root {
  --nebra-v3-panel: rgba(13, 10, 8, .90);
  --nebra-v3-panel-2: rgba(24, 16, 13, .92);
  --nebra-v3-line: rgba(235, 184, 84, .28);
  --nebra-v3-gold: #f0bf64;
  --nebra-v3-gold-soft: #ffe2a5;
  --nebra-v3-text: #f4eadc;
  --nebra-v3-muted: #c4ad91;
  --nebra-v3-red: #7a2116;
}

/* ========================================================================== 
   1. REMOVE THE ARTIFICIAL GIANT EMPTY AREAS
   ========================================================================== */

/* V2 inherited the old Tibia min-height from generic boxes. Do not force it. */
body.nebra-v2-ready .Content .BoxContent {
  min-height: 0 !important;
  height: auto !important;
}

/* The ticker is intentionally compact. */
body.nebra-v2-ready .Content #newsticker .BoxContent,
body.nebra-v2-ready .Content #NewsTicker .BoxContent {
  min-height: 0 !important;
  height: auto !important;
  padding: 10px 12px !important;
  background-image: none !important;
}

/* Critical legacy fix: basic.css gives captions height:100%. On modernized tables
   that can turn a 40px caption into a screen-sized red rectangle. */
body.nebra-v2-ready .TableContainer .CaptionContainer,
body.nebra-v2-ready .TableContainer .CaptionContainer .CaptionInnerContainer {
  height: auto !important;
  min-height: 0 !important;
}

body.nebra-v2-ready .TableContainer .CaptionContainer {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(235,184,84,.18) !important;
  border-radius: 11px 11px 0 0 !important;
  background: linear-gradient(90deg, rgba(60,20,14,.98), rgba(31,17,13,.96)) !important;
  overflow: hidden !important;
}

body.nebra-v2-ready .TableContainer .CaptionContainer .CaptionInnerContainer {
  display: flex !important;
  align-items: center !important;
  box-sizing: border-box !important;
  padding: 9px 12px !important;
  background: transparent !important;
}

body.nebra-v2-ready .TableContainer .CaptionContainer .Text {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 18px !important;
  color: #ffe0a0 !important;
  font: 800 12px/18px Inter, "Segoe UI", Arial, sans-serif !important;
  letter-spacing: .18px !important;
}

/* Reset old full-height table wrappers and old beige surfaces. */
body.nebra-v2-ready .TableContainer .Table1,
body.nebra-v2-ready .TableContainer .Table2,
body.nebra-v2-ready .TableContainer .Table3,
body.nebra-v2-ready .TableContainer .Table4,
body.nebra-v2-ready .TableContainer .Table5 {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-collapse: collapse !important;
  background: transparent !important;
}

body.nebra-v2-ready .TableContainer .InnerTableContainer {
  position: relative !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 9px !important;
}

body.nebra-v2-ready .TableContentContainer {
  box-sizing: border-box !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(235,184,84,.14) !important;
  border-radius: 9px !important;
  background: rgba(10,8,7,.44) !important;
  overflow: auto !important;
}

body.nebra-v2-ready .TableContainer {
  height: auto !important;
  min-height: 0 !important;
  margin: 10px 0 !important;
  border: 1px solid rgba(235,184,84,.23) !important;
  border-radius: 12px !important;
  background: linear-gradient(155deg, rgba(23,16,13,.92), rgba(12,9,8,.94)) !important;
  overflow: hidden !important;
}

/* Remove invisible old frame pieces that still reserve space in a few templates. */
body.nebra-v2-ready .TableContainer .CaptionEdgeLeftTop,
body.nebra-v2-ready .TableContainer .CaptionEdgeRightTop,
body.nebra-v2-ready .TableContainer .CaptionEdgeLeftBottom,
body.nebra-v2-ready .TableContainer .CaptionEdgeRightBottom,
body.nebra-v2-ready .TableContainer .CaptionBorderTop,
body.nebra-v2-ready .TableContainer .CaptionBorderBottom,
body.nebra-v2-ready .TableContainer .CaptionVerticalLeft,
body.nebra-v2-ready .TableContainer .CaptionVerticalRight,
body.nebra-v2-ready .TableShadowContainer,
body.nebra-v2-ready .TableShadowContainerRightTop,
body.nebra-v2-ready .TableBottomShadow {
  display: none !important;
}

/* ========================================================================== 
   2. READABILITY / CONTRAST
   ========================================================================== */

body.nebra-v2-ready .Content .BoxContent {
  color: var(--nebra-v3-text) !important;
  background:
    radial-gradient(circle at 92% -15%, rgba(134,40,24,.10), transparent 30%),
    linear-gradient(180deg, rgba(18,13,11,.88), rgba(10,8,7,.90)) !important;
}

body.nebra-v2-ready .Content .BoxContent p,
body.nebra-v2-ready .Content .BoxContent li,
body.nebra-v2-ready .Content .BoxContent td,
body.nebra-v2-ready .Content .BoxContent th,
body.nebra-v2-ready .Content .BoxContent label,
body.nebra-v2-ready .Content .BoxContent .Text,
body.nebra-v2-ready .Content .BoxContent .LabelV,
body.nebra-v2-ready .Content .BoxContent .LabelV80,
body.nebra-v2-ready .Content .BoxContent .LabelV100,
body.nebra-v2-ready .Content .BoxContent .LabelV120,
body.nebra-v2-ready .Content .BoxContent .LabelV150,
body.nebra-v2-ready .Content .BoxContent .LabelV175,
body.nebra-v2-ready .Content .BoxContent .LabelV200,
body.nebra-v2-ready .Content .BoxContent .LabelV250,
body.nebra-v2-ready .Content .BoxContent .ff_info,
body.nebra-v2-ready .Content .BoxContent .ff_infotext,
body.nebra-v2-ready .Content .BoxContent .ff_smallinfo,
body.nebra-v2-ready .Content .BoxContent .ff_large,
body.nebra-v2-ready .Content .BoxContent .ff_pagetext {
  color: var(--nebra-v3-text) !important;
}

body.nebra-v2-ready .Content .BoxContent .grey,
body.nebra-v2-ready .Content .BoxContent .ff_pagetextgrey,
body.nebra-v2-ready .Content .BoxContent small {
  color: var(--nebra-v3-muted) !important;
}

/* Preserve semantic status colors while making them readable on dark panels. */
body.nebra-v2-ready .Content .red,
body.nebra-v2-ready .Content .ff_red { color: #ff897a !important; }
body.nebra-v2-ready .Content .green,
body.nebra-v2-ready .Content .ff_green { color: #8de4a4 !important; }
body.nebra-v2-ready .Content .yellow { color: #ffe38a !important; }
body.nebra-v2-ready .Content .orange { color: #ffc27b !important; }
body.nebra-v2-ready .Content .white,
body.nebra-v2-ready .Content .ff_white { color: #fff7e9 !important; }

body.nebra-v2-ready .Content a,
body.nebra-v2-ready .Content a:link,
body.nebra-v2-ready .Content a:visited {
  color: #ffd98a !important;
}
body.nebra-v2-ready .Content a:hover { color: #fff1bf !important; }

/* Legacy bgcolor rows become neutral instead of large red/brown slabs. */
body.nebra-v2-ready .Content table[bgcolor],
body.nebra-v2-ready .Content td[bgcolor],
body.nebra-v2-ready .Content tr[bgcolor] > td {
  background-color: rgba(26,18,14,.82) !important;
}

body.nebra-v2-ready .TableContent td,
body.nebra-v2-ready .TableContainer td {
  background-clip: padding-box !important;
}

body.nebra-v2-ready .LabelH,
body.nebra-v2-ready .LabelH td,
body.nebra-v2-ready .Content th {
  background: rgba(75,25,17,.74) !important;
  color: #ffe2a5 !important;
}

body.nebra-v2-ready .Odd { background: rgba(255,255,255,.022) !important; }
body.nebra-v2-ready .Even { background: rgba(255,255,255,.045) !important; }

/* ========================================================================== 
   3. NEWS TICKER - COMPACT MODERN PANEL
   ========================================================================== */

body.nebra-v2-ready .Content #newsticker {
  margin-bottom: 14px !important;
  border: 1px solid rgba(235,184,84,.28) !important;
  border-radius: 15px !important;
  overflow: hidden !important;
  background: linear-gradient(160deg, rgba(18,13,11,.94), rgba(10,8,7,.94)) !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.32) !important;
}

body.nebra-v2-ready .Content #newsticker > img.Title,
body.nebra-v2-ready .Content #newsticker > .BorderTitleText,
body.nebra-v2-ready .Content #newsticker > .Corner-tl,
body.nebra-v2-ready .Content #newsticker > .Corner-tr,
body.nebra-v2-ready .Content #newsticker > .CornerWrapper-b,
body.nebra-v2-ready .Content #newsticker > .Border_1 {
  display: none !important;
}

body.nebra-v2-ready .Content #newsticker::before {
  content: 'Noticias rápidas';
  display: block;
  box-sizing: border-box;
  padding: 11px 14px;
  border-bottom: 1px solid rgba(235,184,84,.18);
  color: #ffe1a0;
  background: linear-gradient(90deg, rgba(74,24,16,.90), rgba(28,16,12,.94));
  font: 800 13px/1.2 Inter, "Segoe UI", Arial, sans-serif;
  letter-spacing: .25px;
}

body.nebra-v2-ready .Content #newsticker > .Border_2,
body.nebra-v2-ready .Content #newsticker > .Border_2 > .Border_3 {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

body.nebra-v2-ready .Content #newsticker .Row {
  margin: 0 0 6px !important;
}
body.nebra-v2-ready .Content #newsticker .Row:last-child { margin-bottom: 0 !important; }

body.nebra-v2-ready .Content #newsticker .Row > .Odd,
body.nebra-v2-ready .Content #newsticker .Row > .Even {
  position: relative;
  min-height: 32px;
  padding: 7px 34px 7px 7px !important;
  border: 1px solid rgba(235,184,84,.10);
  border-radius: 8px;
  background: rgba(255,255,255,.026) !important;
}

body.nebra-v2-ready .Content #newsticker .NewsTickerText {
  margin-left: 24px !important;
  color: var(--nebra-v3-text) !important;
  font-size: 11px !important;
}
body.nebra-v2-ready .Content #newsticker .NewsTickerDate {
  position: relative !important;
  top: auto !important;
  float: none !important;
  display: inline-block;
  min-width: 82px;
  margin-right: 7px;
  color: #efc36e !important;
  font-size: 10px !important;
  font-weight: 800;
}
body.nebra-v2-ready .Content #newsticker .NewsTickerShortText {
  display: inline !important;
  margin-left: 0 !important;
  height: auto !important;
  color: #e9ddcf !important;
}
body.nebra-v2-ready .Content #newsticker .NewsTickerExtend {
  right: 7px !important;
  top: 8px !important;
  opacity: .75;
}

/* ========================================================================== 
   4. LEFT LOGIN CARD - REMOVE DUPLICATED OLD IMAGE TEXT
   ========================================================================== */

body.nebra-v2-ready #LoginstatusText_2,
body.nebra-v2-ready #LoginstatusText_2_1,
body.nebra-v2-ready #LoginstatusText_2_2 {
  background-image: none !important;
}
body.nebra-v2-ready #LoginstatusText_2_1,
body.nebra-v2-ready #LoginstatusText_2_2 {
  display: none !important;
}
body.nebra-v2-ready #LoginstatusText_2 {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 28px !important;
  overflow: hidden !important;
}
body.nebra-v2-ready .NebraLoginStatusText {
  width: 100%;
  min-height: 28px;
  color: #ead9c0 !important;
  font-size: 10px !important;
}

/* ========================================================================== 
   5. ACCOUNT PAGES - CLEANER, DENSER, EASY TO READ
   ========================================================================== */

body.nebra-page-accountmanagement .Content .BoxContent,
body.nebra-page-accountmanage .Content .BoxContent {
  padding: 18px !important;
}

body.nebra-page-accountmanagement .TableContainer,
body.nebra-page-accountmanage .TableContainer {
  margin: 12px 0 16px !important;
}

body.nebra-page-accountmanagement .AccountStatusImage,
body.nebra-page-accountmanage .AccountStatusImage {
  max-width: 100% !important;
  height: auto !important;
  border-radius: 8px;
}

body.nebra-page-accountmanagement #LoginFormButtonCell,
body.nebra-page-accountmanage #LoginFormButtonCell {
  width: 148px !important;
  min-width: 148px !important;
  vertical-align: middle !important;
}

/* Forms stay compact instead of stretching vertically with legacy wrappers. */
body.nebra-page-accountmanagement form,
body.nebra-page-accountmanage form {
  min-height: 0 !important;
}

/* ========================================================================== 
   6. RIGHT HIGHSCORES WIDGET - REMOVE LAST OBVIOUSLY OLD TIBIA SKIN
   ========================================================================== */

body.nebra-v2-ready #Themeboxes #Topbar {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 190px !important;
  height: auto !important;
  min-height: 0 !important;
  top: auto !important;
  margin: 0 auto 12px !important;
  padding: 0 !important;
  border: 1px solid rgba(235,184,84,.26) !important;
  border-radius: 12px !important;
  background: linear-gradient(155deg, rgba(26,18,14,.96), rgba(12,9,8,.97)) !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.34) !important;
  overflow: hidden !important;
}

body.nebra-v2-ready #Themeboxes #Topbar::before {
  content: 'Highscores';
  display: block;
  padding: 9px 10px;
  border-bottom: 1px solid rgba(235,184,84,.16);
  color: #ffe0a0;
  background: linear-gradient(90deg, rgba(79,25,16,.92), rgba(33,17,13,.94));
  font: 800 10px/1.2 Inter, "Segoe UI", Arial, sans-serif;
  letter-spacing: .55px;
  text-transform: uppercase;
}

body.nebra-v2-ready #Themeboxes #Topbar .top_level {
  position: relative !important;
  inset: auto !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 7px !important;
  color: var(--nebra-v3-text) !important;
  background: transparent !important;
  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
  font-size: 10px !important;
  text-align: left !important;
}

body.nebra-v2-ready #Themeboxes #Topbar .top_level > div:not(.Bottom) {
  position: relative !important;
  box-sizing: border-box !important;
  min-height: 36px !important;
  margin: 0 0 5px !important;
  padding: 5px 6px 5px 38px !important;
  border: 1px solid rgba(235,184,84,.10);
  border-radius: 7px;
  background: rgba(255,255,255,.025);
}
body.nebra-v2-ready #Themeboxes #Topbar .top_level > div:not(.Bottom):last-of-type { margin-bottom: 0 !important; }

body.nebra-v2-ready #Themeboxes #Topbar a.topfont {
  display: block !important;
  color: #f0dfc7 !important;
  font: 700 10px/1.25 Inter, "Segoe UI", Arial, sans-serif !important;
}
body.nebra-v2-ready #Themeboxes #Topbar a.topfont:hover { color: #ffe3a8 !important; }
body.nebra-v2-ready #Themeboxes #Topbar a.topfont.online { color: #93e6a7 !important; }
body.nebra-v2-ready #Themeboxes #Topbar a.topfont.offline { color: #f3c8bb !important; }

body.nebra-v2-ready #Themeboxes #Topbar .top_level img {
  position: absolute !important;
  left: 5px !important;
  top: 4px !important;
  width: 28px !important;
  height: 28px !important;
  margin: 0 !important;
  object-fit: contain !important;
}
body.nebra-v2-ready #Themeboxes #Topbar .top_level a.topfont > span,
body.nebra-v2-ready #Themeboxes #Topbar .top_level small span {
  margin-left: 0 !important;
}
body.nebra-v2-ready #Themeboxes #Topbar .top_level small,
body.nebra-v2-ready #Themeboxes #Topbar .top_level small span {
  color: #bba488 !important;
  font-size: 9px !important;
  font-weight: 600 !important;
}
body.nebra-v2-ready #Themeboxes #Topbar .Bottom { display: none !important; }

/* ========================================================================== 
   7. GENERAL POLISH
   ========================================================================== */

body.nebra-v2-ready .NebraModernPageHeader {
  background: linear-gradient(115deg, rgba(94,28,19,.96), rgba(44,18,14,.95) 45%, rgba(20,14,11,.97)) !important;
}

body.nebra-v2-ready .Content .Box > .Border_2 {
  background: linear-gradient(160deg, rgba(15,12,10,.96), rgba(22,15,12,.95)) !important;
}

body.nebra-v2-ready .Content input:not([type="image"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
body.nebra-v2-ready .Content textarea,
body.nebra-v2-ready .Content select {
  background: rgba(7,6,5,.88) !important;
  color: #f5ead9 !important;
}

body.nebra-v2-ready .Content input::placeholder,
body.nebra-v2-ready .Content textarea::placeholder {
  color: #a8957f !important;
  opacity: 1 !important;
}

/* Tables on narrow screens scroll instead of exploding the page width. */
@media (max-width: 820px) {
  body.nebra-v2-ready .TableContainer,
  body.nebra-v2-ready .TableContentContainer {
    max-width: 100% !important;
  }
  body.nebra-v2-ready .TableContent,
  body.nebra-v2-ready .TableContainer table {
    min-width: 0 !important;
  }
  body.nebra-v2-ready .Content #newsticker .NewsTickerDate {
    display: block !important;
    margin-bottom: 3px !important;
  }
  body.nebra-page-accountmanagement #LoginFormButtonCell,
  body.nebra-page-accountmanage #LoginFormButtonCell {
    width: auto !important;
    min-width: 0 !important;
  }
}
