@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Newsreader:ital,opsz,wght@0,6..72,200..800;1,6..72,200..800&display=swap");
* {
  box-sizing: border-box;
}

html {
  overflow-x: hidden;
}

body {
  margin: 0;
  font-family: "Montserrat", sans-serif;
  background-color: #f6f6f6;
  color: #2d536e;
  overflow-x: hidden;
}

a {
  color: inherit;
  text-decoration: none;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
}

p {
  margin: 0;
}

ul, ol {
  padding: 0;
  list-style: none;
}

.text-muted {
  color: #6b7280;
}

.text-center {
  text-align: center;
}

.small {
  font-size: 13px;
}

.form-help {
  font-size: 13px;
  color: #6b7280;
  margin-top: 8px;
  margin-bottom: 16px;
  line-height: 1.5;
}

.container {
  width: min(1200px, 92%);
  margin: 0 auto;
  padding: 1em 0 4em 0;
}

.actions {
  display: flex;
  gap: 16px;
}

.empty-state {
  text-align: center;
  padding: 64px 16px;
  color: #6b7280;
  font-size: 18px;
}

.text-muted {
  color: #6b7280;
}

.small {
  font-size: 0.9em;
}

.tiny {
  font-size: 0.8em;
}

.header-banner {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 32px;
  margin-bottom: 24px;
  min-height: 40vh;
  background: #2d536e;
  padding: 48px 48px;
  color: white;
}
.header-banner .contained {
  max-width: 1200px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  margin: 0 auto;
  width: 100%;
}
.header-banner h1 {
  font-size: clamp(5vh, 2em, 7vh);
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 14px;
}
.header-banner a {
  background: white;
  color: #2d536e;
  padding: 8px 16px;
  border-radius: 4px;
  font-weight: 600;
  font-size: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.header-banner a svg {
  width: 24px;
  height: 24px;
  transition: all 0.3s ease;
  margin-right: 0;
}
.header-banner a:hover {
  background: #1e384a;
}
.header-banner a:hover svg {
  margin-right: 10px;
}

.site-header {
  position: sticky;
  top: 0;
  background: white;
  color: #2d536e;
  padding: 16px 0;
  border-bottom: 3px solid #2d536e;
  z-index: 100;
  transition: transform 0.3s ease-in-out;
  transform: translateY(0);
}
.site-header--hidden {
  transform: translateY(-100%);
}

.logo {
  font-weight: 800;
  font-size: 26px;
  text-transform: uppercase;
}

.nav {
  display: flex;
  gap: 16px;
  align-items: center;
}
.nav a {
  transition: all 0.2s;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.nav a::after {
  content: "";
  opacity: 0;
  position: absolute;
  border: 1px solid #2d536e;
  height: 30px;
  width: 30px;
  border-radius: 50%;
  transition: all 0.2s;
}
.nav a:hover {
  color: #2d536e;
}
.nav a:hover::after {
  opacity: 1;
}
.nav a.active {
  font-weight: 700;
  color: #2d536e;
  position: relative;
}
.nav a.active::after {
  content: "";
  position: absolute;
  bottom: -10px;
  border-bottom: 1px solid #2d536e;
  left: 0;
  right: 0;
  height: 3px;
  width: 100%;
  opacity: 1;
  background: #2d536e;
  border-radius: 2px;
}
.nav a:hover:not(.active) {
  color: #2d536e;
}
.nav a.login-button {
  padding: 8px 20px;
  border-radius: 20px;
  color: white;
}

.header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 auto;
  max-width: 1200px;
  padding: 0;
}
@media screen and (max-width: 1000px) {
  .header-row {
    padding: 0 20px;
  }
}

.burger-button {
  display: none;
  flex-direction: column;
  justify-content: space-around;
  width: 30px;
  height: 30px;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  z-index: 1001;
  position: relative;
}
.burger-button span {
  width: 100%;
  height: 3px;
  background: #2d536e;
  border-radius: 2px;
  transition: opacity 0.3s ease;
  transform-origin: center;
}
.burger-button--active span {
  opacity: 0;
}
.burger-button--active::before, .burger-button--active::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 3px;
  background: #2d536e;
  border-radius: 2px;
  top: 50%;
  left: 0;
  transition: all 0.3s ease;
}
.burger-button--active::before {
  transform: rotate(45deg);
}
.burger-button--active::after {
  transform: rotate(-45deg);
}

.nav-overlay {
  display: none;
}

@media screen and (max-width: 768px) {
  .burger-button {
    display: flex;
  }
  .nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    width: 100dvw;
    height: 100vh;
    height: 100dvh;
    background: white;
    flex-direction: column;
    align-items: flex-start;
    padding: 80px 2rem 2rem;
    gap: 1.5rem;
    box-shadow: none;
    transition: transform 0.3s ease;
    z-index: 1000;
    overflow-y: auto;
    transform: translateX(100%);
  }
  .nav a {
    width: 100%;
    padding: 0.75rem 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    font-size: 1.1rem;
  }
  .nav a.active {
    border-bottom: 3px solid #2d536e;
    font-weight: 700;
    color: #2d536e;
  }
  .nav a.active::after {
    display: none;
  }
  .nav a.button-nav {
    margin-top: 1rem;
    padding: 0.75rem 1.5rem;
    text-align: center;
    border: 2px solid #2d536e;
    border-radius: 4px;
    width: auto;
  }
  .nav--open {
    transform: translateY(0);
  }
  .nav-overlay {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    width: 100dvw;
    height: 100vh;
    height: 100dvh;
    background: rgba(0, 0, 0, 0.5);
    z-index: 999;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    margin: 0;
    padding: 0;
  }
  .nav-overlay--active {
    opacity: 1;
    visibility: visible;
  }
}
.button {
  display: inline-block;
  padding: 10px 20px;
  width: fit-content;
  background: #2d536e;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  transition: all 0.3s ease;
  text-decoration: none;
}
.button:hover {
  background: #1e384a;
  color: white;
}

.button-small {
  padding: 6px 12px;
  font-size: 13px;
  margin-top: 16px;
}

.button-secondary {
  background: #6b7280;
}
.button-secondary:hover {
  background: #545964;
}

.button-danger {
  background: #dc2626;
  display: flex;
  margin: 0 auto;
  align-items: center;
  justify-content: center;
  gap: 4px;
}
.button-danger:hover {
  background: #b21d1d;
}
.button-danger svg {
  width: 24px;
  height: 24px;
  margin-right: 10px;
}

.button-primary {
  background: #2d536e;
}
.button-primary:hover {
  background: #1e384a;
}

.button-hero {
  background: white;
  color: #2d536e;
  padding: 16px 40px;
  font-size: 1.1em;
  font-weight: 700;
  border-radius: 50px;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}
.button-hero:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
}

.button-hero-secondary {
  background: transparent;
  color: white;
  padding: 16px 40px;
  font-size: 1.1em;
  font-weight: 700;
  border: 2px solid white;
  border-radius: 50px;
  text-decoration: none;
  transition: all 0.3s ease;
}
.button-hero-secondary:hover {
  background: white;
  color: #2d536e;
  transform: translateY(-3px);
}

.button-cta {
  background: #2d536e;
  color: white;
  padding: 18px 50px;
  font-size: 1.2em;
  font-weight: 700;
  border-radius: 50px;
  text-decoration: none;
  display: inline-block;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(37, 99, 235, 0.3);
}
.button-cta:hover {
  background: #1e384a;
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(37, 99, 235, 0.4);
}

.button-logout {
  background: #37415b;
  color: white;
  padding: 5px 10px;
  font-size: 14px;
  font-weight: 600;
  width: 40px;
  border-radius: 40px;
  cursor: pointer;
  transition: all 0.3s ease;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1/1;
}
.button-logout svg {
  margin-right: -4px;
  width: 24px;
  height: 24px;
}
.button-logout:hover {
  background: #242a3b;
}

.form-group {
  margin-bottom: 20px;
}

.form-group label {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
}

.form-group input[type=text],
.form-group input[type=email],
.form-group input[type=password],
.form-group input[type=date],
.form-group textarea,
.form-group select {
  width: 100%;
  padding: 10px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  font-size: 14px;
}

.form-group input[type=text]:focus,
.form-group input[type=email]:focus,
.form-group input[type=password]:focus,
.form-group input[type=date]:focus,
.form-group textarea:focus,
.form-group select:focus {
  outline: none;
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.date-input {
  max-width: 250px;
}

.form-help {
  margin-top: 8px;
  font-size: 14px;
  color: #6b7280;
  font-style: italic;
}

.form-error,
.invalid-feedback {
  display: block;
  color: #dc2626;
  font-size: 13px;
  margin-top: 4px;
}

ul.form-error,
ul.invalid-feedback {
  list-style: none;
  padding: 0;
  margin: 4px 0 0 0;
}
ul.form-error li,
ul.invalid-feedback li {
  margin-bottom: 2px;
}

.form-actions {
  display: flex;
  gap: 12px;
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid #e5e7eb;
}

.course-form {
  background: #ffffff;
  padding: 32px;
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  margin-top: 24px;
}

.inline-form {
  display: inline-block;
  margin: 0;
}

.level-select {
  padding: 6px 10px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  font-size: 13px;
  cursor: pointer;
  background: #ffffff;
  min-width: 150px;
}
.level-select:hover {
  border-color: #2d536e;
}
.level-select:focus {
  outline: none;
  border-color: #2d536e;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.search-bar {
  background: white;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  margin-bottom: 24px;
}

.search-form {
  width: 100%;
}

.search-input-group {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}
@media (max-width: 768px) {
  .search-input-group {
    flex-direction: column;
    align-items: stretch;
  }
}

.search-input {
  flex: 1;
  padding: 12px 16px;
  border: 2px solid #d1d5db;
  border-radius: 8px;
  font-size: 1em;
  transition: all 0.3s ease;
  min-width: 300px;
}
.search-input:focus {
  outline: none;
  border-color: #2d536e;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}
.search-input::placeholder {
  color: #6b7280;
}
@media (max-width: 768px) {
  .search-input {
    min-width: 100%;
  }
}

.search-results-info {
  margin-top: 12px;
  color: #6b7280;
  font-size: 0.95em;
}
.search-results-info strong {
  color: #2d536e;
}

.contact-form {
  padding: 40px;
  border-radius: 12px;
}
.contact-form .form-group {
  margin-bottom: 24px;
}
.contact-form .form-group label {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #2d536e;
}
.contact-form .form-group input,
.contact-form .form-group textarea {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  font-size: 1em;
  transition: border-color 0.3s ease;
}
.contact-form .form-group input:focus,
.contact-form .form-group textarea:focus {
  outline: none;
  border-color: #2d536e;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}
.contact-form .form-group textarea {
  resize: vertical;
  font-family: inherit;
}
.contact-form .button-primary {
  width: 100%;
  background: #2d536e;
  color: white;
  padding: 14px;
  font-size: 1.1em;
  font-weight: 600;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
}
.contact-form .button-primary:hover {
  background: #1e384a;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.3);
}

.course-form > div {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 16px;
}
.course-form label {
  font-size: 20px;
  font-weight: 600;
}
.course-form input, .course-form select {
  height: 30px;
  padding: 0 10px;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  font-size: 13px;
}
.course-form textarea {
  min-height: 200px;
  padding: 10px;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  font-size: 13px;
}

input[type=file]::file-selector-button {
  border: none;
  padding: 0.8em 1.2em;
  border-radius: 1.2em;
  color: white;
  background-color: #2d536e;
  transition: 1s;
  margin-right: 10px;
}

.form-group textarea#inspiration_image_caption {
  min-height: 150px;
  max-width: 50%;
  resize: none;
}

.form-gallery .form-actions {
  justify-content: flex-start;
}

.login-container {
  min-height: calc(100vh - 120px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  background: linear-gradient(135deg, #e8f0f5 0%, #f6f6f6 100%);
}

.login-card {
  background: white;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  padding: 48px;
  max-width: 800px;
  width: 100%;
}
.login-card h1 {
  margin: 0 0 8px 0;
  font-size: 32px;
  color: #2d536e;
  text-align: center;
}

.login-subtitle {
  text-align: center;
  color: #6b7280;
  margin: 0 0 32px 0;
  font-size: 16px;
}

.login-form {
  margin-bottom: 32px;
}
.login-form .form-group {
  margin-bottom: 20px;
}
.login-form .form-group label {
  display: block;
  margin-bottom: 8px;
  font-weight: 500;
  color: #2d536e;
}
.login-form .forgot-password-link {
  display: block;
  margin-top: 8px;
  font-size: 14px;
  color: #2d536e;
  text-decoration: none;
  text-align: right;
  transition: color 0.3s ease;
}
.login-form .forgot-password-link:hover {
  color: #2d536e;
  text-decoration: underline;
}
.login-form .form-input {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  font-size: 16px;
  transition: border-color 0.3s ease;
}
.login-form .form-input:focus {
  outline: none;
  border-color: #2d536e;
}
.login-form .button-full {
  width: 100%;
  margin-top: 8px;
}

.login-divider {
  position: relative;
  text-align: center;
  margin: 32px 0;
}
.login-divider::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 1px;
  background: #e5e7eb;
}
.login-divider span {
  position: relative;
  background: white;
  padding: 0 16px;
  color: #6b7280;
  font-size: 14px;
}

.login-register-section h2 {
  font-size: 24px;
  margin: 0 0 14px 0;
  text-align: center;
  color: #2d536e;
}
.login-register-section > p {
  text-align: center;
  color: #6b7280;
  margin: 0 0 24px 0;
}

.register-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 24px;
}
@media (max-width: 768px) {
  .register-options {
    grid-template-columns: 1fr;
  }
}

.register-option {
  border: 2px solid #e5e7eb;
  border-radius: 8px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  transition: border-color 0.3s ease;
}
.register-option h3 {
  margin: 0 0 8px 0;
  font-size: 18px;
  color: #2d536e;
}
.register-option p {
  margin: 0 0 20px 0;
  color: #6b7280;
  font-size: 14px;
  flex-grow: 1;
}
.register-option .button {
  width: 100%;
}

.register-option-content {
  flex-grow: 1;
}

.register-option--info {
  background: #f6f6f6;
  border: 2px solid #e5e7eb;
}
.register-option--info .register-option-content h3 {
  color: #6b7280;
}
.register-option--info .register-option-content p {
  color: #6b7280;
  font-style: italic;
}

.activation-info {
  background: #e8f0f5;
  padding: 16px;
  border-radius: 6px;
  margin: 20px 0;
  border-left: 4px solid #2d536e;
}
.activation-info p {
  margin: 0;
  color: #2d536e;
}

.activation-details {
  margin-top: 30px;
  padding-top: 20px;
  border-top: 1px solid #e5e7eb;
}
.activation-details h3 {
  margin: 0 0 15px 0;
  font-size: 16px;
  color: #2d536e;
}
.activation-details ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.activation-details ul li {
  padding: 8px 0;
  color: #6b7280;
}
.activation-details ul li strong {
  color: #2d536e;
}

.form-card {
  background: white;
  border-radius: 12px;
  padding: 40px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  max-width: 800px;
  margin: 40px auto;
}

.form-section {
  margin-bottom: 30px;
}

.form-section__title {
  font-size: 20px;
  margin: 0 0 20px 0;
  color: #2d536e;
  padding-bottom: 10px;
  border-bottom: 2px solid #2d536e;
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
@media (max-width: 768px) {
  .form-row {
    grid-template-columns: 1fr;
  }
}

.form-info {
  background: #f6f6f6;
  padding: 20px;
  border-radius: 6px;
  margin: 20px 0;
}
.form-info p {
  margin: 0 0 10px 0;
  font-weight: 600;
}
.form-info ul {
  margin: 10px 0 0 0;
  padding-left: 20px;
}
.form-info ul li {
  margin: 5px 0;
  color: #6b7280;
}

.form-actions {
  display: flex;
  gap: 15px;
  justify-content: flex-end;
  margin-top: 30px;
  padding-top: 20px;
  border-top: 1px solid #e5e7eb;
}

.alert-error {
  background: #fee2e2;
  color: #dc2626;
  padding: 12px 16px;
  border-radius: 6px;
  margin-bottom: 20px;
  border: 1px solid #dc2626;
}

.register-container {
  min-height: calc(100vh - 120px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  background: linear-gradient(135deg, #e8f0f5 0%, #f6f6f6 100%);
}

.register-card {
  background: white;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  padding: 48px;
  max-width: 600px;
  width: 100%;
}

.register-header {
  text-align: center;
  margin-bottom: 32px;
}
.register-header h1 {
  margin: 0 0 8px 0;
  font-size: 28px;
  color: #2d536e;
}

.register-subtitle {
  color: #6b7280;
  margin: 0;
  font-size: 16px;
}

.register-form .form-group {
  margin-bottom: 20px;
}
.register-form .form-group label {
  display: block;
  margin-bottom: 8px;
  font-weight: 500;
  color: #2d536e;
}
.register-form .form-group .form-input {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  font-size: 16px;
  transition: border-color 0.3s ease;
}
.register-form .form-group .form-input:focus {
  outline: none;
  border-color: #2d536e;
}
.register-form .form-group .form-help {
  margin: 8px 0 0 0;
  font-size: 13px;
  color: #6b7280;
}
.register-form .form-group-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.register-form .form-group-checkbox .form-checkbox {
  margin-top: 4px;
  width: 18px;
  height: 18px;
  cursor: pointer;
}
.register-form .form-group-checkbox label {
  margin: 0;
  font-weight: 400;
  font-size: 14px;
  cursor: pointer;
}
.register-form .button-full {
  width: 100%;
  margin-top: 8px;
}
.register-form .form-error {
  color: #dc2626;
  font-size: 13px;
  margin-top: 4px;
}

.oauth-section {
  margin: 24px 0;
}
.oauth-section .button-google {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background: white;
  color: #2d536e;
  border: 1px solid #e5e7eb;
  font-weight: 500;
}
.oauth-section .button-google:hover {
  background: #f6f6f6;
  border-color: #d1d5db;
}
.oauth-section .button-google svg {
  flex-shrink: 0;
}

.register-footer {
  text-align: center;
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid #e5e7eb;
}
.register-footer p {
  margin: 0;
  color: #6b7280;
  font-size: 14px;
}
.register-footer p a {
  color: #2d536e;
  font-weight: 500;
}
.register-footer p a:hover {
  text-decoration: underline;
}

.login-footer {
  text-align: center;
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid #e5e7eb;
}
.login-footer p {
  margin: 0;
  color: #6b7280;
  font-size: 14px;
}
.login-footer p a {
  color: #2d536e;
  font-weight: 500;
  text-decoration: none;
}
.login-footer p a:hover {
  text-decoration: underline;
}

.scroll-to-top {
  position: fixed;
  bottom: 24px;
  right: 24px;
  width: 48px;
  height: 48px;
  background: #2d536e;
  color: white;
  border: none;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 99;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease, background-color 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.scroll-to-top svg {
  width: 24px;
  height: 24px;
}
.scroll-to-top:hover {
  background: #1e384a;
}
.scroll-to-top--visible {
  opacity: 1;
  visibility: visible;
}
@media (max-width: 768px) {
  .scroll-to-top {
    width: 44px;
    height: 44px;
    bottom: 16px;
    right: 16px;
  }
  .scroll-to-top svg {
    width: 20px;
    height: 20px;
  }
}

.progress-bar-container {
  width: 100%;
  height: 8px;
  background: #e5e7eb;
  border-radius: 10px;
  overflow: hidden;
  margin: 8px 0;
}

.progress-bar {
  height: 100%;
  background: linear-gradient(90deg, #2d536e, #3c6e92);
  border-radius: 10px;
  transition: width 0.3s ease;
}

.progress-bar-large {
  height: 12px;
  margin: 16px 0;
}

.stats-bar {
  display: flex;
  width: 100%;
  gap: 24px;
  justify-content: space-around;
  background: white;
  padding: 24px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}

.stat-item {
  text-align: center;
  flex: 1;
  min-width: 100px;
}

.stat-value {
  font-size: 2em;
  font-weight: 700;
  color: #2d536e;
  margin-bottom: 4px;
}

.stat-label {
  font-size: 13px;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.badge {
  display: inline-block;
  padding: 4px 10px;
  background: #dbeafe;
  color: #1e40af;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 600;
}

.badge-small {
  font-size: 11px;
  padding: 3px 8px;
}

.badge-success {
  background: #d1fae5;
  color: #065f46;
}

.badge-warning {
  background: #fef3c7;
  color: #92400e;
}

.badge-info {
  background: #e0e7ff;
  color: #3730a3;
}

.badge-danger {
  background: #fee2e2;
  color: #991b1b;
}

.card-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 24px;
}

.card {
  background: white;
  padding: 24px;
  border-radius: 10px;
  transition: all 0.3s ease;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.card h2 {
  font-size: 24px;
  color: #2d536e;
  margin-bottom: 0.8em;
}
.card p {
  margin: 0;
  margin-bottom: 20px;
}
.card a {
  color: #2d536e;
  background: #e8f0f5;
  padding: 8px 16px;
  border-radius: 6px;
  margin-top: 8px;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.3s ease;
}
.card a:hover {
  background: #c4d9e6;
}

.section-title {
  font-size: 1.75rem;
  font-weight: 700;
  color: #2d536e;
  margin-bottom: 24px;
  margin-top: 32px;
}
.section-title--spaced {
  margin-top: 3rem;
}

.course-meta {
  display: flex;
  gap: 8px;
  align-items: baseline;
  flex-wrap: wrap;
  margin-top: 16px;
  width: 100%;
}
.course-meta .text-muted {
  color: white;
  margin-top: 16px;
}

.filter-bar {
  display: flex;
  gap: 16px;
  align-items: center;
  margin-bottom: 24px;
  flex-wrap: wrap;
}

.filter-label {
  font-weight: 600;
  color: #2d536e;
}

.filter-buttons {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.filter-button {
  padding: 8px 16px;
  background: #f6f6f6;
  color: #2d536e;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  transition: all 0.3s ease;
}
.filter-button:hover {
  background: #e9e9e9;
}
.filter-button.active {
  background: #2d536e;
  color: white;
}

.tabs {
  display: flex;
  gap: 8px;
  margin-bottom: 24px;
}

.tab {
  padding: 10px 20px;
  background: #f6f6f6;
  color: #2d536e;
  border-radius: 6px;
  font-weight: 500;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 8px;
}
.tab:hover {
  background: #e9e9e9;
}
.tab.active {
  background: #2d536e;
  color: white;
}

.preview-banner {
  border-radius: 6px;
  text-align: center;
  font-weight: 600;
  margin-bottom: 24px;
  display: flex;
  margin-left: 16px;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
}
.preview-banner svg {
  width: 40px;
  height: 40px;
}

.danger-zone {
  margin-top: 48px;
}
.danger-zone h3 {
  color: #dc2626;
  margin-bottom: 16px;
}

.alert {
  padding: 16px 24px;
  border-radius: 8px;
  margin-bottom: 20px;
}

.alert-success {
  background: #d1fae5;
  color: #065f46;
  border: 1px solid #6ee7b7;
}

img {
  max-width: 100%;
  height: auto;
}

.students-table {
  background: white;
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  overflow-x: scroll;
}
.students-table table {
  width: 100%;
  border-collapse: collapse;
}
.students-table thead {
  background: #f6f6f6;
}
.students-table thead th {
  padding: 16px;
  text-align: left;
  font-weight: 600;
  color: #2d536e;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.students-table tbody td {
  padding: 16px;
  border-top: 1px solid #e5e7eb;
}
.students-table tr:hover {
  background: rgba(45, 83, 110, 0.02);
}
.students-table .inactive-row {
  background: rgba(245, 158, 11, 0.05);
}
.students-table .inactive-row td {
  color: #6b7280;
}

.table-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

.trix-content {
  min-height: 200px;
}

trix-editor {
  border: 1px solid #d1d5db;
  border-radius: 6px;
  padding: 16px;
  min-height: 300px;
}
trix-editor:focus {
  outline: none;
  border-color: #2d536e;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

trix-toolbar {
  border: 1px solid #d1d5db;
  border-bottom: none;
  border-radius: 6px 6px 0 0;
  background: #f6f6f6;
}

.course-content {
  background: white;
  padding: 48px;
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  margin-top: 24px;
  line-height: 1.8;
}
.course-content img {
  max-width: 100%;
  height: auto;
  border-radius: 6px;
  margin: 16px 0;
}
.course-content h1 {
  font-size: 2em;
  margin-top: 0.67em;
  margin-bottom: 0.67em;
}
.course-content h2 {
  font-size: 1.5em;
  margin-top: 0.83em;
  margin-bottom: 0.83em;
}
.course-content ul, .course-content ol {
  padding-left: 2em;
}
.course-content blockquote {
  border-left: 4px solid #e5e7eb;
  padding-left: 1em;
  margin-left: 0;
  color: #6b7280;
}
.course-content pre {
  background: #f3f4f6;
  padding: 1em;
  border-radius: 6px;
  overflow-x: auto;
}

.submissions-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 16px;
}

.submission-card {
  border: 1px solid #2d536e;
  border-radius: 8px;
  padding: 20px;
}

.submission-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 16px;
  border-bottom: 1px solid #e5e7eb;
}
.submission-header div:first-child {
  display: inline-flex;
  align-items: baseline;
  gap: 20px;
}

.submission-header h3 {
  margin: 0 0 4px 0;
  font-size: 18px;
  color: #111827;
}

.submission-body {
  margin-bottom: 16px;
}

.submission-body p {
  margin: 8px 0;
}

.submission-actions {
  display: flex;
  gap: 8px;
}

.submissions-section {
  margin: 48px 0;
}
.submissions-section h2 {
  margin-bottom: 24px;
  text-align: center;
  font-size: 60px;
}

.submission-layout {
  display: grid;
  grid-template-columns: 400px 1fr;
  gap: 24px;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 48px;
  background: #98acba;
}
@media (max-width: 1024px) {
  .submission-layout {
    grid-template-columns: 1fr;
  }
}

.submission-sidebar {
  padding: 24px 24px 24px 60px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media screen and (max-width: 768px) {
  .submission-sidebar {
    padding: 24px;
  }
}

.submission-header-compact h3 {
  margin: 0 0 4px 0;
  font-size: 1.1em;
  color: #2d536e;
  font-weight: 600;
}
.submission-header-compact .badge {
  margin-top: 8px;
  display: inline-block;
}

.metadata-compact-section {
  background: white;
  padding: 16px;
  border-radius: 6px;
}
.metadata-compact-section h4 {
  margin: 0 0 16px 0;
  font-size: 1em;
  font-weight: 700;
  color: #2d536e;
}

.metadata-row {
  display: flex;
  justify-content: space-between;
  padding: 8px 0;
  border-bottom: 1px solid #e5e7eb;
}
.metadata-row:last-child {
  border-bottom: none;
}

.meta-label {
  font-weight: 600;
  color: #2d536e;
  font-size: 14px;
}

.meta-value {
  font-weight: 700;
  color: #2d536e;
  font-size: 14px;
}

.metadata-debug {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px dashed #e5e7eb;
}
.metadata-debug summary {
  cursor: pointer;
  font-size: 13px;
  color: #6b7280;
  user-select: none;
  padding: 4px 0;
}
.metadata-debug summary:hover {
  color: #2d536e;
}

.metadata-raw {
  background: #1f2937;
  color: #10b981;
  padding: 16px;
  border-radius: 6px;
  font-size: 11px;
  overflow-x: auto;
  margin-top: 8px;
  max-height: 400px;
  overflow-y: auto;
  font-family: "Courier New", monospace;
}

.comment-section h4 {
  margin: 0 0 8px 0;
  font-size: 1em;
  font-weight: 700;
  color: #2d536e;
}

.comment-placeholder {
  width: 100%;
  min-height: 120px;
  padding: 16px;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  resize: vertical;
  background: white;
}
.comment-placeholder:disabled {
  background: #f9fafb;
  cursor: not-allowed;
}

.teacher-comment-box {
  background: white;
  padding: 16px;
  border-radius: 6px;
}
.teacher-comment-box p {
  margin: 0;
  line-height: 1.6;
  font-style: italic;
}

.no-comment-box {
  background: white;
  padding: 16px;
  border-radius: 6px;
  border: 1px dashed #e5e7eb;
  text-align: center;
}
.no-comment-box p {
  margin: 0;
  color: #6b7280;
  font-style: italic;
}

.submission-status-box {
  margin-top: auto;
  background: white;
  padding: 16px;
  border-radius: 6px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.status-graded,
.status-pending {
  display: flex;
  align-items: center;
  gap: 16px;
}

.status-icon {
  font-size: 2em;
}

.status-graded strong {
  color: #10b981;
  display: block;
  margin-bottom: 4px;
}
.status-graded p {
  margin: 0;
  color: #2d536e;
  font-weight: 600;
}

.status-pending strong {
  display: block;
  margin-bottom: 4px;
}
.status-pending p {
  margin: 0;
  color: #6b7280;
  font-size: 13px;
}

.button-full {
  width: 100%;
  margin-top: auto;
}

.submission-preview {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 500px;
  position: relative;
  padding: 24px 60px 24px 24px;
}
@media (max-width: 1024px) {
  .submission-preview {
    min-height: 400px;
  }
}
@media screen and (max-width: 768px) {
  .submission-preview {
    padding: 24px;
  }
}

.submission-image-display {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.submission-photo {
  max-width: 100%;
  max-height: 600px;
  border-radius: 6px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
  object-fit: contain;
}

.photo-preview-placeholder-large {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: white;
}

.file-icon-xl {
  margin-bottom: 24px;
}
.file-icon-xl svg {
  width: 150px;
  height: 150px;
  opacity: 0.8;
}

.apercu-label {
  font-size: 2em;
  font-weight: 600;
  color: white;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.submission-details-toggle {
  grid-column: 1/-1;
  background: #f6f6f6;
  padding: 16px 24px;
  border-top: 1px solid #e5e7eb;
}
.submission-details-toggle summary {
  cursor: pointer;
  font-weight: 600;
  color: #2d536e;
  user-select: none;
  list-style: none;
  display: flex;
  align-items: center;
  gap: 8px;
}
.submission-details-toggle summary::-webkit-details-marker {
  display: none;
}
.submission-details-toggle summary:hover {
  color: #2d536e;
}
.submission-details-toggle .photo-metadata-grid {
  margin-top: 24px;
}

.submission-detail-card {
  background: white;
  padding: 24px;
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  margin-bottom: 24px;
}

.submission-detail-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 2px solid #e5e7eb;
}
.submission-detail-header h3 {
  margin: 0 0 8px 0;
  font-size: 1.3em;
  color: #2d536e;
}

.photo-settings-highlight {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  padding: 24px;
  border-radius: 10px;
  margin-top: 24px;
  box-shadow: 0 4px 20px rgba(102, 126, 234, 0.3);
}
.photo-settings-highlight h4 {
  margin: 0 0 16px 0;
  font-size: 1.3em;
  color: white;
  text-align: center;
}

.settings-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 16px;
}

.setting-card {
  background: white;
  padding: 16px;
  border-radius: 6px;
  text-align: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: transform 0.2s, box-shadow 0.2s;
}
.setting-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}

.setting-icon {
  font-size: 2em;
  margin-bottom: 8px;
}

.setting-label {
  font-size: 13px;
  color: #6b7280;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 4px;
}

.setting-value {
  font-size: 1.4em;
  font-weight: bold;
  color: #2d536e;
}

.photo-metadata-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 24px;
  margin-top: 24px;
}

.metadata-section {
  background: #f6f6f6;
}
.metadata-section h4 {
  margin: 0 0 16px 0;
  font-size: 1.1em;
  color: #2d536e;
  display: flex;
  align-items: center;
  gap: 8px;
}

.metadata-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.metadata-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 0;
  border-bottom: 1px solid #e5e7eb;
}
.metadata-item:last-child {
  border-bottom: none;
}

.metadata-label {
  font-weight: 600;
  color: #6b7280;
  font-size: 13px;
}

.metadata-value {
  color: #2d536e;
  font-weight: 500;
  text-align: right;
}

.teacher-comment {
  background: #fef3c7;
  border: 2px solid #fbbf24;
  padding: 16px;
  border-radius: 6px;
  margin-top: 24px;
}
.teacher-comment h4 {
  margin: 0 0 8px 0;
  color: #92400e;
}
.teacher-comment p {
  margin: 0;
  color: #78350f;
  line-height: 1.6;
}

.upload-section {
  margin: 48px 0;
}

.upload-card {
  background: white;
  padding: 24px;
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.upload-instructions {
  background: #e0f2fe;
  border-left: 4px solid #0284c7;
  padding: 16px;
  border-radius: 6px;
  margin-bottom: 24px;
}
.upload-instructions p {
  margin: 0;
  color: #075985;
  line-height: 1.6;
}

.button-large {
  padding: 16px 32px;
  font-size: 18px;
  font-weight: 700;
}

.upload-section-disabled {
  margin: 0 auto 48px auto;
  max-width: 1200px;
}

.already-submitted-message {
  background: #f0fdf4;
  border: 2px solid #22c55e;
  border-radius: 10px;
  padding: 32px;
  display: flex;
  align-items: center;
  gap: 24px;
  box-shadow: 0 2px 10px rgba(34, 197, 94, 0.1);
}
.already-submitted-message .check-icon {
  font-size: 3em;
  color: #22c55e;
}
.already-submitted-message h3 {
  margin: 0 0 4px 0;
  color: #166534;
  font-size: 20px;
}
.already-submitted-message p {
  margin: 0;
  color: #15803d;
  line-height: 1.6;
}

.photo-preview-zone {
  margin: 24px 0;
}

.photo-preview-container {
  background: #f6f6f6;
  border: 2px solid #2d536e;
  border-radius: 10px;
  overflow: hidden;
  animation: slideIn 0.3s ease-out;
}

@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.photo-preview-header {
  background: #2d536e;
  color: white;
  padding: 16px 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.photo-preview-header h3 {
  margin: 0;
  font-size: 1.2em;
  color: white;
}

.button-close {
  background: transparent;
  border: none;
  color: white;
  font-size: 1.5em;
  cursor: pointer;
  padding: 0;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background 0.2s;
}
.button-close:hover {
  background: rgba(255, 255, 255, 0.2);
}

.photo-preview-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  padding: 24px;
}
@media (max-width: 768px) {
  .photo-preview-content {
    grid-template-columns: 1fr;
  }
}

.photo-preview-placeholder {
  background: white;
  border: 2px dashed #e5e7eb;
  border-radius: 6px;
  padding: 32px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 300px;
}

.photo-preview-image-container {
  background: white;
  border: 2px solid #e5e7eb;
  border-radius: 6px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.preview-image {
  max-width: 100%;
  max-height: 400px;
  border-radius: 6px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  margin-bottom: 16px;
  object-fit: contain;
}

.file-icon {
  color: #2d536e;
  margin-bottom: 16px;
}
.file-icon svg {
  width: 80px;
  height: 80px;
}

.file-icon-large {
  margin-bottom: 24px;
  animation: fadeIn 0.5s ease-out;
}
.file-icon-large svg {
  width: 120px;
  height: 120px;
  filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.1));
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: scale(0.8);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
.file-format-badge {
  display: inline-block;
  padding: 12px 32px;
  border-radius: 50px;
  font-size: 1.8em;
  font-weight: bold;
  color: white;
  margin: 16px 0;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  letter-spacing: 2px;
}

.file-format {
  font-size: 2em;
  font-weight: bold;
  color: #2d536e;
  margin: 16px 0;
}

.file-name {
  color: #6b7280;
  font-size: 13px;
  word-break: break-all;
  max-width: 100%;
}

.file-name-large {
  color: #2d536e;
  font-size: 16px;
  font-weight: 600;
  word-break: break-all;
  max-width: 100%;
  margin: 16px 0 8px 0;
}

.file-description {
  color: #6b7280;
  font-size: 13px;
  font-style: italic;
  margin: 0;
}

.photo-metadata-preview {
  background: white;
  padding: 16px;
  border-radius: 6px;
}
.photo-metadata-preview h4 {
  margin: 0 0 16px 0;
  color: #2d536e;
  font-size: 1.1em;
}

.metadata-grid-preview {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 16px;
}

.metadata-item-preview {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px;
  background: #f6f6f6;
  border-radius: 4px;
  border-left: 3px solid #2d536e;
}
.metadata-item-preview .metadata-label {
  font-weight: 600;
  color: #6b7280;
  font-size: 13px;
}
.metadata-item-preview .metadata-value {
  color: #2d536e;
  font-weight: 500;
  text-align: right;
  word-break: break-word;
  max-width: 60%;
}

.metadata-note {
  background: #e0f2fe;
  border: 1px solid #0284c7;
  border-radius: 6px;
  padding: 16px;
  margin-top: 16px;
}
.metadata-note p {
  margin: 0;
  color: #075985;
  font-size: 13px;
  line-height: 1.6;
}

.photo-preview-error {
  background: #fee2e2;
  border: 2px solid #ef4444;
  border-radius: 6px;
  padding: 16px;
  margin: 24px 0;
  text-align: center;
}
.photo-preview-error p {
  margin: 0;
  color: #991b1b;
  font-weight: 600;
}

.classes-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 24px;
}

.classe-card {
  background: white;
  padding: 24px;
  border-radius: 10px;
  border: 2px solid #a7c2d5;
}
.classe-card h3 {
  margin: 0 0 8px 0;
  font-size: 1.5em;
  color: #2d536e;
}
.classe-card .classe-meta {
  display: flex;
  gap: 8px;
  margin-bottom: 16px;
}
.classe-card .classe-description {
  color: #6b7280;
  margin-bottom: 16px;
  line-height: 1.6;
}
.classe-card .classe-students {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #e5e7eb;
}
.classe-card .classe-students .students-list {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 8px;
}
.classe-card .classe-students .student-name {
  background: #f6f6f6;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 13px;
}
.classe-card .classe-students .more-students {
  color: #6b7280;
  font-size: 13px;
}

trix-editor {
  min-height: 600px !important;
  border: 1px solid #e5e7eb;
  padding: 16px;
  background: white;
}
trix-editor:focus {
  outline: none;
  border-color: #2d536e;
}
trix-editor p {
  margin: 8px 0;
  line-height: 1.6;
}
trix-editor p:first-child {
  margin-top: 0;
}
trix-editor p:last-child {
  margin-bottom: 0;
}
trix-editor h2 {
  font-size: 1.8rem;
  font-weight: 700;
  color: #2d536e;
  margin: 24px 0 16px 0;
  line-height: 1.3;
  display: block;
}
trix-editor h2:first-child {
  margin-top: 0;
}
trix-editor h3 {
  font-size: 1.4rem;
  font-weight: 600;
  color: #2d536e;
  margin: 16px 0 8px 0;
  line-height: 1.4;
  display: block;
}
trix-editor h3:first-child {
  margin-top: 0;
}
trix-editor p h2,
trix-editor p h3 {
  display: block;
  margin-left: -16px;
  margin-right: -16px;
}
trix-editor div {
  margin: 0;
}

trix-toolbar {
  border: 1px solid #e5e7eb;
  border-bottom: none;
  background: #f6f6f6;
}
trix-toolbar .trix-button-group {
  border: none;
}

.trix-button-group--heading-tools {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  margin-left: 8px;
  padding-left: 8px;
  border-left: 1px solid #e5e7eb;
}
.trix-button-group--heading-tools .trix-button {
  background: white;
  border: 1px solid #e5e7eb;
  padding: 6px 10px;
  cursor: pointer;
  transition: background-color 0.3s ease, border-color 0.3s ease;
}
.trix-button-group--heading-tools .trix-button:hover {
  background-color: #a6c5db;
  border-color: #2d536e;
}
.trix-button-group--heading-tools .trix-button.trix-active {
  background-color: #2d536e;
  border-color: #2d536e;
}
.trix-button-group--heading-tools .trix-button.trix-active .trix-button__label {
  color: white;
}
.trix-button-group--heading-tools .trix-button .trix-button__label {
  font-weight: 700;
  font-size: 0.85rem;
  color: #2d536e;
}

.trix-button-group--image-tools {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  margin-left: 8px;
  padding-left: 8px;
  border-left: 1px solid #e5e7eb;
}
.trix-button-group--image-tools .trix-button {
  background: white;
  border: 1px solid #e5e7eb;
  padding: 6px 10px;
  cursor: pointer;
  transition: background-color 0.3s ease, border-color 0.3s ease;
}
.trix-button-group--image-tools .trix-button:hover {
  background-color: #a6c5db;
  border-color: #2d536e;
}
.trix-button-group--image-tools .trix-button:active {
  background-color: #94b9d3;
}
.trix-button-group--image-tools .trix-button .trix-button__label {
  font-weight: 600;
  font-size: 0.9rem;
  color: #2d536e;
}
.trix-button-group--image-tools .trix-button-group-spacer {
  width: 1px;
  height: 24px;
  background: #e5e7eb;
  margin: 0 4px;
}

trix-editor figure.trix-image,
trix-editor figure[data-trix-attachment],
.course-content figure.trix-image,
.course-content figure[data-trix-attachment],
.trix-content figure.trix-image,
.trix-content figure[data-trix-attachment] {
  margin: 24px 0;
  padding: 0;
  display: block;
}
trix-editor figure.trix-image img,
trix-editor figure[data-trix-attachment] img,
.course-content figure.trix-image img,
.course-content figure[data-trix-attachment] img,
.trix-content figure.trix-image img,
.trix-content figure[data-trix-attachment] img {
  display: block;
  max-width: 100%;
  height: auto;
  border: 1px solid #e5e7eb;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
trix-editor figure.trix-image figcaption,
trix-editor figure[data-trix-attachment] figcaption,
.course-content figure.trix-image figcaption,
.course-content figure[data-trix-attachment] figcaption,
.trix-content figure.trix-image figcaption,
.trix-content figure[data-trix-attachment] figcaption {
  margin-top: 8px;
  font-size: 0.9rem;
  color: #6b7280;
  font-style: italic;
  text-align: center;
}
trix-editor img[data-image-size],
.course-content img[data-image-size],
.trix-content img[data-image-size] {
  display: block;
  max-width: 100%;
  height: auto;
  border: 1px solid #e5e7eb;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  margin: 24px auto;
}
trix-editor figure.trix-image--small img, trix-editor figure.trix-image--small,
trix-editor img[data-image-size=small] img,
trix-editor img[data-image-size=small],
.course-content figure.trix-image--small img,
.course-content figure.trix-image--small,
.course-content img[data-image-size=small] img,
.course-content img[data-image-size=small],
.trix-content figure.trix-image--small img,
.trix-content figure.trix-image--small,
.trix-content img[data-image-size=small] img,
.trix-content img[data-image-size=small] {
  width: 25%;
  min-width: 200px;
}
trix-editor figure.trix-image--medium img, trix-editor figure.trix-image--medium,
trix-editor img[data-image-size=medium] img,
trix-editor img[data-image-size=medium],
.course-content figure.trix-image--medium img,
.course-content figure.trix-image--medium,
.course-content img[data-image-size=medium] img,
.course-content img[data-image-size=medium],
.trix-content figure.trix-image--medium img,
.trix-content figure.trix-image--medium,
.trix-content img[data-image-size=medium] img,
.trix-content img[data-image-size=medium] {
  width: 50%;
  min-width: 300px;
}
trix-editor figure.trix-image--large img, trix-editor figure.trix-image--large,
trix-editor img[data-image-size=large] img,
trix-editor img[data-image-size=large],
.course-content figure.trix-image--large img,
.course-content figure.trix-image--large,
.course-content img[data-image-size=large] img,
.course-content img[data-image-size=large],
.trix-content figure.trix-image--large img,
.trix-content figure.trix-image--large,
.trix-content img[data-image-size=large] img,
.trix-content img[data-image-size=large] {
  width: 75%;
  min-width: 400px;
}
trix-editor figure.trix-image--full img, trix-editor figure.trix-image--full,
trix-editor img[data-image-size=full] img,
trix-editor img[data-image-size=full],
.course-content figure.trix-image--full img,
.course-content figure.trix-image--full,
.course-content img[data-image-size=full] img,
.course-content img[data-image-size=full],
.trix-content figure.trix-image--full img,
.trix-content figure.trix-image--full,
.trix-content img[data-image-size=full] img,
.trix-content img[data-image-size=full] {
  width: 100%;
}
trix-editor figure.trix-image--left,
trix-editor img[data-image-align=left],
.course-content figure.trix-image--left,
.course-content img[data-image-align=left],
.trix-content figure.trix-image--left,
.trix-content img[data-image-align=left] {
  text-align: left;
  display: block;
}
trix-editor figure.trix-image--left img, trix-editor figure.trix-image--left,
trix-editor img[data-image-align=left] img,
trix-editor img[data-image-align=left],
.course-content figure.trix-image--left img,
.course-content figure.trix-image--left,
.course-content img[data-image-align=left] img,
.course-content img[data-image-align=left],
.trix-content figure.trix-image--left img,
.trix-content figure.trix-image--left,
.trix-content img[data-image-align=left] img,
.trix-content img[data-image-align=left] {
  margin-left: 0;
  margin-right: auto;
}
trix-editor figure.trix-image--center,
trix-editor img[data-image-align=center],
.course-content figure.trix-image--center,
.course-content img[data-image-align=center],
.trix-content figure.trix-image--center,
.trix-content img[data-image-align=center] {
  text-align: center;
  display: block;
}
trix-editor figure.trix-image--center img, trix-editor figure.trix-image--center,
trix-editor img[data-image-align=center] img,
trix-editor img[data-image-align=center],
.course-content figure.trix-image--center img,
.course-content figure.trix-image--center,
.course-content img[data-image-align=center] img,
.course-content img[data-image-align=center],
.trix-content figure.trix-image--center img,
.trix-content figure.trix-image--center,
.trix-content img[data-image-align=center] img,
.trix-content img[data-image-align=center] {
  margin-left: auto;
  margin-right: auto;
}
trix-editor figure.trix-image--right,
trix-editor img[data-image-align=right],
.course-content figure.trix-image--right,
.course-content img[data-image-align=right],
.trix-content figure.trix-image--right,
.trix-content img[data-image-align=right] {
  text-align: right;
  display: block;
}
trix-editor figure.trix-image--right img, trix-editor figure.trix-image--right,
trix-editor img[data-image-align=right] img,
trix-editor img[data-image-align=right],
.course-content figure.trix-image--right img,
.course-content figure.trix-image--right,
.course-content img[data-image-align=right] img,
.course-content img[data-image-align=right],
.trix-content figure.trix-image--right img,
.trix-content figure.trix-image--right,
.trix-content img[data-image-align=right] img,
.trix-content img[data-image-align=right] {
  margin-left: auto;
  margin-right: 0;
}

.course-content p,
.trix-content p {
  margin: 16px 0;
  line-height: 1.7;
  color: #2d536e;
}
.course-content p:first-child,
.trix-content p:first-child {
  margin-top: 0;
}
.course-content p:last-child,
.trix-content p:last-child {
  margin-bottom: 0;
}
.course-content h2,
.trix-content h2 {
  font-size: 2rem;
  font-weight: 500;
  color: #2d536e;
  margin: 32px 0 24px 0;
  line-height: 1.3;
  padding-bottom: 8px;
  border-bottom: 2px solid #2d536e;
  display: block;
}
.course-content h2:first-child,
.trix-content h2:first-child {
  margin-top: 0;
}
.course-content h3,
.trix-content h3 {
  font-size: 1.5rem;
  font-weight: 500;
  color: #2d536e;
  margin: 24px 0 16px 0;
  line-height: 1.4;
  display: block;
}
.course-content h3:first-child,
.trix-content h3:first-child {
  margin-top: 0;
}
.course-content p h2,
.course-content p h3,
.trix-content p h2,
.trix-content p h3 {
  display: block;
  margin-left: 0;
  margin-right: 0;
}
.course-content h2 + p,
.course-content h3 + p,
.trix-content h2 + p,
.trix-content h3 + p {
  margin-top: 16px;
}
.course-content figure[data-trix-attachment],
.course-content figure,
.trix-content figure[data-trix-attachment],
.trix-content figure {
  margin: 32px 0;
}
.course-content figure[data-trix-attachment] img,
.course-content figure img,
.trix-content figure[data-trix-attachment] img,
.trix-content figure img {
  transition: opacity 0.3s ease;
}
.course-content figure[data-trix-attachment] img:hover,
.course-content figure img:hover,
.trix-content figure[data-trix-attachment] img:hover,
.trix-content figure img:hover {
  opacity: 0.95;
}
@media (max-width: 768px) {
  .course-content figure[data-trix-attachment] img,
  .course-content figure img,
  .trix-content figure[data-trix-attachment] img,
  .trix-content figure img {
    width: 100% !important;
    min-width: 0 !important;
  }
}

trix-editor figure.trix-image,
trix-editor figure[data-trix-attachment],
trix-editor img[data-image-size] {
  position: relative;
  cursor: pointer;
  transition: opacity 0.3s ease;
}
trix-editor figure.trix-image:hover,
trix-editor figure[data-trix-attachment]:hover,
trix-editor img[data-image-size]:hover {
  opacity: 0.9;
}
trix-editor figure.trix-image::before,
trix-editor figure[data-trix-attachment]::before,
trix-editor img[data-image-size]::before {
  content: "";
  position: absolute;
  top: -4px;
  left: -4px;
  right: -4px;
  bottom: -4px;
  border: 2px solid transparent;
  pointer-events: none;
  transition: border-color 0.3s ease;
}
trix-editor figure.trix-image:hover::before,
trix-editor figure[data-trix-attachment]:hover::before,
trix-editor img[data-image-size]:hover::before {
  border-color: #2d536e;
}

trix-editor .attachment--preview {
  opacity: 0.6;
}
trix-editor .attachment__progress {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: #2d536e;
  transition: width 0.3s ease;
}

.trix-editor-help {
  margin-top: 8px;
  padding: 8px 16px;
  background: #a6c5db;
  border: 1px solid #2d536e;
  font-size: 0.9rem;
  color: #2d536e;
}
.trix-editor-help strong {
  color: #2d536e;
  font-weight: 600;
}

form[name=exercise] > div,
form[name=course] > div {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 16px;
}
form[name=exercise] label,
form[name=course] label {
  font-size: 20px;
  font-weight: 600;
}
form[name=exercise] input, form[name=exercise] select,
form[name=course] input,
form[name=course] select {
  height: 30px;
  padding: 0 10px;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  font-size: 16px;
}
form[name=exercise] textarea,
form[name=course] textarea {
  padding: 10px;
}
form[name=exercise] input[type=date],
form[name=course] input[type=date] {
  height: 30px;
  padding: 0 10px;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  font-size: 16px;
}
form[name=exercise] .form-actions,
form[name=course] .form-actions {
  flex-direction: row !important;
  justify-content: flex-start !important;
}

.photo-preview-section {
  margin-top: 24px;
  padding: 24px;
  background: #f6f6f6;
  border: 2px dashed #e5e7eb;
  transition: all 0.3s ease;
}
.photo-preview-section.hidden {
  display: none;
}

.photo-preview {
  margin-bottom: 24px;
  text-align: center;
}
.photo-preview__image {
  max-width: 100%;
  max-height: 500px;
  height: auto;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  border: 1px solid #e5e7eb;
}

.photo-metadata {
  background: white;
  padding: 24px;
  border: 1px solid #e5e7eb;
}
.photo-metadata__title {
  font-size: 1.5rem;
  font-weight: 600;
  color: #2d536e;
  margin-bottom: 24px;
  padding-bottom: 8px;
  border-bottom: 2px solid #2d536e;
}
.photo-metadata__grid {
  display: flex;
  justify-content: center;
  max-width: 600px;
  margin: 0 auto;
}
.photo-metadata__section {
  padding: 24px;
  border: 2px solid #e5e7eb;
  flex: 1;
}
.photo-metadata__section--highlight .photo-metadata__section-title {
  color: #2d536e;
}
.photo-metadata__section-title {
  font-size: 1.1rem;
  font-weight: 600;
  color: #2d536e;
  margin-bottom: 16px;
  padding-bottom: 4px;
  border-bottom: 1px solid #e5e7eb;
}
.photo-metadata__list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.photo-metadata__item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  font-size: 1rem;
}
.photo-metadata__label {
  font-weight: 500;
  color: #6b7280;
  flex-shrink: 0;
  margin-right: 8px;
}
.photo-metadata__value {
  font-weight: 400;
  color: #2d536e;
  text-align: right;
  word-break: break-word;
}
.photo-metadata__value--important {
  font-weight: 700;
  color: #2d536e;
  font-size: 1.2rem;
}

@media (max-width: 768px) {
  .photo-metadata__grid {
    grid-template-columns: 1fr;
  }
  .photo-metadata__item {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }
  .photo-metadata__value {
    text-align: left;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.photo-preview-section:not(.hidden) {
  animation: fadeIn 0.3s ease;
}

.review-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  margin-top: 24px;
}
@media (max-width: 1024px) {
  .review-layout {
    grid-template-columns: 1fr;
  }
}

.review-photo-section {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.review-photo-card {
  background: white;
  border: 1px solid #e5e7eb;
  padding: 24px;
}

.review-photo-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 2px solid #2d536e;
}
.review-photo-header h2 {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 600;
  color: #2d536e;
}

.review-photo-preview {
  margin-bottom: 24px;
  text-align: center;
  background: #f6f6f6;
  padding: 16px;
  border: 1px solid #e5e7eb;
}

.review-photo-image {
  max-width: 100%;
  height: auto;
  max-height: 500px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  transition: opacity 0.3s ease;
}
.review-photo-image:hover {
  opacity: 0.9;
}

.review-photo-info {
  background: #f6f6f6;
  padding: 16px;
  border: 1px solid #e5e7eb;
}
.review-photo-info p {
  margin: 4px 0;
  font-size: 0.95rem;
  color: #2d536e;
}
.review-photo-info p strong {
  color: #6b7280;
  font-weight: 500;
}

.review-metadata-card {
  background: white;
  border: 1px solid #e5e7eb;
  padding: 24px;
}
.review-metadata-card h3 {
  margin: 0 0 24px 0;
  font-size: 1.3rem;
  font-weight: 600;
  color: #2d536e;
  padding-bottom: 8px;
  border-bottom: 2px solid #2d536e;
}
.review-metadata-card h4 {
  margin: 24px 0 16px 0;
  font-size: 1.1rem;
  font-weight: 600;
  color: #2d536e;
}

.metadata-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-bottom: 24px;
}
@media (max-width: 768px) {
  .metadata-grid {
    grid-template-columns: 1fr;
  }
}

.metadata-item {
  background: #f6f6f6;
  padding: 16px;
  border: 1px solid #e5e7eb;
  text-align: center;
}
.metadata-item__label {
  display: block;
  font-size: 0.85rem;
  font-weight: 500;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 4px;
}
.metadata-item__value {
  display: block;
  font-size: 1.3rem;
  font-weight: 700;
  color: #2d536e;
}

.metadata-section {
  margin-bottom: 24px;
}
.metadata-section:last-child {
  margin-bottom: 0;
}

.metadata-list p {
  margin: 4px 0;
  font-size: 0.95rem;
  color: #2d536e;
}
.metadata-list p strong {
  color: #6b7280;
  font-weight: 500;
}

.metadata-details {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid #e5e7eb;
}
.metadata-details summary {
  cursor: pointer;
  font-weight: 500;
  color: #2d536e;
  padding: 8px;
  background: #f6f6f6;
  border: 1px solid #e5e7eb;
  transition: background-color 0.3s ease;
}
.metadata-details summary:hover {
  background-color: #a6c5db;
}

.metadata-raw {
  margin-top: 16px;
  padding: 16px;
  background: #26251F;
  color: #fff;
  font-family: "Courier New", monospace;
  font-size: 0.85rem;
  overflow-x: auto;
  border: 1px solid #e5e7eb;
}

.review-form-section {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.review-form-card {
  background: white;
  border: 1px solid #e5e7eb;
  padding: 24px;
}
.review-form-card h2 {
  margin: 0 0 24px 0;
  font-size: 1.5rem;
  font-weight: 600;
  color: #2d536e;
  padding-bottom: 8px;
  border-bottom: 2px solid #2d536e;
}

.review-form .form-group {
  margin-bottom: 24px;
}
.review-form .form-group:last-child {
  margin-bottom: 0;
}
.review-form .form-input--large {
  font-size: 1.2rem;
  padding: 16px;
  font-weight: 600;
}
.review-form .form-textarea {
  min-height: 200px;
  resize: vertical;
}

.form-actions {
  display: flex;
  gap: 16px;
  margin-top: 32px;
}
@media (max-width: 768px) {
  .form-actions {
    flex-direction: column;
  }
}

.review-history-card {
  background: #a6c5db;
  border: 1px solid #2d536e;
  padding: 24px;
}
.review-history-card h3 {
  margin: 0 0 16px 0;
  font-size: 1.2rem;
  font-weight: 600;
  color: #2d536e;
}
.review-history-card p {
  margin: 4px 0;
  font-size: 0.95rem;
  color: #2d536e;
}

.photo-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.95);
  z-index: 9999;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.photo-modal--active {
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
}
.photo-modal__content {
  position: relative;
  max-width: 95%;
  max-height: 95%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.photo-modal__image {
  max-width: 100%;
  max-height: 95vh;
  height: auto;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
}
.photo-modal__close {
  position: absolute;
  top: -50px;
  right: 0;
  background: transparent;
  border: none;
  color: white;
  font-size: 3rem;
  cursor: pointer;
  padding: 8px 16px;
  line-height: 1;
  transition: opacity 0.3s ease;
}
.photo-modal__close:hover {
  opacity: 0.7;
}
@media (max-width: 768px) {
  .photo-modal__close {
    top: -40px;
    font-size: 2.5rem;
  }
}

.gallery-stats {
  display: flex;
  gap: 1.5rem;
  margin-bottom: 2rem;
}
.gallery-stats .stat-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1.5rem;
  background: var(--color-white);
  border-radius: 0.75rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  min-width: 150px;
}
.gallery-stats .stat-card .stat-value {
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--color-primary);
  line-height: 1;
  margin-bottom: 0.5rem;
}
.gallery-stats .stat-card .stat-label {
  font-size: 0.875rem;
  color: var(--color-text-muted);
  text-align: center;
}

.photo-carousel {
  background: var(--color-white);
  border-radius: 1rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}

.carousel-container {
  position: relative;
  width: 100%;
  min-height: 600px;
  display: flex;
  align-items: center;
}

.carousel-slides {
  position: relative;
  width: 100%;
  height: 600px;
  overflow: hidden;
}

.carousel-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease-in-out, visibility 0.5s ease-in-out;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  padding: 2rem;
}
.carousel-slide--active {
  opacity: 1;
  visibility: visible;
}

.carousel-slide-image {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-background);
  border-radius: 0.75rem;
  overflow: hidden;
  height: 100%;
}
.carousel-slide-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.carousel-slide-info {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  overflow-y: auto;
  padding-right: 0.5rem;
}
.carousel-slide-info .slide-info-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
}
.carousel-slide-info .slide-info-header h3 {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--color-text);
  margin: 0;
  flex: 1;
}
.carousel-slide-info .slide-info-header .badge {
  flex-shrink: 0;
}
.carousel-slide-info .slide-info-date {
  font-size: 0.875rem;
  color: var(--color-text-muted);
  margin: 0;
}
.carousel-slide-info .slide-info-comment {
  background: var(--color-background);
  padding: 1rem;
  border-radius: 0.5rem;
  border-left: 4px solid var(--color-primary);
}
.carousel-slide-info .slide-info-comment h4 {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--color-primary);
  margin: 0 0 0.5rem 0;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.carousel-slide-info .slide-info-comment p {
  margin: 0;
  color: var(--color-text);
  line-height: 1.6;
}

.carousel-button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: var(--color-white);
  border: none;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
  z-index: 10;
  transition: background-color 0.3s ease, opacity 0.3s ease;
  color: var(--color-text);
}
.carousel-button:hover {
  background-color: var(--color-primary);
  color: var(--color-white);
  opacity: 1;
}
.carousel-button:active {
  opacity: 0.8;
}
.carousel-button--prev {
  left: 1rem;
}
.carousel-button--next {
  right: 1rem;
}
.carousel-button svg {
  width: 24px;
  height: 24px;
}

.carousel-indicators {
  display: flex;
  justify-content: center;
  gap: 0.75rem;
  padding: 1.5rem;
  background: var(--color-background);
}

.carousel-indicator {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--color-border);
  border: none;
  cursor: pointer;
  transition: background-color 0.3s ease, opacity 0.3s ease;
  padding: 0;
}
.carousel-indicator:hover {
  background-color: var(--color-primary-light);
  opacity: 0.8;
}
.carousel-indicator--active {
  background-color: var(--color-primary);
  opacity: 1;
}

.carousel-counter {
  position: absolute;
  bottom: 1rem;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.7);
  color: var(--color-white);
  padding: 0.5rem 1rem;
  border-radius: 2rem;
  font-size: 0.875rem;
  font-weight: 600;
  z-index: 10;
  pointer-events: none;
}

.empty-state {
  text-align: center;
  padding: 4rem 2rem;
  background: white;
}
.empty-state .empty-state-icon {
  font-size: 4rem;
  margin-bottom: 1.5rem;
}
.empty-state h2 {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--color-text);
  margin: 0 0 0.5rem 0;
}
.empty-state p {
  color: var(--color-text-muted);
  margin: 0 0 2rem 0;
}

.photo-slider {
  background: var(--color-white);
  overflow: hidden;
  margin-top: 1rem;
  padding: 1.5rem;
}

.slider-container {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.slider-track {
  display: flex;
  gap: 1rem;
  overflow-x: auto;
  scroll-behavior: smooth;
  scrollbar-width: thin;
  scrollbar-color: var(--color-primary) var(--color-background);
  padding: 0.5rem;
  flex: 1;
}
.slider-track::-webkit-scrollbar {
  height: 8px;
}
.slider-track::-webkit-scrollbar-track {
  background: var(--color-background);
  border-radius: 4px;
}
.slider-track::-webkit-scrollbar-thumb {
  background: var(--color-primary);
  border-radius: 4px;
}
.slider-track::-webkit-scrollbar-thumb:hover {
  background: var(--color-primary-dark);
}

.slider-item {
  flex: 0 0 300px;
  height: 300px;
  background: var(--color-background);
  border-radius: 0.5rem;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: opacity 0.3s ease;
}
.slider-item:hover {
  opacity: 0.9;
}
.slider-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.slider-button {
  flex-shrink: 0;
  background: var(--color-white);
  border: 2px solid var(--color-border);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background-color 0.3s ease, border-color 0.3s ease, opacity 0.3s ease;
  color: var(--color-text);
}
.slider-button:hover {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-white);
  opacity: 1;
}
.slider-button:active {
  opacity: 0.8;
}
.slider-button svg {
  width: 20px;
  height: 20px;
}
.slider-button--prev {
  order: -1;
}
.slider-button--next {
  order: 1;
}

.photo-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.95);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.photo-modal--active {
  opacity: 1;
  visibility: visible;
}

.photo-modal-content {
  max-width: 90vw;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
.photo-modal-content img {
  max-width: 100%;
  max-height: calc(90vh - 100px);
  object-fit: contain;
  border-radius: 0.5rem;
}

.photo-modal-info {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}

.photo-modal-title {
  color: var(--color-white);
  font-size: 1.25rem;
  font-weight: 600;
  margin: 0;
  text-align: center;
}

.photo-modal-counter {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.875rem;
  font-weight: 500;
}

.photo-modal-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.1);
  border: 2px solid rgba(255, 255, 255, 0.3);
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background-color 0.3s ease, border-color 0.3s ease, opacity 0.3s ease;
  color: var(--color-white);
  z-index: 10001;
}
.photo-modal-nav:hover {
  background-color: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.5);
  opacity: 1;
}
.photo-modal-nav:active {
  opacity: 0.8;
}
.photo-modal-nav svg {
  width: 32px;
  height: 32px;
}
.photo-modal-nav--prev {
  left: 2rem;
}
.photo-modal-nav--next {
  right: 2rem;
}

.photo-modal-close {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  background: rgba(255, 255, 255, 0.1);
  border: 2px solid rgba(255, 255, 255, 0.3);
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background-color 0.3s ease, border-color 0.3s ease, opacity 0.3s ease;
  color: var(--color-white);
  z-index: 10000;
}
.photo-modal-close:hover {
  background-color: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.5);
  opacity: 1;
}
.photo-modal-close:active {
  opacity: 0.8;
}
.photo-modal-close svg {
  width: 32px;
  height: 32px;
}

.dashboard-carousel {
  background: var(--color-white);
  border-radius: 1rem;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  margin-top: 1rem;
}

.carousel-container--compact {
  min-height: 400px;
}
.carousel-container--compact .carousel-button {
  width: 40px;
  height: 40px;
}
.carousel-container--compact .carousel-button svg {
  width: 20px;
  height: 20px;
}

.carousel-slides--compact {
  height: 400px;
}

.carousel-slide--compact {
  display: flex;
  flex-direction: row;
  gap: 1.5rem;
  padding: 1.5rem;
}

.carousel-slide--photo-only {
  padding: 0;
}

.carousel-slide-image--compact {
  flex: 0 0 60%;
  max-width: 60%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-background);
  border-radius: 0.5rem;
  overflow: hidden;
}
.carousel-slide-image--compact img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.carousel-slide-image--full {
  flex: 1;
  width: 100%;
  max-width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-background);
  overflow: hidden;
}
.carousel-slide-image--full img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.carousel-slide-info--compact {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  overflow-y: auto;
}
.carousel-slide-info--compact h4 {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--color-text);
  margin: 0;
}
.carousel-slide-info--compact .slide-info-date {
  font-size: 0.875rem;
  color: var(--color-text-muted);
  margin: 0;
}
.carousel-slide-info--compact .slide-info-badges {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.empty-state-small {
  text-align: center;
  padding: 3rem 2rem;
  background: var(--color-background);
  border-radius: 0.75rem;
  margin-top: 1rem;
}
.empty-state-small p {
  margin: 0 0 1rem 0;
  color: var(--color-text-muted);
}

.section-header-with-action {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}
.section-header-with-action .section-header {
  margin: 0;
}
.section-header-with-action > div {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

@media (max-width: 1024px) {
  .carousel-slide {
    grid-template-columns: 1fr;
    grid-template-rows: 300px 1fr;
    gap: 1.5rem;
  }
  .carousel-slides {
    height: auto;
    min-height: 600px;
  }
  .carousel-container {
    min-height: auto;
  }
  .carousel-slide-image {
    height: 300px;
  }
  .carousel-slide--compact {
    flex-direction: column;
  }
  .carousel-slide-image--compact {
    flex: 0 0 250px;
    max-width: 100%;
    height: 250px;
  }
  .carousel-slide-image--full {
    height: 100%;
  }
  .carousel-slides--compact {
    height: auto;
    min-height: 450px;
  }
  .carousel-container--compact {
    min-height: 450px;
  }
}
@media (max-width: 768px) {
  .carousel-button {
    width: 40px;
    height: 40px;
  }
  .carousel-button svg {
    width: 20px;
    height: 20px;
  }
  .carousel-button--prev {
    left: 0.5rem;
  }
  .carousel-button--next {
    right: 0.5rem;
  }
  .carousel-slide {
    padding: 1rem;
    gap: 1rem;
  }
  .carousel-slide-info .slide-info-header h3 {
    font-size: 1.25rem;
  }
  .carousel-counter {
    font-size: 0.75rem;
    padding: 0.375rem 0.75rem;
  }
  .carousel-indicators {
    padding: 1rem;
    gap: 0.5rem;
  }
  .carousel-indicator {
    width: 10px;
    height: 10px;
  }
  .photo-slider {
    padding: 1rem;
  }
  .slider-container {
    gap: 0.5rem;
  }
  .slider-item {
    flex: 0 0 250px;
    height: 250px;
  }
  .slider-button {
    width: 35px;
    height: 35px;
  }
  .slider-button svg {
    width: 18px;
    height: 18px;
  }
  .slider-track {
    gap: 0.75rem;
  }
  .photo-modal-close {
    top: 1rem;
    right: 1rem;
    width: 45px;
    height: 45px;
  }
  .photo-modal-close svg {
    width: 28px;
    height: 28px;
  }
  .photo-modal-content {
    max-width: 95vw;
    max-height: 95vh;
  }
  .photo-modal-content img {
    max-height: calc(95vh - 80px);
  }
  .photo-modal-title {
    font-size: 1rem;
    padding: 0 1rem;
  }
  .photo-modal-counter {
    font-size: 0.75rem;
  }
  .photo-modal-nav {
    width: 45px;
    height: 45px;
  }
  .photo-modal-nav svg {
    width: 28px;
    height: 28px;
  }
  .photo-modal-nav--prev {
    left: 0.5rem;
  }
  .photo-modal-nav--next {
    right: 0.5rem;
  }
}
.dashboard-header {
  text-align: center;
  margin: 48px auto;
}
.dashboard-header h1 {
  font-size: 2.5em;
  margin-bottom: 8px;
  color: #2d536e;
}

.dashboard-subtitle {
  font-size: 1.2em;
  color: #6b7280;
}

.dashboard-stats {
  padding: 30px;
  margin-bottom: 40px;
}
.dashboard-stats .stat-label {
  font-size: 1em;
  color: #2d536e;
  text-transform: initial;
}

.dashboard-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
  gap: 30px;
  margin-bottom: 40px;
}
@media (max-width: 768px) {
  .dashboard-grid {
    grid-template-columns: 1fr;
  }
}
.dashboard-grid .dashboard-section {
  margin-bottom: 0;
}

.dashboard-section {
  padding: 30px;
}

.section-header {
  font-size: 1.5em;
  margin-bottom: 20px;
  color: #2d536e;
  border-bottom: 2px solid #e5e7eb;
  padding-bottom: 12px;
}

.section-header-with-action {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.course-card-dashboard {
  padding: 20px;
  border: 1px solid #2d536e;
}
.course-card-dashboard .course-card-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 12px;
}
.course-card-dashboard .course-card-header h3 {
  margin: 0;
  font-size: 1.3em;
  color: #2d536e;
}

.course-excerpt {
  color: #6b7280;
  line-height: 1.6;
  margin-bottom: 12px;
}

.exercises-list-dashboard {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.exercise-item-dashboard {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px;
  background: #f6f6f6;
  border-radius: 8px;
  transition: all 0.3s ease;
}
.exercise-item-dashboard:hover {
  background: #eeeeee;
  transform: translateX(5px);
}
.exercise-item-dashboard h4 {
  margin: 0 0 8px 0;
  font-size: 1.1em;
  color: #2d536e;
}

.exercise-item-content {
  flex: 1;
}

.exercise-meta {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

/* Galerie photo */
.gallery-section {
  grid-column: 1/-1;
}

.photo-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 20px;
}

.gallery-item {
  position: relative;
  aspect-ratio: 1;
  background: #f6f6f6;
  border-radius: 8px;
  overflow: hidden;
  transition: all 0.3s ease;
  cursor: pointer;
}
.gallery-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}
.gallery-item:hover .gallery-item-overlay {
  opacity: 1;
}

.gallery-item-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 20px;
  text-align: center;
}
.gallery-item-placeholder .photo-icon {
  font-size: 3em;
  margin-bottom: 12px;
}
.gallery-item-placeholder p {
  margin: 4px 0;
  word-break: break-word;
}
.gallery-item-placeholder .small {
  font-size: 12px;
  color: #6b7280;
}
.gallery-item-placeholder .tiny {
  font-size: 10px;
  color: #6b7280;
}

.gallery-item-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.85);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 20px;
  opacity: 0;
  transition: opacity 0.3s ease;
  color: white;
  text-align: center;
}

.gallery-item-info {
  margin-bottom: 16px;
}
.gallery-item-info h4 {
  margin: 0 0 8px 0;
  font-size: 1.1em;
}
.gallery-item-info p {
  margin: 4px 0;
  opacity: 0.8;
}

.gallery-item-actions .button {
  background: white;
  color: #2d536e;
}
.gallery-item-actions .button:hover {
  background: #f6f6f6;
}

.dashboard-header {
  margin: 48px auto;
}
.dashboard-header h1 {
  margin-bottom: 8px;
  font-size: 2.5em;
  color: #2d536e;
}
.dashboard-header .welcome-text {
  color: #6b7280;
  font-size: 18px;
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 24px;
  margin-bottom: 48px;
}

.stat-card {
  background: white;
  padding: 24px;
  display: flex;
  align-items: center;
  color: #2d536e !important;
  gap: 16px;
}

.stat-icon {
  font-size: 3em;
  opacity: 0.9;
}

.stat-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.stat-value {
  font-size: 2.5em;
  font-weight: bold;
  line-height: 1;
  margin-bottom: 4px;
}

.stat-label {
  font-size: 1em;
  color: #2d536e;
  text-transform: initial;
}

.dashboard-section {
  margin-bottom: 64px;
}

.section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 2px solid #e5e7eb;
}
.section-header h2 {
  margin: 0;
  font-size: 1em;
  color: #2d536e;
}

.exercises-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.exercise-card {
  background: white;
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  overflow: hidden;
}

.exercise-card-header {
  padding: 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
}
@media (max-width: 768px) {
  .exercise-card-header {
    flex-direction: column;
    align-items: flex-start;
  }
}
.exercise-card-header h3 {
  margin: 0 0 8px 0;
  font-size: 1.3em;
  color: #2d536e;
}

.exercise-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin: 0;
}

.exercise-card-actions {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-shrink: 0;
}
@media (max-width: 768px) {
  .exercise-card-actions {
    width: 100%;
    justify-content: space-between;
  }
}

.ungraded-count {
  background: #f59e0b;
  color: white;
  padding: 4px 16px;
  border-radius: 50px;
  font-weight: 600;
  font-size: 13px;
}

.missing-info {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
@media (max-width: 768px) {
  .missing-info {
    align-items: flex-start;
  }
}

.missing-count {
  font-weight: 600;
  color: #2d536e;
  font-size: 14px;
}

.missing-students-details {
  border-top: 1px solid #e5e7eb;
  padding: 16px 24px;
  background: #f6f6f6;
}
.missing-students-details summary {
  cursor: pointer;
  font-weight: 600;
  color: #2d536e;
  user-select: none;
  list-style: none;
  padding: 8px 0;
}
.missing-students-details summary::-webkit-details-marker {
  display: none;
}
.missing-students-details summary:hover {
  color: #2d536e;
}

.missing-students-list {
  margin-top: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.missing-student-item {
  background: white;
  padding: 8px 16px;
  border-radius: 6px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-left: 3px solid #dc2626;
}
@media (max-width: 768px) {
  .missing-student-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }
}

.student-name {
  font-weight: 600;
  color: #2d536e;
}

.student-email {
  color: #6b7280;
  font-size: 13px;
}

.all-clear-message {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  color: white;
  padding: 64px;
  border-radius: 10px;
  text-align: center;
  margin: 64px 0;
}
.all-clear-message .all-clear-icon {
  font-size: 5em;
  margin-bottom: 16px;
}
.all-clear-message h2 {
  color: white;
  margin-bottom: 16px;
  font-size: 2em;
}
.all-clear-message p {
  font-size: 18px;
  margin-bottom: 32px;
  opacity: 0.95;
}
.all-clear-message .button {
  background: white;
  color: #059669;
  font-weight: 700;
}
.all-clear-message .button:hover {
  background: #f6f6f6;
}

.quick-actions {
  margin: 64px 0;
  padding-top: 48px;
  border-top: 2px solid #e5e7eb;
}
.quick-actions h2 {
  margin-bottom: 24px;
  font-size: 1.5em;
  color: #2d536e;
}

.quick-actions-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
}

.quick-action-card {
  background: white;
  padding: 24px;
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  text-decoration: none;
  color: #2d536e;
  transition: all 0.2s;
}
.quick-action-card:hover {
  background: #2d536e;
  color: white;
}
.quick-action-card:hover .quick-action-icon {
  transform: scale(1.1);
}

.quick-action-icon {
  font-size: 2.5em;
  transition: transform 0.2s;
}

.quick-action-label {
  font-weight: 600;
  text-align: center;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-direction: column;
}
.quick-action-label svg {
  width: 34px;
}

.profile-layout {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 32px;
  margin-top: 24px;
}
@media (max-width: 1024px) {
  .profile-layout {
    grid-template-columns: 1fr;
  }
}

.profile-edit-layout {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 32px;
  margin-top: 24px;
}
@media (max-width: 1024px) {
  .profile-edit-layout {
    grid-template-columns: 1fr;
  }
}

.profile-card,
.profile-stats-card,
.profile-edit-card,
.profile-help-card {
  background: white;
  border: 1px solid #e5e7eb;
  padding: 32px;
}

.profile-card-header {
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 2px solid #2d536e;
}
.profile-card-header h2 {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 600;
  color: #2d536e;
}
.profile-card-header h3 {
  margin: 0;
  font-size: 1.3rem;
  font-weight: 600;
  color: #2d536e;
}
.profile-card-header p {
  margin: 4px 0 0 0;
  font-size: 0.95rem;
  color: #6b7280;
}

.profile-info {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.profile-info-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px;
  background: #f6f6f6;
  border: 1px solid #e5e7eb;
}
@media (max-width: 768px) {
  .profile-info-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }
}

.profile-info-label {
  font-weight: 500;
  color: #6b7280;
  font-size: 0.95rem;
}

.profile-info-value {
  font-weight: 400;
  color: #2d536e;
  font-size: 1rem;
  text-align: right;
}
@media (max-width: 768px) {
  .profile-info-value {
    text-align: left;
  }
}

.profile-stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
@media (max-width: 768px) {
  .profile-stats {
    grid-template-columns: 1fr;
  }
}

.profile-stat-item {
  background: #f6f6f6;
  border: 1px solid #e5e7eb;
  padding: 24px;
  text-align: center;
  transition: background-color 0.3s ease, border-color 0.3s ease;
}
.profile-stat-item:hover {
  background-color: #a6c5db;
  border-color: #2d536e;
}

.profile-stat-value {
  font-size: 2.5rem;
  font-weight: 700;
  color: #2d536e;
  margin-bottom: 4px;
}

.profile-stat-label {
  font-size: 0.95rem;
  font-weight: 500;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.profile-form .form-section-divider {
  margin: 32px 0 24px 0;
  padding-top: 24px;
  border-top: 1px solid #e5e7eb;
}
.profile-form .form-section-divider h3 {
  margin: 0 0 4px 0;
  font-size: 1.2rem;
  font-weight: 600;
  color: #2d536e;
}
.profile-form .form-section-divider p {
  margin: 0;
  font-size: 0.9rem;
  color: #6b7280;
}

.profile-help-card {
  background: #a6c5db;
  border-color: #2d536e;
}

.help-content h4 {
  margin: 24px 0 8px 0;
  font-size: 1rem;
  font-weight: 600;
  color: #2d536e;
}
.help-content h4:first-child {
  margin-top: 0;
}
.help-content p {
  margin: 4px 0;
  font-size: 0.95rem;
  line-height: 1.6;
  color: #2d536e;
}
.help-content ul {
  margin: 8px 0;
  padding-left: 24px;
  font-size: 0.95rem;
  color: #2d536e;
}
.help-content ul li {
  margin: 4px 0;
  line-height: 1.5;
}

.danger-zone h3 {
  margin: 0 0 16px 0;
  font-size: 1.3rem;
  font-weight: 600;
  color: #dc3545;
}
.danger-zone p {
  margin: 0 0 24px 0;
  font-size: 0.95rem;
  line-height: 1.6;
  color: #2d536e;
}
.danger-zone form {
  margin: 0;
}

.danger-zone-text {
  margin-bottom: 24px;
}

/* Hero Section */
.hero {
  position: relative;
  min-height: 95vh;
  background-color: #2d536e;
  color: white;
  padding: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.hero-content {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: space-between;
  flex-wrap: wrap;
  gap: 2rem;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .hero-content {
    gap: 2rem;
    padding: 0;
  }
}

.hero-text {
  width: 30%;
  min-width: 300px;
  flex-grow: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: stretch;
  gap: 1rem;
}
.hero-text #mouette {
  max-height: 100%;
  width: 57%;
  height: 90%;
}
.hero-text #mouette img {
  width: auto;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .hero-text #mouette {
    display: none;
  }
}

.hero-title {
  font-size: 3em;
  font-weight: 700;
  margin-bottom: 20px;
  max-width: 95%;
  line-height: 1.2;
  align-self: flex-start;
}

.hero-image {
  width: 60%;
  flex-grow: 2;
  object-fit: cover;
}

.hero-subtitle {
  font-size: 1.2em;
  margin-bottom: 40px;
  opacity: 0.95;
}

.hero-actions {
  display: flex;
  gap: 20px;
  justify-content: center;
  flex-wrap: wrap;
}

/* Sections générales */
.section-title {
  font-size: 3.5em;
  font-weight: 700;
  text-align: center;
  margin-bottom: 48px;
  line-height: 1;
  text-transform: uppercase;
  color: #2d536e;
}

.section-subtitle {
  font-size: 1.2em;
  text-align: center;
  color: #6b7280;
  margin-bottom: 60px;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

/* Features Section */
.features {
  padding: 100px 0;
  background: #f6f6f6;
  position: relative;
}
.features .container {
  height: 150vh;
}
@media screen and (max-width: 768px) {
  .features .container {
    height: 190vh;
  }
}

.features-grid {
  display: grid;
  position: relative;
  bottom: 550px;
  max-width: 800px;
  left: 30%;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 40px;
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .features-grid {
    left: 0;
    bottom: 0;
  }
}

.feature-card {
  background: white;
  padding: 40px 30px;
  border-radius: 12px;
  z-index: 3;
  position: relative;
  text-align: center;
  transition: all 0.3s ease;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}
.feature-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}
.feature-card:after {
  content: "";
  position: absolute;
  top: 15px;
  z-index: 0;
  left: -15px;
  width: 100%;
  height: 100%;
  border-radius: 12px;
  border: 4px solid #2d536e;
}
@media screen and (max-width: 768px) {
  .feature-card {
    text-align: left;
    left: 10px;
  }
}

.feature-icon {
  font-size: 4em;
  margin-bottom: 20px;
}

.feature-card h3 {
  font-size: 1.5em;
  margin-bottom: 16px;
  color: #2d536e;
}

.feature-card p {
  color: #6b7280;
  line-height: 1.6;
}

/* How it works Section */
.how-it-works {
  padding: 100px 0;
  background: white;
}

.steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 40px;
  margin-top: 60px;
}

.step {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.step svg {
  width: 70px;
  height: 70px;
  margin-bottom: 12px;
  color: #2d536e;
}

.step-content h3 {
  font-size: 1.3em;
  margin-bottom: 12px;
  color: #2d536e;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.step-content h3 svg {
  width: 40px;
  height: 40px;
  margin-bottom: 12px;
}

.step-content p {
  color: #6b7280;
  line-height: 1.6;
}

/* Stats Section */
.stats-section {
  background: #2d536e;
  color: white;
  min-height: 300px;
}
.stats-section .container {
  padding: 0;
  display: flex;
  align-items: stretch;
  justify-content: stretch;
  flex-direction: column;
  width: 100%;
  height: 100%;
}
.stats-section .stat-number {
  font-size: 4.5em;
  font-weight: 800;
  color: white;
  text-align: center;
}
.stats-section .stat-label {
  font-size: 1.2em;
  color: white;
  text-align: center;
  margin-bottom: 20px;
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  height: 100%;
  align-items: stretch;
  gap: 0;
  margin-bottom: 0;
}
@media (max-width: 768px) {
  .stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  .stats-grid {
    grid-template-columns: 1fr;
  }
}

.stat-box {
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  height: 100%;
  padding: 2rem;
}
.stat-box:nth-child(1) {
  background: rgb(43, 0, 255);
}
.stat-box:nth-child(2) {
  background: #79e3aa;
}
.stat-box:nth-child(3) {
  background: #a7c2d5;
}
.stat-box:nth-child(4) {
  background: #2d536e;
}

.stat-number {
  font-size: 3.5em;
  font-weight: 800;
  margin-bottom: 8px;
}

.stat-label {
  font-size: 1em;
  color: #2d536e;
  text-transform: initial;
}

/* CTA Section */
.cta-section {
  padding: 100px 0;
  background: #f6f6f6;
  text-align: center;
}
.cta-section h2 {
  font-size: 2.5em;
  margin-bottom: 20px;
  color: #2d536e;
}
.cta-section p {
  font-size: 1.2em;
  color: #6b7280;
  margin-bottom: 40px;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

/* Contact Section */
.contact-section {
  padding: 100px 0;
  background: white;
}

.contact-content {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 60px;
  margin-top: 60px;
}
@media (max-width: 768px) {
  .contact-content {
    grid-template-columns: 1fr;
  }
}

.contact-info h3 {
  font-size: 1.5em;
  margin-bottom: 30px;
  color: #2d536e;
}

.contact-item {
  margin-bottom: 24px;
}
.contact-item strong {
  display: block;
  color: #2d536e;
  margin-bottom: 8px;
  font-size: 1.1em;
}
.contact-item p {
  color: #6b7280;
  margin: 0;
}

/* Footer */
.site-footer {
  background: #1f2937;
  color: white;
  padding: 60px 0 20px;
}

.footer-content {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 40px;
  margin-bottom: 40px;
}

.footer-section h4 {
  font-size: 1.3em;
  margin-bottom: 20px;
}
.footer-section p {
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.6;
}
.footer-section ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer-section ul li {
  margin-bottom: 12px;
}
.footer-section ul li a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  transition: color 0.3s ease;
}
.footer-section ul li a:hover {
  color: white;
}

.social-links {
  display: flex;
  gap: 16px;
  font-size: 1.5em;
}
.social-links a {
  text-decoration: none;
  transition: transform 0.3s ease;
}
.social-links a:hover {
  transform: scale(1.2);
}

.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: 20px;
  text-align: center;
  color: rgba(255, 255, 255, 0.5);
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .hero {
    height: 500px;
  }
  .hero-title {
    font-size: 2.5em;
  }
  .hero-subtitle {
    font-size: 1.2em;
  }
  .section-title {
    font-size: 2em;
  }
  .features-grid,
  .steps {
    grid-template-columns: 1fr;
  }
}
.container:has(.inspiration-gallery) {
  padding-top: 0;
}

.inspiration-gallery {
  column-count: 4;
  column-gap: 4px;
  margin: 32px auto;
}
@media (max-width: 1200px) {
  .inspiration-gallery {
    column-count: 3;
  }
}
@media (max-width: 768px) {
  .inspiration-gallery {
    column-count: 2;
    column-gap: 4px;
  }
}
@media (max-width: 480px) {
  .inspiration-gallery {
    column-count: 1;
  }
}

.inspiration-gallery__item {
  cursor: pointer;
  transition: opacity 0.3s ease;
  break-inside: avoid;
  margin-bottom: 24px;
}
.inspiration-gallery__item:hover {
  opacity: 0.9;
}

.inspiration-gallery__image-wrapper {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.inspiration-gallery__image {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  transition: transform 0.3s ease;
}

.inspiration-gallery__item:hover .inspiration-gallery__image {
  transform: scale(1.05);
}

.inspiration-gallery__caption {
  margin-top: 8px;
  font-size: 0.9rem;
  color: #6b7280;
  line-height: 1.5;
}

.inspiration-gallery__empty {
  grid-column: 1/-1;
  text-align: center;
  padding: 48px;
  color: #6b7280;
}

.inspiration-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.95);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.inspiration-modal.is-open {
  opacity: 1;
  visibility: visible;
}

.inspiration-modal__content {
  position: relative;
  width: 90%;
  max-width: 1200px;
  max-height: 90vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.inspiration-modal__image {
  max-width: 100%;
  max-height: 90vh;
  object-fit: contain;
  display: none;
}
.inspiration-modal__image.is-active {
  display: block;
}

.inspiration-modal__close {
  position: absolute;
  top: 24px;
  right: 24px;
  background: rgba(255, 255, 255, 0.1);
  border: none;
  border-radius: 50%;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: white;
  transition: background-color 0.3s ease;
  z-index: 10000;
}
.inspiration-modal__close:hover {
  background: rgba(255, 255, 255, 0.2);
}
.inspiration-modal__close svg {
  width: 24px;
  height: 24px;
}
@media (max-width: 768px) {
  .inspiration-modal__close {
    top: 16px;
    right: 16px;
    width: 40px;
    height: 40px;
  }
  .inspiration-modal__close svg {
    width: 20px;
    height: 20px;
  }
}

.inspiration-modal__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.1);
  border: none;
  border-radius: 50%;
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: white;
  transition: background-color 0.3s ease, opacity 0.3s ease;
  z-index: 10000;
}
.inspiration-modal__nav:hover:not(:disabled) {
  background: rgba(255, 255, 255, 0.2);
}
.inspiration-modal__nav:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}
.inspiration-modal__nav svg {
  width: 28px;
  height: 28px;
}
@media (max-width: 768px) {
  .inspiration-modal__nav {
    width: 48px;
    height: 48px;
  }
  .inspiration-modal__nav svg {
    width: 24px;
    height: 24px;
  }
}

.inspiration-modal__nav--prev {
  left: 24px;
}
@media (max-width: 768px) {
  .inspiration-modal__nav--prev {
    left: 16px;
  }
}

.inspiration-modal__nav--next {
  right: 24px;
}
@media (max-width: 768px) {
  .inspiration-modal__nav--next {
    right: 16px;
  }
}

.inspiration-modal__caption {
  position: absolute;
  bottom: 32px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.7);
  color: white;
  padding: 16px 24px;
  border-radius: 6px;
  max-width: 80%;
  text-align: center;
  font-size: 0.95rem;
  line-height: 1.5;
}
@media (max-width: 768px) {
  .inspiration-modal__caption {
    bottom: 24px;
    padding: 8px 16px;
    font-size: 0.85rem;
    max-width: 90%;
  }
}

.inspiration-manage-gallery {
  margin-top: 48px;
}

.inspiration-manage-grid {
  column-count: 4;
  column-gap: 16px;
  margin-top: 24px;
}
@media (max-width: 1200px) {
  .inspiration-manage-grid {
    column-count: 3;
  }
}
@media (max-width: 768px) {
  .inspiration-manage-grid {
    column-count: 2;
    column-gap: 8px;
  }
}
@media (max-width: 480px) {
  .inspiration-manage-grid {
    column-count: 1;
  }
}

.inspiration-manage-item {
  break-inside: avoid;
  margin-bottom: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.inspiration-manage-item__image-wrapper {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.inspiration-manage-item__image-wrapper:hover .inspiration-manage-item__delete-button {
  opacity: 1;
}

.inspiration-manage-item__image {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.inspiration-manage-item__caption {
  font-size: 0.9rem;
  color: #6b7280;
  line-height: 1.4;
  margin: 0;
}

.inspiration-manage-item__meta {
  font-size: 0.8rem;
  color: #6b7280;
  margin-top: auto;
}

.inspiration-manage-item__delete {
  position: absolute;
  top: 4px;
  right: 4px;
  z-index: 10;
}

.inspiration-manage-item__delete-button {
  background: rgba(220, 38, 38, 0.9);
  border: none;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: white;
  transition: background-color 0.3s ease, opacity 0.3s ease;
  opacity: 0;
  padding: 0;
}
.inspiration-manage-item__delete-button:hover {
  background: rgb(185, 28, 28);
}
.inspiration-manage-item__delete-button svg {
  width: 18px;
  height: 18px;
}

/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../../assets/styles/partials/_variables.scss%22,%22../../assets/styles/partials/_base.scss%22,%22../../assets/styles/partials/_layout.scss%22,%22../../assets/styles/partials/_header.scss%22,%22../../assets/styles/partials/_buttons.scss%22,%22../../assets/styles/partials/_forms.scss%22,%22../../assets/styles/partials/_auth.scss%22,%22../../assets/styles/partials/_components.scss%22,%22../../assets/styles/partials/_media.scss%22,%22../../assets/styles/partials/_tables.scss%22,%22../../assets/styles/partials/_content.scss%22,%22../../assets/styles/partials/_trix-editor.scss%22,%22../../assets/styles/partials/_photo-preview.scss%22,%22../../assets/styles/partials/_review-submission.scss%22,%22../../assets/styles/partials/_photo-carousel.scss%22,%22../../assets/styles/partials/_dashboard.scss%22,%22../../assets/styles/partials/_teacher-dashboard.scss%22,%22../../assets/styles/partials/_profile.scss%22,%22../../assets/styles/partials/_landing.scss%22,%22../../assets/styles/partials/_inspiration.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22;AAIQ;ACAR;EACI;;;AAGJ;EACI;;;AAGJ;EACI;EACA,aDqCU;ECpCV,kBDKa;ECJb,ODQc;ECPd;;;AAGJ;EACI;EACA;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EAEI;EACA;;;AAOJ;EACI,ODlBe;;;ACqBnB;EACI;;;AAGJ;EACI;;;AAGJ;EACI,WDJW;ECKX,OD/Be;ECgCf,YDrBS;ECsBT,eDrBS;ECsBT;;;ACxDJ;EACI;EACA;EACA;;;AASJ;EACI;EACA,KFoBS;;;AEjBb;EACI;EACA;EACA,OFEe;EEDf,WF8BW;;;AE3Bf;EACI,OFHe;;;AEMnB;EACI;;;AAGJ;EACI;;;AAGJ;EACI;EACA;EACA;EACA,KFJS;EEKT,eFNS;EEOT;EACA,YFhCS;EEiCT;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAIJ;EACI;EACA,OFxDK;EEyDL;EACA,eF3BW;EE4BX;EACA,WFrBO;EEuBP;EACA;EACA,KF1CK;;AE4CL;EACI;EACA;EACA;EACA;;AAGJ;EACI;;AAEA;EACI;;;ACxFhB;EACI;EACA;EACA;EACA,OHOS;EGNT;EACA;EACA;EACA;EACA;;AAEA;EACI;;;AAIR;EACI;EACA,WHmCY;EGlCZ;;;AAGJ;EACI;EACA,KHUS;EGTT;;AAGA;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI,OH5CI;;AG8CJ;EACI;;AAIR;EACI;EACA,OHrDI;EGsDJ;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YHlEA;EGmEA;;AAIR;EACI,OHxEI;;AG2ER;EACI;EACA;EACA;;;AAKZ;EACI;EACA;EACA;EACA,KHxDS;EGyDT;EACA;EACA;;AAEA;EATJ;IAUQ;;;;AAKR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA,YH1GK;EG2GL;EACA;EACA;;AAIA;EACI;;AAGJ;EAEI;EACA;EACA;EACA;EACA,YH3HC;EG4HD;EACA;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;;;AAMZ;EACI;;;AAIJ;EACI;IACI;;EAGJ;IACI;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAEA;IACI;IACA;IACA;IACA;;EAEA;IAKI;IAEA;IACA,OHlMA;;EG2LA;IACI;;EASR;IACI;IACA;IACA;IACA;IACA;IACA;;EAIR;IACI;;EAKR;IACI;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAEA;IACI;IACA;;;AC7OZ;EACI;EACA;EACA;EACA,YJDY;EIEZ;EACA;EACA,eJoCY;EInCZ;EACA,WJwCa;EIvCb;EACA;EACA;;AAEA;EACI;EACA;;;AAIR;EACI;EACA,WJ0BW;EIzBX,YJWS;;;AIRb;EACI,YJLe;;AIOf;EACI;;;AAIR;EACI,YJ7BW;EI8BX;EACA;EACA;EACA;EACA,KJRS;;AIUT;EACI;;AAGJ;EACI;EACA;EACA;;;AAIR;EACI,YJnDY;;AIqDZ;EACI;;;AAKR;EACI;EACA,OJ7DY;EI8DZ;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA,OJzFQ;EI0FR;;;AAIR;EACI,YJ/FY;EIgGZ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;;AAGJ;EACI;;;AC3IR;EACI;;;AAGJ;EACI;EACA;EACA;;;AAGJ;AAAA;AAAA;AAAA;AAAA;AAAA;EAMI;EACA;EACA;EACA;EACA;;;AAGJ;AAAA;AAAA;AAAA;AAAA;AAAA;EAMI;EACA;EACA;;;AAGJ;EACI;;;AAGJ;EACI;EACA;EACA;EACA;;;AAIJ;AAAA;EAEI;EACA,OL3CW;EK4CX;EACA;;;AAGJ;AAAA;EAEI;EACA;EACA;;AAEA;AAAA;EACI;;;AAIR;EACI;EACA;EACA;EACA;EACA;;;AAIJ;EACI;EACA;EACA;EACA;EACA;;;AAIJ;EACI;EACA;;;AAGJ;EACI;EACA;EACA,eLhDY;EKiDZ,WL5CW;EK6CX;EACA,YL7Ea;EK8Eb;;AAEA;EACI,cL/FQ;;AKkGZ;EACI;EACA,cLpGQ;EKqGR;;;AAKR;EACI;EACA;EACA;EACA;EACA;;;AAGJ;EACI;;;AAGJ;EACI;EACA;EACA;EACA;;AAEA;EANJ;IAOQ;IACA;;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA,cL7IQ;EK8IR;;AAGJ;EACI,OL/HW;;AKkIf;EAnBJ;IAoBQ;;;;AAIR;EACI;EACA,OLzIe;EK0If;;AAEA;EACI,OLhKQ;;;AKqKhB;EACI;EACA;;AAEA;EACI;;AAEA;EACI;EACA;EACA;EACA,OL/JM;;AKkKV;AAAA;EAEI;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACI;EACA,cL9LA;EK+LA;;AAIR;EACI;EACA;;AAIR;EACI;EACA,YL3MQ;EK4MR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;;;AAOR;EACI;EACA;EACA,KLpMK;EKqML,eLpMK;;AKsMT;EACI;EACA;;AAEJ;EACI;EACA;EACA;EACA,eLrMQ;EKsMR,WLjMO;;AKoMX;EACI;EACA;EACA;EACA,eL7MQ;EK8MR,WLzMO;;;AK6Mf;EACI;EACA;EACA;EACA;EACA,kBL/PY;EKgQZ;EACA;;;AAIA;EACI;EACA;EACA;;;AAMJ;EACI;;;AClRR;EACI;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;;;AAIR;EACI;EACA,ONLe;EMMf;EACA;;;AAGJ;EACI;;AAEA;EACI;;AAEA;EACI;EACA;EACA;EACA,ONtBM;;AM0Bd;EACI;EACA;EACA;EACA,ON/CQ;EMgDR;EACA;EACA;;AAEA;EACI,ONpDS;EMqDT;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA,cNpEI;;AMwEZ;EACI;EACA;;;AAIR;EACI;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA,YNrEO;;AMwEX;EACI;EACA;EACA;EACA,ON9EW;EM+EX;;;AAKJ;EACI;EACA;EACA;EACA,ON1FU;;AM6Fd;EACI;EACA,ON7FW;EM8FX;;;AAIR;EACI;EACA;EACA;EACA;;AAEA;EANJ;IAOQ;;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA,ON1HU;;AM6Hd;EACI;EACA,ON7HW;EM8HX;EACA;;AAGJ;EACI;;;AAIR;EACI;;;AAGJ;EACI,YNlJa;EMmJb;;AAGI;EACI,ONjJO;;AMoJX;EACI,ONrJO;EMsJP;;;AASZ;EACI,YNjLkB;EMkLlB;EACA;EACA;EACA;;AAEA;EACI;EACA,ON1KU;;;AM8KlB;EACI;EACA;EACA;;AAEA;EACI;EACA;EACA,ONtLU;;AMyLd;EACI;EACA;EACA;;AAEA;EACI;EACA,ON9LO;;AMgMP;EACI,ONnME;;;AM6MlB;EACI;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;;;AAGJ;EACI;EACA;EACA,ON7Nc;EM8Nd;EACA;;;AAGJ;EACI;EACA;EACA;;AAEA;EALJ;IAMQ;;;;AAIR;EACI,YNjPa;EMkPb;EACA;EACA;;AAEA;EACI;EACA;;AAGJ;EACI;EACA;;AAEA;EACI;EACA,ON3PO;;;AMgQnB;EACI;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI,YNzRiB;EM0RjB,ON3RW;EM4RX;EACA;EACA;EACA;;;AAOJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;;AAEA;EACI;EACA;EACA,ONjTU;;;AMqTlB;EACI,ONpTe;EMqTf;EACA;;;AAIA;EACI;;AAEA;EACI;EACA;EACA;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A,OVpyBY;EUqyBZ;;;AAGJ;EACI,OVtxBe;EUuxBf,WV7vBW;EU8vBX;EACA;;;AAGJ;EACI,OV/xBc;EUgyBd,WVlwBW;EUmwBX;EACA;EACA;EACA;;;AAGJ;EACI,OVtyBe;EUuyBf,WV7wBW;EU8wBX;EACA;;;AAGJ;EACI;EACA,SVlyBS;EUmyBT,eV1xBY;;AU4xBZ;EACI;EACA,OVrzBU;EUszBV;;;AAIR;EACI;EACA;EACA,KVhzBS;EUizBT,eVhzBS;;;AUmzBb;EACI;EACA;EACA;EACA,SVxzBS;EUyzBT,YV10Ba;EU20Bb,eVjzBe;EUkzBf;;AAEA;EACI;EACA,OV10BW;EU20BX,WVjzBO;;AUozBX;EACI,OVj1BU;EUk1BV;EACA;EACA;EACA;;;AAIR;EACI;EACA;EACA,eVr0BY;EUs0BZ,SV/0BS;EUg1BT,YVh1BS;;AUk1BT;EACI;EACA;EACA,WVv0BO;EUw0BP;;;AAIR;EACI;EACA;EACA,eVp1BY;EUq1BZ,SV91BS;EU+1BT;EACA;;AAEA;EACI;EACA;EACA;;;AAKR;EACI;EACA;EACA,KV52BS;;;AU+2Bb;EACI;EACA,SVj3BS;EUk3BT,eVz2Be;EU02Bf;;AAEA;EACI;EACA;EACA,OVv4BU;;AU04Bd;EACI;EACA,KV/3BK;EUg4BL,eV/3BK;;AUk4BT;EACI,OV/4BW;EUg5BX,eVp4BK;EUq4BL;;AAGJ;EACI,YVz4BK;EU04BL,aV14BK;EU24BL;;AAEA;EACI;EACA;EACA,KVl5BC;EUm5BD,YVl5BC;;AUq5BL;EACI,YVv6BK;EUw6BL;EACA;EACA,WV14BG;;AU64BP;EACI,OVx6BO;EUy6BP,WV/4BG;;;AW/Cf;EACI;EACA;EACA,SX8BS;EW7BT;;AAEA;EACI;EACA,cXNQ;;AWUZ;EACI;EACA;;AAEA;EACI;;AAGJ;EACI;;AAKR;EACI;EACA;EACA,OXVU;EWWV;EACA;EACA;;AAEA;EACI;;AAIR;EACI;EACA;EACA,OXvBU;EWwBV;EACA;EACA;;AAEA;EACI;;AAKR;AAAA;EAEI;EACA;EACA;;AAIJ;EACI;;;AAIR;EACI;EACA;EACA,YXtD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Kb;EACI;EACA;EACA,Sb5KS;;Aa8KT;EACI;EACA;EACA;EACA,ObjMU;EakMV,gBbrLK;EasLL;;;AAKJ;EACI,eb1LK;;Aa4LL;EACI;;AAIR;EACI;EACA,SbpMK;EaqML;;AAGJ;EACI;EACA;;;AAIR;EACI;EACA,KbhNS;EaiNT,Yb/MS;;AaiNT;EALJ;IAMQ;;;;AAIR;EACI;EACA;EACA,Sb1NS;;Aa4NT;EACI;EACA;EACA;EACA,Ob/OU;;AakPd;EACI;EACA;EACA,ObrPU;;;Aa6PlB;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EAjBJ;IAkBQ;IACA;;;;ACzUZ;EACI;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;;;AAKZ;EACI;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAIR;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;;;AAKZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAGJ;EACI;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;;AAEA;EACI;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;;;AAKR;EACI;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;AAEA;EACI;;;AAKZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;;AAGJ;EACI;;AAGN;EACE;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;;AAKJ;EACI;EACA;EACA;EACA;EACA;;;AAGJ;EACI;;AAEA;EACI;EACA;;AAEA;EACI;EACA;;;AAKZ;EACI;;;AAGJ;EACI;EACA;EACA;EACA;;;AAGJ;EACI;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;;AAIR;EACI;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;EACA;;;AAKR;EACI;IACI;IACA;IACA;;EAGJ;IACI;IACA;;EAGJ;IACI;;EAGJ;IACI;;EAIJ;IACI;;EAGJ;IACI;IACA;IACA;;EAGJ;IACI;;EAGJ;IACI;IACA;;EAGJ;IACI;;;AAIR;EACI;IACI;IACA;;EAEA;IACI;IACA;;EAGJ;IACI;;EAGJ;IACI;;EAIR;IACI;IACA;;EAIA;IACI;;EAIR;IACI;IACA;;EAGJ;IACI;IACA;;EAGJ;IACI;IACA;;EAIJ;IACI;;EAGJ;IACI;;EAGJ;IACI;IACA;;EAGJ;IACI;IACA;;EAEA;IACI;IACA;;EAIV;IACE;;EAIF;IACE;IACA;IACA;IACA;;EAEA;IACE;IACA;;EAIJ;IACE;IACA;;EAEA;IACE;;EAIJ;IACE;IACA;;EAGF;IACE;;EAGF;IACE;IACA;;EAEA;IACE;IACA;;EAGF;IACE;;EAGF;IACE;;;ACjxBN;EACI;EACA;;AAEA;EACI;EACA;EACA,OfaU;;;AeTlB;EACI;EACA,OfSe;;;AeNnB;EAEI;EAGA;;AAEA;EACI;EACA,OfdK;EeeL;;;AAIR;EACI;EACA;EACA;EACA;;AAEA;EANJ;IAOQ;;;AAGJ;EACI;;;AAIR;EAEI;;;AAKJ;EACI;EACA;EACA,OfnCc;EeoCd;EACA;;;AAGJ;EACI;EACA;EACA;EACA;;;AAGJ;EACI;EACA;;AAEA;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA,Of5DM;;;AeiElB;EACI,OfhEe;EeiEf;EACA;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA,YftFa;EeuFb;EACA;;AAEA;EACI;EACA;;AAGJ;EACI;EACA;EACA,Of9FU;;;AekGlB;EACI;;;AAGJ;EACI;EACA;EACA;;;AAGJ;AACA;EACI;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA,Yf9Ha;Ee+Hb;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAEA;EACI;;;AAKZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA,Of7JW;;AegKf;EACI;EACA,OflKW;;;AesKnB;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;;AAEA;EACI;EACA;;AAGJ;EACI;EACA;;;AAKJ;EACI;EACA,Of5NQ;;Ae8NR;EACI,YflNK;;;AgBhBjB;EACI;;AAEA;EACI,ehB6BK;EgB5BL;EACA,OhBcU;;AgBXd;EACI,OhBYW;EgBXX,WhBwCO;;;AgBnCf;EACI;EACA;EACA,KhBgBS;EgBfT,ehBiBU;;;AgBdd;EACI;EACA,ShBUS;EgBTT;EACA;EACA;EACA,KhBKS;;;AgBFb;EACI;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA,ehBjBS;;;AgBoBb;EACI;EACA,OhB3CS;EgB4CT;;;AAIJ;EACI,ehBtBU;;;AgByBd;EACI;EACA;EACA;EACA,ehBhCS;EgBiCT,gBhBlCS;EgBmCT;;AAEA;EACI;EACA;EACA,OhBtDU;;;AgB2DlB;EACI;EACA;EACA,KhBhDS;;;AgBmDb;EACI;EACA,ehB3Ce;EgB4Cf;EACA;;;AAGJ;EACI,ShB1DS;EgB2DT;EACA;EACA;EACA,KhB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%22,%22file%22:%22app.output.css%22%7D */
