/* roWars Panel Theme — Bootstrap 5 + full-bg glassmorphism */

:root {
  --ro-red:           #c0392b;
  --ro-red-light:     #e05545;
  --ro-ice:           #7ec8e3;
  --ro-bronze:        #c4933f;
  --ro-bronze-light:  #e0af58;
  --ro-bronze-dim:    rgba(196,147,63,.15);
  --ro-bronze-border: rgba(196,147,63,.28);
  --ro-text:          #e8dcc8;
  --ro-text-muted:    #8a9aaa;
  --ro-glass-bg:      rgba(8,14,26,.80);
  --ro-glass-bg2:     rgba(10,18,32,.88);
  --ro-glass-border:  rgba(196,147,63,.22);
  --ro-overlay:       rgba(4,8,18,.72);
}

/* ── Reset / base ────────────────────────────────────────── */

*, *::before, *::after { box-sizing: border-box; }

html { height: 100%; }

body {
  min-height: 100vh;
  margin: 0;
  font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
  font-size: 14px;
  line-height: 1.55;
  color: var(--ro-text);
  /* bg full-screen */
  background:
    linear-gradient(var(--ro-overlay), var(--ro-overlay)),
    url('../img/bg_index.png') center center / cover fixed no-repeat;
}

a { color: var(--ro-bronze); text-decoration: none; }
a:hover { color: var(--ro-bronze-light); text-decoration: underline; }

h1, h2, h3, h4, h5 { color: var(--ro-bronze); font-weight: 600; margin-bottom: .75rem; }
h2 { font-size: 1.2rem; border-bottom: 1px solid var(--ro-glass-border); padding-bottom: .4rem; margin-bottom: 1rem; }
h3 { font-size: 1rem; }
hr { border-color: var(--ro-glass-border); opacity: 1; }

code {
  background: rgba(10,18,32,.7);
  border: 1px solid var(--ro-bronze-border);
  border-radius: 3px;
  padding: .1rem .4rem;
  color: var(--ro-ice);
  font-size: .85em;
}

/* ── Navbar ─────────────────────────────────────────────── */

.ro-navbar {
  background: rgba(4,8,18,.82) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--ro-bronze-border);
  position: sticky;
  top: 0;
  z-index: 1030;
  padding: .2rem 1.25rem;
}

/* Logo */
.ro-brand-logo {
  height: 50px;
  width: auto;
  filter: drop-shadow(0 2px 6px rgba(192,57,43,.5));
  transition: filter .2s;
}
.ro-brand-logo:hover { filter: drop-shadow(0 2px 12px rgba(192,57,43,.85)); }

/* Nav links */
.ro-navbar .navbar-nav .nav-link {
  color: var(--ro-text-muted);
  font-size: .88rem;
  font-weight: 500;
  padding: .45rem .75rem;
  transition: color .15s;
  white-space: nowrap;
}
.ro-navbar .navbar-nav .nav-link:hover,
.ro-navbar .navbar-nav .nav-link.active,
.ro-navbar .navbar-nav .show > .nav-link {
  color: var(--ro-bronze-light);
}

/* Hamburger toggler */
.ro-navbar .navbar-toggler {
  border-color: var(--ro-bronze-border);
  padding: .3rem .5rem;
}
.ro-navbar .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(196,147,63,0.85)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* ── Megamenu dropdown ───────────────────────────────────── */

.ro-navbar .dropdown-menu {
  background: rgba(4,8,18,.95);
  border: 1px solid var(--ro-bronze-border);
  border-radius: 6px;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  min-width: 190px;
  padding: .35rem 0;
  margin-top: 0;
  box-shadow: 0 8px 32px rgba(0,0,0,.7);
}

.ro-navbar .dropdown-item {
  color: var(--ro-text-muted);
  font-size: .87rem;
  padding: .38rem 1rem;
  transition: background .12s, color .12s;
}
.ro-navbar .dropdown-item:hover,
.ro-navbar .dropdown-item:focus {
  background: var(--ro-bronze-dim);
  color: var(--ro-text);
}
.ro-navbar .dropdown-divider { border-color: var(--ro-glass-border); }

/* CSS hover trigger su desktop */
@media (min-width: 992px) {
  .ro-navbar .dropdown:hover > .dropdown-menu { display: block; }
  /* evita il flicker Bootstrap durante l'hover */
  .ro-navbar .dropdown > .dropdown-toggle:active { pointer-events: none; }
}

/* Session info (right side) */
.ro-session-info {
  font-size: .82rem;
  color: var(--ro-text-muted);
  white-space: nowrap;
}
.ro-session-info strong { color: var(--ro-text); }
.ro-session-info a { color: var(--ro-bronze); }
.ro-session-info a:hover { color: var(--ro-bronze-light); }

/* ── Content wrapper ─────────────────────────────────────── */

#ro-content-wrapper {
  max-width: 1200px;
  margin: 1.75rem auto;
  padding: 0 1.25rem;
}

#ro-main {
  background: var(--ro-glass-bg);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid var(--ro-glass-border);
  border-radius: 10px;
  padding: 1.75rem 2rem;
  box-shadow: 0 8px 40px rgba(0,0,0,.6);
}

/* ── Sub-menu ────────────────────────────────────────────── */

#submenu {
  font-size: .82rem;
  color: var(--ro-text-muted);
  margin-bottom: 1.2rem;
  padding: .38rem .8rem;
  background: rgba(196,147,63,.07);
  border-left: 2px solid var(--ro-bronze);
  border-radius: 0 4px 4px 0;
}
#submenu a.sub-menu-item { color: var(--ro-text-muted); }
#submenu a.sub-menu-item:hover { color: var(--ro-bronze-light); }
#submenu a.current-sub-menu { color: var(--ro-bronze); font-weight: 600; }

/* ── Page menu ───────────────────────────────────────────── */

#pagemenu {
  margin-bottom: 1rem;
  font-size: .82rem;
  color: var(--ro-text-muted);
}
#pagemenu a.page-menu-item { color: var(--ro-bronze); margin: 0 .25rem; }

/* ── Tables ──────────────────────────────────────────────── */

table.data-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1rem;
  font-size: .88rem;
}
table.data-table th,
table.data-table td {
  padding: .5rem .75rem;
  border: 1px solid rgba(255,255,255,.07);
  vertical-align: middle;
}
table.data-table thead th {
  background: rgba(10,18,32,.6);
  color: var(--ro-bronze);
  font-weight: 700;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .07em;
  border-color: var(--ro-bronze-border);
}
table.data-table tbody tr:nth-child(even) { background: rgba(255,255,255,.025); }
table.data-table tbody tr:hover { background: var(--ro-bronze-dim); }

/* ── Generic form table ──────────────────────────────────── */

table.generic-form-table {
  width: 100%;
  max-width: 520px;
  border-collapse: collapse;
  margin-bottom: 1rem;
}
table.generic-form-table th {
  color: var(--ro-text-muted);
  font-weight: 500;
  padding: .4rem .75rem .4rem 0;
  vertical-align: middle;
  white-space: nowrap;
  width: 180px;
  font-size: .88rem;
}
table.generic-form-table td { padding: .4rem .5rem; vertical-align: middle; }

/* ── Form inputs ─────────────────────────────────────────── */

input[type=text],
input[type=password],
input[type=email],
input[type=number],
input[type=file],
select,
textarea {
  background: rgba(10,18,32,.75);
  border: 1px solid var(--ro-bronze-border);
  color: var(--ro-text);
  border-radius: 4px;
  padding: .38rem .65rem;
  font-size: .88rem;
  outline: none;
  transition: border-color .15s, box-shadow .15s;
}
input:focus, select:focus, textarea:focus {
  border-color: var(--ro-bronze);
  box-shadow: 0 0 0 2px rgba(196,147,63,.18);
}
select option { background: #0d1a28; color: var(--ro-text); }
label { color: var(--ro-text-muted); font-size: .88rem; }

/* ── Buttons ─────────────────────────────────────────────── */

button[type=submit],
input[type=submit],
.btn-ro {
  background: linear-gradient(135deg, #c4933f 0%, #a07030 100%);
  color: #0a0e18;
  border: none;
  border-radius: 4px;
  padding: .42rem 1.1rem;
  font-size: .88rem;
  font-weight: 700;
  cursor: pointer;
  letter-spacing: .02em;
  box-shadow: 0 2px 10px rgba(196,147,63,.3);
  transition: filter .15s, transform .1s;
}
button[type=submit]:hover, input[type=submit]:hover, .btn-ro:hover {
  filter: brightness(1.18);
  transform: translateY(-1px);
}
button[type=submit]:active { filter: brightness(.9); transform: translateY(0); }

/* ── Messages / alerts ───────────────────────────────────── */

p.message {
  background: rgba(45,106,79,.2);
  border: 1px solid #2d7a4f;
  border-radius: 4px;
  padding: .6rem .9rem;
  color: #6dba90;
  margin-bottom: .75rem;
}
p.notice {
  background: rgba(196,147,63,.1);
  border: 1px solid var(--ro-bronze-border);
  border-radius: 4px;
  padding: .6rem .9rem;
  color: var(--ro-bronze-light);
  margin-bottom: .75rem;
}
p.red, .red { color: var(--ro-red-light) !important; }
p.green, .green { color: #6dba90 !important; }

/* Restyle inline success boxes (botaccount, tokens, ecc.) */
div[style*="background:#dff0d8"],
div[style*="background: #dff0d8"] {
  background: rgba(45,106,79,.2) !important;
  border-color: #2d7a4f !important;
  color: var(--ro-text) !important;
  border-radius: 6px;
}

/* ── Login / Register — card centrata ───────────────────── */

body.ro-login-page #ro-content-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: calc(100vh - 72px);
  margin: 0 auto;
  padding: 1rem;
}

body.ro-login-page #ro-main {
  max-width: 420px;
  width: 100%;
  background: rgba(6,10,22,.88);
  padding: 2.25rem 2rem 1.75rem;
}

.ro-login-card h2 {
  text-align: center;
  font-size: 1.1rem;
  letter-spacing: .04em;
  margin-bottom: 1.5rem;
}
.ro-login-card input[type=text],
.ro-login-card input[type=password],
.ro-login-card input[type=email] { width: 100%; }
.ro-login-card button[type=submit] { width: 100%; padding: .55rem; font-size: .95rem; margin-top: .35rem; }
.ro-login-card-footer {
  text-align: center;
  margin-top: 1.1rem;
  font-size: .82rem;
  color: var(--ro-text-muted);
}
.ro-login-card-footer a { color: var(--ro-bronze); }

/* ── Footer ─────────────────────────────────────────────── */

#ro-footer {
  background: rgba(4,8,18,.82);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-top: 1px solid var(--ro-bronze-border);
  padding: .65rem 1.5rem;
  font-size: .78rem;
  color: var(--ro-text-muted);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .5rem;
}
#ro-footer a { color: var(--ro-text-muted); }
#ro-footer a:hover { color: var(--ro-bronze); }
#ro-footer select {
  background: rgba(10,18,32,.8);
  border: 1px solid var(--ro-bronze-border);
  color: var(--ro-text-muted);
  font-size: .78rem;
  padding: .1rem .3rem;
  border-radius: 3px;
}

/* ── Mobile collapse navbar ──────────────────────────────── */

@media (max-width: 991px) {
  .ro-navbar .navbar-collapse {
    background: rgba(4,8,18,.96);
    border-top: 1px solid var(--ro-bronze-border);
    border-radius: 0 0 8px 8px;
    padding: .5rem 0 .75rem;
    margin-top: .25rem;
  }
  .ro-navbar .navbar-nav .nav-link { padding: .5rem 1.25rem; }
  .ro-navbar .dropdown-menu { background: transparent; border: none; box-shadow: none; padding-left: 1rem; }
  .ro-navbar .dropdown-item { color: var(--ro-text-muted); padding: .3rem .75rem; font-size: .85rem; }
  .ro-session-info { padding: .5rem 1.25rem; border-top: 1px solid var(--ro-glass-border); margin-top: .25rem; }
  #ro-content-wrapper { margin: 1rem auto; }
  #ro-main { padding: 1.25rem 1rem; border-radius: 8px; }
  .ro-action-grid { grid-template-columns: 1fr !important; }
}

/* ── Legacy FluxCP compat ────────────────────────────────── */
#loginbox, #masterloginbox { display: none !important; }
[bgcolor="#f5f5f5"], [bgcolor="#F5F5F5"] { background: transparent !important; }
