/* PayKaro theme layer - generated from index-CYrfvzAO.css by gen_theme.py. Loaded after the bundle; remove the <link> to roll back. */
.border-indigo-100{--tw-border-opacity:1;border-color:rgb(215 242 231/var(--tw-border-opacity,1))}
.border-indigo-500{--tw-border-opacity:1;border-color:rgb(31 148 116/var(--tw-border-opacity,1))}
.border-primary-100{--tw-border-opacity:1;border-color:rgb(215 242 231/var(--tw-border-opacity,1))}
.border-primary-200{--tw-border-opacity:1;border-color:rgb(176 228 208/var(--tw-border-opacity,1))}
.border-primary-700{--tw-border-opacity:1;border-color:rgb(11 89 71/var(--tw-border-opacity,1))}
.border-violet-700{--tw-border-opacity:1;border-color:rgb(11 89 71/var(--tw-border-opacity,1))}
.bg-indigo-50{--tw-bg-opacity:1;background-color:rgb(239 250 246/var(--tw-bg-opacity,1))}
.bg-primary-100{--tw-bg-opacity:1;background-color:rgb(215 242 231/var(--tw-bg-opacity,1))}
.bg-primary-50{--tw-bg-opacity:1;background-color:rgb(239 250 246/var(--tw-bg-opacity,1))}
.bg-primary-500{--tw-bg-opacity:1;background-color:rgb(31 148 116/var(--tw-bg-opacity,1))}
.bg-primary-600{--tw-bg-opacity:1;background-color:rgb(14 107 85/var(--tw-bg-opacity,1))}
.bg-primary-700{--tw-bg-opacity:1;background-color:rgb(11 89 71/var(--tw-bg-opacity,1))}
.bg-violet-100{--tw-bg-opacity:1;background-color:rgb(215 242 231/var(--tw-bg-opacity,1))}
.bg-violet-500{--tw-bg-opacity:1;background-color:rgb(31 148 116/var(--tw-bg-opacity,1))}
.bg-violet-600{--tw-bg-opacity:1;background-color:rgb(14 107 85/var(--tw-bg-opacity,1))}
.from-indigo-500{--tw-gradient-from:#1f9474 var(--tw-gradient-from-position);--tw-gradient-to:#1f947400 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}
.from-indigo-600{--tw-gradient-from:#0e6b55 var(--tw-gradient-from-position);--tw-gradient-to:#0e6b5500 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}
.from-primary-500{--tw-gradient-from:#1f9474 var(--tw-gradient-from-position);--tw-gradient-to:#1f947400 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}
.from-primary-600{--tw-gradient-from:#0e6b55 var(--tw-gradient-from-position);--tw-gradient-to:#0e6b5500 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}
.from-violet-500{--tw-gradient-from:#1f9474 var(--tw-gradient-from-position);--tw-gradient-to:#1f947400 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}
.from-violet-600{--tw-gradient-from:#0e6b55 var(--tw-gradient-from-position);--tw-gradient-to:#0e6b5500 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}
.via-violet-500{--tw-gradient-to:#1f947400 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #1f9474 var(--tw-gradient-via-position), var(--tw-gradient-to)}
.to-primary-700{--tw-gradient-to:#0b5947 var(--tw-gradient-to-position)}
.to-primary-800{--tw-gradient-to:#0a4a3b var(--tw-gradient-to-position)}
.to-purple-600{--tw-gradient-to:#0e6b55 var(--tw-gradient-to-position)}
.to-violet-600{--tw-gradient-to:#0e6b55 var(--tw-gradient-to-position)}
.to-violet-700{--tw-gradient-to:#0b5947 var(--tw-gradient-to-position)}
.to-violet-800{--tw-gradient-to:#0a4a3b var(--tw-gradient-to-position)}
.text-indigo-500{--tw-text-opacity:1;color:rgb(31 148 116/var(--tw-text-opacity,1))}
.text-indigo-700{--tw-text-opacity:1;color:rgb(11 89 71/var(--tw-text-opacity,1))}
.text-primary-600{--tw-text-opacity:1;color:rgb(14 107 85/var(--tw-text-opacity,1))}
.text-primary-700{--tw-text-opacity:1;color:rgb(11 89 71/var(--tw-text-opacity,1))}
.text-primary-800{--tw-text-opacity:1;color:rgb(10 74 59/var(--tw-text-opacity,1))}
.text-violet-300{--tw-text-opacity:1;color:rgb(125 207 179/var(--tw-text-opacity,1))}
.text-violet-600{--tw-text-opacity:1;color:rgb(14 107 85/var(--tw-text-opacity,1))}
.shadow-primary-500\/30{--tw-shadow-color:#1f94744d;--tw-shadow:var(--tw-shadow-colored)}
.ring-primary-100{--tw-ring-opacity:1;--tw-ring-color:rgb(215 242 231/var(--tw-ring-opacity,1))}
.gradient-brand{background:linear-gradient(135deg,#1f9474 0%,#1f9474 50%,#ec4899 100%)}
.text-gradient{background:linear-gradient(135deg,#1f9474,#ec4899);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}
.hover\:border-primary-300:hover{--tw-border-opacity:1;border-color:rgb(125 207 179/var(--tw-border-opacity,1))}
.hover\:border-primary-400:hover{--tw-border-opacity:1;border-color:rgb(69 177 143/var(--tw-border-opacity,1))}
.hover\:bg-primary-700:hover{--tw-bg-opacity:1;background-color:rgb(11 89 71/var(--tw-bg-opacity,1))}
.hover\:bg-violet-700:hover{--tw-bg-opacity:1;background-color:rgb(11 89 71/var(--tw-bg-opacity,1))}
.hover\:text-primary-600:hover{--tw-text-opacity:1;color:rgb(14 107 85/var(--tw-text-opacity,1))}
.focus\:border-primary-500:focus{--tw-border-opacity:1;border-color:rgb(31 148 116/var(--tw-border-opacity,1))}
.focus\:ring-primary-500\/40:focus{--tw-ring-color:#1f947466}
.focus-visible\:ring-primary-500\/50:focus-visible{--tw-ring-color:#1f947480}
.active\:bg-primary-800:active{--tw-bg-opacity:1;background-color:rgb(10 74 59/var(--tw-bg-opacity,1))}
.active\:bg-violet-800:active{--tw-bg-opacity:1;background-color:rgb(10 74 59/var(--tw-bg-opacity,1))}
.dark\:border-indigo-800\/40:is(.dark *),.dark\:border-primary-800\/40:is(.dark *){border-color:#0a4a3b66}
.dark\:bg-indigo-900\/10:is(.dark *){background-color:#083d311a}
.dark\:bg-indigo-900\/20:is(.dark *){background-color:#083d3133}
.dark\:bg-primary-500\/\[0\.12\]:is(.dark *){background-color:#1f94741f}
.dark\:bg-primary-900\/20:is(.dark *){background-color:#083d3133}
.dark\:bg-primary-900\/30:is(.dark *){background-color:#083d314d}
.dark\:bg-violet-900\/30:is(.dark *){background-color:#083d314d}
.dark\:text-indigo-400:is(.dark *){--tw-text-opacity:1;color:rgb(69 177 143/var(--tw-text-opacity,1))}
.dark\:text-indigo-500:is(.dark *){--tw-text-opacity:1;color:rgb(31 148 116/var(--tw-text-opacity,1))}
.dark\:text-primary-200:is(.dark *){--tw-text-opacity:1;color:rgb(176 228 208/var(--tw-text-opacity,1))}
.dark\:text-primary-300:is(.dark *){--tw-text-opacity:1;color:rgb(125 207 179/var(--tw-text-opacity,1))}
.dark\:text-primary-400:is(.dark *){--tw-text-opacity:1;color:rgb(69 177 143/var(--tw-text-opacity,1))}
.dark\:text-violet-400:is(.dark *){--tw-text-opacity:1;color:rgb(69 177 143/var(--tw-text-opacity,1))}
.dark\:ring-primary-800\/60:is(.dark *){--tw-ring-color:#0a4a3b99}
.dark\:ring-primary-900\/40:is(.dark *){--tw-ring-color:#083d3166}
.dark\:hover\:border-primary-700:hover:is(.dark *){--tw-border-opacity:1;border-color:rgb(11 89 71/var(--tw-border-opacity,1))}
.dark\:hover\:text-primary-400:hover:is(.dark *){--tw-text-opacity:1;color:rgb(69 177 143/var(--tw-text-opacity,1))}

/* ---- PayKaro polish layer: tokens + small, layout-neutral refinements ---- */

:root {
  --pk-brand: #0e6b55;
  --pk-brand-strong: #0b5947;
  --pk-brand-soft: #d7f2e7;
  --pk-ring: #0e6b5559;
  --radius: 14px;
  --color-bg: #f4f7f5;
  --color-surface: #ffffff;
  --color-surface-2: #f8faf9;
  --color-border: #e9eeeb;
  --color-border-md: #dce4df;
  --color-text-1: #0f1a16;
  --color-text-2: #2c3a34;
  --color-text-3: #55635c;
  --color-text-4: #86948d;
  --toast-shadow: 0 10px 30px -12px #0f1a1640, 0 2px 6px #0f1a1614;
  --scrollbar-thumb: #b7c6bf;
  --chart-grid: #0e6b5514;
}

.dark {
  --pk-brand-soft: #0e6b5533;
  --pk-ring: #45b18f66;
  --color-bg: #06100d;
  --color-surface: #0c1814;
  --color-surface-2: #ffffff06;
  --color-overlay: #0c1814;
  --color-border: #ffffff10;
  --color-border-md: #ffffff1a;
  --color-text-1: #eef5f2;
  --color-text-2: #d6e2dd;
  --color-text-3: #9db0a8;
  --color-text-4: #6f827a;
  --toast-bg: #12231e;
  --toast-border: #ffffff14;
  --scrollbar-thumb: #2c3f38;
  --chart-tooltip-bg: #0c1814;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  /* clip, not hidden: stops sideways scroll without breaking sticky headers */
  overflow-x: clip;
}

::selection { background: #0e6b5533; }

/* Softer, layered shadows (keep Tailwind's ring composition). */
.shadow-sm { --tw-shadow: 0 1px 2px #0f1a160d, 0 1px 1px #0f1a160a; }
.shadow { --tw-shadow: 0 1px 3px #0f1a1612, 0 1px 2px #0f1a160d; }
.shadow-md { --tw-shadow: 0 6px 16px -6px #0f1a161f, 0 2px 4px #0f1a160f; }
.shadow-lg { --tw-shadow: 0 14px 30px -12px #0f1a162e, 0 4px 8px #0f1a160f; }
.shadow-xl { --tw-shadow: 0 22px 44px -16px #0f1a1638, 0 6px 12px #0f1a1612; }
.dark .shadow-sm, .dark .shadow, .dark .shadow-md, .dark .shadow-lg, .dark .shadow-xl {
  --tw-shadow: 0 10px 30px -14px #000000b3, 0 1px 0 #ffffff08 inset;
}

/* One clear, brand-coloured keyboard focus everywhere. */
:where(a, button, input, select, textarea, [role="button"], [tabindex]):focus-visible {
  outline: 2px solid var(--pk-brand);
  outline-offset: 2px;
  border-radius: 10px;
}
:where(input, select, textarea):focus-visible { box-shadow: 0 0 0 4px var(--pk-ring); outline-offset: 0; }

/* Press feedback and a consistent disabled look while API calls run. */
:where(button, [role="button"]) { transition: transform .12s ease, background-color .15s ease, box-shadow .15s ease, opacity .15s ease; }
:where(button, [role="button"]):not(:disabled):active { transform: scale(.98); }
:where(button):disabled, :where(button)[aria-disabled="true"] { opacity: .55; cursor: not-allowed; transform: none; }

/* Inputs: comfortable height on touch screens, no iOS zoom on focus. */
@media (pointer: coarse) {
  :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) { font-size: max(16px, 1em); }
}

/* Money and ids line up in tables and lists. */
:where(table) { font-variant-numeric: tabular-nums; }

/* Scrollbars that match the theme. */
* { scrollbar-color: var(--scrollbar-thumb) transparent; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* Charts (recharts) set colours as SVG attributes from JS; recolour them here. */
[fill="#6366f1"], [fill="#4f46e5"], [fill="#4338ca"] { fill: #0e6b55; }
[fill="#8b5cf6"], [fill="#7c3aed"], [fill="#818cf8"] { fill: #1f9474; }
[stroke="#6366f1"], [stroke="#4f46e5"], [stroke="#4338ca"] { stroke: #0e6b55; }
[stroke="#8b5cf6"], [stroke="#7c3aed"], [stroke="#818cf8"] { stroke: #1f9474; }
[stop-color="#6366f1"], [stop-color="#4f46e5"] { stop-color: #0e6b55; }

/* Brand gradients: the bundle mixes indigo with pink; keep them in the green family. */
.gradient-brand { background: linear-gradient(135deg, #0e6b55 0%, #12846a 55%, #1fae86 100%); }
.text-gradient { background: linear-gradient(135deg, #0e6b55, #1fae86); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }

/* User panel: the login / auth hero paints its gradients with inline styles
   from JS. Inline styles serialise colours as rgb(), so match on those. */
[style*="linear-gradient(135deg, rgb(30, 27, 75) 0%, rgb(49, 46, 129) 30%"] {
  background: linear-gradient(135deg, #04241d 0%, #083d31 30%, #0b5947 60%, #0e6b55 80%, #12846a 100%) !important;
}
[style*="linear-gradient(135deg, rgb(30, 27, 75) 0%, rgb(67, 56, 202) 50%"] {
  background: linear-gradient(135deg, #04241d 0%, #0b5947 50%, #12846a 100%) !important;
}
[style*="radial-gradient(circle, rgb(129, 140, 248)"],
[style*="radial-gradient(circle, rgb(165, 180, 252)"] { background: radial-gradient(circle, #45b18f, transparent 70%) !important; }
[style*="radial-gradient(circle, rgb(167, 139, 250)"] { background: radial-gradient(circle, #7dcfb3, transparent 70%) !important; }
[style*="radial-gradient(circle, rgb(236, 72, 153)"] { background: radial-gradient(circle, #f2b84b, transparent 70%) !important; }
[style*="linear-gradient(90deg, rgb(165, 180, 252), rgb(240, 171, 252))"] {
  background: linear-gradient(90deg, #9fe3c9, #f6d58b) text !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
}
