/* Prepivo Design System 1.0 - Light theme. Import once at app root. */
@font-face { font-family: Inter; src: url('../fonts/Inter-Regular.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: Inter; src: url('../fonts/Inter-SemiBold.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: Inter; src: url('../fonts/Inter-Bold.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }
:root {
  --prepivo-blue: #315BFF;
  --prepivo-blue-hover: #2449E0;
  --prepivo-blue-active: #1D3BC0;
  --prepivo-ink: #171A24;
  --prepivo-muted: #565D70;
  --prepivo-surface: #F5F6FA;
  --prepivo-divider: #DDE1EA;
  --prepivo-control-border: #747D90;
  --prepivo-white: #FFFFFF;
  --prepivo-lime: #DFFF7F;
  --prepivo-blue-tint: #EEF2FF;
  --prepivo-success: #13754A;
  --prepivo-success-tint: #EAF5EF;
  --prepivo-warning: #865000;
  --prepivo-warning-tint: #FFF4DD;
  --prepivo-error: #B42332;
  --prepivo-error-tint: #FFF0F2;
  --prepivo-disabled: #E3E6EE;
  --prepivo-font: Inter, Arial, sans-serif;
  --prepivo-radius-control: 8px;
  --prepivo-radius-panel: 12px;
  --prepivo-content-width: 40rem;
}
.prepivo { font-family: var(--prepivo-font); color: var(--prepivo-ink); background: var(--prepivo-white); font-size: 1.125rem; line-height: 1.5556; font-synthesis: none; }
.prepivo *, .prepivo *::before, .prepivo *::after { box-sizing: border-box; }
.prepivo h1 { font-size: 2.25rem; line-height: 1.1112; letter-spacing: -.035em; font-weight: 700; }
.prepivo h2 { font-size: 1.5rem; line-height: 1.25; letter-spacing: -.02em; font-weight: 600; }
.prepivo a { color: var(--prepivo-blue); text-underline-offset: .2em; }
.prepivo button, .prepivo input, .prepivo textarea, .prepivo select { font: inherit; }
.prepivo :focus-visible { outline: 3px solid var(--prepivo-blue); outline-offset: 3px; }
.prepivo .pv-button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 52px; padding: 12px 20px; border: 1px solid transparent; border-radius: var(--prepivo-radius-control); font-weight: 600; line-height: 1.3334; background: var(--prepivo-blue); color: white; cursor: pointer; text-align: center; white-space: normal; }
.prepivo .pv-button:hover { background: var(--prepivo-blue-hover); }
.prepivo .pv-button:active { background: var(--prepivo-blue-active); }
.prepivo .pv-button--secondary { color: var(--prepivo-ink); background: white; border-color: var(--prepivo-control-border); }
.prepivo .pv-button--secondary:hover { background: var(--prepivo-surface); }
.prepivo .pv-button--secondary:active { background: var(--prepivo-divider); }
.prepivo .pv-button:disabled { background: var(--prepivo-disabled); color: var(--prepivo-muted); border-color: transparent; cursor: default; }
.prepivo input:not([type=checkbox]):not([type=radio]), .prepivo textarea, .prepivo select { width: 100%; min-height: 52px; padding: 12px; color: var(--prepivo-ink); background: white; border: 1px solid var(--prepivo-control-border); border-radius: 8px; }
.prepivo input::placeholder, .prepivo textarea::placeholder { color: var(--prepivo-muted); opacity: 1; }
.prepivo [aria-invalid=true] { border-color: var(--prepivo-error) !important; }
.prepivo input[type=checkbox], .prepivo input[type=radio] { accent-color: var(--prepivo-blue); width: 22px; height: 22px; flex-shrink: 0; }
.prepivo .pv-check { display: flex; gap: 12px; align-items: center; min-height: 48px; }
.prepivo .pv-status { display: flex; align-items: start; gap: 8px; font-size: .875rem; line-height: 1.4286; }
.prepivo .pv-error { color: var(--prepivo-error); }
.prepivo .pv-flow { list-style: none; padding: 0; margin: 0; }
.prepivo .pv-flow li { border-bottom: 1px solid var(--prepivo-divider); padding: 20px 0; }
@media (prefers-reduced-motion: reduce) { .prepivo *, .prepivo *::before, .prepivo *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
