
/* ✅ GLOBAL RESET */
* {
  box-sizing: border-box;
}

/* ✅ Base */
body {
  margin:0;
  background:#1a1814;
  color:white;
  font-family:'Work Sans', sans-serif;
}


/* ✅ Fonts */
@font-face {
  font-family: 'Oswald';
  src: url('/assets/Fonts/Oswald/Oswald-Bold.ttf');
  font-weight: 700;
}

@font-face {
  font-family: 'Oswald';
  src: url('/assets/Fonts/Oswald/Oswald-Regular.ttf');
  font-weight: 400;
}

@font-face {
  font-family: 'Work Sans';
  src: url('/assets/Fonts/work-sans/WorkSans-Regular.otf');
}

@font-face {
  font-family: 'Work Sans';
  src: url('/assets/Fonts/work-sans/WorkSans-Bold.otf');
  font-weight: 700;
}


/* ✅ Background */
#bgTexture {
  position:fixed;
  inset:0;
  background-image:url('/assets/images/SplatterFull.png');
  background-repeat:repeat;
  background-size:900px;
  opacity:0.12;
  pointer-events:none;
  z-index:0;
}


/* ✅ Layout container */
#app {
  position:relative;
  z-index:1;
  max-width:1100px;
  margin:40px auto;
  padding:0 20px;
}


/* ✅ NAV */
#topBar {
  position:sticky;
  top:0;
  z-index:10;
  background:#1a1814;
  box-shadow:0 2px 10px rgba(0,0,0,0.4);
}

#topBarInner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  max-width:1100px;
  margin:0 auto;
  padding:14px 16px;
}

.navLeft, .navRight {
  display:flex;
  align-items:center;
  gap:16px;
}

.navLink {
  color:#ccc;
  text-decoration:none;
  font-size:14px;
  cursor:pointer;
}

.navLink:hover {
  color:white;
}

.navPrimary {
  background:#f5a623;
  color:#1a1814;
  padding:6px 12px;
  border-radius:4px;
  font-weight:600;
}

.navButton {
  background:#f5a623;
  color:#1a1814;
  padding:8px 14px;
  border-radius:4px;
  font-weight:600;
  cursor:pointer;
  border:none;
}

/* ➖ Voting section style ➖ */
.voteStatus {
  display:flex;
  justify-content:space-between;
  align-items:center;
  background:#2a261f;
  border:1px solid rgba(255,255,255,0.1);
  border-radius:8px;
  padding:20px;
  margin-bottom:30px;
  gap:20px;
}

.voteLeft {
  display:flex;
  gap:16px;
  align-items:flex-start;
}

.voteIcon {
  width:40px;
  height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#1a1814;
  border-radius:6px;
  font-size:18px;
}

.voteLabel {
  font-size:12px;
  color:#aaa;
  letter-spacing:1px;
}

.voteTitle {
  font-family:'Oswald';
  font-size:22px;
  margin-top:4px;
}

.voteSub {
  font-size:13px;
  color:#bbb;
  margin-top:6px;
}

.voteBtn {
  background:#f5a623;
  color:#1a1814;
  border:none;
  padding:10px 16px;
  border-radius:6px;
  font-weight:600;
  cursor:pointer;
}


/* ➖ Contest Manager style ➖ */
.adminSection {
  background:#2a261f;
  border:1px solid rgba(255,255,255,0.1);
  border-radius:8px;
  padding:20px;
  margin-top:30px;
}

.adminHeader {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:20px;
}

.adminTitle {
  font-family:'Oswald';
  font-size:20px;
}

.adminSub {
  font-size:13px;
  color:#aaa;
  margin-top:4px;
}

.adminBtn {
  background:#f5a623;
  color:#1a1814;
  border:none;
  padding:10px 16px;
  border-radius:6px;
  cursor:pointer;
  font-weight:600;
}

.adminTable {
  display:flex;
  flex-direction:column;
}

.tableHeader, .tableRow {
  display:grid;
  grid-template-columns: 80px 1fr 1fr 1fr 80px 120px 120px;
  gap:10px;
  align-items:center;
  padding:10px 0;
}

.tableHeader {
  border-bottom:1px solid rgba(255,255,255,0.1);
  color:#aaa;
  font-size:12px;
  text-transform:uppercase;
}

.tableRow {
  border-bottom:1px solid rgba(255,255,255,0.05);
}


/* ➖ Additional style ➖ */
.expandSection {
  background:#2a261f;
  border:1px solid rgba(255,255,255,0.1);
  border-radius:8px;
  padding:18px;
  margin-top:20px;
}

.expandHeader {
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.expandTitle {
  font-family:'Oswald';
  font-size:18px;
}

.expandSub {
  font-size:13px;
  color:#aaa;
  margin-top:4px;
}

.expandBtn {
  background:#1a1814;
  color:#ccc;
  border:1px solid #555;
  padding:8px 14px;
  border-radius:6px;
  cursor:pointer;
}

.expandBtn:hover {
  border-color:#aaa;
}

.expandContent {
  margin-top:20px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,0.08);
}

.hidden {
  display:none;
}

.placeholder {
  color:#888;
  font-size:14px;
}

  /* CONTEST CARD */
  .card {
    background:#1f1c17;
    border:1px solid rgba(255,255,255,0.1);
    border-radius:6px;
    padding:16px;
    margin-bottom:15px;
  }

  .card.current {
    border:2px solid #f5a623;
  }

  .cardTitle {
    font-family:'Oswald';
    font-size:18px;
  }

  .cardSub {
    color:#aaa;
    font-size:13px;
    margin:6px 0;
  }

  .cardActions {
    margin-top:12px;
    display:flex;
    gap:8px;
    flex-wrap:wrap;
  }

  .btn {
    padding:6px 10px;
    border-radius:4px;
    border:1px solid #444;
    cursor:pointer;
    font-size:12px;
    background:#12100d;
    color:white;
  }

  .btn:hover {
    border-color:#888;
  }

  .btnHighlight {
    background:#f5a623;
    color:#1a1814;
    border:none;
  }

  /* COLLAPSIBLE */
  .collapsibleHeader {
    cursor:pointer;
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-top:20px;
    margin-bottom:10px;
    color:#ccc;
    font-weight:600;
  }

  .collapsed {
    display:none;
  }

/* ✅ ADMIN DASHBOARD */
/* HEADER */
  .pageTitle {
    font-family:'Oswald';
    font-size:36px;
    margin-bottom:6px;
  }

  .pageSub {
    color:#aaa;
    margin-bottom:30px;
  }

  /* SECTION */
  .section {
    background:#222018;
    border:1px solid rgba(255,255,255,0.08);
    border-radius:6px;
    padding:20px;
    margin-bottom:30px;
  }

  .sectionHeader {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:20px;
  }

  .sectionTitle {
    font-family:'Oswald';
    font-size:20px;
  }

  .btnPrimary {
    background:#f5a623;
    color:#1a1814;
    border:none;
    padding:10px 14px;
    border-radius:4px;
    cursor:pointer;
    font-weight:600;
  }
