/* PDFlyHQ — tools/compress-pdf/options.css
   Written per tool — matches _Options.cshtml exactly. JS contract preserved:
   .level-btn, [data-level], .active, #opt-dpi, #opt-remove-meta,
   #opt-grayscale, #btn-compress, #btn-back, #file-list, #file-count-label,
   #btn-add-more, .file-list__item, .file-list__remove. */

.options-wrap { display: flex; flex-direction: column; gap: var(--space-6); }

/* ── Selected files (batch) ── */
.file-list-wrap { display: flex; flex-direction: column; gap: var(--space-3); }

.file-list-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-3);
}
.file-list-toolbar__hint { font-size: var(--text-xs); color: var(--color-text-muted); }
.file-list-toolbar__hint strong { color: var(--color-text); font-weight: var(--font-semibold); font-variant-numeric: tabular-nums; }
#btn-add-more { height: 32px; padding: 0 var(--space-3); }
#btn-add-more svg { width: 14px; height: 14px; }

.file-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  max-height: 320px;
  overflow-y: auto;
}

.file-list__item {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  background: color-mix(in srgb, var(--color-primary-500) 6%, var(--color-surface-alt));
  border: 1px solid color-mix(in srgb, var(--color-primary-500) 18%, var(--color-border));
  border-radius: var(--radius-md);
  font-size: var(--text-sm);
}
.file-list__icon {
  flex: none;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-surface);
  border-radius: var(--radius-sm);
  color: var(--color-primary-600);
}
.file-list__icon svg { width: 20px; height: 20px; }
.file-list__meta { display: flex; flex-direction: column; min-width: 0; margin-right: auto; }
.file-list__name {
  font-weight: var(--font-semibold);
  color: var(--color-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.file-list__size { font-size: var(--text-xs); color: var(--color-text-muted); }

.file-list__remove {
  flex: none;
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-sm);
  color: var(--color-text-muted);
  transition: color var(--duration-base) var(--ease-default),
              background-color var(--duration-base) var(--ease-default);
}
.file-list__remove:hover { color: var(--color-danger-500); background: var(--color-danger-50); }
.file-list__remove:focus-visible { outline: none; box-shadow: var(--shadow-focus); }
.file-list__remove svg { width: 14px; height: 14px; }

/* ── Group labels ── */
.options-group { display: flex; flex-direction: column; gap: var(--space-3); }
.options-group__label {
  font-size: var(--text-xs);
  font-weight: var(--font-semibold);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-text-muted);
}

/* ── Compression level — segmented control with descriptions ── */
.level-selector {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-2);
}
.level-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-1);
  padding: var(--space-3) var(--space-2);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  color: var(--color-text-secondary);
  transition: border-color var(--duration-base) var(--ease-default),
              background-color var(--duration-base) var(--ease-default),
              color var(--duration-base) var(--ease-default);
}
.level-btn:hover { border-color: var(--color-primary-400); }
.level-btn:focus-visible { outline: none; border-color: var(--color-primary-500); box-shadow: var(--shadow-focus); }
.level-btn__row { display: inline-flex; align-items: center; gap: var(--space-2); font-weight: var(--font-semibold); font-size: var(--text-sm); }
.level-btn__desc { font-size: var(--text-xs); color: var(--color-text-muted); }

.level-btn.active {
  border-color: var(--color-primary-500);
  background: color-mix(in srgb, var(--color-primary-500) 8%, transparent);
  color: var(--color-primary-700);
}
:root[data-theme="dark"] .level-btn.active { color: var(--color-primary-400); }
.level-btn.active .level-btn__desc { color: var(--color-primary-600); }

.level-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--color-neutral-400); }
.level-btn[data-level="low"] .level-dot { background: var(--color-success-500); }
.level-btn[data-level="medium"] .level-dot { background: var(--color-warning-500); }
.level-btn[data-level="high"] .level-dot { background: var(--color-danger-500); }

/* ── Advanced controls ── */
.select {
  height: 40px;
  padding: 0 var(--space-3);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  color: var(--color-text);
  transition: border-color var(--duration-base) var(--ease-default),
              box-shadow var(--duration-base) var(--ease-default);
}
.select:focus { outline: none; border-color: var(--color-primary-500); box-shadow: var(--shadow-focus); }

.advanced-list { display: flex; flex-direction: column; gap: var(--space-3); }

.options-note {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
  font-size: var(--text-xs);
  color: var(--color-text-muted);
  background: var(--color-surface-alt);
  border-radius: var(--radius-md);
  padding: var(--space-3);
}
.options-note svg { flex: none; width: 14px; height: 14px; margin-top: 1px; color: var(--color-text-muted); }

/* ── Actions ── */
.options-actions {
  display: flex;
  gap: var(--space-3);
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border);
}
.options-actions .btn--primary { flex: 1; }
