/* src/components/admin/SpellingListManager.css */
.spelling-manager {
  display: flex;
  flex-direction: column;
  height: 100dvh;
  min-height: 0;
  border: 1px solid white;
  border-radius: 30px !important;
  overflow: hidden;
  background: #f7f5f8;
}
.spelling-manager .ninja-dialog-header {
  min-height: 132px;
  padding: 22px 28px;
}
.spelling-manager .ninja-dialog-header__meta > span {
  max-width: 900px;
  border: 0;
  background: transparent;
  border-radius: 0;
  padding: 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
}
.spelling-manager__toolbar {
  display: flex;
  flex: none;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  padding: 16px 22px 10px;
  background: white;
}
.spelling-manager__years {
  width: 240px;
}
.spelling-manager__scope {
  width: 190px;
}
.spelling-manager__search {
  flex: 1;
  min-width: 220px;
}
.spelling-manager__status {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 24px;
  min-height: 42px;
  color: #716678;
  font-size: 13px;
}
.spelling-manager__spinner {
  animation: spelling-manager-spin 1s linear infinite;
}
@keyframes spelling-manager-spin {
  to {
    transform: rotate(360deg);
  }
}
.spelling-manager__error {
  flex: none;
  margin: 0 22px 12px;
  border-radius: 16px;
}
.spelling-manager__body {
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding: 4px 22px 24px;
}
.spelling-manager__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(345px, 1fr));
  align-items: start;
  gap: 16px;
}
.spelling-manager__list {
  border: 1px solid #ded7e2;
  border-radius: 30px;
  overflow: hidden;
  background: white;
  transition: border-color .15s, box-shadow .15s;
}
.spelling-manager__list--over {
  border-color: var(--primary-color,#8f5d95);
  box-shadow: 0 0 0 2px #8f5d9530;
}
.spelling-manager__list-header {
  min-height: 76px;
  padding: 15px 18px;
  background: #f0e8f2;
}
.spelling-manager__list-header .q-item__label {
  font-size: 16px;
  font-weight: 650;
}
.spelling-manager__list-header .q-item__label--caption {
  color: #786b80 !important;
  font-size: 12px;
  font-weight: 400;
  margin-top: 5px;
}
.spelling-manager__words {
  display: flex;
  flex-direction: column;
  gap: 7px;
  min-height: 72px;
  max-height: min(470px, 52vh);
  overflow-y: auto;
  padding: 12px;
}
.spelling-manager__word {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 48px;
  padding: 7px 8px;
  border: 1px solid #dedbe0;
  border-radius: 24px;
  background: #faf9fb;
  cursor: grab;
}
.spelling-manager__word:active {
  cursor: grabbing;
}
.spelling-manager__word--dragging {
  opacity: .4;
}
.spelling-manager__word--over {
  border-top: 3px solid var(--primary-color,#8f5d95);
}
.spelling-manager__order {
  color: #85788a;
  font-size: 11px;
  min-width: 14px;
}
.spelling-manager__word-copy {
  display: grid;
  flex: 1;
  min-width: 0;
  overflow-wrap: anywhere;
}
.spelling-manager__word-copy strong {
  font-size: 14px;
  line-height: 1.3;
}
.spelling-manager__word-copy small {
  color: #7c7181;
  font-size: 11px;
}
.spelling-manager__word-actions {
  display: flex;
  flex: none;
  gap: 0;
}
.spelling-manager__word-actions .q-btn {
  min-width: 26px;
  min-height: 26px;
  width: 26px;
  height: 26px;
  padding: 3px;
  color: #74677c;
}
.spelling-manager__word-actions .q-icon {
  font-size: 17px;
}
.spelling-manager__empty {
  display: grid;
  place-items: center;
  border: 1px dashed #d6c9dc;
  border-radius: 22px;
  min-height: 58px;
  padding: 14px;
  color: #817288;
  font-size: 14px;
}
.spelling-manager__readonly {
  margin: 12px 18px 0;
  font-size: 12px;
  color: #817288;
}
.spelling-manager__move-dialog {
  width: min(540px, 94vw);
  border: 1px solid white;
  border-radius: 30px;
  overflow: hidden;
}
@media (max-width: 600px) {
  .spelling-manager__toolbar {
    padding: 12px;
  }
  .spelling-manager__years,
  .spelling-manager__scope {
    width: calc(50% - 5px);
  }
  .spelling-manager__search {
    min-width: 100%;
  }
  .spelling-manager__grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .spelling-manager__body {
    padding: 4px 10px 20px;
  }
}
