/*
 * Soft pastel UI — keskin mavi/yeşil/kırmızı/siyah yerine açık pastel tonlar.
 * bootstrap-extended + app.css üzerine en sonda yüklenir.
 */

:root {
  /* Zemin & metin */
  --soft-ink: #4a5568;
  --soft-ink-deep: #3d4758;
  --soft-muted: #7a8494;
  --soft-page: #f4f6f9;
  --soft-card-shadow: 0 2px 10px 0 rgb(180 190 210 / 28%), 0 1px 4px 0 rgb(200 208 220 / 22%);

  /* Primary — gök mavisi pasta */
  --soft-primary: #c5daf0;
  --soft-primary-hover: #b5cdea;
  --soft-primary-border: #adc6e4;
  --soft-primary-ink: #3d5f80;
  --soft-primary-focus: rgb(165 196 230 / 45%);

  /* Success — nane */
  --soft-success: #cde9d6;
  --soft-success-hover: #bde0ca;
  --soft-success-border: #b3d9c0;
  --soft-success-ink: #3a6b4a;
  --soft-success-focus: rgb(180 220 195 / 45%);

  /* Danger — gül */
  --soft-danger: #f5d0d6;
  --soft-danger-hover: #f0c0c8;
  --soft-danger-border: #ebc0c8;
  --soft-danger-ink: #8a4a55;
  --soft-danger-focus: rgb(235 180 190 / 45%);

  /* Warning — kayısı */
  --soft-warning: #f8e2c4;
  --soft-warning-hover: #f3d8b0;
  --soft-warning-border: #eed2a8;
  --soft-warning-ink: #7a5a28;
  --soft-warning-focus: rgb(240 210 160 / 45%);

  /* Info — buz mavisi */
  --soft-info: #c5e8ef;
  --soft-info-hover: #b4dfe8;
  --soft-info-border: #abd6e0;
  --soft-info-ink: #3a6a75;
  --soft-info-focus: rgb(170 220 230 / 45%);

  /* Secondary / dark → soft slate (siyah yok) */
  --soft-secondary: #e0e4ea;
  --soft-secondary-hover: #d4d9e0;
  --soft-secondary-border: #ced4dc;
  --soft-secondary-ink: #5a6575;

  --soft-dark: #d8dce4;
  --soft-dark-hover: #ccd1db;
  --soft-dark-border: #c0c6d0;
  --soft-dark-ink: #4a5565;

  /* Bootstrap 5 değişkenleri */
  --bs-primary: #9bbfdc;
  --bs-primary-rgb: 155, 191, 220;
  --bs-success: #8fcfad;
  --bs-success-rgb: 143, 207, 173;
  --bs-danger: #e8a8b2;
  --bs-danger-rgb: 232, 168, 178;
  --bs-warning: #e8c992;
  --bs-warning-rgb: 232, 201, 146;
  --bs-info: #8fcfde;
  --bs-info-rgb: 143, 207, 222;
  --bs-secondary: #b8c0cc;
  --bs-secondary-rgb: 184, 192, 204;
  --bs-dark: #8a93a0;
  --bs-dark-rgb: 138, 147, 160;
  --bs-body-color: #4a5568;
  --bs-link-color: #5a7ea0;
  --bs-link-hover-color: #4a6a88;
}

/* ---------- Sayfa zemini & tipografi ---------- */
body {
  background: var(--soft-page) !important;
  color: var(--soft-ink);
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
  color: var(--soft-ink-deep);
}

a {
  color: var(--soft-primary-ink);
}
a:hover {
  color: #345670;
}

.card {
  box-shadow: var(--soft-card-shadow) !important;
}

/* ---------- Text / durum ---------- */
.form-check-input:checked {
  background-color: var(--soft-primary) !important;
  border-color: var(--soft-primary-border) !important;
}
.form-check-input[type="checkbox"]:indeterminate {
  background-color: var(--soft-primary) !important;
  border-color: var(--soft-primary-border) !important;
}
.form-check-input:focus {
  border-color: var(--soft-primary-border);
  box-shadow: 0 0 0 0.2rem var(--soft-primary-focus);
}

.valid-feedback,
.form-check-input.is-valid ~ .form-check-label,
.was-validated .form-check-input:valid ~ .form-check-label {
  color: var(--soft-success-ink) !important;
}
.form-control.is-valid,
.was-validated .form-control:valid,
.form-select.is-valid,
.was-validated .form-select:valid,
.form-check-input.is-valid,
.was-validated .form-check-input:valid {
  border-color: var(--soft-success-border) !important;
}
.form-check-input.is-valid:checked,
.was-validated .form-check-input:valid:checked {
  background-color: var(--soft-success) !important;
  border-color: var(--soft-success-border) !important;
}

.invalid-feedback,
.form-check-input.is-invalid ~ .form-check-label,
.was-validated .form-check-input:invalid ~ .form-check-label {
  color: var(--soft-danger-ink) !important;
}
.form-control.is-invalid,
.was-validated .form-control:invalid,
.form-select.is-invalid,
.was-validated .form-select:invalid,
.form-check-input.is-invalid,
.was-validated .form-check-input:invalid {
  border-color: var(--soft-danger-border) !important;
}
.form-check-input.is-invalid:checked,
.was-validated .form-check-input:invalid:checked {
  background-color: var(--soft-danger) !important;
  border-color: var(--soft-danger-border) !important;
}

/* ---------- Butonlar (pastel dolgu + soft mürekkep) ---------- */
.btn-primary {
  color: var(--soft-primary-ink) !important;
  background-color: var(--soft-primary) !important;
  border-color: var(--soft-primary-border) !important;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-check:focus + .btn-primary,
.btn-check:active + .btn-primary,
.btn-check:checked + .btn-primary,
.btn-primary.active,
.btn-primary:active,
.show > .btn-primary.dropdown-toggle {
  color: var(--soft-primary-ink) !important;
  background-color: var(--soft-primary-hover) !important;
  border-color: var(--soft-primary-border) !important;
}
.btn-primary:focus,
.btn-check:focus + .btn-primary,
.btn-primary:active:focus,
.btn-check:active + .btn-primary:focus,
.btn-check:checked + .btn-primary:focus {
  box-shadow: 0 0 0 0.2rem var(--soft-primary-focus) !important;
}
.btn-primary.disabled,
.btn-primary:disabled {
  color: var(--soft-primary-ink) !important;
  background-color: var(--soft-primary) !important;
  border-color: var(--soft-primary-border) !important;
  opacity: 0.65;
}

.btn-success {
  color: var(--soft-success-ink) !important;
  background-color: var(--soft-success) !important;
  border-color: var(--soft-success-border) !important;
}
.btn-success:hover,
.btn-success:focus,
.btn-check:focus + .btn-success,
.btn-check:active + .btn-success,
.btn-check:checked + .btn-success,
.btn-success.active,
.btn-success:active,
.show > .btn-success.dropdown-toggle {
  color: var(--soft-success-ink) !important;
  background-color: var(--soft-success-hover) !important;
  border-color: var(--soft-success-border) !important;
}
.btn-success:focus,
.btn-check:focus + .btn-success {
  box-shadow: 0 0 0 0.2rem var(--soft-success-focus) !important;
}
.btn-success.disabled,
.btn-success:disabled {
  color: var(--soft-success-ink) !important;
  background-color: var(--soft-success) !important;
  border-color: var(--soft-success-border) !important;
}

.btn-danger {
  color: var(--soft-danger-ink) !important;
  background-color: var(--soft-danger) !important;
  border-color: var(--soft-danger-border) !important;
}
.btn-danger:hover,
.btn-danger:focus,
.btn-check:focus + .btn-danger,
.btn-check:active + .btn-danger,
.btn-check:checked + .btn-danger,
.btn-danger.active,
.btn-danger:active,
.show > .btn-danger.dropdown-toggle {
  color: var(--soft-danger-ink) !important;
  background-color: var(--soft-danger-hover) !important;
  border-color: var(--soft-danger-border) !important;
}
.btn-danger:focus,
.btn-check:focus + .btn-danger {
  box-shadow: 0 0 0 0.2rem var(--soft-danger-focus) !important;
}
.btn-danger.disabled,
.btn-danger:disabled {
  color: var(--soft-danger-ink) !important;
  background-color: var(--soft-danger) !important;
  border-color: var(--soft-danger-border) !important;
}

.btn-warning {
  color: var(--soft-warning-ink) !important;
  background-color: var(--soft-warning) !important;
  border-color: var(--soft-warning-border) !important;
}
.btn-warning:hover,
.btn-warning:focus,
.btn-warning.active,
.btn-warning:active {
  color: var(--soft-warning-ink) !important;
  background-color: var(--soft-warning-hover) !important;
  border-color: var(--soft-warning-border) !important;
}

.btn-info {
  color: var(--soft-info-ink) !important;
  background-color: var(--soft-info) !important;
  border-color: var(--soft-info-border) !important;
}
.btn-info:hover,
.btn-info:focus,
.btn-info.active,
.btn-info:active {
  color: var(--soft-info-ink) !important;
  background-color: var(--soft-info-hover) !important;
  border-color: var(--soft-info-border) !important;
}

.btn-secondary {
  color: var(--soft-secondary-ink) !important;
  background-color: var(--soft-secondary) !important;
  border-color: var(--soft-secondary-border) !important;
}
.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary.active,
.btn-secondary:active {
  color: var(--soft-secondary-ink) !important;
  background-color: var(--soft-secondary-hover) !important;
  border-color: var(--soft-secondary-border) !important;
}

.btn-dark {
  color: var(--soft-dark-ink) !important;
  background-color: var(--soft-dark) !important;
  border-color: var(--soft-dark-border) !important;
}
.btn-dark:hover,
.btn-dark:focus,
.btn-dark.active,
.btn-dark:active {
  color: var(--soft-dark-ink) !important;
  background-color: var(--soft-dark-hover) !important;
  border-color: var(--soft-dark-border) !important;
}

/* Outline — soft kenarlık, hover’da pastel dolgu */
.btn-outline-primary {
  color: var(--soft-primary-ink) !important;
  border-color: var(--soft-primary-border) !important;
  background- transparent;
}
.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary.active,
.btn-outline-primary:active,
.btn-check:checked + .btn-outline-primary {
  color: var(--soft-primary-ink) !important;
  background-color: var(--soft-primary) !important;
  border-color: var(--soft-primary-border) !important;
}
.btn-outline-primary:focus {
  box-shadow: 0 0 0 0.2rem var(--soft-primary-focus) !important;
}

.btn-outline-success {
  color: var(--soft-success-ink) !important;
  border-color: var(--soft-success-border) !important;
}
.btn-outline-success:hover,
.btn-outline-success:focus,
.btn-outline-success.active,
.btn-outline-success:active {
  color: var(--soft-success-ink) !important;
  background-color: var(--soft-success) !important;
  border-color: var(--soft-success-border) !important;
}

.btn-outline-danger {
  color: var(--soft-danger-ink) !important;
  border-color: var(--soft-danger-border) !important;
}
.btn-outline-danger:hover,
.btn-outline-danger:focus,
.btn-outline-danger.active,
.btn-outline-danger:active {
  color: var(--soft-danger-ink) !important;
  background-color: var(--soft-danger) !important;
  border-color: var(--soft-danger-border) !important;
}

.btn-outline-warning {
  color: var(--soft-warning-ink) !important;
  border-color: var(--soft-warning-border) !important;
}
.btn-outline-warning:hover,
.btn-outline-warning:focus,
.btn-outline-warning.active,
.btn-outline-warning:active {
  color: var(--soft-warning-ink) !important;
  background-color: var(--soft-warning) !important;
  border-color: var(--soft-warning-border) !important;
}

.btn-outline-info {
  color: var(--soft-info-ink) !important;
  border-color: var(--soft-info-border) !important;
}
.btn-outline-info:hover,
.btn-outline-info:focus,
.btn-outline-info.active,
.btn-outline-info:active {
  color: var(--soft-info-ink) !important;
  background-color: var(--soft-info) !important;
  border-color: var(--soft-info-border) !important;
}

.btn-outline-secondary {
  color: var(--soft-secondary-ink) !important;
  border-color: var(--soft-secondary-border) !important;
}
.btn-outline-secondary:hover,
.btn-outline-secondary:focus,
.btn-outline-secondary.active,
.btn-outline-secondary:active {
  color: var(--soft-secondary-ink) !important;
  background-color: var(--soft-secondary) !important;
  border-color: var(--soft-secondary-border) !important;
}

.btn-outline-dark {
  color: var(--soft-dark-ink) !important;
  border-color: var(--soft-dark-border) !important;
}
.btn-outline-dark:hover,
.btn-outline-dark:focus,
.btn-outline-dark.active,
.btn-outline-dark:active {
  color: var(--soft-dark-ink) !important;
  background-color: var(--soft-dark) !important;
  border-color: var(--soft-dark-border) !important;
}

.btn-link {
  color: var(--soft-primary-ink) !important;
}

/* ---------- Arka plan / metin yardımcıları ---------- */
.bg-primary,
.badge.bg-primary,
span.badge.bg-primary {
  background-color: var(--soft-primary) !important;
  color: var(--soft-primary-ink) !important;
}
.bg-success,
.badge.bg-success {
  background-color: var(--soft-success) !important;
  color: var(--soft-success-ink) !important;
}
.bg-danger,
.badge.bg-danger {
  background-color: var(--soft-danger) !important;
  color: var(--soft-danger-ink) !important;
}
.bg-warning,
.badge.bg-warning {
  background-color: var(--soft-warning) !important;
  color: var(--soft-warning-ink) !important;
}
.bg-info,
.badge.bg-info {
  background-color: var(--soft-info) !important;
  color: var(--soft-info-ink) !important;
}
.bg-secondary,
.badge.bg-secondary {
  background-color: var(--soft-secondary) !important;
  color: var(--soft-secondary-ink) !important;
}
.bg-dark,
.badge.bg-dark {
  background-color: var(--soft-dark) !important;
  color: var(--soft-dark-ink) !important;
}

.text-bg-primary {
  background-color: var(--soft-primary) !important;
  color: var(--soft-primary-ink) !important;
}
.text-bg-success {
  background-color: var(--soft-success) !important;
  color: var(--soft-success-ink) !important;
}
.text-bg-danger {
  background-color: var(--soft-danger) !important;
  color: var(--soft-danger-ink) !important;
}
.text-bg-warning {
  background-color: var(--soft-warning) !important;
  color: var(--soft-warning-ink) !important;
}
.text-bg-info {
  background-color: var(--soft-info) !important;
  color: var(--soft-info-ink) !important;
}
.text-bg-secondary {
  background-color: var(--soft-secondary) !important;
  color: var(--soft-secondary-ink) !important;
}
.text-bg-dark {
  background-color: var(--soft-dark) !important;
  color: var(--soft-dark-ink) !important;
}

.text-primary {
  color: var(--soft-primary-ink) !important;
}
.text-success {
  color: var(--soft-success-ink) !important;
}
.text-danger {
  color: var(--soft-danger-ink) !important;
}
.text-warning {
  color: var(--soft-warning-ink) !important;
}
.text-info {
  color: var(--soft-info-ink) !important;
}
.text-secondary {
  color: var(--soft-muted) !important;
}
.text-dark,
.text-body {
  color: var(--soft-ink-deep) !important;
}
.text-muted {
  color: var(--soft-muted) !important;
}

.border-primary {
  border-color: var(--soft-primary-border) !important;
}
.border-success {
  border-color: var(--soft-success-border) !important;
}
.border-danger {
  border-color: var(--soft-danger-border) !important;
}
.border-warning {
  border-color: var(--soft-warning-border) !important;
}
.border-info {
  border-color: var(--soft-info-border) !important;
}
.border-dark {
  border-color: var(--soft-dark-border) !important;
}

/* ---------- Alert (yumuşak dolgu) ---------- */
.alert-primary {
  color: var(--soft-primary-ink);
  background-color: #e8f1fa;
  border-color: var(--soft-primary-border);
}
.alert-success {
  color: var(--soft-success-ink);
  background-color: #e8f6ed;
  border-color: var(--soft-success-border);
}
.alert-danger {
  color: var(--soft-danger-ink);
  background-color: #faf0f2;
  border-color: var(--soft-danger-border);
}
.alert-warning {
  color: var(--soft-warning-ink);
  background-color: #fbf5ea;
  border-color: var(--soft-warning-border);
}
.alert-info {
  color: var(--soft-info-ink);
  background-color: #e8f5f8;
  border-color: var(--soft-info-border);
}
.alert-secondary {
  color: var(--soft-secondary-ink);
  background-color: #f0f2f5;
  border-color: var(--soft-secondary-border);
}
.alert-dark {
  color: var(--soft-dark-ink);
  background-color: #eceef2;
  border-color: var(--soft-dark-border);
}

/* ---------- Navigasyon, progress, list ---------- */
.progress-bar {
  background-color: var(--soft-primary) !important;
  color: var(--soft-primary-ink);
}

.list-group-item.active {
  color: var(--soft-primary-ink) !important;
  background-color: var(--soft-primary) !important;
  border-color: var(--soft-primary-border) !important;
}

.dropdown-item.active,
.dropdown-item:active {
  color: var(--soft-primary-ink) !important;
  background-color: var(--soft-primary) !important;
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: var(--soft-primary-ink) !important;
  background-color: var(--soft-primary) !important;
}

.page-item.active .page-link {
  color: var(--soft-primary-ink) !important;
  background-color: var(--soft-primary) !important;
  border-color: var(--soft-primary-border) !important;
}
.page-link {
  color: var(--soft-primary-ink);
}
.page-link:hover {
  color: var(--soft-primary-ink);
  background-color: #e8f1fa;
  border-color: var(--soft-primary-border);
}

/* ---------- Tema şablon accent’leri (app.css #008cff vb.) ---------- */
.switcher-btn,
.back-to-top,
.mobile-toggle-menu,
.sidebar-wrapper .metismenu a:hover > .parent-icon,
.sidebar-wrapper .metismenu a:hover > .menu-title {
  /* varsayılanlar soft-pastel ile birlikte kalsın */
}

/* Sık kullanılan app.css vurgu alanları */
.topbar .navbar .navbar-nav .nav-link:hover,
.topbar .navbar .navbar-nav .nav-link:focus {
  background-color: rgb(0 0 0 / 5%);
}

/* Pace progress — soft mavi */
.pace .pace-progress {
  background: var(--soft-primary) !important;
  box-shadow: none !important;
}
.pace .pace-progress-inner {
  box-shadow: none !important;
}
.pace .pace-activity {
  border-top-color: var(--soft-primary) !important;
  border-left-color: var(--soft-primary) !important;
}

/* Form-check renk varyantları */
.form-check-success .form-check-input:checked,
.form-check-success .form-check-input[type="checkbox"]:indeterminate {
  background-color: var(--soft-success) !important;
  border-color: var(--soft-success-border) !important;
}
.form-check-danger .form-check-input:checked,
.form-check-danger .form-check-input[type="checkbox"]:indeterminate {
  background-color: var(--soft-danger) !important;
  border-color: var(--soft-danger-border) !important;
}
.form-check-warning .form-check-input:checked,
.form-check-warning .form-check-input[type="checkbox"]:indeterminate {
  background-color: var(--soft-warning) !important;
  border-color: var(--soft-warning-border) !important;
}
.form-check-info .form-check-input:checked,
.form-check-info .form-check-input[type="checkbox"]:indeterminate {
  background-color: var(--soft-info) !important;
  border-color: var(--soft-info-border) !important;
}
.form-check-dark .form-check-input:checked,
.form-check-dark .form-check-input[type="checkbox"]:indeterminate {
  background-color: var(--soft-dark) !important;
  border-color: var(--soft-dark-border) !important;
}
.form-check-secondary .form-check-input:checked,
.form-check-secondary .form-check-input[type="checkbox"]:indeterminate {
  background-color: var(--soft-secondary) !important;
  border-color: var(--soft-secondary-border) !important;
}

/* opacity yardımcıları (bg-primary bg-opacity-10 vb.) */
.bg-primary.bg-opacity-10,
.bg-opacity-10.bg-primary {
  background-color: rgb(197 218 240 / 55%) !important;
}
.bg-success.bg-opacity-10 {
  background-color: rgb(205 233 214 / 55%) !important;
}
.bg-danger.bg-opacity-10 {
  background-color: rgb(245 208 214 / 55%) !important;
}
.bg-warning.bg-opacity-10 {
  background-color: rgb(248 226 196 / 55%) !important;
}
.bg-info.bg-opacity-10 {
  background-color: rgb(197 232 239 / 55%) !important;
}

/* ---------- Koyu / yarı koyu: siyah yerine soft slate ---------- */
html.dark-theme body {
  color: #3d4758 !important;
  --bs-body-color: #3d4758;
  background-color: #e4e9f0 !important;
}
html.dark-theme .switcher-wrapper {
  background: #eef1f5 !important;
}
html.dark-theme a {
  color: var(--soft-primary-ink) !important;
}
html.dark-theme .h1,
html.dark-theme .h2,
html.dark-theme .h3,
html.dark-theme .h4,
html.dark-theme .h5,
html.dark-theme .h6,
html.dark-theme h1,
html.dark-theme h2,
html.dark-theme h3,
html.dark-theme h4,
html.dark-theme h5,
html.dark-theme h6 {
  color: var(--soft-ink-deep) !important;
}
html.dark-theme p {
  color: var(--soft-muted) !important;
}
html.dark-theme .card {
  background-color: #f5f7fa !important;
  box-shadow: var(--soft-card-shadow) !important;
}
html.dark-theme .card-header,
html.dark-theme .card-footer {
  border-color: rgb(0 0 0 / 0.06) !important;
}
html.dark-theme .topbar {
  background-color: #dfe6ef !important;
  border-bottom: 1px solid rgb(0 0 0 / 0.06) !important;
  box-shadow: 0 1px 6px rgb(0 0 0 / 0.05) !important;
}
html.dark-theme .user-info .user-name {
  color: var(--soft-ink-deep) !important;
}
html.dark-theme .user-info .designattion {
  color: var(--soft-muted) !important;
}
html.dark-theme .sidebar-wrapper {
  background-color: #e8edf4 !important;
}
html.dark-theme .sidebar-wrapper .metismenu a {
  color: var(--soft-ink) !important;
}
html.dark-theme .sidebar-wrapper .metismenu .mm-active > a,
html.dark-theme .sidebar-wrapper .metismenu a:hover {
  color: var(--soft-ink-deep) !important;
  background: rgb(255 255 255 / 0.55) !important;
}
html.dark-theme .page-wrapper,
html.dark-theme .page-content {
  background-color: transparent !important;
}
html.dark-theme .form-control,
html.dark-theme .form-select {
  background-color: #fff !important;
  color: var(--soft-ink) !important;
  border-color: #d0d6e0 !important;
}
html.dark-theme .table {
  --bs-table-bg: transparent;
  --bs-table-color: var(--soft-ink);
  color: var(--soft-ink);
}
html.dark-theme .modal-content {
  background-color: #f8fafc !important;
  color: var(--soft-ink);
}
html.dark-theme .dropdown-menu {
  background-color: #fff !important;
}
html.dark-theme .text-white,
html.dark-theme .text-option {
  color: var(--soft-ink-deep) !important;
}

/* Semi-dark: siyah sidebar → soft slate pastel */
html.semi-dark .sidebar-wrapper {
  background-color: #dde5ef !important;
  background-image: none !important;
}
html.semi-dark .sidebar-wrapper .sidebar-header .logo-text,
html.semi-dark .sidebar-wrapper .metismenu a {
  color: var(--soft-ink) !important;
}
html.semi-dark .sidebar-wrapper .metismenu .mm-active > a,
html.semi-dark .sidebar-wrapper .metismenu a:hover {
  color: var(--soft-ink-deep) !important;
  background: rgb(255 255 255 / 0.5) !important;
}

/* Minimal theme soft */
html.minimal-theme body {
  background-color: var(--soft-page) !important;
}

/* Tema paneli seçim çerçevesi — border-dark keskin olmasın */
.switcher-body .indigator.border-dark {
  border-color: #a8b4c4 !important;
}
