@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800;900&display=swap");

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Poppins", sans-serif;
}

html {
  font-size: 12px;
}

body {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  background: url('/static/ind-architects-shkola-iqanat-80-scaled-e1668499129221.jpg') no-repeat;
  background-size: cover;
  background-position: center;
}

.wrapper {
  width: 30rem; /* 420px */
  background: transparent;
  border: 0.14rem solid rgba(255, 255, 255, .2);
  backdrop-filter: blur(20px);
  box-shadow: 0 0 0.71rem rgba(0, 0, 0, .2);
  color: #fff;
  border-radius: 0.71rem;
  padding: 2.14rem 2.86rem;
}

.wrapper h1 {
  font-size: 2.57rem; /* 36px */
  text-align: center;
}

.wrapper .input-box {
  position: relative;
  width: 100%;
  height: 3.57rem; /* 50px */
  margin: 2.14rem 0;
}

.input-box input {
  width: 100%;
  height: 100%;
  background: transparent;
  border: none;
  outline: none;
  border: 0.14rem solid rgba(255, 255, 255, .2);
  border-radius: 2.86rem;
  font-size: 1.14rem;
  color: #fff;
  padding: 1.43rem 3.21rem 1.43rem 1.43rem;
}

.input-box input::placeholder {
  color: #fff;
}

.input-box i {
  position: absolute;
  right: 1.43rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.43rem;
}

.wrapper .remember-forgot {
  display: flex;
  justify-content: space-between;
  font-size: 1.04rem; /* 14.5px */
  margin: -1.07rem 0 1.07rem;
}

.remember-forgot label input {
  accent-color: #fff;
  margin-right: 0.21rem;
}

.remember-forgot a {
  color: #fff;
  text-decoration: none;
}

.remember-forgot a:hover {
  text-decoration: underline;
}

.wrapper .btn {
  width: 100%;
  height: 3.21rem;
  background: #fff;
  border: none;
  outline: none;
  border-radius: 2.86rem;
  box-shadow: 0 0 0.71rem rgba(0, 0, 0, .1);
  cursor: pointer;
  font-size: 1.14rem;
  color: #333;
  font-weight: 600;
}

.wrapper .register-link {
  font-size: 1.04rem;
  text-align: center;
  margin: 1.43rem 0 1.07rem;
}

.register-link p a {
  color: #fff;
  text-decoration: none;
  font-weight: 600;
}

.register-link p a:hover {
  text-decoration: underline;
}

.futuristic-toggle {
  position: absolute;
  top: 2.14rem;
  right: 2.14rem;
  display: flex;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(8px);
  border-radius: 0.86rem;
  overflow: hidden;
  border: 0.07rem solid rgba(255, 255, 255, 0.3);
  box-shadow: 0 0 0.86rem #00ffe5;
  z-index: 999;
}

.bg-option {
  padding: 0.71rem 1.29rem;
  font-size: 1.43rem;
  color: white;
  cursor: pointer;
  position: relative;
  transition: color 0.3s;
  z-index: 1;
}

.bg-option:hover {
  color: #00ffe5;
}

.slider-highlight {
  position: absolute;
  bottom: 0;
  height: 0.21rem;
  width: 33.33%;
  background: #00ffe5;
  transition: transform 0.3s ease;
  z-index: 0;
}

/* Зеленоватый стиль для дневной темы */
.day-theme .nav__logo,
.day-theme .nav__logo img,
.day-theme .nav__link,
.day-theme .nav__actions i {
    color: #238048 !important; /* тёплый зелёный, подбери свой */
    fill: #238048 !important;
    /* Если логотип SVG — fill будет работать */
}

/* Можно отдельно для лого img если SVG с одним цветом */
.day-theme .nav__logo img {
    filter: brightness(0) saturate(100%) invert(40%) sepia(47%) saturate(460%) hue-rotate(80deg) brightness(95%) contrast(90%);
}

.main__bg {
    opacity: 0;
    transition: opacity 0.5s;
}
.main__bg.loaded {
    opacity: 1;
}

/* === STEP 3D: compact login page === */
.wrapper {
  width: 26rem;                /* было 30rem */
  padding: 1.75rem 2.25rem;    /* меньше внутренние отступы */
  border-radius: .6rem;
}
.wrapper h1 { font-size: 2.2rem; }
.wrapper .input-box { height: 3.2rem; margin: 1.6rem 0; }
.input-box input {
  padding: 1.1rem 2.8rem 1.1rem 1.1rem;
  font-size: 1rem;
}
.input-box i { font-size: 1.2rem; right: 1.1rem; }
.wrapper .remember-forgot { font-size: .95rem; margin: -.9rem 0 .9rem; }
.wrapper .btn { height: 2.85rem; font-size: 1.05rem; }
.wrapper .register-link { font-size: .95rem; margin: 1.1rem 0 .9rem; }


/* === Step 4A: compact tables, unified look === */
.sched-table th, .sched-table td,
.grades-table th, .grades-table td {
  padding: .5rem .65rem !important;
  min-width: 100px !important;
}

.sched-table, .grades-table, .course-card-container .note,
.admin-section-card {
  border-radius: 12px !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.08) !important;
}

/* === STEP 4B.4: polish login === */
.wrapper{
  width: 26rem !important;
  padding: 1.75rem 2.25rem !important;
  border-radius: .6rem !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.12) !important;
}
.input-box{ height: 3.2rem !important; margin: 1.6rem 0 !important; }
.input-box input{ font-size: 1rem !important; padding: 1.1rem 2.8rem 1.1rem 1.1rem !important; }
.wrapper .btn{ height: 2.85rem !important; font-size: 1.05rem !important; }
