.studplan-add {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .65rem;
  margin: .85rem 0;
}

.studplan-add__error {
  flex-basis: 100%;
  margin: 0;
  border-radius: 10px;
  padding: .65rem .75rem;
  background: #4f1118;
  color: #fff4f4;
  font: 700 .82rem/1.45 var(--font-sans, system-ui, sans-serif);
}

.studplan-add__button {
  min-height: 44px;
  min-width: 170px;
  border: 1px solid color-mix(in srgb, #9ee7df 48%, transparent);
  border-radius: 999px;
  padding: .68rem 1rem;
  background: linear-gradient(135deg, #83e3d8, #c9b5ff);
  color: #07151a;
  font: 800 .86rem/1.1 var(--font-sans, system-ui, sans-serif);
  letter-spacing: .01em;
  cursor: pointer;
  box-shadow: 0 8px 26px rgba(62, 201, 190, .15);
}

.studplan-add__button:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 30px rgba(62, 201, 190, .22);
}

.studplan-add__button.is-added {
  background: color-mix(in srgb, #83e3d8 16%, #121a25);
  color: #d8fff9;
}

.studplan-add__button:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
}

.studplan-add--compact {
  margin: .55rem 0 0;
}

.studplan-add--compact .studplan-add__button {
  min-width: 0;
  padding-inline: .85rem;
  font-size: .78rem;
}

.studplan-add__saved {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .25rem .8rem;
  max-width: 100%;
  color: inherit;
  font: 600 .84rem/1.4 var(--font-sans, system-ui, sans-serif);
}
.studplan-add__saved[hidden] { display: none !important; }
.studplan-add__saved > span { overflow-wrap: anywhere; }
.studplan-add__open {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  border: 1px solid currentColor;
  border-radius: 10px;
  padding: .5rem .8rem;
  color: inherit;
  font-weight: 850;
  text-decoration: none;
}
.studplan-add__open:hover { text-decoration: underline; text-underline-offset: .2em; }
.studplan-add__open:focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
  .studplan-add__button { transition: none !important; }
}
