/* Nova Mini Market - Design System (Strict 3-Color Palette) */
/* مینی مارکێتی نۆڤا — تەنها ۳ ڕەنگە فەرمییەکەی نۆڤا: Carnival B-110, Cosmic U-874, Ice Cube AY-1044 */

@font-face {
  font-family: "Nova UI";
  src: url("../NotoNaskhArabic-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Nova UI";
  src: url("../NotoNaskhArabicUI-Bold.ttf") format("truetype");
  font-weight: 700 900;
  font-style: normal;
  font-display: swap;
}

:root {
  /* ── 1. Carnival B-110 (سووری فەرمی نۆڤا) ── */
  --nova-carnival: #B82335;
  --nova-carnival-hover: #9B1C2C;
  --nova-carnival-dark: #801321;
  --nova-carnival-soft: #FCECEE;
  --nova-carnival-glow: rgba(184, 35, 53, 0.25);

  /* ── 2. Cosmic U-874 (شینی قووڵی تابلۆیی) ── */
  --nova-cosmic: #29608D;
  --nova-cosmic-hover: #1F4E75;
  --nova-cosmic-dark: #1D4566;
  --nova-cosmic-deep: #132F47;
  --nova-cosmic-soft: #E4EEF6;
  --nova-cosmic-glow: rgba(41, 96, 141, 0.22);

  /* ── 3. Ice Cube AY-1044 (سەهۆڵی و سپی) ── */
  --nova-ice: #EDF4FA;
  --nova-ice-subtle: #F6FAFD;
  --nova-ice-surface: #FFFFFF;
  --nova-ice-border: #C5D9EB;
  --nova-ice-border-light: #E0ECF6;
  --nova-ice-tint: #A6BFDD;

  /* Typography & Structure — Pure 3-Color Harmonies */
  --nova-ink: #132F47; /* Deep Cosmic Blue-Black for crisp, clear typography */
  --nova-muted: #5C7B96;
  --nova-line: #C5D9EB;
  --nova-surface: #FFFFFF;
  --nova-surface-alt: #EDF4FA;
  --nova-shadow: 0 14px 36px rgba(19, 47, 71, 0.08);
  --nova-shadow-sm: 0 4px 16px rgba(19, 47, 71, 0.05);
  --nova-shadow-lg: 0 20px 50px rgba(19, 47, 71, 0.12);
  --nova-radius: 16px;
  --nova-radius-sm: 10px;
  --nova-radius-lg: 22px;

  /* Legacy Aliases */
  --miwan-ink: var(--nova-ink);
  --miwan-muted: var(--nova-muted);
  --miwan-primary: var(--nova-cosmic);
  --miwan-primary-dark: var(--nova-cosmic-deep);
  --miwan-primary-soft: var(--nova-cosmic-soft);
  --miwan-gold: var(--nova-carnival);
  --miwan-gold-soft: var(--nova-carnival-soft);
  --miwan-surface: var(--nova-surface);
  --miwan-surface-alt: var(--nova-ice);
  --miwan-line: var(--nova-line);
  --miwan-shadow: var(--nova-shadow);
  --miwan-shadow-sm: var(--nova-shadow-sm);
  --miwan-radius: var(--nova-radius);
}

html {
  min-height: 100%;
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  color: var(--nova-ink) !important;
  background:
    radial-gradient(circle at 10% 8%, rgba(184, 35, 53, 0.05), transparent 28rem),
    radial-gradient(circle at 90% 12%, rgba(41, 96, 141, 0.08), transparent 32rem),
    var(--nova-ice) !important;
  font-family: "Nova UI", "Noto Naskh Arabic", Tahoma, "Segoe UI", sans-serif !important;
  letter-spacing: 0.01em;
}

button,
input,
select,
textarea,
.btn,
.form-control,
.form-select,
.dropdown-item,
.table {
  font-family: "Nova UI", "Noto Naskh Arabic", Tahoma, "Segoe UI", sans-serif !important;
}

::selection {
  color: #ffffff;
  background: var(--nova-carnival);
}

::-webkit-scrollbar {
  width: 9px;
  height: 9px;
}

::-webkit-scrollbar-track {
  background: var(--nova-ice);
}

::-webkit-scrollbar-thumb {
  background: var(--nova-ice-tint);
  border: 2px solid var(--nova-ice);
  border-radius: 999px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--nova-cosmic);
}

a {
  color: var(--nova-cosmic);
  text-decoration: none;
  transition: all 0.2s ease;
}

a:hover {
  color: var(--nova-carnival);
  text-decoration: none;
}

:focus-visible {
  outline: 3px solid var(--nova-carnival) !important;
  outline-offset: 3px;
}

/* ════════════════════════════════════════════════════════════════
   1. سەرپەڕی گشتی (App Header) — Cosmic Blue + Carnival Red Bottom Bar
   ════════════════════════════════════════════════════════════════ */
.app-header {
  min-height: 68px;
  background: linear-gradient(135deg, #132F47 0%, #1D4566 50%, #29608D 100%) !important;
  box-shadow: 0 6px 24px rgba(19, 47, 71, 0.35);
  border-bottom: 3.5px solid var(--nova-carnival) !important;
  isolation: isolate;
  position: relative;
}

.app-header::after {
  position: absolute;
  z-index: -1;
  top: 0;
  right: 10%;
  width: 280px;
  height: 100%;
  content: "";
  opacity: 0.30;
  background: radial-gradient(ellipse at center, rgba(184, 35, 53, 0.45), transparent 70%);
  pointer-events: none;
}

.app-header__logo {
  min-width: 220px;
  color: #ffffff !important;
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.025em;
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.app-header__logo img {
  height: 40px;
  width: auto;
  border-radius: 8px;
  border: 1.5px solid #ffffff;
}

.app-header__logo:hover {
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.12) !important;
}

.app-nav__item,
.app-search__button {
  color: #ffffff !important;
}

.app-dashboard-return {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  margin: 0 8px;
  padding: 0 14px !important;
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 11px;
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.12);
  font-size: 0.88rem;
  font-weight: 800;
  line-height: 1;
  transition: all 0.2s ease;
}

.app-dashboard-return i {
  color: #ffffff;
}

.app-dashboard-return:hover,
.app-dashboard-return:focus {
  color: #ffffff !important;
  background: var(--nova-carnival) !important;
  border-color: var(--nova-carnival) !important;
  transform: translateY(-1px);
}

.app-search__input {
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  border-radius: 999px 0 0 999px !important;
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.12) !important;
}

.app-search__input::placeholder {
  color: rgba(255, 255, 255, 0.75);
}

.app-content {
  min-height: calc(100vh - 68px);
  padding: 26px !important;
  background: transparent !important;
}

/* ════════════════════════════════════════════════════════════════
   2. سەردێڕی پەڕەکان (App Title Hero)
   ════════════════════════════════════════════════════════════════ */
.app-title {
  position: relative;
  overflow: hidden;
  padding: 22px 28px;
  margin: 0 0 24px;
  border: 1px solid var(--nova-ice-border);
  border-right: 6px solid var(--nova-carnival);
  border-radius: var(--nova-radius);
  color: #ffffff;
  background: linear-gradient(135deg, #132F47 0%, #29608D 100%);
  box-shadow: var(--nova-shadow-sm);
}

.app-title::before {
  position: absolute;
  top: -80px;
  left: -20px;
  width: 220px;
  height: 220px;
  content: "";
  border: 30px solid rgba(255, 255, 255, 0.05);
  border-radius: 50%;
}

.app-title > * {
  position: relative;
}

.app-title h1,
.app-title h2,
.app-title h3 {
  margin: 0;
  color: #ffffff !important;
  font-weight: 800;
  font-size: 1.55rem;
}

.app-title p {
  margin: 4px 0 0;
  color: var(--nova-cosmic-soft);
  font-size: 0.95rem;
}

/* ════════════════════════════════════════════════════════════════
   3. کارت و پانێڵەکان (Cards, Tiles & Containers) — Ice Cube & White
   ════════════════════════════════════════════════════════════════ */
.tile,
.form-container,
.table-container,
.main-card,
.scanner-card,
.card,
.modal-content {
  border: 1px solid var(--nova-ice-border) !important;
  border-radius: var(--nova-radius) !important;
  box-shadow: var(--nova-shadow-sm);
  background: #ffffff !important;
}

.tile {
  padding: 24px;
  margin-bottom: 24px;
  transition: box-shadow 0.25s ease;
}

.tile:hover {
  box-shadow: var(--nova-shadow);
}

.tile-title {
  margin-top: 0;
  margin-bottom: 20px;
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--nova-cosmic-dark) !important;
  border-bottom: 2px solid var(--nova-ice-border-light);
  padding-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.tile-title i {
  color: var(--nova-carnival);
}

/* ════════════════════════════════════════════════════════════════
   4. دوگمەکان (Buttons) — Carnival Red Primary & Cosmic Blue Secondary
   ════════════════════════════════════════════════════════════════ */
.btn {
  font-weight: 700;
  border-radius: var(--nova-radius-sm);
  padding: 8px 18px;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: none;
}

/* Primary Button: Carnival Red */
.btn-primary,
.btn-gold,
.btn-yellow,
.btn-save {
  background: linear-gradient(135deg, #C4273A 0%, #B82335 100%) !important;
  color: #ffffff !important;
  border: 1px solid #9B1C2C !important;
  box-shadow: 0 4px 14px var(--nova-carnival-glow);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-gold:hover,
.btn-yellow:hover,
.btn-save:hover {
  background: linear-gradient(135deg, #9B1C2C 0%, #801321 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 6px 20px rgba(184, 35, 53, 0.35);
  transform: translateY(-2px);
}

/* Secondary / Info Button: Cosmic Blue */
.btn-secondary,
.btn-info,
.btn-dark {
  background: linear-gradient(135deg, #29608D 0%, #1D4566 100%) !important;
  color: #ffffff !important;
  border: 1px solid #132F47 !important;
  box-shadow: 0 4px 14px var(--nova-cosmic-glow);
}

.btn-secondary:hover,
.btn-info:hover,
.btn-dark:hover {
  background: linear-gradient(135deg, #1F4E75 0%, #132F47 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 6px 18px rgba(41, 96, 141, 0.35);
  transform: translateY(-2px);
}

/* Outline Buttons */
.btn-outline-primary {
  color: var(--nova-carnival) !important;
  border: 1.5px solid var(--nova-carnival) !important;
  background: transparent !important;
}

.btn-outline-primary:hover {
  background: var(--nova-carnival) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 14px var(--nova-carnival-glow);
}

.btn-outline-secondary {
  color: var(--nova-cosmic) !important;
  border: 1.5px solid var(--nova-cosmic) !important;
  background: transparent !important;
}

.btn-outline-secondary:hover {
  background: var(--nova-cosmic) !important;
  color: #ffffff !important;
}

.btn-success {
  background: linear-gradient(135deg, #29608D 0%, #1D4566 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 14px var(--nova-cosmic-glow);
}

.btn-danger {
  background: linear-gradient(135deg, #C4273A 0%, #B82335 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 14px var(--nova-carnival-glow);
}

/* ════════════════════════════════════════════════════════════════
   5. فۆرمەکان و خشتەکان (Forms & Tables)
   ════════════════════════════════════════════════════════════════ */
.form-control,
.form-select {
  border: 1.5px solid var(--nova-ice-border) !important;
  border-radius: var(--nova-radius-sm) !important;
  background-color: var(--nova-ice-subtle) !important;
  color: var(--nova-ink) !important;
  padding: 10px 14px;
  font-size: 0.95rem;
  transition: all 0.2s ease;
}

.form-control:focus,
.form-select:focus {
  background-color: #ffffff !important;
  border-color: var(--nova-cosmic) !important;
  box-shadow: 0 0 0 4px var(--nova-cosmic-soft) !important;
  outline: none !important;
}

.form-label,
label {
  font-weight: 700;
  color: var(--nova-cosmic-dark);
  margin-bottom: 6px;
  font-size: 0.92rem;
}

/* Table Styling */
.table {
  color: var(--nova-ink) !important;
  vertical-align: middle;
  border-color: var(--nova-ice-border-light) !important;
}

.table thead th {
  background: linear-gradient(135deg, #132F47 0%, #29608D 100%) !important;
  color: #ffffff !important;
  font-weight: 800;
  border: none !important;
  padding: 12px 14px;
  font-size: 0.92rem;
}

.table thead th:first-child {
  border-top-right-radius: 10px;
}

.table thead th:last-child {
  border-top-left-radius: 10px;
}

.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(237, 244, 250, 0.5) !important;
}

.table-hover tbody tr:hover {
  background-color: var(--nova-cosmic-soft) !important;
}

.table td {
  padding: 12px 14px;
  border-color: var(--nova-ice-border-light) !important;
}

/* ════════════════════════════════════════════════════════════════
   6. باج و ئاگادارییەکان (Badges, Alerts & Stats)
   ════════════════════════════════════════════════════════════════ */
.badge {
  font-weight: 700;
  padding: 5px 11px;
  border-radius: 8px;
  font-size: 0.82rem;
}

.badge-primary,
.bg-primary {
  background-color: var(--nova-carnival) !important;
  color: #ffffff !important;
}

.badge-secondary,
.bg-secondary {
  background-color: var(--nova-cosmic) !important;
  color: #ffffff !important;
}

.badge-light,
.bg-light {
  background-color: var(--nova-ice) !important;
  color: var(--nova-cosmic) !important;
  border: 1px solid var(--nova-ice-border);
}

.badge-warning,
.bg-warning {
  background-color: var(--nova-cosmic) !important;
  color: #ffffff !important;
}

.badge-info,
.bg-info {
  background-color: var(--nova-cosmic) !important;
  color: #ffffff !important;
}

.badge-success,
.bg-success {
  background-color: var(--nova-cosmic) !important;
  color: #ffffff !important;
}

.badge-danger,
.bg-danger {
  background-color: var(--nova-carnival) !important;
  color: #ffffff !important;
}

/* Alert Styling */
.alert-info {
  background-color: var(--nova-cosmic-soft) !important;
  border: 1px solid var(--nova-ice-border) !important;
  color: var(--nova-cosmic-dark) !important;
  border-right: 4px solid var(--nova-cosmic) !important;
  border-radius: var(--nova-radius-sm) !important;
}

.alert-danger {
  background-color: var(--nova-carnival-soft) !important;
  border: 1px solid #F5CCD2 !important;
  color: var(--nova-carnival-dark) !important;
  border-right: 4px solid var(--nova-carnival) !important;
  border-radius: var(--nova-radius-sm) !important;
}

.alert-success {
  background-color: var(--nova-cosmic-soft) !important;
  border: 1px solid var(--nova-ice-border) !important;
  color: var(--nova-cosmic-dark) !important;
  border-right: 4px solid var(--nova-cosmic) !important;
  border-radius: var(--nova-radius-sm) !important;
}

/* ════════════════════════════════════════════════════════════════
   7. مۆدیوڵی فرۆشتن و کاشێر (POS / Sales Specific)
   ════════════════════════════════════════════════════════════════ */
.pos-total-display,
.sell-total-badge {
  background: linear-gradient(135deg, #C4273A 0%, #B82335 100%) !important;
  color: #ffffff !important;
  border-radius: 14px;
  padding: 12px 20px;
  box-shadow: 0 6px 20px var(--nova-carnival-glow);
  font-weight: 900;
  font-size: 1.5rem;
  text-align: center;
}

.pos-category-card {
  background: #ffffff;
  border: 1.5px solid var(--nova-ice-border);
  border-radius: 12px;
  padding: 10px;
  text-align: center;
  transition: all 0.2s ease;
  cursor: pointer;
}

.pos-category-card:hover,
.pos-category-card.active {
  border-color: var(--nova-carnival);
  background: var(--nova-carnival-soft);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px var(--nova-carnival-glow);
}

.pos-product-card {
  background: #ffffff;
  border: 1.5px solid var(--nova-ice-border);
  border-radius: 14px;
  padding: 12px;
  transition: all 0.2s ease;
}

.pos-product-card:hover {
  border-color: var(--nova-cosmic);
  box-shadow: 0 8px 22px var(--nova-cosmic-glow);
  transform: translateY(-3px);
}

/* ════════════════════════════════════════════════════════════════
   8. مێنووی مۆبایل و مۆداڵ (Mobile & Modal)
   ════════════════════════════════════════════════════════════════ */
.mobile-top-nav {
  background: #ffffff !important;
  border-right: 4px solid var(--nova-carnival) !important;
  box-shadow: -8px 0 28px rgba(19, 47, 71, 0.15) !important;
}

.mobile-top-nav .app-menu__item {
  color: var(--nova-ink) !important;
  border-bottom: 1px solid var(--nova-ice-border-light) !important;
  transition: all 0.2s ease;
}

.mobile-top-nav .app-menu__item:hover,
.mobile-top-nav .app-menu__item:focus {
  background: var(--nova-ice) !important;
  color: var(--nova-carnival) !important;
}

.mobile-top-nav .app-menu__icon {
  background: var(--nova-cosmic-soft) !important;
  color: var(--nova-cosmic) !important;
  border-radius: 10px;
}

.mobile-top-nav .app-menu__item:hover .app-menu__icon {
  background: var(--nova-carnival) !important;
  color: #ffffff !important;
}

/* Modal Headers */
.modal-header {
  background: linear-gradient(135deg, #132F47 0%, #29608D 100%) !important;
  color: #ffffff !important;
  border-bottom: 2px solid var(--nova-carnival) !important;
  border-top-left-radius: calc(var(--nova-radius) - 1px) !important;
  border-top-right-radius: calc(var(--nova-radius) - 1px) !important;
}

.modal-header .modal-title {
  color: #ffffff !important;
  font-weight: 800;
}

.modal-header .btn-close {
  filter: invert(1) grayscale(100%) brightness(200%);
}
