/* ISG Suite Professional — Ortak modül teması (ana panel konsepti)
   Sadece görünüm. Form/route/JS davranışına dokunmaz. */
:root {
  --accent: #f6b800;
  --accent2: #ffcc33;
  --danger: #ef3b2d;
  --ok: #22c55e;
  --warn: #d97706;
  --info: #2563eb;
  --radius: 18px;
  --radius-sm: 10px;
  --radius-md: 12px;
  --shadow: 0 16px 40px rgba(15, 23, 42, .10);
  --shadow-sm: 0 1px 3px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .04);
  --shadow-md: 0 8px 20px rgba(15, 23, 42, .08);

  --bg: #f3f5f8;
  --surface: #ffffff;
  --surface2: #f8fafc;
  --text: #0b1220;
  --muted: #5b6677;
  --line: #d9e1ec;
  --side: #101820;
  --side2: #18232d;
  --top: #ffffff;
  --field: #ffffff;

  /* Geriye uyumluluk (modül içi eski token isimleri) */
  --color-primary: #0f2744;
  --color-primary-hover: #0b1f36;
  --color-primary-light: rgba(15, 39, 68, 0.08);
  --color-primary-subtle: rgba(15, 39, 68, 0.04);
  --color-success: #059669;
  --color-success-light: rgba(5, 150, 105, 0.10);
  --color-warning: #d97706;
  --color-warning-light: rgba(217, 119, 6, 0.10);
  --color-danger: #ef3b2d;
  --color-danger-light: rgba(239, 59, 45, 0.10);
  --color-info: #2563eb;
  --color-info-light: rgba(37, 99, 235, 0.10);
  --color-purple: #7c3aed;
  --color-purple-light: rgba(124, 58, 237, 0.10);
  --color-orange: #ea580c;
  --color-orange-light: rgba(234, 88, 12, 0.10);
  --color-bg: var(--bg);
  --color-bg-alt: #eef2f7;
  --color-surface: var(--surface);
  --color-surface-hover: var(--surface2);
  --color-border: var(--line);
  --color-border-light: #eef2f7;
  --color-text-primary: var(--text);
  --color-text-secondary: var(--muted);
  --color-text-muted: #8a95a5;
  --color-text-inverse: #ffffff;
  --color-gray-50: #f8fafc;
  --color-gray-100: #f1f5f9;
  --color-gray-200: #e2e8f0;
  --color-gray-300: #cbd5e1;
  --color-gray-400: #94a3b8;
  --color-gray-500: #64748b;
  --color-gray-600: #475569;
  --color-gray-700: #334155;
  --color-gray-800: #1e293b;
  --color-gray-900: #0f172a;
  --radius-xl: 16px;
  --radius-2xl: 18px;
  --radius-full: 9999px;
  --font-family: "Segoe UI", system-ui, -apple-system, Arial, sans-serif;
}

[data-bs-theme="dark"],
:root[data-theme="dark"] {
  --bg: #0d1117;
  --surface: #141a21;
  --surface2: #10161d;
  --text: #eef3f8;
  --muted: #a7b2bf;
  --line: #283440;
  --side: #0a0f14;
  --side2: #111922;
  --top: #10161d;
  --field: #0f151c;
  --color-primary: #3b82f6;
  --color-primary-hover: #60a5fa;
  --color-primary-light: rgba(59, 130, 246, 0.14);
  --color-bg: var(--bg);
  --color-bg-alt: #10161d;
  --color-surface: var(--surface);
  --color-surface-hover: #1a222c;
  --color-border: var(--line);
  --color-text-primary: var(--text);
  --color-text-secondary: var(--muted);
  --color-text-muted: #7f8b99;
  --color-gray-50: #10161d;
  --color-gray-100: #141a21;
  --color-gray-200: #283440;
  --color-gray-300: #3a4654;
  --color-gray-800: #eef3f8;
  --color-gray-900: #ffffff;
}

html, body {
  font-family: var(--font-family) !important;
  background: var(--bg) !important;
  color: var(--text) !important;
}

/* Üst bar — ana panel yan menü koyu tonu */
.top-navbar,
.navbar.top-navbar,
nav.navbar {
  background: linear-gradient(135deg, var(--side), var(--side2)) !important;
  border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, .18) !important;
}

.top-navbar .navbar-brand,
.top-navbar .nav-link,
.top-navbar .navbar-text,
.top-navbar .dropdown-toggle,
nav.navbar .navbar-brand,
nav.navbar .nav-link {
  color: #e8eef5 !important;
}

.top-navbar .nav-link:hover,
.top-navbar .nav-link.active,
nav.navbar .nav-link:hover,
nav.navbar .nav-link.active {
  color: #101820 !important;
  background: linear-gradient(90deg, var(--accent), var(--accent2)) !important;
  border-radius: 10px;
  font-weight: 800;
}

.top-navbar .navbar-brand .brand-main,
.brand-signature .brand-main {
  color: #fff !important;
  font-weight: 900;
}

.top-navbar .navbar-brand .brand-owner,
.brand-signature .brand-owner {
  color: var(--accent) !important;
  font-weight: 800;
}

.top-navbar .dropdown-menu {
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: var(--shadow);
  overflow: hidden;
}

/* Kartlar */
.card {
  background: var(--surface) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--shadow-sm) !important;
  color: var(--text);
}

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

.card-header {
  background: var(--surface2) !important;
  border-bottom: 1px solid var(--line) !important;
  border-radius: var(--radius) var(--radius) 0 0 !important;
  font-weight: 800;
}

/* Formlar */
.form-control,
.form-select,
.input-group-text,
textarea.form-control {
  background: var(--field) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius-sm) !important;
  color: var(--text) !important;
}

.form-control:focus,
.form-select:focus {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px rgba(246, 184, 0, .22) !important;
}

.form-label {
  color: var(--muted) !important;
  font-weight: 700 !important;
  font-size: .8125rem;
}

/* Butonlar */
.btn {
  border-radius: 12px !important;
  font-weight: 800 !important;
}

.btn-primary,
.btn-primary:focus {
  background: linear-gradient(90deg, var(--accent), var(--accent2)) !important;
  border-color: transparent !important;
  color: #101820 !important;
  box-shadow: 0 8px 18px rgba(246, 184, 0, .22);
}

.btn-primary:hover {
  background: linear-gradient(90deg, var(--accent2), var(--accent)) !important;
  border-color: transparent !important;
  color: #101820 !important;
  filter: brightness(1.02);
}

.btn-danger {
  background: var(--danger) !important;
  border-color: var(--danger) !important;
}

.btn-success {
  background: var(--ok) !important;
  border-color: var(--ok) !important;
  color: #fff !important;
}

.btn-outline-primary {
  color: #0f2744 !important;
  border-color: #cfd8e8 !important;
  background: #edf2fa !important;
}

.btn-outline-primary:hover {
  background: linear-gradient(90deg, var(--accent), var(--accent2)) !important;
  border-color: transparent !important;
  color: #101820 !important;
}

.btn-outline-secondary,
.btn-ghost {
  border-color: var(--line) !important;
  color: var(--text) !important;
  background: var(--surface2) !important;
}

.btn-secondary {
  background: #edf2fa !important;
  border-color: #d8e0ee !important;
  color: #1f2a44 !important;
}

/* Tablolar */
.table {
  color: var(--text) !important;
}

.table thead th,
.table > thead {
  background: var(--surface2) !important;
  color: var(--muted) !important;
  border-bottom: 1px solid var(--line) !important;
  font-weight: 800;
  font-size: .8rem;
}

.table > :not(caption) > * > * {
  border-bottom-color: var(--line) !important;
}

.table-hover > tbody > tr:hover > * {
  background: rgba(246, 184, 0, .06) !important;
}

/* Alert / badge */
.alert {
  border-radius: 14px !important;
  border: 1px solid var(--line) !important;
}

.alert-info {
  background: #eff6ff !important;
  border-color: #bfdbfe !important;
  color: #1e3a5f !important;
}

.alert-warning {
  background: #fffbeb !important;
  border-color: #fde68a !important;
  color: #92400e !important;
}

.alert-success {
  background: #ecfdf3 !important;
  border-color: #abefc6 !important;
  color: #067647 !important;
}

.badge.bg-primary,
.badge.text-bg-primary {
  background: linear-gradient(90deg, var(--accent), var(--accent2)) !important;
  color: #101820 !important;
}

/* KPI / hero uyumu */
.kpi-card,
.stat-card {
  border-radius: var(--radius) !important;
  border: 1px solid var(--line);
  box-shadow: var(--shadow-sm);
}

.page-title,
h1.page-title {
  letter-spacing: -.02em;
  font-weight: 900 !important;
}

/* Drop zone / özel alanlar */
.drop-zone {
  border: 2px dashed #cfd8e8 !important;
  border-radius: var(--radius) !important;
  background: var(--surface2);
  transition: .16s ease;
}

.drop-zone:hover {
  border-color: var(--accent) !important;
  background: rgba(246, 184, 0, .08) !important;
}

/* Bootstrap primary override (modül genelinde) */
.text-primary {
  color: #0f2744 !important;
}

.bg-primary {
  background: linear-gradient(135deg, #0f2744, #1f3b5c) !important;
}

.bg-primary.bg-opacity-10 {
  background: rgba(15, 39, 68, .08) !important;
}

a {
  color: #1f4e79;
}

a:hover {
  color: #0f2744;
}

/* Breadcrumb */
.breadcrumb {
  background: transparent !important;
}

.breadcrumb-item a {
  color: var(--muted) !important;
  text-decoration: none;
  font-weight: 700;
}

.breadcrumb-item.active {
  color: var(--text) !important;
  font-weight: 800;
}

/* Suite mini bar (eğitim/ramak sayfaları için) */
.suite-mini-bar {
  background: linear-gradient(135deg, var(--side), var(--side2));
  color: #fff;
  padding: 14px 20px;
  border-bottom: 3px solid var(--accent);
  box-shadow: 0 10px 28px rgba(0, 0, 0, .12);
  margin-bottom: 0;
}

.suite-mini-bar .suite-brand {
  font-weight: 1000;
  letter-spacing: .2px;
  font-size: 1.05rem;
}

.suite-mini-bar .suite-brand span {
  color: var(--accent);
}

.suite-mini-bar .suite-sub {
  color: #cdd7e2;
  font-size: .78rem;
  font-weight: 600;
}

.suite-mini-bar a {
  color: #101820 !important;
  background: linear-gradient(90deg, var(--accent), var(--accent2));
  text-decoration: none;
  font-weight: 900;
  border-radius: 10px;
  padding: 8px 12px;
  font-size: .8rem;
}

.suite-page-wrap {
  max-width: 1180px;
  margin: 0 auto;
  padding: 28px 18px 48px;
}

/* Login ve izole kartlar */
.login-card,
.card.shadow,
.card.border-0 {
  border: 1px solid var(--line) !important;
  border-radius: var(--radius) !important;
}

/* Select2 uyumu */
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
  border: 1px solid var(--line) !important;
  border-radius: var(--radius-sm) !important;
  min-height: 38px;
}

/* Footer */
footer,
.footer,
.app-footer {
  color: var(--muted) !important;
  border-top: 1px solid var(--line) !important;
  background: transparent !important;
}
