/* Small layer of project-specific styling that sits on top of Tailwind CDN. */

.tab {
  padding: 0.5rem 0.875rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: rgb(100 116 139);
  border-bottom: 2px solid transparent;
  white-space: nowrap;
  transition: color 0.15s, border-color 0.15s;
}
.tab:hover { color: rgb(30 41 59); }
:is(.dark) .tab:hover { color: rgb(226 232 240); }

.tab-active {
  color: #7c5cff;
  border-bottom-color: #7c5cff;
}

.card {
  background-color: rgb(255 255 255);
  border: 1px solid rgb(226 232 240);
  border-radius: 0.75rem;
  padding: 1.25rem;
  box-shadow: 0 1px 2px rgb(0 0 0 / 0.04);
}
:is(.dark) .card {
  background-color: rgb(15 23 42 / 0.6);
  border-color: rgb(30 41 59);
}

.card-label {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: rgb(100 116 139);
}
.card-value {
  font-size: 1.875rem;
  font-weight: 600;
  margin-top: 0.25rem;
}
.card-sub {
  font-size: 0.75rem;
  color: rgb(100 116 139);
  margin-top: 0.25rem;
}

.input {
  padding: 0.5rem 0.75rem;
  border: 1px solid rgb(203 213 225);
  border-radius: 0.5rem;
  background-color: rgb(255 255 255);
  font-size: 0.875rem;
  outline: none;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.input:focus {
  border-color: #7c5cff;
  box-shadow: 0 0 0 3px rgb(124 92 255 / 0.2);
}
:is(.dark) .input {
  background-color: rgb(15 23 42);
  border-color: rgb(51 65 85);
  color: rgb(226 232 240);
}

.btn-primary {
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
  background-color: #7c5cff;
  color: white;
  font-size: 0.875rem;
  font-weight: 500;
  transition: background-color 0.15s;
}
.btn-primary:hover { background-color: #6a4ae6; }
.btn-primary:disabled { opacity: 0.5; cursor: not-allowed; }

.btn-secondary {
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
  border: 1px solid rgb(203 213 225);
  background-color: transparent;
  color: rgb(51 65 85);
  font-size: 0.875rem;
  font-weight: 500;
}
.btn-secondary:hover { background-color: rgb(241 245 249); }
:is(.dark) .btn-secondary {
  border-color: rgb(51 65 85);
  color: rgb(226 232 240);
}
:is(.dark) .btn-secondary:hover { background-color: rgb(30 41 59); }

.pane.hidden { display: none; }

.item-row {
  padding: 0.75rem 0.25rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.item-row .id {
  font-size: 0.75rem;
  color: rgb(148 163 184);
  font-family: ui-monospace, monospace;
  min-width: 2.5rem;
}
.item-row .name { font-weight: 500; }
.item-row .desc { color: rgb(100 116 139); font-size: 0.875rem; flex: 1; }
.item-row .del {
  color: rgb(239 68 68);
  font-size: 0.75rem;
  cursor: pointer;
}
.item-row .del:hover { text-decoration: underline; }
