/* Editorial Light shared primitives — buttons, fields, flash, focus.
   Inspired by Editorial Login; do not import editorial-login.css. */

.editorial-body a:focus-visible,
.editorial-body button:focus-visible,
.editorial-body input:focus-visible,
.editorial-body select:focus-visible,
.editorial-body textarea:focus-visible,
.editorial-body summary:focus-visible {
  outline: none;
  box-shadow: 0 0 0 1px var(--ed-accent);
}

.btn {
  font-family: var(--ed-ui-font);
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: -0.01em;
  line-height: 1.2;
  padding: 0.4rem 0.75rem;
  min-height: 2rem;
  border-radius: var(--ed-radius);
  border: 1px solid var(--ed-border);
  background: var(--ed-surface);
  color: var(--ed-text);
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
}

.btn:hover {
  border-color: var(--ed-border-strong);
}

.btn:disabled,
.btn[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: 0.55;
  color: var(--ed-text-faint);
}

.btn-sm {
  font-size: 0.75rem;
  padding: 0.28rem 0.6rem;
  min-height: 1.75rem;
}

.btn-primary {
  background: var(--ed-accent);
  border-color: transparent;
  color: var(--ed-btn-primary-fg);
  font-weight: 600;
}

.btn-primary:hover {
  background: var(--ed-accent-hover);
  border-color: transparent;
  color: var(--ed-btn-primary-fg);
}

.btn-secondary {
  background: var(--ed-btn-secondary-bg);
  border-color: var(--ed-border-strong);
  color: var(--ed-text);
}

.btn-warning {
  background: var(--ed-warning-bg);
  border-color: var(--ed-warning-line);
  color: var(--ed-warning);
}

.btn-danger {
  background: transparent;
  border-color: var(--ed-danger-line);
  color: var(--ed-danger);
}

.btn-danger:hover {
  background: var(--ed-danger-bg);
}

.editorial-filters label,
.review-workspace__filters label,
.planning-materials-sidebar__filters label {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--ed-text-secondary);
}

.editorial-select,
.editorial-input,
.editorial-filters select,
.editorial-filters input[type="search"],
.review-workspace__filters select,
.review-workspace__filters input[type="search"],
.planning-materials-sidebar__filters select,
.planning-materials-sidebar__filters input[type="search"] {
  font-family: var(--ed-ui-font);
  font-size: 0.875rem;
  line-height: 1.3;
  height: 2.5rem;
  padding: 0.4rem 0.75rem;
  border: 1px solid var(--ed-input-border);
  border-radius: var(--ed-radius);
  background: var(--ed-input-bg);
  color: var(--ed-text);
  width: 100%;
  text-transform: none;
  letter-spacing: normal;
  caret-color: var(--ed-accent);
}

.editorial-select,
.editorial-filters select,
.review-workspace__filters select,
.planning-materials-sidebar__filters select,
.ew-publications-filters select {
  appearance: none;
  padding-right: 2rem;
  background-color: var(--ed-input-bg);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%235f636b' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.65rem center;
  background-size: 0.65rem;
}

.editorial-input,
.review-workspace__filters input[type="search"],
.planning-materials-sidebar__filters input[type="search"],
.editorial-filters input[type="search"] {
  background-image: none;
  padding-right: 0.75rem;
}

textarea.editorial-input {
  height: auto;
  min-height: 5rem;
  resize: vertical;
}

.editorial-input[type="date"],
.editorial-input[type="time"] {
  min-width: 0;
}

.editorial-select:hover,
.editorial-input:hover,
.editorial-filters select:hover,
.editorial-filters input:hover,
.review-workspace__filters select:hover,
.review-workspace__filters input:hover,
.planning-materials-sidebar__filters select:hover,
.planning-materials-sidebar__filters input:hover,
.ew-publications-filters select:hover,
.ew-publications-filters input:hover {
  border-color: var(--ed-text-faint);
}

.editorial-select:focus,
.editorial-input:focus,
.editorial-filters select:focus,
.editorial-filters input:focus,
.review-workspace__filters select:focus,
.review-workspace__filters input:focus,
.planning-materials-sidebar__filters select:focus,
.planning-materials-sidebar__filters input:focus,
.ew-publications-filters select:focus,
.ew-publications-filters input:focus {
  outline: none;
}

.editorial-select:focus-visible,
.editorial-input:focus-visible,
.editorial-filters select:focus-visible,
.editorial-filters input:focus-visible,
.review-workspace__filters select:focus-visible,
.review-workspace__filters input:focus-visible,
.planning-materials-sidebar__filters select:focus-visible,
.planning-materials-sidebar__filters input:focus-visible,
.ew-publications-filters select:focus-visible,
.ew-publications-filters input:focus-visible {
  outline: none;
  border-color: var(--ed-accent);
  box-shadow: 0 0 0 1px var(--ed-accent);
}

.editorial-select:disabled,
.editorial-input:disabled {
  color: var(--ed-text-faint);
  background: var(--ed-surface-muted);
  cursor: not-allowed;
}

.editorial-body :is(
  .review-workspace__filters,
  .planning-materials-sidebar__filters,
  .ew-publications-filters,
  .editorial-filters
) .btn-secondary {
  background: var(--ed-surface);
}

.muted {
  color: var(--ed-muted);
}

.editorial-error-banner,
.review-workspace-error {
  padding: 0.65rem 0.85rem;
  background: var(--ed-danger-bg);
  border: 1px solid var(--ed-danger-line);
  border-radius: var(--ed-radius);
  color: var(--ed-danger);
  font-size: 0.8125rem;
}

.planning-flash--ok {
  background: var(--ed-success-bg);
  border-color: var(--ed-success-line);
  color: var(--ed-text);
}

.planning-flash--error {
  background: var(--ed-danger-bg);
  border-color: var(--ed-danger-line);
  color: var(--ed-danger);
}

.planning-flash--warn {
  background: var(--ed-warning-bg);
  border-color: var(--ed-warning-line);
  color: var(--ed-warning);
}

.review-actions-panel__flash.is-error {
  background: var(--ed-danger-bg);
  border-color: var(--ed-danger-line);
  color: var(--ed-danger);
}

html[data-theme="dark"] .editorial-select,
html[data-theme="dark"] .editorial-filters select,
html[data-theme="dark"] .review-workspace__filters select,
html[data-theme="dark"] .planning-materials-sidebar__filters select,
html[data-theme="dark"] .ew-publications-filters select {
  background-color: var(--ed-input-bg);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%238F8C85' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.65rem center;
  background-size: 0.65rem;
}
