@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap");
@import url("fontawesome-all.min.css");



/* Home page styles */
@font-face {
    font-family: 'cakefont';
    src: url('../font/cakedingbats-webfont.eot');
    src: url('../font/cakedingbats-webfont.eot?#iefix') format('embedded-opentype'),
    url('../font/cakedingbats-webfont.woff2') format('woff2'),
    url('../font/cakedingbats-webfont.woff') format('woff'),
    url('../font/cakedingbats-webfont.ttf') format('truetype'),
    url('../font/cakedingbats-webfont.svg#cake_dingbatsregular') format('svg');
    font-weight: normal;
    font-style: normal;
}

header {
    margin-bottom: 60px;
}
img {
    margin-bottom: 30px;
}
h1 {
    font-weight: bold;
}
ul {
    list-style-type: none;
    margin: 0 0 30px 0;
    padding-left: 25px;
}
a {
    color: #0071BC;
    text-decoration: underline;
}
hr {
    border-bottom: 1px solid #e7e7e7;
    border-top: 0;
    margin-bottom: 35px;
}

.text-center {
    text-align: center;
}
.links a {
    margin-right: 10px;
}
.release-name {
    color: #D33C43;
    font-weight: 400;
    font-style: italic;
}
.bullet:before {
    font-family: 'cakefont', sans-serif;
    font-size: 18px;
    display: inline-block;
    margin-left: -1.3em;
    width: 1.2em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    vertical-align: -1px;
}
.success:before {
    color: #88c671;
    content: "\0056";
    margin-top: 100px;
}
.problem:before {
    color: #d33d44;
    content: "\0057";
}
.cake-error {
    padding: 10px;
    margin: 10px 0;
}
#url-rewriting-warning {
    display: none;
}
#questionnaire {
  padding-top: 100px;
  --q-font: 'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  --q-red: #ED1A3B;         /* primary red */
  --q-red-600: #c31631;      /* hover/darker */
  --q-black: #ffffff;
  --q-gray-900: #1f1f1f;
  --q-gray-700: #ffffff;
  --q-gray-400: #cfcfcf;
  --q-bg: #000000;
  --q-shadow: 0 2px 12px rgba(0,0,0,.08);
}

/* Container & header */
#questionnaire .quizlet-quiz-container {
  max-width: 820px;          /* a touch wider */
  margin: 24px auto;
}

#questionnaire .quizlet-header {
  display: flex;
  flex-direction: column;   /* was row */
  align-items: center;      /* center horizontally */
  gap: .5rem;               /* space between title and bar */
  text-align: center;
}
#questionnaire .quizlet-header > div {
  width: clamp(220px, 60vw, 520px);  /* responsive width */
  display: flex;
  padding: 10px;
  margin-top: 5px;
  flex-direction: column;
  align-items: center;
}

#questionnaire .quizlet-title { 
    margin:0; 
    font-size:3.5rem; 
    font-weight: 500; 
    letter-spacing: 1px; 
    font-family: 'Oswald';}

/* Progress */
#questionnaire .progress { 
  width: 100%;
  margin-top: .25rem;
  margin-bottom: 20px;
}

#questionnaire .progress > div {
  height: 100%;
  width: 0%;
  background: var(--q-red);
  transition: width .25s ease;

}

/* Cards */
#questionnaire .quizlet-questions { position: relative; }
#questionnaire .quizlet-question-card {
  display: none;
  background: var(--q-bg);
  border: 1px solid #eee;
  border-radius: 16px;
  padding: 22px 22px 18px;
  box-shadow: var(--q-shadow);
}
#questionnaire .quizlet-question-card.active { display: block; }

#questionnaire .question-number {
  font: 600 .95rem var(--q-font);
  letter-spacing: .02em;
  color: var(--q-gray-700);
  margin-bottom: .35rem;
}

#questionnaire .question-text {
  font: 600 1.8rem var(--q-font);   
  color: var(--q-black);
  margin-bottom: 1rem;
}
#questionnaire .question-options { 
  display: grid; 
  gap: .55rem; 

}

/* RESET wrappers so they don't look like one big box */
#questionnaire .radio,
#questionnaire .checkbox {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

/* CARD on each option LABEL (works for both single + multiple) */
#questionnaire .radio label,
#questionnaire .checkbox label,
#questionnaire .quizlet-choices label,
#questionnaire .quizlet-multi-choices label {
  display: flex;
  align-items: center;
  gap: .65rem;
  margin-bottom: 0.75rem;
  padding: 5px;
  border: 1.5px solid #e9e9e9;
  border-radius: 12px;
  background: #fff;
  cursor: pointer;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
  font: 600 1.3rem var(--q-font);
  color: var(--q-gray-900);
}

/* inputs */
#questionnaire input[type="radio"],
#questionnaire input[type="checkbox"] {
  inline-size: 1.1rem;
  block-size: 1.1rem;
  padding: 5px;
  accent-color: var(--q-red);
  cursor: pointer;
  flex: none;
}

/* hover */
#questionnaire .radio label:hover,
#questionnaire .checkbox label:hover,
#questionnaire .quizlet-choices label:hover,
#questionnaire .quizlet-multi-choices label:hover {
  border-color: var(--q-red);
  box-shadow: 0 0 0 3px rgba(237, 26, 59, .12);
}


#questionnaire .radio label:has(input:checked),
#questionnaire .checkbox label:has(input:checked),
#questionnaire .quizlet-choices label:has(input:checked),
#questionnaire .quizlet-multi-choices label:has(input:checked),
#questionnaire .radio input[type="radio"]:checked + label,
#questionnaire .checkbox input[type="checkbox"]:checked + label {
  border-color: var(--q-red);
  background: #fff6f7;
}


#questionnaire input[type="number"],
#questionnaire textarea {
  width: 100%;
  font: 500 1.05rem var(--q-font);
  color: var(--q-black);
  border: 1.5px solid #e9e9e9;
  border-radius: 12px;
  padding: .8rem .9rem;
  outline: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}
#questionnaire input[type="number"]:focus,
#questionnaire textarea:focus {
  border-color: var(--q-red);
  box-shadow: 0 0 0 3px rgba(237, 26, 59, .12);
}

/* Nav buttons */
#questionnaire .quizlet-nav {
  display: flex;
  gap: .6rem;
  margin-top: 1.1rem;
}
#questionnaire .quizlet-btn {
  font: 700 1rem var(--q-font);
  letter-spacing: .02em;
  padding: .7rem 1rem;
  border-radius: 12px;
  border: 2px solid var(--q-black);
  background: #fff;
  color: var(--q-black);
  cursor: pointer;
  transition: transform .06s ease, background .15s, color .15s, border-color .15s;
}
#questionnaire .quizlet-btn:hover { transform: translateY(-1px); }
#questionnaire .quizlet-btn:active { transform: translateY(0); }

#questionnaire .quizlet-btn.primary {
  background: var(--q-red);
  border-color: var(--q-red);
  color: #fff;
}
#questionnaire .quizlet-btn.primary:hover {
  background: var(--q-red-600);
  border-color: var(--q-red-600);
}

/* Footer row inside card */
#questionnaire .quizlet-footer {
  margin-top: .9rem;
  color: var(--q-gray-700);
  font: 600 .95rem var(--q-font);
  display: flex;
  justify-content: space-between;
}

/* Responsive tweaks */
@media (max-width: 640px) {
  #questionnaire .quizlet-title { font-size: 2.4rem; }
  #questionnaire .question-text { font-size: 1.2rem; }
  #questionnaire .progress { width: 160px; }
}
/*-- -------------------------- -->
<---     Mobile Navigation      -->
<--- -------------------------- -*/
/* Mobile - 1023px */
@media only screen and (max-width: 63.9375rem) {
  body.cs-open {
    overflow: hidden;
  }
  #cs-navigation {
    width: 100%;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    padding: 0.75rem 1rem;
    background: #000000;
    box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
    position: fixed;
    z-index: 10000;
  }
  #cs-navigation:before {
    content: "";
    width: 100%;
    height: 0vh;
    background: rgba(0, 0, 0, 0.6);
    opacity: 0;
    display: block;
    position: absolute;
    top: 100%;
    right: 0;
    z-index: -1100;
    transition: height 0.5s, opacity 0.5s;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
  }
  #cs-navigation.cs-active:before {
    height: 150vh;
    opacity: 1;
  }
  #cs-navigation.cs-active .cs-ul-wrapper {
    opacity: 1;
    transform: scaleY(1);
    transition-delay: 0.15s;
    background-color: black;

  }
  #cs-navigation.cs-active .cs-li {
    opacity: 1;
    transform: translateY(0);
    
  }
  #cs-navigation .cs-container {
    
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }
  #cs-navigation .cs-logo {
    width: 40%;
    max-width: 9.125rem;
    height: 100%;
    margin: 0 auto 0 0;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10;
  }
  #cs-navigation .cs-logo img {
    width: 100%;
    height: 100%;
    /* ensures the image never overflows the container. It stays contained within it's width and height and expands to fill it then stops once it reaches an edge */
    object-fit: contain;
  }
  #cs-navigation .cs-toggle {
    /* 44px - 48px */
    width: clamp(2.75rem, 6vw, 3rem);
    height: clamp(2.75rem, 6vw, 3rem);
    margin: 0 0 0 auto;
    border: none;
    border-radius: 0.25rem;
    display: flex;
    justify-content: center;
    align-items: center;
  color: white;
  }
  #cs-navigation .cs-active .cs-line1 {
    top: 50%;
    transform: translate(-50%, -50%) rotate(225deg);
  }
  #cs-navigation .cs-active .cs-line2 {
    top: 50%;
    transform: translate(-50%, -50%) translateY(0) rotate(-225deg);
    transform-origin: center;
  }
  #cs-navigation .cs-active .cs-line3 {
    opacity: 0;
    bottom: 100%;
  }
  #cs-navigation .cs-box {
    /* 24px - 28px */
    width: clamp(1.5rem, 2vw, 1.75rem);
    /* 14px - 16px */
    height: clamp(0.875rem, 1.5vw, 1rem);
    position: relative;
  }
  #cs-navigation .cs-line {
    width: 100%;
    height: 2px;
    background-color: #1a1a1a;
    border-radius: 2px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
  }
  #cs-navigation .cs-line1 {
    top: 0;
    transition: transform 0.5s, top 0.3s, left 0.3s;
    animation-duration: 0.7s;
    animation-timing-function: ease;
    animation-direction: normal;
    animation-fill-mode: forwards;
    transform-origin: center;
  }
  #cs-navigation .cs-line2 {
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    transition: top 0.3s, left 0.3s, transform 0.5s;
    animation-duration: 0.7s;
    animation-timing-function: ease;
    animation-direction: normal;
    animation-fill-mode: forwards;
  }
  #cs-navigation .cs-line3 {
    bottom: 0;
    transition: bottom 0.3s, opacity 0.3s;
  }
  #cs-navigation .cs-ul-wrapper {
    width: 100%;
    height: auto;
    padding-bottom: 2.4em;
    background-color: #fff;
    box-shadow: inset rgba(0, 0, 0, 0.2) 0px 8px 24px;
    opacity: 0;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: -1;
    overflow: hidden;
    transform: scaleY(0);
    transition: transform 0.4s, opacity 0.3s;
    transform-origin: top;
  }
  #cs-navigation .cs-ul {
    width: 100%;
    height: auto;
    max-height: 65vh;
    margin: 0;
    padding: 3rem 0 0 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 1.25rem;
    overflow: scroll;
  }
  #cs-navigation .cs-li {
    text-align: center;
    list-style: none;
    width: 100%;
    margin-right: 0;
    opacity: 0;
    /* transition from these values */
    transform: translateY(-4.375rem);
    transition: transform 0.6s, opacity 0.9s;
  }
  #cs-navigation .cs-li:nth-of-type(1) {
    transition-delay: 0.05s;
  }
  #cs-navigation .cs-li:nth-of-type(2) {
    transition-delay: 0.1s;
  }
  #cs-navigation .cs-li:nth-of-type(3) {
    transition-delay: 0.15s;
  }
  #cs-navigation .cs-li:nth-of-type(4) {
    transition-delay: 0.2s;
  }
  #cs-navigation .cs-li:nth-of-type(5) {
    transition-delay: 0.25s;
  }
  #cs-navigation .cs-li:nth-of-type(6) {
    transition-delay: 0.3s;
  }
  #cs-navigation .cs-li:nth-of-type(7) {
    transition-delay: 0.35s;
  }
  #cs-navigation .cs-li:nth-of-type(8) {
    transition-delay: 0.4s;
  }
  #cs-navigation .cs-li:nth-of-type(9) {
    transition-delay: 0.45s;
  }
  #cs-navigation .cs-li:nth-of-type(10) {
    transition-delay: 0.5s;
  }
  #cs-navigation .cs-li:nth-of-type(11) {
    transition-delay: 0.55s;
  }
  #cs-navigation .cs-li:nth-of-type(12) {
    transition-delay: 0.6s;
  }
  #cs-navigation .cs-li:nth-of-type(13) {
    transition-delay: 0.65s;
  }
  #cs-navigation .cs-li-link {
    /* 16px - 24px */
 
    font-size: clamp(1rem, 2.5vw, 1.5rem);
    line-height: 1.2em;
    text-decoration: none;
    margin: 0;
    color: var(--headerColor);
    display: inline-block;
    position: relative;
  }
  #cs-navigation .cs-li-link:before {
    /* active state underline */
    content: "";
    width: 100%;
    height: 1px;
    background: currentColor;
    opacity: 1;
    display: none;
    position: absolute;
    bottom: -0.125rem;
    left: 0;
  }
  #cs-navigation .cs-li-link.cs-active:before {
    display: block;
  }
  #cs-navigation .cs-button-solid {
    display: none;
  }
}
/*-- -------------------------- -->
<---     Desktop Navigation     -->
<--- -------------------------- -*/
/* Small Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #cs-navigation {
     top: 0;                
  left: 0;  
    width: 100%;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    background-color: #000000;
    box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
    position: fixed;
    z-index: 10000;
    
  }
  #cs-navigation .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 1.5rem;
    height: 8rem;
  }

  #cs-navigation .cs-toggle {
    display: none;
  }
  #cs-navigation .cs-logo {
    width: 100px;
    max-width: 21.875rem;
    height: 6rem;
    /* margin-right auto pushes everything away from it to the right */
    margin-right: auto;
    margin-top:  30px;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 100;
  }
  #cs-navigation .cs-logo img {
    width: 18rem;
    height: 100%;
    /* ensures the image never overflows the container. It stays contained within it's width and height and expands to fill it then stops once it reaches an edge */
    object-fit: contain;
  }
  #cs-navigation .cs-ul {
    margin-right: 5rem;
    width: 100%;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    /* 20px - 36px */
    gap: clamp(1.25rem, 2.6vw, 2.25rem);
    
  }
  #cs-navigation .cs-li {

    margin-bottom: 0;
    list-style: none;
    padding: 2rem 0;
    /* prevent flexbox from squishing it */
    flex: none;
  }
  #cs-navigation .cs-li-link {
    font-family:'Oswald';
    font-weight: 500;
    letter-spacing: 1px;
    text-transform: uppercase;
    /* 14px - 16px */
    font-size: 1.4rem;
    line-height: 1.5em;
    text-decoration: none;
    margin: 0;
    color: var(--bodyTextColor);
    display: block;
    position: relative;
    align-items: center;
  }
  #cs-navigation .cs-li-link:hover:before {
    width: 100%;
  }
  #cs-navigation .cs-li-link.cs-active:before {
    width: 100%;
  }
  #cs-navigation .cs-li-link:before {
    /* active state underline */
    content: "";
    width: 0%;
    height: 2px;
    background: red;
    opacity: 1;
    display: block;
    position: absolute;
    bottom: 0rem;
    left: 0;
    transition: width 0.3s;
  }
  #cs-navigation .cs-button-solid {
   margin-left: 4rem;
    font-size: 1.3rem;
    font-weight: 700;
    /* 46px - 56px */
    line-height: clamp(2.875em, 5.5vw, 3.5em);
    text-align: center;
    text-decoration: none;
    min-width: 9.375rem;
    
    /* prevents padding from adding to the width */
    box-sizing: border-box;
    padding: 0 1.5rem;
    color: #fff;
    background-color: #ED1A3B;
    border-radius: 0.25rem;
    display: inline-block;
    position: relative;
    z-index: 1;
  }
  #cs-navigation .cs-button-solid:before {
    content: "";
    width: 0%;
    height: 100%;
    background: #c41630;
    opacity: 1;
    border-radius: 0.25rem;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    transition: width 0.3s;
  }
  #cs-navigation .cs-button-solid:hover:before {
    width: 100%;
  }
}

/* === Fonts (local) === */
@font-face {
  font-family: "Oswald";
  src: url("../fonts/Oswald-VariableFont_wght.ttf") format("truetype");
  font-weight: 200 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat-VariableFont_wght.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

/* === Theme === */
#mealplanner {
  --bg:#0d0d0f;           
  --panel:#141418;        
  --muted:#1b1b21;        
  --red:#e50914;          
  --red-600:#c40811;
  --red-700:#9f070e;
  --text:#f5f5f7;         
  --text-dim:#c9c9cf;
  --border:#2a2a31;
  --accent:#ff3b47;       
  --ok:#23c552;
  --warn:#ffb020;
  --shadow: 0 10px 24px rgba(0,0,0,.35);
  margin-top: 30px;
}

#mealplanner html,
#mealplanner body {
  background: var(--bg);
  color: var(--text);
  font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* === Page Header === */
#mealplanner .meal-header {
  display:flex;
  align-items:center;
  gap:18px;
  margin: 20px 0 20px;
}
#mealplanner .meal-title {
  font-family:"Oswald", sans-serif;
  font-weight:600;
  letter-spacing:.5px;
  margin:0;
  color: var(--text);
  text-transform: uppercase;
}
#mealplanner .meal-sub {
  color: black;
  font-family: Oswald;
  font-weight: 500;
  letter-spacing: 1px;
  font-size: 40px;
  margin:0;
}

/* === Week Picker === */
#mealplanner .week-picker {
  width: 100%;
  font-family: Oswald;
}

#mealplanner .week-picker .control-label {
  color: black!important;
  font-weight:600;
  text-transform: uppercase;
  font-size:.75rem;
  letter-spacing:.08em;
}
#mealplanner .week-picker select {
  width: 100%;
  background: var(--muted);
  color: var(--text);
  border:1px solid var(--border);
  padding:10px 12px;
  border-radius:10px;
  outline:none;
  box-shadow:none;
}
#mealplanner .week-picker button {
  background: linear-gradient(180deg, var(--red), var(--red-600));
  color:#fff;
  border:0;
  border-radius:10px;
  font-weight:700;
  letter-spacing:.02em;
  cursor:pointer;
  box-shadow: var(--shadow);
  position: flex;
  align-items: center;
  justify-content: center;


}
#mealplanner .week-picker button:hover {
  filter: brightness(1.1);
}

/* === Grid === */
#mealplanner .week-grid {
  display:grid;
  grid-template-columns: repeat(3, minmax(260px, 1fr));
  gap:18px;
}
@media (max-width: 1100px){
  #mealplanner .week-grid{ grid-template-columns: repeat(2, minmax(260px, 1fr)); }
}
@media (max-width: 700px){
  #mealplanner .week-grid{ grid-template-columns: 1fr; }
}

/* === Day Card === */
#mealplanner .day-card {
  background: linear-gradient(180deg, var(--panel), var(--muted));
  border:1px solid var(--border);
  border-radius:16px;
  padding:16px;
  box-shadow: var(--shadow);
  position:relative;
  overflow:hidden;
} 
#mealplanner .day-card h4 {
  font-family: "Oswald", sans-serif;
  font-weight:600;
  margin:0 0 12px;
  letter-spacing:.4px;
  color: white;
}

/* Slot row */
#mealplanner .slot {
  display:flex;
  align-items:center;
  gap:10px;
  margin:8px 0;
}
#mealplanner .slot strong {
  min-width:70px;
  font-family:"Oswald", sans-serif;
  color:#fff;
}
#mealplanner .slot select {
  flex:1;
  background:#0f0f13;
  color:var(--text);
  border:1px solid var(--border);
  border-radius:10px;
  padding:10px 12px;
  outline:none;
}
#mealplanner .slot select:focus {
  border-color: var(--red);
  box-shadow: 0 0 0 2px rgba(229,9,20,.2);
}

/* Day total bar */
#mealplanner .day-total {
  margin-top:12px;
  padding:10px 12px;
  border-radius:12px;
  background: linear-gradient(90deg, rgba(229,9,20,.25), rgba(229,9,20,.08));
  border:1px solid var(--border);
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-weight:700;
}

#mealplanner .day-total span{
  color: white;
}
#mealplanner .day-total .cal-badge {
  background: var(--red);
  color:#fff;
  padding:6px 10px;
  border-radius:999px;
  font-weight:800;
  letter-spacing:.02em;
}
#mealplanner .btn-save {
  margin-top: 12px;
  width: 100%;
  background: linear-gradient(180deg, var(--red), var(--red-700));
  color: #fff;
  border: 0;
  border-radius: 12px;
  padding: 11px 14px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  cursor: pointer;
  box-shadow: var(--shadow);

  display: flex;              
  align-items: center;       
  justify-content: center;   
}
#mealplanner .btn-save:hover { filter: brightness(1.1); }

/* Flash messages (Cake) */
#mealplanner .message {
  background:#122012;
  color:#b9f5c8;
  border:1px solid #214a2a;
  padding:10px 12px;
  border-radius:10px;
  margin: 6px 0 14px;
}
#mealplanner .message.error {
  background:#2a1416;
  color:#ffc9ce;
  border-color:#5f1f24;
}

.main-page {
  width: 100%;
  display: flex;
  flex-direction: column;   /* stack buttons vertically */
  align-items: center;      /* center horizontally */
  justify-content: center;  /* center vertically if you want */
}

.btn-save {
  margin-top: 12px;
  width: 25%;
  background: #ED1A3B;
  color: #fff;
  border: 0;
  border-radius: 12px;
  padding: 11px 14px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  cursor: pointer;
  box-shadow: var(--shadow);
  display: flex;              
  align-items: center;       
  justify-content: center;   
}

.btn-save:hover { filter: brightness(1.1); }

#register {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 60px 20px;
    background: #000;
    min-height: 100vh;
    font-family: 'Montserrat', sans-serif;
  }

  .register-container {
    width: 100%;
    max-width: 720px;
  }

  .register-card {
    background: #111;
    padding: 40px;
    border-radius: 12px;
    border: 1px solid #222;
    box-shadow: 0 6px 20px rgba(0,0,0,0.7);
  }

  .register-title {
    font-family: 'Oswald', sans-serif;
    font-size: 2rem;
    color: #ED1A3B;
    margin-bottom: 25px;
    text-align: center;
  }

  /* === Form === */
  fieldset {
    border: none;
    margin: 0;
    padding: 0;
  }

  .row {
    display: flex;
    gap: 20px;
  }

  .row .column {
    flex: 1;
  }

  label {
    font-weight: 600;
    color: #fff;
    margin-bottom: 6px;
    display: inline-block;
    font-family: 'Montserrat', sans-serif;
  }

  input, select {
    width: 100%;
    padding: 12px 14px;
    border-radius: 6px;
    border: 1px solid #333;
    background: #1a1a1a;
    color: #f3f3f3;
    font-size: 0.95rem;
    transition: border-color 0.2s, box-shadow 0.2s;
  }

  input:focus, select:focus {
    outline: none;
    border-color: #ED1A3B;
    box-shadow: 0 0 0 3px rgba(237, 26, 59, 0.35);
  }

  /* === Buttons === */
  .form-actions {
    display: flex;
    justify-content: space-between;
    margin-top: 30px;
  }

  .btn-primary {
    background: #ED1A3B;
    border: none;
    padding: 12px 24px;
    border-radius: 6px;
    color: #fff;
    font-weight: 600;
    font-family: 'Montserrat', sans-serif;
    cursor: pointer;
    transition: background 0.2s;
  }

  .btn-primary:hover {
    background: #c41630;
  }

  .btn-secondary {
    color: #ED1A3B;
    text-decoration: none;
    font-weight: 500;
    font-family: 'Montserrat', sans-serif;
    align-self: center;
  }

  .btn-secondary:hover {
    text-decoration: underline;
  }

  /* Flash messages */
  .message {
    padding: 12px 16px;
    margin-bottom: 20px;
    border-radius: 6px;
    font-weight: 500;
  }

   :root {
    --brand: #ED1A3B;
    --black: #0b0b0b;
    --ink: #eaeaea;
    --ink-dim: #bdbdbd;
    --card: #111214;
    --line: #202226;
    --focus: rgba(237,26,59,0.35);
  }
  
  #register {
    min-height: 100vh;
    background: radial-gradient(1200px 600px at 20% 10%, rgba(237,26,59,0.12), transparent),
                linear-gradient(180deg, #000, #060606 60%, #000);
    color: var(--ink);
    font-family: 'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    display: grid;
    place-items: stretch;
  }

  /* ===== Layout ===== */
  #register .grid {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    min-height: 100vh;
  }

  /* Left brand pane */
  .brand-pane {
    position: relative;
    background: linear-gradient(180deg, var(--brand), #0f0103 95%);
    padding: 56px clamp(24px, 6vw, 72px);
    display: grid;
    align-content: center;
    overflow: hidden;
  }
  .brand-inner {
    max-width: 560px;
    color: #fff;
  }
  .badge {
    display: inline-block;
    font-family: 'Oswald', sans-serif;
    letter-spacing: .08em;
    text-transform: uppercase;
    background: rgba(0,0,0,.18);
    border: 1px solid rgba(255,255,255,.25);
    padding: 6px 10px;
    border-radius: 999px;
    margin-bottom: 16px;
  }
  .brand-pane h1 {
    font-family: 'Oswald', sans-serif;
    font-size: clamp(28px, 4.2vw, 48px);
    line-height: 1.05;
    margin: 0 0 12px 0;
    color: white;
  }
  .brand-pane p {
    margin: 0 0 18px 0;
    color: #fff;
    opacity: .95;
  }
  .highlights {
    list-style: none;
    padding: 0;
    margin: 18px 0 0 0;
    display: grid;
    gap: 8px;
  }
  .highlights li {
    position: relative;
    padding-left: 20px;
  }
  .highlights li::before {
    content: '';
    position: absolute;
    left: 0;
    top: .6em;
    width: 8px;
    height: 8px;
    border-radius: 2px;
    background: #fff;
    transform: rotate(45deg);
    opacity: .9;
  }
  .stripe {
    position: absolute;
    inset: auto -40% -40% auto;
    width: 120%;
    height: 28%;
    background: linear-gradient(90deg, rgba(255,255,255,.15), rgba(255,255,255,0));
    transform: rotate(-12deg);
    pointer-events: none;
  }

  /* Right form pane */
  .form-pane {
    display: grid;
    place-items: center;
    padding: 40px 24px;
    background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0)) ;
  }
  .card {
    width: min(720px, 92vw);
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: clamp(20px, 4vw, 36px);
    box-shadow: 0 20px 60px rgba(0,0,0,.45);
  }
  .card-head h2 {
    font-family: 'Oswald', sans-serif;
    font-size: clamp(22px, 3vw, 30px);
    margin: 0 0 4px;
    color: white;
  }
  .card-head .sub {
    color: var(--ink-dim);
    margin: 0 0 18px;
  }
  .card-head .sub a {
    color: var(--brand);
    text-decoration: none;
    font-weight: 600;
  }
  .card-head .sub a:hover { text-decoration: underline; }

  /* ===== Form ===== */
  .form { display: grid; gap: 16px; }
  .row { display: grid; gap: 16px; grid-template-columns: 1fr 1fr; }
  .col { display: grid; gap: 8px; }

  .field { display: grid; gap: 8px; }

  /* Style Cake inputs & selects */
  .form input[type="text"],
  .form input[type="email"],
  .form input[type="password"],
  .form input[type="number"],
  .form input[type="date"],
  .form select {
    width: 100%;
    padding: 12px 14px;
    border-radius: 10px;
    border: 1px solid var(--line);
    background: #131417;
    color: var(--ink);
    font-size: 0.98rem;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
    font-size: 1.5rem;
  }
  .form label {
    font-weight: 600;
    color: #e9e9e9;
    font-size: 1.5rem;
  }
  .form input:focus,
  .form select:focus {
    outline: none;
    border-color: var(--brand);
    box-shadow: 0 0 0 4px var(--focus);
    background: #14161a;
  }

  .actions {
    margin-top: 8px;
  }
  .btn {
    width: 100%;
    background: var(--brand);
    border: none;
    color: #fff;
    font-weight: 700;
    letter-spacing: .02em;
    padding: 14px 18px;
    display: flex ;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    cursor: pointer;
    transition: transform .05s ease, filter .2s ease, box-shadow .2s ease;
    font-family: 'Montserrat', sans-serif;
  }
  .btn:hover { filter: brightness(.95); }
  .btn:active { transform: translateY(1px); }

  /* Flash messages */
  .message {
    padding: 12px 14px;
    border-radius: 10px;
    margin-bottom: 12px;
    font-weight: 600;
    border: 1px solid var(--line);
  }
  .message.error   { background: #2a1013; color: #ffd2d7; border-color: #44151b; }
  .message.success { background: #102a14; color: #c6f7d0; border-color: #1c3b22; }

  /* ===== Responsive ===== */
  @media (max-width: 1024px) {
    #register .grid { grid-template-columns: 1fr; }
    .brand-pane { min-height: 36vh; border-bottom: 1px solid rgba(255,255,255,.15); }
    .form-pane { padding-top: 24px; }
  }
  @media (max-width: 560px) {
    .row { grid-template-columns: 1fr; }
  }

  :root {
    --brand: #ED1A3B;
    --black: #0b0b0b;
    --ink: #eaeaea;
    --ink-dim: #bdbdbd;
    --card: #111214;
    --line: #202226;
    --focus: rgba(237,26,59,0.35);
  }

  #login {
    min-height: 100vh;
    display: grid;
    place-items: center;
    background: linear-gradient(180deg, #000, #0a0a0a 60%, #000);
    font-family: 'Oswald', sans-serif;
    color: var(--ink);
  }

  .login-container {
    width: 100%;
    max-width: 440px;
    padding: 16px;
  }

  .login-card {
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 40px 32px;
    box-shadow: 0 20px 60px rgba(0,0,0,.45);
  }

  .login-header h1 {
    font-family: 'Oswald', sans-serif;
    font-size: 2rem;
    color: var(--brand);
    margin: 0 0 8px 0;
    text-align: center;
    letter-spacing: 1px;
  }

  .login-header .sub {
    text-align: center;
    color: var(--ink-dim);
    margin-bottom: 24px;
  }

  fieldset {
    border: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 18px;
  }

  label {
    font-weight: 600;
    margin-bottom: 6px;
    display: inline-block;
    font-size: 1.5rem;
  }

  input {
    width: 100%;
    padding: 12px 14px;
    border-radius: 8px;
    border: 1px solid var(--line);
    background: #1a1a1a;
    color: var(--ink);
    font-size: 1.5rem;
    transition: border-color 0.2s, box-shadow 0.2s;
  }

  input:focus {
    outline: none;
    border-color: var(--brand);
    box-shadow: 0 0 0 3px var(--focus);
  }

  .actions {
    margin-top: 20px;
  }

  .btn {
    width: 100%;
    background: var(--brand);
    border: none;
    padding: 14px;
    border-radius: 8px;
    color: #fff;
    font-weight: 700;
    font-family: 'Montserrat', sans-serif;
    cursor: pointer;
    transition: filter 0.2s, transform 0.05s;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .btn:hover { filter: brightness(.95); }
  .btn:active { transform: translateY(1px); }

  .btn-outline {
    display: block;
    width: 100%;
    padding: 12px;
    text-align: center;
    border: 1px solid var(--brand);
    border-radius: 8px;
    color: var(--brand);
    text-decoration: none;
    font-weight: 600;
    transition: background 0.2s, color 0.2s;
    margin-top: 12px;
  }
  .btn-outline:hover {
    background: var(--brand);
    color: #fff;
  }

  .divider {
    margin: 24px 0;
    border: 0;
    border-top: 1px solid var(--line);
  }

  .links {
    text-align: right;
    margin-top: 12px;
  }
  .link {
    color: var(--brand);
    text-decoration: none;
    font-weight: 500;
  }
  .link:hover { text-decoration: underline; }

  .message {
    padding: 12px;
    border-radius: 6px;
    margin-bottom: 16px;
    font-weight: 600;
  }

   header#home-hero {
        position: relative;
        padding: 80px 20px 46px;
        background:
          radial-gradient(900px 400px at 10% 0%, rgba(237,26,59,0.15), rgba(0,0,0,0)),
          linear-gradient(180deg, #0b0b0b, #050505 60%, #000);
        border-bottom: 1px solid #1f1f1f;
        text-align: left;
      }
      header#home-hero h1 {
        font-family: 'Oswald', sans-serif;
        font-size: clamp(28px, 4.2vw, 52px);
        line-height: 1.05;
        margin: 0 0 10px 0;
        color: #ED1A3B;
      }
      header#home-hero p {
        margin: 0;
        color: #bdbdbd;
        font-size: clamp(14px, 1.5vw, 18px);
      }

      /* ===== Main Grid ===== */
      main#home-main {
        padding: 28px 20px 60px;
      }
      .feature-grid {
        display: grid;
        gap: 16px;
        grid-template-columns: repeat(6, minmax(0,1fr));
      }
      @media (max-width: 1200px) { .feature-grid { grid-template-columns: repeat(3, 1fr); } }
      @media (max-width: 680px)  { .feature-grid { grid-template-columns: repeat(2, 1fr); } }
      @media (max-width: 440px)  { .feature-grid { grid-template-columns: 1fr; } }

      /* ===== Feature Card Buttons ===== */
      .feature-card {
        display: grid;
        align-content: center;
        gap: 8px;
        padding: 18px 16px;
        background: #111214;
        border: 1px solid #202226;
        border-radius: 12px;
        box-shadow: 0 10px 30px rgba(0,0,0,.35);
        transition: transform .08s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
        text-align: left;
      }
      .feature-card:hover {
        transform: translateY(-2px);
        border-color: #ED1A3B;
        box-shadow: 0 16px 40px rgba(237,26,59,.15);
        background: #121419;
      }
      .feature-title {
        font-family: 'Oswald', sans-serif;
        font-size: 2rem;
        letter-spacing: .02em;
        color: #fff;
        margin: 0;
      }
      .feature-sub {
        margin: 0;
        
        color: #a6a6a6;
        font-size: 1.8rem;
      }
      .feature-cta {
        margin-top: 10px;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        font-weight: 700;
        color: #ED1A3B;
      }
      .feature-cta::after {
        content: '→';
        font-size: 1rem;
        line-height: 1;
        transform: translateX(0);
        transition: transform .18s ease;
      }
      .feature-card:hover .feature-cta::after { transform: translateX(2px); }

      /* ===== Footer strip (optional) ===== */
      .foot-accent {
        height: 4px;
        background: linear-gradient(90deg, #ED1A3B, #9b0f25 60%, #ED1A3B);
        opacity: .9;
      }
    

      #profile {
  background:
    radial-gradient(900px 400px at 8% -10%, rgba(237,26,59,0.12), rgba(0,0,0,0)),
    linear-gradient(180deg, #000, #080808 60%, #000);
}

.app-background {
  background:  
    radial-gradient(900px 400px at 8% -10%, rgba(237,26,59,0.12), rgba(0,0,0,0)),
    linear-gradient(180deg, #000, #080808 60%, #000);
  background-size: cover;
}

/* Cards / surfaces */
.card-surface {
  background: #111214;
  border: 1px solid #202226;
  border-radius: 14px;
  padding: 16px;
  box-shadow: 0 12px 36px rgba(0,0,0,.45);
}

/* Header block */
.profile-head .title {
  font-family: 'Oswald', sans-serif;
  color: #ED1A3B;
  font-size: 1.9rem;
  margin: 0 0 6px 0;
}
.profile-head .subtitle {
  margin: 0;
  color: #bdbdbd;
}
.profile-head .meta {
  margin: 8px 0 16px;
  color: #a9a9a9;
}
.profile-head .meta span { color: #eaeaea; }

/* Avatar & upload */
.profile-img {
  text-align: center;
  padding: 24px;
}
.profile-img .avatar {
  width: 200px; height: 200px; object-fit: cover;
  border-radius: 16px;
  border: 1px solid #2a2a2a;
  box-shadow: 0 8px 28px rgba(0,0,0,.45);
}
.upload-btn {
  margin-top: 14px;
  background: #ED1A3B;
  border: none;
  color: #fff;
  font-weight: 700;
  border-radius: 10px;
  padding: 10px 16px;
  cursor: pointer;
  transition: filter .2s, transform .05s;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.upload-btn:hover { filter: brightness(.95); }
.upload-btn:active { transform: translateY(1px); }

/* Tabs */
.profile-tabs {
  border-bottom: 1px solid #202226;
  margin-top: 12px;
}
.profile-tabs .nav-link {
  color: #c7c7c7;
  border: none;
  padding: 10px 14px;
  transition: color .18s, border-color .18s, background .18s;
}
.profile-tabs .nav-link:hover {
  color: #fff;
  background: #141518;
}
.profile-tabs .nav-link.active {
  color: #ED1A3B !important;
  background: transparent;
  border-bottom: 2px solid #ED1A3B;
}

/* Tab content card */
.profile-tab {
  margin-top: 12px;
}
.profile-tab label {
  color: #eaeaea;
  font-weight: 600;
}
.profile-tab p {
  margin: 0;
  color: #bdbdbd;
}

.email {
  font-weight: 600;
  color: white;
  font-size: 1.2rem;

}
/* Buttons */
.btn-accent {
  background: #ED1A3B;
  border: none;
  color: #fff !important;
  font-weight: 700;
  border-radius: 10px;
  padding: 10px 16px;
  transition: filter .2s, transform .05s, box-shadow .2s;
  box-shadow: 0 8px 26px rgba(237,26,59,.18);
}
.btn-accent:hover { filter: brightness(.96); }
.btn-accent:active { transform: translateY(1px); }

/* Quick links */
.profile-work {
  padding: 16px 16px 12px;
}
.profile-work .section-label {
  font-family: 'Oswald', sans-serif;
  color: #ED1A3B;
  margin: 0 0 8px 0;
  letter-spacing: .02em;
}
.link-accent {
  color: #ED1A3B;
  font-weight: 600;
  text-decoration: none;
}
.link-accent:hover { text-decoration: underline; }

/* Utilities */
.emp-profile { margin-top: 10px; }
.row.py-2 { border-bottom: 1px dashed #202226; }
.row.py-2:last-child { border-bottom: none; }

/* Responsive */
@media (max-width: 767.98px) {
  #profile { padding-top: 24px; }
  .profile-head .title { font-size: 1.6rem; }
  .profile-img .avatar { width: 160px; height: 160px; }
}