@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

:root {
  font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  line-height: 1.5;
  font-weight: 400;

  /* Admin theme colors */
  --kp-background: #ffffff;
  --kp-color: #1f2937;
  --kp-borderColor: #e5e7eb;
  --kp-shadow: rgba(0, 0, 0, 0.1);
  --kp-overlay: rgba(0, 0, 0, 0.5);
  --kp-gray3: #f3f4f6;

  color: var(--kp-color);
  background-color: var(--kp-background);

  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-tap-highlight-color: transparent;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  padding: 0;
  min-width: 320px;
  min-height: 100vh;
  height: 100%;
  overflow: auto;
}

#root {
  width: 100%;
  min-height: 100vh;
  height: auto;
  max-width: none;
  margin: 0;
  padding: 0;
  text-align: left;
  overflow: visible;
}

/* Ensure proper text sizing across the app */

html {
  font-size: 16px;
  height: 100%;
  overflow: auto;
}

/* Keep keyboard navigation visible across custom components */

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid #2563eb;
  outline-offset: 2px;
}

/* Shared refresh icon animation used by partner pages */

@keyframes kp-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.spin-animation {
  animation: kp-spin 0.9s linear infinite;
}

/* Button reset for consistent styling */

button {
  font-family: inherit;
  font-size: inherit;
}

/* Input reset */

input, textarea, select {
  font-family: inherit;
  font-size: inherit;
}

/* Placeholder styling */

input::placeholder,
textarea::placeholder {
  color: #9ca3af;
  opacity: 1;
}

/* mimic the native viewport full width/height + flex */
body, #root, #__next {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-width: calc(100vw - (100vw - 100%)); /* reserve space for scrollbar */
  margin: 0;
}

* {
  box-sizing: border-box;
}

a {
  color: inherit;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0;
}

li, select, input, button, [role="slider"], [role="listbox"] {
  outline: none;
}

.is_Fieldset {
  all: unset;
}

p, input, textarea, button, ul, ol, li, pre, dialog {
  all: unset;
  box-sizing: border-box;
}

a.is_Button, .is_Anchor:has(.is_Button) {
  text-decoration: none;
}