
/* Neon Black-Orange Theme (no structure changes) */
:root{
  --bg: #0a0a0a;
  --bg-elev: #121212;
  --panel: #0f0f10;
  --text: #eaeaea;
  --muted: #b7b7b7;
  --accent: #ff8a00;
  --accent-2: #ff4d00;
  --border: #1f1f1f;
  --success: #00d07e;
  --danger: #ff3b30;
  --warning: #ffb020;
  --shadow-neon: 0 0 8px rgba(255,138,0,.65), 0 0 24px rgba(255,77,0,.35);
  --ring: 0 0 0 2px rgba(255,138,0,.45), 0 0 0 6px rgba(255,77,0,.25);
}

/* Global */
html,body{background:var(--bg); color:var(--text);}
a{color:var(--accent); text-decoration:none}
a:hover{filter:brightness(1.15); text-shadow: 0 0 6px rgba(255,138,0,.6)}

/* Header/Nav */
.nav{background:linear-gradient(180deg, rgba(255,138,0,.08), transparent 70%); border-bottom:1px solid var(--border); backdrop-filter:saturate(1.2) blur(6px)}
.nav .brand{color:var(--text); font-weight:700}
.nav a{padding:.6rem .9rem; border-radius:.75rem; transition:transform .15s ease, box-shadow .15s ease}
.nav a:hover{box-shadow:var(--shadow-neon); transform:translateY(-1px)}

/* Cards / panels */
.card, .glass, .panel, .box, .table-container{background:var(--panel); border:1px solid var(--border); border-radius:16px; box-shadow:0 4px 24px rgba(0,0,0,.35)}
.card:hover, .glass:hover, .panel:hover{box-shadow:0 0 0 1px rgba(255,138,0,.25), 0 12px 40px rgba(0,0,0,.5)}

/* Buttons */
button, .btn, input[type=submit], .badge, .tag{
  background: radial-gradient(80% 120% at 30% 20%, var(--accent) 0%, var(--accent-2) 100%);
  color:#111; font-weight:700; border:none; border-radius:12px; padding:.65rem 1rem;
  box-shadow: var(--shadow-neon);
}
button:hover, .btn:hover, input[type=submit]:hover{filter:brightness(1.08); transform: translateY(-1px)}
button:focus, .btn:focus, input[type=submit]:focus{outline:none; box-shadow: var(--ring)}

/* Inputs */
input[type=text], input[type=password], input[type=url], input[type=number], input[type=email], textarea, select{
  background:#0b0b0c; border:1px solid var(--border); color:var(--text); border-radius:12px; padding:.7rem .9rem;
  box-shadow: inset 0 0 0 1px rgba(255,138,0,.08);
}
input::placeholder, textarea::placeholder{color:#888}
input:focus, textarea:focus, select:focus{outline:none; box-shadow: var(--ring); border-color: rgba(255,138,0,.6)}

/* Tables */
table{width:100%; border-collapse:separate; border-spacing:0; background:var(--panel); color:var(--text)}
th, td{padding:.8rem 1rem; border-bottom:1px solid var(--border)}
th{background:rgba(255,138,0,.08); position:sticky; top:0; z-index:1}
tr:hover td{background:rgba(255,138,0,.04)}

/* Alerts */
.alert{border-radius:14px; padding:.8rem 1rem; border:1px solid var(--border)}
.alert.error{background: linear-gradient(180deg, rgba(255,59,48,.12), transparent); border-color: rgba(255,59,48,.35); color:#ffd6d3; text-shadow: 0 0 6px rgba(255,59,48,.4)}
.alert.success{background: linear-gradient(180deg, rgba(0,208,126,.1), transparent); border-color: rgba(0,208,126,.35); color:#d6ffef}

/* Badges / tags */
.badge, .tag{background:rgba(255,138,0,.12); color:var(--accent); box-shadow:none}

/* Hero / gradients */
.gradient-bg{background:
  radial-gradient(40% 50% at 20% 10%, rgba(255,138,0,.12), transparent 60%),
  radial-gradient(35% 45% at 80% 20%, rgba(255,77,0,.10), transparent 60%),
  radial-gradient(60% 55% at 50% 90%, rgba(255,138,0,.08), transparent 60%),
  var(--bg);}

/* Admin specific */
.admin-bg{background:
  radial-gradient(35% 45% at 20% 0%, rgba(255,138,0,.12), transparent 55%),
  radial-gradient(40% 48% at 80% 10%, rgba(255,77,0,.10), transparent 60%),
  var(--bg);}
.admin-card{background:var(--panel); border:1px solid var(--border)}
.sidebar a.active, .sidebar a:hover{background:rgba(255,138,0,.12); color:var(--accent)}

/* Forms layout tweaks without structure change */
form .row{display:flex; gap:.8rem; flex-wrap:wrap}
form .row > *{flex:1 1 220px}

/* Utility */
.center{max-width:1200px; margin:0 auto; padding:1.2rem}
hr{border:0; height:1px; background:linear-gradient(90deg, transparent, rgba(255,138,0,.35), transparent)}
footer{color:var(--muted)}
/* End theme */


/* --- Ensure admin top menu text is white --- */
header.admin-top nav a,
header.admin-top .btn,
header.admin-top .btn.outline {
  color: #fff !important;
  background: transparent !important;
  border: 1px solid rgba(255,255,255,.45) !important;
  box-shadow: none !important;
}
header.admin-top nav a:hover,
header.admin-top .btn:hover { color:#fff !important; filter:none !important; transform:none !important; }


/* === Sitewide White Text for Buttons & Options === */
button, .btn, input[type=submit], .badge, .tag { color:#fff !important; text-shadow:none; }
.btn.yellow { color:#fff !important; }
header.admin-top nav a, header.admin-top .btn, header.admin-top .btn.outline { color:#fff !important; }

/* Selects & options */
select, option { color:#fff !important; background:#0b0b0c !important; }
select:focus { outline:none; box-shadow: var(--ring); }
label, .muted, .text, .desc { color: var(--text) !important; }

/* Inputs */
input[type=text], input[type=password], input[type=url], input[type=number], input[type=email], textarea {
  color:#fff !important; background:#0b0b0c; border:1px solid var(--border);
}
::placeholder { color: #cfd4de !important; opacity:.8; }

/* Force hide any open buttons */
.btn-open,[data-action='open']{display:none !important}


/* Neon toast message */
.toast-message {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.9);
  padding: 14px 28px;
  background: rgba(0,0,0,0.8);
  color: #ff9f00;
  border: 2px solid #ff9f00;
  border-radius: 12px;
  font-family: inherit;
  font-size: 1.1rem;
  box-shadow: 0 0 15px #ff9f00aa;
  opacity: 0;
  transition: all .4s ease;
  z-index: 9999;
  pointer-events: none;
}
.toast-message.visible {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}
