/* ============================================
   icons.css — Lucide 아이콘 공통 스타일
   ============================================ */

.lucide-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  color: currentColor;
  flex-shrink: 0;
  pointer-events: none;
}

.lucide-icon svg {
  width: 100%;
  height: 100%;
  stroke-width: 1.75;
}

.tab-bar__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.tab-bar__icon .lucide-icon,
.tab-bar__icon svg {
  width: 24px;
  height: 24px;
}

.tab-bar__item {
  color: var(--color-text-muted);
}

.tab-bar__item.is-active {
  color: var(--color-accent);
}

.label-with-icon {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  min-width: 0;
}

.label-with-icon__text {
  min-width: 0;
}

.icon-chevron-pair {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  color: var(--color-text-muted);
}

.icon-chevron-pair__closed {
  display: none;
}

.tasks-today:not(.is-open) .icon-chevron-pair__open {
  display: none;
}

.tasks-today:not(.is-open) .icon-chevron-pair__closed {
  display: inline-flex;
}

.app-fab .lucide-icon {
  width: 24px;
  height: 24px;
}

.app-fab {
  color: var(--color-on-accent);
}

.btn--icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  min-width: max-content;
  max-width: none;
  padding-left: var(--space-3);
  padding-right: var(--space-3);
}

.btn--icon-only {
  min-width: var(--touch-target-min);
  padding: 0;
}

.sheet-close,
.sub-sheet__close,
.shop-modal__close,
.task-sheet__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text-muted);
}

.task-item__star,
.task-form__star-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  min-height: 28px;
  padding: 0;
  color: var(--color-star-empty);
  background: transparent;
  border: none;
}

.task-item__star.is-filled,
.task-form__star-btn.is-filled {
  color: var(--color-star);
}

.task-item__star.is-filled svg,
.task-form__star-btn.is-filled svg {
  fill: var(--color-star);
  stroke: var(--color-star);
}

.task-item__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  flex-shrink: 0;
  color: var(--color-accent);
}

.task-item__sub-label {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
}

.settings-row__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  color: var(--color-text-muted);
}

.settings-row__icon .lucide-icon {
  width: 22px;
  height: 22px;
}

.settings-row__chevron {
  display: inline-flex;
  align-items: center;
  color: var(--color-text-subtle);
}

.settings-nav-header__back,
.stocks-detail-head__back,
.notes-edit-head__back {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  color: var(--color-accent);
}

.task-item__chevron,
.sub-item__chevron {
  display: inline-flex;
  align-items: center;
  color: var(--color-text-muted);
}

.swipe-action__delete-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-1);
}
