@import '../styles/finans-theme.less';

:host {
  display: block;
}

.hesap-ekle-sayfa {
  max-width: 1400px;
  margin: 0 auto;
  padding: var(--finans-space-8);
  animation: finans-fadeIn 300ms ease;
}

// ==================== HEADER ====================
.he-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--finans-space-8);
  padding: var(--finans-space-4) var(--finans-space-6);
  .finans-glass();
  border-radius: var(--finans-radius-xl);

  .he-header-sol {
    display: flex;
    align-items: center;
    gap: var(--finans-space-3);

    .he-geri-btn {
      width: 32px;
      height: 32px;
      border-radius: var(--finans-radius-pill) !important;
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--finans-text-secondary) !important;
      border: 1px solid var(--finans-border) !important;
      background: var(--finans-bg-secondary) !important;
      cursor: pointer;
      .finans-interactive-press();

      &:hover {
        color: var(--finans-brand-primary) !important;
        border-color: var(--finans-brand-primary) !important;
      }
    }

    .he-header-icon {
      font-size: var(--finans-text-lg);
      color: var(--finans-brand-primary);
    }

    .he-header-baslik {
      font-size: var(--finans-text-lg);
      font-weight: 700;
      color: var(--finans-text-primary);
      letter-spacing: -0.3px;
    }

    .he-header-alt {
      font-size: var(--finans-text-xs);
      color: var(--finans-text-tertiary);
    }
  }

  .he-header-sag {
    display: flex;
    align-items: center;
    gap: var(--finans-space-3);
  }
}

.he-kaydet-btn {
  .finans-interactive-press();
}

// ==================== GRID ====================
.he-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(480px, 1fr));
  gap: var(--finans-space-6);
  margin-bottom: var(--finans-space-6);
}

// ==================== KART ====================
.he-kart {
  .finans-card();
  padding: var(--finans-space-6);
  animation: finans-slideUp 300ms ease backwards;

  &:nth-child(1) { animation-delay: 30ms; }
  &:nth-child(2) { animation-delay: 60ms; }
  &:nth-child(3) { animation-delay: 90ms; }
  &:nth-child(4) { animation-delay: 120ms; }
  &:nth-child(5) { animation-delay: 150ms; }
  &:nth-child(6) { animation-delay: 180ms; }
  &:nth-child(7) { animation-delay: 210ms; }
  &:nth-child(8) { animation-delay: 240ms; }

  &.he-kart-kapali {
    padding-bottom: var(--finans-space-4);
  }

  &.he-kart-kredi {
    border-left: 3px solid var(--finans-uyari);
  }

  &.he-kart-tasarruf {
    border-left: 3px solid var(--finans-gelir);
  }

  &.he-kart-ozet {
    border-left: 3px solid var(--finans-brand-primary);
  }
}

.he-kart-baslik {
  display: flex;
  align-items: center;
  gap: var(--finans-space-2);
  font-size: var(--finans-text-xs);
  font-weight: 600;
  color: var(--finans-text-tertiary);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: var(--finans-space-5);

  [nz-icon] {
    font-size: var(--finans-text-sm);
    color: var(--finans-brand-primary);
  }

  &.he-kart-toggle {
    cursor: pointer;
    transition: color var(--finans-transition-fast);
    margin-bottom: 0;

    &:hover {
      color: var(--finans-text-primary);
    }
  }
}

.he-toggle-ok {
  margin-left: auto;
  transition: transform var(--finans-transition-fast);

  &.acik {
    transform: rotate(180deg);
  }

  [nz-icon] {
    font-size: var(--finans-text-xs);
    color: var(--finans-text-tertiary);
  }
}

.he-kart-icerik {
  margin-top: var(--finans-space-5);
  animation: finans-fadeIn 200ms ease;
}

// ==================== FORM LAYOUT ====================
.he-row {
  display: flex;
  gap: var(--finans-space-4);

  .he-flex-grow {
    flex: 1;
  }

  .he-flex-1 {
    flex: 1;
  }

  .he-flex-2 {
    flex: 2;
  }
}

// ==================== RENK SECICI ====================
.he-renk-secici {
  display: flex;
  flex-wrap: wrap;
  gap: var(--finans-space-2);
}

.he-renk-kutu {
  width: 28px;
  height: 28px;
  border-radius: var(--finans-radius-sm);
  cursor: pointer;
  transition: all var(--finans-transition-fast);
  border: 2px solid transparent;
  position: relative;

  &:hover {
    transform: scale(1.15);
  }

  &.secili {
    border-color: var(--finans-text-primary);
    transform: scale(1.15);

    &::after {
      content: '✓';
      position: absolute;
      inset: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      font-size: 12px;
      font-weight: 700;
      text-shadow: 0 1px 2px rgba(0,0,0,0.3);
    }
  }
}

// ==================== IKON SECICI ====================
.he-ikon-secici {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: var(--finans-space-2);
}

.he-ikon-kutu {
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--finans-radius-md);
  cursor: pointer;
  transition: all var(--finans-transition-fast);
  background: var(--finans-bg-secondary);
  border: 1px solid transparent;
  color: var(--finans-text-tertiary);

  [nz-icon] {
    font-size: var(--finans-text-md);
  }

  &:hover {
    background: var(--finans-bg-tertiary);
    color: var(--finans-text-primary);
  }

  &.secili {
    background: var(--finans-brand-primary-light);
    border-color: var(--finans-brand-primary);
    color: var(--finans-brand-primary);
  }
}

// ==================== GRADIENT SECICI ====================
.he-gradient-secici {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: var(--finans-space-2);
}

.he-gradient-onizleme {
  height: 40px;
  border-radius: var(--finans-radius-md);
  cursor: pointer;
  transition: all var(--finans-transition-fast);
  border: 2px solid transparent;

  &:hover {
    transform: scale(1.05);
  }

  &.secili {
    border-color: var(--finans-brand-primary);
    box-shadow: 0 0 0 2px var(--finans-brand-primary-light);
  }
}

// ==================== KURAL SATIRLARI ====================
.he-kural-satir {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--finans-space-3) var(--finans-space-4);
  background: var(--finans-bg-secondary);
  border: 1px solid var(--finans-border);
  border-radius: var(--finans-radius-md);
  margin-bottom: var(--finans-space-2);
  transition: border-color var(--finans-transition-fast);

  &:hover {
    border-color: var(--finans-brand-primary);
  }
}

.he-kural-bilgi {
  display: flex;
  align-items: center;
  gap: var(--finans-space-3);
}

.he-kural-tip {
  font-size: var(--finans-text-xs);
  font-weight: 600;
  color: var(--finans-text-primary);

  &.pasif {
    color: var(--finans-text-tertiary);
    text-decoration: line-through;
  }
}

.he-kural-deger {
  font-size: var(--finans-text-xs);
  color: var(--finans-text-secondary);
  font-family: var(--finans-font-mono);
}

.he-kural-aksiyonlar {
  display: flex;
  align-items: center;
  gap: var(--finans-space-2);
}

.he-kural-sil {
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: transparent;
  color: var(--finans-text-tertiary);
  cursor: pointer;
  border-radius: var(--finans-radius-sm);
  transition: all var(--finans-transition-fast);

  &:hover {
    color: var(--finans-gider);
    background: var(--finans-gider-bg);
  }
}

.he-kural-ekle {
  display: flex;
  align-items: center;
  gap: var(--finans-space-2);
  margin-top: var(--finans-space-3);
  padding-top: var(--finans-space-3);
  border-top: 1px dashed var(--finans-border);
}

.he-bos-mesaj {
  text-align: center;
  padding: var(--finans-space-4);
  color: var(--finans-text-tertiary);
  font-size: var(--finans-text-sm);
}

// ==================== ESIK AYARLARI ====================
.he-esik-satir {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--finans-space-3) var(--finans-space-4);
  background: var(--finans-bg-secondary);
  border: 1px solid var(--finans-border);
  border-radius: var(--finans-radius-md);
  margin-bottom: var(--finans-space-3);

  &.he-esik-indent {
    margin-left: var(--finans-space-4);
  }
}

.he-esik-bilgi {
  .he-esik-baslik {
    font-size: var(--finans-text-sm);
    font-weight: 500;
    color: var(--finans-text-primary);
  }

  .he-esik-aciklama {
    font-size: var(--finans-text-xs);
    color: var(--finans-text-tertiary);
    margin-top: 2px;
  }
}

.he-esik-kontrol {
  display: flex;
  align-items: center;
  gap: var(--finans-space-2);
}

.he-esik-birim {
  font-size: var(--finans-text-xs);
  color: var(--finans-text-tertiary);
  font-family: var(--finans-font-mono);
  white-space: nowrap;
}

// ==================== OZET ====================
.he-ozet-icerik {
  display: flex;
  flex-direction: column;
  gap: var(--finans-space-1);
}

.he-ozet-satir {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--finans-space-2) var(--finans-space-3);
  font-size: var(--finans-text-sm);
  color: var(--finans-text-secondary);
  border-radius: var(--finans-radius-sm);
  transition: background var(--finans-transition-fast);

  &:hover {
    background: var(--finans-bg-secondary);
  }
}

.he-ozet-deger {
  font-weight: 600;
  color: var(--finans-text-primary);
}

// ==================== MOBIL FOOTER ====================
.he-footer-mobil {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: var(--finans-space-4);
  background: var(--finans-bg-primary);
  border-top: 1px solid var(--finans-border);
  z-index: 50;
}

// ==================== RESPONSIVE ====================
@media (max-width: 1024px) {
  .hesap-ekle-sayfa {
    padding: var(--finans-space-4);
  }

  .he-header {
    .he-header-alt {
      display: none;
    }
  }

  .he-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .hesap-ekle-sayfa {
    padding: var(--finans-space-3);
    padding-bottom: 80px;
  }

  .he-header {
    flex-wrap: wrap;
    gap: var(--finans-space-3);

    .he-header-sag {
      display: none;
    }
  }

  .he-ikon-secici {
    grid-template-columns: repeat(6, 1fr);
  }

  .he-kural-ekle {
    flex-wrap: wrap;
  }

  .he-footer-mobil {
    display: block;
  }
}

@media (max-width: 480px) {
  .he-row {
    flex-direction: column;
    gap: 0;
  }

  .he-gradient-secici {
    grid-template-columns: repeat(3, 1fr);
  }
}
