/*
  YaSimba 24K Admin Universal Crystal Theme
  Created and maintained by Master John V. Thomas, MBA, MHRM, U.M.A.A. Regional Director.

  Purpose:
  - Bring all YaSimba admin pages into the same crystal/charcoal/gold/red style.
  - Remove admin top tab bars.
  - Fix Staff Login password/sign-in box overflow.
  - Do not touch Guest Wall, public UMAA pages, member portal legal text, or passwords.
*/

:root{
  --ys24k-bg:#101114;
  --ys24k-panel:#171a20;
  --ys24k-panel2:#1d2129;
  --ys24k-line:#343a45;
  --ys24k-gold:#d8b84f;
  --ys24k-red:#c71925;
  --ys24k-red2:#9e101d;
  --ys24k-text:#f7f7f4;
  --ys24k-muted:#cfd2d6;
  --ys24k-soft:#aeb4bd;
}

html,body{
  background:#101114!important;
}

body{
  color:var(--ys24k-text)!important;
}

body,
input,
select,
textarea,
button{
  box-sizing:border-box;
}

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

/* Remove the old admin tab row across admin pages. */
.ys20b-nav,
.ys24b-nav,
.ys24a-nav,
.admin-tabs,
.top-tabs,
.tabbar,
.tabs,
nav[aria-label="Admin"],
nav.admin-nav,
nav.ys-admin-nav{
  display:none!important;
}

/* Keep the page centered and consistent. */
.ys20b-shell,
.ys24b-shell,
.ys24a-shell,
.ys24i-admin-shell,
main,
.page,
.wrap,
.container{
  width:min(1180px,94vw)!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Normalize admin headers without making them oversized. */
.ys20b-header,
.ys24b-header,
.ys24a-header,
.ys24i-admin-top,
header{
  background:transparent!important;
  border-bottom:1px solid var(--ys24k-line)!important;
  padding:16px 0 18px!important;
  margin-bottom:18px!important;
}

.ys20b-logo,
.ys24b-brand,
.ys24i-brand{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
}

.ys20b-logo img,
.ys24b-brand img,
.ys24i-brand img,
header img{
  max-width:68px!important;
  max-height:68px!important;
  object-fit:contain!important;
}

.ys20b-logo strong,
.ys24b-brand strong,
.ys24i-brand strong{
  color:var(--ys24k-gold)!important;
  font-family:Georgia,serif!important;
  letter-spacing:-.04em!important;
}

.ys20b-logo span,
.ys24b-brand span,
.ys24i-brand span{
  color:var(--ys24k-muted)!important;
}

/* Page hero / title panels */
.ys20b-hero,
.ys24b-hero,
.ys24a-hero,
.ys24i-welcome,
section.hero,
.page-hero,
.hero{
  background:linear-gradient(135deg,#181a1f,#111216)!important;
  border:1px solid var(--ys24k-line)!important;
  box-shadow:0 18px 32px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.04)!important;
  color:var(--ys24k-text)!important;
  border-radius:0!important;
}

.ys20b-hero small,
.ys24b-hero small,
.ys24a-hero small,
.ys24i-welcome small,
.hero small{
  color:var(--ys24k-gold)!important;
  text-transform:uppercase!important;
  letter-spacing:.16em!important;
  font-weight:900!important;
}

.ys20b-hero h1,
.ys24b-hero h1,
.ys24a-hero h1,
.ys24i-welcome h1,
h1{
  color:var(--ys24k-text)!important;
  letter-spacing:-.035em!important;
}

.ys20b-hero h1 span,
.ys24b-hero h1 span,
.ys24a-hero h1 span,
.ys24i-welcome h1 span{
  color:var(--ys24k-red)!important;
}

p,
li,
td,
label{
  color:var(--ys24k-muted)!important;
}

/* Panels, cards, and boxes */
.ys20b-card,
.ys20b-panel,
.ys24b-panel,
.ys24a-panel,
.card,
.panel,
.box,
.form-card,
.stat-card,
section:not(.ys24i-app-grid):not(.ys24i-stat-grid):not(.ys24i-welcome):not(.ys20b-hero):not(.ys24b-hero):not(.ys24a-hero){
  background:linear-gradient(145deg,#171a20,#111216)!important;
  border:1px solid var(--ys24k-line)!important;
  color:var(--ys24k-text)!important;
  box-shadow:0 14px 26px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.035)!important;
  border-radius:0!important;
}

.ys24i-app-grid,
.ys24i-stat-grid{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

h2,h3,h4{
  color:var(--ys24k-text)!important;
}

strong,b{
  color:inherit;
}

/* Forms */
input,
select,
textarea{
  width:100%;
  max-width:100%;
  background:#0c0d10!important;
  color:#f7f7f4!important;
  border:1px solid #4a5160!important;
  outline:none!important;
  box-shadow:none!important;
}

input:focus,
select:focus,
textarea:focus{
  border-color:var(--ys24k-gold)!important;
  box-shadow:0 0 0 3px rgba(216,184,79,.15)!important;
}

label,
.ys20b-label,
.ys24b-label{
  color:var(--ys24k-gold)!important;
  text-transform:uppercase!important;
  letter-spacing:.16em!important;
  font-size:12px!important;
  font-weight:900!important;
}

/* Buttons and links */
button,
input[type="submit"],
.ys20b-btn,
.ys24b-btn,
.ys24a-btn,
.btn,
.button,
a.button,
a.ys20b-btn,
a.ys24b-btn{
  background:linear-gradient(180deg,#d61e2b,#a8111c)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.12)!important;
  font-weight:900!important;
  text-decoration:none!important;
  box-shadow:0 10px 20px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.18)!important;
  border-radius:0!important;
}

button:hover,
input[type="submit"]:hover,
.ys20b-btn:hover,
.ys24b-btn:hover,
.ys24a-btn:hover,
.btn:hover,
.button:hover{
  filter:saturate(1.08)!important;
  transform:translateY(-1px);
}

button:active,
input[type="submit"]:active,
.ys20b-btn:active,
.ys24b-btn:active,
.ys24a-btn:active,
.btn:active,
.button:active{
  transform:translateY(1px) scale(.99);
}

a{
  color:var(--ys24k-gold)!important;
}

/* Tables */
table{
  width:100%;
  border-collapse:collapse;
  color:var(--ys24k-text)!important;
}

th{
  color:var(--ys24k-gold)!important;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:12px;
  border-bottom:1px solid var(--ys24k-line)!important;
}

td{
  border-bottom:1px solid var(--ys24k-line)!important;
}

th,td{
  padding:11px 10px!important;
}

/* Staff Login 24J overflow fix */
.ys24j-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:16px!important;
  align-items:stretch!important;
}

.ys24j-panel{
  min-width:0!important;
  overflow:hidden!important;
  background:#171a20!important;
  border:1px solid var(--ys24k-line)!important;
}

.ys24j-field{
  width:100%!important;
  max-width:100%!important;
}

.ys24j-input,
.ys24j-wrap,
.ys24j-wrap input{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

.ys24j-wrap{
  position:relative!important;
  overflow:hidden!important;
}

.ys24j-wrap input{
  padding-right:82px!important;
}

.ys24j-show{
  position:absolute!important;
  right:10px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  min-width:58px!important;
  max-width:64px!important;
  min-height:34px!important;
  padding:6px 8px!important;
  background:#20242c!important;
  color:#fff!important;
  border:1px solid #4a5160!important;
  box-shadow:none!important;
}

.ys24j-grid + .ys24i-quick-actions{
  margin-bottom:0!important;
}

/* Admin dashboard stats remain clickable and clean. */
.ys24i-stat-card{
  background:linear-gradient(145deg,#20242c,#101216)!important;
  border:1px solid var(--ys24k-line)!important;
  color:var(--ys24k-text)!important;
}

.ys24i-stat-card b{
  color:#fff!important;
}

.ys24i-stat-card span{
  color:var(--ys24k-muted)!important;
}

/* Hide guide-like bottom sections on admin screens. */
.ys24f-guide,
.feature-guide,
.guide,
.help-guide,
.system-guide{
  display:none!important;
}

/* Prevent horizontal overflow on admin pages. */
body{
  overflow-x:hidden!important;
}

@media(max-width:850px){
  .ys24j-grid{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:700px){
  .ys20b-shell,
  .ys24b-shell,
  .ys24a-shell,
  .ys24i-admin-shell,
  main,
  .page,
  .wrap,
  .container{
    width:min(94vw,680px)!important;
  }
}
