/**
 * Qudra Charge Connect — UI system overlay (14.3.300)
 * Presentation only. Tokens come from lovable-theme / qc-erp-modern / branding-themes.
 * Loaded last. Respects light, dark, and prefers-reduced-motion.
 */

:root {
  --qcc-ease: cubic-bezier(.22, 1, .36, 1);
  --qcc-move: 200ms;
  --qcc-page-pad: 1.35rem 1.5rem 2rem;
  --qcc-gutter: 16px;
  --qcc-radius: var(--radius, 16px);
  --qcc-radius-ctl: 12px;
  --qcc-btn-h: 44px;
  --qcc-btn-h-sm: 40px;
  --qcc-btn-h-lg: 48px;
  --qcc-fs-title: clamp(1.28rem, 1.6vw + .7rem, 1.75rem);
  --qcc-fs-section: 1rem;
  --qcc-fs-body: .875rem;
  --qcc-fs-label: .75rem;
  --qcc-fs-caption: .6875rem;
  --qcc-lh: 1.5;
  --qcc-max: 1440px;
}

/* Explicit page canvas */
html, body, #root {
  background: var(--background, var(--app-bg)) !important;
  color: var(--foreground);
}
body:not(:has(.qc-portal)) {
  background:
    radial-gradient(1200px 520px at 8% -10%, color-mix(in srgb, var(--primary) 12%, transparent), transparent 55%),
    radial-gradient(900px 480px at 110% 8%, color-mix(in srgb, var(--gold, var(--accent)) 16%, transparent), transparent 50%),
    var(--background) !important;
}

/* Shared anatomy: header → KPIs → cards */
.qc-erp-main {
  background: transparent;
  padding: var(--qcc-page-pad) !important;
  max-width: 1540px;
  margin: 0 auto;
  min-width: 0;
}
.qcc-page-header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.35rem !important;
}
.qc-erp-main h1,
.qc-erp-main h2,
.qc-erp-main h3,
.qcc-page-header h1 {
  overflow-wrap: break-word !important;
  word-break: normal !important;
}
.qc-erp-main h1,
.qcc-page-header h1 {
  font-family: Manrope, "Plus Jakarta Sans", Inter, sans-serif !important;
  letter-spacing: -.02em;
  font-weight: 750 !important;
  flex: 1 1 14rem;
  min-width: 12rem;
  background: linear-gradient(120deg, var(--primary) 0%, var(--primary-glow, var(--primary)) 46%, var(--gold, var(--accent)) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.qc-erp-main h1 + p,
.qcc-page-header p {
  color: var(--muted-foreground) !important;
  max-width: 46rem;
  width: 100%;
  white-space: normal;
  overflow: visible;
  overflow-wrap: break-word;
}
.qcc-page-header .flex.flex-wrap,
.qcc-page-header [class*="justify-end"] {
  gap: .5rem;
}

/* KPI / stat tiles */
.qcc-kpi-row {
  gap: .85rem !important;
  margin-bottom: 1rem;
}
.qcc-kpi-tile,
.qc-kpi-card {
  position: relative;
  overflow: hidden;
  min-width: 0;
  max-width: 100%;
  border: 1px solid color-mix(in srgb, var(--border) 70%, transparent) !important;
  background: var(--card) !important;
  color: var(--card-foreground) !important;
  border-radius: var(--radius-lg, 22px) !important;
  box-shadow: var(--shadow-card, var(--shadow)) !important;
  transition: transform var(--qcc-move) var(--qcc-ease), box-shadow var(--qcc-move) var(--qcc-ease);
}
.qcc-kpi-tile,
.qcc-kpi-tile * {
  overflow-wrap: break-word;
  min-width: 0;
}
.qcc-kpi-tile:hover,
.qc-kpi-card:hover,
.qc-erp-main [class*="shadow-card"]:hover,
.qc-erp-main .rounded-xl.border:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 36px color-mix(in srgb, var(--foreground) 10%, transparent) !important;
}
body.qcc-dash-page .qcc-kpi-row > .qcc-kpi-tile:nth-child(4n+2) {
  background: linear-gradient(165deg, var(--accent) 0%, var(--card) 72%) !important;
}
body.qcc-dash-page .qcc-kpi-row > .qcc-kpi-tile:nth-child(4n+3) {
  background: var(--gradient-brand, var(--primary)) !important;
  color: var(--primary-foreground) !important;
}
body.qcc-dash-page .qcc-kpi-row > .qcc-kpi-tile:nth-child(4n+3) .text-muted-foreground,
body.qcc-dash-page .qcc-kpi-row > .qcc-kpi-tile:nth-child(4n+3) [class*="text-muted"] {
  color: color-mix(in srgb, var(--primary-foreground) 80%, transparent) !important;
}

/* Undo rainbow paint on ordinary list pages (those rules lived under .qc-erp-main) */
.qc-erp-main:not(.qc-dashboard) .grid.grid-cols-2.md\:grid-cols-4 > .rounded-xl:nth-child(4n+2),
.qc-erp-main:not(.qc-dashboard) .grid.grid-cols-2 > .rounded-xl.shadow-card:nth-child(4n+2),
.qc-erp-main:not(.qc-dashboard) .grid.grid-cols-2.md\:grid-cols-4 > .rounded-xl:nth-child(4n+3),
.qc-erp-main:not(.qc-dashboard) .grid.grid-cols-2 > .rounded-xl.shadow-card:nth-child(4n+3) {
  background: var(--card) !important;
  color: var(--card-foreground) !important;
}
body.qcc-dash-page .qc-erp-main .grid.grid-cols-2.md\:grid-cols-4 > .rounded-xl:nth-child(4n+2),
body.qcc-dash-page .qc-erp-main .grid.grid-cols-2 > .rounded-xl.shadow-card:nth-child(4n+2) {
  background: linear-gradient(165deg, var(--accent) 0%, var(--card) 72%) !important;
}
body.qcc-dash-page .qc-erp-main .grid.grid-cols-2.md\:grid-cols-4 > .rounded-xl:nth-child(4n+3),
body.qcc-dash-page .qc-erp-main .grid.grid-cols-2 > .rounded-xl.shadow-card:nth-child(4n+3) {
  background: var(--gradient-brand, var(--primary)) !important;
  color: var(--primary-foreground) !important;
}

/* Section / data / chart cards */
.qc-erp-main .bg-card,
.qc-erp-main [class*="bg-card"],
.qc-erp-main [class*="shadow-card"],
.qc-erp-main .rounded-xl.border,
.qc-erp-main .rounded-2xl.border,
.qcc-table-card,
.qcc-os-card,
.qcc-gps-live,
.qcc-tl-card {
  background: var(--card) !important;
  color: var(--card-foreground) !important;
  border-color: color-mix(in srgb, var(--border) 80%, transparent) !important;
  border-radius: var(--radius-lg, 22px) !important;
  box-shadow: var(--shadow-card, var(--shadow));
}

.qcc-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .55rem;
  margin-bottom: .75rem;
}

.qcc-table-card,
.qc-erp-main .overflow-x-auto:has(table) {
  overflow: auto;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
}
.qc-erp-main table tbody tr {
  transition: background-color var(--qcc-move) var(--qcc-ease);
}

/* Status chips */
.qc-erp-main [class*="badge"],
.qcc-status {
  border-radius: 999px !important;
  font-weight: 700;
  letter-spacing: .02em;
}

/* Empty + skeleton */
.qcc-empty,
.qc-empty {
  padding: 2rem 1.25rem !important;
  text-align: center;
  color: var(--muted-foreground) !important;
  border: 1px dashed var(--border) !important;
  border-radius: var(--radius, 16px) !important;
  background: color-mix(in srgb, var(--muted) 70%, var(--card)) !important;
}
.qcc-skel-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .85rem;
  margin-top: .5rem;
}
.qcc-skel-grid i,
.qcc-skel-grid b {
  display: block;
  border-radius: 18px;
  background: linear-gradient(90deg, var(--muted), color-mix(in srgb, var(--card) 40%, var(--muted)), var(--muted));
  background-size: 200% 100%;
  animation: qcc-shimmer 1.1s linear infinite;
  min-height: 92px;
}
.qcc-skel-grid b {
  grid-column: span 2;
  min-height: 220px;
}

/* Buttons / inputs — token surfaces, no hex */
.qc-erp-main button.border,
.qc-erp-main a.border {
  background: var(--card) !important;
  color: var(--primary) !important;
  border-color: var(--border) !important;
}
.qc-erp-main input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),
.qc-erp-main textarea,
.qc-erp-main select,
.qc-erp-main [role="combobox"] {
  background: var(--erp-input-bg, var(--card)) !important;
  border-color: var(--input, var(--border)) !important;
  color: var(--foreground) !important;
}
.qc-erp-main input:focus,
.qc-erp-main textarea:focus,
.qc-erp-main select:focus,
.qc-erp-main [role="combobox"]:focus-visible {
  border-color: var(--ring, var(--primary)) !important;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--primary) 18%, transparent) !important;
}
.qc-erp-main [role="tablist"] {
  background: var(--muted) !important;
}
.qc-erp-main [role="tab"][data-state="active"],
.qc-erp-main [role="tab"][aria-selected="true"] {
  background: var(--card) !important;
  color: var(--foreground) !important;
}

/* Sidebar active — tokens, not hex */
aside.bg-sidebar .qc-nav-link.is-active,
aside.bg-sidebar a[aria-current="page"] {
  background: color-mix(in srgb, var(--primary) 12%, var(--sidebar, var(--card))) !important;
  color: var(--sidebar-accent-foreground, var(--primary)) !important;
  box-shadow: inset 3px 0 0 var(--primary) !important;
  font-weight: 700;
}
aside.bg-sidebar a:focus-visible,
.qc-erp-main a:focus-visible,
.qc-erp-main button:focus-visible {
  outline: 2px solid var(--ring, var(--primary));
  outline-offset: 2px;
}

/* Dialogs + toasts */
body [role="dialog"],
[data-radix-dialog-content],
.qcc-tl-card,
.qcc-journal-card,
.qcc-approval-card {
  background: var(--card) !important;
  color: var(--card-foreground) !important;
  border: 1px solid var(--border) !important;
  box-shadow: var(--shadow) !important;
}
.qc-erp-main [role="dialog"] {
  contain: unset !important;
  transform: unset !important;
}
body [role="dialog"]:not([class*="inset-y-0"]):not([class*="slide-in-from-left"]):not([class*="w-[min(20rem"]) {
  animation: qcc-pop var(--qcc-move) var(--qcc-ease) both;
}
[data-radix-dialog-content][class*="inset-y-0"],
[data-radix-dialog-content][class*="w-[min(20rem"] {
  animation: none !important;
  transform: none !important;
}
[data-sonner-toast],
.qc-saved-view-toast {
  animation: qcc-pop var(--qcc-move) var(--qcc-ease) both;
}

/* Motion */
.qcc-enter {
  animation: qcc-rise var(--qcc-move) var(--qcc-ease) both;
  animation-delay: var(--qcc-delay, 0ms);
}
.qcc-route-in {
  animation: qcc-page var(--qcc-move) var(--qcc-ease) both;
}
.qc-erp-main button,
.qc-erp-main a.inline-flex,
.qc-erp-main [class*="shadow-card"],
.qcc-tl-open,
.qcc-gps-share {
  transition: transform var(--qcc-move) var(--qcc-ease), box-shadow var(--qcc-move) var(--qcc-ease), background-color var(--qcc-move) var(--qcc-ease), border-color var(--qcc-move) var(--qcc-ease), filter var(--qcc-move) var(--qcc-ease);
}
.qc-erp-main button:active,
.qc-erp-main a.inline-flex:active {
  transform: translateY(1px);
}

@keyframes qcc-rise {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: none; }
}
@keyframes qcc-page {
  from { opacity: .35; transform: translateY(6px); }
  to { opacity: 1; transform: none; }
}
@keyframes qcc-pop {
  from { opacity: 0; transform: translateY(8px) scale(.98); }
  to { opacity: 1; transform: none; }
}
@keyframes qcc-shimmer {
  0% { background-position: 100% 0; }
  100% { background-position: -100% 0; }
}

@media (prefers-reduced-motion: reduce) {
  .qcc-enter,
  .qcc-route-in,
  body [role="dialog"],
  [data-sonner-toast],
  .qcc-skel-grid i,
  .qcc-skel-grid b {
    animation: none !important;
  }
  .qc-erp-main *,
  .qc-erp-main *::before,
  .qc-erp-main *::after {
    transition: none !important;
    scroll-behavior: auto !important;
  }
  .qcc-kpi-tile:hover,
  .qc-erp-main [class*="shadow-card"]:hover {
    transform: none !important;
  }
}

/* Dark */
html.dark .qc-erp-main .rounded-xl.border,
html[data-theme="qudra-reverse"] .qc-erp-main .rounded-xl.border,
html.dark .qcc-table-card,
html[data-theme="qudra-reverse"] .qcc-table-card {
  background: var(--card) !important;
  border-color: var(--border) !important;
}
html.dark .qc-erp-main input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
html[data-theme="qudra-reverse"] .qc-erp-main input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
html.dark .qc-erp-main textarea,
html[data-theme="qudra-reverse"] .qc-erp-main textarea,
html.dark .qc-erp-main select,
html[data-theme="qudra-reverse"] .qc-erp-main select {
  background: var(--surface, var(--card)) !important;
}

/* Mobile: 375px, no horizontal page scroll */
@media (max-width: 1023px) {
  .qc-erp-main { padding: 1rem 1rem 5.5rem !important; }
  .qcc-skel-grid { grid-template-columns: 1fr 1fr; }
  .qcc-page-header,
  .qc-erp-main .mb-6.flex {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .qc-erp-main h1 { min-width: 0; flex-basis: auto; }
}
@media (max-width: 640px) {
  .qcc-kpi-row { grid-template-columns: 1fr 1fr !important; }
  .qc-erp-main h1 { font-size: 1.35rem !important; }
  .qcc-skel-grid b { grid-column: span 2; }
}

@media (max-width: 374px) {
  .qc-erp-main { padding: .85rem .75rem 5.5rem !important; }
}

/* Print: no motion, keep ink */
@media print {
  .qcc-enter, .qcc-route-in { animation: none !important; }
  body { background: var(--card) !important; }
}

/* =====================================================================
   14.3.299 — Containment, uniform primitives, device grid
   ===================================================================== */

html, body {
  overflow-x: clip;
  max-width: 100%;
}
#root,
#root > div,
aside,
main,
.qc-erp-main,
[class*="flex-1"] {
  min-width: 0 !important;
  max-width: 100%;
}
.qc-erp-main,
.qc-erp-main .flex,
.qc-erp-main .grid,
.qc-erp-main [class*="shadow-card"],
.qc-erp-main .rounded-xl,
.qc-erp-main .rounded-2xl {
  box-sizing: border-box;
  max-width: 100%;
}
.qc-erp-main .grid > * {
  min-width: 0;
  max-width: 100%;
}
.qc-erp-main img,
.qc-erp-main svg,
.qc-erp-main canvas,
.qc-erp-main video {
  max-width: 100%;
  height: auto;
}

.qc-erp-main {
  width: 100%;
  max-width: var(--qcc-max);
  padding: var(--qcc-page-pad) !important;
  overflow-x: clip;
}

/* Type scale */
.qc-erp-main {
  font-size: var(--qcc-fs-body);
  line-height: var(--qcc-lh);
  color: var(--foreground);
}
.qc-erp-main h1,
.qcc-page-header h1 {
  font-size: var(--qcc-fs-title) !important;
  line-height: 1.25 !important;
}
.qc-erp-main h2 {
  font-size: var(--qcc-fs-section) !important;
  font-weight: 700;
  line-height: 1.35;
  color: var(--foreground);
}
.qc-erp-main p,
.qc-erp-main li,
.qc-erp-main td {
  line-height: var(--qcc-lh);
}
.qc-erp-main label,
.qc-erp-main .text-xs,
.qc-erp-main [class*="text-muted"] {
  font-size: var(--qcc-fs-label);
  line-height: 1.4;
}
.qc-erp-main .text-muted-foreground,
.qcc-page-header p {
  color: var(--muted-foreground) !important;
}

/* Section cards — one block */
.qc-erp-main .bg-card,
.qc-erp-main [class*="bg-card"],
.qc-erp-main [class*="shadow-card"],
.qc-erp-main .rounded-xl.border,
.qc-erp-main .rounded-2xl.border,
.qcc-table-card,
.qcc-gps-live,
.qcc-os-card,
.qcc-tl-card {
  padding-inline: clamp(.9rem, 1.5vw, 1.25rem);
  padding-block: clamp(.9rem, 1.2vw, 1.2rem);
}

/* Uniform buttons */
.qc-erp-main button,
.qc-erp-main a.inline-flex,
.qc-erp-main [role="button"],
.qcc-tl-open,
.qcc-gps-share,
.qcc-tl-x {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  min-height: var(--qcc-btn-h);
  height: auto;
  padding: 0 1rem;
  border-radius: var(--qcc-radius-ctl) !important;
  font-size: .8125rem;
  font-weight: 650;
  line-height: 1.2;
  max-width: 100%;
  white-space: nowrap;
}
.qc-erp-main button.h-7,
.qc-erp-main button.h-8,
.qc-erp-main button.h-9,
.qc-erp-main button[data-size="sm"] {
  min-height: var(--qcc-btn-h-sm);
  padding: 0 .85rem;
  font-size: .75rem;
}
.qc-erp-main button.h-11,
.qc-erp-main button.h-12,
.qc-erp-main .bg-brand-gradient {
  min-height: var(--qcc-btn-h-lg);
}
.qc-erp-main button.bg-primary,
.qc-erp-main a.bg-primary,
.qc-erp-main .bg-brand-gradient,
.qc-erp-main button.bg-primary.border,
.qc-erp-main a.bg-primary.border {
  background: var(--gradient-brand, var(--primary)) !important;
  color: var(--primary-foreground) !important;
  -webkit-text-fill-color: var(--primary-foreground) !important;
  border: 0 !important;
  box-shadow: var(--shadow-brand);
}
.qc-erp-main button.bg-primary *,
.qc-erp-main a.bg-primary *,
.qc-erp-main .bg-brand-gradient * {
  color: var(--primary-foreground) !important;
  -webkit-text-fill-color: var(--primary-foreground) !important;
}
.qc-erp-main button.border:not(.bg-primary):not(.bg-destructive):not(.bg-brand-gradient),
.qc-erp-main a.border:not(.bg-primary):not(.bg-brand-gradient),
.qc-erp-main button[class*="outline"]:not(.bg-primary):not(.bg-destructive) {
  background: var(--card) !important;
  color: var(--primary) !important;
  -webkit-text-fill-color: var(--primary) !important;
  border: 1px solid var(--border) !important;
}
.qc-erp-main button[class*="ghost"],
.qc-erp-main button.bg-transparent {
  background: transparent !important;
  color: var(--foreground);
}
.qc-erp-main button.bg-destructive,
.qc-erp-main button[class*="destructive"] {
  background: var(--destructive) !important;
  color: var(--destructive-foreground, var(--primary-foreground)) !important;
}
.qc-erp-main button:disabled,
.qc-erp-main button[disabled] {
  opacity: .5;
  cursor: not-allowed;
  transform: none !important;
}
.qc-erp-main button:focus-visible,
.qc-erp-main a:focus-visible {
  outline: 2px solid var(--ring, var(--primary));
  outline-offset: 2px;
}
.qcc-page-header .flex,
.qcc-page-header [class*="justify-end"],
.qcc-toolbar {
  display: flex;
  flex-wrap: wrap !important;
  gap: .5rem;
  max-width: 100%;
}
.qc-erp-main > .flex,
.qc-erp-main .qcc-page-header + .flex,
.qc-erp-main .qcc-page-header + div.flex {
  flex-wrap: wrap !important;
  max-width: 100%;
}

/* Uniform fields */
.qc-erp-main label {
  display: block;
  margin-bottom: .28rem;
  font-size: var(--qcc-fs-label);
  font-weight: 650;
  color: var(--foreground);
}
.qc-erp-main .relative:has(> svg) > input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]) {
  padding-left: 2.35rem !important;
}
.qc-erp-main input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="range"]),
.qc-erp-main textarea,
.qc-erp-main select,
.qc-erp-main [role="combobox"] {
  width: 100%;
  max-width: 100%;
  min-height: var(--qcc-btn-h);
  border-radius: var(--qcc-radius-ctl) !important;
  border: 1px solid var(--input, var(--border)) !important;
  background: var(--erp-input-bg, var(--card)) !important;
  color: var(--foreground) !important;
  padding: .5rem .85rem;
  font-size: var(--qcc-fs-body);
  line-height: 1.4;
}
.qc-erp-main textarea {
  min-height: 6rem;
  resize: vertical;
}
.qc-erp-main input[type="checkbox"],
.qc-erp-main input[type="radio"] {
  width: 1.05rem;
  height: 1.05rem;
  accent-color: var(--primary);
}

/* Tables stay inside the card */
.qcc-table-scroll,
.qcc-table-card,
.qc-erp-main .overflow-x-auto,
.qc-erp-main [class*="overflow-x-auto"],
.qc-erp-main [class*="shadow-card"]:has(table) {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
}
.qc-erp-main table {
  width: 100%;
  min-width: 36rem;
  border-collapse: separate;
  border-spacing: 0;
}
.qc-erp-main table th,
.qc-erp-main table td {
  overflow-wrap: break-word;
  word-break: normal;
  vertical-align: middle;
}
.qc-erp-main table td .inline-flex,
.qc-erp-main table td .rounded-full,
.qc-erp-main table td [class*="rounded-full"],
.qc-erp-main span.inline-flex.items-center {
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  white-space: nowrap;
}
.qc-erp-main table th {
  font-size: var(--qcc-fs-caption);
  letter-spacing: .04em;
  text-transform: uppercase;
}

/* Fixed extras never leave the canvas */
#qcc-gps-live,
.qcc-gps-live {
  position: relative !important;
  inset: auto !important;
  width: 100%;
  max-width: 100%;
  margin: 0 0 1rem;
  box-sizing: border-box;
  overflow: hidden;
}
#qcc-gps-live .flex,
#qcc-gps-live li,
.qcc-gps-live .flex,
.qcc-gps-live li {
  flex-wrap: wrap !important;
  min-width: 0;
  max-width: 100%;
}
.qcc-journal-fab,
.qcc-van-bar {
  max-width: calc(100vw - 2rem);
  right: var(--qcc-gutter) !important;
  bottom: calc(var(--qcc-gutter) + env(safe-area-inset-bottom, 0px)) !important;
}
.qcc-tl-modal,
.qcc-journal-modal,
.qcc-approval-pop {
  padding: var(--qcc-gutter);
  box-sizing: border-box;
}
.qcc-tl-card,
.qcc-journal-card,
.qcc-approval-card,
body [role="dialog"],
[data-radix-dialog-content] {
  max-width: min(40rem, calc(100vw - 24px)) !important;
  max-height: min(90dvh, calc(100dvh - 24px)) !important;
  overflow: auto;
  box-sizing: border-box;
}

@media (hover: hover) and (pointer: fine) {
  .qc-erp-main [class*="shadow-card"]:hover,
  .qcc-kpi-tile:hover {
    transform: translateY(-2px);
  }
}
@media (hover: none) {
  .qc-erp-main [class*="shadow-card"]:hover,
  .qcc-kpi-tile:hover {
    transform: none !important;
  }
}

/* Phone 360–430 */
@media (max-width: 639px) {
  :root { --qcc-page-pad: 1rem var(--qcc-gutter) 5.5rem; }
  .qc-erp-main { padding: var(--qcc-page-pad) !important; }
  .qcc-page-header,
  .qc-erp-main .mb-6.flex,
  .qc-erp-main .mb-4.flex {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .qc-erp-main h1 { min-width: 0 !important; flex: 1 1 auto !important; }
  .qcc-page-header .flex,
  .qcc-page-header [class*="justify-end"] {
    width: 100%;
  }
  .qc-erp-main .bg-brand-gradient,
  .qc-erp-main button.bg-brand-gradient {
    width: auto;
  }
  .qcc-page-header > [class*="justify-end"] > .bg-brand-gradient,
  .qcc-page-header > [class*="justify-end"] > button.bg-primary,
  .qcc-page-header > [class*="justify-end"] > a.bg-primary,
  .qcc-page-header button.bg-primary:first-of-type {
    width: 100%;
  }
  .qc-erp-main .grid,
  .qc-erp-main form .grid {
    grid-template-columns: 1fr !important;
  }
  .qcc-kpi-row,
  .qc-erp-main .grid.grid-cols-2,
  .qc-erp-main .grid.grid-cols-2.md\:grid-cols-4,
  .qc-erp-main .grid.grid-cols-2.md\:grid-cols-5 {
    grid-template-columns: 1fr 1fr !important;
  }
  .qc-erp-main button,
  .qc-erp-main a.inline-flex {
    white-space: normal;
    text-align: center;
  }
  .qc-erp-main .flex.gap-1,
  .qc-erp-main .flex.gap-2,
  .qc-erp-main .flex.gap-3,
  .qc-erp-main .flex.items-center.gap-2,
  .qc-erp-main .flex.items-center.gap-3 {
    flex-wrap: wrap !important;
    max-width: 100%;
  }
  .qc-erp-main .flex.items-end,
  .qc-erp-main .flex.items-end.gap-2,
  .qc-erp-main .flex.items-end.gap-3,
  .qc-erp-main .flex.items-end.gap-4 {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .qcc-kpi-tile .text-xl,
  .qcc-kpi-tile .text-2xl,
  .qcc-kpi-tile .text-3xl,
  .qc-kpi-card .text-2xl,
  .qc-kpi-card .text-3xl {
    font-size: 1.05rem !important;
    line-height: 1.25 !important;
    white-space: normal !important;
  }
  .qcc-kpi-tile .uppercase,
  .qcc-kpi-tile .text-xs,
  .qcc-kpi-tile .tracking-wider {
    white-space: normal !important;
    overflow: visible;
  }
  .qcc-skel-grid { grid-template-columns: 1fr 1fr; }
}

/* Small phone 360 */
@media (max-width: 379px) {
  :root { --qcc-gutter: 12px; }
  .qcc-kpi-row { grid-template-columns: 1fr !important; }
}

/* Tablet 768–1024 */
@media (min-width: 640px) and (max-width: 1023px) {
  :root { --qcc-page-pad: 1.15rem 1.25rem 2rem; }
  .qcc-page-header,
  .qcc-page-header .flex,
  .qcc-page-header [class*="justify-end"],
  .qcc-toolbar {
    flex-wrap: wrap !important;
    max-width: 100%;
  }
  .qcc-kpi-row,
  .qc-erp-main .grid.grid-cols-2.md\:grid-cols-4,
  .qc-erp-main .grid.grid-cols-2.md\:grid-cols-5,
  .qc-erp-main .grid.grid-cols-5,
  .qc-erp-main .grid.md\:grid-cols-5,
  .qc-erp-main .grid.lg\:grid-cols-5,
  .qc-erp-main .grid.grid-cols-6,
  .qc-erp-main .grid.md\:grid-cols-6,
  .qc-erp-main .grid.lg\:grid-cols-6 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .qc-erp-main .grid.md\:grid-cols-3,
  .qc-erp-main .grid.md\:grid-cols-4,
  .qc-erp-main .grid.lg\:grid-cols-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Laptop 1280–1440 */
@media (min-width: 1024px) and (max-width: 1535px) {
  :root { --qcc-page-pad: 1.35rem 1.5rem 2rem; }
  .qcc-page-header,
  .qcc-page-header .flex,
  .qcc-page-header [class*="justify-end"],
  .qcc-toolbar {
    flex-wrap: wrap !important;
    max-width: 100%;
  }
  .qcc-kpi-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .qc-erp-main .grid.md\:grid-cols-3,
  .qc-erp-main .grid.lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .qc-erp-main .grid.grid-cols-5,
  .qc-erp-main .grid.md\:grid-cols-5,
  .qc-erp-main .grid.lg\:grid-cols-5,
  .qc-erp-main .grid.grid-cols-6,
  .qc-erp-main .grid.md\:grid-cols-6,
  .qc-erp-main .grid.lg\:grid-cols-6 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* Desktop 1536+ */
@media (min-width: 1536px) {
  :root { --qcc-max: 1540px; --qcc-page-pad: 1.5rem 1.75rem 2.25rem; }
  .qc-erp-main { max-width: var(--qcc-max); }
  .qcc-kpi-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

html.dark .qc-erp-main,
html[data-theme="qudra-reverse"] .qc-erp-main {
  color: var(--foreground);
}
html.dark .qc-erp-main button.border,
html[data-theme="qudra-reverse"] .qc-erp-main button.border {
  background: var(--card) !important;
  color: var(--primary) !important;
}

/* =====================================================================
   14.3.300 — Sidebar-aware alignment, icons, shell, 320–1920
   Grids follow the PAGE CONTAINER (minus sidebar), not the viewport.
   ===================================================================== */

.qc-erp-main {
  container-type: inline-size;
  container-name: qcc-page;
}

/* Undo qc-responsive letter-wrap and full-width brand buttons */
.qc-erp-main h1,
.qc-erp-main h2,
.qc-erp-main h3,
.qc-erp-main td,
.qc-erp-main th,
.qc-erp-main label,
.qc-erp-main button,
.qc-erp-main a {
  overflow-wrap: break-word !important;
  word-break: normal !important;
}
.qc-erp-main .bg-brand-gradient,
.qc-erp-main button.bg-brand-gradient,
.qc-erp-main a.bg-brand-gradient {
  width: auto !important;
  max-width: 100%;
}
.qc-erp-main [class*="h-8"][class*="w-8"].bg-brand-gradient,
.qc-erp-main [class*="h-9"][class*="w-9"].bg-brand-gradient,
.qc-erp-main [class*="h-10"][class*="w-10"].bg-brand-gradient,
.qc-erp-main [class*="h-11"][class*="w-11"].bg-brand-gradient,
.qc-erp-main [class*="rounded-full"].bg-brand-gradient {
  width: 2.5rem !important;
  min-width: 2.5rem !important;
  height: 2.5rem !important;
  flex: 0 0 2.5rem !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}

/* KPI row wraps to the available canvas (sidebar-aware) */
.qcc-kpi-row {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 12.75rem), 1fr)) !important;
}
.qcc-kpi-tile .text-xl,
.qcc-kpi-tile .text-2xl,
.qcc-kpi-tile .text-3xl,
.qc-kpi-card .text-2xl,
.qc-kpi-card .text-3xl {
  white-space: normal !important;
  overflow-wrap: anywhere;
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
}

/* Filter rows */
.qcc-filter-grid {
  display: grid;
  gap: .75rem;
  max-width: 100%;
}
.qcc-filter-grid.flex {
  display: flex !important;
  flex-wrap: wrap !important;
}
.qcc-filter-grid.flex > * {
  flex: 1 1 12rem;
  min-width: 0;
  max-width: 100%;
}

@container qcc-page (max-width: 340px) {
  .qcc-kpi-row,
  .qc-erp-main .grid,
  .qc-erp-main form .grid,
  .qcc-filter-grid {
    grid-template-columns: 1fr !important;
  }
}
@container qcc-page (min-width: 421px) and (max-width: 720px) {
  .qc-erp-main .grid.md\:grid-cols-3,
  .qc-erp-main .grid.md\:grid-cols-4,
  .qc-erp-main .grid.lg\:grid-cols-3,
  .qc-erp-main .grid.lg\:grid-cols-4,
  .qc-erp-main .grid.grid-cols-2.md\:grid-cols-4,
  .qc-erp-main .grid.grid-cols-5,
  .qc-erp-main .grid.grid-cols-6,
  .qc-erp-main .grid.md\:grid-cols-5,
  .qc-erp-main .grid.md\:grid-cols-6,
  .qcc-filter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@container qcc-page (min-width: 721px) and (max-width: 1100px) {
  .qcc-kpi-row {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
  .qc-erp-main .grid.md\:grid-cols-3,
  .qc-erp-main .grid.lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .qc-erp-main .grid.grid-cols-5,
  .qc-erp-main .grid.grid-cols-6,
  .qc-erp-main .grid.md\:grid-cols-5,
  .qc-erp-main .grid.md\:grid-cols-6,
  .qc-erp-main .grid.lg\:grid-cols-5,
  .qcc-filter-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@container qcc-page (min-width: 1101px) {
  .qcc-kpi-row {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

/* Icons — one size, centered in chips / buttons / nav */
aside.bg-sidebar nav a svg,
aside.bg-sidebar button svg,
.qc-erp-main button svg,
.qc-erp-main a.inline-flex svg,
.qc-erp-main a.flex svg {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  display: block;
}
.qc-erp-main button.h-9.w-9,
.qc-erp-main button.h-10.w-10,
header button.h-9.w-9,
header button.h-10,
button[aria-label="Notifications"],
button[aria-label="Open navigation menu"] {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
  width: 2.5rem;
  height: 2.5rem;
  min-width: 2.5rem;
  min-height: 2.5rem;
}
.qc-erp-main button.h-9.w-9 svg,
.qc-erp-main button.h-10.w-10 svg,
header button svg,
button[aria-label="Notifications"] svg,
button[aria-label="Open navigation menu"] svg {
  width: 1.125rem;
  height: 1.125rem;
  margin: 0;
}
.qcc-kpi-tile [class*="rounded-full"],
.qcc-kpi-tile [class*="rounded-xl"]:has(svg),
.qc-erp-main .h-8.w-8,
.qc-erp-main .h-9.w-9,
.qc-erp-main .h-10.w-10,
.qc-erp-main .h-11.w-11,
.qc-erp-main .h-12.w-12 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.qc-erp-main button,
.qc-erp-main a.inline-flex {
  gap: .5rem;
}

/* Sidebar + header + mobile sheet */
aside.bg-sidebar {
  min-width: 0;
  max-width: 18rem;
}
aside.bg-sidebar nav,
aside.bg-sidebar [data-app-shell-nav] {
  min-width: 0;
  overscroll-behavior: contain;
}
aside.bg-sidebar nav a,
aside.bg-sidebar [data-app-shell-nav] a {
  display: flex;
  align-items: center;
  gap: .75rem;
  min-height: 40px;
  min-width: 0;
  max-width: 100%;
}
aside.bg-sidebar nav a span,
aside.bg-sidebar [data-app-shell-nav] a span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
header.lg\:hidden,
header.lg\:hidden + div {
  min-width: 0;
  max-width: 100%;
}
header [role="combobox"],
.hidden.lg\:flex [role="combobox"],
[role="combobox"].w-\[280px\] {
  width: min(280px, 100%) !important;
  max-width: 100% !important;
}
[data-radix-popper-content-wrapper],
[data-radix-popover-content],
[data-radix-dropdown-menu-content] {
  max-width: min(22.5rem, calc(100vw - 16px)) !important;
  box-sizing: border-box;
}
[data-radix-dialog-content][class*="w-\[min(20rem"] {
  width: min(20rem, 88vw) !important;
  max-width: 88vw !important;
  height: 100dvh;
  max-height: 100dvh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

/* Charts stay in their card */
.qc-erp-main .recharts-wrapper,
.qc-erp-main .recharts-responsive-container,
.qc-erp-main canvas,
.qc-erp-main svg.recharts-surface {
  max-width: 100% !important;
  width: 100% !important;
}
.qc-erp-main .recharts-wrapper {
  overflow: hidden;
}

/* Tabs / filters / validation */
.qc-erp-main [role="tablist"] {
  display: flex;
  flex-wrap: wrap !important;
  max-width: 100%;
  gap: .35rem;
}
.qc-erp-main [aria-invalid="true"],
.qc-erp-main input[aria-invalid="true"],
.qc-erp-main [data-invalid] {
  border-color: var(--destructive) !important;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--destructive) 18%, transparent);
}
.qc-erp-main .text-destructive,
.qc-erp-main [class*="text-red-"] {
  overflow-wrap: break-word;
  max-width: 100%;
}

/* Reports workspace never stretches the page */
.qcc-reports-pro {
  max-width: 100%;
  min-width: 0;
}
.qcc-reports-pro [class*="overflow-x"],
.qcc-reports-pro .overflow-x-auto {
  max-width: 100%;
}

/* Tiny phone 320 */
@media (max-width: 359px) {
  :root { --qcc-gutter: 10px; --qcc-page-pad: .75rem .625rem 5rem; }
  .qc-erp-main { padding: var(--qcc-page-pad) !important; }
  .qc-erp-main h1 { font-size: 1.2rem !important; min-width: 0 !important; }
  .qcc-kpi-row { grid-template-columns: 1fr !important; }
}
@media (max-width: 639px) {
  .qcc-page-header .bg-brand-gradient,
  .qcc-page-header button.bg-primary,
  .qcc-page-header a.bg-primary,
  .qcc-page-header button.bg-brand-gradient {
    width: 100% !important;
  }
}

/* Landscape phones / short tablets — keep chrome usable */
@media (max-height: 500px) and (orientation: landscape) {
  .qc-erp-main { padding-bottom: 1.25rem !important; }
  aside.bg-sidebar nav,
  aside.bg-sidebar [data-app-shell-nav] {
    max-height: calc(100dvh - 8rem);
  }
}

/* 1920+ wide monitors */
@media (min-width: 1920px) {
  :root { --qcc-max: 1680px; --qcc-page-pad: 1.75rem 2rem 2.5rem; }
  .qc-erp-main { max-width: var(--qcc-max); }
}

/* Zoom 125–150%: still no page overflow */
@media (max-width: 1100px) {
  .qc-erp-main table { min-width: 32rem; }
}

/* =====================================================================
   14.3.301 — Audit F01–F09 (contrast, invoice lines, drawer, dashboard)
   ===================================================================== */

/* F01: stock / non-dash KPI labels stay dark-on-cream. Modern rainbow
   painted nth-child(4n+3) green with white muted text; undoing the fill
   without undoing the label color left “In warehouse” at ~white on cream. */
body:not(.qcc-dash-page) .qc-erp-main .grid > .rounded-xl,
body:not(.qcc-dash-page) .qc-erp-main .grid > .rounded-xl.shadow-card,
body:not(.qcc-dash-page) .qc-erp-main .qcc-kpi-tile {
  background: var(--card) !important;
  color: var(--card-foreground) !important;
}
body:not(.qcc-dash-page) .qc-erp-main .grid > .rounded-xl .text-muted-foreground,
body:not(.qcc-dash-page) .qc-erp-main .grid > .rounded-xl [class*="text-muted"],
body:not(.qcc-dash-page) .qc-erp-main .grid > .rounded-xl .uppercase,
body:not(.qcc-dash-page) .qc-erp-main .qcc-kpi-tile .text-muted-foreground,
body:not(.qcc-dash-page) .qc-erp-main .qcc-kpi-tile [class*="text-muted"],
body:not(.qcc-dash-page) .qc-erp-main .qcc-kpi-tile .uppercase,
body:not(.qcc-dash-page) .qc-erp-main .grid.grid-cols-2.md\:grid-cols-4 > .rounded-xl:nth-child(4n+3),
body:not(.qcc-dash-page) .qc-erp-main .grid.grid-cols-2.md\:grid-cols-4 > .rounded-xl:nth-child(4n+3) .text-muted-foreground,
body:not(.qcc-dash-page) .qc-erp-main .grid.grid-cols-2.md\:grid-cols-4 > .rounded-xl:nth-child(4n+3) [class*="text-muted"],
body:not(.qcc-dash-page) .qc-erp-main .grid.grid-cols-2.md\:grid-cols-4 > .rounded-xl:nth-child(4n+3) .uppercase,
body:not(.qcc-dash-page) .qc-erp-main .grid.grid-cols-2 > .rounded-xl.shadow-card:nth-child(4n+3),
body:not(.qcc-dash-page) .qc-erp-main .grid.grid-cols-2 > .rounded-xl.shadow-card:nth-child(4n+3) .text-muted-foreground,
body:not(.qcc-dash-page) .qc-erp-main .grid.grid-cols-2.md\:grid-cols-5 > .rounded-xl:nth-child(4n+3) .text-muted-foreground {
  color: var(--foreground) !important;
  opacity: 1 !important;
  -webkit-text-fill-color: var(--foreground) !important;
}
body:not(.qcc-dash-page) .qc-erp-main .qcc-kpi-tile svg,
body:not(.qcc-dash-page) .qc-erp-main .grid > .rounded-xl .bg-muted svg {
  color: currentColor;
  opacity: 1;
}
body.qcc-dash-page .qcc-kpi-row > .qcc-kpi-tile:nth-child(4n+3) .text-muted-foreground,
body.qcc-dash-page .qcc-kpi-row > .qcc-kpi-tile:nth-child(4n+3) [class*="text-muted"],
body.qcc-dash-page .qcc-kpi-row > .qcc-kpi-tile:nth-child(4n+3) .uppercase {
  color: color-mix(in srgb, var(--primary-foreground) 92%, transparent) !important;
  opacity: 1 !important;
}

/* F05: dashboard tracks fill the canvas; no orphan 4th column */
body.qcc-dash-page .qcc-kpi-row,
body.qcc-dash-page .qc-erp-main .grid.grid-cols-2.md\:grid-cols-4 {
  width: 100%;
}
body.qcc-dash-page .qc-erp-main .grid.md\:grid-cols-3,
body.qcc-dash-page .qc-erp-main .grid.lg\:grid-cols-3 {
  width: 100%;
  align-items: start;
}
body.qcc-dash-page .qc-erp-main .grid.grid-cols-1.md\:grid-cols-2.xl\:grid-cols-4 {
  width: 100%;
  align-items: start;
}
@container qcc-page (min-width: 56rem) {
  body.qcc-dash-page .qc-erp-main .grid.grid-cols-1.md\:grid-cols-2.xl\:grid-cols-4 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  body.qcc-dash-page .qc-erp-main .grid.grid-cols-1.md\:grid-cols-2.xl\:grid-cols-4 > :nth-child(4) {
    grid-column: 1 / -1;
  }
}
.qcc-empty-compact {
  min-height: 0 !important;
  height: auto !important;
  align-self: start;
  padding-bottom: .75rem !important;
}

/* F07: crop padded 512 mark into a readable lockup; keep section chips square */
aside [data-erp-logo-frame],
[data-erp-logo-frame] {
  height: 3.5rem;
  min-height: 3.5rem;
  width: calc(100% - 1.5rem);
  max-width: 15rem;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: transparent !important;
  box-shadow: none !important;
}
aside [data-erp-logo-frame] img,
[data-erp-logo-frame] img {
  width: 100%;
  height: 3.5rem;
  max-width: none !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: scale(1.48);
  transform-origin: center center;
  pointer-events: none;
}
header [data-erp-logo-frame] {
  min-height: 1.75rem;
  height: 1.75rem;
  width: 7rem;
  overflow: hidden;
}
header [data-erp-logo-frame] img {
  width: 7rem;
  height: 1.75rem;
  transform: scale(1.35);
}
.qc-erp-main [class*="h-7"][class*="w-7"].bg-brand-gradient {
  width: 2.25rem !important;
  min-width: 2.25rem !important;
  height: 2.25rem !important;
  flex: 0 0 2.25rem !important;
  border-radius: 0.65rem !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}

/* F02: invoice line editor stacks on phones */
@media (max-width: 639px) {
  [role="dialog"] .qcc-inv-line-head {
    display: none !important;
  }
  [role="dialog"] .qcc-inv-line,
  [role="dialog"] .grid.grid-cols-12 {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: .65rem .75rem !important;
    align-items: start;
  }
  [role="dialog"] .qcc-inv-line > :first-child,
  [role="dialog"] .grid.grid-cols-12 > :first-child {
    grid-column: 1 / -1;
  }
  [role="dialog"] .qcc-inv-line > :last-child {
    grid-column: 1 / -1;
    justify-self: end;
  }
  [role="dialog"] .qcc-inv-line [data-qcc-field]::before {
    content: attr(data-qcc-field);
    display: block;
    font-size: .75rem;
    font-weight: 650;
    color: var(--foreground);
    margin-bottom: .28rem;
  }
  [role="dialog"] .qcc-inv-line input,
  [role="dialog"] .qcc-inv-line textarea,
  [role="dialog"] .qcc-inv-line [role="combobox"],
  [role="dialog"] .grid.grid-cols-12 input,
  [role="dialog"] .grid.grid-cols-12 [role="combobox"] {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    font-size: 1rem !important;
  }
  [role="dialog"]:not([class*="w-[min(20rem"]):not([class*="inset-y-0"]) {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    max-height: calc(100dvh - 16px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) !important;
    overflow: auto;
  }
}

/* F03: 44px icon targets, visible focus */
[role="dialog"] button:has(svg):not(:has(span:not(.sr-only))),
[data-radix-dialog-content] button.absolute {
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
[data-radix-dialog-content] button.absolute.right-4,
[data-radix-dialog-content] > button.absolute,
[data-radix-dialog-content] button[aria-label="Close"] {
  top: max(.5rem, env(safe-area-inset-top, 0px));
  right: .5rem;
  z-index: 80;
  opacity: 1 !important;
  background: var(--card) !important;
  border: 1px solid var(--border);
  border-radius: 10px;
  color: var(--foreground);
  pointer-events: auto;
}

/* F04: drawer close + short landscape nav */
[data-radix-dialog-content][class*="w-[min(20rem"] {
  display: flex !important;
  flex-direction: column !important;
}
[data-radix-dialog-content][class*="w-[min(20rem"] nav,
[data-radix-dialog-content][class*="w-[min(20rem"] [data-app-shell-nav] {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
[data-radix-dialog-content][class*="w-[min(20rem"] [data-erp-logo-frame],
[data-radix-dialog-content][class*="inset-y-0"] [data-erp-logo-frame] {
  height: 2.5rem !important;
  min-height: 2.5rem !important;
  width: 8.5rem !important;
  margin: 0;
  overflow: hidden;
  pointer-events: none;
}
[data-radix-dialog-content][class*="w-[min(20rem"] [data-erp-logo-frame] img,
[data-radix-dialog-content][class*="inset-y-0"] [data-erp-logo-frame] img {
  width: 8.5rem !important;
  height: 2.5rem !important;
  transform: none !important;
  pointer-events: none;
}
@media (max-height: 500px) {
  [data-radix-dialog-content][class*="w-[min(20rem"] [data-erp-logo-frame] {
    min-height: 1.75rem !important;
    height: 1.75rem !important;
    width: 7rem !important;
  }
  [data-radix-dialog-content][class*="w-[min(20rem"] [data-erp-logo-frame] img {
    height: 1.75rem !important;
    width: 7rem !important;
    transform: none !important;
  }
  [data-radix-dialog-content][class*="w-[min(20rem"] > div:first-child {
    padding-top: .5rem;
    padding-bottom: .35rem;
  }
}

/* F06: tabular numbers, no stored-value change */
.qc-erp-main .tabular-nums,
.qcc-kpi-tile .text-lg,
.qcc-kpi-tile .text-xl,
.qcc-kpi-tile .text-2xl {
  font-variant-numeric: tabular-nums;
}

/* F08: invoice card actions wrap; keep every control */
.qc-erp-main [class*="shadow-card"] .flex.flex-wrap,
.qc-erp-main [class*="INVOICE"],
.qc-erp-main [class*="shadow-card"] .grid {
  min-width: 0;
}

/* F09: wallet search readable */
header input[placeholder*="wallets"],
input[placeholder*="Search wallets"] {
  min-height: 40px;
  font-size: .8125rem;
}
.qc-erp-main input[placeholder="Search…"],
.qc-erp-main input[placeholder="Search..."] {
  min-height: 44px;
}
