/**
 * MOE NCR Theme (scoped)
 * Scope: apply only under `body.ncr`
 * Same corporate palette as PUNCH_LIST
 */

/* =========================
   Brand tokens
   ========================= */
body.ncr {
  --moe-bordo: #a5151c;
  --moe-bordo-dark: #7f0f14;
  --moe-kirmizi: #ed1b24;
  --moe-kirmizi-dark: #b7141b;
  --moe-gri: #949599;
  --moe-gri-acik: #d1d2d4;
  --moe-siyah: #231f20;
  --moe-beyaz: #ffffff;

  --ncr-bg-0: #fafafb;
  --ncr-bg-1: #f4f5f7;
  --ncr-surface: #ffffff;
  --ncr-border: rgba(35, 31, 32, 0.12);
  --ncr-shadow: 0 8px 24px rgba(35, 31, 32, 0.08);
  --ncr-shadow-sm: 0 2px 10px rgba(35, 31, 32, 0.08);
  --ncr-text: #231f20;
  --ncr-text-muted: rgba(35, 31, 32, 0.72);

  /* NCR styles.css primary = kurumsal bordo */
  --ncr-primary: var(--moe-bordo);
  --ncr-primary-hover: var(--moe-bordo-dark);
  --ncr-primary-light: rgba(165, 21, 28, 0.12);

  font-family: 'Segoe UI', 'Inter', 'Roboto', sans-serif;
  color: var(--ncr-text);
}

/* =========================
   Page background
   ========================= */
body.ncr {
  background: linear-gradient(180deg, var(--ncr-bg-0), var(--ncr-bg-1));
  position: relative;
  isolation: isolate;
}

body.ncr::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  opacity: 0.55;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%3E%3Ccircle%20cx%3D%222%22%20cy%3D%222%22%20r%3D%221%22%20fill%3D%22%23a5151c%22%20fill-opacity%3D%22.14%22/%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%221%22%20fill%3D%22%23a5151c%22%20fill-opacity%3D%22.10%22/%3E%3C/svg%3E");
  background-repeat: repeat;
  background-position: 0 0;
  background-size: 20px 20px;
}

/* =========================
   Typography
   ========================= */
body.ncr .text-muted {
  color: var(--ncr-text-muted) !important;
}

/* =========================
   Bootstrap button mapping
   ========================= */
body.ncr .btn-primary {
  background-color: var(--moe-bordo);
  border-color: var(--moe-bordo);
  border-radius: 10px;
}
body.ncr .btn-primary:hover,
body.ncr .btn-primary:focus {
  background-color: var(--moe-bordo-dark);
  border-color: var(--moe-bordo-dark);
}

body.ncr .btn-success {
  background-color: var(--moe-bordo);
  border-color: var(--moe-bordo);
  border-radius: 10px;
}
body.ncr .btn-success:hover,
body.ncr .btn-success:focus {
  background-color: var(--moe-bordo-dark);
  border-color: var(--moe-bordo-dark);
}

body.ncr .btn-outline-primary {
  color: var(--moe-bordo);
  border-color: rgba(165, 21, 28, 0.5);
  border-radius: 10px;
}
body.ncr .btn-outline-primary:hover,
body.ncr .btn-outline-primary:focus {
  color: var(--moe-beyaz);
  background-color: var(--moe-bordo);
  border-color: var(--moe-bordo);
}

body.ncr .border-primary {
  border-color: var(--moe-bordo) !important;
}

body.ncr .text-primary {
  color: var(--moe-bordo) !important;
}

body.ncr .btn-info {
  background-color: var(--moe-bordo);
  border-color: var(--moe-bordo);
  color: var(--moe-beyaz);
  border-radius: 10px;
}
body.ncr .btn-info:hover,
body.ncr .btn-info:focus {
  background-color: var(--moe-bordo-dark);
  border-color: var(--moe-bordo-dark);
  color: var(--moe-beyaz);
}

/* Kart başlığı vb. bg-primary kurumsal */
body.ncr .bg-primary {
  background-color: var(--moe-bordo) !important;
  color: var(--moe-beyaz) !important;
}

body.ncr .alert-info {
  background-color: rgba(165, 21, 28, 0.08);
  border-color: rgba(165, 21, 28, 0.25);
  color: var(--ncr-text);
}

body.ncr .btn-danger {
  background-color: var(--moe-kirmizi);
  border-color: var(--moe-kirmizi);
  border-radius: 10px;
}
body.ncr .btn-danger:hover,
body.ncr .btn-danger:focus {
  background-color: var(--moe-kirmizi-dark);
  border-color: var(--moe-kirmizi-dark);
}

body.ncr .btn-outline-danger {
  color: var(--moe-kirmizi);
  border-color: rgba(237, 27, 36, 0.5);
}
body.ncr .btn-outline-danger:hover,
body.ncr .btn-outline-danger:focus {
  color: var(--moe-beyaz);
  background-color: var(--moe-kirmizi);
  border-color: var(--moe-kirmizi);
}

body.ncr .btn-secondary {
  background-color: var(--moe-gri);
  border-color: var(--moe-gri);
  color: var(--moe-beyaz);
  border-radius: 10px;
}
body.ncr .btn-secondary:hover,
body.ncr .btn-secondary:focus {
  background-color: #7b7c80;
  border-color: #7b7c80;
}

body.ncr .btn-outline-secondary {
  color: var(--moe-siyah);
  border-color: rgba(148, 149, 153, 0.55);
}
body.ncr .btn-outline-secondary:hover,
body.ncr .btn-outline-secondary:focus {
  color: var(--moe-beyaz);
  background-color: var(--moe-siyah);
  border-color: var(--moe-siyah);
}

/* =========================
   Surfaces (cards, tables)
   ========================= */
body.ncr .card,
body.ncr .mobile-header,
body.ncr .slide-menu-content {
  border: 1px solid var(--ncr-border);
  box-shadow: var(--ncr-shadow-sm);
}

body.ncr .card {
  border-radius: 14px;
}

body.ncr .table thead.table-dark th {
  background-color: var(--moe-siyah) !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
}

/* =========================
   Mobile icon buttons
   ========================= */
body.ncr .icon-btn {
  color: var(--moe-siyah);
}
body.ncr .icon-btn:hover:not(:disabled) {
  background: rgba(35, 31, 32, 0.06);
}
body.ncr .icon-btn.active,
body.ncr .icon-btn[data-assigned-toggle].active,
body.ncr .icon-btn[data-geciken-toggle].active {
  background: var(--moe-bordo);
  color: var(--moe-beyaz);
  border-color: var(--moe-bordo);
}
body.ncr .icon-btn[data-geciken-toggle].active {
  background: var(--moe-kirmizi) !important;
  border-color: var(--moe-kirmizi) !important;
}

body.ncr .btn[data-assigned-toggle].active,
body.ncr .btn[data-geciken-toggle].active {
  background-color: var(--moe-bordo);
  color: var(--moe-beyaz);
  border-color: var(--moe-bordo);
}
body.ncr .btn[data-geciken-toggle].active {
  background-color: var(--moe-kirmizi) !important;
  border-color: var(--moe-kirmizi) !important;
}

/* =========================
   Focus / accessibility
   ========================= */
body.ncr :focus-visible {
  outline: 3px solid rgba(237, 27, 36, 0.35);
  outline-offset: 2px;
}

/* =========================
   Mobile ergonomics
   ========================= */
@media (max-width: 767.98px) {
  body.ncr .form-control,
  body.ncr .form-select,
  body.ncr textarea,
  body.ncr input,
  body.ncr select {
    font-size: 16px !important;
  }

  body.ncr .btn {
    min-height: 38px;
  }
  body.ncr .btn-sm,
  body.ncr .btn-group-sm > .btn {
    min-height: 34px;
  }

  body.ncr .hamburger-btn,
  body.ncr .icon-btn {
    min-width: 44px;
    min-height: 44px;
  }

  body.ncr button,
  body.ncr a.btn,
  body.ncr .icon-btn {
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
  }
}

/* =========================
   Modals
   ========================= */
body.ncr .modal-content {
  border: 1px solid var(--ncr-border);
  border-radius: 14px;
  box-shadow: var(--ncr-shadow);
}

body.ncr .modal-header {
  border-bottom-color: var(--ncr-border);
  padding: 1rem 1.25rem;
}
body.ncr .modal-header .modal-title {
  font-weight: 700;
  color: var(--moe-siyah);
}

body.ncr .modal-body {
  padding: 1.25rem;
}

body.ncr .modal-footer {
  border-top-color: var(--ncr-border);
  padding: 1rem 1.25rem;
}

body.ncr .modal .btn-close {
  opacity: 0.7;
}
body.ncr .modal .btn-close:hover {
  opacity: 1;
}

@media (max-width: 575.98px) {
  body.ncr .modal-dialog {
    margin: 0.5rem;
    max-width: calc(100% - 1rem);
  }
  body.ncr .modal-dialog-scrollable .modal-body {
    max-height: calc(100vh - 180px);
  }
}

/* =========================
   Notification (used by ncr_common.js)
   ========================= */
body.ncr .ncr-notification {
  border: 1px solid var(--ncr-border);
  border-radius: 14px;
  box-shadow: var(--ncr-shadow);
}
body.ncr .ncr-notification-success {
  border-left: 4px solid var(--moe-bordo);
}
body.ncr .ncr-notification-error {
  border-left: 4px solid var(--moe-kirmizi);
}

/* =========================
   Loading overlay / spinner
   ========================= */
body.ncr .ncr-loading-overlay {
  background: rgba(255, 255, 255, 0.85);
}
body.ncr .ncr-spinner {
  border-color: var(--ncr-border);
  border-top-color: var(--moe-bordo);
}

/* =========================
   KPI cards (dashboard)
   ========================= */
body.ncr .ncr-kpi-card {
  border: 1px solid var(--ncr-border);
  border-radius: 12px;
  box-shadow: var(--ncr-shadow-sm);
}
body.ncr .ncr-kpi-card:hover {
  border-color: rgba(165, 21, 28, 0.2);
}
body.ncr .ncr-kpi-card.text-danger .fw-bold,
body.ncr .ncr-kpi-card .text-danger {
  color: var(--moe-kirmizi) !important;
}

/* =========================
   Mobile cards (dashboard list)
   ========================= */
body.ncr .ncr-mobile-card,
body.ncr .ncr-card {
  border-radius: 14px;
  border: 1px solid var(--ncr-border);
  transition: transform 0.2s, box-shadow 0.2s;
  position: relative;
}
body.ncr .ncr-card .card-body {
  position: relative;
}
body.ncr .ncr-card-title {
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.25;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
body.ncr .ncr-card-chevron {
  color: var(--ncr-text-muted);
}
body.ncr .ncr-mobile-card:hover,
body.ncr .ncr-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--ncr-shadow-sm);
}

/* =========================
   Filter chips (dashboard)
   ========================= */
body.ncr .ncr-filter-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(148, 149, 153, 0.45);
  background: rgba(255, 255, 255, 0.9);
  color: var(--moe-siyah);
  border-radius: 999px;
  padding: 6px 10px;
  font-weight: 600;
  font-size: 0.85rem;
}

/* =========================
   Skeleton loading
   ========================= */
body.ncr .ncr-skeleton {
  background: linear-gradient(90deg, rgba(35,31,32,0.06), rgba(35,31,32,0.10), rgba(35,31,32,0.06));
  background-size: 200% 100%;
  animation: ncr-skel 1.2s ease-in-out infinite;
  border-radius: 999px;
  height: 12px;
}
body.ncr .ncr-skeleton.block {
  border-radius: 10px;
  height: 56px;
}
@keyframes ncr-skel {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* =========================
   Detail header card
   ========================= */
body.ncr .ncr-detail-header {
  background: linear-gradient(135deg, rgba(165, 21, 28, 0.08) 0%, rgba(237, 27, 36, 0.05) 100%);
  border: 1px solid rgba(165, 21, 28, 0.15);
  border-radius: 14px;
}
body.ncr .ncr-detail-header h2,
body.ncr .ncr-detail-header h4 {
  color: var(--moe-siyah);
}

/* =========================
   Nav tabs (e.g. management)
   ========================= */
body.ncr .nav-tabs .nav-link {
  color: var(--moe-bordo);
}
body.ncr .nav-tabs .nav-link:hover {
  color: var(--moe-bordo-dark);
}
body.ncr .nav-tabs .nav-link.active {
  color: var(--moe-bordo);
  border-bottom-color: var(--moe-bordo);
  background-color: transparent;
}

/* =========================
   Badge colors (DURUM - custom palette)
   ========================= */
/* Açık */
body.ncr .badge.moe-status.bg-secondary,
body.ncr .badge.bg-secondary { background-color: #a5151c !important; color: #ffffff !important; border-color: #a5151c; }
/* Yapılıyor */
body.ncr .badge.moe-status.bg-warning,
body.ncr .badge.bg-warning { background-color: #ffb400 !important; color: #a5151c !important; border-color: #ffb400; }
/* Ertelendi */
body.ncr .badge.moe-status.bg-dark,
body.ncr .badge.bg-dark { background-color: #231f20 !important; color: #ffffff !important; border-color: #231f20; }
/* İtiraz Edilecek */
body.ncr .badge.moe-status.bg-danger,
body.ncr .badge.bg-danger { background-color: #ed1b24 !important; color: #ffffff !important; border-color: #ed1b24; }
/* Tamamlandı */
body.ncr .badge.moe-status.bg-success,
body.ncr .badge.bg-success { background-color: #669933 !important; color: #ffffff !important; border-color: #669933; }
/* Gönderildi */
body.ncr .badge.moe-status.bg-info,
body.ncr .badge.bg-info { background-color: #cccccc !important; color: #669933 !important; border-color: #cccccc; }
/* Kapandı */
body.ncr .badge.moe-status.bg-primary,
body.ncr .badge.bg-primary { background-color: #d1d2d4 !important; color: #ffffff !important; border-color: #d1d2d4; }
/* Diğer (varsayılan) */
body.ncr .badge.moe-status.bg-light,
body.ncr .badge.bg-light { background-color: #d1d2d4 !important; color: #231f20 !important; border-color: #d1d2d4; }

body.ncr .ncr-priority-badge.priority-low { background: rgba(148, 149, 153, 0.2); color: var(--moe-siyah); }
body.ncr .ncr-priority-badge.priority-normal { background: rgba(148, 149, 153, 0.25); color: var(--moe-siyah); }
body.ncr .ncr-priority-badge.priority-high { background: rgba(165, 21, 28, 0.15); color: var(--moe-bordo-dark); }

/* =========================
   Slide menu (mobile filters)
   ========================= */
body.ncr .slide-menu-footer {
  padding: 1rem;
  border-top: 1px solid var(--ncr-border);
  background: var(--ncr-surface);
}
