/* Sheet Container for Edit Forms */
.sheet {
  background-color: var(--color-background);
  border: var(--border-thin) solid var(--color-border);
  border-radius: var(--radius-base);
  padding: var(--spacing-lg);
  margin: var(--spacing-base) auto;
  width: var(--sheet-width);
  max-width: calc(100% - 2 * var(--spacing-base));
  box-shadow: var(--shadow-base);
  box-sizing: border-box;
}

.login-container {
  display: flex;
  justify-content: center;
  padding: var(--spacing-xl) var(--spacing-sm);
}

.login-form {
  width: 100%;
  max-width: 450px;
}

.login-form .form-buttons button {
  width: 100%;
}

/* Form Elements within sheets */
.sheet form {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-base);
}

.sheet table {
  width: 100%;
  margin-bottom: var(--spacing-base);
}

.sheet table.program {
  width: auto;
  margin: var(--spacing-base) auto;
}

.sheet td {
  padding: var(--spacing-sm);
  vertical-align: middle;
}

/* Notes Section with controlled height */
.sheet textarea#id_notes {
  min-height: 100px;
  resize: vertical;
  max-height: 200px;
}

/* Responsive Design */
@media (max-width: 768px) /* --breakpoint-md */ {
  .sheet {
    width: auto;
    margin: var(--spacing-sm);
    padding: var(--spacing-base);
  }
}

@media (max-width: 480px) /* --breakpoint-sm */ {
  .sheet {
    padding: var(--spacing-sm);
  }
}
