/* ==========================================================================
   HASHFY THEME (Bootstrap 5.3 Custom Properties)
   ========================================================================== */

:root {
  /* --- Основная палитра --- */
  --bs-primary: #34d399;
  --bs-primary-rgb: 52, 211, 153;
  --bs-success: #34d399;
  --bs-success-rgb: 52, 211, 153;
  --bs-warning: #fbbf24;
  --bs-warning-rgb: 251, 191, 36;
  --bs-danger: #ef4444;
  --bs-danger-rgb: 239, 68, 68;
  --bs-white: #ffffff;
  --bs-black: #000000;

  /* --- Фоны (Темная тема) --- */
  --bs-body-bg: #060a08;
  --bs-body-bg-rgb: 6, 10, 8;
  --bs-tertiary-bg: #0d120f;
  --bs-tertiary-bg-rgb: 13, 18, 15;
  --bs-secondary-bg: #141a16;
  --bs-secondary-bg-rgb: 20, 26, 22;
  --bs-light-bg-subtle: #1a221d;
  --bs-dark-bg-subtle: #0d120f;

  /* --- Текст --- */
  --bs-body-color: #f8fafc;
  --bs-body-color-rgb: 248, 250, 252;
  --bs-secondary-color: #8b949e;
  --bs-secondary-color-rgb: 139, 148, 158;
  --bs-tertiary-color: #58615b;
  --bs-tertiary-color-rgb: 88, 97, 91;
  --bs-heading-color: #ffffff;

  /* --- Ссылки --- */
  --bs-link-color: #34d399;
  --bs-link-color-rgb: 52, 211, 153;
  --bs-link-hover-color: #6ee7b7;
  --bs-link-hover-color-rgb: 110, 231, 183;

  /* --- Границы и радиусы --- */
  --bs-border-color: #1e2621;
  --bs-border-color-translucent: rgba(30, 38, 33, 0.5);
  --bs-border-radius: 0.5rem;
  --bs-border-radius-sm: 0.25rem;
  --bs-border-radius-lg: 1rem;
  --bs-border-radius-xl: 1.5rem;
  --bs-border-radius-pill: 50rem;

  /* --- Типографика --- */
  --bs-font-sans-serif: 'Inter', system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --bs-body-font-family: var(--bs-font-sans-serif);
/*  --bs-body-font-size: 0.875rem;*/
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.5;

  /* --- Тени и фокус --- */
  --bs-box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.5);
  --bs-box-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.5);
  --bs-focus-ring-width: 0.25rem;
  --bs-focus-ring-opacity: 0.25;
  --bs-focus-ring-color: rgba(52, 211, 153, 0.25);
}

/* ==========================================================================
   КОМПОНЕНТЫ
   ========================================================================== */

/* --- Buttons --- */
.btn {
  --bs-btn-padding-x: 1rem;
  --bs-btn-padding-y: 0.5rem;
  --bs-btn-font-size: 0.875rem;
  --bs-btn-font-weight: 500;
  --bs-btn-border-radius: var(--bs-border-radius);
  --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(52, 211, 153, 0.25);
}

.btn-primary {
  --bs-btn-color: #060a08;
  --bs-btn-bg: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-color: #060a08;
  --bs-btn-hover-bg: #6ee7b7;
  --bs-btn-hover-border-color: #6ee7b7;
  --bs-btn-active-color: #060a08;
  --bs-btn-active-bg: #10b981;
  --bs-btn-active-border-color: #10b981;
  --bs-btn-disabled-color: #060a08;
  --bs-btn-disabled-bg: #34d399;
  --bs-btn-disabled-border-color: #34d399;
}

.btn-secondary {
  --bs-btn-color: var(--bs-body-color);
  --bs-btn-bg: var(--bs-secondary-bg);
  --bs-btn-border-color: var(--bs-border-color);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #1f2937;
  --bs-btn-hover-border-color: #374151;
}

/* --- Alerts --- */
.alert {
  --bs-alert-padding-x: 1rem;
  --bs-alert-padding-y: 0.75rem;
  --bs-alert-margin-bottom: 1rem;
  --bs-alert-border-radius: var(--bs-border-radius);
  --bs-alert-border: 1px solid var(--bs-alert-border-color);
}

.alert-success {
  --bs-alert-color: #6ee7b7;
  --bs-alert-bg: rgba(52, 211, 153, 0.1);
  --bs-alert-border-color: rgba(52, 211, 153, 0.2);
  --bs-alert-link-color: #34d399;
}

.alert-warning {
  --bs-alert-color: #fbbf24;
  --bs-alert-bg: rgba(251, 191, 36, 0.1);
  --bs-alert-border-color: rgba(251, 191, 36, 0.2);
  --bs-alert-link-color: #fbbf24;
}

/* --- Cards --- */
.card {
  --bs-card-spacer-y: 1.5rem;
  --bs-card-spacer-x: 1.5rem;
  --bs-card-title-spacer-y: 0.5rem;
  --bs-card-border-width: 1px;
  --bs-card-border-color: var(--bs-border-color);
  --bs-card-border-radius: var(--bs-border-radius-lg);
  --bs-card-inner-border-radius: calc(var(--bs-border-radius-lg) - 1px);
  --bs-card-cap-padding-y: 0.75rem;
  --bs-card-cap-padding-x: 1.5rem;
  --bs-card-cap-bg: transparent;
  --bs-card-bg: var(--bs-tertiary-bg);
/*  --bs-card-color: var(--bs-body-color);*/
}

/* --- Forms --- */
.form-control,
.form-select {
  --bs-body-bg: var(--bs-secondary-bg);
  --bs-border-color: var(--bs-border-color);
  --bs-focus-ring-color: rgba(52, 211, 153, 0.25);
  
  background-color: var(--bs-secondary-bg);
  border-color: var(--bs-border-color);
  color: var(--bs-body-color);
}

.form-control:focus,
.form-select:focus {
  background-color: var(--bs-secondary-bg);
  border-color: var(--bs-primary);
  box-shadow: 0 0 0 0.25rem rgba(52, 211, 153, 0.25);
}

.form-control::placeholder {
  color: var(--bs-tertiary-color);
}

/* --- Tables --- */
.table {
  --bs-table-color: var(--bs-body-color);
  --bs-table-bg: transparent;
  --bs-table-border-color: var(--bs-border-color);
  --bs-table-accent-bg: transparent;
  --bs-table-striped-color: var(--bs-body-color);
  --bs-table-striped-bg: rgba(255, 255, 255, 0.02);
  --bs-table-active-color: var(--bs-body-color);
  --bs-table-active-bg: rgba(52, 211, 153, 0.1);
  --bs-table-hover-color: var(--bs-body-color);
  --bs-table-hover-bg: rgba(255, 255, 255, 0.03);
  
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table > :not(caption) > * > * {
  background-color: var(--bs-table-bg);
  box-shadow: none;
  border-bottom-width: 1px;
}

/* --- Navbar --- */
.navbar {
  --bs-navbar-padding-x: 1rem;
  --bs-navbar-padding-y: 0.5rem;
  --bs-navbar-color: rgba(248, 250, 252, 0.8);
  --bs-navbar-hover-color: #fff;
  --bs-navbar-disabled-color: rgba(248, 250, 252, 0.4);
  --bs-navbar-active-color: #fff;
  --bs-navbar-brand-color: #fff;
  --bs-navbar-brand-hover-color: #fff;
  --bs-navbar-toggler-border-color: var(--bs-border-color);
}

/* --- Утилита для фона body (опционально) --- */
body {
  background-color: var(--bs-body-bg);
  background-image: radial-gradient(circle at 50% -20%, rgba(52, 211, 153, 0.15) 0%, transparent 60%);
  background-repeat: no-repeat;
  color: var(--bs-body-color);
}