@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700&family=Inter+Tight:wght@400;500;600;700;800&display=swap');

:root {
  --brand-green: #0a7a45;
  --brand-green-deep: #075932;
  --brand-green-tint: #e6f2ec;
  --brand-green-mint: #a8d9bd;
  --brand-green-ink: #053a20;
  --ink-1: #0e1714;
  --ink-2: #3a4541;
  --ink-3: #6b7570;
  --bg-page: #f7f4ee;
  --bg-sand: #ede7da;
  --bg-sand-soft: #f3efe5;
  --bg-plain: #ffffff;
  --line-1: #d7d2c5;
  --line-2: #e4e0d4;
  --err: #b3261e;
  --warn: #b46b00;
  --r-sm: 6px;
  --r-md: 10px;
  --r-lg: 16px;
  --r-pill: 999px;
  --shadow-2: 0 8px 24px rgba(14, 23, 20, 0.1);
  --shadow-3: 0 24px 80px rgba(14, 23, 20, 0.35);
  --sv-brand-green: var(--brand-green);
  --sv-brand-green-deep: var(--brand-green-deep);
  --sv-brand-green-dark: var(--brand-green-ink);
  --sv-brand-green-tint: var(--brand-green-tint);
  --sv-brand-green-mint: var(--brand-green-mint);
  --sv-accent-blue: #355c9a;
  --sv-accent-amber: #b7791f;
  --sv-bg-page: var(--bg-page);
  --sv-bg-sand: var(--bg-sand);
  --sv-bg-panel: var(--bg-plain);
  --sv-bg-muted: var(--bg-sand-soft);
  --sv-ink-1: var(--ink-1);
  --sv-ink-2: var(--ink-2);
  --sv-ink-3: var(--ink-3);
  --sv-ink-4: #87928b;
  --sv-line-1: var(--line-1);
  --sv-line-2: var(--line-2);
  --sv-danger: var(--err);
  --sv-danger-bg: #fff2f0;
  --sv-success: #087443;
  --sv-warning-bg: #fff7e6;
  --sv-shadow-sm: 0 1px 2px rgba(16, 35, 26, 0.08);
  --sv-shadow-md: var(--shadow-2);
  --sv-radius-sm: var(--r-sm);
  --sv-radius-md: var(--r-md);
  --sv-radius-lg: var(--r-lg);
  --sv-font-display: Fraunces, Georgia, serif;
  --sv-font-body:
    'Inter Tight', Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
  --safe-area-inset-top: env(safe-area-inset-top, 0px);
  --safe-area-inset-bottom: env(safe-area-inset-bottom, 0px);
  --safe-area-inset-left: env(safe-area-inset-left, 0px);
  --safe-area-inset-right: env(safe-area-inset-right, 0px);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  min-height: 100%;
  background: var(--sv-bg-page);
}

body {
  min-height: 100vh;
  margin: 0;
  color: var(--sv-ink-1);
  background: var(--sv-bg-page);
  font-family: var(--sv-font-body);
  font-size: 16px;
  line-height: 1.5;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
p,
ul,
ol,
figure {
  margin: 0;
}

button,
input,
select,
textarea {
  font: inherit;
}

button {
  letter-spacing: 0;
}

img,
svg {
  display: block;
  max-width: 100%;
}

a {
  color: var(--sv-brand-green);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

a:hover {
  color: var(--sv-brand-green-deep);
}

.sv-page-band {
  background: var(--sv-bg-page);
  color: var(--sv-ink-1);
}

.sv-panel {
  border: 1px solid var(--sv-line-1);
  border-radius: var(--sv-radius-md);
  background: var(--sv-bg-panel);
  box-shadow: var(--sv-shadow-sm);
}

.sv-muted {
  color: var(--sv-ink-3);
}

.sv-form-field,
.field,
.form-group {
  min-width: 0;
}

.sv-form-field label,
.field label,
.form-group label {
  color: var(--sv-ink-2);
  font-weight: 800;
  letter-spacing: 0;
}

.sv-form-field input,
.sv-form-field select,
.sv-form-field textarea,
.field input,
.field select,
.field textarea,
.form-group input,
.form-group select,
.form-group textarea {
  border: 1px solid var(--sv-line-2);
  border-radius: var(--sv-radius-sm);
  background: #fff;
  color: var(--sv-ink-1);
}

.sv-form-field input:focus,
.sv-form-field select:focus,
.sv-form-field textarea:focus,
.field input:focus,
.field select:focus,
.field textarea:focus,
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color: var(--sv-brand-green);
  box-shadow: 0 0 0 3px rgba(10, 122, 69, 0.14);
  outline: none;
}

.button-primary,
.primary,
.primary-action,
.mutation-button,
.back-to-calc {
  border-radius: var(--sv-radius-sm);
  letter-spacing: 0;
}

.state,
.loading-placeholder,
.no-results,
.error-text {
  border-radius: var(--sv-radius-sm);
}

.card,
.dashboard-section,
.application-card,
.policy-card,
.tile,
.block,
.subblock,
.coverage,
.object {
  border-radius: var(--sv-radius-md);
}

.global-loading-overlay {
  background: rgba(245, 241, 232, 0.86);
  color: var(--sv-ink-2);
}

.global-loading-overlay .spinner,
.spinner {
  border-top-color: var(--sv-brand-green);
}

@media (max-width: 640px) {
  .sv-panel {
    box-shadow: none;
  }
}

#app {
  width: 100%;
  min-height: 100dvh;
  margin: 0;
  padding: 0;
  font-weight: 400;
}

.sv-shell {
  color: var(--sv-ink-1);
  background: var(--sv-bg-page);
}

.sv-container {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
}

.sv-card {
  background: var(--sv-bg-panel);
  border: 1px solid var(--sv-line-1);
  border-radius: var(--sv-radius-md);
  box-shadow: var(--sv-shadow-sm);
}

.sv-kicker {
  color: var(--sv-brand-green);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.sv-display {
  color: var(--sv-ink-1);
  font-family: var(--sv-font-display);
  font-weight: 700;
  line-height: 0.98;
  letter-spacing: 0;
}

.sv-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 10px 16px;
  border: 1px solid transparent;
  border-radius: var(--sv-radius-sm);
  cursor: pointer;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  transition:
    background 0.16s ease,
    border-color 0.16s ease,
    color 0.16s ease,
    transform 0.16s ease,
    box-shadow 0.16s ease;
}

.sv-btn:hover:not(:disabled) {
  transform: translateY(-1px);
}

.sv-btn:disabled {
  cursor: not-allowed;
  opacity: 0.62;
}

.sv-btn--primary {
  background: var(--sv-brand-green);
  color: #ffffff;
  box-shadow: 0 10px 24px rgba(10, 122, 69, 0.18);
}

.sv-btn--primary:hover:not(:disabled) {
  background: var(--sv-brand-green-deep);
  color: #ffffff;
}

.sv-btn--secondary {
  background: var(--sv-bg-panel);
  color: var(--sv-ink-1);
  border-color: var(--sv-line-2);
}

.sv-btn--secondary:hover:not(:disabled) {
  border-color: var(--sv-brand-green-mint);
  color: var(--sv-brand-green-deep);
}

.sv-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  padding: 5px 10px;
  border: 1px solid var(--sv-line-1);
  border-radius: 999px;
  background: var(--sv-bg-sand);
  color: var(--sv-ink-2);
  font-size: 0.84rem;
  font-weight: 800;
}

.sv-chip--green {
  border-color: var(--sv-brand-green-mint);
  background: var(--sv-brand-green-tint);
  color: var(--sv-brand-green-deep);
}

.sv-icon-box {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid var(--sv-brand-green-mint);
  border-radius: var(--sv-radius-sm);
  background: var(--sv-brand-green-tint);
  color: var(--sv-brand-green-deep);
}

.safe-area-top {
  padding-top: var(--safe-area-inset-top);
}

.safe-area-bottom {
  padding-bottom: var(--safe-area-inset-bottom);
}

.safe-area-all {
  padding-top: var(--safe-area-inset-top);
  padding-bottom: var(--safe-area-inset-bottom);
  padding-left: var(--safe-area-inset-left);
  padding-right: var(--safe-area-inset-right);
}

.fixed-top {
  top: var(--safe-area-inset-top);
}

.fixed-bottom {
  bottom: var(--safe-area-inset-bottom);
}

body.keyboard-visible .fixed-bottom,
body.keyboard-visible .bottom-nav,
body.keyboard-visible .compare-floating-container {
  transform: translateY(100%);
  opacity: 0;
  pointer-events: none;
}

.fixed-bottom,
.bottom-nav,
.compare-floating-container {
  transition:
    transform 0.25s ease,
    opacity 0.25s ease;
}

html.native-app,
html.native-app body {
  overscroll-behavior: none;
  -webkit-overflow-scrolling: touch;
}

html.native-app button,
html.native-app a,
html.native-app [role='button'] {
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}

html.native-app button,
html.native-app a,
html.native-app input,
html.native-app [role='button'] {
  touch-action: manipulation;
}

html.native-app body {
  overscroll-behavior-y: contain;
}

html.native-app::before {
  content: '';
  position: fixed;
  inset: 0 0 auto;
  height: var(--safe-area-inset-top);
  background-color: var(--sv-brand-green-deep);
  z-index: 9999;
}

html:not(.native-app)::before {
  display: none;
}

@media (max-width: 768px) {
  .sv-container {
    width: min(100% - 20px, 1180px);
  }
}

/* Base styles for the component */
.form-input-wrapper[data-v-ea52800c] {
  margin-bottom: 18px;
  position: relative;
}

/* Label styles */
.form-label[data-v-ea52800c] {
  display: block;
  margin-bottom: 6px;
  font-weight: 500;
  font-size: 0.9rem;
  color: #212529;
}

/* Input and select styles */
.form-input[data-v-ea52800c],
.form-select[data-v-ea52800c] {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #ced4da;
  border-radius: 4px;
  font-size: 1rem;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
  background-color: #ffffff;
  color: #212529;
}
.form-input[data-v-ea52800c]:focus,
.form-select[data-v-ea52800c]:focus {
  outline: none;
  border-color: #03854c;
  box-shadow: 0 0 0 3px rgba(3, 133, 76, 0.15);
}

/* Date input specific styles */
.form-input[type='date'][data-v-ea52800c] {
  appearance: none;
  padding-right: 30px; /* Space for potential icon */
}

/* Disabled state */
.form-input[data-v-ea52800c]:disabled,
.form-select[data-v-ea52800c]:disabled {
  background-color: #e9ecef;
  border-color: #dee2e6;
  cursor: not-allowed;
  opacity: 0.7;
}

/* Checkbox container */
.checkbox-container[data-v-ea52800c] {
  display: flex;
  align-items: center;
  margin-top: 10px; /* Align with other inputs */
}

/* Hide default checkbox */
.form-checkbox[data-v-ea52800c] {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

/* Custom toggle switch styles */
.toggle-switch[data-v-ea52800c] {
  position: relative;
  display: inline-block;
  width: 44px; /* Width of the switch */
  height: 24px; /* Height of the switch */
  cursor: pointer;
}
.toggle-slider[data-v-ea52800c] {
  position: absolute;
  inset: 0;
  background-color: #ccc; /* Grey background when off */
  border-radius: 34px; /* Rounded shape */
  transition: background-color 0.3s ease;
}
.toggle-slider[data-v-ea52800c]::before {
  position: absolute;
  content: '';
  height: 18px; /* Height of the knob */
  width: 18px; /* Width of the knob */
  left: 3px; /* Position from left when off */
  bottom: 3px; /* Position from bottom */
  background-color: #ffffff; /* White knob */
  border-radius: 50%;
  transition: transform 0.3s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

/* Toggle active state */
.form-checkbox:checked + .toggle-switch .toggle-slider[data-v-ea52800c] {
  background-color: #03854c; /* Primary color when on */
}
.form-checkbox:checked + .toggle-switch .toggle-slider[data-v-ea52800c]::before {
  transform: translateX(20px); /* Move knob to the right */
}

/* Focus state for accessibility */
.form-checkbox:focus-visible + .toggle-switch .toggle-slider[data-v-ea52800c] {
  box-shadow:
    0 0 0 2px #f8f9fa,
    0 0 0 4px rgba(3, 133, 76, 0.15); /* Outline on focus */
}

/* Label for checkbox */
.checkbox-label[data-v-ea52800c] {
  margin-left: 12px;
  font-size: 1rem;
  cursor: pointer;
  user-select: none; /* Prevent text selection on click */
  color: #212529;
}

/* Info text styling */
.info-text[data-v-ea52800c] {
  font-size: 0.85rem;
  color: #6c757d;
  margin-top: 4px;
}
.info-link[data-v-ea52800c] {
  display: inline-block;
  margin-top: 6px;
  color: #006b3c;
  font-size: 0.9rem;
  text-decoration: underline;
}

/* Error message styling */
.error-message[data-v-ea52800c] {
  color: #721c24; /* Use theme variable */
  font-size: 0.8rem;
  margin-top: 4px;
}
.form-group[data-v-ea52800c] {
  margin-bottom: 0;
  transition: all 0.3s ease;
  overflow: visible;
  padding: 0;
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* Style for address group to span full width in a grid */
.form-group-address[data-v-ea52800c] {
  grid-column: 1 / -1;
}

/* Indented styling for dependent fields */
.form-group-dependent[data-v-ea52800c] {
  margin-left: 20px;
  padding-left: 15px;
  border-left: 3px solid #dee2e6; /* Use variable */
  margin-top: 5px;
  padding-top: 10px;
  padding-bottom: 5px;
}

/* Wrapper for checkbox toggle to manage layout */
.form-group-checkbox-wrapper[data-v-ea52800c] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  /* background-color: #f8f9fa; */ /* Optional background */
  padding: 8px 0; /* Adjust padding */
  /* border-radius: 6px; */
  /* border: 1px solid #dee2e6; */
  gap: 10px;
}
.toggle-choice[data-v-ea52800c] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.toggle-choice__option[data-v-ea52800c] {
  appearance: none;
  border: 1px solid #d1d5db;
  background: #ffffff;
  color: #6b7280;
  font-weight: 600;
  font-size: 0.85rem;
  line-height: 1;
  padding: 7px 10px;
  min-height: 38px;
  border-radius: 10px;
  cursor: pointer;
  transition:
    background-color 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease,
    box-shadow 0.15s ease;
}
.toggle-choice__option.active[data-v-ea52800c] {
  color: #124d35;
  border-color: rgba(3, 133, 76, 0.45);
  background: rgba(3, 133, 76, 0.08);
  box-shadow: 0 0 0 3px rgba(3, 133, 76, 0.08);
}
.toggle-choice__option.inactive[data-v-ea52800c] {
  color: #9ca3af;
  border-color: #e5e7eb;
  background: #f9fafb;
}
.toggle-choice__option[data-v-ea52800c]:disabled {
  cursor: not-allowed;
  opacity: 0.6;
  box-shadow: none;
}

/* Basic Label */
label[data-v-ea52800c] {
  display: block;
  margin-bottom: 8px;
  font-weight: 500;
  color: #212529;
  font-size: 0.95rem;
  line-height: 1.4;
}

/* Input / Select base styles */
input[type='text'][data-v-ea52800c],
input[type='number'][data-v-ea52800c],
input[type='date'][data-v-ea52800c],
select[data-v-ea52800c] {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--color-border-medium, #ced4da);
  border-radius: 6px;
  box-sizing: border-box;
  font-size: 1rem;
  background-color: var(--color-background-input, #fff);
  transition: all 0.2s ease;
}
input[type='text'][data-v-ea52800c]:hover,
input[type='number'][data-v-ea52800c]:hover,
input[type='date'][data-v-ea52800c]:hover,
select[data-v-ea52800c]:hover {
  border-color: var(--color-border-hover, #adb5bd);
}
input[type='text'][data-v-ea52800c]:focus,
input[type='number'][data-v-ea52800c]:focus,
input[type='date'][data-v-ea52800c]:focus,
select[data-v-ea52800c]:focus {
  outline: none;
  border-color: var(--color-primary, #0066cc);
  box-shadow: 0 0 0 3px var(--color-primary-shadow, rgba(0, 102, 204, 0.1));
}
input[data-v-ea52800c]:disabled,
select[data-v-ea52800c]:disabled {
  background-color: #e9ecef;
  cursor: not-allowed;
  opacity: 0.7;
}
.required[data-v-ea52800c] {
  color: #dc3545; /* Bootstrap danger color */
  margin-left: 2px;
}

/* Standard Checkbox Removed */

/* --- Fancy Toggle Switch CSS --- */
.toggle-switch-label[data-v-ea52800c] {
  font-weight: 500; /* Match other labels */
  margin-bottom: 0;
  cursor: pointer;
  padding-right: 10px; /* Space between label and switch */
  flex-grow: 1; /* Allow label to take space */
  font-size: 0.9rem; /* Match other labels */
}
.toggle-switch[data-v-ea52800c] {
  position: relative;
  display: inline-block;
  width: 52px;
  height: 28px;
  min-height: 44px; /* Touch-friendly tap target */
  flex-shrink: 0;
  /* Expand touch area without changing visual size */
  padding: 8px 0;
  box-sizing: content-box;
}
.toggle-switch input[data-v-ea52800c] {
  opacity: 0;
  width: 0;
  height: 0;
}
.slider[data-v-ea52800c] {
  position: absolute;
  cursor: pointer;
  top: 8px; /* Account for padding */
  left: 0;
  width: 52px;
  height: 28px;
  background-color: #adb5bd; /* Grey when off */
  transition: 0.4s;
}
.slider[data-v-ea52800c]:before {
  position: absolute;
  content: '';
  height: 22px;
  width: 22px;
  left: 3px;
  bottom: 3px;
  background-color: white;
  transition: 0.4s;
}
input:checked + .slider[data-v-ea52800c] {
  background-color: #0d6efd; /* Bootstrap primary blue */
}
input:focus + .slider[data-v-ea52800c] {
  box-shadow: 0 0 1px #0d6efd;
}
input:checked + .slider[data-v-ea52800c]:before {
  transform: translateX(24px);
}

/* Rounded sliders */
.slider.round[data-v-ea52800c] {
  border-radius: 22px;
}
.slider.round[data-v-ea52800c]:before {
  border-radius: 50%;
}

/* Disabled state for toggle */
input:disabled + .slider[data-v-ea52800c] {
  background-color: #e9ecef;
  cursor: not-allowed;
  opacity: 0.6;
}
input:disabled + .slider[data-v-ea52800c]:before {
  background-color: #f8f9fa;
}

/* --- Slider Input --- */
.form-slider[data-v-ea52800c] {
  width: 100%;
  height: 8px;
  cursor: pointer;
  accent-color: #0d6efd; /* Style the track/thumb */
  background: #dee2e6; /* Track background */
  border-radius: 4px;
  outline: none;
  opacity: 0.9;
  transition: opacity 0.2s;
  margin-top: 8px;
}
.form-slider[data-v-ea52800c]:hover {
  opacity: 1;
}
.form-slider[data-v-ea52800c]::-webkit-slider-thumb {
  appearance: none;
  width: 18px;
  height: 18px;
  background: #0d6efd;
  border-radius: 50%;
  cursor: pointer;
}
.form-slider[data-v-ea52800c]::-moz-range-thumb {
  width: 18px;
  height: 18px;
  background: #0d6efd;
  border-radius: 50%;
  cursor: pointer;
  border: none; /* Override default */
}

/* Styles for date input when displayed as text */
.form-input.date-as-text[data-v-ea52800c] {
  cursor: pointer;
  background-color: #ffffff; /* Or specific style */
}
.form-input.date-as-text[data-v-ea52800c]:disabled {
  cursor: not-allowed;
  background-color: #e9ecef;
  opacity: 0.7;
}

/* Add styles for required indicator if needed */
.required[data-v-ea52800c] {
  color: #dc3545; /* Or your theme's required color */
  margin-left: 2px;
}

/* Ensure date input styles are applied correctly */
input[type='date'][data-v-ea52800c],
input[type='text'].date-as-text[data-v-ea52800c] {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #ced4da;
  border-radius: 4px;
  font-size: 1rem;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
  background-color: #ffffff;
  color: #212529;
  box-sizing: border-box; /* Ensure padding/border are included in width */
}
input[type='date'][data-v-ea52800c]:focus,
input[type='text'].date-as-text[data-v-ea52800c]:focus {
  outline: none;
  border-color: #03854c;
  box-shadow: 0 0 0 3px rgba(3, 133, 76, 0.15);
}

/* Optional: Style the input itself when there's an error */
input[aria-invalid="true"][data-v-ea52800c],
select[aria-invalid="true"][data-v-ea52800c],
.toggle-switch input[aria-invalid="true"] + .slider[data-v-ea52800c] /* Style toggle on error */ {
  border-color: #f5c6cb; /* Use theme variable */
}

/* Remove focus override for date-as-text when error */
input[type='text'].date-as-text[aria-invalid='true'][data-v-ea52800c]:focus {
  /* Inherit error border color */
  border-color: #dc3545;
  box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.15);
}
input:not(.date-as-text)[aria-invalid='true'][data-v-ea52800c]:focus,
select[aria-invalid='true'][data-v-ea52800c]:focus {
  border-color: #dc3545; /* Use theme variable */
  box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.15); /* Use theme variable */
}

/* Style the whole group if needed */
.form-group.has-error label[data-v-ea52800c]:not(.toggle-switch-label):not(.toggle-switch) {
  /* Avoid styling toggle label */
  /* color: #dc3545; */ /* Optional: make label red too */
}

/* Adjust checkbox error styling */
.toggle-switch input[aria-invalid='true']:focus-visible + .slider[data-v-ea52800c] {
  box-shadow:
    0 0 0 2px #f8f9fa,
    0 0 0 4px rgba(220, 53, 69, 0.15); /* Red focus outline */
}

/* Label with info icon support */
.form-label-with-info[data-v-ea52800c] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* Ensure the info icon in the label slot is properly styled */
.form-label-with-info[data-v-ea52800c] .field-info-icon {
  display: inline-flex;
  vertical-align: middle;
}

/* Mobile padding optimization */
@media (max-width: 768px) {
.form-group-checkbox-wrapper[data-v-ea52800c] {
    padding: 0;
}

  /* Reduce dependent field indent on mobile */
.form-group-dependent[data-v-ea52800c] {
    margin-left: 12px;
    padding-left: 10px;
    border-left-width: 2px;
}

  /* Ensure minimum tap target height for inputs */
input[type='text'][data-v-ea52800c],
  input[type='number'][data-v-ea52800c],
  input[type='date'][data-v-ea52800c],
  select[data-v-ea52800c] {
    min-height: 44px;
}
}
@media (max-width: 480px) {
  /* Further reduce indent on very small screens */
.form-group-dependent[data-v-ea52800c] {
    margin-left: 8px;
    padding-left: 8px;
}
}

.license-plate-input-wrapper[data-v-bc9508fc] {
  display: flex;
  flex-direction: column;
  gap: 8px; /* Reintroduce a slightly larger gap for the label */
  width: auto;
  align-items: flex-start;
}

/* Add style for the label */
label[data-v-bc9508fc] {
  margin-bottom: 0; /* Reset default */
  font-weight: 500;
  color: #212529;
}

/* Apply user-provided styles */
.kenteken-edit[data-v-bc9508fc] {
  position: relative;
  width: 133px;
  height: 30px;
  /* Assumes kenteken.png is in the public directory */
  background: url('/kenteken.png') no-repeat center center;
  background-size: contain;
  text-align: center;
  /* padding-left: 16px; This might interfere with input positioning */
  vertical-align: middle;
}
.kenteken-edit input[data-v-bc9508fc] {
  display: block;
  position: absolute;
  left: 16px; /* Adjusted based on example */
  top: 0;
  right: 0;
  bottom: 0;
  line-height: 30px;
  font-size: 16px;
  /* Ensure the kenteken font is loaded via @font-face */
  font-family: 'kenteken', 'Consolas', 'Monaco', 'Courier New', monospace;
  text-transform: uppercase;
  background: none;
  border: none;
  width: 117px; /* Adjusted based on example */
  padding: 0; /* Remove default padding */
  margin: 0; /* Remove default margin */
  outline: none; /* Remove focus outline */
  color: #003c8a; /* Example blue color for text, adjust as needed */
  text-align: center; /* Center text within the input */
}

/* Keep existing styles for hint, loading, error, details */
.validation-hint[data-v-bc9508fc] {
  font-size: 0.8rem;
  color: #856404;
}
.loading-indicator[data-v-bc9508fc],
.error-message[data-v-bc9508fc] {
  display: flex;
  align-items: center;
  padding: 6px 10px;
  border-radius: 4px;
  margin-top: 4px;
  font-size: 0.85rem;
  max-width: 250px; /* Limit width */
}
.loading-indicator[data-v-bc9508fc] {
  background-color: #f2f2f2;
  color: #6c757d;
}
.error-message[data-v-bc9508fc] {
  background-color: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
}
.spinner[data-v-bc9508fc] {
  border: 2px solid rgba(0, 0, 0, 0.1);
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border-left-color: #03854c;
  margin-right: 8px;
  animation: spin-bc9508fc 1s linear infinite;
}
@keyframes spin-bc9508fc {
to {
    transform: rotate(360deg);
}
}
.vehicle-details-integrated[data-v-bc9508fc] {
  margin-top: 8px;
  padding: 8px 12px;
  border-radius: 4px;
  background-color: #f8f8f8;
  border: 1px solid #dee2e6;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  font-size: 0.85rem;
  line-height: 1.4;
  max-width: 250px; /* Limit width */
}
.detail-item[data-v-bc9508fc] {
}
.detail-label[data-v-bc9508fc] {
  color: #6c757d;
  margin-right: 4px;
}
.detail-value[data-v-bc9508fc] {
  color: #212529;
  font-weight: 500;
}
.fade-enter-active[data-v-bc9508fc],
.fade-leave-active[data-v-bc9508fc] {
  transition: opacity 0.3s ease;
}
.fade-enter-from[data-v-bc9508fc],
.fade-leave-to[data-v-bc9508fc] {
  opacity: 0;
}

/* Label with info icon support */
.form-label-with-info[data-v-bc9508fc] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* Ensure the info icon in the label slot is properly styled */
.form-label-with-info[data-v-bc9508fc] .field-info-icon {
  display: inline-flex;
  vertical-align: middle;
}

.address-group[data-v-461dd103] {
  margin-bottom: 0;
  width: 100%;
}
.address-group > label[data-v-461dd103] {
  display: block;
  margin-bottom: 12px;
  font-weight: 500;
  color: #212529;
  font-size: 0.95rem;
  line-height: 1.4;
}
.address-inputs-row[data-v-461dd103] {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  margin-bottom: 12px;
  justify-content: flex-start;
}
.address-input-field[data-v-461dd103] {
  display: flex;
  flex-direction: column;
}
.address-input-field .sub-label[data-v-461dd103] {
  font-size: 0.8rem;
  color: #6c757d;
  margin-bottom: 3px;
  font-weight: normal;
}
.address-input-field input[type='text'][data-v-461dd103] {
  padding: 12px 14px;
  border: 1px solid #ced4da;
  border-radius: 6px;
  font-size: 1rem;
  box-sizing: border-box;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
  background-color: #ffffff;
  color: #212529;
}
.address-input-field input[type='text'][data-v-461dd103]:focus {
  outline: none;
  border-color: #03854c;
  box-shadow: 0 0 0 3px rgba(3, 133, 76, 0.15);
}
.address-input-field input[type='text'][data-v-461dd103]:disabled {
  background-color: #e9ecef;
  cursor: not-allowed;
  opacity: 0.7;
}
.postcode-field input[data-v-461dd103] {
  width: 140px;
}
.huisnummer-field input[data-v-461dd103] {
  width: 100px;
}
.toevoeging-field input[data-v-461dd103] {
  width: 90px;
}

/* ADDED: Styles for full-width inputs */
.address-inputs-row.full-width .address-input-field[data-v-461dd103] {
  flex-grow: 1; /* Allow fields to grow */
  /* Optionally set a basis or min-width if needed, e.g., flex-basis: 0; */
}
.address-inputs-row.full-width .address-input-field input[type='text'][data-v-461dd103] {
  width: 100%; /* Make input take full width of its parent field container */
}
/* END ADDED */

/* Styling for the status/result row */
.address-status-row[data-v-461dd103] {
  width: 100%; /* Make this row take full available width */
  min-height: 22px; /* Ensure it has some height even if empty to prevent jumpiness */
  /* margin-top: 8px; /* Moved margin-bottom to address-inputs-row */
}
.loading-indicator[data-v-461dd103],
.error-message[data-v-461dd103],
.fetched-address-details[data-v-461dd103] {
  width: 100%; /* Make these blocks take full width of their parent */
  box-sizing: border-box; /* Include padding and border in the element's total width and height */
  padding: 8px 12px;
  border-radius: 4px;
  font-size: 0.9rem;
  margin-top: 0; /* Reset margin-top as they are now stacked */
}
.loading-indicator[data-v-461dd103] {
  display: flex;
  align-items: center;
  color: #6c757d;
  background-color: transparent; /* Make loading indicator less intrusive */
  padding-left: 0; /* Align with other text if no border */
  padding-right: 0;
}
.spinner[data-v-461dd103] {
  border: 2px solid rgba(0, 0, 0, 0.1);
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border-left-color: #03854c;
  margin-right: 8px;
  animation: spin-461dd103 0.8s linear infinite;
}
@keyframes spin-461dd103 {
to {
    transform: rotate(360deg);
}
}
.error-message[data-v-461dd103] {
  color: #721c24;
  background-color: #f8d7da;
  border: 1px solid #f5c6cb;
}
.address-input-field input[aria-invalid='true'][data-v-461dd103] {
  border-color: #f5c6cb !important;
}
.address-input-field input[aria-invalid='true'][data-v-461dd103]:focus {
  box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.15) !important;
}
.fetched-address-details[data-v-461dd103] {
  background-color: #e7f3ff;
  border: 1px solid #b3d9ff;
  border-left: 3px solid #0066cc;
}
.fetched-address-details p[data-v-461dd103] {
  margin: 0;
  color: #212529; /* Adjusted for better readability on info background */
}
.fetched-address-details .street[data-v-461dd103] {
  font-weight: 500;
}
.fetched-address-details .city[data-v-461dd103] {
  color: #495057;
}
.required[data-v-461dd103] {
  color: #dc3545;
  margin-left: 2px;
}

/* Mobile padding optimization */
@media (max-width: 768px) {
.address-input-field input[type='text'][data-v-461dd103] {
    padding: 8px 10px;
}
}

.field-info-icon[data-v-ae0ba753] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  margin-left: 6px;
  color: #198754; /* Green stroke to match brand */
  cursor: pointer;
  transition: all 0.2s ease;
  border-radius: 50%;
  user-select: none;
  vertical-align: middle;
  background-color: #ffffff !important; /* Force white background against generic button styles */
  border: none;
  appearance: none;
  -webkit-appearance: none;
  padding: 0;
}
.field-info-icon[data-v-ae0ba753]:hover {
  color: #157347; /* Darker green on hover */
  background-color: #ffffff; /* Keep white background */
}

/* Focus styles removed since tabindex=-1 */
.field-info-icon[data-v-ae0ba753]:active {
  transform: scale(0.95);
}

/* Ensure icon is visible in dark mode */
@media (prefers-color-scheme: dark) {
.field-info-icon[data-v-ae0ba753] {
    color: #20c997; /* Green variant in dark mode */
    background: #ffffff; /* Keep white background */
}
.field-info-icon[data-v-ae0ba753]:hover {
    color: #6edabe;
    background-color: #ffffff;
}
}

/* Mobile touch target optimization */
@media (max-width: 768px) {
.field-info-icon[data-v-ae0ba753] {
    width: 22px;
    height: 22px;
    margin-left: 8px;
}
.field-info-icon svg[data-v-ae0ba753] {
    width: 16px;
    height: 16px;
}
}

/* Backdrop */
.modal-backdrop[data-v-7cbb72a5] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  backdrop-filter: blur(4px);
}

/* Container */
.modal-container[data-v-7cbb72a5] {
  width: 100%;
  max-width: 600px;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
}

/* Content */
.modal-content[data-v-7cbb72a5] {
  background-color: white;
  border-radius: 12px;
  box-shadow:
    0 20px 25px -5px rgba(0, 0, 0, 0.1),
    0 10px 10px -5px rgba(0, 0, 0, 0.04);
  display: flex;
  flex-direction: column;
  max-height: inherit;
  overflow: hidden;
}

/* Header */
.modal-header[data-v-7cbb72a5] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid #e5e7eb;
  flex-shrink: 0;
}
.modal-title[data-v-7cbb72a5] {
  font-size: 1.25rem;
  font-weight: 600;
  color: #111827;
  margin: 0;
  padding-right: 12px;
}
.close-button[data-v-7cbb72a5] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: none;
  background-color: transparent;
  cursor: pointer;
  border-radius: 8px;
  color: #6b7280;
  transition: all 0.2s;
  flex-shrink: 0;
}
.close-button[data-v-7cbb72a5]:hover {
  background-color: #f3f4f6;
  color: #374151;
}
.close-button[data-v-7cbb72a5]:focus {
  outline: none;
  box-shadow: 0 0 0 2px #3b82f6;
}

/* Body */
.modal-body[data-v-7cbb72a5] {
  padding: 24px;
  overflow-y: auto;
  flex: 1;
  -webkit-overflow-scrolling: touch;
}

/* Loading & Error states */
.loading-state[data-v-7cbb72a5],
.error-state[data-v-7cbb72a5] {
  text-align: center;
  padding: 40px 0;
}
.spinner[data-v-7cbb72a5] {
  width: 40px;
  height: 40px;
  border: 3px solid #e5e7eb;
  border-top-color: #3b82f6;
  border-radius: 50%;
  margin: 0 auto 16px;
  animation: spin-7cbb72a5 0.8s linear infinite;
}
@keyframes spin-7cbb72a5 {
to {
    transform: rotate(360deg);
}
}
.error-state p[data-v-7cbb72a5] {
  color: #ef4444;
  font-weight: 500;
}

/* Info content */
.info-content[data-v-7cbb72a5] {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.info-section[data-v-7cbb72a5] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.section-title[data-v-7cbb72a5] {
  font-size: 0.875rem;
  font-weight: 600;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 0;
}
.section-content[data-v-7cbb72a5] {
  font-size: 1rem;
  line-height: 1.6;
  color: #374151;
  margin: 0;
}
.section-content.tips[data-v-7cbb72a5] {
  background-color: #eff6ff;
  padding: 12px 16px;
  border-radius: 8px;
  border-left: 4px solid #3b82f6;
  font-style: italic;
}

/* Footer */
.modal-footer[data-v-7cbb72a5] {
  padding: 16px 24px;
  border-top: 1px solid #e5e7eb;
  flex-shrink: 0;
}
.close-button-footer[data-v-7cbb72a5] {
  width: 100%;
  padding: 12px 24px;
  background-color: #3b82f6;
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s;
}
.close-button-footer[data-v-7cbb72a5]:hover {
  background-color: #2563eb;
}
.close-button-footer[data-v-7cbb72a5]:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.5);
}

/* Mobile styles */
@media (max-width: 640px) {
.modal-backdrop[data-v-7cbb72a5] {
    padding: 0;
    align-items: flex-end;
}
.modal-container[data-v-7cbb72a5] {
    max-width: 100%;
    max-height: 85vh;
}
.modal-content[data-v-7cbb72a5] {
    border-radius: 24px 24px 0 0;
}
.modal-header[data-v-7cbb72a5] {
    padding: 16px 20px;
}
.modal-title[data-v-7cbb72a5] {
    font-size: 1.125rem;
}
.modal-body[data-v-7cbb72a5] {
    padding: 20px;
}
.info-content[data-v-7cbb72a5] {
    gap: 20px;
}
.section-title[data-v-7cbb72a5] {
    font-size: 0.8125rem;
}
.section-content[data-v-7cbb72a5] {
    font-size: 0.9375rem;
}
}

/* Hide mobile-only elements on desktop */
@media (min-width: 641px) {
.mobile-only[data-v-7cbb72a5] {
    display: none;
}
}

/* Dark mode support */
@media (prefers-color-scheme: dark) {
.modal-content[data-v-7cbb72a5] {
    background-color: #1f2937;
}
.modal-header[data-v-7cbb72a5] {
    border-bottom-color: #374151;
}
.modal-title[data-v-7cbb72a5] {
    color: #f9fafb;
}
.close-button[data-v-7cbb72a5] {
    color: #9ca3af;
}
.close-button[data-v-7cbb72a5]:hover {
    background-color: #374151;
    color: #e5e7eb;
}
.section-title[data-v-7cbb72a5] {
    color: #9ca3af;
}
.section-content[data-v-7cbb72a5] {
    color: #e5e7eb;
}
.section-content.tips[data-v-7cbb72a5] {
    background-color: #1e3a5f;
    border-left-color: #60a5fa;
}
.modal-footer[data-v-7cbb72a5] {
    border-top-color: #374151;
}
}

/* Transition animations */
.modal-enter-active[data-v-7cbb72a5],
.modal-leave-active[data-v-7cbb72a5] {
  transition: all 0.3s ease;
}
.modal-enter-from[data-v-7cbb72a5] {
  opacity: 0;
}
.modal-leave-to[data-v-7cbb72a5] {
  opacity: 0;
}
.modal-enter-from .modal-content[data-v-7cbb72a5],
.modal-leave-to .modal-content[data-v-7cbb72a5] {
  transform: scale(0.9);
}
@media (max-width: 640px) {
.modal-enter-from .modal-content[data-v-7cbb72a5],
  .modal-leave-to .modal-content[data-v-7cbb72a5] {
    transform: translateY(100%);
}
}

.calculation-result-display[data-v-de44af9b] {
  display: flex;
  gap: 30px;
  background-color: transparent;
  /* Set Dutch language for proper hyphenation */
  lang: nl;
  justify-content: center;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}
.mobile-options-toggle[data-v-de44af9b],
.mobile-tariff-details-toggle[data-v-de44af9b] {
  display: none;
}
.calculation-result-display--integrated[data-v-de44af9b] {
  align-items: flex-start;
  gap: 28px;
  max-width: 1360px;
}
.calculation-result-display--integrated .modifiable-fields-sidebar[data-v-de44af9b] {
  position: sticky;
  top: 134px;
  z-index: 5;
  flex: 0 0 300px;
  height: calc(100dvh - 150px);
  max-height: none;
  padding: 14px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  border: 1px solid var(--line-2);
  border-radius: var(--r-lg);
  background: var(--bg-plain);
  box-shadow: none;
}
.calculation-result-display--integrated .results-content[data-v-de44af9b] {
  flex: 1 1 auto;
  min-width: 0;
}
.calculation-result-display--integrated .results-content-inner[data-v-de44af9b] {
  max-width: none;
}
.calculation-result-display--integrated .legal-toggle-toolbar[data-v-de44af9b] {
  justify-content: flex-end;
  margin-bottom: 14px;
}
.calculation-result-display--integrated .tariff-list[data-v-de44af9b] {
  gap: 14px;
}
.calculation-result-display--integrated .tariff-card[data-v-de44af9b] {
  display: grid;
  grid-template-areas:
    'header'
    'quote'
    'details'
    'legal'
    'actions';
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  padding: 0;
  overflow: hidden;
  border-color: var(--line-2);
  border-radius: var(--r-lg);
  background: var(--bg-plain);
  box-shadow: none;
  scroll-margin-top: 170px;
}
.calculation-result-display--integrated .tariff-header[data-v-de44af9b] {
  grid-area: header;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(175px, auto);
  gap: 18px;
  align-items: start;
  margin: 0;
  padding: 20px 22px 16px;
  border-bottom-color: var(--line-2);
}
.calculation-result-display--integrated .tariff-card__info[data-v-de44af9b] {
  min-width: 0;
}
.calculation-result-display--integrated .tariff-card__premium[data-v-de44af9b] {
  align-items: flex-end;
  justify-content: flex-start;
  min-width: 175px;
  gap: 8px;
  text-align: right;
}
.calculation-result-display--integrated .comparison-checkbox[data-v-de44af9b] {
  grid-column: auto;
  justify-self: end;
  margin: 0;
  border-radius: var(--r-md);
  background: var(--bg-sand-soft);
  border-color: var(--line-2);
}
.calculation-result-display--integrated .tariff-details[data-v-de44af9b] {
  grid-area: details;
  margin: 0;
  padding: 16px 22px 18px;
}
.calculation-result-display--integrated .details-list[data-v-de44af9b] {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px 18px;
}
.calculation-result-display--integrated .tariff-legal[data-v-de44af9b] {
  grid-area: legal;
  margin: 0 22px 18px;
}
.calculation-result-display--integrated .tariff-card__actions[data-v-de44af9b] {
  position: static;
  grid-area: actions;
  align-self: center;
  justify-self: end;
  min-height: 44px;
  margin: 0 22px 18px;
  border-radius: var(--r-pill);
  padding: 10px 18px;
}
.calculation-result-display--integrated .polly-tariff-quote[data-v-de44af9b] {
  grid-area: quote;
  margin: 14px 22px 0;
}
.calculation-result-display--integrated .tariff-score-stack[data-v-de44af9b] {
  align-items: flex-end;
  gap: 5px;
  width: auto;
}
.calculation-result-display--integrated .tariff-score-badge[data-v-de44af9b] {
  width: auto;
  min-width: 166px;
  max-width: 220px;
  min-height: 36px;
  padding: 6px 9px;
  border-radius: var(--r-pill);
  border-color: var(--line-2);
  background: var(--bg-sand-soft);
  color: var(--ink-2);
  font-size: 0.78rem;
}
.calculation-result-display--integrated .tariff-score-content[data-v-de44af9b] {
  gap: 6px;
  min-width: 0;
}
.calculation-result-display--integrated .tariff-score-stars[data-v-de44af9b] {
  flex: 0 0 auto;
}
.calculation-result-display--integrated .tariff-score-label[data-v-de44af9b],
.calculation-result-display--integrated .tariff-score-subtitle[data-v-de44af9b] {
  white-space: nowrap;
}
.calculation-result-display--integrated .tariff-score-subtitle[data-v-de44af9b] {
  font-size: 0.66rem;
}
.calculation-result-display--integrated .tariff-score-info[data-v-de44af9b] {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
}
.calculation-result-display--integrated .tariff-highlight-row[data-v-de44af9b] {
  justify-content: flex-end;
  min-height: 0;
}
.calculation-result-display--integrated .premium[data-v-de44af9b] {
  color: var(--brand-green-deep);
  font-family: var(--sv-font-display);
  font-size: clamp(1.6rem, 2vw, 1.9rem);
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  letter-spacing: -0.025em;
}
.calculation-result-display--integrated .back-button[data-v-de44af9b],
.calculation-result-display--integrated .new-calc-button[data-v-de44af9b] {
  display: none;
}
.tariff-legal[data-v-de44af9b] {
  margin-top: 10px;
  background: linear-gradient(0deg, #ffffff 0%, #fbfdfc 100%);
  border: 1px solid #eaf4ee;
  border-radius: 10px;
  padding: 8px 10px;
}
.legal-header[data-v-de44af9b] {
  display: none;
}
.legal-row-full[data-v-de44af9b] {
  margin-bottom: 6px;
}
.legal-row-2[data-v-de44af9b] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 16px;
}
.legal-col-header[data-v-de44af9b] {
  display: none;
}
.legal-sec-header[data-v-de44af9b] {
  display: flex;
  align-items: center;
  gap: 10px; /* more space between icon and text */
  color: #198754;
  font-weight: 600;
  font-size: 0.85rem;
  margin: 4px 0 6px 0;
}
.legal-sec-header svg[data-v-de44af9b] {
  flex-shrink: 0;
}
.legal-list[data-v-de44af9b] {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.legal-list .legal-item[data-v-de44af9b] {
  cursor: pointer;
}
.legal-list.fullwidth .legal-item[data-v-de44af9b] {
  width: 100%;
}
.legal-item[data-v-de44af9b] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 360px; /* fixed item width */
  max-width: 100%;
  padding: 6px 8px;
  border: 1px solid #e3efe8;
  border-radius: 10px;
  background-color: #fdfefe;
}
.legal-item[data-v-de44af9b]:hover {
  background-color: #f7fbf9;
}
.legal-title[data-v-de44af9b] {
  font-size: 0.9rem;
  color: #2b2f31;
}
.legal-badge[data-v-de44af9b] {
  font-weight: 700;
  color: #198754;
  min-width: 48px;
  text-align: center;
}
.legal-text[data-v-de44af9b] {
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #495057;
}
.legal-action[data-v-de44af9b] {
  background: #ffffff;
  color: #198754;
  border: 1px solid #198754;
  border-radius: 999px;
  padding: 3px 8px;
  font-size: 0.78rem;
  cursor: pointer;
  text-decoration: none;
}
.legal-action.small[data-v-de44af9b] {
  padding: 2px 8px;
  font-size: 0.75rem;
}
.legal-action[data-v-de44af9b]:hover {
  color: #157347;
  border-color: #157347;
}
.tariff-header[data-v-de44af9b] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
}
.tariff-header-right[data-v-de44af9b] {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 12px;
  position: relative;
  min-width: 220px;
}
.tariff-score-stack[data-v-de44af9b] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
}
.tariff-score-badge[data-v-de44af9b] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid rgba(3, 133, 76, 0.25);
  background: linear-gradient(90deg, rgba(3, 133, 76, 0.16), rgba(3, 133, 76, 0.06));
  color: #0f5132;
  cursor: pointer;
  font-size: 0.9rem;
  position: relative;
  min-width: 210px;
  justify-content: space-between;
  --star-base: #d4f0e2;
  --star-fill: #198754;
  width: 100%;
}
.tariff-score-badge[data-v-de44af9b]:focus-visible {
  outline: 2px solid #198754;
  outline-offset: 2px;
}
.tariff-score-content[data-v-de44af9b] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.tariff-score-text[data-v-de44af9b] {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
}
.tariff-score-subtitle[data-v-de44af9b] {
  font-size: 0.7rem;
  color: inherit;
  opacity: 0.65;
}
.tariff-score-badge--general[data-v-de44af9b] {
  color: #475569;
  border-color: rgba(148, 163, 184, 0.45);
  background: linear-gradient(90deg, rgba(148, 163, 184, 0.18), rgba(148, 163, 184, 0.08));
  --star-base: #dce1ec;
  --star-fill: #64748b;
}
.tariff-score-badge--personal[data-v-de44af9b] {
  color: #0f5132;
  border-color: rgba(3, 133, 76, 0.28);
  background: linear-gradient(90deg, rgba(3, 133, 76, 0.16), rgba(3, 133, 76, 0.08));
  --star-base: #c9f6d8;
  --star-fill: #198754;
  cursor: default;
}
.tariff-score-badge--empty[data-v-de44af9b] {
  color: #64748b;
}
.tariff-score-badge--skeleton[data-v-de44af9b],
.tariff-score-badge--empty[data-v-de44af9b] {
  background: transparent;
  border-color: #d0d5dd;
  color: #6c757d;
  cursor: default;
  pointer-events: none;
}
.tariff-score-badge--skeleton[data-v-de44af9b] {
  border-style: dashed;
}
.tariff-score-badge--skeleton[data-v-de44af9b] {
  gap: 6px;
}
.tariff-score-stars[data-v-de44af9b] {
  display: inline-flex;
  align-items: center;
  gap: 2px;
}
.tariff-star[data-v-de44af9b] {
  position: relative;
  display: inline-block;
  font-size: 1rem;
  color: var(--star-base, #d4d9e6);
  line-height: 1;
}
.tariff-score-label[data-v-de44af9b] {
  font-weight: 600;
  color: inherit;
}
.tariff-star[data-v-de44af9b]::after {
  content: '★';
  position: absolute;
  inset: 0;
  color: var(--star-fill, #198754);
  width: 0;
  overflow: hidden;
}
.tariff-star.filled[data-v-de44af9b]::after {
  width: 100%;
}
.tariff-star.half[data-v-de44af9b]::after {
  width: 50%;
}
.tariff-score-info[data-v-de44af9b] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: rgba(71, 85, 105, 0.12);
  color: #475569;
  font-size: 0.75rem;
  font-weight: 600;
}
.tariff-score-badge--personal .tariff-score-info[data-v-de44af9b] {
  background: rgba(15, 81, 50, 0.12);
  color: #0f5132;
}
.tariff-score-tooltip[data-v-de44af9b] {
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  width: min(260px, 80vw);
  background: #ffffff;
  border: 1px solid rgba(3, 133, 76, 0.12);
  box-shadow: 0 18px 42px -22px rgba(15, 23, 42, 0.25);
  border-radius: 12px;
  padding: 16px;
  z-index: 1200;
  overflow: visible;
  --star-base: #e2e8f0;
  --star-fill: #198754;
}
.tariff-highlight-row[data-v-de44af9b] {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
  width: 100%;
  min-height: 26px;
  align-items: flex-start;
}
.tariff-highlight[data-v-de44af9b] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1;
  background: rgba(148, 163, 184, 0.18);
  color: #475569;
}
.tariff-highlight[data-v-de44af9b]::before {
  content: '★';
  font-size: 0.75rem;
}
.tariff-highlight--quality[data-v-de44af9b] {
  background: rgba(59, 130, 246, 0.18);
  color: #1d4ed8;
}
.tariff-highlight--coverage[data-v-de44af9b] {
  background: rgba(126, 58, 242, 0.18);
  color: #6d28d9;
}
.tariff-highlight--price[data-v-de44af9b] {
  background: rgba(249, 115, 22, 0.18);
  color: #c2410c;
}
.tariff-score-tooltip h4[data-v-de44af9b] {
  margin: 0 0 10px 0;
  font-size: 0.85rem;
  font-weight: 600;
  color: #0f5132;
}
.tariff-score-tooltip ul[data-v-de44af9b] {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.tariff-score-tooltip .cluster-empty[data-v-de44af9b] {
  margin: 0;
  font-size: 0.8rem;
  color: #64748b;
}
.tariff-score-tooltip li[data-v-de44af9b] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.tariff-score-tooltip .cluster-name[data-v-de44af9b] {
  font-size: 0.8rem;
  color: #1f2937;
  flex: 1;
  min-width: 0;
}
.tariff-score-tooltip .cluster-stars[data-v-de44af9b] {
  display: inline-flex;
  gap: 2px;
}
.premium[data-v-de44af9b] {
  font-size: 1.4rem;
  font-weight: 700;
  color: #0f172a;
}
.premium small[data-v-de44af9b] {
  font-size: 0.8rem;
  color: #6c757d;
  margin-left: 4px;
}
.premium-note[data-v-de44af9b] {
  display: block;
  margin-top: 2px;
  font-size: 0.76rem;
  color: #6c757d;
}
.legal-loading-indicator[data-v-de44af9b] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.78rem;
  color: #0f5132;
}
.legal-loading-dot[data-v-de44af9b] {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #0f5132;
  animation: legalPulse-de44af9b 1s ease-in-out infinite;
  display: inline-block;
}
.legal-empty[data-v-de44af9b] {
  margin: 6px 0 0 0;
  font-size: 0.85rem;
  color: #6c757d;
}
.legal-list--skeleton[data-v-de44af9b] {
  gap: 10px;
}
.legal-item.skeleton[data-v-de44af9b] {
  background: #f1f3f5;
  border-style: dashed;
  border-color: #d0d5dd;
  cursor: default;
}
.legal-item.skeleton[data-v-de44af9b]:hover {
  background: #f1f3f5;
}
.skeleton-bar[data-v-de44af9b] {
  flex: 1;
  height: 10px;
  border-radius: 6px;
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.2) 0%,
    rgba(208, 213, 221, 0.8) 50%,
    rgba(255, 255, 255, 0.2) 100%
  );
  background-size: 200% 100%;
  animation: skeletonShimmer-de44af9b 1.2s ease-in-out infinite;
}
.skeleton-bar--long[data-v-de44af9b] {
  width: 70%;
}
.skeleton-bar--short[data-v-de44af9b] {
  width: 80px;
}
.skeleton-chip[data-v-de44af9b] {
  width: 52px;
  height: 18px;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.25) 0%,
    rgba(208, 213, 221, 0.8) 50%,
    rgba(255, 255, 255, 0.25) 100%
  );
  background-size: 200% 100%;
  animation: skeletonShimmer-de44af9b 1.2s ease-in-out infinite;
  display: inline-block;
}
.personal-score-modal-backdrop[data-v-de44af9b] {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.45);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 2000;
  padding: 20px;
}
.personal-score-modal[data-v-de44af9b] {
  width: min(520px, 100%);
  background: #ffffff;
  border-radius: 18px;
  box-shadow: 0 30px 80px -40px rgba(15, 23, 42, 0.6);
  display: flex;
  flex-direction: column;
  max-height: 90vh;
  overflow: hidden;
}
.personal-score-modal__header[data-v-de44af9b] {
  padding: 24px 28px 0 28px;
}
.personal-score-modal__header h3[data-v-de44af9b] {
  margin: 0 0 10px 0;
  font-size: 1.25rem;
  color: #0f172a;
}
.personal-score-modal__header p[data-v-de44af9b] {
  margin: 0 0 16px 0;
  color: #475569;
  font-size: 0.9rem;
}
.personal-score-modal__body[data-v-de44af9b] {
  padding: 0 28px 24px 28px;
  overflow-y: auto;
}
.personal-score-modal__body ul[data-v-de44af9b] {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.personal-score-modal__body li[data-v-de44af9b] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 12px 0;
  border-bottom: 1px solid #e2e8f0;
}
.personal-score-modal__body li[data-v-de44af9b]:last-child {
  border-bottom: none;
}
.personal-score-modal__body .cluster-label[data-v-de44af9b] {
  font-size: 0.95rem;
  font-weight: 600;
  color: #0f172a;
  flex: 1;
}
.cluster-rating[data-v-de44af9b] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.rating-star[data-v-de44af9b] {
  background: none;
  border: none;
  font-size: 1.2rem;
  color: #cbd5f5;
  cursor: pointer;
  transition:
    transform 0.1s ease,
    color 0.15s ease;
  padding: 0;
}
.rating-star.filled[data-v-de44af9b] {
  color: #1d4ed8;
}
.rating-star[data-v-de44af9b]:hover,
.rating-star[data-v-de44af9b]:focus {
  transform: scale(1.1);
  outline: none;
}
.rating-value[data-v-de44af9b] {
  font-size: 0.8rem;
  color: #475569;
  min-width: 50px;
  text-align: right;
}
.btn-secondary[data-v-de44af9b],
.btn-primary[data-v-de44af9b] {
  border-radius: 999px;
  padding: 10px 18px;
  font-size: 0.88rem;
  font-weight: 600;
  border: none;
  cursor: pointer;
  transition:
    background 0.2s ease,
    transform 0.1s ease,
    box-shadow 0.2s ease;
}
.btn-secondary[data-v-de44af9b] {
  background: #f1f5f9;
  color: #0f172a;
}
.btn-secondary[data-v-de44af9b]:hover {
  background: #e2e8f0;
}
.btn-primary[data-v-de44af9b] {
  background: linear-gradient(90deg, rgba(3, 133, 76, 0.9), rgba(3, 133, 76, 0.75));
  color: #ffffff;
  box-shadow: 0 12px 24px -16px rgba(3, 133, 76, 0.8);
}
.btn-primary[data-v-de44af9b]:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 28px -18px rgba(3, 133, 76, 0.9);
}
.btn-primary[data-v-de44af9b]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  box-shadow: none;
}
.personal-score-modal__footer[data-v-de44af9b] {
  padding: 18px 28px 28px 28px;
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  border-top: 1px solid #e2e8f0;
}
.cluster-empty[data-v-de44af9b] {
  margin: 16px 0;
  color: #64748b;
}
@media (max-width: 768px) {
.legal-grid[data-v-de44af9b] {
    grid-template-columns: 1fr;
}
.legal-row-2[data-v-de44af9b] {
    grid-template-columns: 1fr;
}
  /* Make items span full width and increase tap targets on mobile */
.legal-item[data-v-de44af9b] {
    width: 100%;
    padding: 8px 10px;
    min-height: 40px;
}
.legal-row-2 .legal-item[data-v-de44af9b] {
    width: 100%;
    padding: 8px 10px;
    min-height: 40px;
}
.legal-title[data-v-de44af9b],
  .legal-text[data-v-de44af9b] {
    font-size: 0.95rem;
}
.legal-badge[data-v-de44af9b] {
    min-width: 48px;
    font-size: 0.9rem;
}
.legal-action[data-v-de44af9b] {
    padding: 6px 10px;
    font-size: 0.85rem;
}
.legal-toggle-toolbar[data-v-de44af9b] {
    margin-bottom: 12px;
}
.tariff-score-badge[data-v-de44af9b] {
    justify-content: flex-start;
    width: 100%;
    min-width: 0;
}
.tariff-header-right[data-v-de44af9b] {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    width: 100%;
}
.tariff-highlight-row[data-v-de44af9b] {
    justify-content: flex-start;
}
  /* Modal padding reduction for mobile */
.personal-score-modal__header[data-v-de44af9b] {
    padding: 15px 10px 0 10px;
}
.personal-score-modal__body[data-v-de44af9b] {
    padding: 0 10px 15px 10px;
}
.personal-score-modal__footer[data-v-de44af9b] {
    padding: 12px 10px 15px 10px;
}
}

/* Compact sizing for Clausules & Verzekeringskaart rows */
.legal-row-2 .legal-item[data-v-de44af9b] {
  padding: 4px 6px;
  min-height: 28px;
}
.legal-row-2 .legal-title[data-v-de44af9b],
.legal-row-2 .legal-text[data-v-de44af9b] {
  font-size: 0.82rem;
}
.legal-row-2 .legal-badge[data-v-de44af9b] {
  min-width: 40px;
  font-size: 0.82rem;
}
.legal-row-2 .legal-action[data-v-de44af9b] {
  padding: 2px 6px;
  font-size: 0.72rem;
}
.fade-enter-active[data-v-de44af9b],
.fade-leave-active[data-v-de44af9b] {
  transition:
    opacity 0.15s ease,
    transform 0.15s ease;
}
.fade-enter-from[data-v-de44af9b],
.fade-leave-to[data-v-de44af9b] {
  opacity: 0;
  transform: translateY(4px);
}
@keyframes legalPulse-de44af9b {
0%,
  100% {
    transform: scale(1);
    opacity: 0.7;
}
50% {
    transform: scale(1.3);
    opacity: 1;
}
}
@keyframes skeletonShimmer-de44af9b {
0% {
    background-position: 200% 0;
}
100% {
    background-position: -200% 0;
}
}
.modifiable-fields-sidebar[data-v-de44af9b] {
  flex: 0 0 300px;
  background-color: #f8f8f8; /* Softer background */
  padding: 25px;
  border-radius: 12px; /* Larger radius */
  border: 1px solid #dee2e6;
  align-self: flex-start;
  position: sticky;
  top: 20px;
  display: flex;
  flex-direction: column;
  height: calc(100vh - 40px);
  overflow-y: auto;
  transition: opacity 0.2s ease; /* Smooth transition */
  z-index: 50; /* Ensure sidebar stays above background but below overlay */
}

/* Keep sidebar visually active during recalculation */
.calculation-result-display:has(.results-loading-overlay) .modifiable-fields-sidebar[data-v-de44af9b] {
  opacity: 1 !important; /* Ensure full opacity during recalculation */
}
.legal-toggle-toolbar[data-v-de44af9b] {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 16px;
  gap: 8px;
  flex-wrap: wrap;
}
.legal-toggle-btn[data-v-de44af9b] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  font-size: 0.85rem;
  border: 1px solid #b8dfc5;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(3, 133, 76, 0.08), rgba(3, 133, 76, 0.04));
  color: #0f5132;
  cursor: pointer;
  transition:
    background 0.2s ease,
    transform 0.1s ease;
}
.legal-toggle-btn[data-v-de44af9b]:hover {
  background: linear-gradient(90deg, rgba(3, 133, 76, 0.12), rgba(3, 133, 76, 0.08));
  transform: translateY(-1px);
}
.legal-toggle-btn[data-v-de44af9b]:active {
  transform: translateY(0);
}
.personal-score-btn[data-v-de44af9b] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 14px;
  border-radius: 999px;
  border: 1px solid rgba(59, 130, 246, 0.28);
  background: linear-gradient(90deg, rgba(59, 130, 246, 0.12), rgba(59, 130, 246, 0.06));
  color: #1d4ed8;
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  transition:
    background 0.2s ease,
    transform 0.1s ease,
    box-shadow 0.2s ease;
}
.personal-score-btn[data-v-de44af9b]:hover:not(:disabled) {
  background: linear-gradient(90deg, rgba(59, 130, 246, 0.18), rgba(59, 130, 246, 0.1));
  transform: translateY(-1px);
  box-shadow: 0 6px 18px -12px rgba(59, 130, 246, 0.6);
}
.personal-score-btn[data-v-de44af9b]:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  box-shadow: none;
}
.sort-toggle-btn[data-v-de44af9b] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 12px;
  border-radius: 999px;
  border: 1px solid rgba(100, 116, 139, 0.35);
  background: linear-gradient(90deg, rgba(148, 163, 184, 0.16), rgba(148, 163, 184, 0.08));
  color: #0f172a;
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  transition:
    background 0.2s ease,
    transform 0.1s ease,
    box-shadow 0.2s ease;
}
.sort-toggle-btn[data-v-de44af9b]:hover {
  background: linear-gradient(90deg, rgba(148, 163, 184, 0.22), rgba(148, 163, 184, 0.12));
  transform: translateY(-1px);
  box-shadow: 0 6px 18px -12px rgba(30, 41, 59, 0.4);
}
.sort-toggle-btn[data-v-de44af9b]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
.sort-toggle-btn.active[data-v-de44af9b] {
  border-color: rgba(56, 189, 248, 0.45);
  box-shadow: 0 6px 18px -12px rgba(56, 189, 248, 0.6);
  color: #0ea5e9;
}
.legal-toggle-icon[data-v-de44af9b] {
  display: inline-block;
  transition: transform 0.2s ease;
}
.legal-toggle-icon.collapsed[data-v-de44af9b] {
  transform: rotate(-90deg);
}
.modifiable-form[data-v-de44af9b] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: auto;
  flex-grow: 1;
}

/* Styling form inputs within sidebar */
[data-v-de44af9b] .modifiable-form .form-group {
  margin-bottom: 0;
}
[data-v-de44af9b] .modifiable-form .form-group label {
  font-size: 0.85rem;
  font-weight: 500;
  margin-bottom: 2px; /* Reduced label spacing */
  color: #6c757d;
}
[data-v-de44af9b] .modifiable-form .form-group input,[data-v-de44af9b] .modifiable-form .form-group select {
  padding: 7px 9px; /* Reduced input padding for compactness */
  font-size: 0.9rem;
  border-color: #ced4da;
  border-radius: 6px;
}
[data-v-de44af9b] .modifiable-form .form-group-checkbox-wrapper {
  padding: 1px 0; /* Minimal padding for checkbox wrappers */
}
[data-v-de44af9b] .modifiable-form .toggle-switch-label {
  font-size: 0.9rem;
  color: #212529;
  font-weight: 500;
  margin-bottom: 0; /* Ensure no extra margin on toggle labels */
  padding-right: 8px; /* Reduce spacing between label and toggle */
}

/* Hide Ja/Nee text labels in sidebar toggles - keep switch functionality */
[data-v-de44af9b] .modifiable-form .toggle-choice__option {
  display: none;
}

/* UPDATED: Give each form group its own distinctive block with more spacing */
.modifiable-fields-sidebar .form-group[data-v-de44af9b] {
  height: auto !important; /* CRITICAL: Override height: 100% from FormInput.vue */
  margin-bottom: 8px !important;
  padding: 10px 12px !important;
  background-color: #f8f9fa !important; /* Light background for each block */
  border: 1px solid #e9ecef !important; /* Subtle border for each block */
  border-radius: 8px !important; /* Rounded corners for modern look */
  flex: none !important; /* Prevent flex expansion */
  position: relative !important; /* For positioning info icon */
}
.modifiable-fields-sidebar .form-group > div[data-v-de44af9b] {
  margin-bottom: 0px !important;
}
.modifiable-fields-sidebar label[data-v-de44af9b] {
  margin-bottom: 4px !important;
  padding-bottom: 0px !important;
  font-weight: 600 !important; /* Make labels more prominent */
  color: #495057 !important; /* Darker color for better contrast */
  display: flex !important;
  align-items: center !important;
  gap: 8px !important; /* Space between label text and info icon */
}

/* Removed: CSS pseudo-element info icons - now using proper FieldInfoIcon component */
/* .modifiable-fields-sidebar .form-group::before {
    content: "i" !important;
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    height: 20px !important;
    background-color: #6c757d !important;
    color: white !important;
    border-radius: 50% !important;
    font-size: 12px !important;
    font-weight: bold !important;
    font-style: normal !important;
    cursor: help !important;
    z-index: 10 !important;
} */
.modifiable-fields-sidebar select[data-v-de44af9b],
.modifiable-fields-sidebar input[data-v-de44af9b] {
  margin-bottom: 0px !important;
  margin-top: 2px !important;
  padding: 8px 10px !important;
  width: 100% !important; /* Full width within the block */
  border: 1px solid #ced4da !important;
  border-radius: 6px !important;
  background-color: white !important;
  font-size: 14px !important;
}
.modifiable-fields-sidebar .form-group-checkbox-wrapper[data-v-de44af9b] {
  padding: 0 !important;
  margin: 0px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important; /* Space between label and toggle */
}
.modifiable-fields-sidebar .toggle-switch-label[data-v-de44af9b] {
  margin-bottom: 0px !important;
  padding-right: 0px !important; /* Remove padding, use flex instead */
  flex: 1 !important; /* Take available space */
  font-weight: 600 !important; /* Make toggle labels prominent too */
  color: #495057 !important;
}
.back-button[data-v-de44af9b] {
  margin-top: 15px;
  width: 100%;
  padding: 11px 15px;
  background-color: #f8f8f8;
  color: #212529;
  border: 1px solid #ced4da;
  border-radius: 8px;
  cursor: pointer;
  font-weight: 500;
  font-size: 0.95rem;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease;
}
.back-button[data-v-de44af9b]:hover:not(:disabled) {
  background-color: #ffffff;
  border-color: #adb5bd;
}
.back-button[data-v-de44af9b]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.new-calc-button[data-v-de44af9b] {
  margin-top: 10px;
  width: 100%;
  padding: 11px 15px;
  background-color: #ffffff; /* Blend more */
  color: #03854c;
  border: 1px solid #ced4da;
  border-radius: 8px;
  cursor: pointer;
  font-weight: 500;
  font-size: 0.95rem;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease;
}
.new-calc-button[data-v-de44af9b]:hover:not(:disabled) {
  background-color: #dee2e6;
  border-color: #ced4da;
}
.new-calc-button[data-v-de44af9b]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.results-content[data-v-de44af9b] {
  flex: 0 1 900px;
  min-width: 0;
  position: relative;
}
.results-content-inner[data-v-de44af9b] {
  max-width: 900px;
  width: 100%;
  margin: 0;
  position: relative;
  min-height: 300px;
  isolation: isolate; /* Create new stacking context to contain overlay */
}
.results-loading-overlay[data-v-de44af9b] {
  position: absolute;
  inset: 0;
  background-color: rgba(255, 255, 255, 0.9); /* Slightly more opaque for clarity */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 100; /* Higher z-index but contained within results-content-inner */
  border-radius: 8px;
  text-align: center;
  backdrop-filter: blur(2px); /* Subtle blur effect */
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); /* Subtle shadow for depth */
}
.spinner[data-v-de44af9b] {
  border: 4px solid rgba(0, 0, 0, 0.1);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border-left-color: #03854c;
  margin-bottom: 15px;
  animation: spin-de44af9b 1s linear infinite;
  opacity: 1;
}
@keyframes spin-de44af9b {
to {
    transform: rotate(360deg);
}
}
.results-loading-overlay p[data-v-de44af9b] {
  font-size: 1.1rem;
  color: #212529;
  opacity: 1;
}

/* Removed calculation-id styles as it's no longer displayed */
.no-results[data-v-de44af9b] {
  text-align: center;
  padding: 40px;
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border-radius: 12px;
  color: #212529;
  border: 1px solid #dee2e6;
}
.no-results h3[data-v-de44af9b] {
  font-size: 1.5rem;
  margin-bottom: 20px;
  color: #03854c;
  font-weight: 600;
}
.no-results p[data-v-de44af9b] {
  font-size: 1.1rem;
  margin-bottom: 30px;
  color: #495057;
  line-height: 1.6;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}
.welcome-features[data-v-de44af9b] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 15px;
  margin: 30px auto;
  max-width: 700px;
  text-align: left;
}
.feature-item[data-v-de44af9b] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 15px;
  background-color: #ffffff;
  border-radius: 8px;
  border: 1px solid #e9ecef;
  color: #212529;
  font-size: 0.95rem;
  transition: box-shadow 0.2s ease;
}
.feature-item[data-v-de44af9b]:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.feature-icon[data-v-de44af9b] {
  color: #198754;
  font-weight: bold;
  font-size: 1.1rem;
  flex-shrink: 0;
}
.start-button[data-v-de44af9b] {
  margin-top: 30px;
  padding: 15px 30px;
  background-color: #03854c;
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 1.1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  text-transform: none;
}
.start-button[data-v-de44af9b]:hover {
  background-color: #057343;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(3, 133, 76, 0.3);
}
.tariff-list[data-v-de44af9b] {
  display: grid;
  grid-template-columns: 1fr;
  gap: 25px;
  position: relative;
  z-index: 1;
  overflow: visible;
}
.tariff-card[data-v-de44af9b] {
  background-color: #ffffff;
  border: 1px solid #dee2e6;
  border-radius: 12px; /* More rounded */
  padding: 25px 30px; /* More padding */
  padding-bottom: 90px; /* Reserve space for absolute select button */
  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.04); /* Softer shadow */
  transition:
    box-shadow 0.25s ease,
    border-color 0.25s ease,
    opacity 0.3s ease,
    background-color 0.25s ease;
  position: relative;
  overflow: visible;
}
.tariff-card.recalculating[data-v-de44af9b] {
  opacity: 0.6;
  pointer-events: none;
}
.tariff-card[data-v-de44af9b]:hover {
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.08);
  border-color: #ced4da; /* Slightly darker border on hover */
}

/* Removed selected state styles to avoid visual selection */
.tariff-header[data-v-de44af9b] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 20px;
  padding-bottom: 15px;
  border-bottom: 1px solid #dee2e6;
  gap: 15px;
}
.company-section[data-v-de44af9b] {
  display: flex;
  flex-direction: column;
  gap: 5px;
  flex: 1;
  min-width: 0; /* Allows text truncation */
}
.company-info[data-v-de44af9b] {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.company-logo[data-v-de44af9b] {
  max-height: 30px;
  max-width: 150px;
  object-fit: contain;
  vertical-align: middle;
}
.company-name[data-v-de44af9b] {
  font-weight: 600;
  color: #343a40;
  font-size: 1.2rem;
}
.product-name[data-v-de44af9b] {
  font-size: 0.9rem;
  color: #6c757d;
  line-height: 1.3;
  word-break: break-word; /* Handle long product names */
  hyphens: auto;
}
.premium[data-v-de44af9b] {
  font-size: 1.5rem;
  font-weight: 700;
  color: #03854c;
  text-align: right;
  white-space: nowrap;
}
.premium small[data-v-de44af9b] {
  font-size: 0.85rem;
  font-weight: normal;
  color: #6c757d;
}
.tariff-discount[data-v-de44af9b] {
  color: #28a745;
  font-size: 0.85rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
  text-align: right;
}
.polly-tariff-quote[data-v-de44af9b] {
  margin: 0 0 14px;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid #facc15;
  background: linear-gradient(180deg, #fef9c3 0%, #fef3c7 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);
}
.polly-tariff-quote__label[data-v-de44af9b] {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 800;
  color: #854d0e;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.polly-tariff-quote__text[data-v-de44af9b] {
  margin: 0;
  color: #713f12;
  font-size: 0.88rem;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.tariff-details[data-v-de44af9b] {
  margin-bottom: 20px;
}
.details-section[data-v-de44af9b] {
  /* Renamed from secondary-details */
  font-size: 0.9rem;
  color: #212529;
}
.details-list[data-v-de44af9b] {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 8px 20px;
}
.no-details-message[data-v-de44af9b] {
  font-style: italic;
  color: #6c757d;
  font-size: 0.85rem;
}
.detail-item[data-v-de44af9b] {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 6px 0;
  /* Ensure items don't get too tall if value wraps */
  line-height: 1.4;
}
.detail-label[data-v-de44af9b] {
  color: #6c757d;
  flex-shrink: 0;
  min-width: 140px;
  /* Allow label to wrap for long text like "Audiovisuele- en computerapparatuur" */
  word-break: break-word;
  hyphens: auto;
}
.detail-value[data-v-de44af9b] {
  color: #212529;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 5px;
  /* Allow value to wrap if long */
  word-break: break-word;
  flex: 1;
}

/* Icons (styles remain the same) */
.detail-icon[data-v-de44af9b] {
  font-size: 1.1em;
  line-height: 1;
}
.icon-checkmark[data-v-de44af9b] {
  color: #198754;
  font-weight: bold;
}
.icon-cross[data-v-de44af9b] {
  color: #dc3545;
  font-weight: bold;
}

/* Links */
.tariff-links[data-v-de44af9b] {
  margin-top: 20px;
  padding-top: 15px;
  border-top: 1px solid #dee2e6;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}
.link-button[data-v-de44af9b] {
  display: inline-block;
  padding: 6px 12px;
  background-color: #f8f9fa; /* Use main background for subtle button */
  border: 1px solid #dee2e6;
  color: #03854c;
  text-decoration: none;
  border-radius: 6px;
  font-size: 0.85rem;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease;
}
.link-button[data-v-de44af9b]:hover {
  background-color: #dee2e6;
  border-color: #ced4da;
  color: #057343;
}

/* Clausules */
.tariff-clausules[data-v-de44af9b] {
  font-size: 0.8rem;
  color: #6c757d;
  margin-top: 15px;
  background-color: #f8f8f8;
  padding: 6px 10px;
  border-radius: 6px;
  border: 1px solid #f1f3f5;
}

/* Select Button */
.select-button[data-v-de44af9b] {
  position: absolute;
  bottom: 20px; /* Adjusted position */
  right: 25px; /* Adjusted position */
  padding: 10px 20px;
  font-size: 0.95rem;
  font-weight: 600;
  background-color: #03854c;
  color: white;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition:
    background-color 0.2s ease,
    transform 0.1s ease,
    opacity 0.3s ease;
  display: flex;
  align-items: center;
  gap: 6px;
}
.select-button[data-v-de44af9b]:hover:not(:disabled) {
  background-color: #057343;
  transform: translateY(-1px);
}
.select-button[data-v-de44af9b]:disabled {
  background-color: #6c757d; /* Gray when disabled */
  color: white;
  cursor: not-allowed;
  opacity: 0.6;
}
.select-button .button-icon[data-v-de44af9b] {
  font-size: 1.1em;
  line-height: 1;
}

/* Responsive adjustments */
@media (max-width: 1200px) {
.modifiable-fields-sidebar[data-v-de44af9b] {
    flex-basis: 250px;
}
}
@media (max-width: 992px) {
.calculation-result-display[data-v-de44af9b] {
    flex-direction: column;
    max-width: none;
    margin: 0;
    align-items: stretch;
}
.modifiable-fields-sidebar[data-v-de44af9b] {
    flex-basis: auto;
    width: 100%;
    position: relative;
    top: auto;
    margin-bottom: 25px;
    order: -1; /* Move sidebar above results on mobile */
    height: auto;
    max-height: none;
    padding: 5px;
}
.results-content[data-v-de44af9b] {
    width: 100%;
    flex: 1 1 auto;
}
.details-list[data-v-de44af9b] {
    grid-template-columns: 1fr;
}
.calculation-result-display--integrated[data-v-de44af9b] {
    gap: 12px;
}
.calculation-result-display--integrated .mobile-options-toggle[data-v-de44af9b] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    order: 0;
    width: 100%;
    min-height: 46px;
    padding: 11px 16px;
    border: 1px solid var(--line-2);
    border-radius: var(--r-pill);
    background: var(--bg-plain);
    color: var(--brand-green-deep);
    font-weight: 700;
    box-shadow: none;
}
.calculation-result-display--integrated
    .modifiable-fields-sidebar[data-v-de44af9b]:not(.modifiable-fields-sidebar--mobile-open) {
    display: none;
}
.calculation-result-display--integrated .modifiable-fields-sidebar[data-v-de44af9b] {
    position: relative;
    top: auto;
    flex: 1 1 auto;
    width: 100%;
    height: auto;
    max-height: none;
    order: 1;
    margin-bottom: 0;
}
.calculation-result-display--integrated .results-content[data-v-de44af9b] {
    order: 2;
}
.calculation-result-display--integrated .tariff-header[data-v-de44af9b] {
    grid-template-columns: minmax(0, 1fr) auto;
}
.calculation-result-display--integrated .tariff-card__premium[data-v-de44af9b] {
    grid-column: 1 / -1;
    align-items: flex-start;
    width: 100%;
    text-align: left;
}
.calculation-result-display--integrated .tariff-score-stack[data-v-de44af9b],
  .calculation-result-display--integrated .tariff-highlight-row[data-v-de44af9b] {
    align-items: flex-start;
    justify-content: flex-start;
}
.calculation-result-display--integrated .details-list[data-v-de44af9b] {
    grid-template-columns: 1fr;
}
.calculation-result-display--integrated .mobile-tariff-details-toggle[data-v-de44af9b] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    grid-area: details;
    justify-self: stretch;
    min-height: 44px;
    margin: 0 16px 14px;
    padding: 9px 14px;
    border: 1px solid var(--line-2);
    border-radius: var(--r-pill);
    background: var(--bg-sand-soft);
    color: var(--ink-2);
    font-weight: 700;
}
.calculation-result-display--integrated
    .tariff-card:not(.tariff-card--details-open)
    .tariff-details[data-v-de44af9b] {
    display: none;
}
}
@media (max-width: 768px) {
.tariff-header[data-v-de44af9b] {
    flex-direction: column;
    align-items: flex-start;
}
.premium[data-v-de44af9b] {
    align-self: flex-start;
    margin-top: 10px;
    font-size: 1.4rem;
}
.tariff-card[data-v-de44af9b] {
    padding: 10px 5px;
}
.select-button[data-v-de44af9b] {
    position: relative;
    bottom: auto;
    right: auto;
    margin-top: 20px;
    width: 100%;
    justify-content: center;
}
.company-info[data-v-de44af9b] {
    flex-direction: column;
    align-items: flex-start;
}
.company-logo[data-v-de44af9b] {
    max-height: 25px;
}
}

/* =========================
   Comparison Checkbox
   ========================= */
.comparison-checkbox[data-v-de44af9b] {
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  padding: 6px 10px;
  border-radius: 8px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  transition: all 0.15s ease;
  font-size: 0.85rem;
  white-space: nowrap;
  margin-left: auto;
  margin-right: 12px;
}
.comparison-checkbox[data-v-de44af9b]:hover {
  background: #f1f5f9;
  border-color: #cbd5e1;
}
.comparison-checkbox input[type='checkbox'][data-v-de44af9b] {
  width: 16px;
  height: 16px;
  accent-color: #1d4ed8;
  cursor: pointer;
}
.comparison-checkbox input[type='checkbox'][data-v-de44af9b]:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}
.comparison-checkbox .checkbox-label[data-v-de44af9b] {
  color: #475569;
  font-weight: 500;
  transition: color 0.15s ease;
}
.comparison-checkbox input[type='checkbox']:checked + .checkbox-label[data-v-de44af9b] {
  color: #1d4ed8;
}

/* =========================
   Floating Compare Button
   ========================= */
.compare-floating-container[data-v-de44af9b] {
  position: fixed;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 6px;
  z-index: 1000;
}
.compare-floating-button[data-v-de44af9b] {
  background: linear-gradient(135deg, #1d4ed8 0%, #3b82f6 100%);
  color: white;
  padding: 8px 18px;
  border-radius: 20px;
  font-weight: 600;
  font-size: 0.8rem;
  box-shadow: 0 4px 16px rgba(29, 78, 216, 0.3);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s ease;
}
.compare-floating-button[data-v-de44af9b]:hover:not(:disabled) {
  background: linear-gradient(135deg, #1e40af 0%, #2563eb 100%);
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(29, 78, 216, 0.4);
}
.compare-floating-button[data-v-de44af9b]:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}
.compare-button-icon[data-v-de44af9b] {
  font-size: 1em;
}
.compare-clear-button[data-v-de44af9b] {
  background: rgba(255, 255, 255, 0.95);
  color: #64748b;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1px solid #e2e8f0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  transition: all 0.15s ease;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}
.compare-clear-button[data-v-de44af9b]:hover {
  background: white;
  color: #ef4444;
  border-color: #ef4444;
}

/* Slide-up transition */
.slide-up-enter-active[data-v-de44af9b],
.slide-up-leave-active[data-v-de44af9b] {
  transition: all 0.3s ease;
}
.slide-up-enter-from[data-v-de44af9b],
.slide-up-leave-to[data-v-de44af9b] {
  opacity: 0;
  transform: translateX(-50%) translateY(20px);
}

/* =========================
   Comparison Modal - Enhanced Design
   ========================= */
.comparison-modal-backdrop[data-v-de44af9b] {
  position: fixed;
  inset: 0;
  background: linear-gradient(135deg, rgba(15, 23, 42, 0.7), rgba(30, 41, 59, 0.8));
  backdrop-filter: blur(8px);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 2000;
  padding: 20px;
}
.comparison-modal[data-v-de44af9b] {
  width: min(1100px, 95%);
  height: 90vh;
  max-height: 90vh;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  border-radius: 24px;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.1),
    0 25px 50px -12px rgba(0, 0, 0, 0.25),
    0 0 100px -20px rgba(14, 165, 233, 0.15);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.comparison-modal__header[data-v-de44af9b] {
  padding: 12px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: linear-gradient(135deg, #0f766e 0%, #0d9488 50%, #14b8a6 100%);
  color: white;
}
.comparison-modal__title-row[data-v-de44af9b] {
  display: flex;
  align-items: center;
  gap: 10px;
}
.comparison-modal__icon[data-v-de44af9b] {
  width: 32px;
  height: 32px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(4px);
}
.comparison-modal__icon svg[data-v-de44af9b] {
  width: 18px;
  height: 18px;
  color: white;
}
.comparison-modal__header h3[data-v-de44af9b] {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  color: white;
  letter-spacing: -0.01em;
}
.comparison-modal__subtitle[data-v-de44af9b] {
  display: none;
}
.comparison-modal__close[data-v-de44af9b] {
  background: rgba(255, 255, 255, 0.15);
  border: none;
  color: white;
  cursor: pointer;
  padding: 6px;
  line-height: 1;
  border-radius: 6px;
  transition: all 0.2s ease;
}
.comparison-modal__close svg[data-v-de44af9b] {
  width: 16px;
  height: 16px;
}
.comparison-modal__close[data-v-de44af9b]:hover {
  background: rgba(255, 255, 255, 0.25);
  transform: scale(1.05);
}
.comparison-modal__body[data-v-de44af9b] {
  flex: 1;
  overflow-y: auto;
  padding: 0;
}
.comparison-modal__footer[data-v-de44af9b] {
  padding: 16px 28px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  border-top: 1px solid #e2e8f0;
  background: #f8fafc;
}
.comparison-modal__footer-info[data-v-de44af9b] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.82rem;
  color: #64748b;
}
.comparison-modal__footer-info svg[data-v-de44af9b] {
  color: #94a3b8;
}

/* Toolbar & Search */
.comparison-toolbar[data-v-de44af9b] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 24px;
  background: #ffffff;
  border-bottom: 1px solid #e2e8f0;
  flex-wrap: wrap;
}
.comparison-search[data-v-de44af9b] {
  position: relative;
  flex: 1;
  min-width: 280px;
  max-width: 480px;
}
.comparison-search__icon[data-v-de44af9b] {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: #94a3b8;
  pointer-events: none;
}
.comparison-search__input[data-v-de44af9b] {
  width: 100%;
  padding: 12px 44px 12px 44px;
  border: 2px solid #e2e8f0;
  border-radius: 12px;
  font-size: 0.95rem;
  color: #0f172a;
  background: #f8fafc;
  transition: all 0.2s ease;
}
.comparison-search__input[data-v-de44af9b]::placeholder {
  color: #94a3b8;
}
.comparison-search__input[data-v-de44af9b]:focus {
  outline: none;
  border-color: #0d9488;
  background: #ffffff;
  box-shadow: 0 0 0 4px rgba(13, 148, 136, 0.1);
}
.comparison-search__clear[data-v-de44af9b] {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  background: #e2e8f0;
  border: none;
  border-radius: 8px;
  padding: 6px;
  cursor: pointer;
  color: #64748b;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s ease;
}
.comparison-search__clear[data-v-de44af9b]:hover {
  background: #cbd5e1;
  color: #0f172a;
}
.comparison-toolbar__actions[data-v-de44af9b] {
  display: flex;
  gap: 8px;
}
.comparison-toolbar__btn[data-v-de44af9b] {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 10px 14px;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #ffffff;
  color: #475569;
  font-size: 0.85rem;
  cursor: pointer;
  transition: all 0.15s ease;
}
.comparison-toolbar__btn[data-v-de44af9b]:hover {
  background: #f1f5f9;
  border-color: #cbd5e1;
  color: #0f172a;
}
.comparison-toolbar__btn[data-v-de44af9b]:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

/* Search Results */
.comparison-search-results[data-v-de44af9b] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 24px;
  background: linear-gradient(90deg, #f0fdfa, #f0fdf4);
  border-bottom: 1px solid #ccfbf1;
}
.comparison-search-results__count[data-v-de44af9b] {
  font-size: 0.88rem;
  color: #0f766e;
  font-weight: 600;
}
.comparison-search-results__clear[data-v-de44af9b] {
  background: none;
  border: none;
  color: #0d9488;
  font-size: 0.85rem;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.comparison-search-results__clear[data-v-de44af9b]:hover {
  color: #0f766e;
}

/* No Results */
.comparison-no-results[data-v-de44af9b] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 64px 24px;
  text-align: center;
  color: #64748b;
}
.comparison-no-results p[data-v-de44af9b] {
  margin: 16px 0;
  font-size: 1rem;
}

/* Loading & Error States */
.comparison-loading[data-v-de44af9b],
.comparison-error[data-v-de44af9b],
.comparison-empty[data-v-de44af9b] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 64px 24px;
  text-align: center;
  color: #64748b;
}
.comparison-loading__spinner[data-v-de44af9b] {
  margin-bottom: 20px;
}
.comparison-loading__spinner .spin[data-v-de44af9b] {
  animation: spin-de44af9b 1s linear infinite;
}
@keyframes spin-de44af9b {
from {
    transform: rotate(0deg);
}
to {
    transform: rotate(360deg);
}
}
.comparison-loading__text[data-v-de44af9b] {
  font-size: 1.1rem;
  font-weight: 600;
  color: #0f172a;
  margin: 0 0 8px 0;
}
.comparison-loading__subtext[data-v-de44af9b] {
  font-size: 0.9rem;
  color: #64748b;
  margin: 0;
}
.comparison-loading-inline[data-v-de44af9b] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 24px;
  border-bottom: 1px solid #e2e8f0;
  background: linear-gradient(90deg, #f0fdfa, #f8fafc);
}
.comparison-loading-inline .comparison-loading__spinner[data-v-de44af9b] {
  margin: 0;
  display: inline-flex;
}
.comparison-loading-inline .comparison-loading__subtext[data-v-de44af9b] {
  font-size: 0.85rem;
}
.comparison-error__icon[data-v-de44af9b] {
  margin-bottom: 16px;
}
.comparison-error__text[data-v-de44af9b] {
  margin: 0 0 20px 0;
  font-size: 1rem;
  color: #991b1b;
}

/* Provider Headers */
.comparison-providers[data-v-de44af9b] {
  display: grid;
  grid-template-columns: 220px repeat(auto-fit, minmax(160px, 1fr));
  gap: 1px;
  background: #e2e8f0;
  position: sticky;
  top: 0;
  z-index: 10;
}
.comparison-providers__label[data-v-de44af9b] {
  background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
  padding: 16px 20px;
  display: flex;
  align-items: center;
}
.comparison-providers__label-text[data-v-de44af9b] {
  font-weight: 700;
  font-size: 0.9rem;
  color: #475569;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.comparison-provider[data-v-de44af9b] {
  background: #ffffff;
  padding: 12px;
}
.comparison-provider__card[data-v-de44af9b] {
  background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 14px 12px;
  text-align: center;
  transition: all 0.2s ease;
}
.comparison-provider__card[data-v-de44af9b]:hover {
  border-color: #0d9488;
  box-shadow: 0 4px 12px -4px rgba(13, 148, 136, 0.15);
}
.comparison-provider__price[data-v-de44af9b] {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 2px;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e2e8f0;
}
.comparison-provider__price-value[data-v-de44af9b] {
  font-size: 1.35rem;
  font-weight: 800;
  color: #0d9488;
  letter-spacing: -0.025em;
}
.comparison-provider__price-period[data-v-de44af9b] {
  font-size: 0.75rem;
  color: #64748b;
  font-weight: 500;
}
.comparison-provider__discount[data-v-de44af9b] {
  color: #28a745;
  font-size: 0.7rem;
  font-weight: 600;
  margin-left: 4px;
}
.comparison-provider__logo-container[data-v-de44af9b] {
  width: 60px;
  height: 40px;
  margin: 0 auto 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.comparison-provider__logo[data-v-de44af9b] {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  filter: grayscale(0.1);
  transition: filter 0.2s ease;
}
.comparison-provider__card:hover .comparison-provider__logo[data-v-de44af9b] {
  filter: grayscale(0);
}
.comparison-provider__logo-placeholder[data-v-de44af9b] {
  width: 40px;
  height: 40px;
  background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #94a3b8;
}
.comparison-provider__company[data-v-de44af9b] {
  font-weight: 700;
  font-size: 0.85rem;
  color: #0f172a;
  display: block;
  line-height: 1.3;
  margin-bottom: 2px;
}
.comparison-provider__product[data-v-de44af9b] {
  font-size: 0.7rem;
  color: #64748b;
  display: block;
  line-height: 1.2;
  font-weight: 500;
  max-height: 2.4em;
  overflow: hidden;
  text-overflow: ellipsis;
}
.comparison-provider__name[data-v-de44af9b] {
  font-weight: 700;
  font-size: 0.9rem;
  color: #0f172a;
  display: block;
  line-height: 1.3;
}

/* Clusters */
.comparison-clusters[data-v-de44af9b] {
  background: #ffffff;
}
.comparison-clusters--loading .comparison-cluster[data-v-de44af9b] {
  border-bottom-style: dashed;
}
.comparison-cluster[data-v-de44af9b] {
  border-bottom: 1px solid #e2e8f0;
  transition: all 0.2s ease;
}
.comparison-cluster[data-v-de44af9b]:last-child {
  border-bottom: none;
}
.comparison-cluster--expanded[data-v-de44af9b] {
  background: #fafbfc;
}
.comparison-cluster__header[data-v-de44af9b] {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 0;
  width: 100%;
  background: linear-gradient(90deg, #f8fafc 0%, #ffffff 100%);
  border: none;
  padding: 0;
  cursor: pointer;
  text-align: left;
  transition: all 0.2s ease;
}
.comparison-cluster__header[data-v-de44af9b]:hover {
  background: linear-gradient(90deg, #f1f5f9 0%, #f8fafc 100%);
}
.comparison-cluster__header--placeholder[data-v-de44af9b] {
  cursor: default;
}
.comparison-cluster__header--placeholder[data-v-de44af9b]:hover {
  background: linear-gradient(90deg, #f8fafc 0%, #ffffff 100%);
}
.comparison-cluster__name-col[data-v-de44af9b] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 16px 20px;
}
.comparison-cluster__chevron[data-v-de44af9b] {
  color: #94a3b8;
  transition: transform 0.2s ease;
  flex-shrink: 0;
}
.comparison-cluster__chevron--open[data-v-de44af9b] {
  transform: rotate(90deg);
  color: #0d9488;
}
.comparison-cluster__name[data-v-de44af9b] {
  font-weight: 700;
  color: #0f172a;
  font-size: 0.95rem;
}
.comparison-cluster__name[data-v-de44af9b] mark {
  background: linear-gradient(135deg, #fef08a, #fde047);
  color: inherit;
  padding: 1px 4px;
  border-radius: 4px;
}
.comparison-cluster__placeholder-name[data-v-de44af9b] {
  max-width: 160px;
  width: 100%;
}
.comparison-cluster__match-count[data-v-de44af9b] {
  font-size: 0.75rem;
  background: #0d9488;
  color: white;
  padding: 3px 8px;
  border-radius: 999px;
  font-weight: 600;
}
.comparison-cluster__scores[data-v-de44af9b] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 1px;
  background: #f1f5f9;
}
.comparison-cluster__score[data-v-de44af9b] {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding: 16px 12px;
  background: #ffffff;
}
.comparison-cluster__score--placeholder[data-v-de44af9b] {
  min-height: 60px;
}
.comparison-score-placeholder-stars[data-v-de44af9b] {
  width: 76px;
  height: 12px;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.25) 0%,
    rgba(208, 213, 221, 0.8) 50%,
    rgba(255, 255, 255, 0.25) 100%
  );
  background-size: 200% 100%;
  animation: skeletonShimmer-de44af9b 1.2s ease-in-out infinite;
}
.comparison-score-placeholder-value[data-v-de44af9b] {
  width: 30px;
  height: 20px;
  border-radius: 8px;
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.25) 0%,
    rgba(208, 213, 221, 0.8) 50%,
    rgba(255, 255, 255, 0.25) 100%
  );
  background-size: 200% 100%;
  animation: skeletonShimmer-de44af9b 1.2s ease-in-out infinite;
}
.comparison-cluster__score-value[data-v-de44af9b] {
  font-size: 0.85rem;
  font-weight: 700;
  color: #475569;
  background: #f1f5f9;
  padding: 4px 10px;
  border-radius: 8px;
}

/* Enhanced Stars */
.comparison-stars[data-v-de44af9b] {
  display: flex;
  gap: 3px;
}
.comparison-star[data-v-de44af9b] {
  display: inline-flex;
  filter: drop-shadow(0 1px 2px rgba(245, 158, 11, 0.3));
  transition: all 0.15s ease;
}
.comparison-star--filled svg[data-v-de44af9b] {
  filter: drop-shadow(0 2px 4px rgba(245, 158, 11, 0.4));
}
.comparison-star--half svg[data-v-de44af9b] {
  opacity: 0.7;
}
.comparison-star--empty svg[data-v-de44af9b] {
  opacity: 0.5;
}

/* Slide-down transition for details */
.slide-down-enter-active[data-v-de44af9b],
.slide-down-leave-active[data-v-de44af9b] {
  transition: all 0.25s ease;
  overflow: hidden;
}
.slide-down-enter-from[data-v-de44af9b],
.slide-down-leave-to[data-v-de44af9b] {
  opacity: 0;
  max-height: 0;
}
.slide-down-enter-to[data-v-de44af9b],
.slide-down-leave-from[data-v-de44af9b] {
  opacity: 1;
  max-height: 1000px;
}

/* Cluster Details */
.comparison-cluster__details[data-v-de44af9b] {
  background: linear-gradient(180deg, #fafbfc 0%, #ffffff 100%);
  border-top: 1px solid #e2e8f0;
}
.comparison-detail[data-v-de44af9b] {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 0;
  border-top: 1px solid #f1f5f9;
}
.comparison-detail[data-v-de44af9b]:first-child {
  border-top: none;
}
.comparison-detail__name[data-v-de44af9b] {
  padding: 14px 20px 14px 52px;
  font-size: 0.88rem;
  color: #475569;
  background: #fafbfc;
  line-height: 1.4;
}
.comparison-detail__name[data-v-de44af9b] mark {
  background: linear-gradient(135deg, #fef08a, #fde047);
  color: inherit;
  padding: 1px 4px;
  border-radius: 4px;
}
.comparison-detail__values[data-v-de44af9b] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 1px;
  background: #f1f5f9;
}
.comparison-detail__value[data-v-de44af9b] {
  background: #ffffff;
  padding: 14px 16px;
  font-size: 0.88rem;
  color: #334155;
  text-align: center;
  line-height: 1.4;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  transition: all 0.15s ease;
}
.comparison-detail__value[data-v-de44af9b] mark {
  background: linear-gradient(135deg, #fef08a, #fde047);
  color: inherit;
  padding: 1px 4px;
  border-radius: 4px;
}
.comparison-detail__value--excellent[data-v-de44af9b] {
  background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);
  color: #065f46;
  font-weight: 600;
}
.comparison-detail__value--good[data-v-de44af9b] {
  background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
  color: #166534;
}
.comparison-detail__value--fair[data-v-de44af9b] {
  background: linear-gradient(135deg, #fefce8 0%, #fef9c3 100%);
  color: #854d0e;
}
.comparison-detail__value--poor[data-v-de44af9b] {
  background: linear-gradient(135deg, #fef2f2 0%, #fecaca 100%);
  color: #991b1b;
}
.comparison-detail__badge[data-v-de44af9b] {
  display: inline-flex;
  color: #f59e0b;
  animation: pulse-star-de44af9b 2s infinite;
}
@keyframes pulse-star-de44af9b {
0%,
  100% {
    transform: scale(1);
}
50% {
    transform: scale(1.15);
}
}

/* Responsive Comparison Modal */
@media (max-width: 900px) {
.comparison-modal[data-v-de44af9b] {
    width: 100%;
    max-height: 100vh;
    border-radius: 0;
}
.comparison-toolbar[data-v-de44af9b] {
    flex-direction: column;
    gap: 12px;
}
.comparison-search[data-v-de44af9b] {
    max-width: 100%;
}
.comparison-toolbar__actions[data-v-de44af9b] {
    width: 100%;
    justify-content: flex-end;
}
.comparison-providers[data-v-de44af9b],
  .comparison-cluster__header[data-v-de44af9b],
  .comparison-detail[data-v-de44af9b] {
    grid-template-columns: 140px repeat(auto-fit, minmax(120px, 1fr));
}
.comparison-cluster__scores[data-v-de44af9b],
  .comparison-detail__values[data-v-de44af9b] {
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
}
.comparison-provider__company[data-v-de44af9b],
  .comparison-cluster__name[data-v-de44af9b] {
    font-size: 0.8rem;
}
.comparison-provider__price-value[data-v-de44af9b] {
    font-size: 1.15rem;
}
.comparison-provider__logo-container[data-v-de44af9b] {
    width: 50px;
    height: 32px;
    margin-bottom: 6px;
}
.comparison-provider__product[data-v-de44af9b] {
    font-size: 0.65rem;
}
.comparison-detail__name[data-v-de44af9b] {
    padding-left: 40px;
}
.comparison-detail__name[data-v-de44af9b],
  .comparison-detail__value[data-v-de44af9b] {
    font-size: 0.8rem;
    padding: 10px 12px;
}
.comparison-modal__header h3[data-v-de44af9b] {
    font-size: 0.9rem;
}
.comparison-modal__icon[data-v-de44af9b] {
    width: 28px;
    height: 28px;
}
.comparison-modal__icon svg[data-v-de44af9b] {
    width: 16px;
    height: 16px;
}
}
@media (max-width: 600px) {
  /* Mobile: Stacked layout */

  /* Provider headers - horizontal compact row */
.comparison-providers[data-v-de44af9b] {
    display: flex;
    flex-wrap: nowrap;
    gap: 0;
    background: #f1f5f9;
    position: sticky;
    top: 0;
    z-index: 10;
}
.comparison-providers__label[data-v-de44af9b] {
    display: none;
}
.comparison-provider[data-v-de44af9b] {
    flex: 1;
    min-width: 0;
    padding: 6px 3px;
}
.comparison-provider__card[data-v-de44af9b] {
    padding: 6px 4px;
    border-radius: 6px;
}
.comparison-provider__price[data-v-de44af9b] {
    margin-bottom: 4px;
    padding-bottom: 4px;
}
.comparison-provider__price-value[data-v-de44af9b] {
    font-size: 0.95rem;
}
.comparison-provider__price-period[data-v-de44af9b] {
    font-size: 0.55rem;
}
.comparison-provider__logo-container[data-v-de44af9b] {
    width: 32px;
    height: 22px;
    margin-bottom: 3px;
}
.comparison-provider__company[data-v-de44af9b] {
    font-size: 0.6rem;
    line-height: 1.2;
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
}
.comparison-provider__product[data-v-de44af9b] {
    font-size: 0.5rem;
    line-height: 1.2;
    word-wrap: break-word;
    overflow-wrap: break-word;
    display: block;
}

  /* Clusters - stacked layout */
.comparison-cluster__header[data-v-de44af9b] {
    display: flex;
    flex-direction: column;
    gap: 0;
}
.comparison-cluster__name-col[data-v-de44af9b] {
    width: 100%;
    padding: 10px 12px;
    background: linear-gradient(90deg, #f8fafc 0%, #ffffff 100%);
    border-bottom: 1px solid #e2e8f0;
    justify-content: space-between;
}
.comparison-cluster__name[data-v-de44af9b] {
    font-size: 0.85rem;
    font-weight: 700;
    text-align: center;
    width: 100%;
}
.comparison-cluster__chevron[data-v-de44af9b] {
    display: inline-block;
}
.comparison-cluster__match-count[data-v-de44af9b] {
    font-size: 0.65rem;
    padding: 1px 5px;
}
.comparison-cluster__scores[data-v-de44af9b] {
    display: flex;
    width: 100%;
    background: #ffffff;
}
.comparison-cluster__score[data-v-de44af9b] {
    flex: 1;
    padding: 8px 4px;
    gap: 4px;
    border-right: 1px solid #f1f5f9;
    min-width: 0;
}
.comparison-cluster__score[data-v-de44af9b]:last-child {
    border-right: none;
}
.comparison-stars[data-v-de44af9b] {
    gap: 1px;
    flex-wrap: wrap;
    justify-content: center;
}
.comparison-stars svg[data-v-de44af9b] {
    width: 12px;
    height: 12px;
}
.comparison-cluster__score-value[data-v-de44af9b] {
    font-size: 0.65rem;
    padding: 2px 4px;
}

  /* Details - stacked layout */
.comparison-detail[data-v-de44af9b] {
    display: flex;
    flex-direction: column;
}
.comparison-detail__name[data-v-de44af9b] {
    width: 100%;
    padding: 8px 12px 6px 12px;
    font-size: 0.75rem;
    font-weight: 600;
    text-align: center;
    background: #fafbfc;
    border-bottom: none;
}
.comparison-detail__values[data-v-de44af9b] {
    display: flex;
    width: 100%;
    border-bottom: 1px solid #f1f5f9;
}
.comparison-detail__value[data-v-de44af9b] {
    flex: 1;
    min-width: 0;
    padding: 6px 4px;
    font-size: 0.6rem;
    text-align: center;
    border-right: 1px solid #f1f5f9;
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
    line-height: 1.3;
}
.comparison-detail__value[data-v-de44af9b]:last-child {
    border-right: none;
}

  /* Toolbar */
.comparison-toolbar[data-v-de44af9b] {
    flex-direction: column;
    gap: 8px;
    padding: 10px 12px;
}
.comparison-search[data-v-de44af9b] {
    max-width: 100%;
}
.comparison-search__input[data-v-de44af9b] {
    font-size: 0.85rem;
}
.comparison-toolbar__actions[data-v-de44af9b] {
    display: none;
}

  /* Footer */
.comparison-modal__footer[data-v-de44af9b] {
    flex-direction: column;
    gap: 8px;
    padding: 12px 16px;
}
.comparison-modal__footer-info[data-v-de44af9b] {
    font-size: 0.7rem;
}

  /* Header */
.comparison-modal__header[data-v-de44af9b] {
    padding: 10px 14px;
}
.comparison-modal__header h3[data-v-de44af9b] {
    font-size: 0.85rem;
}
.comparison-modal__icon[data-v-de44af9b] {
    width: 26px;
    height: 26px;
}
.comparison-modal__icon svg[data-v-de44af9b] {
    width: 14px;
    height: 14px;
}
}

/* Compare floating button & checkbox - kept from original */
.compare-floating-button[data-v-de44af9b] {
  padding: 12px 20px;
  font-size: 0.85rem;
}
.comparison-checkbox[data-v-de44af9b] {
  padding: 4px 8px;
  font-size: 0.8rem;
}

/* Mobile-optimized touch targets and layout fixes */
@media (max-width: 768px) {
  /* Legal action PDF buttons - ensure 44px touch target */
.legal-action[data-v-de44af9b] {
    padding: 10px 14px;
    min-height: 44px;
    font-size: 0.82rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.legal-action.small[data-v-de44af9b] {
    padding: 8px 12px;
    min-height: 44px;
    font-size: 0.78rem;
}
.legal-row-2 .legal-action[data-v-de44af9b] {
    padding: 8px 10px;
    min-height: 44px;
    font-size: 0.75rem;
}

  /* Tariff score badge - ensure 44px touch target */
.tariff-score-badge[data-v-de44af9b] {
    min-height: 44px;
    padding: 10px 12px;
}

  /* Fixed width overrides to prevent overflow */
.legal-item[data-v-de44af9b] {
    width: min(360px, 100%);
}
.tariff-header-right[data-v-de44af9b] {
    min-width: unset;
    width: 100%;
}
.tariff-score-badge[data-v-de44af9b] {
    min-width: unset;
    width: 100%;
}

  /* Tariff header - stack on mobile */
.tariff-header[data-v-de44af9b] {
    flex-direction: column;
    gap: 12px;
    align-items: stretch;
}
}
@media (max-width: 480px) {
  /* Further adjustments for very small screens */
.legal-item[data-v-de44af9b] {
    flex-direction: column;
    gap: 8px;
    padding: 10px;
}
.legal-item .legal-text[data-v-de44af9b] {
    width: 100%;
    text-align: left;
    white-space: normal;
}
.legal-action[data-v-de44af9b] {
    width: 100%;
}
}
.compare-assistant-btn[data-v-de44af9b] {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  border: 1px solid #38bdf8;
  background: linear-gradient(120deg, #eff8ff 0%, #e0f2fe 45%, #eff8ff 100%);
  background-size: 220% 100%;
  color: #0c4a6e;
  border-radius: 999px;
  padding: 8px 14px;
  font-size: 0.85rem;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 6px 18px rgba(14, 165, 233, 0.16);
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    border-color 0.22s ease;
  animation: pollyBtnSheen-de44af9b 4.4s linear infinite;
}
.compare-assistant-btn[data-v-de44af9b]:hover:not(:disabled) {
  transform: translateY(-1px);
  border-color: #0284c7;
  box-shadow: 0 10px 24px rgba(3, 105, 161, 0.25);
}
.compare-assistant-btn[data-v-de44af9b]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  animation: none;
  box-shadow: none;
}
.compare-assistant-btn__icon[data-v-de44af9b] {
  font-size: 1.02rem;
  line-height: 1;
  animation: pollyIconFloat-de44af9b 1.9s ease-in-out infinite;
}
.compare-assistant-modal-backdrop[data-v-de44af9b] {
  position: fixed;
  inset: 0;
  background:
    radial-gradient(circle at 20% 15%, rgba(125, 211, 252, 0.28), transparent 36%),
    radial-gradient(circle at 80% 85%, rgba(56, 189, 248, 0.2), transparent 34%),
    rgba(2, 6, 23, 0.62);
  backdrop-filter: blur(2px);
  z-index: 3100;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.compare-assistant-modal[data-v-de44af9b] {
  width: min(860px, 100%);
  max-height: calc(100vh - 32px);
  overflow: auto;
  background: #ffffff;
  border-radius: 18px;
  box-shadow: 0 34px 90px rgba(2, 6, 23, 0.34);
  border: 1px solid #bae6fd;
  animation: pollyModalIn-de44af9b 0.28s cubic-bezier(0.21, 1.12, 0.38, 1);
}
.compare-assistant-modal__header[data-v-de44af9b] {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  padding: 18px 20px 14px;
  border-bottom: 1px solid #dbeafe;
  background: linear-gradient(180deg, #f0f9ff 0%, #ffffff 100%);
}
.compare-assistant-modal__brand[data-v-de44af9b] {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.compare-assistant-modal__avatar[data-v-de44af9b] {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: linear-gradient(145deg, #0ea5e9, #0284c7);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 1.05rem;
  box-shadow: 0 10px 20px rgba(3, 105, 161, 0.28);
  animation: pollyPulse-de44af9b 2.4s ease-in-out infinite;
}
.compare-assistant-modal__kicker[data-v-de44af9b] {
  margin: 0 0 2px;
  color: #0369a1 !important;
  font-size: 0.76rem !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-weight: 800;
}
.compare-assistant-modal__header h3[data-v-de44af9b] {
  margin: 0 0 4px;
  font-size: 1.12rem;
  font-weight: 800;
  color: #082f49;
}
.compare-assistant-modal__header p[data-v-de44af9b] {
  margin: 0;
  color: #475569;
  font-size: 0.9rem;
}
.compare-assistant-modal__close[data-v-de44af9b] {
  border: none;
  background: transparent;
  color: #64748b;
  font-size: 1rem;
  cursor: pointer;
  padding: 4px 6px;
  border-radius: 6px;
}
.compare-assistant-modal__close[data-v-de44af9b]:hover {
  background: #e0f2fe;
  color: #0f172a;
}
.compare-assistant-modal__body[data-v-de44af9b] {
  padding: 16px 20px 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.compare-assistant-label[data-v-de44af9b] {
  font-size: 0.84rem;
  font-weight: 700;
  color: #0f172a;
}
.compare-assistant-textarea[data-v-de44af9b] {
  width: 100%;
  resize: vertical;
  min-height: 110px;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  padding: 10px 12px;
  font-size: 0.93rem;
  color: #0f172a;
  line-height: 1.45;
}
.compare-assistant-textarea[data-v-de44af9b]:focus {
  outline: none;
  border-color: #0284c7;
  box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.16);
}
.compare-assistant-actions[data-v-de44af9b] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.compare-assistant-run-btn[data-v-de44af9b] {
  border: none;
  border-radius: 999px;
  background: linear-gradient(135deg, #0284c7, #0369a1, #075985);
  background-size: 180% 100%;
  color: #ffffff;
  font-weight: 700;
  font-size: 0.88rem;
  padding: 10px 16px;
  cursor: pointer;
  transition:
    transform 0.18s ease,
    box-shadow 0.2s ease;
  box-shadow: 0 8px 20px rgba(3, 105, 161, 0.26);
}
.compare-assistant-run-btn[data-v-de44af9b]:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 11px 24px rgba(3, 105, 161, 0.32);
  animation: pollyBtnSheen-de44af9b 2.8s linear infinite;
}
.compare-assistant-run-btn[data-v-de44af9b]:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
.compare-assistant-error[data-v-de44af9b] {
  margin: 0;
  color: #b91c1c;
  font-size: 0.85rem;
  font-weight: 600;
}
.compare-assistant-loading[data-v-de44af9b] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border: 1px dashed #7dd3fc;
  border-radius: 12px;
  background: linear-gradient(180deg, #f0f9ff 0%, #ffffff 100%);
  color: #334155;
  font-size: 0.84rem;
}
.compare-assistant-loading__orbital[data-v-de44af9b] {
  position: relative;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  border: 1px solid #7dd3fc;
  background: radial-gradient(circle at 50% 50%, rgba(14, 165, 233, 0.1), transparent 70%);
  animation: pollySpin-de44af9b 6.2s linear infinite;
  flex: 0 0 54px;
}
.compare-assistant-loading__planet[data-v-de44af9b] {
  position: absolute;
  width: 20px;
  height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.76rem;
  border-radius: 50%;
  background: #ffffff;
  box-shadow: 0 4px 10px rgba(14, 165, 233, 0.22);
}
.compare-assistant-loading__planet--one[data-v-de44af9b] {
  top: -5px;
  left: 16px;
}
.compare-assistant-loading__planet--two[data-v-de44af9b] {
  top: 17px;
  right: -7px;
}
.compare-assistant-loading__planet--three[data-v-de44af9b] {
  bottom: -5px;
  left: 17px;
}
.compare-assistant-loading__core[data-v-de44af9b] {
  position: absolute;
  inset: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.05rem;
}
.compare-assistant-loading__copy[data-v-de44af9b] {
  min-height: 44px;
}
.compare-assistant-loading__copy strong[data-v-de44af9b] {
  display: block;
  color: #0c4a6e;
  margin-bottom: 4px;
}
.compare-assistant-loading__copy p[data-v-de44af9b] {
  margin: 0;
  color: #475569;
  animation: pollyFadeText-de44af9b 0.6s ease;
}
.compare-assistant-info-chip[data-v-de44af9b] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid #bae6fd;
  background: #f0f9ff;
  color: #0c4a6e;
  font-size: 0.8rem;
  font-weight: 600;
}
.compare-assistant-info-chip__icon[data-v-de44af9b] {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 1px solid #7dd3fc;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.72rem;
  font-weight: 800;
  background: #ffffff;
}
.compare-assistant-result[data-v-de44af9b] {
  border: 1px solid #bae6fd;
  background: linear-gradient(180deg, #f8fcff 0%, #ffffff 100%);
  border-radius: 14px;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.compare-assistant-result__chip[data-v-de44af9b] {
  align-self: flex-start;
  border-radius: 999px;
  background: #e0f2fe;
  color: #075985;
  font-size: 0.73rem;
  font-weight: 800;
  padding: 4px 9px;
}
.compare-assistant-result__title[data-v-de44af9b] {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  color: #0f172a;
}
.compare-assistant-result__summary[data-v-de44af9b] {
  margin: 0;
  color: #334155;
  font-size: 0.9rem;
}
.compare-assistant-result__section h5[data-v-de44af9b] {
  margin: 0 0 5px;
  font-size: 0.86rem;
  color: #0f172a;
}
.compare-assistant-result__section p[data-v-de44af9b] {
  margin: 0;
  color: #334155;
  font-size: 0.86rem;
  line-height: 1.45;
}
.compare-assistant-links[data-v-de44af9b],
.compare-assistant-points[data-v-de44af9b] {
  margin: 0;
  padding-left: 18px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.compare-assistant-points--ordered[data-v-de44af9b] {
  padding-left: 20px;
}
.compare-assistant-points--warning[data-v-de44af9b] {
  color: #9a3412;
}
.compare-assistant-link[data-v-de44af9b] {
  border: none;
  background: transparent;
  color: #1d4ed8;
  text-decoration: underline;
  font-size: 0.84rem;
  font-weight: 700;
  cursor: pointer;
  padding: 0;
}
.compare-assistant-link[data-v-de44af9b]:hover {
  color: #1e40af;
}
.compare-assistant-link__reason[data-v-de44af9b] {
  margin-left: 5px;
  color: #475569;
  font-size: 0.82rem;
}
.compare-assistant-markdown[data-v-de44af9b] {
  margin: 0;
  background: #ffffff;
  color: #0f172a;
  border: 1px solid #dbeafe;
  border-radius: 10px;
  padding: 12px;
  line-height: 1.5;
  font-size: 0.9rem;
}
.compare-assistant-markdown[data-v-de44af9b] h1,
.compare-assistant-markdown[data-v-de44af9b] h2,
.compare-assistant-markdown[data-v-de44af9b] h3,
.compare-assistant-markdown[data-v-de44af9b] h4 {
  margin: 0 0 8px;
  color: #082f49;
  font-size: 0.95rem;
}
.compare-assistant-markdown[data-v-de44af9b] p {
  margin: 0 0 10px;
  color: #0f172a;
}
.compare-assistant-markdown[data-v-de44af9b] ul,
.compare-assistant-markdown[data-v-de44af9b] ol {
  margin: 0 0 12px;
  padding-left: 18px;
}
.compare-assistant-markdown[data-v-de44af9b] li {
  margin-bottom: 4px;
}
.compare-assistant-markdown[data-v-de44af9b] a {
  color: #1d4ed8;
  text-decoration: underline;
}
.compare-assistant-markdown[data-v-de44af9b] code {
  background: #e2e8f0;
  border-radius: 4px;
  padding: 1px 4px;
  font-size: 0.82rem;
}
.compare-assistant-markdown__table-wrap[data-v-de44af9b] {
  overflow-x: auto;
  margin-bottom: 12px;
}
.compare-assistant-markdown[data-v-de44af9b] table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.85rem;
}
.compare-assistant-markdown[data-v-de44af9b] th,
.compare-assistant-markdown[data-v-de44af9b] td {
  border: 1px solid #bae6fd;
  padding: 7px 8px;
  text-align: left;
  vertical-align: top;
}
.compare-assistant-markdown[data-v-de44af9b] th {
  background: #f0f9ff;
  color: #0c4a6e;
  font-weight: 700;
}
.compare-assistant-disclaimer[data-v-de44af9b] {
  margin: 2px 0 0;
  padding: 8px 10px;
  border-radius: 8px;
  background: #fff7ed;
  border: 1px solid #fed7aa;
  color: #9a3412;
  font-size: 0.8rem;
  line-height: 1.45;
}
@keyframes pollyBtnSheen-de44af9b {
0% {
    background-position: 0% 50%;
}
100% {
    background-position: 200% 50%;
}
}
@keyframes pollyIconFloat-de44af9b {
0%,
  100% {
    transform: translateY(0);
}
50% {
    transform: translateY(-1px);
}
}
@keyframes pollyModalIn-de44af9b {
from {
    opacity: 0;
    transform: translateY(8px) scale(0.985);
}
to {
    opacity: 1;
    transform: translateY(0) scale(1);
}
}
@keyframes pollyPulse-de44af9b {
0%,
  100% {
    box-shadow: 0 10px 20px rgba(3, 105, 161, 0.28);
}
50% {
    box-shadow: 0 14px 26px rgba(14, 165, 233, 0.34);
}
}
@keyframes pollySpin-de44af9b {
from {
    transform: rotate(0deg);
}
to {
    transform: rotate(360deg);
}
}
@keyframes pollyFadeText-de44af9b {
from {
    opacity: 0;
    transform: translateY(2px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}

.calculation-wrapper[data-v-26cda1cb] {
  padding: 20px;
  background-color: #f8f9fa;
  min-height: 100vh;
  box-sizing: border-box;
  position: relative;
}
.main-title[data-v-26cda1cb] {
  text-align: center;
  margin-bottom: 30px;
  font-size: 2rem;
  color: #057343;
}
.loading-config[data-v-26cda1cb] {
  text-align: center;
  padding: 40px 0;
  color: #6c757d;
}
.form-container[data-v-26cda1cb] {
  max-width: 1000px;
  margin: 0 auto 30px auto;
  background-color: #ffffff;
  padding: 40px;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}
.step-header[data-v-26cda1cb] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 35px;
  padding-bottom: 15px;
  border-bottom: 2px solid #dee2e6;
}
h3[data-v-26cda1cb] {
  margin-top: 0;
  margin-bottom: 5px;
  color: #343a40;
  font-size: 1.6rem;
  font-weight: 600;
}
.step-header span[data-v-26cda1cb] {
  font-size: 0.95rem;
  color: #6c757d;
  background-color: #f8f9fa;
  padding: 6px 12px;
  border-radius: 20px;
  font-weight: 500;
}

/* Ingangsdatum warning banner */
.ingangsdatum-warning-banner[data-v-26cda1cb] {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background: linear-gradient(135deg, #fff3cd 0%, #ffeeba 100%);
  border: 1px solid #ffc107;
  border-left: 4px solid #e0a800;
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 24px;
  box-shadow: 0 2px 8px rgba(255, 193, 7, 0.15);
}
.ingangsdatum-warning-banner .warning-icon[data-v-26cda1cb] {
  font-size: 1.5rem;
  flex-shrink: 0;
}
.ingangsdatum-warning-banner .warning-content[data-v-26cda1cb] {
  flex: 1;
}
.ingangsdatum-warning-banner .warning-content strong[data-v-26cda1cb] {
  display: block;
  color: #856404;
  font-size: 1rem;
  margin-bottom: 4px;
}
.ingangsdatum-warning-banner .warning-content p[data-v-26cda1cb] {
  color: #856404;
  font-size: 0.9rem;
  margin: 0;
  line-height: 1.5;
}
.ingangsdatum-warning-banner .dismiss-btn[data-v-26cda1cb] {
  background: transparent;
  border: none;
  color: #856404;
  font-size: 1.5rem;
  cursor: pointer;
  padding: 0 4px;
  line-height: 1;
  opacity: 0.7;
  transition: opacity 0.2s;
}
.ingangsdatum-warning-banner .dismiss-btn[data-v-26cda1cb]:hover {
  opacity: 1;
}
.step-validation-summary[data-v-26cda1cb] {
  margin-bottom: 24px;
  padding: 16px 18px;
  border: 1px solid #f5c6cb;
  border-left: 4px solid #dc3545;
  border-radius: 8px;
  background: #fff5f5;
  color: #721c24;
  scroll-margin-top: 140px;
}
.step-validation-summary[data-v-26cda1cb]:focus {
  outline: 3px solid rgba(220, 53, 69, 0.22);
  outline-offset: 2px;
}
.step-validation-summary strong[data-v-26cda1cb] {
  display: block;
  margin-bottom: 4px;
  font-size: 1rem;
}
.step-validation-summary p[data-v-26cda1cb] {
  margin: 0 0 8px;
  font-size: 0.92rem;
  line-height: 1.45;
}
.step-validation-summary ul[data-v-26cda1cb] {
  margin: 0;
  padding-left: 18px;
}
.step-validation-summary li[data-v-26cda1cb] {
  margin-top: 4px;
  font-size: 0.88rem;
  line-height: 1.35;
}
.form-fields[data-v-26cda1cb] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 24px 20px;
  margin-bottom: 35px;
}

/* Limit to max 3 columns */
@media (min-width: 1200px) {
.form-fields[data-v-26cda1cb] {
    grid-template-columns: repeat(2, 1fr);
}
}

/* Force full width for these elements */
.form-fields[data-v-26cda1cb] >  .address-group,
.form-fields[data-v-26cda1cb] >  .form-group-full,
.field-section[data-v-26cda1cb] {
  grid-column: 1 / -1;
}

/* Field sections for grouping related fields */
.field-section[data-v-26cda1cb] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  padding: 28px;
  background-color: var(--color-background-subtle, #f8f9fa);
  border-radius: 10px;
  border: 1px solid var(--color-border-light, #e9ecef);
  margin-bottom: 20px;
  position: relative;
  max-width: 100%;
}

/* Max 3 columns in field sections */
@media (min-width: 1200px) {
.field-section[data-v-26cda1cb] {
    grid-template-columns: repeat(3, 1fr);
}
}
.field-section-title[data-v-26cda1cb] {
  grid-column: 1 / -1;
  font-size: 1.15rem;
  font-weight: 600;
  color: #6c757d;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.field-section-title[data-v-26cda1cb]::before {
  content: '';
  display: inline-block;
  width: 4px;
  height: 24px;
  background-color: #03854c;
  border-radius: 2px;
}

/* Auto-filled indicator */
.field-autofilled[data-v-26cda1cb] {
  position: relative;
  padding-top: 18px;
}
.field-autofilled input[data-v-26cda1cb] {
  background-color: #f8f9fa !important;
  border-color: #dee2e6 !important;
}
.field-suggestion-applied[data-v-26cda1cb] {
  position: relative;
  padding-top: 18px;
}
.field-suggestion-applied input[data-v-26cda1cb],
.field-suggestion-applied select[data-v-26cda1cb],
.field-suggestion-applied textarea[data-v-26cda1cb] {
  border-color: #2563eb;
  box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.2);
}
.autofill-indicator[data-v-26cda1cb] {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  pointer-events: none;
  font-size: 0.7rem;
  color: white;
  background-color: #28a745;
  padding: 2px 8px;
  font-weight: 500;
  font-style: normal;
  line-height: 1.4;
  border-radius: 3px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.suggestion-indicator[data-v-26cda1cb] {
  position: absolute;
  top: 0;
  right: 0;
  font-size: 0.7rem;
  color: #1d4ed8;
  background-color: rgba(29, 78, 216, 0.12);
  padding: 2px 8px;
  font-weight: 500;
  font-style: normal;
  line-height: 1.4;
  border-radius: 3px;
  box-shadow: 0 1px 3px rgba(29, 78, 216, 0.15);
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.suggestion-indicator[data-v-26cda1cb]::before {
  content: 'i';
}
.field-locked-indicator[data-v-26cda1cb] {
  position: absolute;
  top: 0;
  right: 0;
  font-size: 0.7rem;
  color: white;
  background-color: #6c757d;
  padding: 2px 8px;
  font-weight: 500;
  font-style: normal;
  line-height: 1.4;
  border-radius: 3px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  z-index: 10;
}

/* Empty required fields - yellow tint */
.field-empty-required[data-v-26cda1cb] {
  position: relative;
}
.field-empty-required[data-v-26cda1cb] input:not(:focus):not(:disabled),
.field-empty-required[data-v-26cda1cb] select:not(:focus):not(:disabled),
.field-empty-required[data-v-26cda1cb] textarea:not(:focus):not(:disabled) {
  background-color: #fffbf0 !important;
  border-color: #f0e68c !important;
}
.field-empty-required[data-v-26cda1cb] input:focus:not(:disabled),
.field-empty-required[data-v-26cda1cb] select:focus:not(:disabled),
.field-empty-required[data-v-26cda1cb] textarea:focus:not(:disabled) {
  background-color: #fffbf0 !important;
  border-color: #ffc107 !important;
  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.25) !important;
}

/* Address wrapper specific */
.address-wrapper.field-empty-required[data-v-26cda1cb] .address-fields input:not(:focus):not(:disabled) {
  background-color: #fffbf0 !important;
  border-color: #f0e68c !important;
}
.address-wrapper[data-v-26cda1cb] {
  position: relative;
  grid-column: 1 / -1; /* Ensure address fields span full width */
}

/* Field error states */
.field-error[data-v-26cda1cb] {
  position: relative;
}
.field-error[data-v-26cda1cb] input,
.field-error[data-v-26cda1cb] select,
.field-error[data-v-26cda1cb] textarea {
  border-color: #dc3545 !important;
  border-width: 2px !important;
  padding-right: 35px !important;
}
.field-error[data-v-26cda1cb] input:focus,
.field-error[data-v-26cda1cb] select:focus,
.field-error[data-v-26cda1cb] textarea:focus {
  border-color: #dc3545 !important;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25) !important;
}

/* Error icon */
.field-error[data-v-26cda1cb]::after {
  content: '✕';
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #dc3545;
  font-size: 1.2rem;
  font-weight: bold;
  pointer-events: none;
  z-index: 2;
}

/* Adjust for fields with labels */
.field-error[data-v-26cda1cb]:has(:deep(label))::after {
  top: calc(50% + 15px);
}

/* Error message styling */
.field-error[data-v-26cda1cb] .error-message {
  color: #dc3545;
  font-size: 0.75rem;
  margin-top: 4px;
  display: block;
}
[data-v-26cda1cb] label {
  margin-bottom: 5px;
  font-weight: 500;
  color: #212529;
}
[data-v-26cda1cb] input,[data-v-26cda1cb] select {
  padding: 10px 12px;
  border: 1px solid #ced4da;
  border-radius: 4px;
  font-size: 1rem;
  transition:
    border-color 0.15s ease-in-out,
    box-shadow 0.15s ease-in-out;
}
[data-v-26cda1cb] input:focus,[data-v-26cda1cb] select:focus {
  border-color: #80bdff;
  outline: 0;
  box-shadow: 0 0 0 0.2rem #032b1a;
}
.navigation-buttons[data-v-26cda1cb] {
  margin-top: 30px;
  padding-top: 20px;
  border-top: 1px solid #dee2e6;
  display: flex;
  justify-content: space-between;
  gap: 15px;
}
button[data-v-26cda1cb] {
  padding: 12px 25px;
  cursor: pointer;
  border: none;
  border-radius: 5px;
  background-color: #03854c;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 500;
  transition: background-color 0.2s ease;
}
button[data-v-26cda1cb]:hover:not(:disabled) {
  background-color: #057343;
}
button[data-v-26cda1cb]:disabled {
  background-color: #adb5bd;
  cursor: not-allowed;
}
/* Back button (Vorige) styled gray */
.btn-back[data-v-26cda1cb] {
  background-color: #6c757d;
}
.btn-back[data-v-26cda1cb]:hover:not(:disabled) {
  background-color: #5a6268;
}
/* Forward button (Volgende/Bereken) styled green */
.btn-forward[data-v-26cda1cb] {
  background-color: #03854c;
}
.btn-forward[data-v-26cda1cb]:hover:not(:disabled) {
  background-color: #057343;
}
.btn-forward[data-v-26cda1cb]:disabled {
  background-color: #adb5bd;
}
.result-container[data-v-26cda1cb] {
  margin: 0 auto 30px auto;
}
.error-container[data-v-26cda1cb] {
  max-width: 800px;
  margin: 30px auto;
}
.error-message[data-v-26cda1cb] {
  color: #721c24;
  background-color: #f8d7da;
  border: 1px solid #f5c6cb;
  padding: 20px;
  border-radius: 5px;
}
.error-message h3[data-v-26cda1cb] {
  margin-top: 0;
  color: #721c24;
  margin-bottom: 10px;
}
.error-message p[data-v-26cda1cb] {
  margin-bottom: 15px;
}
.error-actions[data-v-26cda1cb] {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}
.error-actions button[data-v-26cda1cb] {
  background-color: #dc3545;
}
.error-actions button[data-v-26cda1cb]:hover {
  background-color: #bb2d3b;
}
.error-actions button[data-v-26cda1cb]:first-child {
  background-color: #6c757d;
}
.error-actions button[data-v-26cda1cb]:first-child:hover {
  background-color: #5a6268;
}

/* --- Calculation Loading Overlay --- */
.calculation-loading-overlay[data-v-26cda1cb] {
  position: fixed;
  inset: 0;
  background: radial-gradient(
    ellipse at center,
    rgba(255, 255, 255, 0.96) 0%,
    rgba(245, 248, 246, 0.98) 100%
  );
  backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}
.loading-card[data-v-26cda1cb] {
  background: #ffffff;
  border: 1px solid #e6f3ec;
  border-radius: 16px;
  box-shadow: 0 16px 40px rgba(3, 133, 76, 0.15);
  padding: 28px 32px;
  text-align: center;
  width: min(560px, 92vw);
}
.loading-title[data-v-26cda1cb] {
  margin: 14px 0 6px;
  color: #0b7d49;
  font-size: 1.4rem;
  font-weight: 800;
}
.loading-subtitle[data-v-26cda1cb] {
  margin: 0;
  color: #2b463b;
  font-size: 0.95rem;
}

/* Animated ring loader (4 segments) */
.loader-ring[data-v-26cda1cb] {
  display: inline-block;
  position: relative;
  width: 72px;
  height: 72px;
}
.loader-ring div[data-v-26cda1cb] {
  box-sizing: border-box;
  display: block;
  position: absolute;
  width: 72px;
  height: 72px;
  margin: 8px;
  border: 6px solid #22c55e;
  border-radius: 50%;
  animation: loader-ring-26cda1cb 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  border-color: #22c55e transparent transparent transparent;
}
.loader-ring div[data-v-26cda1cb]:nth-child(1) {
  animation-delay: -0.45s;
}
.loader-ring div[data-v-26cda1cb]:nth-child(2) {
  animation-delay: -0.3s;
}
.loader-ring div[data-v-26cda1cb]:nth-child(3) {
  animation-delay: -0.15s;
}
@keyframes loader-ring-26cda1cb {
0% {
    transform: rotate(0deg);
}
100% {
    transform: rotate(360deg);
}
}

/* Field with info icon styling */
/* Field wrapper for all form fields */
.form-field-wrapper[data-v-26cda1cb] {
  position: relative;
  width: 100%;
}
.field-with-info[data-v-26cda1cb] >  .form-group {
  width: 100%;
  position: relative;
}

/* Position icon inline after label text */
.field-with-info[data-v-26cda1cb] label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  position: relative;
}
.field-with-info[data-v-26cda1cb] >  .field-info-icon {
  position: absolute;
  top: 0;
  left: auto;
  margin-left: 6px;
  /* Find the label and position after its text */
  display: inline-flex;
}

/* For regular form groups, position after the label */
.field-with-info[data-v-26cda1cb] >  .form-group label::after {
  content: '';
  width: 26px; /* Reserve space for icon */
  display: inline-block;
}
.field-with-info[data-v-26cda1cb] >  .form-group .field-info-icon {
  position: absolute;
  top: 0;
  left: auto;
  margin-left: 6px;
}

/* For checkbox fields */
.field-with-info[data-v-26cda1cb] >  .form-group-checkbox-wrapper {
  position: relative;
}
.field-with-info[data-v-26cda1cb] >  .toggle-switch-label {
  padding-right: 30px; /* Make room for icon */
}
.field-disabled-reason[data-v-26cda1cb] {
  display: block;
  margin-top: 4px;
  font-size: 0.85rem;
  color: #adb5bd;
  font-style: italic;
}

/* Loading overlay removed - now handled inside CalculationResultDisplay only for results area */

/* Responsive design improvements */
@media (max-width: 992px) {
.form-container[data-v-26cda1cb] {
    padding: 30px;
}
.form-fields[data-v-26cda1cb] {
    grid-template-columns: 1fr;
    gap: 20px;
}
.form-fields[data-v-26cda1cb] >  .form-group {
    grid-column: span 1;
}
.form-fields[data-v-26cda1cb] >  .form-group-full {
    grid-column: span 1;
}
.field-section[data-v-26cda1cb] {
    grid-template-columns: 1fr;
    padding: 20px;
}
}
@media (max-width: 768px) {
.calculation-wrapper[data-v-26cda1cb] {
    padding: 0 5px;
}
.main-title[data-v-26cda1cb] {
    font-size: 1.6rem;
    margin-bottom: 20px;
}
.form-container[data-v-26cda1cb] {
    padding: 5px;
    border-radius: 8px;
}
.form-fields[data-v-26cda1cb] {
    grid-template-columns: 1fr;
    gap: 20px;
}

  /* All fields full width on mobile */
.form-fields[data-v-26cda1cb] >  .form-group,
  .form-fields[data-v-26cda1cb] >  .form-group-third,
  .form-fields[data-v-26cda1cb] >  .form-group-full,
  .form-fields[data-v-26cda1cb] >  .address-group {
    grid-column: span 1;
}
.field-section[data-v-26cda1cb] {
    grid-template-columns: 1fr;
    padding: 5px;
    gap: 16px;
}
h3[data-v-26cda1cb] {
    font-size: 1.3rem;
}
.step-header span[data-v-26cda1cb] {
    font-size: 0.85rem;
    padding: 4px 10px;
}
button[data-v-26cda1cb] {
    padding: 12px 20px;
}
.navigation-buttons[data-v-26cda1cb] {
    flex-direction: column-reverse;
    gap: 12px;
}
.navigation-buttons button[data-v-26cda1cb] {
    width: 100%;
}
.error-actions[data-v-26cda1cb] {
    flex-direction: column;
}
.error-actions button[data-v-26cda1cb] {
    width: 100%;
}

  /* Adjust info icon position on mobile */
.field-with-info[data-v-26cda1cb] >  .field-info-icon {
    position: static;
    margin-left: 8px;
    align-self: center;
}
.field-with-info[data-v-26cda1cb] >  .form-group-checkbox-wrapper + :deep(.field-info-icon) {
    position: static;
    margin-left: 8px;
}
}
.field-disabled-reason[data-v-26cda1cb] {
  display: block;
  margin-top: 4px;
  color: #6c757d;
  font-size: 0.85rem;
  font-style: italic;
}

/* Address status container - spans full width */
.address-status-container[data-v-26cda1cb] {
  grid-column: 1 / -1;
  width: 100%;
  margin-top: -10px; /* Reduce gap after address fields */
}
.address-status-container .loading-indicator[data-v-26cda1cb] {
  display: flex;
  align-items: center;
  color: #6c757d;
  padding: 8px 0;
  font-size: 0.9rem;
}
.address-status-container .spinner[data-v-26cda1cb] {
  border: 2px solid rgba(0, 0, 0, 0.1);
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border-left-color: #03854c;
  margin-right: 8px;
  animation: spin 0.8s linear infinite;
}
.address-status-container .error-message[data-v-26cda1cb] {
  color: #721c24;
  background-color: #f8d7da;
  border: 1px solid #f5c6cb;
  padding: 8px 12px;
  border-radius: 4px;
  font-size: 0.9rem;
}
.address-status-container .fetched-address-details[data-v-26cda1cb] {
  background-color: #e7f3ff;
  border: 1px solid #b3d9ff;
  border-left: 3px solid #0066cc;
  padding: 8px 12px;
  border-radius: 4px;
  font-size: 0.9rem;
}
.address-status-container .fetched-address-details p[data-v-26cda1cb] {
  margin: 0;
  color: #212529;
}

/* Form field wrapper for better layout control */
.form-field-wrapper[data-v-26cda1cb] {
  position: relative;
}

/* In field sections, address spans full width */
.field-section .address-group[data-v-26cda1cb] {
  grid-column: 1 / -1;
  margin-bottom: 12px;
}

/* Section title styling */
h4.field-section-title[data-v-26cda1cb] {
  margin: 0 0 20px 0;
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--color-text-secondary, #6c757d);
}

/* No products found styling */
.no-products-container[data-v-26cda1cb] {
  max-width: 800px;
  margin: 30px auto;
}
.no-products-message[data-v-26cda1cb] {
  background-color: #fff3cd;
  border: 1px solid #ffeaa7;
  color: #856404;
  padding: 25px;
  border-radius: 8px;
  text-align: center;
}
.no-products-message h3[data-v-26cda1cb] {
  margin-top: 0;
  color: #856404;
  margin-bottom: 15px;
  font-size: 1.4rem;
}
.no-products-message p[data-v-26cda1cb] {
  margin-bottom: 15px;
  line-height: 1.5;
}
.no-products-message ul[data-v-26cda1cb] {
  text-align: left;
  max-width: 500px;
  margin: 15px auto 25px auto;
  padding-left: 20px;
}
.no-products-message li[data-v-26cda1cb] {
  margin-bottom: 8px;
  line-height: 1.4;
}
.no-products-actions[data-v-26cda1cb] {
  display: flex;
  gap: 15px;
  justify-content: center;
  margin-top: 20px;
}
.no-products-actions button[data-v-26cda1cb] {
  background-color: #28a745;
  color: white;
  border: none;
  padding: 12px 24px;
  border-radius: 5px;
  font-size: 1rem;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.no-products-actions button[data-v-26cda1cb]:hover {
  background-color: #218838;
}
.no-products-actions button[data-v-26cda1cb]:first-child {
  background-color: #6c757d;
}
.no-products-actions button[data-v-26cda1cb]:first-child:hover {
  background-color: #5a6268;
}

.sv-icon[data-v-ee919e2c] {
  display: inline-block;
  flex-shrink: 0;
  vertical-align: middle;
}

/* Card container aligned with CalculationOverview */
.insurance-suggestions-card.enhanced[data-v-2253503a] {
  background-color: #ffffff;
  padding: 0;
  border-radius: 12px;
  border: 1px solid #ced4da;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.07);
  /* Allow tooltips to flow outside the card */
  overflow: visible;
}
.card-header[data-v-2253503a] {
  background: linear-gradient(to right, #ffffff, #f8f8f8);
  color: #343a40;
  padding: 16px 18px;
  display: flex;
  align-items: center;
  border-bottom: 1px solid #ced4da;
}
.card-title[data-v-2253503a] {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.title-icon[data-v-2253503a] {
  font-size: 1.2rem;
}
.card-body[data-v-2253503a] {
  padding: 16px;
}

/* Loading / Empty */
.loading-state[data-v-2253503a],
.empty-state[data-v-2253503a] {
  text-align: center;
  padding: 20px 10px;
  color: #6c757d;
}
.loading-state p[data-v-2253503a] {
  margin-top: 10px;
}
.spinner[data-v-2253503a] {
  width: 36px;
  height: 36px;
  border: 3px solid #e9ecef;
  border-top-color: #03854c;
  border-radius: 50%;
  margin: 0 auto;
  animation: spin-2253503a 1s linear infinite;
}
@keyframes spin-2253503a {
to {
    transform: rotate(360deg);
}
}

/* Suggestion rows */
.suggestions-list[data-v-2253503a] {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.suggestion-row[data-v-2253503a] {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  background: #fff;
}
.row-left[data-v-2253503a] {
  display: flex;
  gap: 12px;
  align-items: center;
}
.product-icon[data-v-2253503a] {
  width: 44px;
  height: 44px;
  border-radius: 8px;
  background: #f3f4f6;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
}
.title-icon[data-v-2253503a],
.product-icon[data-v-2253503a] {
  border: 1px solid var(--sv-brand-green-mint);
  border-radius: var(--sv-radius-sm);
  background: var(--sv-brand-green-tint);
  color: var(--sv-brand-green-deep);
  font-size: 0;
}
.row-info[data-v-2253503a] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0; /* Allow flex item to shrink below content size */
  overflow-wrap: anywhere;
}
.name[data-v-2253503a] {
  font-weight: 600;
  color: #343a40;
}
.meta[data-v-2253503a] {
  font-size: 0.9rem;
  color: #6c757d;
}
.meta.unavailable[data-v-2253503a] {
  color: #9aa1a7;
  font-style: italic;
}

/* Provider pills removed */
.row-actions[data-v-2253503a] {
  display: flex;
  align-items: center;
}
.suggestion-row.disabled[data-v-2253503a] {
  opacity: 0.55;
  filter: grayscale(0.1);
}
.suggestion-row.disabled .primary-button[data-v-2253503a] {
  background-color: #b0b8bd;
  cursor: not-allowed;
}
.primary-button[data-v-2253503a] {
  padding: 10px 16px;
  background-color: #03854c;
  color: #fff;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
  transition: background-color 0.2s ease;
}
.secondary-button[data-v-2253503a] {
  padding: 10px 14px;
  background-color: #ffffff;
  color: #212529;
  border: 1px solid #ced4da;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
  margin-left: 8px;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease;
}
.secondary-button[data-v-2253503a]:hover {
  background-color: #f1f3f5;
  border-color: #adb5bd;
}
.primary-button .btn-content[data-v-2253503a] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.primary-button .price-badge[data-v-2253503a] {
  display: inline-block;
  padding: 2px 8px;
  background: #f0fdf4;
  color: #065f46;
  border: 1px solid #86efac;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 600;
}
.primary-button[data-v-2253503a]:hover:not(:disabled) {
  background-color: #057343;
}
.primary-button[data-v-2253503a]:disabled {
  background-color: #adb5bd;
  cursor: not-allowed;
  opacity: 0.85;
}
.small-spinner[data-v-2253503a] {
  width: 14px;
  height: 14px;
  margin-right: 6px;
  border: 2px solid rgba(255, 255, 255, 0.5);
  border-top-color: #fff;
  border-radius: 50%;
  display: inline-block;
  vertical-align: middle;
  animation: spin-2253503a 0.8s linear infinite;
}
@media (max-width: 768px) {
.suggestion-row[data-v-2253503a] {
    grid-template-columns: 1fr;
    align-items: start;
}
.row-actions[data-v-2253503a] {
    justify-content: flex-start;
}
}

/* Assumptions tooltip */
.assumptions[data-v-2253503a] {
  position: relative;
  display: inline-block;
  margin-left: 6px;
}
.assumptions .info-icon[data-v-2253503a] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #e9f5ec;
  color: #057343;
  font-size: 12px;
  line-height: 1;
  cursor: help;
  border: 1px solid #c3e6cb;
  /* Expand tap target to 44px without changing visual size */
  padding: 12px;
  box-sizing: content-box;
  margin: -12px; /* Compensate for padding to keep visual position */
}
.assumptions:hover .tooltip[data-v-2253503a],
.assumptions:focus-within .tooltip[data-v-2253503a] {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}
.tooltip[data-v-2253503a] {
  position: absolute;
  left: 0;
  top: 120%;
  min-width: 260px;
  max-width: 360px;
  background: #fff;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
  padding: 10px 12px;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-4px);
  transition:
    opacity 0.15s ease,
    transform 0.15s ease;
  z-index: 1000; /* Ensure above neighboring content */
}
.tooltip[data-v-2253503a]::after {
  content: '';
  position: absolute;
  top: -6px;
  left: 12px;
  border-width: 6px;
  border-style: solid;
  border-color: transparent transparent #fff transparent;
}
.tooltip-title[data-v-2253503a] {
  font-weight: 600;
  color: #343a40;
  margin-bottom: 6px;
  font-size: 0.95rem;
}
.tooltip-list[data-v-2253503a] {
  list-style: none;
  padding: 0;
  margin: 0;
}
.tooltip-list li[data-v-2253503a] {
  font-size: 0.9rem;
  color: #495057;
  padding: 2px 0;
}
.tooltip-list .k[data-v-2253503a] {
  color: #6c757d;
}
.tooltip-list .v[data-v-2253503a] {
  color: #212529;
  font-weight: 500;
}
.tooltip-footer[data-v-2253503a] {
  margin-top: 8px;
  font-size: 0.8rem;
  color: #6c757d;
}
.source-badge[data-v-2253503a] {
  margin-left: 6px;
  padding: 1px 6px;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 600;
  border: 1px solid #dee2e6;
}
.source-badge.shared[data-v-2253503a] {
  background: #e7f1ff;
  color: #084298;
  border-color: #b6d4fe;
}
.source-badge.default[data-v-2253503a] {
  background: #f8f9fa;
  color: #6c757d;
  border-color: #dee2e6;
}

.policy-scan-uploader[data-v-defe87f3] {
  border: 1px solid #cad9e6;
  border-radius: 18px;
  padding: 18px;
  background: linear-gradient(135deg, #f2f8ff 0%, #f8fffb 48%, #fffcf2 100%);
  display: grid;
  gap: 14px;
  box-shadow: 0 14px 34px rgba(18, 50, 79, 0.08);
}
.policy-scan-uploader__header h3[data-v-defe87f3] {
  margin: 0;
  font-size: 1.05rem;
  color: #12324f;
}
.policy-scan-uploader__header p[data-v-defe87f3] {
  margin: 4px 0 0;
  color: #4f6378;
  font-size: 0.92rem;
}
.policy-scan-uploader__stepper[data-v-defe87f3] {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 8px;
  align-items: center;
}
.policy-scan-uploader__step[data-v-defe87f3] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border-radius: 12px;
  border: 1px solid #d8e4ef;
  background: rgba(255, 255, 255, 0.8);
  min-width: 0;
}
.policy-scan-uploader__step-index[data-v-defe87f3] {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 1px solid #bfd2e3;
  background: #fff;
  color: #32526f;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.policy-scan-uploader__step-copy[data-v-defe87f3] {
  min-width: 0;
}
.policy-scan-uploader__step-title[data-v-defe87f3] {
  margin: 0;
  font-size: 0.88rem;
  color: #12324f;
  font-weight: 700;
}
.policy-scan-uploader__step-note[data-v-defe87f3] {
  margin: 2px 0 0;
  font-size: 0.79rem;
  color: #5a728a;
}
.policy-scan-uploader__step.active[data-v-defe87f3],
.policy-scan-uploader__step.complete[data-v-defe87f3] {
  border-color: #2b9663;
  background: rgba(230, 255, 241, 0.95);
}
.policy-scan-uploader__step.active .policy-scan-uploader__step-index[data-v-defe87f3],
.policy-scan-uploader__step.complete .policy-scan-uploader__step-index[data-v-defe87f3] {
  border-color: #2b9663;
  background: #0f8c54;
  color: #fff;
}
.policy-scan-uploader__step-connector[data-v-defe87f3] {
  height: 3px;
  width: 22px;
  border-radius: 999px;
  background: linear-gradient(90deg, #d1dfec 0%, #a9bfd4 100%);
}
.policy-scan-uploader__controls[data-v-defe87f3] {
  display: grid;
  gap: 10px;
}
.policy-scan-uploader__page[data-v-defe87f3] {
  display: grid;
  gap: 10px;
}
.policy-scan-uploader__file-picker[data-v-defe87f3] {
  border: 1px dashed #78a3c6;
  border-radius: 12px;
  padding: 16px 14px;
  background: rgba(255, 255, 255, 0.84);
  display: grid;
  gap: 4px;
  cursor: pointer;
  transition:
    border-color 0.18s ease,
    background-color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease;
}
.policy-scan-uploader__file-picker.is-drag-active[data-v-defe87f3] {
  border-color: #0f8c54;
  background: rgba(235, 255, 243, 0.96);
  box-shadow: 0 0 0 4px rgba(15, 140, 84, 0.12);
  transform: translateY(-1px);
}
.policy-scan-uploader__file-picker.is-loading[data-v-defe87f3] {
  opacity: 0.8;
  cursor: wait;
}
.policy-scan-uploader__file-picker input[type='file'][data-v-defe87f3] {
  display: none;
}
.policy-scan-uploader__file-picker-icon[data-v-defe87f3] {
  font-size: 1.6rem;
}
.policy-scan-uploader__file-picker-title[data-v-defe87f3] {
  color: #12324f;
  font-weight: 700;
  font-size: 1rem;
}
.policy-scan-uploader__file-picker-cta[data-v-defe87f3] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  padding: 7px 12px;
  border-radius: 999px;
  background: #0f8c54;
  color: #fff;
  font-weight: 700;
  font-size: 0.82rem;
}
.policy-scan-uploader__file-picker-meta[data-v-defe87f3] {
  color: #55728d;
  font-size: 0.84rem;
}
.policy-scan-uploader__file-picker-drophint[data-v-defe87f3] {
  color: #1f5a3d;
  font-size: 0.84rem;
  font-weight: 600;
}
.policy-scan-uploader__selected-list[data-v-defe87f3] {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}
.policy-scan-uploader__selected-list li[data-v-defe87f3] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-radius: 10px;
  border: 1px solid #d7e2eb;
  background: rgba(255, 255, 255, 0.93);
  padding: 8px 10px;
}
.policy-scan-uploader__selected-name[data-v-defe87f3] {
  margin: 0;
  font-weight: 600;
  color: #12324f;
}
.policy-scan-uploader__selected-meta[data-v-defe87f3] {
  margin: 2px 0 0;
  color: #5e758a;
  font-size: 0.82rem;
}
.policy-scan-uploader__actions[data-v-defe87f3] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.policy-scan-uploader button[data-v-defe87f3] {
  border: none;
  border-radius: 10px;
  background: linear-gradient(135deg, #0c8a4f 0%, #15a362 100%);
  color: #fff;
  font-weight: 600;
  padding: 9px 14px;
  cursor: pointer;
  transition:
    transform 0.15s ease,
    filter 0.15s ease,
    opacity 0.15s ease;
}
.policy-scan-uploader button[data-v-defe87f3]:hover:not(:disabled) {
  transform: translateY(-1px);
  filter: brightness(1.03);
}
.policy-scan-uploader button.secondary[data-v-defe87f3] {
  background: #38516b;
}
.policy-scan-uploader button.ghost[data-v-defe87f3] {
  background: #eaf2f8;
  color: #294761;
}
.policy-scan-uploader button.ghost.danger[data-v-defe87f3] {
  background: #fef2f2;
  color: #a11d1d;
}
.policy-scan-uploader button[data-v-defe87f3]:disabled {
  cursor: not-allowed;
  opacity: 0.68;
  transform: none;
}
.policy-scan-uploader__thinking[data-v-defe87f3] {
  border-radius: 14px;
  border: 1px solid #c8d9ea;
  background: linear-gradient(145deg, #f3f9ff 0%, #ffffff 100%);
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 12px;
  padding: 12px;
}
.policy-scan-uploader__thinking-core[data-v-defe87f3] {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  margin: auto;
  background: radial-gradient(circle at 30% 30%, #5dd6ff, #167bd8 56%, #0e4f93 100%);
  position: relative;
  animation: orbFloat-defe87f3 2.8s ease-in-out infinite;
}
.policy-scan-uploader__thinking-core[data-v-defe87f3]::before,
.policy-scan-uploader__thinking-core[data-v-defe87f3]::after {
  content: '';
  position: absolute;
  border-radius: 50%;
  border: 2px solid rgba(46, 128, 211, 0.35);
  inset: -8px;
  animation: pulseRing-defe87f3 1.8s ease-out infinite;
}
.policy-scan-uploader__thinking-core[data-v-defe87f3]::after {
  animation-delay: 0.9s;
}
.policy-scan-uploader__thinking-content[data-v-defe87f3] {
  display: grid;
  gap: 6px;
  min-width: 0;
}
.policy-scan-uploader__thinking-progress[data-v-defe87f3] {
  margin: 0;
  color: #20537b;
  font-weight: 700;
  font-size: 0.85rem;
}
.policy-scan-uploader__thinking-message[data-v-defe87f3] {
  margin: 0;
  color: #12324f;
  font-weight: 700;
  font-size: 0.97rem;
}
.policy-scan-uploader__thinking-file[data-v-defe87f3] {
  margin: 0;
  color: #4f6378;
  font-size: 0.86rem;
  word-break: break-word;
}
.policy-scan-uploader__batch[data-v-defe87f3] {
  border-radius: 12px;
  border: 1px solid #d9e4ee;
  background: rgba(255, 255, 255, 0.95);
  padding: 10px 12px;
  display: grid;
  gap: 8px;
}
.policy-scan-uploader__batch-summary[data-v-defe87f3] {
  margin: 0;
  color: #294761;
  font-weight: 700;
}
.policy-scan-uploader__batch-list[data-v-defe87f3] {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 6px;
}
.policy-scan-uploader__batch-list li[data-v-defe87f3] {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  border-radius: 8px;
  padding: 8px 9px;
  border: 1px solid #e2eaf2;
}
.policy-scan-uploader__batch-list li.success[data-v-defe87f3] {
  background: #f3fff7;
  border-color: #cce8d9;
}
.policy-scan-uploader__batch-list li.error[data-v-defe87f3] {
  background: #fff4f4;
  border-color: #f5c7c7;
}
.policy-scan-uploader__batch-dot[data-v-defe87f3] {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin-top: 5px;
  background: #0f8c54;
  flex-shrink: 0;
}
.policy-scan-uploader__batch-list li.error .policy-scan-uploader__batch-dot[data-v-defe87f3] {
  background: #c02727;
}
.policy-scan-uploader__batch-copy p[data-v-defe87f3] {
  margin: 0;
  color: #12324f;
}
.policy-scan-uploader__batch-copy .meta[data-v-defe87f3] {
  margin-top: 2px;
  color: #4f6378;
  font-size: 0.82rem;
}
.policy-scan-uploader__batch-copy .meta--error[data-v-defe87f3] {
  color: #9c1d1d;
}
.policy-scan-uploader__error[data-v-defe87f3] {
  margin: 0;
  color: #b62222;
  font-weight: 600;
}
.policy-scan-uploader__summary[data-v-defe87f3] {
  margin: 0;
  color: #12324f;
  font-weight: 600;
}
.policy-scan-uploader__next-step[data-v-defe87f3] {
  margin: 0;
  padding: 8px 10px;
  border-radius: 8px;
  background: #ebfff3;
  border: 1px solid #bde6cf;
  color: #1f5a3d;
  font-weight: 600;
}
.policy-scan-uploader__result[data-v-defe87f3] {
  display: grid;
  gap: 12px;
}
.policy-scan-uploader__result-actions[data-v-defe87f3] {
  display: flex;
  justify-content: flex-end;
}
.policy-scan-uploader__profiles-section[data-v-defe87f3] {
  display: grid;
  gap: 10px;
}
.policy-scan-uploader__profiles-toolbar[data-v-defe87f3] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  align-items: center;
}
.policy-scan-uploader__profiles-toolbar p[data-v-defe87f3] {
  margin: 0;
  color: #315069;
  font-weight: 600;
  font-size: 0.84rem;
}
.policy-scan-uploader__profile-card[data-v-defe87f3] {
  border: 1px solid #dce8f3;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.96);
  padding: 10px;
  display: grid;
  gap: 10px;
}
.policy-scan-uploader__profile-card.is-used[data-v-defe87f3] {
  border-color: #c5dfcf;
  background: #f4fbf6;
}
.policy-scan-uploader__profile-header[data-v-defe87f3] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.policy-scan-uploader__profile-toggle[data-v-defe87f3] {
  border: none;
  background: transparent;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0;
  margin: 0;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.policy-scan-uploader__profile-card.is-used .policy-scan-uploader__profile-toggle[data-v-defe87f3] {
  cursor: default;
}
.policy-scan-uploader button.policy-scan-uploader__profile-toggle[data-v-defe87f3],
.policy-scan-uploader button.policy-scan-uploader__profile-toggle[data-v-defe87f3]:hover:not(:disabled) {
  background: transparent;
  color: inherit;
  transform: none;
  filter: none;
  padding: 0;
}
.policy-scan-uploader__profile-toggle-icon[data-v-defe87f3] {
  color: #28445b;
  font-weight: 700;
  font-size: 0.95rem;
}
.policy-scan-uploader__profile-header small[data-v-defe87f3] {
  display: block;
  color: #5f7489;
  margin-top: 2px;
  font-size: 0.79rem;
}
.policy-scan-uploader__profile-used[data-v-defe87f3] {
  color: #1f6b43;
  font-weight: 700;
}
.policy-scan-uploader__profile-header-meta[data-v-defe87f3] {
  display: grid;
  gap: 4px;
  justify-items: flex-end;
}
.policy-scan-uploader__profile-premium[data-v-defe87f3] {
  margin-top: 2px;
  display: grid;
  gap: 2px;
  justify-items: flex-end;
  padding: 7px 8px;
  border-radius: 8px;
  border: 1px solid #edd9a6;
  background: #fff8e3;
  max-width: 320px;
}
.policy-scan-uploader__profile-premium-label[data-v-defe87f3] {
  margin: 0;
  color: #7a5a00;
  font-size: 0.74rem;
  font-weight: 700;
  text-align: right;
}
.policy-scan-uploader__profile-premium-value[data-v-defe87f3] {
  margin: 0;
  color: #614400;
  font-size: 0.94rem;
  font-weight: 800;
  text-align: right;
}
.policy-scan-uploader__profile-premium-note[data-v-defe87f3] {
  margin: 0;
  color: #805f0a;
  font-size: 0.74rem;
  line-height: 1.3;
  text-align: right;
}
.policy-scan-uploader__profile-header .confidence[data-v-defe87f3] {
  color: #20537b;
  font-weight: 700;
  white-space: nowrap;
}
.policy-scan-uploader__profile-status[data-v-defe87f3] {
  font-size: 0.74rem;
  font-weight: 700;
  color: #915b00;
  background: #fff5de;
  border: 1px solid #f2d59d;
  padding: 3px 6px;
  border-radius: 999px;
}
.policy-scan-uploader__profile-status.reliable[data-v-defe87f3] {
  color: #145f3c;
  background: #e6fff1;
  border-color: #9ed9bb;
}
.policy-scan-uploader__profile-actions[data-v-defe87f3] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.policy-scan-uploader__start-btn[data-v-defe87f3] {
  background: linear-gradient(135deg, #0f8c54 0%, #12a06e 100%);
  border: none;
  border-radius: 10px;
  color: #fff;
  font-weight: 700;
  padding: 8px 13px;
  cursor: pointer;
}
.policy-scan-uploader__profile-body[data-v-defe87f3] {
  display: grid;
  gap: 8px;
}
.policy-scan-uploader__profile-hint[data-v-defe87f3] {
  margin: 0;
  font-size: 0.82rem;
  color: #6e4e15;
  background: #fff7e8;
  border: 1px solid #f0d59f;
  border-radius: 8px;
  padding: 7px 9px;
}
.policy-scan-uploader__profile-hint p[data-v-defe87f3] {
  margin: 0;
}
.policy-scan-uploader__profile-user-message[data-v-defe87f3] {
  margin-top: 4px;
  line-height: 1.35;
}
.policy-scan-uploader__fields[data-v-defe87f3] {
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.policy-scan-uploader__field[data-v-defe87f3] {
  border: 1px solid #e1ebf4;
  border-radius: 8px;
  padding: 7px 8px;
  background: #fbfdff;
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: flex-start;
}
.policy-scan-uploader__field.is-excluded[data-v-defe87f3] {
  background: #f3f6f9;
  border-style: dashed;
  opacity: 0.72;
}
.policy-scan-uploader__field-main[data-v-defe87f3] {
  min-width: 0;
  flex: 1;
}
.policy-scan-uploader__field-toggle[data-v-defe87f3] {
  align-self: center;
  white-space: nowrap;
  padding: 6px 10px;
  font-size: 0.76rem;
}
.policy-scan-uploader__field dt[data-v-defe87f3] {
  margin: 0;
  font-size: 0.78rem;
  color: #4d6378;
  font-weight: 700;
}
.policy-scan-uploader__field dd[data-v-defe87f3] {
  margin: 3px 0 0;
  font-size: 0.84rem;
  color: #12324f;
  font-weight: 600;
  word-break: break-word;
}
.policy-scan-uploader__fields-empty[data-v-defe87f3] {
  margin: 0;
  color: #51667c;
  font-size: 0.86rem;
  font-style: italic;
}
.policy-scan-uploader__assumptions[data-v-defe87f3] {
  list-style: disc;
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 4px;
}
.policy-scan-uploader__assumptions li[data-v-defe87f3] {
  color: #4d6378;
  font-size: 0.82rem;
  line-height: 1.35;
}
.policy-scan-uploader__extra-info[data-v-defe87f3] {
  border: 1px solid #dbe7f1;
  border-radius: 12px;
  background: #f9fcff;
}
.policy-scan-uploader__extra-summary[data-v-defe87f3] {
  cursor: pointer;
  list-style: none;
  padding: 10px 12px;
  color: #173956;
  font-weight: 700;
}
.policy-scan-uploader__extra-summary[data-v-defe87f3]::-webkit-details-marker {
  display: none;
}
.policy-scan-uploader__extra-content[data-v-defe87f3] {
  border-top: 1px solid #dbe7f1;
  display: grid;
  gap: 10px;
  padding: 10px 12px 12px;
}
.policy-scan-uploader__extra-actions[data-v-defe87f3] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: space-between;
  align-items: center;
}
.policy-scan-uploader__extra-prefills[data-v-defe87f3] {
  margin: 0;
  color: #274a67;
  font-weight: 600;
  font-size: 0.88rem;
}
.policy-scan-uploader__offers[data-v-defe87f3] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
}
.policy-scan-uploader__offers-loading[data-v-defe87f3] {
  margin: 0;
  color: #1e4f73;
  font-size: 0.84rem;
  font-weight: 600;
}
.policy-scan-uploader__offer-card[data-v-defe87f3] {
  border: 1px solid #d8e7f4;
  border-radius: 12px;
  background: #fff;
  padding: 10px 11px;
  display: grid;
  gap: 10px;
  box-shadow: 0 8px 16px rgba(17, 48, 76, 0.08);
}
.policy-scan-uploader__offer-card.is-api[data-v-defe87f3] {
  border-color: #bfe6d1;
  background: linear-gradient(180deg, #ffffff 0%, #f3fff8 100%);
}
.policy-scan-uploader__offer-card.is-fallback[data-v-defe87f3] {
  border-color: #d8e2ec;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
}
.policy-scan-uploader__offer-card.is-loading[data-v-defe87f3] {
  opacity: 0.75;
}
.policy-scan-uploader__offer-card.is-error[data-v-defe87f3] {
  border-color: #f0c3c3;
  background: linear-gradient(180deg, #ffffff 0%, #fff5f5 100%);
}
.policy-scan-uploader__offer-head[data-v-defe87f3] {
  display: grid;
  gap: 4px;
}
.policy-scan-uploader__offer-product[data-v-defe87f3] {
  margin: 0;
  color: #1f3f5a;
  font-size: 0.79rem;
  font-weight: 700;
}
.policy-scan-uploader__offer-price[data-v-defe87f3] {
  margin: 0;
  color: #0f8c54;
  font-size: 1rem;
  font-weight: 800;
}
.policy-scan-uploader__offer-meta[data-v-defe87f3] {
  margin: 0;
  color: #547086;
  font-size: 0.76rem;
}
.policy-scan-uploader__offer-rows[data-v-defe87f3] {
  display: grid;
  gap: 8px;
}
.policy-scan-uploader__offer-row[data-v-defe87f3] {
  border: 1px solid #d9e7f3;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.95);
  padding: 8px;
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
}
.policy-scan-uploader__offer-row.is-selected[data-v-defe87f3] {
  border-color: #65be96;
  box-shadow: inset 0 0 0 1px rgba(34, 124, 84, 0.16);
}
.policy-scan-uploader__offer-row-main[data-v-defe87f3] {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
}
.policy-scan-uploader__offer-logo[data-v-defe87f3] {
  width: 28px;
  height: 28px;
  border-radius: 7px;
  border: 1px solid #d4e2ee;
  object-fit: contain;
  background: #fff;
  flex-shrink: 0;
}
.policy-scan-uploader__offer-logo-fallback[data-v-defe87f3] {
  width: 28px;
  height: 28px;
  border-radius: 7px;
  border: 1px solid #d4e2ee;
  background: #edf4fb;
  color: #2f4f6b;
  font-size: 0.72rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.policy-scan-uploader__offer-row-copy[data-v-defe87f3] {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.policy-scan-uploader__offer-row-insurer[data-v-defe87f3] {
  margin: 0;
  color: #183954;
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1.2;
}
.policy-scan-uploader__offer-row-meta[data-v-defe87f3] {
  margin: 0;
  color: #587188;
  font-size: 0.73rem;
  line-height: 1.25;
}
.policy-scan-uploader__offer-row-side[data-v-defe87f3] {
  display: grid;
  gap: 5px;
  justify-items: end;
  flex-shrink: 0;
}
.policy-scan-uploader__offer-row-price[data-v-defe87f3] {
  margin: 0;
  color: #0f8c54;
  font-size: 0.84rem;
  font-weight: 800;
}
.policy-scan-uploader__offer-row-actions[data-v-defe87f3] {
  display: flex;
  align-items: center;
  gap: 6px;
}
.policy-scan-uploader__offer-row-actions button[data-v-defe87f3] {
  padding: 5px 8px;
  font-size: 0.74rem;
}
.policy-scan-uploader__offer-choose-btn[data-v-defe87f3] {
  background: linear-gradient(180deg, #1d9d62 0%, #17784b 100%);
  border-color: #17784b;
}
.policy-scan-uploader__offer-row-empty[data-v-defe87f3] {
  margin: 0;
  color: #556d82;
  font-size: 0.78rem;
}
.policy-scan-uploader__offer-actions[data-v-defe87f3] {
  display: flex;
  justify-content: flex-end;
}
.policy-scan-uploader__offer-details-btn[data-v-defe87f3] {
  font-size: 0.78rem;
  padding: 6px 10px;
}
.policy-scan-uploader__offers-empty[data-v-defe87f3] {
  margin: 0;
  color: #50657a;
  font-size: 0.83rem;
}
.policy-scan-uploader__warnings[data-v-defe87f3] {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 4px;
  color: #4c6378;
  font-size: 0.82rem;
}
.policy-scan-uploader__raw[data-v-defe87f3] {
  background: #0e1620;
  color: #d2f0ff;
  border-radius: 10px;
  padding: 12px;
  overflow: auto;
  max-height: 320px;
  font-size: 0.8rem;
}
.thinking-text-enter-active[data-v-defe87f3],
.thinking-text-leave-active[data-v-defe87f3] {
  transition: all 0.22s ease;
}
.thinking-text-enter-from[data-v-defe87f3] {
  opacity: 0;
  transform: translateY(3px);
}
.thinking-text-leave-to[data-v-defe87f3] {
  opacity: 0;
  transform: translateY(-3px);
}
@keyframes pulseRing-defe87f3 {
0% {
    transform: scale(0.88);
    opacity: 0.85;
}
100% {
    transform: scale(1.22);
    opacity: 0;
}
}
@keyframes shimmer-defe87f3 {
0% {
    transform: translateX(-100%);
}
100% {
    transform: translateX(200%);
}
}
@keyframes orbFloat-defe87f3 {
0%,
  100% {
    transform: translateY(0);
}
50% {
    transform: translateY(-3px);
}
}
@media (max-width: 760px) {
.policy-scan-uploader[data-v-defe87f3] {
    padding: 14px;
    border-radius: 14px;
}
.policy-scan-uploader__stepper[data-v-defe87f3] {
    grid-template-columns: 1fr;
}
.policy-scan-uploader__step-connector[data-v-defe87f3] {
    display: none;
}
.policy-scan-uploader__thinking[data-v-defe87f3] {
    grid-template-columns: 1fr;
}
.policy-scan-uploader__thinking-core[data-v-defe87f3] {
    margin: 0;
}
.policy-scan-uploader__profile-header[data-v-defe87f3] {
    flex-direction: column;
    align-items: flex-start;
}
.policy-scan-uploader__profile-header-meta[data-v-defe87f3] {
    justify-items: flex-start;
}
.policy-scan-uploader__profile-premium[data-v-defe87f3] {
    justify-items: flex-start;
}
.policy-scan-uploader__profile-premium-label[data-v-defe87f3],
  .policy-scan-uploader__profile-premium-value[data-v-defe87f3],
  .policy-scan-uploader__profile-premium-note[data-v-defe87f3] {
    text-align: left;
}
.policy-scan-uploader__profile-header .confidence[data-v-defe87f3] {
    white-space: normal;
}
.policy-scan-uploader__fields[data-v-defe87f3] {
    grid-template-columns: 1fr;
}
.policy-scan-uploader__offers[data-v-defe87f3] {
    grid-template-columns: 1fr;
}
.policy-scan-uploader__offer-row[data-v-defe87f3] {
    flex-direction: column;
    align-items: stretch;
}
.policy-scan-uploader__offer-row-side[data-v-defe87f3] {
    justify-items: stretch;
}
.policy-scan-uploader__offer-row-actions[data-v-defe87f3] {
    justify-content: flex-end;
}
}

/* Custom color variables for insurance cards */
[data-v-01ec8ddd]:root {
  --insurance-primary-bg: #f0fdf4;
  --insurance-primary-bg-hover: #dcfce7;
  --insurance-primary-border: #86efac;
  --insurance-primary-border-hover: #4ade80;
  --insurance-primary-shadow: rgba(34, 197, 94, 0.15);

  --insurance-complementary-bg: #fff7ed;
  --insurance-complementary-bg-hover: #fed7aa;
  --insurance-complementary-border: #fdba74;
  --insurance-complementary-border-hover: #fb923c;
  --insurance-complementary-shadow: rgba(251, 146, 60, 0.15);
}
.calculation-overview[data-v-01ec8ddd] {
  position: relative;
  max-width: 1400px;
  margin: 40px auto;
  padding: 60px;
  background-color: #f8f8f8;
  border-radius: 12px;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
  color: #212529;
}
.inline-suggestions[data-v-01ec8ddd] {
  margin-top: 16px;
}
.suggestions-loader[data-v-01ec8ddd] {
  display: none !important;
}
.overview-title[data-v-01ec8ddd] {
  text-align: center;
  font-size: 1.8rem;
  color: #343a40;
  margin-bottom: 20px;
  font-weight: 600;
}

/* Dev Controls */
.dev-controls[data-v-01ec8ddd] {
  text-align: center;
  margin-bottom: 20px;
  padding: 15px;
  background-color: #fff3cd;
  border: 1px solid #ffeeba;
  border-radius: 8px;
}
.reset-button[data-v-01ec8ddd] {
  padding: 10px 20px;
  background-color: #dc3545;
  color: white;
  border: none;
  border-radius: 6px;
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s;
}
.reset-button[data-v-01ec8ddd]:hover {
  background-color: #c82333;
}

/* Loading/Error/Empty states remain the same */
.loading-state[data-v-01ec8ddd],
.error-state[data-v-01ec8ddd],
.empty-state[data-v-01ec8ddd] {
  text-align: center;
  padding: 60px 20px;
  border: 1px dashed #dee2e6;
  border-radius: 8px;
  background-color: #f8f9fa;
}
.loading-state p[data-v-01ec8ddd],
.error-state p[data-v-01ec8ddd],
.empty-state p[data-v-01ec8ddd] {
  font-size: 1.1rem;
  color: #6c757d;
  margin-top: 15px;
}
.error-state h2[data-v-01ec8ddd],
.empty-state h2[data-v-01ec8ddd] {
  color: #343a40;
  margin-bottom: 15px;
}
.error-state button[data-v-01ec8ddd],
.empty-state button[data-v-01ec8ddd] {
  margin-top: 10px; /* Reduced margin slightly */
  padding: 10px 20px;
  background-color: #03854c;
  color: white;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  transition: background-color 0.2s;
  display: inline-flex; /* Align icon and text */
  align-items: center;
  gap: 8px;
}
.error-state button[data-v-01ec8ddd]:hover,
.empty-state button[data-v-01ec8ddd]:hover {
  background-color: #057343;
}
/* Compact insurance cards for "Add More" section */
.insurance-selection-grid.compact[data-v-01ec8ddd] {
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 18px;
  margin-top: 20px;
}
.insurance-card.compact[data-v-01ec8ddd] {
  min-height: 160px;
  padding: 22px 16px;
  position: relative;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}
.insurance-card.selected-card[data-v-01ec8ddd] {
  border-color: #16a34a;
  box-shadow:
    0 18px 32px -18px rgba(22, 163, 74, 0.55),
    0 0 0 1px rgba(22, 163, 74, 0.15) inset;
  background: linear-gradient(145deg, rgba(34, 197, 94, 0.08), rgba(16, 185, 129, 0.03)), #fff;
  position: relative;
}
.quickcalc-badge[data-v-01ec8ddd] {
  appearance: none;
  border: 1px solid rgba(59, 130, 246, 0.35);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  line-height: 1;
  position: absolute;
  right: 12px;
  bottom: 12px;
  padding: 6px 10px;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.12), rgba(59, 130, 246, 0.07));
  color: #0f172a;
  font-weight: 700;
  font-size: 0.82rem;
  box-shadow: 0 8px 18px -12px rgba(30, 64, 175, 0.35);
  z-index: 5; /* ensure badge floats over text if they collide */
  cursor: pointer;
  outline: none;
  background-clip: padding-box;
}
.quickcalc-badge[data-v-01ec8ddd]:disabled {
  cursor: not-allowed;
  opacity: 0.65;
  box-shadow: none;
}
.selected-pill[data-v-01ec8ddd] {
  position: absolute;
  top: 10px;
  left: 10px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  background: linear-gradient(120deg, #16a34a, #22c55e);
  border: 1px solid rgba(22, 163, 74, 0.6);
  color: #f8fff4;
  font-weight: 700;
  font-size: 0.85rem;
  z-index: 6;
  box-shadow:
    0 12px 24px -14px rgba(16, 185, 129, 0.55),
    0 0 0 1px rgba(16, 185, 129, 0.12);
}
.selected-pill[data-v-01ec8ddd]::before {
  content: '✓';
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.18);
  color: #f8fff4;
  font-size: 0.8rem;
  box-shadow: 0 6px 14px -10px rgba(15, 118, 110, 0.5);
}

/* Existing Policy Pill - Orange/amber styling for mutation */
.existing-policy-pill[data-v-01ec8ddd] {
  position: absolute;
  top: 10px;
  left: 10px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 999px;
  background: linear-gradient(120deg, #d97706, #f59e0b);
  border: 1px solid rgba(217, 119, 6, 0.6);
  color: #fffbeb;
  font-weight: 700;
  font-size: 0.75rem;
  z-index: 6;
  box-shadow:
    0 12px 24px -14px rgba(217, 119, 6, 0.55),
    0 0 0 1px rgba(217, 119, 6, 0.12);
}

/* Has Policy - Visual indicator that product is locked */
.insurance-card.has-policy[data-v-01ec8ddd] {
  opacity: 0.85;
  cursor: not-allowed;
  border-color: #f59e0b;
  background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
}
.insurance-card.has-policy[data-v-01ec8ddd]:hover {
  transform: none;
  box-shadow: 0 4px 12px rgba(217, 119, 6, 0.15);
}
.insurance-card.has-policy .insurance-icon[data-v-01ec8ddd] {
  opacity: 0.7;
}
.insurance-card.has-policy .insurance-title[data-v-01ec8ddd],
.insurance-card.has-policy .insurance-description[data-v-01ec8ddd],
.insurance-card.has-policy .insurance-tagline[data-v-01ec8ddd] {
  opacity: 0.8;
}

/* Primary Products - Green styling */
.insurance-card.primary-product[data-v-01ec8ddd] {
  background: #ffffff; /* remove special primary styling */
  border-color: #dee2e6;
}
.insurance-card.primary-product[data-v-01ec8ddd]:hover {
  border-color: #5cb85c;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
  background: #ffffff;
  transform: none; /* prevent movement */
}
.insurance-card.primary-product[data-v-01ec8ddd]::before {
  content: none; /* remove top edge bar */
}
.insurance-card.primary-product .insurance-icon[data-v-01ec8ddd] {
  animation: none; /* stop bouncing */
}

/* Complementary Products - Orange styling */
.insurance-card.complementary-product[data-v-01ec8ddd] {
  background: linear-gradient(
    135deg,
    var(--insurance-complementary-bg) 0%,
    var(--insurance-complementary-bg-hover) 100%
  );
  border: 0; /* no line around complementary product */
}
.insurance-card.complementary-product[data-v-01ec8ddd]:hover {
  border: 0; /* keep borderless on hover */
  box-shadow: 0 12px 24px var(--insurance-complementary-shadow);
  background: linear-gradient(135deg, var(--insurance-complementary-bg-hover) 0%, #fbbf24 100%);
}
.insurance-card.complementary-product[data-v-01ec8ddd]::before {
  background: linear-gradient(90deg, #f97316, #fb923c);
}

/* Animation for primary products */
@keyframes bounce-01ec8ddd {
0%,
  100% {
    transform: translateY(0);
}
50% {
    transform: translateY(-5px);
}
}

/* Pulse animation for badges */
@keyframes pulse-01ec8ddd {
0% {
    box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.4);
}
70% {
    box-shadow: 0 0 0 6px rgba(220, 38, 38, 0);
}
100% {
    box-shadow: 0 0 0 0 rgba(220, 38, 38, 0);
}
}
.badge-popular[data-v-01ec8ddd] {
  animation: pulse-01ec8ddd 2s infinite;
}

/* Promotional Badges */
.badge-popular[data-v-01ec8ddd],
.badge-recommended[data-v-01ec8ddd],
.badge-trending[data-v-01ec8ddd],
.badge-bundle[data-v-01ec8ddd] {
  position: absolute;
  top: -1px;
  right: -1px;
  padding: 4px 12px;
  font-size: 0.75rem;
  font-weight: 600;
  border-radius: 0 14px 0 8px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.badge-popular[data-v-01ec8ddd] {
  background: #dc2626;
  color: white;
}
.badge-recommended[data-v-01ec8ddd] {
  background: #2563eb;
  color: white;
}
.badge-trending[data-v-01ec8ddd] {
  background: #7c3aed;
  color: white;
}
.badge-bundle[data-v-01ec8ddd] {
  background: #ea580c;
  color: white;
  font-size: 0.7rem;
}
.insurance-card.compact .insurance-icon[data-v-01ec8ddd] {
  font-size: 2.5rem;
  margin-bottom: 8px;
}
.insurance-card.compact .insurance-title[data-v-01ec8ddd] {
  font-size: 1.1rem;
  margin: 0;
  font-weight: 600;
}
.insurance-tagline[data-v-01ec8ddd] {
  font-size: 0.85rem;
  color: #6c757d;
  margin: 4px 0 0 0;
  font-weight: 400;
}
.insurance-card.disabled[data-v-01ec8ddd] {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none !important;
}
.insurance-card.disabled[data-v-01ec8ddd]:hover {
  transform: none;
  box-shadow: none;
  border-color: #dee2e6;
}
.already-selected[data-v-01ec8ddd] {
  font-size: 0.8rem;
  color: #6c757d;
  margin: 4px 0 0 0;
  font-weight: 500;
  font-style: italic;
}
.add-more-section[data-v-01ec8ddd] {
  margin-top: 40px;
  padding: 30px;
  background: #f8f8f8;
  border-radius: 12px;
  border: 1px solid #dee2e6;
}
.policy-start-gateway[data-v-01ec8ddd] {
  margin-bottom: 20px;
  display: grid;
  gap: 14px;
}
.policy-start-gateway__grid[data-v-01ec8ddd] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  max-width: 920px;
  width: 100%;
  margin: 0 auto;
}
.policy-start-gateway__intro[data-v-01ec8ddd] {
  grid-column: 1 / -1;
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
  display: grid;
  gap: 8px;
  padding: 2px 8px 4px;
}
.policy-start-gateway__eyebrow[data-v-01ec8ddd] {
  margin: 0;
  color: var(--sv-brand-green);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}
.policy-start-gateway__intro-title[data-v-01ec8ddd] {
  margin: 0;
  color: #343a40;
  font-size: 1.35rem;
  font-weight: 700;
}
.policy-start-gateway__intro-text[data-v-01ec8ddd] {
  margin: 0;
  color: #6c757d;
  font-size: 1rem;
  line-height: 1.55;
}
.policy-start-gateway__option[data-v-01ec8ddd] {
  border: 2px solid #dee2e6;
  border-radius: 20px;
  background: #ffffff;
  padding: 32px 24px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 240px;
  gap: 10px;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}
.policy-start-gateway__option[data-v-01ec8ddd]:hover {
  transform: none;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
  border-color: #6c757d;
}
.policy-start-gateway__icon[data-v-01ec8ddd] {
  font-size: 3rem;
}
.policy-start-gateway__label[data-v-01ec8ddd] {
  color: #6c757d;
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.policy-start-gateway__title[data-v-01ec8ddd] {
  color: #343a40;
  font-size: 1.25rem;
  font-weight: 600;
}
.policy-start-gateway__description[data-v-01ec8ddd] {
  color: #6c757d;
  font-size: 0.95rem;
  line-height: 1.5;
  max-width: 36ch;
  margin: 0 auto;
}
.policy-start-gateway__switcher[data-v-01ec8ddd] {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-self: center;
  margin: 0 auto;
}
.policy-start-gateway__switch[data-v-01ec8ddd] {
  border: 1px solid #c7d8e7;
  border-radius: 999px;
  background: #f6fbff;
  color: #20435f;
  font-weight: 600;
  padding: 8px 14px;
  cursor: pointer;
}
.policy-start-gateway__switch.active[data-v-01ec8ddd] {
  border-color: #0f8c54;
  background: #e9fff4;
  color: #0f5132;
}
.policy-scan-block[data-v-01ec8ddd] {
  margin-bottom: 20px;
  display: grid;
  gap: 10px;
}
.policy-scan-message[data-v-01ec8ddd] {
  margin: 0;
  color: #12324f;
  font-weight: 500;
}
.add-more-section h2[data-v-01ec8ddd] {
  font-size: 1.4rem;
  color: #343a40;
  margin-bottom: 20px;
  text-align: center;
}
.spinner[data-v-01ec8ddd] {
  /* Spinner styles remain same */
  border: 4px solid rgba(0, 0, 0, 0.1);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border-left-color: #03854c;
  margin: 0 auto 15px auto;
  animation: spin-01ec8ddd 1s linear infinite;
}
@keyframes spin-01ec8ddd {
to {
    transform: rotate(360deg);
}
}

/* Overview Content */
.overview-content[data-v-01ec8ddd] {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.overview-content--busy[data-v-01ec8ddd] {
  min-height: 440px;
}
.overview-busy-overlay[data-v-01ec8ddd] {
  position: absolute;
  inset: 0;
  z-index: 8;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 24px;
  background:
    linear-gradient(180deg, rgba(248, 250, 252, 0.78), rgba(241, 245, 249, 0.92)),
    rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(10px);
}
.overview-busy-overlay--page[data-v-01ec8ddd] {
  border-radius: 12px;
}
.overview-busy-card[data-v-01ec8ddd] {
  width: min(520px, 100%);
  margin-top: 18px;
  padding: 28px 30px;
  border-radius: 22px;
  border: 1px solid rgba(15, 118, 110, 0.14);
  background:
    radial-gradient(circle at top right, rgba(16, 185, 129, 0.16), transparent 42%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(240, 253, 250, 0.94));
  box-shadow:
    0 28px 60px rgba(15, 23, 42, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.8);
  text-align: center;
}
.overview-busy-eyebrow[data-v-01ec8ddd] {
  margin: 0 0 8px;
  color: #0f766e;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.overview-busy-card h3[data-v-01ec8ddd] {
  margin: 0;
  color: #0f172a;
  font-size: 1.55rem;
  font-weight: 700;
}
.overview-busy-card p[data-v-01ec8ddd]:last-child {
  margin: 10px 0 0;
  color: #334155;
  font-size: 1rem;
  line-height: 1.6;
}
.overview-stack[data-v-01ec8ddd] {
  background: linear-gradient(135deg, #f8fafc 0%, #f3f4f6 100%);
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 12px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.04);
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.stack-section[data-v-01ec8ddd] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.stack-section + .stack-section[data-v-01ec8ddd] {
  border-top: 1px dashed #d9dde3;
  padding-top: 12px;
}

/* Application Status (remains the same) */
.application-status[data-v-01ec8ddd] {
  padding: 15px 20px;
  border-radius: 6px;
  margin-bottom: 20px; /* Space below status message */
  font-size: 1rem;
  text-align: center;
}
.application-status.success[data-v-01ec8ddd] {
  background-color: #e9f5ec;
  color: #155724;
  border: 1px solid #c3e6cb;
}
.application-status.error[data-v-01ec8ddd] {
  background-color: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
}
.application-status.loading[data-v-01ec8ddd] {
  background-color: var(--color-info-background-light);
  color: var(--color-info-text);
  border: 1px solid var(--color-info-border);
}
.application-status strong[data-v-01ec8ddd] {
  font-weight: 600;
}

/* Product Card Styles (reusing enhanced card structure) */
.calculation-details-card.enhanced[data-v-01ec8ddd] {
  background-color: #ffffff;
  padding: 0;
  border-radius: 12px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.04);
  overflow: hidden;
}
.calculation-details-card.enhanced.cart-card[data-v-01ec8ddd] {
  transition:
    box-shadow 0.18s ease,
    transform 0.12s ease;
}
.calculation-details-card.enhanced.cart-card[data-v-01ec8ddd]:hover {
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.06);
  transform: translateY(-1px);
}
.cart-add-more-bar[data-v-01ec8ddd] {
  border: 2px dashed #d1d5db;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.6);
  color: #334155;
  min-height: 68px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  cursor: pointer;
  transition: all 0.15s ease;
}
.cart-add-more-bar[data-v-01ec8ddd]:hover {
  background: rgba(3, 133, 76, 0.04);
  border-color: rgba(3, 133, 76, 0.35);
  color: #065f46;
}
.bar-inner[data-v-01ec8ddd] {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
  letter-spacing: 0.01em;
}
.bar-icon[data-v-01ec8ddd] {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid currentColor;
  font-size: 1.1rem;
}
.bar-text[data-v-01ec8ddd] {
  font-size: 1rem;
}
.stack-section .service-options-section[data-v-01ec8ddd] {
  margin-top: 0;
  box-shadow: none;
  border-color: #e5e7eb;
  background: #ffffff;
}
.stack-section .package-summary-card[data-v-01ec8ddd] {
  margin-top: 0;
  box-shadow: none;
  border-color: #e5e7eb;
}
.card-header[data-v-01ec8ddd] {
  background: #ffffff;
  color: #343a40;
  padding: 14px 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #e9ecef;
  gap: 12px;
}
.card-header.cart-header[data-v-01ec8ddd] {
  align-items: center;
}
.card-header h2[data-v-01ec8ddd] {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 700;
  color: #111827;
  margin-right: 8px;
}
.cart-header-main[data-v-01ec8ddd] {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.product-avatar[data-v-01ec8ddd] {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: #f3f4f6;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  box-shadow: inset 0 0 0 1px #e5e7eb;
}
.cart-header-text[data-v-01ec8ddd] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.cart-meta[data-v-01ec8ddd] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.meta-chip[data-v-01ec8ddd] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  font-weight: 600;
  font-size: 0.85rem;
  letter-spacing: 0.01em;
  border: 1px solid #e9ecef;
  background: #f8f9fa;
  color: #495057;
}
.meta-chip.brand[data-v-01ec8ddd] {
  background: rgba(3, 133, 76, 0.12);
  border-color: rgba(3, 133, 76, 0.28);
  color: #065f46;
}
.meta-chip.muted[data-v-01ec8ddd] {
  background: #f1f3f5;
  color: #495057;
}
.cart-header-side[data-v-01ec8ddd] {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-left: auto;
  flex-shrink: 0;
}
.logo-badge[data-v-01ec8ddd] {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 6px 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
}

/* Style for logo in the header */
.header-logo[data-v-01ec8ddd] {
  max-height: 64px;
  max-width: 200px;
  object-fit: contain;
  flex-shrink: 0;
  filter: saturate(1.05);
}
.cart-price[data-v-01ec8ddd] {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  min-width: 140px;
}
.cart-price .price-label[data-v-01ec8ddd] {
  font-size: 0.75rem;
  color: #6c757d;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.cart-price .price-amount[data-v-01ec8ddd] {
  font-size: 1.35rem;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.2;
}
.cart-price .price-term[data-v-01ec8ddd] {
  font-size: 0.9rem;
  color: #6c757d;
}
.cart-price .price-discount[data-v-01ec8ddd] {
  display: block;
  font-size: 0.75rem;
  color: #6c757d;
  font-weight: normal;
  margin-top: 2px;
}
.card-body[data-v-01ec8ddd] {
  padding: 16px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 8px 12px;
}
.card-body.cart-body[data-v-01ec8ddd] {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 12px 16px;
  background: linear-gradient(180deg, #fbfbfc, #f6f7fb);
  border-top: 1px dashed #e9ecef;
}
.cart-chip-row[data-v-01ec8ddd] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.cart-chip-row .meta-chip[data-v-01ec8ddd] {
  background: #eef2f6;
  border-color: #e2e8f0;
  color: #334155;
}
.detail-row[data-v-01ec8ddd] {
  /* styles remain the same */
}
.detail-label[data-v-01ec8ddd] {
  display: block;
  font-size: 0.8rem;
  color: #6c757d;
  margin-bottom: 2px;
  font-weight: 500;
}
.detail-label .detail-link[data-v-01ec8ddd] {
  color: #0ea5e9;
  text-decoration: underline;
  font-weight: 600;
  margin-left: 4px;
}
.detail-label .detail-link[data-v-01ec8ddd]:hover {
  text-decoration: none;
}
.detail-value[data-v-01ec8ddd] {
  font-size: 0.95rem;
  color: #212529;
  font-weight: 500;
}
.detail-value.company[data-v-01ec8ddd] {
  font-weight: 500;
  color: #343a40;
}
.detail-value.mono[data-v-01ec8ddd] {
  font-family: monospace;
  font-size: 0.9rem;
}
.detail-value.total[data-v-01ec8ddd] {
  font-size: 1.2rem;
  font-weight: 600;
  color: #343a40;
}

/* Added style for premium row in body */
.detail-row.premium-row[data-v-01ec8ddd] {
  grid-column: 1 / -1; /* span full width */
  display: flex; /* keep items on a single row */
  align-items: baseline; /* align label with numbers nicely */
  justify-content: flex-end; /* push to the right */
  gap: 8px;
  text-align: right;
  flex-wrap: nowrap;
}
.detail-row.premium-row .detail-label[data-v-01ec8ddd] {
  display: inline-block;
  margin: 0;
  white-space: nowrap;
}
.detail-row.premium-row .detail-value.premium[data-v-01ec8ddd] {
  font-size: 1.25rem;
  font-weight: 700;
  color: #212529;
  white-space: nowrap;
}
.detail-row.premium-row .premium-term[data-v-01ec8ddd] {
  font-size: 0.8rem;
  font-weight: normal;
  color: #6c757d;
  margin-left: 4px;
}

/* Pakketkorting (discount) row - uses same styling as other rows */

/* Footer specifically for product cards */
.card-footer.product-footer[data-v-01ec8ddd] {
  background-color: #ffffff;
  padding: 12px 16px;
  border-top: 1px solid #e9ecef;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
}

/* Details button style */
.card-footer.product-footer .details-button[data-v-01ec8ddd] {
  padding: 6px 10px;
  background-color: #ffffff;
  color: #212529;
  border: 1px solid #ced4da;
  border-radius: 6px;
  cursor: pointer;
  font-size: 0.9rem;
  font-weight: 500;
  margin-right: 6px;
}
.card-footer.product-footer .details-button[data-v-01ec8ddd]:hover:not(:disabled) {
  background-color: #f1f3f5;
}
.card-footer.product-footer .details-button[data-v-01ec8ddd]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* Details Modal */
.details-modal-overlay[data-v-01ec8ddd] {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}
.details-modal[data-v-01ec8ddd] {
  background: #fff;
  border-radius: 10px;
  max-width: 720px;
  width: calc(100% - 40px);
  max-height: 80vh;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
  display: flex; /* Enable vertical layout */
  flex-direction: column; /* Header + body stack */
}
.details-modal-header[data-v-01ec8ddd] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 18px;
  border-bottom: 1px solid #e9ecef;
}
.details-modal-title[data-v-01ec8ddd] {
  margin: 0;
  font-size: 1.2rem;
  color: #343a40;
}
.details-modal-close[data-v-01ec8ddd] {
  appearance: none;
  border: 1px solid #ced4da;
  background: #fff;
  border-radius: 6px;
  padding: 6px 10px;
  cursor: pointer;
}
.details-modal-body[data-v-01ec8ddd] {
  padding: 16px 18px;
  overflow: auto; /* Scroll content */
  flex: 1 1 auto; /* Take remaining height */
  min-height: 0; /* Allow inner scrolling in flex container */
}

/* Ensure each document link appears on its own line */
.doc-link[data-v-01ec8ddd] {
  display: block;
  margin: 4px 0;
}
.overview-section[data-v-01ec8ddd] {
  margin-bottom: 16px;
  border: 1px solid #e9ecef;
  border-radius: 8px;
}
.overview-section-header[data-v-01ec8ddd] {
  background: #f8f9fa;
  padding: 10px 12px;
  font-weight: 600;
  color: #495057;
  border-bottom: 1px solid #e9ecef;
}
.overview-items[data-v-01ec8ddd] {
  padding: 8px 12px 12px 12px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 8px 16px;
}
.overview-item-label[data-v-01ec8ddd] {
  display: block;
  font-size: 0.85rem;
  color: #6c757d;
}
.overview-item-value[data-v-01ec8ddd] {
  font-size: 0.95rem;
  color: #212529;
  word-break: break-word;
}

/* Modal polish */
.overview-item-value[data-v-01ec8ddd] {
  text-align: left;
}
.overview-item-value .value-positive[data-v-01ec8ddd] {
  color: #0f9d58;
}
.overview-item-value .value-cost[data-v-01ec8ddd] {
  color: #343a40;
}
.overview-section[data-v-01ec8ddd] {
  margin-bottom: 16px;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
}
.overview-section-header[data-v-01ec8ddd] {
  background: linear-gradient(180deg, #fafbfc, #f3f4f6);
  padding: 10px 12px;
  font-weight: 600;
  color: #495057;
  border-bottom: 1px solid #e9ecef;
}
.details-modal-close[data-v-01ec8ddd]:hover {
  background: #f8f9fa;
}
.overview-items a[data-v-01ec8ddd] {
  color: #03854c;
  text-decoration: underline;
  font-size: 0.95rem;
}
.doc-link-btn[data-v-01ec8ddd] {
  appearance: none;
  border: 1px solid #ced4da;
  background: #fff;
  color: #212529;
  border-radius: 14px;
  padding: 4px 10px;
  margin: 2px 4px 0 0;
  font-size: 0.95rem;
  cursor: pointer;
}
.doc-link-btn[data-v-01ec8ddd]:hover {
  background: #f8f9fa;
}
.details-error[data-v-01ec8ddd] {
  color: #c92a2a;
  margin-bottom: 10px;
}
.doc-multi-columns[data-v-01ec8ddd] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 8px 12px;
  margin-top: 6px;
}
.doc-num-group[data-v-01ec8ddd] {
  border: 1px dashed #e9ecef;
  border-radius: 6px;
  padding: 6px 8px;
  background: #fcfcfc;
}
.edit-button[data-v-01ec8ddd] {
  padding: 6px 12px;
  background-color: #ffffff; /* Subtle button */
  color: #212529;
  border: 1px solid #ced4da;
  border-radius: 6px;
  cursor: pointer;
  font-size: 0.9rem;
  font-weight: 500;
  transition:
    background-color 0.2s,
    border-color 0.2s;
}
.edit-button[data-v-01ec8ddd]:hover:not(:disabled) {
  background-color: #f1f3f5;
  border-color: #adb5bd;
}
.edit-button[data-v-01ec8ddd]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* Added Remove Button Styles */
.danger-button[data-v-01ec8ddd] {
  padding: 6px 12px;
  background-color: var(--color-danger-background); /* Use danger color */
  color: #721c24;
  border: 1px solid #f5c6cb;
  border-radius: 6px;
  cursor: pointer;
  font-size: 0.9rem;
  font-weight: 500;
  transition:
    background-color 0.2s,
    border-color 0.2s;
}
.danger-button[data-v-01ec8ddd]:hover:not(:disabled) {
  background-color: var(--color-danger-background-hover);
  border-color: #dc3545;
}
.danger-button[data-v-01ec8ddd]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* --- NEW: Service Option Selection Styles --- */
.service-options-section[data-v-01ec8ddd] {
  background-color: #ffffff;
  padding: 25px;
  border-radius: 12px;
  border: 1px solid #ced4da;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.07);
  margin-top: 30px;
}
.service-options-section .section-title[data-v-01ec8ddd] {
  font-size: 1.6rem;
  color: #343a40;
  margin-bottom: 20px;
  text-align: left;
}
.options-container[data-v-01ec8ddd] {
  display: flex;
  flex-direction: column;
  gap: 20px; /* Space between each service option card */
}
.service-option-card[data-v-01ec8ddd] {
  background-color: #f8f8f8;
  padding: 20px;
  border-radius: 8px;
  border: 2px solid transparent; /* For selection indication */
  transition:
    border-color 0.2s ease-in-out,
    box-shadow 0.2s ease-in-out;
  cursor: pointer; /* Make entire card clickable via label */
}
.service-option-card[data-v-01ec8ddd]:hover:not(.disabled):not(.not-eligible) {
  border-color: #5cb85c;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
.service-option-card.selected[data-v-01ec8ddd] {
  border-color: #03854c;
  background-color: var(--color-primary-background-light); /* Subtle selected background */
}

/* Header within the service option card */
.option-header[data-v-01ec8ddd] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

/* Header shine removed per request */

/* Removed badge (no 'enige optie' label) */
.service-option-card.disabled[data-v-01ec8ddd],
.service-option-card.not-eligible[data-v-01ec8ddd] {
  opacity: 0.7;
  cursor: not-allowed;
  background-color: var(--color-background-muted);
}
.service-option-card.not-eligible[data-v-01ec8ddd] {
  border-color: #dee2e6; /* Distinguish slightly from fully disabled */
}
.option-label[data-v-01ec8ddd] {
  display: flex; /* Align radio button and text content */
  align-items: flex-start; /* Align radio with top of text */
  gap: 15px; /* Space between radio and its text block */
  cursor: pointer;
  width: 100%;
}
.service-option-card.disabled .option-label[data-v-01ec8ddd],
.service-option-card.not-eligible .option-label[data-v-01ec8ddd] {
  cursor: not-allowed;
}
.option-label input[type='radio'][data-v-01ec8ddd] {
  margin-top: 4px; /* Align with first line of text better */
  flex-shrink: 0;
  /* Larger radio buttons for easier clicking */
  width: 1.2em;
  height: 1.2em;
}
.option-name-fee[data-v-01ec8ddd] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  margin-bottom: 8px;
}
.option-name[data-v-01ec8ddd] {
  font-size: 1.2rem;
  font-weight: 600;
  color: #343a40;
}
.selected .option-name[data-v-01ec8ddd] {
  color: #03854c;
}
.option-fee[data-v-01ec8ddd] {
  font-size: 1.1rem;
  font-weight: 500;
  color: #212529;
}
.selected .option-fee[data-v-01ec8ddd] {
  color: #024d2a;
  font-weight: bold;
}
.option-fee.strike-through[data-v-01ec8ddd] {
  text-decoration: line-through;
  color: #adb5bd;
}
.option-details[data-v-01ec8ddd] {
  list-style-type: disc; /* Or '✓ ' with ::before if desired */
  padding-left: 20px; /* Indent list items */
  margin: 0 0 10px 0; /* Remove top margin, add bottom for spacing to description */
  font-size: 0.9rem;
  color: #6c757d;
}
.option-details li[data-v-01ec8ddd] {
  margin-bottom: 4px;
}
.option-description[data-v-01ec8ddd] {
  font-size: 0.85rem;
  color: #adb5bd;
  margin-top: 5px;
}

/* simplified compare container (title removed) */
.compare-columns[data-v-01ec8ddd] {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
.compare-card[data-v-01ec8ddd] {
  border-radius: 10px;
  padding: 14px 16px;
  background: #fff;
  border: 1px solid #dfe7e2;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}
.compare-card .card-title[data-v-01ec8ddd] {
  font-weight: 700;
  margin-bottom: 6px;
}
.compare-card .price[data-v-01ec8ddd] {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin-bottom: 6px;
}
.compare-card .price .amount[data-v-01ec8ddd] {
  font-size: 1.4rem;
  font-weight: 800;
}
.compare-card .price .per[data-v-01ec8ddd] {
  opacity: 0.8;
  font-weight: 500;
}
.compare-card .points[data-v-01ec8ddd] {
  margin: 0;
  padding-left: 18px;
  color: #2b463b;
  font-size: 0.9rem;
}
.compare-card .points li[data-v-01ec8ddd] {
  display: grid;
  grid-template-columns: 20px 1fr;
  align-items: start;
  gap: 6px;
  margin-bottom: 4px;
}
.compare-card .points .icon[data-v-01ec8ddd] {
  line-height: 1.2;
}
.compare-card .points .icon.positive[data-v-01ec8ddd] {
  color: #0b7d49;
}
.compare-card .points .icon.negative[data-v-01ec8ddd] {
  color: #b02a37;
}
.compare-card.other-parties[data-v-01ec8ddd] {
  background: linear-gradient(135deg, #fff5f5 0%, #ffeaea 100%);
  border-color: #f3c2c2;
}
.compare-card.other-parties .card-title[data-v-01ec8ddd] {
  color: #842029;
}
.compare-card.other-parties .price .amount[data-v-01ec8ddd] {
  color: #b02a37;
}
.compare-card.our-offer[data-v-01ec8ddd] {
  background: linear-gradient(135deg, #e6fff3 0%, #f0fff9 100%);
  border-color: #98e1ba;
  box-shadow: 0 6px 18px rgba(11, 125, 73, 0.16);
  position: relative;
  overflow: hidden; /* needed for shine animation mask */
}
.compare-card.our-offer .card-title[data-v-01ec8ddd] {
  color: #0f5132;
}
.compare-card.our-offer .price .amount[data-v-01ec8ddd] {
  color: #0b7d49;
}
/* New subtle shine animation */
.compare-card.our-offer.shine[data-v-01ec8ddd]::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 85%;
  height: 220%;
  background: linear-gradient(
    90deg,
    rgba(34, 197, 94, 0) 0%,
    rgba(34, 197, 94, 0.35) 50%,
    rgba(34, 197, 94, 0) 100%
  );
  transform: translateX(-130%) rotate(18deg);
  animation: sv-shine-01ec8ddd 3.6s linear infinite;
  z-index: 5;
  pointer-events: none;
}
@keyframes sv-shine-01ec8ddd {
0% {
    transform: translateX(-130%) rotate(18deg);
    opacity: 0.6;
}

  /* Suggestions collapsed trigger */
.suggestions-collapsed {
    display: flex;
    justify-content: flex-start;
    margin: 8px 0 20px;
}
.suggestions-open-btn {
    appearance: none;
    border: 1px solid #cbd5e1;
    background: #f8fafc;
    color: #0f172a;
    padding: 10px 12px;
    border-radius: 8px;
    font-weight: 600;
    cursor: pointer;
}
.suggestions-open-btn:hover {
    border-color: #94a3b8;
    box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.12);
}
100% {
    transform: translateX(160%) rotate(18deg);
    opacity: 0.6;
}
}

/* Soft pulse to ensure visibility even if sweep is subtle */
.compare-card.our-offer.shine[data-v-01ec8ddd] {
  animation: sv-pulse-01ec8ddd 4.4s ease-in-out infinite;
}
@keyframes sv-pulse-01ec8ddd {
0% {
    box-shadow: 0 6px 18px rgba(11, 125, 73, 0.16);
}
50% {
    box-shadow: 0 10px 26px rgba(11, 125, 73, 0.28);
}
100% {
    box-shadow: 0 6px 18px rgba(11, 125, 73, 0.16);
}
}
.compare-summary[data-v-01ec8ddd] {
  margin-top: 12px;
  text-align: center;
}
.compare-summary .summary-amount[data-v-01ec8ddd] {
  font-size: 1.6rem;
  font-weight: 800;
  color: #0b7d49;
  padding: 0 4px;
}
.compare-summary .summary-brand[data-v-01ec8ddd] {
  font-weight: 800;
  color: #065f46;
}
.compare-summary .summary-note[data-v-01ec8ddd] {
  margin-top: 4px;
  font-size: 0.9rem;
  color: #1b4332;
}

/* New service compare layout */
.service-compare[data-v-01ec8ddd] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.service-compare-column[data-v-01ec8ddd] {
  flex: 1;
  border-radius: 14px;
  padding: 18px;
  border: 1px solid #e2e8f0;
  background: #fff;
  box-shadow: 0 10px 30px -20px rgba(15, 23, 42, 0.35);
}
.prov-column[data-v-01ec8ddd] {
  background: linear-gradient(145deg, #f8fafc, #eef2ff);
  border-color: #dfe4ff;
}
.sub-column[data-v-01ec8ddd] {
  background: linear-gradient(145deg, #ecfdf3, #e0f2fe);
  border-color: #bfe4ff;
}
.prov-header[data-v-01ec8ddd],
.sub-header[data-v-01ec8ddd] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.pill[data-v-01ec8ddd] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.85rem;
}
.pill.neutral[data-v-01ec8ddd] {
  background: rgba(99, 102, 241, 0.12);
  color: #4338ca;
  border: 1px solid rgba(99, 102, 241, 0.35);
}
.pill.positive[data-v-01ec8ddd] {
  background: rgba(16, 185, 129, 0.16);
  color: #065f46;
  border: 1px solid rgba(16, 185, 129, 0.35);
}
.prov-price[data-v-01ec8ddd],
.sub-price[data-v-01ec8ddd] {
  display: flex;
  align-items: baseline;
  gap: 6px;
  font-weight: 800;
  color: #0f172a;
  font-size: 1.4rem;
}
.prov-amount[data-v-01ec8ddd],
.sub-amount[data-v-01ec8ddd] {
  font-size: 1.6rem;
}
.prov-per[data-v-01ec8ddd],
.sub-per[data-v-01ec8ddd] {
  font-size: 0.95rem;
  color: #475569;
}
.prov-subtitle[data-v-01ec8ddd],
.sub-subtitle[data-v-01ec8ddd] {
  margin: 0;
  color: #475569;
  font-size: 0.95rem;
}
.prov-points[data-v-01ec8ddd],
.sub-points[data-v-01ec8ddd] {
  list-style: none;
  padding: 0;
  margin: 14px 0 0 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.prov-points li[data-v-01ec8ddd],
.sub-points li[data-v-01ec8ddd] {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #0f172a;
  font-size: 0.95rem;
}
.marker[data-v-01ec8ddd] {
  display: inline-flex;
  width: 26px;
  height: 26px;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  font-weight: 800;
  font-size: 0.9rem;
  flex-shrink: 0;
}
.marker.x[data-v-01ec8ddd] {
  background: rgba(15, 23, 42, 0.06);
  color: #0f172a;
  border: 1px solid rgba(100, 116, 139, 0.35);
}
.marker.check[data-v-01ec8ddd] {
  background: rgba(34, 197, 94, 0.18);
  color: #047857;
  border: 1px solid rgba(16, 185, 129, 0.35);
}
.sub-cta[data-v-01ec8ddd] {
  margin-top: 16px;
  padding: 12px;
  border-radius: 10px;
  background: rgba(16, 185, 129, 0.08);
  border: 1px solid rgba(16, 185, 129, 0.2);
  color: #065f46;
}
.cta-line[data-v-01ec8ddd] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-weight: 700;
  font-size: 0.98rem;
}
.cta-save[data-v-01ec8ddd] {
  color: #047857;
}
.cta-note[data-v-01ec8ddd] {
  font-weight: 600;
  color: #0f172a;
}
.service-compare-column p[data-v-01ec8ddd] {
  margin-bottom: 0;
}
@media (max-width: 768px) {
.service-compare[data-v-01ec8ddd] {
    grid-template-columns: 1fr;
}
}
.eligibility-notice[data-v-01ec8ddd] {
  font-size: 0.8rem;
  color: var(--color-warning-dark); /* Or a muted red */
  margin-top: 10px;
  padding: 8px;
  background-color: var(--color-warning-background-light);
  border-radius: 4px;
  text-align: center;
}

/* --- End Service Option Styles --- */

/* Package Summary Card - Enhanced Differentiation */
.package-summary-card.elevated[data-v-01ec8ddd] {
  background-color: #ffffff;
  border: 1px solid #ced4da;
  border-radius: 12px;
  margin-top: 30px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.07);
  overflow: hidden;
}
.elevated .summary-header[data-v-01ec8ddd] {
  padding: 16px 20px;
  border-bottom: 1px solid #e9ecef;
  background: #ffffff;
}
.elevated .summary-header .section-title[data-v-01ec8ddd] {
  margin: 0;
  font-size: 1.4rem;
  color: #343a40;
  font-weight: 600;
}
.elevated .summary-body[data-v-01ec8ddd] {
  padding: 18px 20px;
}
.elevated .summary-body.compact .detail-row[data-v-01ec8ddd] {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 6px 0;
  border-bottom: 1px solid #f1f3f5;
}
.elevated .summary-body.compact .detail-row[data-v-01ec8ddd]:last-child {
  border-bottom: none;
}
.elevated .summary-body .detail-label[data-v-01ec8ddd] {
  font-size: 0.95rem;
  color: #6c757d;
  margin: 0;
}
.elevated .summary-body .detail-value[data-v-01ec8ddd] {
  font-size: 1rem;
  color: #212529;
}
.elevated .summary-footer[data-v-01ec8ddd] {
  background-color: #ffffff;
  padding: 16px 20px;
  border-top: 1px solid #e9ecef;
  text-align: right;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
}

/* Inline price style to match product premiums */
.price-inline .amount[data-v-01ec8ddd] {
  color: #03854c;
  font-weight: 700;
}
.price-inline .per[data-v-01ec8ddd] {
  font-size: 0.85rem;
  color: #6c757d;
  margin-left: 4px;
}

/* Checkout button (reusing style name for consistency) */
.checkout-button[data-v-01ec8ddd] {
  padding: 15px 35px;
  background-color: #03854c;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 1.1rem;
  font-weight: 600;
  transition:
    background-color 0.2s ease,
    opacity 0.2s ease;
}
.checkout-button[data-v-01ec8ddd]:hover:not(:disabled) {
  background-color: #057343;
}
.checkout-button[data-v-01ec8ddd]:disabled {
  background-color: #adb5bd;
  cursor: not-allowed;
  opacity: 0.6;
}

/* Add styles for reset button */
.secondary-button[data-v-01ec8ddd] {
  padding: 15px 25px; /* Match checkout button size or adjust */
  /* Use a different color for reset to distinguish from Add buttons */
  background-color: var(--color-warning);
  color: var(--color-text-contrast); /* Ensure text is readable */
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 1.1rem; /* Match checkout button size or adjust */
  font-weight: 500; /* Slightly less bold than primary */
  transition:
    background-color 0.2s ease,
    opacity 0.2s ease;
}
.secondary-button[data-v-01ec8ddd]:hover:not(:disabled) {
  background-color: var(--color-warning-hover);
}
.secondary-button[data-v-01ec8ddd]:disabled {
  background-color: #adb5bd;
  cursor: not-allowed;
  opacity: 0.6;
}

/* Quote Download Button */
.quote-button[data-v-01ec8ddd] {
  padding: 15px 30px;
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  color: #03854c;
  border: 2px solid #03854c;
  border-radius: 6px;
  cursor: pointer;
  font-size: 1.1rem;
  font-weight: 600;
  transition: all 0.3s ease;
  text-align: center;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}
.quote-button[data-v-01ec8ddd]:hover:not(:disabled) {
  background: linear-gradient(135deg, #002d5c 0%, #004080 100%);
  color: white;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  transform: translateY(-2px);
}
.quote-button[data-v-01ec8ddd]:disabled {
  background-color: #f2f2f2;
  color: #adb5bd;
  border-color: #dee2e6;
  cursor: not-allowed;
  opacity: 0.6;
  transform: none;
}

/* Add More Section - Enhanced Upselling Design */
.add-more-section[data-v-01ec8ddd] {
  margin-top: 40px;
  padding: 40px 30px;
  background: linear-gradient(135deg, #f8f8f8 0%, #f8f9fa 100%);
  border-radius: 16px;
  border: 1px solid #dee2e6;
  text-align: center;
}
.add-more-section h2[data-v-01ec8ddd] {
  margin-bottom: 10px;
  font-size: 2rem;
  color: #343a40;
  font-weight: 700;
}
.upsell-subtitle[data-v-01ec8ddd] {
  font-size: 1.1rem;
  color: #6c757d;
  margin-bottom: 30px;
  font-weight: 400;
}

/* Welcome Header Styles */
.welcome-header[data-v-01ec8ddd] {
  text-align: center;
  margin: 0 auto 40px;
  max-width: 1000px;
  background: #ffffff;
  border-radius: 16px;
  padding: 30px 40px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
  border: 1px solid #e9ecef;
}
.welcome-title[data-v-01ec8ddd] {
  font-size: 2rem;
  font-weight: 700;
  color: #2c3e50;
  margin-bottom: 15px;
  line-height: 1.2;
  transition:
    opacity 1.6s cubic-bezier(0.25, 0.46, 0.45, 0.94),
    transform 1.6s cubic-bezier(0.25, 0.46, 0.45, 0.94),
    filter 1.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  min-height: 2.4em; /* Always reserve space for 2 lines */
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  will-change: opacity, transform, filter;
}
.welcome-title.fade-out[data-v-01ec8ddd] {
  opacity: 0;
  transform: translateY(-20px) scale(0.98);
  filter: blur(2px);
}
.welcome-subtitle[data-v-01ec8ddd] {
  font-size: 1.1rem;
  color: #6c757d;
  font-weight: 400;
  line-height: 1.5;
  margin-bottom: 25px;
  transition:
    opacity 1.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s,
    transform 1.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s,
    filter 1.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s;
  min-height: 2.8em; /* Reduced space for compact header */
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  will-change: opacity, transform, filter;
}
.welcome-subtitle.fade-out[data-v-01ec8ddd] {
  opacity: 0;
  transform: translateY(-15px) scale(0.99);
  filter: blur(1px);
}

/* Selling Points Carousel */
.selling-points-carousel[data-v-01ec8ddd] {
  margin-top: 30px;
}
.carousel-item[data-v-01ec8ddd] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 12px;
  padding: 24px 32px;
  margin: 0 auto;
  max-width: 600px;
  height: 100px; /* Fixed height instead of min-height */
  transition:
    opacity 1.2s cubic-bezier(0.4, 0, 0.2, 1),
    transform 1.2s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: opacity, transform;
}
.carousel-item.fade-out[data-v-01ec8ddd] {
  opacity: 0;
  transform: translateX(-30px) scale(0.95);
}
.carousel-icon[data-v-01ec8ddd] {
  background: linear-gradient(135deg, #03854c, #5cb85c);
  color: white;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 1.2rem;
  flex-shrink: 0;
}
.carousel-content[data-v-01ec8ddd] {
  text-align: left;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 0; /* Allow flex shrinking */
}
.carousel-title[data-v-01ec8ddd] {
  font-size: 1.1rem;
  font-weight: 600;
  color: #03854c;
  margin: 0 0 6px 0;
  line-height: 1.2;
}
.carousel-description[data-v-01ec8ddd] {
  font-size: 0.95rem;
  color: #495057;
  margin: 0;
  line-height: 1.3;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.carousel-indicators[data-v-01ec8ddd] {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 20px;
}
.carousel-dot[data-v-01ec8ddd] {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #dee2e6;
  transition: all 0.3s ease;
  cursor: pointer;
}
.carousel-dot.active[data-v-01ec8ddd] {
  background: #03854c;
  transform: scale(1.2);
}
.landing-page[data-v-01ec8ddd] {
  display: grid;
  gap: 28px;
}
.empty-overview-intro[data-v-01ec8ddd] {
  display: grid;
  gap: 8px;
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}
.empty-overview-intro__eyebrow[data-v-01ec8ddd] {
  margin: 0;
  color: var(--sv-brand-green);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}
.empty-overview-intro h2[data-v-01ec8ddd] {
  margin: 0;
  color: var(--sv-ink-1);
  font-family: var(--sv-font-display);
  font-size: clamp(2rem, 5vw, 3.25rem);
  line-height: 1;
}
.empty-overview-intro p[data-v-01ec8ddd]:not(.empty-overview-intro__eyebrow) {
  margin: 0;
  color: var(--sv-ink-3);
  font-size: 1.05rem;
  line-height: 1.55;
}

/* Insurance Selection Grid - Premium Card Design */
.insurance-selection-grid[data-v-01ec8ddd] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  margin-top: 24px;
  padding: 0;
  max-width: none;
  margin-left: auto;
  margin-right: auto;
}
.insurance-card[data-v-01ec8ddd] {
  background: #ffffff;
  border: 2px solid #dee2e6;
  border-radius: 20px;
  padding: 40px 32px;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  text-align: center;
  position: relative;
  overflow: hidden;
  min-height: 240px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}
.insurance-card[data-v-01ec8ddd]::before {
  content: none; /* remove green top edge */
}
.insurance-card[data-v-01ec8ddd]:hover {
  transform: none; /* no movement on hover */
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
  border-color: #6c757d; /* neutral */
}
.insurance-card[data-v-01ec8ddd]:hover::before {
  transform: none;
}
.insurance-card.secondary[data-v-01ec8ddd] {
  background: #f8f8f8;
  border-color: var(--color-border-lighter);
  opacity: 0.85;
}
.insurance-card.secondary[data-v-01ec8ddd]:hover {
  border-color: #6c757d;
  opacity: 1;
  transform: translateY(-4px);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.08);
}
.insurance-card.secondary[data-v-01ec8ddd]::before {
  background: linear-gradient(90deg, #6c757d, var(--color-secondary-light));
}

/* Default cards (not primary, complementary, or secondary) */
.insurance-card[data-v-01ec8ddd]:not(.primary-product):not(.complementary-product):not(.secondary) {
  background: #ffffff;
  opacity: 0.9;
}
.insurance-card[data-v-01ec8ddd]:not(.primary-product):not(.complementary-product):not(.secondary):hover {
  opacity: 1;
  transform: none; /* no movement */
}
.insurance-icon[data-v-01ec8ddd] {
  font-size: 3.5rem;
  margin-bottom: 16px;
  line-height: 1;
  transition: transform 0.3s ease;
}
.insurance-card:hover .insurance-icon[data-v-01ec8ddd] {
  transform: none; /* no icon scaling */
}
.insurance-title[data-v-01ec8ddd] {
  font-size: 1.25rem;
  font-weight: 600;
  color: #343a40;
  margin: 0 0 8px 0;
  line-height: 1.3;
}
.insurance-description[data-v-01ec8ddd] {
  font-size: 0.9rem;
  color: #6c757d;
  margin: 0;
  line-height: 1.4;
  max-width: 220px;
}

/* Keep 3-column layout on larger screens */

/* Responsive adjustments */
@media (max-width: 1200px) {
.calculation-overview[data-v-01ec8ddd] {
    max-width: 1000px;
    padding: 40px;
}
.welcome-header[data-v-01ec8ddd] {
    padding: 25px 40px;
}
.welcome-title[data-v-01ec8ddd] {
    font-size: 1.8rem;
    min-height: 2.4em;
}
.welcome-subtitle[data-v-01ec8ddd] {
    font-size: 1rem;
    min-height: 2.6em;
}
.carousel-item[data-v-01ec8ddd] {
    padding: 20px 24px;
    gap: 16px;
    height: 90px; /* Slightly smaller for medium screens */
}
.insurance-selection-grid[data-v-01ec8ddd] {
    gap: 32px;
}
}
@media (max-width: 768px) {
.calculation-overview[data-v-01ec8ddd] {
    margin: 5px;
    padding: 5px;
}
.welcome-header[data-v-01ec8ddd] {
    padding: 10px 5px;
}
.welcome-title[data-v-01ec8ddd] {
    font-size: 1.6rem;
    min-height: 3em;
    line-height: 1.3;
}
.welcome-subtitle[data-v-01ec8ddd] {
    font-size: 0.95rem;
    min-height: 3.2em;
    line-height: 1.4;
}
.carousel-item[data-v-01ec8ddd] {
    flex-direction: column;
    gap: 12px;
    padding: 20px;
    text-align: center;
    max-width: 100%;
    height: 120px; /* Taller for mobile due to vertical layout */
}
.carousel-content[data-v-01ec8ddd] {
    text-align: center;
}
.carousel-title[data-v-01ec8ddd] {
    font-size: 1rem;
    margin-bottom: 4px;
}
.carousel-description[data-v-01ec8ddd] {
    font-size: 0.9rem;
    line-height: 1.2;
}
.policy-start-gateway__grid[data-v-01ec8ddd] {
    grid-template-columns: 1fr;
    gap: 16px;
}
.policy-start-gateway__option[data-v-01ec8ddd] {
    padding: 24px 18px;
    min-height: 210px;
}
.policy-start-gateway__intro-title[data-v-01ec8ddd] {
    font-size: 1.18rem;
}
.policy-start-gateway__intro-text[data-v-01ec8ddd] {
    font-size: 0.94rem;
}
.insurance-selection-grid[data-v-01ec8ddd] {
    grid-template-columns: 1fr;
    gap: 24px;
}
.insurance-card[data-v-01ec8ddd] {
    padding: 30px 24px;
    min-height: 200px;
}
.overview-title[data-v-01ec8ddd] {
    /* ... existing ... */
}

  /* Insurance cards mobile adjustments */
.insurance-selection-grid[data-v-01ec8ddd] {
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 16px;
    padding: 0;
}
.insurance-card[data-v-01ec8ddd] {
    padding: 20px 16px;
    min-height: 160px;
}
.insurance-icon[data-v-01ec8ddd] {
    font-size: 2.5rem;
    margin-bottom: 12px;
}
.insurance-title[data-v-01ec8ddd] {
    font-size: 1.1rem;
    margin-bottom: 6px;
}
.overview-stack[data-v-01ec8ddd] {
    padding: 10px;
    gap: 10px;
}
.stack-section + .stack-section[data-v-01ec8ddd] {
    padding-top: 10px;
}
.insurance-description[data-v-01ec8ddd] {
    font-size: 0.85rem;
    display: none; /* Hide description on mobile for cleaner look */
}
.card-header[data-v-01ec8ddd] {
    padding: 15px 20px;
    /* --- Mobile Adjustments --- */
    flex-direction: column; /* Stack items vertically */
    align-items: flex-start; /* Align items to the start (left) */
    gap: 15px; /* Add space between title and logo */
}
.card-header h2[data-v-01ec8ddd] {
    margin-right: 0; /* Remove side margin on mobile */
    /* Optional: Adjust font size if needed */
}
.cart-header-side[data-v-01ec8ddd] {
    width: 100%;
    margin-left: 0;
    justify-content: space-between;
}
.cart-price[data-v-01ec8ddd] {
    align-items: flex-start;
}
.cart-price .price-amount[data-v-01ec8ddd] {
    font-size: 1.2rem;
}
.cart-meta[data-v-01ec8ddd] {
    gap: 6px;
}
.header-logo[data-v-01ec8ddd] {
    max-width: 200px; /* Limit width on mobile */
    /* max-height: 150px; */ /* Optionally reduce max-height on mobile */
    align-self: center; /* Center logo within the column */
    flex-shrink: 1; /* Allow shrinking if needed */
}
  /* --- End Mobile Adjustments --- */
.card-body[data-v-01ec8ddd],
  .summary-body[data-v-01ec8ddd] {
    /* ... existing ... */
}
.card-footer.product-footer[data-v-01ec8ddd] {
    /* Center buttons, make full width */
    padding: 15px 20px;
    flex-direction: column; /* Stack buttons */
    align-items: stretch; /* Make buttons full width */
}
.card-footer.product-footer button[data-v-01ec8ddd] {
    width: 100%;
}
.service-options-section[data-v-01ec8ddd] {
    padding: 15px;
}
.service-options-section .section-title[data-v-01ec8ddd] {
    font-size: 1.4rem;
    margin-bottom: 15px;
}
.service-option-card[data-v-01ec8ddd] {
    padding: 15px;
}
.option-label[data-v-01ec8ddd] {
    flex-direction: column; /* Stack radio and text on small screens */
    align-items: flex-start;
    gap: 10px;
}
.option-label input[type='radio'][data-v-01ec8ddd] {
    margin-top: 0; /* Reset margin */
    margin-bottom: 5px; /* Space below radio if stacked */
}
.option-name-fee[data-v-01ec8ddd] {
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
}
.option-name[data-v-01ec8ddd] {
    font-size: 1.1rem;
}
.option-fee[data-v-01ec8ddd] {
    font-size: 1rem;
}
.cart-add-more-bar[data-v-01ec8ddd] {
    min-height: 60px;
}
.summary-footer[data-v-01ec8ddd] {
    /* ... existing ... */
}
.checkout-button[data-v-01ec8ddd] {
    /* ... existing ... */
}
  /* Compact cards mobile adjustments */
.insurance-selection-grid.compact[data-v-01ec8ddd] {
    grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
    gap: 12px;
}
.insurance-card.compact[data-v-01ec8ddd] {
    min-height: 130px;
    padding: 16px 12px;
    aspect-ratio: 1 / 1;
}
.insurance-card.compact .insurance-icon[data-v-01ec8ddd] {
    font-size: 2rem;
}
.insurance-card.compact .insurance-title[data-v-01ec8ddd] {
    font-size: 0.9rem;
}
.insurance-tagline[data-v-01ec8ddd] {
    display: none; /* Hide taglines on mobile for space */
}
.badge-popular[data-v-01ec8ddd],
  .badge-recommended[data-v-01ec8ddd],
  .badge-trending[data-v-01ec8ddd],
  .badge-bundle[data-v-01ec8ddd] {
    font-size: 0.65rem;
    padding: 3px 8px;
}
.summary-footer[data-v-01ec8ddd] {
    /* ... existing ... */
}
.summary-footer button[data-v-01ec8ddd] {
    /* ... existing ... */
}
.elevated .summary-header[data-v-01ec8ddd] {
    padding: 20px 25px;
}
.elevated .summary-header h3[data-v-01ec8ddd] {
    font-size: 1.6rem; /* Adjust for mobile */
}
.elevated .summary-body[data-v-01ec8ddd] {
    padding: 25px;
}
.elevated .summary-body .detail-value.total[data-v-01ec8ddd] {
    font-size: 1.8rem; /* Adjust for mobile */
}
.elevated .summary-footer[data-v-01ec8ddd] {
    padding: 20px 25px;
    flex-direction: column; /* Stack buttons */
    align-items: stretch; /* Make buttons full width */
}
.elevated .summary-footer button[data-v-01ec8ddd] {
    width: 100%;
}
}
@media (max-width: 480px) {
.calculation-overview[data-v-01ec8ddd] {
    margin: 0;
    padding: 0;
}
.welcome-header[data-v-01ec8ddd] {
    padding: 10px 5px;
}
.insurance-selection-grid[data-v-01ec8ddd] {
    padding: 0;
    gap: 10px;
}
.overview-stack[data-v-01ec8ddd] {
    padding: 5px;
    gap: 8px;
}
.stack-section + .stack-section[data-v-01ec8ddd] {
    padding-top: 8px;
}
}

/* ServiceVerzekerd redesign overrides */
.calculation-overview[data-v-01ec8ddd] {
  background: var(--sv-bg-page);
  color: var(--sv-ink-1);
  font-family: var(--sv-font-body);
}
.overview-stack[data-v-01ec8ddd] {
  background: var(--sv-bg-sand);
  border-color: var(--sv-line-1);
  border-radius: var(--sv-radius-lg);
  box-shadow: var(--sv-shadow-sm);
}
.calculation-details-card.enhanced[data-v-01ec8ddd],
.inline-policies-panel[data-v-01ec8ddd],
.inline-inbox-panel[data-v-01ec8ddd],
.service-options-section[data-v-01ec8ddd],
.package-summary-card[data-v-01ec8ddd] {
  border-color: var(--sv-line-1);
  border-radius: var(--sv-radius-md);
  box-shadow: var(--sv-shadow-sm);
}
.card-header[data-v-01ec8ddd],
.card-header.cart-header[data-v-01ec8ddd] {
  border-bottom-color: var(--sv-line-1);
}
.product-avatar[data-v-01ec8ddd] {
  background: var(--sv-brand-green-tint);
  color: var(--sv-brand-green-deep);
  box-shadow: inset 0 0 0 1px var(--sv-brand-green-mint);
}
.insurance-selection-grid[data-v-01ec8ddd] {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  justify-self: center;
  width: min(1120px, 100%);
}
.insurance-selection-grid.compact[data-v-01ec8ddd] {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}
.overview-content--integrated .overview-stack[data-v-01ec8ddd] {
  gap: 14px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.overview-content--integrated .stack-section + .stack-section[data-v-01ec8ddd] {
  border-top: 0;
  padding-top: 0;
}
.overview-content--integrated .service-options-section[data-v-01ec8ddd] {
  padding: 16px;
}
.overview-content--integrated .service-options-section .section-title[data-v-01ec8ddd] {
  margin-bottom: 12px;
  font-size: 1rem;
}
.overview-content--integrated .service-compare[data-v-01ec8ddd] {
  gap: 12px;
}
.package-summary-card--compact-total[data-v-01ec8ddd] {
  margin-top: 0;
  overflow: visible;
}
.package-summary-card--compact-total .summary-header[data-v-01ec8ddd] {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 20px 12px;
}
.package-summary-card--compact-total .summary-eyebrow[data-v-01ec8ddd] {
  margin: 0 0 6px;
  color: var(--sv-brand-green-deep);
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.package-summary-card--compact-total .summary-header .section-title[data-v-01ec8ddd] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: baseline;
  margin: 0;
  color: var(--sv-ink-1);
  font-family: var(--sv-font-display);
  font-size: clamp(1.8rem, 3vw, 2.35rem);
  font-weight: 600;
  letter-spacing: -0.02em;
}
.package-summary-card--compact-total .summary-header .section-title span[data-v-01ec8ddd] {
  color: var(--sv-ink-3);
  font-family: var(--sv-font-body);
  font-size: 0.9rem;
  font-weight: 700;
}
.package-summary-card--compact-total .summary-subtitle[data-v-01ec8ddd] {
  margin: 6px 0 0;
  color: var(--sv-ink-3);
  font-size: 0.9rem;
  font-weight: 700;
}
.overview-content--integrated .package-summary-card--compact-total .summary-body.compact[data-v-01ec8ddd] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 24px;
  padding: 12px 20px;
  border-top: 1px solid var(--sv-line-1);
}
.overview-content--integrated .package-summary-card--compact-total .summary-footer[data-v-01ec8ddd] {
  justify-content: flex-end;
  padding: 14px 20px 18px;
}
.overview-content--integrated .insurance-selection-grid.compact[data-v-01ec8ddd] {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}
.overview-content--integrated .insurance-card.compact[data-v-01ec8ddd] {
  min-height: 126px;
  padding: 14px;
}
.overview-content--integrated .insurance-card.compact .insurance-icon[data-v-01ec8ddd] {
  width: 32px;
  height: 32px;
}
.overview-content--integrated .insurance-tagline[data-v-01ec8ddd] {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.insurance-card[data-v-01ec8ddd],
.insurance-card.compact[data-v-01ec8ddd] {
  position: relative;
  display: grid;
  align-content: start;
  gap: 10px;
  min-height: 150px;
  padding: 16px;
  border: 1px solid var(--sv-line-1);
  border-radius: var(--sv-radius-md);
  background: var(--sv-bg-panel);
  color: var(--sv-ink-1);
  cursor: pointer;
  outline: none;
  box-shadow: var(--sv-shadow-sm);
  transition:
    border-color 0.16s ease,
    box-shadow 0.16s ease,
    transform 0.16s ease,
    background 0.16s ease;
}
.insurance-card.compact[data-v-01ec8ddd] {
  aspect-ratio: auto;
}
.insurance-card[data-v-01ec8ddd]:hover,
.insurance-card[data-v-01ec8ddd]:focus-visible {
  transform: translateY(-2px);
  border-color: var(--sv-brand-green-mint);
  box-shadow: var(--sv-shadow-md);
}
.insurance-card.disabled[data-v-01ec8ddd] {
  cursor: not-allowed;
  opacity: 0.58;
}
.insurance-card.selected-card[data-v-01ec8ddd],
.insurance-card.has-policy[data-v-01ec8ddd] {
  border-color: var(--sv-brand-green);
  background: var(--sv-brand-green-tint);
}
.insurance-card.primary-product[data-v-01ec8ddd],
.insurance-card.complementary-product[data-v-01ec8ddd] {
  border-color: var(--sv-line-1);
  background: var(--sv-bg-panel);
}
.insurance-card.primary-product.selected-card[data-v-01ec8ddd],
.insurance-card.complementary-product.selected-card[data-v-01ec8ddd] {
  border-color: var(--sv-brand-green);
  background: var(--sv-brand-green-tint);
}
.insurance-icon[data-v-01ec8ddd],
.insurance-card.compact .insurance-icon[data-v-01ec8ddd] {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid var(--sv-brand-green-mint);
  border-radius: var(--sv-radius-sm);
  background: var(--sv-brand-green-tint);
  color: var(--sv-brand-green-deep);
  font-size: 1rem;
}
.insurance-title[data-v-01ec8ddd],
.insurance-card.compact .insurance-title[data-v-01ec8ddd] {
  margin: 0;
  color: var(--sv-ink-1);
  font-size: 1rem;
  font-weight: 900;
  letter-spacing: 0;
}
.insurance-description[data-v-01ec8ddd],
.insurance-tagline[data-v-01ec8ddd] {
  display: block;
  margin: 0;
  color: var(--sv-ink-3);
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 1.35;
}
.selected-pill[data-v-01ec8ddd],
.existing-policy-pill[data-v-01ec8ddd],
.quickcalc-badge[data-v-01ec8ddd] {
  width: fit-content;
  border-radius: 999px;
  font-weight: 900;
  letter-spacing: 0;
}
.selected-pill[data-v-01ec8ddd] {
  background: var(--sv-brand-green);
  color: #ffffff;
}
.existing-policy-pill[data-v-01ec8ddd] {
  background: var(--sv-warning-bg);
  color: #7a4b05;
  border: 1px solid #f2d28b;
}
.quickcalc-badge[data-v-01ec8ddd] {
  border: 1px solid var(--sv-brand-green-mint);
  background: var(--sv-bg-panel);
  color: var(--sv-brand-green-deep);
}
.policy-start-gateway__option[data-v-01ec8ddd],
.policy-start-gateway__switch[data-v-01ec8ddd] {
  border-color: var(--sv-line-1);
  background: var(--sv-bg-panel);
  color: var(--sv-ink-1);
}
.policy-start-gateway__icon[data-v-01ec8ddd] {
  display: inline-grid;
  place-items: center;
  color: var(--sv-brand-green-deep);
}
.policy-start-gateway__switch.active[data-v-01ec8ddd] {
  border-color: var(--sv-brand-green);
  background: var(--sv-brand-green-tint);
  color: var(--sv-brand-green-deep);
}
@media (max-width: 768px) {
.insurance-selection-grid[data-v-01ec8ddd],
  .insurance-selection-grid.compact[data-v-01ec8ddd] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.insurance-card[data-v-01ec8ddd],
  .insurance-card.compact[data-v-01ec8ddd] {
    min-height: 140px;
    padding: 14px;
}
}
@media (max-width: 420px) {
.insurance-selection-grid[data-v-01ec8ddd],
  .insurance-selection-grid.compact[data-v-01ec8ddd] {
    grid-template-columns: 1fr;
}
}

.modal-overlay[data-v-94a60d96] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}
.modal-container[data-v-94a60d96] {
  background-color: white;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  max-width: 450px;
  width: 90%;
  max-height: 80vh;
  overflow-y: auto;
}
.modal-header[data-v-94a60d96] {
  padding: 24px 24px 20px;
  border-bottom: 1px solid #e5e7eb;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.modal-header h2[data-v-94a60d96] {
  margin: 0;
  font-size: 1.5rem;
  color: #1f2937;
}
.close-btn[data-v-94a60d96] {
  background: none;
  border: none;
  font-size: 1.75rem;
  color: #6b7280;
  cursor: pointer;
  padding: 0;
  line-height: 1;
  transition: color 0.2s;
}
.close-btn[data-v-94a60d96]:hover {
  color: #1f2937;
}
.modal-body[data-v-94a60d96] {
  padding: 24px;
}
.modal-message[data-v-94a60d96] {
  margin: 0 0 20px;
  color: #4b5563;
  font-size: 1rem;
  line-height: 1.5;
}
.form-group[data-v-94a60d96] {
  margin-bottom: 16px;
}
.form-group label[data-v-94a60d96] {
  display: block;
  margin-bottom: 6px;
  font-weight: 500;
  color: #374151;
}
.form-group input[data-v-94a60d96] {
  width: 100%;
  padding: 12px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  font-size: 1rem;
  transition:
    border-color 0.2s,
    box-shadow 0.2s;
  box-sizing: border-box;
}
.form-group input[data-v-94a60d96]:focus {
  outline: none;
  border-color: #03854c;
  box-shadow: 0 0 0 3px rgba(3, 133, 76, 0.1);
}
.form-group input[data-v-94a60d96]:disabled {
  background-color: #f3f4f6;
  cursor: not-allowed;
}
.field-error-message[data-v-94a60d96] {
  color: #dc2626;
  font-size: 0.875rem;
  margin-top: 6px;
}
.modal-footer[data-v-94a60d96] {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  margin-top: 20px;
}
.btn[data-v-94a60d96] {
  padding: 10px 20px;
  border-radius: 6px;
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  border: none;
  outline: none;
}
.btn[data-v-94a60d96]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.btn-primary[data-v-94a60d96] {
  background-color: #03854c;
  color: white;
}
.btn-primary[data-v-94a60d96]:hover:not(:disabled) {
  background-color: #026b3d;
}
.btn-secondary[data-v-94a60d96] {
  background-color: #6b7280;
  color: white;
}
.btn-secondary[data-v-94a60d96]:hover:not(:disabled) {
  background-color: #4b5563;
}
.success-message[data-v-94a60d96] {
  text-align: center;
  padding: 20px 0;
}
.success-icon[data-v-94a60d96] {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: #d1fae5;
  color: #059669;
  font-size: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
}
.success-message p[data-v-94a60d96] {
  color: #374151;
  font-size: 1rem;
  line-height: 1.5;
  margin: 0 0 12px;
}
.success-message .note[data-v-94a60d96] {
  color: #6b7280;
  font-size: 0.875rem;
}

/* Mobile responsiveness */
@media (max-width: 640px) {
.modal-container[data-v-94a60d96] {
    width: 95%;
    margin: 10px;
}
.modal-footer[data-v-94a60d96] {
    flex-direction: column-reverse;
}
.btn[data-v-94a60d96] {
    width: 100%;
}
}

/* --- Account status picker --- */
.account-status-picker[data-v-20dfc61e] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-bottom: 25px;
}
.account-status-question[data-v-20dfc61e] {
  margin-bottom: 12px;
  font-weight: 600;
  color: #343a40;
  text-align: center;
}
.account-status-options[data-v-20dfc61e] {
  display: flex;
  border-radius: 6px;
  overflow: hidden;
  border: 1px solid #ced4da;
}
.account-status-button[data-v-20dfc61e] {
  padding: 10px 16px;
  cursor: pointer;
  background-color: #f8f8f8;
  color: #6c757d;
  border: none;
  transition:
    background-color 0.2s,
    color 0.2s;
  font-weight: 500;
}
.account-status-button[data-v-20dfc61e]:first-child {
  border-right: 1px solid #ced4da;
}
.account-status-button.active[data-v-20dfc61e] {
  background-color: #03854c;
  color: white;
}
.account-status-button[data-v-20dfc61e]:not(.active):hover {
  background-color: #f0f0f0;
}
.account-status-hint[data-v-20dfc61e] {
  margin-top: 10px;
  margin-bottom: 0;
  font-size: 0.95em;
  color: #6c757d;
  text-align: center;
}
/* --- END: Account status picker --- */
.applicant-details-form[data-v-20dfc61e] {
  max-width: 800px;
  margin: 20px auto;
  padding: 25px;
  background-color: #ffffff;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.07);
}
h2[data-v-20dfc61e] {
  text-align: center;
  margin-bottom: 10px;
  color: #343a40;
}
p[data-v-20dfc61e] {
  text-align: center;
  margin-bottom: 30px;
  color: #6c757d;
}
fieldset[data-v-20dfc61e] {
  border: 1px solid #dee2e6;
  border-radius: 6px;
  padding: 20px;
  margin-bottom: 25px;
}
legend[data-v-20dfc61e] {
  padding: 0 10px;
  font-weight: 600;
  color: #03854c;
}
.form-grid[data-v-20dfc61e] {
  display: grid;
  grid-template-columns: repeat(6, 1fr); /* 6 column grid */
  gap: 15px 20px;
}
.form-group[data-v-20dfc61e] {
  display: flex;
  flex-direction: column;
  grid-column: span 6; /* Default to full width */
}

/* Spanning helpers */
.form-group.span-1[data-v-20dfc61e] {
  grid-column: span 1;
}
.form-group.span-2[data-v-20dfc61e] {
  grid-column: span 2;
}
.form-group.span-3[data-v-20dfc61e] {
  grid-column: span 3;
}
.form-group.span-4[data-v-20dfc61e] {
  grid-column: span 4;
}
.form-group.span-5[data-v-20dfc61e] {
  grid-column: span 5;
}
.form-group label[data-v-20dfc61e] {
  margin-bottom: 5px;
  font-weight: 500;
  color: #212529;
  font-size: 0.9rem;
  text-align: left; /* Override general p text-align */
}
.field-label[data-v-20dfc61e] {
  margin-bottom: 5px;
  font-weight: 500;
  color: #212529;
  font-size: 0.9rem;
  text-align: left;
}
.fixed-field-value[data-v-20dfc61e] {
  min-height: 43px;
  display: flex;
  align-items: center;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid #ced4da;
  border-radius: 4px;
  background: #f8f9fa;
  color: #212529;
  font-size: 1rem;
  box-sizing: border-box;
}
.form-group input[type='text'][data-v-20dfc61e],
.form-group input[type='email'][data-v-20dfc61e],
.form-group input[type='tel'][data-v-20dfc61e],
.form-group input[type='date'][data-v-20dfc61e],
.form-group input[type='number'][data-v-20dfc61e],
.form-group input[type='password'][data-v-20dfc61e],
.form-group select[data-v-20dfc61e] {
  padding: 10px 12px;
  border: 1px solid #ced4da;
  border-radius: 4px;
  font-size: 1rem;
  width: 100%;
  box-sizing: border-box;
}
.form-group input[data-v-20dfc61e]:focus,
.form-group select[data-v-20dfc61e]:focus {
  border-color: #80bdff;
  outline: 0;
  box-shadow: 0 0 0 0.2rem #032b1a;
}
.field-empty-required[data-v-20dfc61e] {
  position: relative;
}
.field-empty-required[data-v-20dfc61e] input:not(:focus):not(:disabled),
.field-empty-required[data-v-20dfc61e] select:not(:focus):not(:disabled),
.field-empty-required[data-v-20dfc61e] textarea:not(:focus):not(:disabled) {
  background-color: #fffbf0 !important;
  border-color: #f0e68c !important;
}
.field-empty-required[data-v-20dfc61e] input:focus:not(:disabled),
.field-empty-required[data-v-20dfc61e] select:focus:not(:disabled),
.field-empty-required[data-v-20dfc61e] textarea:focus:not(:disabled) {
  background-color: #fffbf0 !important;
  border-color: #ffc107 !important;
  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.25) !important;
}
.field-empty-required[data-v-20dfc61e] .address-fields input:not(:focus):not(:disabled) {
  background-color: #fffbf0 !important;
  border-color: #f0e68c !important;
}
.field-error input[data-v-20dfc61e],
.field-error select[data-v-20dfc61e],
.field-error textarea[data-v-20dfc61e] {
  border-color: #d32f2f;
  background-color: #fff5f5;
}
.field-error-message[data-v-20dfc61e] {
  margin-top: 6px;
  color: #d32f2f;
  font-size: 0.85rem;
}
.forgot-password-link[data-v-20dfc61e] {
  display: inline-block;
  width: auto;
  margin-top: 4px;
  padding: 0;
  border: 0;
  background: transparent;
  font-size: 0.9rem;
  color: #03854c;
  text-decoration: none;
  cursor: pointer;
}
.forgot-password-link[data-v-20dfc61e]:hover {
  background: transparent;
  text-decoration: underline;
}

/* Checkbox specific styling */
.form-group.checkbox-group[data-v-20dfc61e] {
  flex-direction: row;
  align-items: center;
  gap: 10px;
}
.form-group.checkbox-group input[type='checkbox'][data-v-20dfc61e] {
  width: auto;
  accent-color: #03854c;
}
.form-group.checkbox-group label[data-v-20dfc61e] {
  margin-bottom: 0; /* Remove bottom margin for checkbox label */
  font-weight: normal; /* Make checkbox label normal weight */
}
.required-asterisk[data-v-20dfc61e] {
  color: #d32f2f;
  margin-left: 4px;
}
.checkbox-help[data-v-20dfc61e] {
  display: block;
  color: #6c757d;
  font-size: 0.85rem;
  margin-top: 4px;
}
.relation-note[data-v-20dfc61e] {
  font-size: 0.95rem;
  color: #6c757d;
  margin-bottom: 1rem;
}
.relation-block[data-v-20dfc61e] {
  border: 1px solid #dee2e6;
  border-radius: 6px;
  padding: 15px;
  margin-bottom: 20px;
  background-color: #f8f9fa;
}
.relation-title[data-v-20dfc61e] {
  font-size: 1.05rem;
  font-weight: 600;
  color: #2d3748;
  margin-bottom: 10px;
}

/* Remove default p tag styling from form */
.applicant-details-form form p[data-v-20dfc61e] {
  display: none;
}

/* Responsive adjustments for grid */
@media (max-width: 768px) {
.form-grid[data-v-20dfc61e] {
    grid-template-columns: repeat(2, 1fr); /* 2 columns on mobile */
}
  /* Make all groups full width on mobile */
.form-group.span-1[data-v-20dfc61e],
  .form-group.span-2[data-v-20dfc61e],
  .form-group.span-3[data-v-20dfc61e],
  .form-group.span-4[data-v-20dfc61e],
  .form-group.span-5[data-v-20dfc61e] {
    grid-column: span 2;
}
  /* ... other mobile styles ... */
}
.form-actions[data-v-20dfc61e] {
  display: flex;
  justify-content: flex-end;
  gap: 15px;
  margin-top: 30px;
  padding-top: 20px;
  border-top: 1px solid #dee2e6;
}

/* Basic button styles (can be reused/imported) */
.primary-button[data-v-20dfc61e],
.secondary-button[data-v-20dfc61e] {
  padding: 10px 20px;
  border-radius: 5px;
  border: none;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 500;
  transition: background-color 0.2s;
}
.primary-button[data-v-20dfc61e] {
  background-color: #03854c;
  color: white;
}
.primary-button[data-v-20dfc61e]:hover {
  background-color: #057343;
}
.secondary-button[data-v-20dfc61e] {
  background-color: #6c757d;
  color: #ffffff;
}
.secondary-button[data-v-20dfc61e]:hover {
  background-color: #5a6268;
}

/* Responsive */
@media (max-width: 768px) {
.applicant-details-form[data-v-20dfc61e] {
    margin: 0; /* Remove all margins on mobile */
    padding: 5px 5px;
    border-radius: 0; /* Remove radius for edge-to-edge feel */
}
.relation-block[data-v-20dfc61e] {
    padding: 5px 5px;
}
.form-actions[data-v-20dfc61e] {
    flex-direction: column-reverse;
    align-items: stretch;
}
.form-actions button[data-v-20dfc61e] {
    width: 100%;
}
}

/* ADDED: Styles for status messages inside the form (can be generalized) */
.status-message[data-v-20dfc61e] {
  padding: 10px 15px;
  border-radius: 4px;
  margin-bottom: 15px;
  font-size: 0.9rem;
  text-align: center;
}
.status-message.error[data-v-20dfc61e] {
  background-color: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
}
.status-message.success[data-v-20dfc61e] {
  background-color: #e9f5ec;
  color: #155724;
  border: 1px solid #c3e6cb;
}

.driver-details-form-view[data-v-75d99810] {
  max-width: 900px;
  margin: 30px auto;
  padding: 25px;
  background-color: #ffffff;
  border-radius: 8px;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.08);
}
h1[data-v-75d99810] {
  text-align: center;
  margin-bottom: 30px;
  color: #03854c;
}
.loading-state[data-v-75d99810],
.error-state[data-v-75d99810],
.empty-state[data-v-75d99810] {
  text-align: center;
  padding: 40px 20px;
  border: 1px dashed #dee2e6;
  border-radius: 6px;
  background-color: #f8f8f8;
}
.loading-state p[data-v-75d99810],
.error-state p[data-v-75d99810],
.empty-state p[data-v-75d99810] {
  font-size: 1rem;
  color: #6c757d;
  margin-top: 10px;
}
.error-state h2[data-v-75d99810],
.empty-state h2[data-v-75d99810] {
  color: #343a40;
  margin-bottom: 10px;
}
.error-state button[data-v-75d99810],
.empty-state button[data-v-75d99810] {
  margin-top: 15px;
  padding: 8px 16px;
  margin-left: 5px;
  margin-right: 5px;
}
.spinner[data-v-75d99810] {
  border: 4px solid rgba(0, 0, 0, 0.1);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border-left-color: #03854c;
  margin: 0 auto 10px auto;
  animation: spin-75d99810 1s linear infinite;
}
@keyframes spin-75d99810 {
to {
    transform: rotate(360deg);
}
}
.status-message[data-v-75d99810] {
  padding: 10px 15px;
  border-radius: 4px;
  margin-bottom: 20px;
  font-size: 0.9rem;
  text-align: center;
}
.status-message.error[data-v-75d99810] {
  background-color: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
}
.status-message.success[data-v-75d99810] {
  background-color: #e9f5ec;
  color: #155724;
  border: 1px solid #c3e6cb;
}
.validation-summary pre[data-v-75d99810] {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  white-space: pre-wrap;
}
.driver-form-card[data-v-75d99810] {
  border: 1px solid #dee2e6;
  border-radius: 6px;
  padding: 20px;
  margin-bottom: 20px;
  background-color: #f8f8f8;
}
.driver-title[data-v-75d99810] {
  font-size: 1.1rem;
  color: #343a40;
  margin-top: 0;
  margin-bottom: 15px;
}
.form-grid[data-v-75d99810] {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 15px 20px;
}
.form-group[data-v-75d99810] {
  display: flex;
  flex-direction: column;
  grid-column: span 6; /* Default span */
}
.form-group.span-3[data-v-75d99810] {
  grid-column: span 3;
}
.form-group label[data-v-75d99810] {
  margin-bottom: 6px;
  font-weight: 500;
  color: #212529;
  font-size: 0.9rem;
}
.form-group input[type='text'][data-v-75d99810],
.form-group input[type='date'][data-v-75d99810],
.form-group select[data-v-75d99810] {
  padding: 9px 12px;
  border: 1px solid #ced4da;
  border-radius: 4px;
  font-size: 1rem;
  width: 100%;
  box-sizing: border-box;
  transition:
    border-color 0.2s,
    box-shadow 0.2s;
  background-color: #ffffff;
  color: #212529;
  font-family: inherit;
}
.form-group input[type='date'][data-v-75d99810] {
  padding: 8px 12px;
} /* Slight adjustment for native date height */
.form-group input[data-v-75d99810]:focus,
.form-group select[data-v-75d99810]:focus,
.form-group input[type='date'][data-v-75d99810]:focus {
  border-color: #80bdff;
  outline: 0;
  box-shadow: 0 0 0 0.2rem #032b1a;
}
select[data-v-75d99810] {
  cursor: pointer;
}
.main-actions[data-v-75d99810] {
  margin-top: 30px;
  padding-top: 20px;
  border-top: 1px solid #dee2e6;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
button[data-v-75d99810] {
  padding: 10px 20px;
  border-radius: 5px;
  border: none;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 500;
  transition:
    background-color 0.2s,
    opacity 0.2s;
}
button[data-v-75d99810]:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}
.button-primary[data-v-75d99810] {
  background-color: #03854c;
  color: white;
}
.button-primary[data-v-75d99810]:hover:not(:disabled) {
  background-color: #057343;
}
.button-primary[data-v-75d99810]:disabled {
  background-color: #adb5bd;
}
.button-secondary[data-v-75d99810] {
  background-color: #6c757d;
  color: #ffffff;
}
.button-secondary[data-v-75d99810]:hover:not(:disabled) {
  background-color: #5a6268;
}
.button-secondary[data-v-75d99810]:disabled {
  background-color: #adb5bd;
}
@media (max-width: 768px) {
.driver-details-form-view[data-v-75d99810] {
    margin: 5px auto;
    padding: 5px;
}
.form-grid[data-v-75d99810] {
    grid-template-columns: 1fr; /* Stack fields on mobile */
}
.driver-form-card[data-v-75d99810] {
    padding: 15px;
}
.form-group.span-3[data-v-75d99810] {
    grid-column: span 1;
}
.main-actions[data-v-75d99810] {
    flex-direction: column-reverse;
    gap: 15px;
    align-items: stretch;
}
.main-actions button[data-v-75d99810] {
    width: 100%;
}
}
@media (max-width: 480px) {
.driver-details-form-view[data-v-75d99810] {
    margin: 0;
    padding: 0;
}
.driver-form-card[data-v-75d99810] {
    padding: 10px;
}
}

.application-details-view[data-v-4904430e] {
  max-width: 900px;
  margin: 30px auto;
  padding: 25px;
  background-color: #ffffff;
  border-radius: 8px;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.08);
}
h1[data-v-4904430e] {
  text-align: center;
  margin-bottom: 30px;
  color: #03854c;
}
.loading-state[data-v-4904430e],
.error-state[data-v-4904430e],
.empty-state[data-v-4904430e] {
  text-align: center;
  padding: 40px 20px;
  border: 1px dashed #dee2e6;
  border-radius: 6px;
  background-color: #f8f8f8;
}
.loading-state p[data-v-4904430e],
.error-state p[data-v-4904430e],
.empty-state p[data-v-4904430e] {
  font-size: 1rem;
  color: #6c757d;
  margin-top: 10px;
}
.error-state h2[data-v-4904430e],
.empty-state h2[data-v-4904430e] {
  color: #343a40;
  margin-bottom: 10px;
}
.error-state button[data-v-4904430e],
.empty-state button[data-v-4904430e] {
  margin-top: 15px;
  padding: 8px 16px;
  /* Add button styles */
}
.spinner[data-v-4904430e] {
  border: 4px solid rgba(0, 0, 0, 0.1);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border-left-color: #03854c;
  margin: 0 auto 10px auto;
  animation: spin-4904430e 1s linear infinite;
}
@keyframes spin-4904430e {
to {
    transform: rotate(360deg);
}
}
.details-content[data-v-4904430e] {
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}
.details-content.content-ready[data-v-4904430e] {
  opacity: 1;
}
.details-content h2[data-v-4904430e] {
  margin-bottom: 20px;
  color: #343a40;
  border-bottom: 1px solid #dee2e6;
  padding-bottom: 10px;
}
.raw-data[data-v-4904430e] {
  background-color: #f8f9fa; /* Light background for code */
  border: 1px solid #dee2e6;
  border-radius: 4px;
  padding: 15px;
  margin-bottom: 25px;
  max-height: 500px; /* Limit height */
  overflow: auto; /* Add scrollbars if needed */
}
.raw-data h3[data-v-4904430e] {
  margin-top: 0;
  margin-bottom: 10px;
  font-size: 1.1rem;
}
pre[data-v-4904430e] {
  white-space: pre-wrap; /* CSS 3 */
  white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
  white-space: -pre-wrap; /* Opera 4-6 */
  white-space: -o-pre-wrap; /* Opera 7 */
  word-wrap: break-word; /* Internet Explorer 5.5+ */
  margin: 0;
  font-family: monospace;
  font-size: 0.9rem;
  color: #212529;
}
.actions[data-v-4904430e] {
  margin-top: 20px;
  text-align: right;
}
.actions button[data-v-4904430e] {
  padding: 10px 20px;
  /* Add button styles */
}

/* Re-use button styles */
button[data-v-4904430e] {
  cursor: pointer;
  background-color: #6c757d;
  color: #ffffff;
  border: none;
  border-radius: 4px;
  transition: background-color 0.2s;
}
button[data-v-4904430e]:hover:not(:disabled) {
  background-color: #5a6268;
}

/* Form Section Styling */
.form-section[data-v-4904430e] {
  background-color: #f8f9fa;
  border: 1px solid #ced4da;
  border-radius: 8px;
  padding: 25px;
  margin-bottom: 30px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}
.section-title[data-v-4904430e] {
  font-size: 1.3rem;
  color: #024d2a;
  margin-top: 0;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #dee2e6;
}
.section-intro[data-v-4904430e] {
  color: #6c757d;
  margin-bottom: 25px;
  font-size: 0.95rem;
}

/* Status Messages */
.status-message[data-v-4904430e] {
  padding: 10px 15px;
  border-radius: 4px;
  margin-bottom: 20px;
  font-size: 0.9rem;
  text-align: center;
}
.status-message.error[data-v-4904430e] {
  background-color: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
}
.status-message.success[data-v-4904430e] {
  background-color: #e9f5ec;
  color: #155724;
  border: 1px solid #c3e6cb;
}

/* Driver Form Card */
.driver-form-card[data-v-4904430e] {
  border: 1px solid #dee2e6;
  border-radius: 6px;
  padding: 20px;
  margin-bottom: 20px;
  background-color: #f8f8f8;
}
.driver-title[data-v-4904430e] {
  font-size: 1.1rem;
  color: #343a40;
  margin-top: 0;
  margin-bottom: 15px;
}

/* Form Grid */
.form-grid[data-v-4904430e] {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 15px 20px;
}
.form-group[data-v-4904430e] {
  display: flex;
  flex-direction: column;
  grid-column: span 6; /* Default span */
}
.form-group.span-1[data-v-4904430e] {
  grid-column: span 1;
}
.form-group.span-2[data-v-4904430e] {
  grid-column: span 2;
}
.form-group.span-3[data-v-4904430e] {
  grid-column: span 3;
}
.form-group label[data-v-4904430e] {
  margin-bottom: 6px;
  font-weight: 500;
  color: #212529;
  font-size: 0.9rem;
}
.form-group input[type='text'][data-v-4904430e],
.form-group select[data-v-4904430e] {
  padding: 9px 12px;
  border: 1px solid #ced4da;
  border-radius: 4px;
  font-size: 1rem;
  width: 100%;
  box-sizing: border-box;
  transition:
    border-color 0.2s,
    box-shadow 0.2s;
}
/* ADDED: Style for date input to match others */
.form-group input[type='date'][data-v-4904430e] {
  padding: 8px 12px; /* Slightly less vertical padding due to native control height */
  border: 1px solid #ced4da;
  border-radius: 4px;
  font-size: 1rem;
  width: 100%;
  box-sizing: border-box;
  transition:
    border-color 0.2s,
    box-shadow 0.2s;
  background-color: #ffffff; /* Match other inputs */
  color: #212529; /* Match other inputs */
  font-family: inherit; /* Ensure consistent font */
}
.form-group input[data-v-4904430e]:focus,
.form-group select[data-v-4904430e]:focus {
  border-color: #80bdff;
  outline: 0;
  box-shadow: 0 0 0 0.2rem #032b1a;
}
/* ADDED: Style for date input focus to match others */
.form-group input[type='date'][data-v-4904430e]:focus {
  border-color: #80bdff;
  outline: 0;
  box-shadow: 0 0 0 0.2rem #032b1a;
}
select[data-v-4904430e] {
  cursor: pointer;
}

/* Form Actions */
.form-actions[data-v-4904430e] {
  margin-top: 25px;
  text-align: right;
}
.main-actions[data-v-4904430e] {
  margin-top: 30px;
  padding-top: 20px;
  border-top: 1px solid #dee2e6;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* Placeholder */
.placeholder[data-v-4904430e] {
  font-style: italic;
  color: #adb5bd;
  background-color: #f8f8f8;
  padding: 20px;
  text-align: center;
  border-radius: 4px;
}

/* Button Styles (Reuse/Import these) */
button[data-v-4904430e] {
  padding: 10px 20px;
  border-radius: 5px;
  border: none;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 500;
  transition:
    background-color 0.2s,
    opacity 0.2s;
}
button[data-v-4904430e]:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}
.button-primary[data-v-4904430e] {
  background-color: #03854c;
  color: white;
}
.button-primary[data-v-4904430e]:hover:not(:disabled) {
  background-color: #057343;
}
.button-primary[data-v-4904430e]:disabled {
  background-color: #adb5bd;
}
.button-secondary[data-v-4904430e] {
  background-color: #6c757d;
  color: #ffffff;
}
.button-secondary[data-v-4904430e]:hover:not(:disabled) {
  background-color: #5a6268;
}
.button-secondary[data-v-4904430e]:disabled {
  background-color: #adb5bd;
}
.relation-details[data-v-4904430e] {
  margin-top: 10px;
}
.relation-details-grid[data-v-4904430e] {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.relation-details-grid .span-2[data-v-4904430e] {
  grid-column: span 2;
}

/* Responsive */
@media (max-width: 768px) {
.application-details-view[data-v-4904430e] {
    margin: 5px auto;
    padding: 5px;
}
.form-grid[data-v-4904430e] {
    grid-template-columns: 1fr; /* Stack fields on mobile */
}
.form-section[data-v-4904430e] {
    padding: 15px;
}
.form-group.span-1[data-v-4904430e],
  .form-group.span-2[data-v-4904430e],
  .form-group.span-3[data-v-4904430e] {
    grid-column: span 1;
}
.main-actions[data-v-4904430e] {
    flex-direction: column-reverse;
    gap: 15px;
    align-items: stretch;
}
.main-actions button[data-v-4904430e] {
    width: 100%;
}
.form-group.checkbox-group label[data-v-4904430e] {
    /* Allow label to wrap below checkbox on very small screens if needed */
    flex-basis: calc(100% - 30px); /* Adjust based on checkbox size and gap */
}
.form-group.reason-group[data-v-4904430e] {
    padding-left: 15px; /* Reduce indent on mobile */
}
.ja-nee-toggle[data-v-4904430e] {
    /* Ensure toggle doesn't overflow on small screens */
    flex-wrap: wrap;
    gap: 5px; /* Add gap if they wrap */
}
.relation-details-grid[data-v-4904430e] {
    grid-template-columns: 1fr;
}
.relation-details-grid .span-2[data-v-4904430e] {
    grid-column: span 1;
}
.ja-nee-toggle button[data-v-4904430e] {
    flex-grow: 1; /* Allow buttons to take equal space */
}
}
@media (max-width: 480px) {
.application-details-view[data-v-4904430e] {
    margin: 0;
    padding: 0;
}
.form-section[data-v-4904430e] {
    padding: 10px;
    margin-bottom: 15px;
}
}

/* Slotvragen Form Specific Styles */
.fancy-section[data-v-4904430e] {
  background: linear-gradient(135deg, #f8f8f8 0%, #ffffff 100%);
  padding: 30px;
  border-radius: 12px;
  border: none;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
}
.fancy-section .section-title[data-v-4904430e] {
  font-size: 1.5rem;
  color: #03854c;
  border-bottom: 2px solid #5cb85c;
  padding-bottom: 15px;
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.fancy-section .section-title .icon[data-v-4904430e] {
  font-size: 1.8rem;
}
.fancy-section .section-intro[data-v-4904430e] {
  color: #6c757d;
  margin-bottom: 30px;
  font-size: 1rem;
  line-height: 1.6;
}
.slotvragen-warning[data-v-4904430e] {
  background: #fff4e5;
  border: 1px solid #ffb74d;
  color: #8a4b07;
  padding: 12px 14px;
  border-radius: 6px;
  margin-bottom: 16px;
}
.slotvragen-form[data-v-4904430e] {
  display: flex;
  flex-direction: column;
  gap: 20px; /* Space between question cards */
}
.slotvraag-item.card-style[data-v-4904430e] {
  border: none; /* Remove default border */
  border-radius: 8px;
  padding: 25px;
  background-color: #f8f9fa;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
  transition: box-shadow 0.2s ease-in-out;
}
.slotvraag-item.card-style[data-v-4904430e]:hover {
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.08);
}
.question-toggle-wrapper[data-v-4904430e] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start; /* Align question top, toggle bottom if wraps */
  gap: 20px;
  flex-wrap: wrap; /* Allow wrapping on smaller screens */
  margin-bottom: 15px; /* Space before potential reason */
}
.question-label[data-v-4904430e] {
  flex: 1 1 60%; /* Allow question to take more space */
  font-weight: 500;
  color: #212529;
  font-size: 1rem;
  line-height: 1.5;
  padding-right: 10px; /* Add some space between text and toggle */
}
.ja-nee-toggle.fancy-toggle[data-v-4904430e] {
  display: inline-flex;
  border-radius: 20px; /* More rounded */
  overflow: hidden;
  border: 1px solid #ced4da;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  flex-shrink: 0; /* Prevent toggle from shrinking too much */
}
.ja-nee-toggle.fancy-toggle button[data-v-4904430e] {
  padding: 10px 25px; /* More padding */
  border: none;
  background-color: transparent; /* Transparent default */
  color: #6c757d;
  cursor: pointer;
  transition:
    background-color 0.2s,
    color 0.2s,
    transform 0.1s ease;
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0.5px;
}
.ja-nee-toggle.fancy-toggle button[data-v-4904430e]:first-child {
  border-right: 1px solid #dee2e6;
}
.ja-nee-toggle.fancy-toggle button.active[data-v-4904430e] {
  color: white;
  transform: scale(1.05); /* Slightly larger active button */
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}
.ja-nee-toggle.fancy-toggle button.active.ja[data-v-4904430e] {
  background-color: #198754; /* Green for Ja */
}
.ja-nee-toggle.fancy-toggle button.active.nee[data-v-4904430e] {
  background-color: #dc3545; /* Red for Nee */
}
.ja-nee-toggle.fancy-toggle button[data-v-4904430e]:not(.active):hover {
  background-color: #f0f0f0;
  color: #212529;
}
.form-group.reason-group.fancy-reason[data-v-4904430e] {
  margin-top: 15px;
  padding-left: 10px; /* Slight indent */
  border-left: 3px solid #5cb85c;
  padding: 15px;
  background-color: #f8f8f8;
  border-radius: 5px;
}
.form-group.reason-group.fancy-reason label[data-v-4904430e] {
  font-size: 0.9rem;
  font-weight: 600;
  color: #024d2a;
}
.form-group.reason-group.fancy-reason textarea[data-v-4904430e] {
  margin-top: 8px;
  min-height: 70px;
}
.slotvragen-actions[data-v-4904430e] {
  margin-top: 20px;
  text-align: right;
}

/* Responsive adjustments */
@media (max-width: 600px) {
.question-toggle-wrapper[data-v-4904430e] {
    flex-direction: column; /* Stack question and toggle */
    align-items: stretch; /* Make label and toggle full width */
}
.question-label[data-v-4904430e] {
    padding-right: 0;
    margin-bottom: 15px;
}
.ja-nee-toggle.fancy-toggle[data-v-4904430e] {
    width: 100%; /* Make toggle full width */
    display: flex; /* Ensure buttons fill width */
}
.ja-nee-toggle.fancy-toggle button[data-v-4904430e] {
    flex-grow: 1; /* Make buttons equal width */
    text-align: center;
}
}

/* ADDED: Style for combined validation error summary */
.validation-summary[data-v-4904430e] {
  text-align: left;
  white-space: pre-wrap; /* Ensure line breaks are respected */
  max-height: 200px; /* Limit height */
  overflow-y: auto; /* Add scroll if too long */
}
.validation-summary pre[data-v-4904430e] {
  margin: 0;
  font-family: inherit; /* Use default font */
  font-size: inherit; /* Use default font size */
  color: inherit; /* Inherit color from parent */
  white-space: pre-wrap; /* Ensure line breaks are respected */
}

/* Driver Form Card */
.driver-form-card[data-v-4904430e] {
  border: 1px solid #dee2e6;
  border-radius: 6px;
  padding: 20px;
  margin-bottom: 20px;
  background-color: #f8f8f8;
}
.driver-title[data-v-4904430e] {
  font-size: 1.1rem;
  color: #343a40;
  margin-top: 0;
  margin-bottom: 15px;
}

/* --- ADDED: Styles for Vehicle Questions --- */
.vehicle-questions-section[data-v-4904430e] {
  margin-top: 30px; /* Add some space above this section */
  /* Inherits .form-section styles */
}
.vehicle-form-card[data-v-4904430e] {
  border: 1px solid #dee2e6; /* Slightly lighter border than driver card */
  border-radius: 6px;
  padding: 20px;
  margin-top: 20px; /* Space between vehicle cards */
  background-color: #ffffff; /* Slightly different background */
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}
.vehicle-title[data-v-4904430e] {
  font-size: 1.05rem; /* Slightly smaller than driver title */
  color: #024d2a;
  margin-top: 0;
  margin-bottom: 15px;
  padding-bottom: 8px;
  border-bottom: 1px dashed #dee2e6;
}
/* --- END: Styles for Vehicle Questions --- */

/* ... Other existing styles ... */

.application-documents-view[data-v-9dd2ec33] {
  max-width: 800px;
  margin: 30px auto;
  padding: 25px;
  background-color: #ffffff;
  border-radius: 8px;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.08);
}
h1[data-v-9dd2ec33] {
  text-align: center;
  margin-bottom: 30px;
  color: #03854c;
}
.loading-state[data-v-9dd2ec33],
.error-state[data-v-9dd2ec33],
.empty-state[data-v-9dd2ec33] {
  text-align: center;
  padding: 40px 20px;
  border: 1px dashed #dee2e6;
  border-radius: 6px;
  background-color: #f8f8f8;
  margin-bottom: 20px;
}
.loading-state p[data-v-9dd2ec33],
.error-state p[data-v-9dd2ec33],
.empty-state p[data-v-9dd2ec33] {
  font-size: 1rem;
  color: #6c757d;
  margin-top: 10px;
}
.error-state h2[data-v-9dd2ec33],
.empty-state h2[data-v-9dd2ec33] {
  color: #343a40;
  margin-bottom: 10px;
}
.error-state button[data-v-9dd2ec33],
.empty-state button[data-v-9dd2ec33] {
  margin-top: 15px;
  padding: 8px 16px;
}
.spinner[data-v-9dd2ec33] {
  border: 4px solid rgba(0, 0, 0, 0.1);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border-left-color: #03854c;
  margin: 0 auto 10px auto;
  animation: spin-9dd2ec33 1s linear infinite;
}
@keyframes spin-9dd2ec33 {
to {
    transform: rotate(360deg);
}
}
.main-content h2[data-v-9dd2ec33] {
  margin-bottom: 20px;
  color: #343a40;
  font-size: 1.4rem;
}
.form-section[data-v-9dd2ec33] {
  background-color: #f8f9fa;
  border: 1px solid #ced4da;
  border-radius: 8px;
  padding: 25px;
  margin-bottom: 30px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}
.section-title[data-v-9dd2ec33] {
  font-size: 1.3rem;
  color: #024d2a;
  margin-top: 0;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #dee2e6;
}
.section-intro[data-v-9dd2ec33] {
  color: #6c757d;
  margin-bottom: 25px;
  font-size: 0.95rem;
  line-height: 1.5;
}
.status-message[data-v-9dd2ec33] {
  padding: 10px 15px;
  border-radius: 4px;
  margin-bottom: 20px;
  font-size: 0.9rem;
  text-align: center;
}
.status-message.error[data-v-9dd2ec33] {
  background-color: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
}
.signing-section .agreement-checkboxes[data-v-9dd2ec33] {
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin-bottom: 25px;
}
.acknowledgement.large[data-v-9dd2ec33] {
  font-size: 1rem;
  line-height: 1.5;
  padding: 10px;
  border: 1px solid transparent;
  border-radius: 4px;
}
.acknowledgement.large input[type='checkbox'][data-v-9dd2ec33] {
  width: 18px;
  height: 18px;
  margin-right: 10px;
}
.signing-actions[data-v-9dd2ec33] {
  margin-top: 15px;
  padding-top: 20px;
  border-top: 1px solid #dee2e6;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.documents-section[data-v-9dd2ec33] {
  margin-top: 30px;
}
.documents-title[data-v-9dd2ec33] {
  /* Style differently if needed */
}
.document-list[data-v-9dd2ec33] {
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin-bottom: 30px;
}
.document-item[data-v-9dd2ec33] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px;
}
.document-item.card-style[data-v-9dd2ec33] {
  border: 1px solid #dee2e6;
  border-radius: 6px;
  padding: 15px 20px;
  background-color: #f8f9fa;
}
.document-item.placeholder[data-v-9dd2ec33] {
  font-style: italic;
  color: #adb5bd;
  justify-content: center;
}
.doc-info[data-v-9dd2ec33] {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-grow: 1;
}
.doc-icon[data-v-9dd2ec33] {
  font-size: 1.6rem;
}
.doc-title[data-v-9dd2ec33] {
  font-weight: 500;
  color: #212529;
}
.doc-actions[data-v-9dd2ec33] {
  display: flex;
  align-items: center;
  gap: 15px;
  flex-shrink: 0;
}
.doc-actions.grouped[data-v-9dd2ec33] {
  display: flex;
  flex-direction: column;
  width: auto;
  gap: 10px;
  align-items: stretch;
}
.per-product-legal-docs .doc-info[data-v-9dd2ec33] {
  flex: 0 1 260px;
  min-width: 220px;
}
.per-product-legal-docs .doc-actions[data-v-9dd2ec33] {
  flex: 1 1 auto;
  flex-shrink: 1;
  min-width: 0;
}
.per-product-legal-docs .doc-actions.grouped[data-v-9dd2ec33] {
  width: auto;
}
.doc-action[data-v-9dd2ec33] {
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 10px;
  border: 1px solid #e9ecef;
  border-radius: 6px;
  min-width: 0;
  padding: 10px 12px;
  background: #fafbfc;
}
.doc-action .buttons[data-v-9dd2ec33] {
  display: flex;
  gap: 8px;
  margin: 0;
}
.acknowledgement[data-v-9dd2ec33] {
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  font-size: 0.9rem;
  color: #6c757d;
}
.acknowledgement input[type='checkbox'][data-v-9dd2ec33] {
  cursor: pointer;
  width: 16px;
  height: 16px;
}
.final-actions[data-v-9dd2ec33] {
  margin-top: 30px;
  padding-top: 20px;
  border-top: 1px solid #dee2e6;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
button[data-v-9dd2ec33] {
  padding: 10px 20px;
  border-radius: 5px;
  border: none;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 500;
  transition:
    background-color 0.2s,
    opacity 0.2s;
}
button[data-v-9dd2ec33]:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}
.button-primary[data-v-9dd2ec33] {
  background-color: #03854c;
  color: white;
}
.button-primary[data-v-9dd2ec33]:hover:not(:disabled) {
  background-color: #057343;
}
.button-primary.submit-final[data-v-9dd2ec33] {
  background-color: #198754;
}
.button-primary.submit-final[data-v-9dd2ec33]:hover:not(:disabled) {
  background-color: #157347;
}
.button-secondary[data-v-9dd2ec33] {
  background-color: #6c757d;
  color: #ffffff;
}
.button-secondary[data-v-9dd2ec33]:hover:not(:disabled) {
  background-color: #5a6268;
}
.button-secondary.small[data-v-9dd2ec33] {
  padding: 6px 12px;
  font-size: 0.85rem;
}
@media (max-width: 768px) {
.application-documents-view[data-v-9dd2ec33] {
    margin: 5px auto;
    padding: 5px;
}
.form-section[data-v-9dd2ec33] {
    padding: 15px;
}
}
@media (max-width: 600px) {
.document-item[data-v-9dd2ec33] {
    flex-direction: column;
    align-items: flex-start;
}
.doc-actions[data-v-9dd2ec33] {
    width: 100%;
    justify-content: space-between;
    margin-top: 10px;
}
.doc-actions.grouped[data-v-9dd2ec33] {
    width: 100%;
}
.doc-action[data-v-9dd2ec33] {
    grid-template-columns: 1fr;
    align-items: start;
}
.signing-actions[data-v-9dd2ec33],
  .final-actions[data-v-9dd2ec33] {
    flex-direction: column-reverse;
    gap: 15px;
    align-items: stretch;
}
.signing-actions button[data-v-9dd2ec33],
  .final-actions button[data-v-9dd2ec33] {
    width: 100%;
}
}
@media (max-width: 480px) {
.application-documents-view[data-v-9dd2ec33] {
    margin: 0;
    padding: 0;
}
.form-section[data-v-9dd2ec33] {
    padding: 10px;
    margin-bottom: 15px;
}
}
.card-style[data-v-9dd2ec33] {
  border: 1px solid #dee2e6;
  border-radius: 6px;
  padding: 20px;
  background-color: #f8f9fa;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
  margin-bottom: 20px;
}
.polling-status-section[data-v-9dd2ec33] {
  text-align: center;
  background-color: #f8f8f8;
}
.polling-active[data-v-9dd2ec33] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-bottom: 15px;
  color: #6c757d;
}
.polling-active .spinner.small[data-v-9dd2ec33] {
  width: 20px;
  height: 20px;
  border-width: 3px;
  margin-bottom: 0;
}
.status-display[data-v-9dd2ec33] {
  font-size: 1.1rem;
  margin-bottom: 15px;
  color: #212529;
}
.status-display strong[data-v-9dd2ec33] {
  color: #03854c;
  font-weight: 600;
}
.status-message.small-margin[data-v-9dd2ec33] {
  margin-bottom: 10px;
}
.polling-actions[data-v-9dd2ec33] {
  margin-top: 20px;
  padding-top: 15px;
  border-top: 1px solid #dee2e6;
}
.portal-redirect-actions[data-v-9dd2ec33] {
  margin-top: 18px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.portal-redirect-hint[data-v-9dd2ec33] {
  font-size: 0.9rem;
  color: #555;
}

.pwa-install-btn[data-v-4f5a1a86] {
  appearance: none;
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--sv-brand-green-mint, #a8d9bd);
  border-radius: var(--r-pill, 999px);
  background-color: var(--sv-brand-green-tint, #e6f2ec);
  color: var(--sv-brand-green-deep, #075932);
  padding: 0 14px;
  font-size: 0.9rem;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  transition:
    background-color 180ms ease,
    border-color 180ms ease,
    transform 180ms ease;
}
.pwa-install-btn[data-v-4f5a1a86]:hover {
  border-color: var(--sv-brand-green, #0a7a45);
  background-color: var(--sv-brand-green, #0a7a45);
  color: var(--sv-bg-panel, #ffffff);
  transform: translateY(-1px);
}

.sv-site-header[data-v-bf1d64ab] {
  position: sticky;
  top: 0;
  z-index: 50;
  border-bottom: 1px solid var(--line-2);
  background: color-mix(in srgb, var(--bg-page) 92%, transparent);
  color: var(--ink-1);
  backdrop-filter: blur(14px);
}
.sv-site-header__row[data-v-bf1d64ab] {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(12px, 2vw, 24px);
  min-height: 72px;
  padding: 12px clamp(16px, 5vw, 80px);
}
.sv-site-logo[data-v-bf1d64ab] {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  color: var(--ink-1);
  text-decoration: none;
}
.sv-site-logo__mark[data-v-bf1d64ab] {
  display: inline-grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: var(--r-md);
  background: var(--brand-green);
  color: var(--bg-plain);
  font-family: var(--sv-font-display);
  font-weight: 700;
  line-height: 1;
}
.sv-site-logo__wordmark[data-v-bf1d64ab] {
  display: block;
}
.sv-site-logo strong[data-v-bf1d64ab] {
  display: block;
  color: var(--brand-green-deep);
  font-size: 0.92rem;
  font-weight: 900;
  line-height: 0.94;
}
.sv-site-nav[data-v-bf1d64ab] {
  display: flex;
  min-width: 0;
  justify-content: center;
  gap: clamp(14px, 2vw, 28px);
}
.sv-site-nav a[data-v-bf1d64ab],
.sv-site-login[data-v-bf1d64ab] {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  color: var(--ink-2);
  font-size: 0.95rem;
  font-weight: 800;
  white-space: nowrap;
  text-decoration: none;
  transition:
    color 160ms ease,
    opacity 160ms ease;
}
.sv-site-header--flow .sv-site-nav a[data-v-bf1d64ab] {
  opacity: 0.68;
}
.sv-site-header--flow .sv-site-nav a[data-v-bf1d64ab]:hover,
.sv-site-header--flow .sv-site-nav a.active[data-v-bf1d64ab] {
  opacity: 1;
}
.sv-site-nav a[data-v-bf1d64ab]:hover,
.sv-site-nav a.active[data-v-bf1d64ab],
.sv-site-login[data-v-bf1d64ab]:hover {
  color: var(--brand-green-deep);
}
.sv-site-actions[data-v-bf1d64ab] {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}
.sv-site-account[data-v-bf1d64ab] {
  position: relative;
}
.sv-site-account__summary[data-v-bf1d64ab] {
  display: inline-grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  max-width: 210px;
  padding: 5px 10px 5px 6px;
  border: 1px solid var(--brand-green-mint);
  border-radius: var(--r-pill);
  background: var(--brand-green-tint);
  color: var(--brand-green-ink);
  cursor: pointer;
  list-style: none;
}
.sv-site-account__summary[data-v-bf1d64ab]::-webkit-details-marker {
  display: none;
}
.sv-site-account__summary[data-v-bf1d64ab]:focus-visible,
.sv-site-login[data-v-bf1d64ab]:focus-visible,
.sv-site-nav a[data-v-bf1d64ab]:focus-visible,
.sv-site-logo[data-v-bf1d64ab]:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand-green) 22%, transparent);
}
.sv-site-account__avatar[data-v-bf1d64ab] {
  display: inline-grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: var(--r-pill);
  background: var(--brand-green);
  color: var(--bg-plain);
  font-size: 0.78rem;
  font-weight: 900;
  line-height: 1;
}
.sv-site-account__copy[data-v-bf1d64ab] {
  min-width: 0;
}
.sv-site-account__copy strong[data-v-bf1d64ab] {
  display: block;
  overflow: hidden;
  color: var(--brand-green-ink);
  font-size: 0.86rem;
  font-weight: 900;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sv-site-account__chevron[data-v-bf1d64ab] {
  color: var(--brand-green-deep);
  font-size: 0.72rem;
  font-weight: 900;
}
.sv-site-account__menu[data-v-bf1d64ab] {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 60;
  display: grid;
  width: 220px;
  padding: 8px;
  border: 1px solid var(--line-2);
  border-radius: var(--r-md);
  background: var(--bg-plain);
  box-shadow: var(--shadow-2);
}
.sv-site-account__menu a[data-v-bf1d64ab],
.sv-site-account__menu button[data-v-bf1d64ab] {
  min-height: 40px;
  display: flex;
  align-items: center;
  padding: 0 10px;
  border: 0;
  border-radius: var(--r-sm);
  background: transparent;
  color: var(--ink-2);
  font: inherit;
  font-size: 0.92rem;
  font-weight: 800;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}
.sv-site-account__menu a[data-v-bf1d64ab]:hover,
.sv-site-account__menu button[data-v-bf1d64ab]:hover {
  background: var(--brand-green-tint);
  color: var(--brand-green-deep);
}
.sv-site-login[data-v-bf1d64ab] {
  justify-content: center;
}
.sv-site-header__context[data-v-bf1d64ab] {
  min-height: 40px;
  padding: 0 clamp(16px, 5vw, 80px) 10px;
}
.sv-site-step-context[data-v-bf1d64ab] {
  width: min(736px, 100%);
  margin: 0 auto;
  color: var(--ink-2);
  font-size: 0.85rem;
  font-weight: 800;
}
.sv-site-step-context span[data-v-bf1d64ab] {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media (max-width: 1024px) {
.sv-site-header__row[data-v-bf1d64ab] {
    gap: 8px 14px;
    padding: 8px 16px;
}
.sv-site-nav[data-v-bf1d64ab] {
    justify-content: flex-start;
    overflow-x: auto;
    padding-bottom: 2px;
    scrollbar-width: none;
}
.sv-site-nav[data-v-bf1d64ab]::-webkit-scrollbar {
    display: none;
}
.sv-site-actions[data-v-bf1d64ab] {
    justify-self: end;
}
.sv-site-header__context[data-v-bf1d64ab] {
    padding: 0 16px 10px;
}
}
@media (max-width: 768px) {
.sv-site-header__row[data-v-bf1d64ab] {
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 54px;
    padding: 6px 10px;
}
.sv-site-nav[data-v-bf1d64ab] {
    display: none;
}
.sv-site-logo[data-v-bf1d64ab] {
    min-height: 38px;
    gap: 8px;
}
.sv-site-logo__mark[data-v-bf1d64ab] {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    font-size: 0.88rem;
}
.sv-site-logo strong[data-v-bf1d64ab] {
    font-size: 0.8rem;
}
.sv-site-install[data-v-bf1d64ab],
  .sv-site-login[data-v-bf1d64ab] {
    display: none;
}
.sv-site-account__summary[data-v-bf1d64ab] {
    min-height: 38px;
    max-width: 44px;
    padding: 5px;
}
.sv-site-account__avatar[data-v-bf1d64ab] {
    width: 28px;
    height: 28px;
    font-size: 0.7rem;
}
.sv-site-account__menu[data-v-bf1d64ab] {
    right: -2px;
    width: min(220px, calc(100vw - 20px));
}
.sv-site-header--flow .sv-site-header__context[data-v-bf1d64ab] {
    min-height: 0;
    padding: 0 10px 6px;
}
.sv-site-step-context[data-v-bf1d64ab] {
    width: 100%;
    font-size: 0.74rem;
}
.sv-site-account__copy[data-v-bf1d64ab],
  .sv-site-account__chevron[data-v-bf1d64ab] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
}
}
@media (max-width: 420px) {
.sv-site-logo__wordmark[data-v-bf1d64ab] {
    display: none;
}
}

.sv-home[data-v-2d225f45] {
  --home-max: 1120px;
  min-height: 100dvh;
  background: var(--sv-bg-page);
  color: var(--sv-ink-1);
  font-family: var(--sv-font-body);
}
.sv-home-container[data-v-2d225f45] {
  width: min(var(--home-max), calc(100% - 32px));
  margin: 0 auto;
}
.sv-home a[data-v-2d225f45] {
  color: inherit;
  text-decoration: none;
}
.sv-home-nav[data-v-2d225f45] {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 24px;
  width: min(var(--home-max), calc(100% - 32px));
  margin: 0 auto;
  padding: 22px 0 16px;
}
.sv-home-logo[data-v-2d225f45] {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  justify-self: start;
}
.sv-home-logo__check[data-v-2d225f45] {
  display: inline-grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: var(--r-md);
  background: var(--brand-green);
  color: var(--bg-plain);
  font-family: var(--sv-font-display);
  font-size: 1.35rem;
  font-weight: 600;
  line-height: 1;
}
.sv-home-logo strong[data-v-2d225f45] {
  display: block;
  color: var(--sv-brand-green-deep);
  font-size: 0.92rem;
  font-weight: 900;
  line-height: 0.94;
}
.sv-home-nav__links[data-v-2d225f45] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  font-size: 0.9rem;
  font-weight: 900;
}
.sv-home-nav__actions[data-v-2d225f45],
.sv-home-hero__actions[data-v-2d225f45],
.sv-home-section-head__actions[data-v-2d225f45],
.sv-home-approach-card__actions[data-v-2d225f45] {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}
.sv-home-login-link[data-v-2d225f45] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--sv-ink-2);
  font-size: 0.85rem;
  font-weight: 900;
  white-space: nowrap;
}
.sv-home-account-link[data-v-2d225f45] {
  display: inline-grid;
  position: relative;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-height: 44px;
  max-width: 240px;
  padding: 5px 12px 5px 6px;
  border: 1px solid var(--brand-green-mint);
  border-radius: var(--r-pill);
  background: var(--brand-green-tint);
  color: var(--brand-green-ink);
}
.sv-home-account-link__avatar[data-v-2d225f45] {
  display: inline-grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: var(--r-pill);
  background: var(--brand-green);
  color: var(--bg-plain);
  font-size: 0.78rem;
  font-weight: 900;
  line-height: 1;
}
.sv-home-account-link__copy[data-v-2d225f45] {
  display: grid;
  gap: 1px;
  min-width: 0;
}
.sv-home-account-link__copy strong[data-v-2d225f45],
.sv-home-account-link__copy em[data-v-2d225f45] {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sv-home-account-link__copy strong[data-v-2d225f45] {
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
}
.sv-home-account-link__copy em[data-v-2d225f45] {
  color: var(--sv-ink-2);
  font-size: 0.82rem;
  font-style: normal;
  font-weight: 800;
  line-height: 1.1;
}
.sv-home-button[data-v-2d225f45] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 18px;
  border: 1px solid var(--sv-line-1);
  border-radius: var(--r-pill);
  background: var(--bg-plain);
  color: var(--sv-ink-1);
  font: inherit;
  font-size: 0.9rem;
  font-weight: 900;
  cursor: pointer;
  white-space: nowrap;
}
.sv-home-button--primary[data-v-2d225f45] {
  border-color: var(--sv-brand-green);
  background: var(--sv-brand-green);
  color: var(--bg-plain);
  box-shadow: 0 10px 22px rgba(10, 122, 69, 0.16);
}
.sv-home-button--ghost[data-v-2d225f45] {
  border-color: var(--ink-1);
  background: transparent;
  color: var(--ink-1);
}
.sv-home-button--quiet[data-v-2d225f45] {
  background: transparent;
  color: var(--ink-1);
  padding-inline: 0;
  border-color: transparent;
}
.sv-home-hero[data-v-2d225f45] {
  padding: 72px 0 80px;
  background: var(--bg-page);
}
.sv-home-hero__grid[data-v-2d225f45] {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(420px, 1.05fr);
  gap: clamp(38px, 5vw, 72px);
  align-items: start;
}
.sv-home-hero__grid--product[data-v-2d225f45] {
  grid-template-columns: minmax(0, 0.95fr) minmax(320px, 0.72fr);
}
.sv-home-hero__grid--product .sv-home-hero__copy[data-v-2d225f45] {
  max-width: 760px;
}
.sv-product-hero-card[data-v-2d225f45] {
  align-self: center;
  display: grid;
  gap: 14px;
  padding: 26px;
  border: 1px solid var(--sv-line-1);
  border-radius: var(--sv-radius-md);
  background: var(--bg-plain);
  box-shadow: var(--sv-shadow-sm);
}
.sv-product-hero-card h2[data-v-2d225f45] {
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  line-height: 1.05;
}
.sv-product-hero-card p[data-v-2d225f45] {
  margin: 0;
  color: var(--sv-ink-2);
  font-weight: 700;
  line-height: 1.55;
}
.sv-product-hero-card div[data-v-2d225f45] {
  display: grid;
  gap: 8px;
  margin-top: 8px;
}
.sv-product-hero-card a[data-v-2d225f45] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid var(--sv-line-1);
  border-radius: var(--sv-radius-sm);
  background: var(--sv-bg-muted);
  color: var(--sv-brand-green-deep);
  font-weight: 900;
}
.sv-home-hero__copy[data-v-2d225f45] {
  min-width: 0;
  padding-top: 24px;
}
.sv-home-eyebrow[data-v-2d225f45] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: var(--sv-ink-3);
  font-size: 0.73rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.sv-home-eyebrow[data-v-2d225f45]::before {
  content: '';
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--sv-brand-green);
}
.sv-home h1[data-v-2d225f45],
.sv-home h2[data-v-2d225f45],
.sv-home h3[data-v-2d225f45] {
  margin: 0;
  color: var(--sv-ink-1);
  font-family: var(--sv-font-display);
  letter-spacing: 0;
}
.sv-home h1[data-v-2d225f45] {
  max-width: 12.5ch;
  margin-top: 20px;
  font-size: clamp(2.4rem, 4vw, 3.5rem);
  font-weight: 500;
  letter-spacing: -0.025em;
  line-height: 1.02;
}
.sv-home h1 span[data-v-2d225f45] {
  color: var(--sv-brand-green);
  font-style: italic;
  font-weight: 500;
  white-space: nowrap;
}
.sv-home-hero__lead[data-v-2d225f45] {
  max-width: 590px;
  margin: 22px 0 0;
  color: var(--sv-ink-2);
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.6;
}
.sv-home-checks li[data-v-2d225f45] {
  display: flex;
  gap: 10px;
}
.sv-home-checks li[data-v-2d225f45]::before,
.sv-home-approach-card li[data-v-2d225f45]::before {
  content: '';
  flex: 0 0 auto;
  width: 8px;
  height: 8px;
  margin-top: 0.5em;
  border-radius: 999px;
  background: var(--sv-brand-green);
}
.sv-home-price-strip[data-v-2d225f45] {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 16px;
  align-items: center;
  margin-top: 22px;
  padding: 13px 16px;
  border: 1px solid var(--sv-line-1);
  border-radius: var(--sv-radius-sm);
  background: var(--bg-plain);
}
.sv-home-price-strip strong[data-v-2d225f45] {
  font-family: var(--sv-font-display);
  font-size: 1.1rem;
}
.sv-home-price-strip span[data-v-2d225f45] {
  color: var(--sv-ink-3);
  font-size: 0.84rem;
  font-weight: 700;
}
.sv-home-price-lockup[data-v-2d225f45] {
  display: flex;
  align-items: flex-end;
  gap: 24px;
  margin-top: 36px;
}
.sv-home-price-lockup div[data-v-2d225f45] {
  display: flex;
  align-items: baseline;
  color: var(--sv-ink-1);
  font-family: var(--sv-font-display);
  font-weight: 700;
}
.sv-home-price-lockup span[data-v-2d225f45] {
  position: relative;
  top: -28px;
  margin-right: 6px;
  font-size: 1.75rem;
}
.sv-home-price-lockup strong[data-v-2d225f45] {
  font-size: clamp(5.5rem, 8vw, 6rem);
  line-height: 0.9;
  font-weight: 500;
}
.sv-home-price-lockup em[data-v-2d225f45] {
  font-size: clamp(3.5rem, 5vw, 4rem);
  font-style: normal;
  line-height: 0.9;
  font-weight: 500;
}
.sv-home-price-lockup p[data-v-2d225f45] {
  display: grid;
  gap: 4px;
  margin: 0 0 14px;
  color: var(--sv-ink-2);
  font-size: 0.86rem;
  font-weight: 700;
}
.sv-home-price-lockup p span[data-v-2d225f45] {
  position: static;
  margin: 0;
  color: var(--sv-ink-3);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.sv-home-hero__actions[data-v-2d225f45] {
  justify-content: flex-start;
  margin-top: 32px;
}
.sv-home-chips[data-v-2d225f45] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
}
.sv-home-chips span[data-v-2d225f45],
.sv-home-mini-tags span[data-v-2d225f45],
.sv-home-service-bar em[data-v-2d225f45],
.sv-home-dashboard-card__tabs span[data-v-2d225f45],
.sv-home-dashboard-card__tabs em[data-v-2d225f45],
.sv-home-premiecheck__steps span[data-v-2d225f45] {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  border: 1px solid var(--sv-line-1);
  border-radius: 999px;
  background: var(--bg-plain);
  color: var(--sv-ink-2);
  font-size: 0.75rem;
  font-weight: 900;
}
.sv-home-hero__side[data-v-2d225f45] {
  display: grid;
  gap: 16px;
  min-width: 0;
}
.sv-home-savings-card[data-v-2d225f45] {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--sv-line-1);
  border-radius: var(--sv-radius-md);
  background: var(--bg-plain);
  box-shadow: var(--sv-shadow-sm);
}
.sv-home-savings-card--interactive[data-v-2d225f45] {
  isolation: isolate;
}
.sv-home-savings-card > header[data-v-2d225f45] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 20px 24px;
  border-bottom: 1px solid var(--sv-line-1);
}
.sv-home-savings-card > header div[data-v-2d225f45] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--sv-ink-2);
  font-size: 0.8rem;
  font-weight: 900;
}
.sv-home-savings-card > header strong[data-v-2d225f45] {
  padding: 7px 10px;
  border-radius: 999px;
  background: var(--sv-brand-green-tint);
  color: var(--sv-brand-green-deep);
  font-size: 0.65rem;
  letter-spacing: 0.08em;
}
.sv-home-savings-grid[data-v-2d225f45] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  padding: 28px 28px 0;
}
.sv-home-savings-panel[data-v-2d225f45] {
  display: grid;
  gap: 12px;
  padding: 18px;
  border: 1px solid var(--sv-line-1);
  border-radius: var(--sv-radius-sm);
  background: var(--sv-bg-sand);
  color: var(--sv-ink-3);
}
.sv-home-savings-panel--ours[data-v-2d225f45] {
  border-color: var(--sv-brand-green);
  background: var(--sv-brand-green-tint);
  color: var(--sv-brand-green-deep);
}
.sv-home-savings-panel__head[data-v-2d225f45],
.sv-home-savings-total[data-v-2d225f45],
.sv-home-savings-row__copy[data-v-2d225f45] {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}
.sv-home-savings-panel__head[data-v-2d225f45] {
  align-items: center;
  margin-bottom: 2px;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.sv-home-savings-row[data-v-2d225f45] {
  display: grid;
  gap: 7px;
  color: inherit;
  font-size: 0.84rem;
  font-weight: 700;
  animation: svSavingsReveal-2d225f45 620ms ease both;
  animation-delay: calc(var(--row-index) * 90ms);
}
.sv-home-savings-row__copy span[data-v-2d225f45] {
  min-width: 0;
}
.sv-home-savings-panel strong[data-v-2d225f45],
.sv-home-savings-row__copy strong[data-v-2d225f45],
.sv-home-savings-total strong[data-v-2d225f45] {
  color: var(--sv-ink-1);
  font-variant-numeric: tabular-nums;
}
.sv-home-savings-panel--ours strong[data-v-2d225f45],
.sv-home-savings-panel--ours .sv-home-savings-row__copy strong[data-v-2d225f45],
.sv-home-savings-panel--ours .sv-home-savings-total strong[data-v-2d225f45] {
  color: var(--sv-brand-green-deep);
}
.sv-home-savings-row__track[data-v-2d225f45] {
  display: block;
  height: 7px;
  overflow: hidden;
  border-radius: var(--r-pill);
  background: color-mix(in srgb, var(--sv-line-1) 70%, white);
}
.sv-home-savings-row__bar[data-v-2d225f45] {
  display: block;
  width: var(--bar-width);
  height: 100%;
  border-radius: inherit;
  background: var(--sv-brand-green);
  transform: scaleX(0);
  transform-origin: left;
  animation: svSavingsMeter-2d225f45 880ms cubic-bezier(0.22, 1, 0.36, 1) both;
  animation-delay: calc(140ms + var(--row-index) * 110ms);
}
.sv-home-savings-panel--theirs .sv-home-savings-row__bar[data-v-2d225f45] {
  background: color-mix(in srgb, var(--sv-ink-3) 58%, white);
}
.sv-home-savings-row--service .sv-home-savings-row__track[data-v-2d225f45] {
  background: color-mix(in srgb, var(--sv-brand-green-mint) 36%, white);
}
.sv-home-savings-total[data-v-2d225f45] {
  margin-top: 2px;
  padding-top: 12px;
  border-top: 1px solid color-mix(in srgb, var(--sv-brand-green) 25%, transparent);
  font-weight: 900;
}
.sv-home-savings-total strong[data-v-2d225f45] {
  font-family: var(--sv-font-display);
  font-size: 1.7rem;
}
.sv-home-savings-panel--theirs .sv-home-savings-total strong[data-v-2d225f45] {
  color: var(--sv-ink-3);
  text-decoration: line-through;
}
.sv-home-savings-ribbon[data-v-2d225f45] {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(190px, 0.58fr);
  align-items: stretch;
  gap: 16px;
  margin: 16px 28px 28px;
  padding: 16px;
  border-radius: var(--sv-radius-sm);
  background: var(--sv-ink-1);
  color: var(--bg-plain);
}
.sv-home-savings-ribbon__copy[data-v-2d225f45] {
  display: grid;
  align-content: center;
  gap: 10px;
  min-width: 0;
}
.sv-home-savings-ribbon__copy > div[data-v-2d225f45] {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--bg-plain);
  font-size: 0.9rem;
  font-weight: 900;
}
.sv-home-savings-ribbon__copy strong[data-v-2d225f45] {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
  color: var(--sv-brand-green-mint);
  font-family: var(--sv-font-display);
  font-size: clamp(1.55rem, 3vw, 2.1rem);
  white-space: nowrap;
}
.sv-home-savings-ribbon__copy strong span[data-v-2d225f45] {
  color: rgba(255, 255, 255, 0.68);
  font-family: var(--sv-font-body);
  font-size: 0.8rem;
}
.sv-home-savings-meter[data-v-2d225f45] {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
  min-height: 64px;
  padding: 8px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: var(--sv-radius-sm);
  background: rgba(255, 255, 255, 0.08);
}
.sv-home-savings-meter__segment[data-v-2d225f45] {
  position: relative;
  display: grid;
  align-items: end;
  overflow: hidden;
  min-width: 0;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.1);
}
.sv-home-savings-meter__segment[data-v-2d225f45]::after {
  content: '';
  display: block;
  height: 62%;
  border-radius: inherit;
  background: var(--sv-brand-green-mint);
  transform-origin: left center;
  transform: translateY(100%);
  animation: svSavingsMeter-2d225f45 820ms cubic-bezier(0.22, 1, 0.36, 1) both;
}
.sv-home-savings-meter__segment[data-v-2d225f45]:nth-child(2)::after {
  height: 52%;
  animation-delay: 140ms;
}
.sv-home-savings-meter__segment[data-v-2d225f45]:nth-child(3)::after {
  height: 42%;
  animation-delay: 240ms;
}
.sv-home-savings-meter__segment em[data-v-2d225f45] {
  position: absolute;
  right: 5px;
  bottom: 5px;
  z-index: 1;
  color: var(--sv-brand-green-ink);
  font-size: 0.66rem;
  font-style: normal;
  font-weight: 950;
}
@keyframes svSavingsReveal-2d225f45 {
from {
    opacity: 0;
    transform: translateY(8px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
@keyframes svSavingsMeter-2d225f45 {
from {
    transform: scaleX(0);
}
to {
    transform: scaleX(1);
}
}
.sv-home-visual-card[data-v-2d225f45],
.sv-home-dashboard-card[data-v-2d225f45],
.sv-home-panel[data-v-2d225f45],
.sv-home-card-band[data-v-2d225f45],
.sv-home-contact__card[data-v-2d225f45] {
  border: 1px solid var(--sv-line-1);
  border-radius: var(--sv-radius-md);
  background: var(--bg-plain);
  box-shadow: var(--sv-shadow-sm);
}
.sv-home-visual-card[data-v-2d225f45] {
  overflow: hidden;
}
.sv-home-visual-card__image[data-v-2d225f45] {
  position: relative;
  min-height: 218px;
  overflow: hidden;
}
.sv-home-visual-card__image img[data-v-2d225f45],
.sv-home-testimonial img[data-v-2d225f45] {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sv-home-visual-card__image span[data-v-2d225f45] {
  position: absolute;
  bottom: 14px;
  left: 14px;
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--sv-brand-green-deep);
  font-size: 0.8rem;
  font-weight: 900;
}
.sv-home-dashboard-card[data-v-2d225f45] {
  padding: 22px;
}
.sv-home-dashboard-card__tabs[data-v-2d225f45] {
  display: flex;
  align-items: center;
  gap: 10px;
}
.sv-home-dashboard-card__tabs span[data-v-2d225f45] {
  border-color: var(--sv-brand-green-mint);
  background: var(--sv-brand-green-tint);
  color: var(--sv-brand-green-deep);
}
.sv-home-dashboard-card__tabs em[data-v-2d225f45] {
  color: var(--sv-ink-3);
  font-style: normal;
  text-transform: uppercase;
}
.sv-home-dashboard-card h2[data-v-2d225f45] {
  margin-top: 16px;
  font-size: 1.32rem;
  line-height: 1.2;
}
.sv-home-dashboard-card p[data-v-2d225f45] {
  margin: 10px 0 0;
  color: var(--sv-ink-2);
  font-size: 0.88rem;
  font-weight: 600;
  line-height: 1.5;
}
.sv-home-premiecheck[data-v-2d225f45] {
  margin-top: 18px;
  padding: 16px;
  border: 1px solid var(--sv-line-1);
  border-radius: var(--sv-radius-sm);
  background: var(--sv-bg-muted);
}
.sv-home-premiecheck__bar[data-v-2d225f45] {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 9px 10px;
  border-radius: 999px;
  background: var(--brand-green-mint);
  color: var(--sv-brand-green-deep);
  font-size: 0.8rem;
  font-weight: 900;
}
.sv-home-premiecheck__steps[data-v-2d225f45] {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin-top: 12px;
}
.sv-home-premiecheck__comparison[data-v-2d225f45] {
  display: grid;
  gap: 8px;
  margin-top: 14px;
}
.sv-home-premiecheck__comparison div[data-v-2d225f45],
.sv-home-premiecheck__total div[data-v-2d225f45] {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 10px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid var(--sv-line-1);
  font-size: 0.86rem;
}
.sv-home-premiecheck__comparison strong[data-v-2d225f45],
.sv-home-premiecheck__total dd[data-v-2d225f45] {
  color: var(--sv-brand-green-deep);
  font-weight: 900;
}
.sv-home-premiecheck__total[data-v-2d225f45] {
  display: grid;
  gap: 4px;
  margin: 12px 0 0;
}
.sv-home-premiecheck__total div[data-v-2d225f45] {
  grid-template-columns: 1fr auto;
  padding: 4px 0;
  border: 0;
}
.sv-home-premiecheck__total dt[data-v-2d225f45],
.sv-home-premiecheck__total dd[data-v-2d225f45] {
  margin: 0;
}
.sv-home-why[data-v-2d225f45],
.sv-home-approach[data-v-2d225f45] {
  padding: 70px 0;
  background: var(--bg-page);
}
.sv-home-premiecheck-live[data-v-2d225f45] {
  padding: 74px 0;
  background: var(--bg-plain);
}
.sv-home-premiecheck-live__grid[data-v-2d225f45] {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  gap: 22px;
  align-items: stretch;
}
.sv-home-premiecheck-live__copy[data-v-2d225f45] {
  display: grid;
  align-content: center;
  gap: 16px;
  padding: 30px;
  border: 1px solid var(--sv-line-1);
  border-radius: var(--sv-radius-md);
  background: var(--sv-bg-sand);
}
.sv-home-premiecheck-live__copy h2[data-v-2d225f45] {
  font-size: clamp(2rem, 4vw, 3.15rem);
  line-height: 1.04;
}
.sv-home-premiecheck-live__copy p[data-v-2d225f45]:not(.sv-home-eyebrow) {
  max-width: 600px;
  margin: 0;
  color: var(--sv-ink-2);
  font-weight: 700;
  line-height: 1.55;
}
.sv-home-premiecheck-live__actions[data-v-2d225f45] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}
.sv-home-premiecheck-live__demo[data-v-2d225f45] {
  display: grid;
  grid-template-columns: minmax(210px, 0.68fr) minmax(0, 1fr);
  gap: 16px;
  padding: 18px;
  border: 1px solid var(--sv-line-1);
  border-radius: var(--sv-radius-md);
  background: var(--bg-plain);
  box-shadow: var(--sv-shadow-sm);
}
.sv-home-premiecheck-live__radar[data-v-2d225f45] {
  position: relative;
  display: grid;
  place-items: center;
  align-content: center;
  min-height: 288px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--sv-brand-green) 32%, var(--sv-line-1));
  border-radius: var(--sv-radius-sm);
  background: var(--sv-brand-green-tint);
  color: var(--sv-brand-green-deep);
  text-align: center;
}
.sv-home-premiecheck-live__radar[data-v-2d225f45]::before,
.sv-home-premiecheck-live__radar[data-v-2d225f45]::after {
  content: '';
  position: absolute;
  border: 1px solid color-mix(in srgb, var(--sv-brand-green) 30%, transparent);
  border-radius: var(--r-pill);
}
.sv-home-premiecheck-live__radar[data-v-2d225f45]::before {
  inset: 48px;
}
.sv-home-premiecheck-live__radar[data-v-2d225f45]::after {
  inset: 82px;
}
.sv-home-premiecheck-live__pulse[data-v-2d225f45] {
  position: absolute;
  inset: 28px;
  border: 1px solid var(--sv-brand-green);
  border-radius: var(--r-pill);
  opacity: 0;
  animation: svPremiecheckPulse-2d225f45 3200ms ease-out both;
}
.sv-home-premiecheck-live__scan[data-v-2d225f45] {
  position: absolute;
  bottom: 50%;
  left: 50%;
  width: 3px;
  height: 42%;
  border-radius: var(--r-pill);
  background: var(--sv-brand-green);
  transform-origin: bottom center;
  animation: svPremiecheckSweep-2d225f45 4600ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
}
.sv-home-premiecheck-live__radar strong[data-v-2d225f45] {
  position: relative;
  z-index: 1;
  color: var(--sv-brand-green-deep);
  font-family: var(--sv-font-display);
  font-size: clamp(2.3rem, 5vw, 4rem);
  font-variant-numeric: tabular-nums;
  line-height: 0.98;
}
.sv-home-premiecheck-live__radar small[data-v-2d225f45] {
  position: relative;
  z-index: 1;
  margin-top: 8px;
  color: var(--sv-brand-green-ink);
  font-size: 0.78rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.sv-home-premiecheck-live__timeline[data-v-2d225f45] {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.sv-home-premiecheck-live__timeline li[data-v-2d225f45] {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 14px;
  border: 1px solid var(--sv-line-1);
  border-radius: var(--sv-radius-sm);
  background: var(--sv-bg-muted);
  animation: svSavingsReveal-2d225f45 620ms ease both;
}
.sv-home-premiecheck-live__timeline li[data-v-2d225f45]:nth-child(2) {
  animation-delay: 120ms;
}
.sv-home-premiecheck-live__timeline li[data-v-2d225f45]:nth-child(3) {
  animation-delay: 240ms;
}
.sv-home-premiecheck-live__timeline span[data-v-2d225f45],
.sv-home-premiecheck-live__timeline em[data-v-2d225f45] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0 10px;
  border-radius: var(--r-pill);
  background: var(--sv-brand-green-tint);
  color: var(--sv-brand-green-deep);
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 950;
  white-space: nowrap;
}
.sv-home-premiecheck-live__timeline strong[data-v-2d225f45] {
  display: block;
  color: var(--sv-ink-1);
  font-weight: 950;
}
.sv-home-premiecheck-live__timeline p[data-v-2d225f45] {
  margin: 4px 0 0;
  color: var(--sv-ink-2);
  font-size: 0.84rem;
  font-weight: 700;
  line-height: 1.42;
}
@keyframes svPremiecheckSweep-2d225f45 {
from {
    transform: rotate(-52deg);
}
58% {
    transform: rotate(68deg);
}
to {
    transform: rotate(28deg);
}
}
@keyframes svPremiecheckPulse-2d225f45 {
0% {
    opacity: 0.65;
    transform: scale(0.7);
}
78% {
    opacity: 0.12;
    transform: scale(1);
}
100% {
    opacity: 0;
    transform: scale(1.03);
}
}
.sv-home-panel[data-v-2d225f45],
.sv-home-card-band[data-v-2d225f45],
.sv-home-contact__card[data-v-2d225f45] {
  padding: 28px;
}
.sv-home-section-head[data-v-2d225f45] {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 28px;
}
.sv-home-section-head h2[data-v-2d225f45] {
  margin-top: 12px;
  font-size: clamp(2rem, 4vw, 3.1rem);
  line-height: 1.04;
}
.sv-home-section-head p[data-v-2d225f45] {
  max-width: 660px;
  margin: 10px 0 0;
  color: var(--sv-ink-2);
  font-weight: 600;
  line-height: 1.55;
}
.sv-home-why-grid[data-v-2d225f45] {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.sv-home-why-card[data-v-2d225f45] {
  display: grid;
  gap: 10px;
  padding: 20px;
  border: 1px solid var(--sv-line-1);
  border-radius: var(--sv-radius-sm);
  background: var(--bg-plain);
}
.sv-home-why-card[data-v-2d225f45]:nth-child(4) {
  grid-column: span 2;
}
.sv-home-step-number[data-v-2d225f45] {
  color: var(--sv-brand-green);
  font-family: var(--sv-font-display);
  font-size: 2rem;
  line-height: 1;
}
.sv-home-icon-tile[data-v-2d225f45],
.sv-home-product-card__icon[data-v-2d225f45] {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: var(--sv-radius-sm);
  background: var(--sv-brand-green-tint);
  color: var(--sv-brand-green-deep);
}
.sv-home-why-card h3[data-v-2d225f45] {
  font-size: 1.25rem;
}
.sv-home-why-card p[data-v-2d225f45],
.sv-home-story-card p[data-v-2d225f45],
.sv-home-approach-card p[data-v-2d225f45],
.sv-home-contact p[data-v-2d225f45] {
  margin: 0;
  color: var(--sv-ink-2);
  font-weight: 600;
  line-height: 1.5;
}
.sv-home-step-image[data-v-2d225f45] {
  overflow: hidden;
  aspect-ratio: 4 / 3;
  margin: 2px 0 0;
  border: 1px solid var(--sv-line-1);
  border-radius: var(--sv-radius-sm);
  background: var(--sv-bg-muted);
}
.sv-home-step-image img[data-v-2d225f45] {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sv-home-mini-tags[data-v-2d225f45] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.sv-home-products[data-v-2d225f45] {
  padding: 78px 0;
  background: var(--sv-bg-sand);
}
.sv-home-product-grid[data-v-2d225f45] {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}
.sv-home-product-card[data-v-2d225f45] {
  display: grid;
  grid-template-rows: auto 1fr auto auto;
  gap: 12px;
  min-height: 0;
  min-height: 230px;
  padding: 20px;
  border: 1px solid var(--sv-line-1);
  border-radius: var(--sv-radius-md);
  background: var(--bg-plain);
  color: var(--sv-ink-1);
  text-align: left;
  cursor: pointer;
  box-shadow: var(--sv-shadow-sm);
  text-decoration: none;
}
.sv-home-product-card.active[data-v-2d225f45] {
  border-color: var(--sv-brand-green);
  background: var(--sv-brand-green-tint);
}
.sv-home-product-card__body[data-v-2d225f45] {
  display: grid;
  align-content: start;
  gap: 6px;
}
.sv-home-product-card strong[data-v-2d225f45] {
  font-size: 1rem;
}
.sv-home-product-card span span[data-v-2d225f45],
.sv-home-product-card__body em[data-v-2d225f45] {
  color: var(--sv-ink-3);
  font-size: 0.82rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.35;
}
.sv-home-product-card__body em[data-v-2d225f45] {
  color: var(--sv-ink-2);
}
.sv-home-product-card__cta[data-v-2d225f45] {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  min-height: 30px;
  padding: 0 10px;
  border-radius: var(--r-pill);
  background: var(--sv-brand-green-tint);
  color: var(--sv-brand-green-deep);
  font-size: 0.78rem;
  font-weight: 900;
}
.sv-home-product-card > .sv-icon[data-v-2d225f45] {
  justify-self: end;
  color: var(--sv-brand-green-deep);
}
.sv-home-product-detail[data-v-2d225f45] {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: end;
  margin-top: 18px;
  padding: 24px;
  border: 1px solid var(--sv-line-1);
  border-radius: var(--sv-radius-md);
  background: var(--bg-plain);
}
.sv-home-product-detail h3[data-v-2d225f45] {
  margin-top: 10px;
  font-size: clamp(1.6rem, 3vw, 2.2rem);
}
.sv-home-product-detail p[data-v-2d225f45] {
  max-width: 720px;
  margin: 10px 0 0;
  color: var(--sv-ink-2);
  font-weight: 700;
  line-height: 1.5;
}
.sv-home-product-detail ul[data-v-2d225f45] {
  display: grid;
  gap: 8px;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}
.sv-home-product-detail li[data-v-2d225f45] {
  display: flex;
  gap: 10px;
  color: var(--sv-ink-2);
  font-weight: 700;
}
.sv-home-product-detail li[data-v-2d225f45]::before {
  content: '';
  flex: 0 0 auto;
  width: 8px;
  height: 8px;
  margin-top: 0.55em;
  border-radius: var(--r-pill);
  background: var(--sv-brand-green);
}
.sv-home-product-detail__actions[data-v-2d225f45] {
  display: grid;
  gap: 10px;
  justify-items: end;
}
.sv-product-page[data-v-2d225f45] {
  padding: 76px 0;
  background: var(--sv-bg-sand);
}
.sv-product-layout[data-v-2d225f45] {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.55fr);
  gap: 16px;
  align-items: stretch;
}
.sv-product-intro[data-v-2d225f45],
.sv-product-summary[data-v-2d225f45],
.sv-product-info-card[data-v-2d225f45],
.sv-product-faq[data-v-2d225f45],
.sv-product-related[data-v-2d225f45] {
  border: 1px solid var(--sv-line-1);
  border-radius: var(--sv-radius-md);
  background: var(--bg-plain);
  box-shadow: var(--sv-shadow-sm);
}
.sv-product-intro[data-v-2d225f45],
.sv-product-summary[data-v-2d225f45],
.sv-product-info-card[data-v-2d225f45],
.sv-product-faq[data-v-2d225f45],
.sv-product-related[data-v-2d225f45] {
  padding: 26px;
}
.sv-product-intro h2[data-v-2d225f45],
.sv-product-faq h2[data-v-2d225f45],
.sv-product-related h2[data-v-2d225f45] {
  margin-top: 12px;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.04;
}
.sv-product-intro p[data-v-2d225f45],
.sv-product-summary p[data-v-2d225f45],
.sv-product-info-card li[data-v-2d225f45],
.sv-product-faq p[data-v-2d225f45],
.sv-product-related__card span[data-v-2d225f45] {
  color: var(--sv-ink-2);
  font-weight: 700;
  line-height: 1.55;
}
.sv-product-actions[data-v-2d225f45] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}
.sv-product-summary[data-v-2d225f45] {
  display: grid;
  align-content: start;
  gap: 14px;
}
.sv-product-summary__icon[data-v-2d225f45] {
  display: inline-grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: var(--sv-radius-sm);
  background: var(--sv-brand-green-tint);
  color: var(--sv-brand-green-deep);
}
.sv-product-summary strong[data-v-2d225f45] {
  font-family: var(--sv-font-display);
  font-size: 1.6rem;
}
.sv-product-summary dl[data-v-2d225f45] {
  display: grid;
  gap: 8px;
  margin: 0;
}
.sv-product-summary dl div[data-v-2d225f45] {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 10px 0;
  border-top: 1px solid var(--sv-line-1);
}
.sv-product-summary dt[data-v-2d225f45],
.sv-product-summary dd[data-v-2d225f45] {
  margin: 0;
  font-weight: 900;
}
.sv-product-summary dt[data-v-2d225f45] {
  color: var(--sv-ink-3);
}
.sv-product-summary dd[data-v-2d225f45] {
  color: var(--sv-brand-green-deep);
  text-align: right;
}
.sv-product-info-grid[data-v-2d225f45] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 16px;
}
.sv-product-info-card--wide[data-v-2d225f45] {
  grid-column: span 2;
}
.sv-product-info-card h3[data-v-2d225f45] {
  margin-top: 10px;
  font-size: clamp(1.45rem, 3vw, 2rem);
}
.sv-product-info-card ul[data-v-2d225f45] {
  display: grid;
  gap: 10px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}
.sv-product-info-card li[data-v-2d225f45] {
  display: flex;
  gap: 10px;
}
.sv-product-info-card li[data-v-2d225f45]::before {
  content: '';
  flex: 0 0 auto;
  width: 8px;
  height: 8px;
  margin-top: 0.62em;
  border-radius: var(--r-pill);
  background: var(--sv-brand-green);
}
.sv-product-info-card--attention[data-v-2d225f45] {
  background: var(--sv-bg-muted);
}
.sv-product-faq[data-v-2d225f45] {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: 46px;
  margin-top: 16px;
}
.sv-product-faq .sv-home-faq__list p[data-v-2d225f45] {
  max-width: none;
  margin: 0 0 18px;
  color: var(--sv-ink-2);
}
.sv-product-related[data-v-2d225f45] {
  margin-top: 16px;
}
.sv-product-related__grid[data-v-2d225f45] {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.sv-product-related__card[data-v-2d225f45] {
  display: grid;
  gap: 10px;
  min-height: 170px;
  padding: 18px;
  border: 1px solid var(--sv-line-1);
  border-radius: var(--sv-radius-sm);
  background: var(--sv-bg-muted);
}
.sv-product-related__card strong[data-v-2d225f45] {
  font-weight: 900;
}
.sv-home-product-stories[data-v-2d225f45],
.sv-home-contact[data-v-2d225f45] {
  padding: 70px 0;
  background: var(--sv-bg-page);
}
.sv-home-story-grid[data-v-2d225f45] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.sv-home-story-card[data-v-2d225f45] {
  display: grid;
  gap: 12px;
  min-height: 310px;
  padding: 20px;
  border: 1px solid var(--sv-line-1);
  border-radius: var(--sv-radius-md);
  background: var(--bg-plain);
}
.sv-home-story-card.featured[data-v-2d225f45] {
  grid-row: span 2;
}
.sv-home-story-card__media[data-v-2d225f45] {
  min-height: 130px;
  border-radius: var(--sv-radius-sm);
  background: var(--bg-sand-soft) url('/images/serviceverzekerd-home.jpg');
  background-position: center;
  background-size: cover;
}
.sv-home-story-card.featured .sv-home-story-card__media[data-v-2d225f45] {
  min-height: 330px;
  background-position: 42% 35%;
}
.sv-home-story-card h3[data-v-2d225f45] {
  font-size: 1.35rem;
}
.sv-home-story-card a[data-v-2d225f45] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  color: var(--sv-brand-green-deep);
  font-size: 0.9rem;
  font-weight: 900;
}
.sv-home-service-bar[data-v-2d225f45] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-bottom: 16px;
  padding: 16px;
  border: 1px solid var(--sv-line-1);
  border-radius: var(--sv-radius-sm);
  background: var(--bg-plain);
}
.sv-home-service-bar strong[data-v-2d225f45] {
  font-family: var(--sv-font-display);
  font-size: 1.4rem;
}
.sv-home-service-bar span[data-v-2d225f45] {
  flex: 1;
  min-width: 220px;
  color: var(--sv-ink-2);
  font-weight: 700;
}
.sv-home-approach-grid[data-v-2d225f45] {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.sv-home-approach-card[data-v-2d225f45] {
  display: grid;
  gap: 12px;
  padding: 20px;
  border: 1px solid var(--sv-line-1);
  border-radius: var(--sv-radius-md);
  background: var(--bg-plain);
}
.sv-home-approach-card__top[data-v-2d225f45] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.sv-home-approach-card__top span[data-v-2d225f45],
.sv-home-approach-card__top strong[data-v-2d225f45] {
  display: inline-flex;
  min-height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  background: var(--sv-brand-green-tint);
  color: var(--sv-brand-green-deep);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}
.sv-home-approach-card h3[data-v-2d225f45] {
  font-size: 1.35rem;
}
.sv-home-approach-card__subtitle[data-v-2d225f45] {
  color: var(--sv-ink-3);
  font-size: 0.88rem;
  font-weight: 800;
}
.sv-home-approach-card ul[data-v-2d225f45] {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.sv-home-approach-card li[data-v-2d225f45] {
  display: flex;
  gap: 9px;
  padding: 10px;
  border: 1px solid var(--sv-line-1);
  border-radius: var(--sv-radius-sm);
  color: var(--sv-ink-2);
  font-size: 0.86rem;
  font-weight: 700;
}
.sv-home-approach-card__actions[data-v-2d225f45] {
  justify-content: flex-start;
  margin-top: auto;
}
.sv-home-tip[data-v-2d225f45] {
  margin: 16px 0;
  padding: 12px 16px;
  border: 1px solid var(--sv-line-1);
  border-radius: var(--sv-radius-sm);
  background: var(--bg-plain);
  color: var(--sv-ink-2);
  font-size: 0.9rem;
  font-weight: 700;
}
.sv-home-testimonial[data-v-2d225f45] {
  display: grid;
  overflow: hidden;
  border-radius: var(--sv-radius-md);
  background: var(--sv-brand-green-dark);
  color: var(--bg-plain);
}
.sv-home-testimonial > div[data-v-2d225f45] {
  padding: 32px;
}
.sv-home-testimonial blockquote[data-v-2d225f45] {
  margin: 14px 0 24px;
  font-family: var(--sv-font-display);
  font-size: clamp(1.45rem, 3vw, 2.2rem);
  font-weight: 700;
  line-height: 1.16;
}
.sv-home-testimonial p[data-v-2d225f45],
.sv-home-testimonial .sv-home-eyebrow[data-v-2d225f45] {
  color: var(--bg-plain);
}
.sv-home-testimonial span[data-v-2d225f45] {
  color: rgba(255, 255, 255, 0.72);
}
.sv-home-trust-grid[data-v-2d225f45] {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 16px;
  margin-top: 28px;
}
.sv-home-stats[data-v-2d225f45] {
  display: grid;
  gap: 16px;
}
.sv-home-stats article[data-v-2d225f45] {
  display: grid;
  align-content: center;
  min-height: 160px;
  padding: 28px;
  border: 1px solid var(--sv-line-1);
  border-radius: var(--sv-radius-md);
  background: var(--bg-plain);
}
.sv-home-stats strong[data-v-2d225f45] {
  color: var(--sv-brand-green);
  font-family: var(--sv-font-display);
  font-size: 3.3rem;
  line-height: 1;
}
.sv-home-stats span[data-v-2d225f45] {
  margin-top: 10px;
  color: var(--sv-ink-1);
  font-weight: 900;
}
.sv-home-stats small[data-v-2d225f45] {
  margin-top: 4px;
  color: var(--sv-ink-3);
  font-size: 0.86rem;
  font-weight: 700;
}
.sv-home-faq[data-v-2d225f45] {
  padding: 78px 0;
  background: var(--sv-bg-page);
}
.sv-home-faq__grid[data-v-2d225f45] {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 64px;
}
.sv-home-faq h2[data-v-2d225f45] {
  margin-top: 12px;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.05;
}
.sv-home-faq p[data-v-2d225f45] {
  max-width: 390px;
  margin: 16px 0 24px;
  color: var(--sv-ink-3);
  font-weight: 700;
  line-height: 1.55;
}
.sv-home-faq__list[data-v-2d225f45] {
  display: grid;
}
.sv-home-faq details[data-v-2d225f45] {
  border-bottom: 1px solid var(--sv-line-1);
}
.sv-home-faq details[data-v-2d225f45]:first-child {
  border-top: 1px solid var(--sv-line-1);
}
.sv-home-faq summary[data-v-2d225f45] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 0;
  color: var(--sv-ink-1);
  font-size: 1.02rem;
  font-weight: 900;
  cursor: pointer;
  list-style: none;
}
.sv-home-faq summary[data-v-2d225f45]::-webkit-details-marker {
  display: none;
}
.sv-home-contact__card[data-v-2d225f45] {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.88fr);
  gap: 28px;
  background: var(--bg-plain);
}
.sv-home-contact h2[data-v-2d225f45] {
  margin-top: 10px;
  font-size: clamp(1.8rem, 4vw, 3rem);
}
.sv-home-contact-grid[data-v-2d225f45] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 22px 0;
}
.sv-home-contact-grid article[data-v-2d225f45] {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 4px 12px;
  padding: 16px;
  border: 1px solid var(--sv-line-1);
  border-radius: var(--sv-radius-sm);
  background: var(--bg-plain);
}
.sv-home-contact-grid .sv-icon[data-v-2d225f45] {
  grid-row: span 3;
  color: var(--sv-brand-green-deep);
}
.sv-home-contact-grid strong[data-v-2d225f45] {
  font-weight: 900;
}
.sv-home-contact-grid span[data-v-2d225f45] {
  color: var(--sv-ink-3);
  font-size: 0.78rem;
  font-weight: 700;
}
.sv-home-contact-grid a[data-v-2d225f45] {
  color: var(--sv-brand-green-deep);
  font-size: 0.84rem;
  font-weight: 900;
}
.sv-home-contact__dropzone[data-v-2d225f45] {
  display: grid;
  align-content: end;
  gap: 12px;
}
.sv-home-contact-visual[data-v-2d225f45] {
  display: grid;
  gap: 16px;
  min-height: 270px;
  margin: 0;
  padding: 18px;
  border: 1px solid color-mix(in srgb, var(--sv-brand-green) 28%, var(--sv-line-1));
  border-radius: var(--sv-radius-md);
  background: color-mix(in srgb, var(--sv-brand-green-soft) 82%, white);
  box-shadow: var(--sv-shadow-soft);
  color: var(--sv-ink-1);
}
.sv-home-contact-visual__header[data-v-2d225f45],
.sv-home-contact-visual__note[data-v-2d225f45] {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: start;
}
.sv-home-contact-visual__header span[data-v-2d225f45],
.sv-home-contact-visual__note span[data-v-2d225f45] {
  color: var(--sv-brand-green-deep);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.sv-home-contact-visual__header strong[data-v-2d225f45],
.sv-home-contact-visual__note strong[data-v-2d225f45] {
  color: var(--sv-ink-1);
  font-size: 0.96rem;
  font-weight: 900;
  text-align: right;
}
.sv-home-contact-visual__stack[data-v-2d225f45] {
  display: grid;
  gap: 10px;
}
.sv-home-contact-visual__stack > div[data-v-2d225f45] {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--sv-line-1);
  border-radius: var(--sv-radius-sm);
  background: color-mix(in srgb, white 86%, var(--sv-brand-green-soft));
}
.sv-home-contact-visual__stack svg[data-v-2d225f45] {
  color: var(--sv-brand-green-deep);
}
.sv-home-contact-visual__stack span[data-v-2d225f45] {
  min-width: 0;
  color: var(--sv-ink-2);
  font-size: 0.88rem;
  font-weight: 800;
}
.sv-home-contact-visual__stack strong[data-v-2d225f45] {
  color: var(--sv-ink-1);
  font-size: 0.86rem;
  font-weight: 950;
}
.sv-home-contact-visual__note[data-v-2d225f45] {
  align-items: center;
  padding-top: 2px;
  border-top: 1px solid var(--sv-line-1);
}
@media (max-width: 980px) {
.sv-home-nav[data-v-2d225f45],
  .sv-home-hero__grid[data-v-2d225f45],
  .sv-product-layout[data-v-2d225f45],
  .sv-product-faq[data-v-2d225f45],
  .sv-home-savings-grid[data-v-2d225f45],
  .sv-home-premiecheck-live__grid[data-v-2d225f45],
  .sv-home-premiecheck-live__demo[data-v-2d225f45],
  .sv-home-trust-grid[data-v-2d225f45],
  .sv-home-faq__grid[data-v-2d225f45],
  .sv-home-contact__card[data-v-2d225f45],
  .sv-home-testimonial[data-v-2d225f45] {
    grid-template-columns: 1fr;
}
.sv-home-nav[data-v-2d225f45] {
    justify-items: start;
}
.sv-home-nav__links[data-v-2d225f45],
  .sv-home-nav__actions[data-v-2d225f45],
  .sv-home-section-head[data-v-2d225f45],
  .sv-home-section-head__actions[data-v-2d225f45] {
    justify-content: flex-start;
}
.sv-home-section-head[data-v-2d225f45] {
    align-items: flex-start;
    flex-direction: column;
}
.sv-home-why-grid[data-v-2d225f45],
  .sv-home-approach-grid[data-v-2d225f45] {
    grid-template-columns: 1fr;
}
.sv-home-why-card[data-v-2d225f45]:nth-child(4) {
    grid-column: auto;
}
.sv-home-product-grid[data-v-2d225f45] {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.sv-product-info-grid[data-v-2d225f45],
  .sv-product-related__grid[data-v-2d225f45] {
    grid-template-columns: 1fr;
}
.sv-product-info-card--wide[data-v-2d225f45] {
    grid-column: auto;
}
.sv-home-product-detail[data-v-2d225f45] {
    grid-template-columns: 1fr;
}
.sv-home-product-detail__actions[data-v-2d225f45] {
    justify-items: start;
}
.sv-home-contact__card[data-v-2d225f45] {
    background: var(--bg-plain);
}
}
@media (max-width: 640px) {
.sv-home-container[data-v-2d225f45],
  .sv-home-nav[data-v-2d225f45] {
    width: min(100% - 24px, var(--home-max));
}
.sv-home-nav[data-v-2d225f45] {
    grid-template-columns: 1fr auto;
    gap: 12px;
    padding-top: 14px;
}
.sv-home-nav__links[data-v-2d225f45] {
    display: none;
}
.sv-home-nav__actions[data-v-2d225f45] {
    justify-self: end;
}
.sv-home-login-link[data-v-2d225f45] {
    display: none;
}
.sv-home-account-link[data-v-2d225f45] {
    max-width: 44px;
    padding: 5px;
}
.sv-home-account-link__copy[data-v-2d225f45] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
}
.sv-home-hero[data-v-2d225f45] {
    padding: 28px 0 48px;
}
.sv-home h1[data-v-2d225f45] {
    max-width: 100%;
    font-size: clamp(2rem, 10vw, 2.5rem);
}
.sv-home h1 span[data-v-2d225f45] {
    white-space: normal;
}
.sv-home-price-strip[data-v-2d225f45],
  .sv-home-price-lockup[data-v-2d225f45],
  .sv-home-premiecheck__steps[data-v-2d225f45],
  .sv-home-premiecheck__comparison div[data-v-2d225f45],
  .sv-home-service-bar[data-v-2d225f45],
  .sv-home-savings-card > header[data-v-2d225f45],
  .sv-home-savings-ribbon[data-v-2d225f45] {
    grid-template-columns: 1fr;
}
.sv-home-price-lockup[data-v-2d225f45],
  .sv-home-savings-card > header[data-v-2d225f45],
  .sv-home-savings-ribbon[data-v-2d225f45] {
    align-items: flex-start;
}
.sv-home-savings-grid[data-v-2d225f45] {
    padding: 18px 18px 0;
}
.sv-home-savings-ribbon[data-v-2d225f45] {
    margin: 16px 18px 18px;
}
.sv-home-savings-ribbon strong[data-v-2d225f45] {
    flex-wrap: wrap;
    white-space: normal;
}
.sv-home-hero__actions[data-v-2d225f45],
  .sv-home-premiecheck-live__actions[data-v-2d225f45],
  .sv-home-section-head__actions[data-v-2d225f45],
  .sv-home-approach-card__actions[data-v-2d225f45] {
    display: grid;
    justify-content: stretch;
    justify-items: stretch;
    width: 100%;
}
.sv-home-button[data-v-2d225f45] {
    width: 100%;
}
.sv-home-premiecheck-live[data-v-2d225f45] {
    padding: 48px 0;
}
.sv-home-premiecheck-live__copy[data-v-2d225f45],
  .sv-home-premiecheck-live__demo[data-v-2d225f45] {
    padding: 16px;
}
.sv-home-premiecheck-live__radar[data-v-2d225f45] {
    min-height: 230px;
}
.sv-home-premiecheck-live__timeline li[data-v-2d225f45] {
    grid-template-columns: 1fr;
    align-items: start;
}
.sv-home-premiecheck-live__timeline span[data-v-2d225f45],
  .sv-home-premiecheck-live__timeline em[data-v-2d225f45] {
    width: fit-content;
    justify-content: flex-start;
}
.sv-home-visual-card__image[data-v-2d225f45] {
    min-height: 280px;
}
.sv-home-panel[data-v-2d225f45],
  .sv-home-card-band[data-v-2d225f45],
  .sv-product-hero-card[data-v-2d225f45],
  .sv-product-intro[data-v-2d225f45],
  .sv-product-summary[data-v-2d225f45],
  .sv-product-info-card[data-v-2d225f45],
  .sv-product-faq[data-v-2d225f45],
  .sv-product-related[data-v-2d225f45],
  .sv-home-contact__card[data-v-2d225f45] {
    padding: 18px;
}
.sv-home-product-grid[data-v-2d225f45] {
    grid-template-columns: 1fr;
    gap: 8px;
}
.sv-home-product-card[data-v-2d225f45] {
    min-height: 0;
    padding: 14px;
}
.sv-home-product-card strong[data-v-2d225f45] {
    font-size: 0.98rem;
    line-height: 1.1;
    overflow-wrap: anywhere;
}
.sv-home-product-card > .sv-icon[data-v-2d225f45] {
    display: none;
}
.sv-home-story-grid[data-v-2d225f45],
  .sv-home-contact-grid[data-v-2d225f45] {
    grid-template-columns: 1fr;
}
.sv-home-story-card[data-v-2d225f45],
  .sv-home-story-card.featured[data-v-2d225f45] {
    min-height: 0;
}
.sv-home-story-card__media[data-v-2d225f45],
  .sv-home-story-card.featured .sv-home-story-card__media[data-v-2d225f45] {
    min-height: 190px;
}
.sv-home-testimonial > div[data-v-2d225f45] {
    padding: 24px;
}
}
@media (prefers-reduced-motion: reduce) {
.sv-home-savings-row[data-v-2d225f45],
  .sv-home-savings-row__bar[data-v-2d225f45],
  .sv-home-savings-meter__segment[data-v-2d225f45]::after,
  .sv-home-premiecheck-live__timeline li[data-v-2d225f45],
  .sv-home-premiecheck-live__pulse[data-v-2d225f45],
  .sv-home-premiecheck-live__scan[data-v-2d225f45] {
    animation: none !important;
}
.sv-home-savings-row__bar[data-v-2d225f45],
  .sv-home-savings-meter__segment[data-v-2d225f45]::after {
    transform: scaleX(1) !important;
}
.sv-home-premiecheck-live__pulse[data-v-2d225f45] {
    opacity: 0.16;
    transform: scale(1);
}
.sv-home-premiecheck-live__scan[data-v-2d225f45] {
    transform: rotate(28deg);
}
}

.sv-public-page[data-v-870a30ae] {
  min-height: 100dvh;
  background: var(--bg-page);
  color: var(--ink-1);
  font-family: var(--sv-font-body);
}
.sv-public-skip[data-v-870a30ae] {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 80;
  transform: translateY(-140%);
  padding: 10px 14px;
  border-radius: var(--r-pill);
  background: var(--brand-green);
  color: var(--bg-plain);
  font-weight: 800;
  text-decoration: none;
}
.sv-public-skip[data-v-870a30ae]:focus {
  transform: translateY(0);
}
.sv-public-container[data-v-870a30ae] {
  width: min(1240px, calc(100% - 32px));
  margin: 0 auto;
}
.sv-public-nav[data-v-870a30ae] {
  position: sticky;
  top: 0;
  z-index: 50;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  min-height: 72px;
  padding: 12px clamp(16px, 5vw, 80px);
  border-bottom: 1px solid var(--line-2);
  background: color-mix(in srgb, var(--bg-page) 90%, transparent);
  backdrop-filter: blur(14px);
}
.sv-public-logo[data-v-870a30ae] {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  color: var(--ink-1);
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
}
.sv-public-logo__mark[data-v-870a30ae] {
  display: inline-grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: var(--r-md);
  background: var(--brand-green);
  color: var(--bg-plain);
  font-family: var(--sv-font-display);
}
.sv-public-logo strong[data-v-870a30ae] {
  display: block;
}
.sv-public-nav__links[data-v-870a30ae],
.sv-public-nav__actions[data-v-870a30ae] {
  display: flex;
  align-items: center;
}
.sv-public-nav__links[data-v-870a30ae] {
  justify-content: center;
  gap: clamp(14px, 2vw, 28px);
}
.sv-public-nav__links a[data-v-870a30ae],
.sv-public-login[data-v-870a30ae] {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  color: var(--ink-2);
  font-weight: 800;
  text-decoration: none;
}
.sv-public-nav__links a[data-v-870a30ae]:hover,
.sv-public-nav__links a.active[data-v-870a30ae],
.sv-public-login[data-v-870a30ae]:hover {
  color: var(--brand-green-deep);
}
.sv-public-nav__actions[data-v-870a30ae] {
  justify-content: flex-end;
  gap: 10px;
}
.sv-public-account[data-v-870a30ae] {
  display: inline-grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-height: 44px;
  max-width: 240px;
  padding: 5px 12px 5px 6px;
  border: 1px solid var(--brand-green-mint);
  border-radius: var(--r-pill);
  background: var(--brand-green-tint);
  color: var(--brand-green-ink);
  text-decoration: none;
}
.sv-public-account__avatar[data-v-870a30ae] {
  display: inline-grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: var(--r-pill);
  background: var(--brand-green);
  color: var(--bg-plain);
  font-size: 0.78rem;
  font-weight: 900;
}
.sv-public-account__copy[data-v-870a30ae] {
  display: grid;
  min-width: 0;
  gap: 1px;
}
.sv-public-account__copy strong[data-v-870a30ae],
.sv-public-account__copy em[data-v-870a30ae] {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sv-public-account__copy strong[data-v-870a30ae] {
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.sv-public-account__copy em[data-v-870a30ae] {
  color: var(--ink-2);
  font-size: 0.82rem;
  font-style: normal;
  font-weight: 800;
}
.sv-public-button[data-v-870a30ae] {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border: 1px solid transparent;
  border-radius: var(--r-pill);
  font-weight: 900;
  text-decoration: none;
}
.sv-public-button--primary[data-v-870a30ae] {
  background: var(--brand-green);
  color: var(--bg-plain);
}
.sv-public-button--primary[data-v-870a30ae]:hover {
  background: var(--brand-green-deep);
}
.sv-public-button--ghost[data-v-870a30ae] {
  border-color: var(--line-1);
  background: var(--bg-plain);
  color: var(--ink-1);
}
.sv-public-hero[data-v-870a30ae] {
  padding: clamp(48px, 7vw, 92px) 0 clamp(42px, 6vw, 72px);
}
.sv-public-hero__grid[data-v-870a30ae] {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
  gap: clamp(28px, 5vw, 72px);
  align-items: center;
}
.sv-public-eyebrow[data-v-870a30ae] {
  margin: 0 0 12px;
  color: var(--brand-green-deep);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.sv-public-hero h1[data-v-870a30ae],
.sv-public-section h2[data-v-870a30ae] {
  margin: 0;
  color: var(--ink-1);
  font-family: var(--sv-font-display);
  font-weight: 600;
  line-height: 1;
}
.sv-public-hero h1[data-v-870a30ae] {
  max-width: 780px;
  font-size: clamp(2.4rem, 6vw, 5.4rem);
  letter-spacing: -0.025em;
}
.sv-public-hero__copy > p[data-v-870a30ae]:not(.sv-public-eyebrow) {
  max-width: 680px;
  margin: 20px 0 0;
  color: var(--ink-2);
  font-size: clamp(1rem, 1.5vw, 1.18rem);
  line-height: 1.65;
}
.sv-public-actions[data-v-870a30ae] {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}
.sv-public-hero__panel[data-v-870a30ae] {
  display: grid;
  gap: 12px;
  padding: 18px;
  border: 1px solid var(--line-2);
  border-radius: var(--r-lg);
  background: var(--bg-plain);
}
.sv-public-hero__panel article[data-v-870a30ae] {
  display: grid;
  gap: 5px;
  padding: 14px;
  border-radius: var(--r-md);
  background: var(--bg-sand-soft);
}
.sv-public-hero__panel span[data-v-870a30ae] {
  color: var(--ink-3);
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.sv-public-hero__panel strong[data-v-870a30ae] {
  color: var(--brand-green-deep);
  font-family: var(--sv-font-display);
  font-size: clamp(1.9rem, 3vw, 2.6rem);
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  line-height: 1;
}
.sv-public-hero__panel p[data-v-870a30ae] {
  margin: 0;
  color: var(--ink-2);
  font-size: 0.92rem;
  line-height: 1.45;
}
.sv-public-section[data-v-870a30ae] {
  padding: clamp(42px, 6vw, 78px) 0;
  border-top: 1px solid var(--line-2);
}
.sv-public-section__header[data-v-870a30ae] {
  max-width: 760px;
  margin-bottom: 24px;
}
.sv-public-section__header h2[data-v-870a30ae] {
  font-size: clamp(1.8rem, 3.5vw, 3rem);
  letter-spacing: -0.02em;
}
.sv-public-section__header p[data-v-870a30ae] {
  margin: 14px 0 0;
  color: var(--ink-2);
  line-height: 1.6;
}
.sv-public-section__header--compact[data-v-870a30ae] {
  margin-top: 42px;
}
.sv-public-products[data-v-870a30ae] {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.sv-public-products--featured[data-v-870a30ae] {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.sv-public-product-card[data-v-870a30ae],
.sv-public-info-list article[data-v-870a30ae],
.sv-public-faq-list article[data-v-870a30ae],
.sv-public-contact-card[data-v-870a30ae],
.sv-public-timeline article[data-v-870a30ae] {
  border: 1px solid var(--line-2);
  border-radius: var(--r-lg);
  background: var(--bg-plain);
}
.sv-public-product-card[data-v-870a30ae] {
  display: grid;
  gap: 18px;
  align-content: space-between;
  padding: 20px;
}
.sv-public-product-card--compact[data-v-870a30ae] {
  gap: 14px;
}
.sv-public-product-card__icon[data-v-870a30ae] {
  display: inline-grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: var(--r-md);
  background: var(--brand-green-tint);
  color: var(--brand-green-deep);
  font-weight: 900;
}
.sv-public-product-card h3[data-v-870a30ae],
.sv-public-info-list h3[data-v-870a30ae],
.sv-public-faq-list h3[data-v-870a30ae],
.sv-public-contact-card h2[data-v-870a30ae],
.sv-public-timeline h2[data-v-870a30ae] {
  margin: 0;
  color: var(--ink-1);
  font-family: var(--sv-font-display);
  font-size: 1.22rem;
  font-weight: 600;
  line-height: 1.15;
}
.sv-public-product-card p[data-v-870a30ae],
.sv-public-product-card em[data-v-870a30ae],
.sv-public-info-list p[data-v-870a30ae],
.sv-public-faq-list p[data-v-870a30ae],
.sv-public-contact-card p[data-v-870a30ae],
.sv-public-timeline p[data-v-870a30ae] {
  margin: 8px 0 0;
  color: var(--ink-2);
  line-height: 1.55;
}
.sv-public-product-card em[data-v-870a30ae] {
  display: block;
  color: var(--ink-3);
  font-size: 0.9rem;
  font-style: normal;
}
.sv-public-product-card footer[data-v-870a30ae] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 4px;
}
.sv-public-product-card footer a[data-v-870a30ae],
.sv-public-contact-card a[data-v-870a30ae] {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  border: 1px solid var(--line-1);
  border-radius: var(--r-pill);
  color: var(--ink-1);
  font-weight: 900;
  text-decoration: none;
}
.sv-public-product-card footer a[data-v-870a30ae]:last-child,
.sv-public-contact-card a[data-v-870a30ae]:first-of-type {
  border-color: var(--brand-green);
  background: var(--brand-green);
  color: var(--bg-plain);
}
.sv-public-approach-proof[data-v-870a30ae] {
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(0, 1fr);
  gap: clamp(20px, 4vw, 44px);
  align-items: start;
}
.sv-public-approach-proof__intro[data-v-870a30ae] {
  position: sticky;
  top: 96px;
}
.sv-public-approach-proof__intro h2[data-v-870a30ae],
.sv-public-provision-calculator__copy h2[data-v-870a30ae] {
  margin: 0;
  font-size: clamp(2rem, 4vw, 3.4rem);
  letter-spacing: -0.02em;
}
.sv-public-approach-proof__intro p[data-v-870a30ae]:not(.sv-public-eyebrow),
.sv-public-provision-calculator__copy p[data-v-870a30ae] {
  margin: 16px 0 0;
  color: var(--ink-2);
  font-size: 1.04rem;
  line-height: 1.65;
}
.sv-public-approach-proof__cards[data-v-870a30ae] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.sv-public-approach-proof__cards article[data-v-870a30ae],
.sv-public-provision-calculator[data-v-870a30ae],
.sv-public-provision-calculator__results article[data-v-870a30ae] {
  border: 1px solid var(--line-2);
  border-radius: var(--r-lg);
  background: var(--bg-plain);
}
.sv-public-approach-proof__cards article[data-v-870a30ae] {
  min-height: 180px;
  display: grid;
  gap: 10px;
  align-content: start;
  padding: 20px;
}
.sv-public-approach-proof__cards article[data-v-870a30ae]::before {
  content: '';
  width: 42px;
  height: 42px;
  border-radius: var(--r-md);
  background: var(--brand-green-tint);
}
.sv-public-approach-proof__cards h3[data-v-870a30ae] {
  margin: 0;
  color: var(--ink-1);
  font-family: var(--sv-font-display);
  font-size: 1.22rem;
  font-weight: 600;
  line-height: 1.15;
}
.sv-public-approach-proof__cards p[data-v-870a30ae] {
  margin: 0;
  color: var(--ink-2);
  line-height: 1.55;
}
.sv-public-provision-calculator[data-v-870a30ae] {
  margin: clamp(28px, 5vw, 56px) 0;
  padding: clamp(20px, 4vw, 32px);
  scroll-margin-top: 96px;
}
.sv-public-provision-calculator__copy[data-v-870a30ae] {
  max-width: 820px;
}
.sv-public-provision-calculator__grid[data-v-870a30ae] {
  display: grid;
  grid-template-columns: minmax(280px, 0.75fr) minmax(0, 1fr);
  gap: 20px;
  align-items: stretch;
  margin-top: 24px;
}
.sv-public-provision-calculator__form[data-v-870a30ae] {
  display: grid;
  gap: 10px;
  align-content: start;
  padding: 18px;
  border-radius: var(--r-lg);
  background: var(--bg-sand-soft);
}
.sv-public-provision-calculator__form label[data-v-870a30ae] {
  margin-top: 6px;
  color: var(--ink-1);
  font-weight: 900;
}
.sv-public-provision-calculator__form label[data-v-870a30ae]:first-child {
  margin-top: 0;
}
.sv-public-provision-calculator__form input[data-v-870a30ae],
.sv-public-provision-calculator__form select[data-v-870a30ae] {
  min-height: 48px;
  width: 100%;
  border: 1px solid var(--line-1);
  border-radius: var(--r-md);
  background: var(--bg-plain);
  color: var(--ink-1);
  font: inherit;
  font-variant-numeric: tabular-nums;
  padding: 0 14px;
}
.sv-public-provision-calculator__form input[data-v-870a30ae]:hover,
.sv-public-provision-calculator__form select[data-v-870a30ae]:hover {
  border-color: var(--ink-3);
}
.sv-public-provision-calculator__form input[data-v-870a30ae]:focus,
.sv-public-provision-calculator__form select[data-v-870a30ae]:focus {
  border-color: var(--brand-green);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--brand-green) 14%, transparent);
  outline: none;
}
.sv-public-provision-calculator__form p[data-v-870a30ae] {
  margin: 0 0 6px;
  color: var(--ink-3);
  font-size: 0.86rem;
  line-height: 1.45;
}
.sv-public-provision-calculator__form .sv-public-button[data-v-870a30ae] {
  margin-top: 8px;
}
.sv-public-provision-calculator__results[data-v-870a30ae] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.sv-public-provision-calculator__results article[data-v-870a30ae] {
  display: grid;
  gap: 8px;
  align-content: start;
  padding: 18px;
}
.sv-public-provision-calculator__results span[data-v-870a30ae] {
  color: var(--ink-3);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.sv-public-provision-calculator__results strong[data-v-870a30ae] {
  color: var(--brand-green-deep);
  font-family: var(--sv-font-display);
  font-size: clamp(2rem, 4vw, 3.2rem);
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  line-height: 1;
}
.sv-public-provision-calculator__results p[data-v-870a30ae] {
  margin: 0;
  color: var(--ink-2);
  line-height: 1.45;
}
.sv-public-provision-calculator__results .sv-public-provision-calculator__saving[data-v-870a30ae] {
  border-color: var(--brand-green);
  background: var(--brand-green-tint);
}
.sv-public-provision-calculator__saving p[data-v-870a30ae] {
  color: var(--brand-green-ink);
  font-weight: 900;
}
.sv-public-timeline[data-v-870a30ae] {
  display: grid;
  gap: 16px;
}
.sv-public-timeline article[data-v-870a30ae] {
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr);
  gap: 18px;
  padding: 24px;
}
.sv-public-timeline article > span[data-v-870a30ae] {
  color: var(--brand-green-deep);
  font-family: var(--sv-font-display);
  font-size: 2.5rem;
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  line-height: 1;
}
.sv-public-timeline ul[data-v-870a30ae],
.sv-public-info-list ul[data-v-870a30ae] {
  display: grid;
  gap: 8px;
  margin: 14px 0 0;
  padding-left: 18px;
  color: var(--ink-2);
}
.sv-public-faq-layout[data-v-870a30ae],
.sv-public-contact-layout[data-v-870a30ae] {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(320px, 1fr);
  gap: 24px;
  align-items: start;
}
.sv-public-info-list[data-v-870a30ae],
.sv-public-faq-list[data-v-870a30ae] {
  display: grid;
  gap: 14px;
}
.sv-public-info-list article[data-v-870a30ae],
.sv-public-faq-list article[data-v-870a30ae] {
  padding: 20px;
}
.sv-public-contact-card[data-v-870a30ae] {
  position: sticky;
  top: 96px;
  display: grid;
  gap: 12px;
  padding: 20px;
}
.sv-public-contact-card a[data-v-870a30ae] {
  justify-content: flex-start;
}
.sv-public-contact-card p[data-v-870a30ae] {
  padding: 12px;
  border-radius: var(--r-md);
  background: var(--brand-green-tint);
  color: var(--brand-green-ink);
  font-weight: 800;
}
@media (max-width: 1024px) {
.sv-public-nav[data-v-870a30ae] {
    grid-template-columns: auto auto;
}
.sv-public-nav__links[data-v-870a30ae] {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-content: flex-start;
    overflow-x: auto;
    padding-bottom: 2px;
}
.sv-public-nav__actions[data-v-870a30ae] {
    justify-self: end;
}
.sv-public-hero__grid[data-v-870a30ae],
  .sv-public-faq-layout[data-v-870a30ae],
  .sv-public-contact-layout[data-v-870a30ae],
  .sv-public-approach-proof[data-v-870a30ae],
  .sv-public-provision-calculator__grid[data-v-870a30ae] {
    grid-template-columns: 1fr;
}
.sv-public-products[data-v-870a30ae],
  .sv-public-products--featured[data-v-870a30ae] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.sv-public-approach-proof__intro[data-v-870a30ae] {
    position: static;
}
.sv-public-contact-card[data-v-870a30ae] {
    position: static;
}
}
@media (max-width: 640px) {
.sv-public-container[data-v-870a30ae] {
    width: min(100% - 32px, 1240px);
}
.sv-public-nav[data-v-870a30ae] {
    gap: 10px;
    padding: 8px 16px;
}
.sv-public-logo strong[data-v-870a30ae] {
    display: none;
}
.sv-public-nav__links[data-v-870a30ae] {
    gap: 16px;
}
.sv-public-nav__links a[data-v-870a30ae] {
    white-space: nowrap;
}
.sv-public-login[data-v-870a30ae],
  .sv-public-account__copy[data-v-870a30ae] {
    display: none;
}
.sv-public-account[data-v-870a30ae] {
    width: 44px;
    padding: 5px;
}
.sv-public-nav__actions .sv-public-button[data-v-870a30ae] {
    padding: 0 12px;
}
.sv-public-hero[data-v-870a30ae] {
    padding-top: 38px;
}
.sv-public-actions[data-v-870a30ae] {
    display: grid;
}
.sv-public-products[data-v-870a30ae],
  .sv-public-products--featured[data-v-870a30ae] {
    grid-template-columns: 1fr;
}
.sv-public-approach-proof__cards[data-v-870a30ae],
  .sv-public-provision-calculator__results[data-v-870a30ae] {
    grid-template-columns: 1fr;
}
.sv-public-timeline article[data-v-870a30ae] {
    grid-template-columns: 1fr;
}
}

.login-page[data-v-f63ed830] {
  min-height: 100dvh;
  display: grid;
  place-items: center;
  padding: clamp(20px, 5vw, 56px);
  background: var(--sv-bg-page);
}
.login-shell[data-v-f63ed830] {
  width: min(1060px, 100%);
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.8fr);
  gap: 18px;
  align-items: stretch;
}
.login-intro[data-v-f63ed830],
.login-card[data-v-f63ed830] {
  border: 1px solid var(--sv-line-1);
  border-radius: var(--sv-radius-md);
  background: var(--sv-bg-panel);
  box-shadow: var(--sv-shadow-sm);
}
.login-intro[data-v-f63ed830] {
  display: grid;
  align-content: space-between;
  gap: 28px;
  padding: clamp(28px, 4vw, 44px);
  background:
    linear-gradient(0deg, rgba(10, 122, 69, 0.06), rgba(10, 122, 69, 0.06)), var(--sv-bg-panel);
}
.login-brand[data-v-f63ed830] {
  display: flex;
  gap: 16px;
  align-items: center;
}
.login-logo[data-v-f63ed830] {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: var(--sv-radius-sm);
  background: var(--sv-brand-green);
  color: #fff;
  font-weight: 900;
  letter-spacing: 0;
}
.login-kicker[data-v-f63ed830] {
  color: var(--sv-brand-green);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}
.login-intro h1[data-v-f63ed830],
.login-card__header h2[data-v-f63ed830] {
  margin: 0;
  color: var(--sv-ink-1);
  font-family: var(--sv-font-display);
  font-weight: 700;
  letter-spacing: 0;
}
.login-intro h1[data-v-f63ed830] {
  font-size: clamp(2.2rem, 6vw, 4.4rem);
  line-height: 0.98;
}
.login-lead[data-v-f63ed830] {
  max-width: 580px;
  color: var(--sv-ink-2);
  font-size: clamp(1.05rem, 2vw, 1.25rem);
  line-height: 1.55;
}
.service-price[data-v-f63ed830] {
  display: grid;
  gap: 4px;
  max-width: 320px;
  padding: 18px;
  border: 1px solid var(--sv-brand-green-mint);
  border-radius: var(--sv-radius-md);
  background: var(--sv-brand-green-tint);
  color: var(--sv-brand-green-deep);
}
.service-price strong[data-v-f63ed830] {
  font-size: clamp(2rem, 5vw, 3rem);
  line-height: 1;
}
.price-label[data-v-f63ed830] {
  font-weight: 900;
  text-transform: uppercase;
  font-size: 0.78rem;
}
.login-proof[data-v-f63ed830] {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.login-proof li[data-v-f63ed830] {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: center;
  color: var(--sv-ink-2);
  font-weight: 700;
}
.login-card[data-v-f63ed830] {
  width: 100%;
  padding: clamp(28px, 4vw, 40px);
  align-self: center;
}
.login-card__header[data-v-f63ed830] {
  margin-bottom: 24px;
}
.login-card__header h2[data-v-f63ed830] {
  margin: 6px 0 8px;
  font-size: 2rem;
}
.login-card__header p[data-v-f63ed830] {
  margin: 0;
  color: var(--sv-ink-3);
  font-size: 1rem;
}
.login-signed-in[data-v-f63ed830] {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: center;
}
.login-signed-in__avatar[data-v-f63ed830] {
  display: inline-grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border-radius: var(--sv-radius-md);
  background: var(--sv-brand-green);
  color: #fff;
  font-weight: 900;
  letter-spacing: 0;
}
.login-signed-in strong[data-v-f63ed830],
.login-signed-in span[data-v-f63ed830] {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.login-signed-in strong[data-v-f63ed830] {
  color: var(--sv-ink-1);
  font-weight: 900;
}
.login-signed-in span[data-v-f63ed830] {
  margin-top: 3px;
  color: var(--sv-ink-3);
  font-size: 0.95rem;
}
.login-primary-link[data-v-f63ed830] {
  grid-column: 1 / -1;
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 16px;
  border: 1px solid var(--sv-brand-green);
  border-radius: var(--sv-radius-sm);
  background: var(--sv-brand-green);
  color: #fff;
  font-weight: 900;
  text-decoration: none;
}
.login-primary-link[data-v-f63ed830]:hover {
  background: var(--sv-brand-green-deep);
}
.login-form[data-v-f63ed830] {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.form-group[data-v-f63ed830] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.form-group label[data-v-f63ed830] {
  font-weight: 800;
  color: var(--sv-ink-2);
}
.form-group input[data-v-f63ed830] {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--sv-line-2);
  border-radius: var(--sv-radius-sm);
  background-color: #fff;
  font-size: 1rem;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}
.form-group input[data-v-f63ed830]:focus {
  border-color: var(--sv-brand-green);
  box-shadow: 0 0 0 3px rgba(10, 122, 69, 0.14);
  outline: none;
}
.forgot-password-link[data-v-f63ed830] {
  display: inline-block;
  width: auto;
  margin-top: 4px;
  padding: 0;
  border: 0;
  background: transparent;
  font-size: 0.9rem;
  color: var(--sv-brand-green);
  text-decoration: none;
  font-weight: 800;
  box-shadow: none;
}
.forgot-password-link[data-v-f63ed830]:hover {
  text-decoration: underline;
}
button[data-v-f63ed830] {
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 16px;
  border: 1px solid var(--sv-brand-green);
  border-radius: var(--sv-radius-sm);
  background: var(--sv-brand-green);
  color: #ffffff;
  font-weight: 900;
  cursor: pointer;
  transition:
    transform 0.15s ease,
    box-shadow 0.15s ease;
}
button[data-v-f63ed830]:hover:not(:disabled) {
  transform: translateY(-1px);
  background: var(--sv-brand-green-deep);
  box-shadow: 0 12px 22px rgba(10, 122, 69, 0.18);
}
button[data-v-f63ed830]:disabled {
  background: var(--sv-brand-green-mint);
  border-color: var(--sv-brand-green-mint);
  cursor: not-allowed;
  box-shadow: none;
}
button.forgot-password-link[data-v-f63ed830]:hover:not(:disabled) {
  background: transparent;
  box-shadow: none;
  transform: none;
  text-decoration: underline;
}
.error-message[data-v-f63ed830] {
  margin: 0 0 12px;
  padding: 12px 14px;
  border-radius: var(--sv-radius-sm);
  background-color: var(--sv-danger-bg);
  border: 1px solid #f3b8b2;
  color: var(--sv-danger);
  font-size: 0.95rem;
}
.support-text[data-v-f63ed830] {
  margin: 24px 0 0;
  color: var(--sv-ink-3);
  font-size: 0.95rem;
}
@media (max-width: 820px) {
.login-shell[data-v-f63ed830] {
    grid-template-columns: 1fr;
}
.login-intro[data-v-f63ed830] {
    align-content: start;
}
}
@media (max-width: 480px) {
.login-page[data-v-f63ed830] {
    padding: 12px;
}
.login-intro[data-v-f63ed830] {
    padding: 22px;
}
.login-card[data-v-f63ed830] {
    padding: 24px;
}
.login-card__header h2[data-v-f63ed830] {
    font-size: 1.55rem;
}
button[data-v-f63ed830] {
    font-size: 1rem;
}
}

.user-dashboard-view[data-v-5046d8d6] {
  padding: 20px;
  background-color: var(--color-background-soft, #f9f9f9);
  border-radius: 8px;
  width: 100%;
  box-sizing: border-box;
  overflow-x: hidden;
  max-width: 100%;
}
.user-dashboard-view h2[data-v-5046d8d6] {
  text-align: center;
  color: var(--color-heading, #333);
  margin-bottom: 30px;
  font-size: 1.8rem;
}
.dashboard-sections[data-v-5046d8d6] {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* Use 2 columns on desktop */
  gap: 25px; /* Spacing between sections */
  width: 100%;
  box-sizing: border-box;
}
.dashboard-section[data-v-5046d8d6] {
  background-color: var(--color-background-card, #ffffff);
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.07); /* Slightly enhanced shadow */
  display: flex;
  flex-direction: column;
  width: 100%;
  box-sizing: border-box;
  min-width: 0;
}
.dashboard-section.active-policies[data-v-5046d8d6] {
  grid-column: 1 / -1; /* span full width */
}
.dashboard-section h3[data-v-5046d8d6] {
  color: var(--color-primary, #007bff);
  margin-top: 0;
  margin-bottom: 20px; /* Increased margin */
  border-bottom: 1px solid var(--color-border-light, #eee);
  padding-bottom: 12px; /* Increased padding */
  font-size: 1.3rem;
}
.section-header[data-v-5046d8d6] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.live-toggle[data-v-5046d8d6] {
  background-color: #eef1f4;
  color: #1f2933;
  border: 1px solid #c7d0d9;
  padding: 8px 12px;
  border-radius: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}
.live-toggle[data-v-5046d8d6]:hover {
  background-color: #e2e8f0;
}
.live-toggle.active[data-v-5046d8d6] {
  background-color: #0f533a;
  border-color: #0f533a;
  color: #ffffff;
  box-shadow: 0 0 0 2px rgba(15, 83, 58, 0.15);
}
.toggle-hint[data-v-5046d8d6] {
  margin: 8px 0 12px;
  color: #4b5563;
  font-size: 0.95rem;
}
.mutation-button[data-v-5046d8d6] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background-color: #0f533a;
  color: #fff;
  border: none;
  padding: 10px 14px;
  border-radius: 8px;
  cursor: pointer;
  font-weight: 600;
  transition:
    background-color 0.2s ease,
    transform 0.2s ease;
}
.mutation-button.ghosty[data-v-5046d8d6] {
  background-color: #ffffff;
  color: #0f533a;
  border: 1px solid #d6e2da;
  box-shadow: 0 6px 12px rgba(15, 83, 58, 0.08);
}
.mutation-button.ghosty[data-v-5046d8d6]:hover {
  background-color: #f2f7f4;
  transform: translateY(-1px);
}
.mutation-button.accent[data-v-5046d8d6] {
  background-color: #146b45;
}
.mutation-button .icon[data-v-5046d8d6] {
  font-size: 14px;
}
.mutation-button[data-v-5046d8d6]:hover {
  background-color: #0b3f2b;
  transform: translateY(-1px);
}
.mutation-button[data-v-5046d8d6]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}
.mutation-feedback[data-v-5046d8d6],
.mutation-error[data-v-5046d8d6] {
  margin: 0 0 12px 0;
  font-size: 0.95rem;
}
.mutation-feedback[data-v-5046d8d6] {
  color: #0f533a;
}
.mutation-error[data-v-5046d8d6] {
  color: var(--color-danger, #dc3545);
}
.policy-recalcs .recalcs-list[data-v-5046d8d6] {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.policy-recalcs .recalc-row[data-v-5046d8d6] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--color-border-light, #e0e0e0);
  border-radius: 8px;
  background: #fff;
  width: 100%;
  box-sizing: border-box;
  gap: 10px;
  flex-wrap: wrap;
}
.policy-recalcs .recalc-info .title[data-v-5046d8d6] {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  flex-wrap: wrap;
}
.policy-recalcs .recalc-info .muted[data-v-5046d8d6] {
  color: var(--color-text-muted, #666);
  font-size: 0.9rem;
}
.policy-recalcs .recalc-info .meta[data-v-5046d8d6] {
  margin-top: 4px;
  color: var(--color-text-secondary, #555);
  word-break: break-word;
}
.suggestions-block.solo[data-v-5046d8d6] {
  padding: 0;
}
.policy-recalcs .recalc-info .meta .positive[data-v-5046d8d6] {
  color: #0f766e;
}
.policy-recalcs .recalc-info .meta .negative[data-v-5046d8d6] {
  color: #b91c1c;
}
.policy-recalcs .recalc-info .meta.error[data-v-5046d8d6] {
  color: var(--color-danger, #dc3545);
}
.recalcs-and-suggestions[data-v-5046d8d6] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
  align-items: start;
}
.suggestions-block[data-v-5046d8d6] {
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 12px;
}
.suggestions-block[data-v-5046d8d6] .insurance-suggestions-card {
  box-shadow: none;
  border: none;
}
.dashboard-section p[data-v-5046d8d6]:not(.status):not(.date) {
  /* General paragraphs */
  color: var(--color-text-base, #555);
  font-size: 0.95rem;
  line-height: 1.6;
  word-break: break-word;
}
.loading-placeholder p[data-v-5046d8d6],
.no-results em[data-v-5046d8d6] {
  color: var(--color-text-muted, #777);
  font-style: italic;
  text-align: center;
  padding: 20px 0;
}
.application-list[data-v-5046d8d6] {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.application-card[data-v-5046d8d6] {
  background-color: var(--color-background-soft, #f9faff); /* Lighter card background */
  border: 1px solid var(--color-border-light, #e0e0e0);
  padding: 15px;
  border-radius: 6px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
  width: 100%;
  box-sizing: border-box;
}
.card-header[data-v-5046d8d6] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  gap: 8px;
}
.application-card h4[data-v-5046d8d6] {
  font-size: 1.1rem;
  color: var(--color-heading-dark, #2c3e50);
  margin-top: 0;
  margin-bottom: 0; /* Adjusted as part of flex header */
  flex-grow: 1; /* Allow title to take space */
}
.application-card p[data-v-5046d8d6] {
  font-size: 0.9rem;
  color: var(--color-text-secondary, #555);
  margin-bottom: 5px;
}
.application-card p.status span[data-v-5046d8d6] {
  font-weight: 500;
  color: var(--color-primary-dark, #0056b3);
}
.card-badges[data-v-5046d8d6] {
  display: flex;
  gap: 6px;
  align-items: center;
}
.badge[data-v-5046d8d6] {
  display: inline-flex;
  align-items: center;
  padding: 4px 8px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
.mutation-badge[data-v-5046d8d6] {
  background-color: #e8f0ff;
  color: #1d4ed8;
  border: 1px solid #c7d7ff;
}
.application-card p.date[data-v-5046d8d6] {
  font-size: 0.8rem;
  color: var(--color-text-muted, #777);
}
.action-buttons[data-v-5046d8d6] {
  margin-top: 10px;
}
.open-details-button[data-v-5046d8d6] {
  padding: 3px 8px; /* Smaller padding for subtle button */
  font-size: 0.8rem;
  text-decoration: none; /* Remove underline if button-link-styled adds it */
  border: 1px solid var(--color-border-medium, #ccc);
  border-radius: 4px;
  background-color: var(--color-background-mute, #f0f0f0);
  color: #212529;
}
.open-details-button[data-v-5046d8d6]:hover {
  background-color: var(--color-border-light, #e0e0e0);
  border-color: var(--color-border-dark, #aaa);
}
.application-details[data-v-5046d8d6] {
  margin-top: 15px;
  padding-top: 10px;
  border-top: 1px dashed var(--color-border-light, #eee);
}
.application-details h5[data-v-5046d8d6] {
  font-size: 0.95rem;
  color: var(--color-heading, #333);
  margin-top: 10px;
  margin-bottom: 5px;
}
.application-details pre[data-v-5046d8d6] {
  background-color: var(--color-background-code, #2c3e50); /* Darker background for code */
  color: var(--color-text-code, #f8f8f2); /* Light text for code */
  padding: 10px;
  border-radius: 4px;
  font-size: 0.8rem;
  white-space: pre-wrap; /* Allow wrapping */
  word-break: break-all; /* Break long words/strings */
  max-height: 200px; /* Limit height and make scrollable */
  overflow-y: auto;
  width: 100%;
  box-sizing: border-box;
}
.error-text[data-v-5046d8d6] {
  color: var(--color-danger, #dc3545);
  font-style: italic;
  text-align: center;
  padding: 15px;
  background-color: var(--color-danger-background-light, #f8d7da);
  border: 1px solid var(--color-danger-border, #f5c6cb);
  border-radius: 4px;
}
.button-link-styled[data-v-5046d8d6] {
  background: none;
  border: none;
  color: var(--color-primary, #007bff);
  text-decoration: underline;
  padding: 5px 0;
  margin-top: 0; /* Adjusted for card-header and action-buttons */
  cursor: pointer;
  font-size: 0.9rem;
  display: inline-block;
  text-align: left;
}
.button-link-styled[data-v-5046d8d6]:hover {
  color: var(--color-primary-hover, #0056b3);
}

/* Policy Card Styles */
.policy-list[data-v-5046d8d6] {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.policy-card[data-v-5046d8d6] {
  background-color: var(--color-background-soft, #ffffff);
  border: 1px solid var(--color-border-light, #e0e0e0);
  border-radius: 8px;
  padding: 20px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  transition: box-shadow 0.3s ease;
  width: 100%;
  box-sizing: border-box;
  word-break: break-word;
}
.policy-card[data-v-5046d8d6]:hover {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.policy-layout[data-v-5046d8d6] {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: flex-start;
  gap: 16px;
}
.policy-icon-badge[data-v-5046d8d6] {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: #f0f4f8;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
}
.policy-header[data-v-5046d8d6] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
  gap: 10px;
  min-width: 0;
}
.policy-header h4[data-v-5046d8d6] {
  font-size: 1.1rem;
  color: var(--color-heading, #333);
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
}
.policy-number[data-v-5046d8d6] {
  font-size: 0.9rem;
  color: var(--color-text-muted, #666);
  font-family: monospace;
  word-break: break-word;
}
.policy-details[data-v-5046d8d6] {
  margin-bottom: 15px;
}
.policy-details p[data-v-5046d8d6] {
  margin: 5px 0;
  font-size: 0.9rem;
  color: var(--color-text, #444);
}
.policy-type[data-v-5046d8d6] {
  background-color: var(--color-primary-light, #e3f2fd);
  color: var(--color-primary-dark, #1565c0);
  display: inline-block;
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 0.85rem;
  font-weight: 500;
}
.policy-premium[data-v-5046d8d6] {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--color-success, #28a745);
  word-break: break-word;
}
.policy-dates[data-v-5046d8d6] {
  font-size: 0.85rem;
  color: var(--color-text-muted, #666);
  word-break: break-word;
}
.policy-actions[data-v-5046d8d6] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: stretch;
  min-width: 190px;
}
.policy-actions .mutation-button[data-v-5046d8d6] {
  width: 100%;
  display: grid;
  grid-template-columns: 24px 1fr;
  align-items: center;
  justify-content: center;
  text-align: center;
}

/* Subscription Card Styles */
.subscription-section .dashboard-section h3[data-v-5046d8d6] {
  /* Target h3 within subscription section specifically if needed */
  /* color: #8E44AD; /* Example: Purple for subscription */
}
.subscription-card[data-v-5046d8d6] {
  background-color: #f0f4f8; /* Light silver/blue background */
  border: 1px solid #d1d9e6; /* Softer border */
  border-radius: 8px;
  padding: 20px;
  text-align: center;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
  display: flex;
  flex-direction: column;
  align-items: center; /* Center content within the card */
  gap: 15px;
  width: 100%;
  box-sizing: border-box;
}
.subscription-header[data-v-5046d8d6] {
  display: flex;
  flex-direction: column; /* Stack icon and title */
  align-items: center;
  gap: 10px; /* Space between icon and title */
  margin-bottom: 10px;
}
.shield-icon[data-v-5046d8d6] {
  font-size: 3.5rem; /* Larger icon */
  line-height: 1;
}
.shield-icon.silver[data-v-5046d8d6] {
  color: #adb5bd; /* Silver color */
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
}
.subscription-card h4[data-v-5046d8d6] {
  font-size: 1.3rem; /* Slightly larger title for subscription */
  color: var(--color-heading-dark, #34495e);
  margin: 0;
}
.subscription-benefits[data-v-5046d8d6] {
  list-style: none;
  padding: 0;
  margin: 0 0 15px 0; /* Add some margin below benefits */
  text-align: left; /* Align benefits text to the left */
  width: 100%; /* Ensure benefits take full width for alignment */
  max-width: 280px; /* Max width for benefit list for better readability */
}
.subscription-benefits li[data-v-5046d8d6] {
  font-size: 0.9rem;
  color: var(--color-text-secondary, #495057);
  padding: 6px 0;
  border-bottom: 1px solid #e0e7ef; /* Lighter separator */
  display: flex;
  align-items: center;
}
.subscription-benefits li[data-v-5046d8d6]:last-child {
  border-bottom: none;
}
.subscription-benefits li[data-v-5046d8d6]::before {
  content: '✓'; /* Checkmark icon */
  color: var(--color-success, #28a745); /* Green checkmark */
  margin-right: 10px;
  font-weight: bold;
}
.subscription-actions[data-v-5046d8d6] {
  margin-top: auto; /* Pushes button to the bottom if card has varying height content */
  width: 100%;
  display: flex;
  justify-content: center;
}
.subscription-actions .button-primary[data-v-5046d8d6] {
  background-color: var(--color-primary-dark, #0056b3); /* Darker blue for manage button */
  padding: 10px 25px;
}
.subscription-actions .button-primary[data-v-5046d8d6]:hover {
  background-color: var(--color-primary, #007bff);
}

/* Responsive adjustments */
@media (max-width: 768px) {
.user-dashboard-view h2[data-v-5046d8d6] {
    font-size: 1.6rem;
}
.dashboard-section h3[data-v-5046d8d6] {
    font-size: 1.15rem;
}
.dashboard-sections[data-v-5046d8d6] {
    grid-template-columns: 1fr; /* Stack sections on smaller screens */
}
.application-card h4[data-v-5046d8d6] {
    font-size: 1rem;
}
.application-card p[data-v-5046d8d6] {
    font-size: 0.85rem;
}
.card-header[data-v-5046d8d6] {
    flex-direction: column; /* Stack title and button on small screens */
    align-items: flex-start;
}
.open-details-button[data-v-5046d8d6] {
    margin-top: 5px; /* Add space when stacked */
}
.application-details pre[data-v-5046d8d6] {
    font-size: 0.75rem;
}
.subscription-card h4[data-v-5046d8d6] {
    font-size: 1.2rem;
}
.shield-icon[data-v-5046d8d6] {
    font-size: 3rem;
}
.subscription-benefits[data-v-5046d8d6] {
    max-width: none; /* Allow full width on smaller screens */
}
}

/* Insurance Type Buttons */
.insurance-type-buttons[data-v-5046d8d6] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 15px;
  margin-top: 15px;
  width: 100%;
  box-sizing: border-box;
}
.insurance-btn[data-v-5046d8d6] {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 20px 15px;
  border: 2px solid #e9ecef;
  border-radius: 8px;
  background-color: white;
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
  color: inherit;
  width: 100%;
  box-sizing: border-box;
}
.insurance-btn[data-v-5046d8d6]:hover {
  border-color: var(--color-primary, #007bff);
  background-color: #f8f9fa;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.insurance-btn .icon[data-v-5046d8d6] {
  font-size: 2.5rem;
  margin-bottom: 10px;
  line-height: 1;
}
.insurance-btn .label[data-v-5046d8d6] {
  font-weight: 600;
  font-size: 0.9rem;
  text-align: center;
  color: var(--color-text, #333);
  word-break: break-word;
}
.insurance-btn.auto:hover .icon[data-v-5046d8d6] {
  filter: brightness(1.1);
}
.insurance-btn.home:hover .icon[data-v-5046d8d6] {
  filter: brightness(1.1);
}
.insurance-btn.liability:hover .icon[data-v-5046d8d6] {
  filter: brightness(1.1);
}
.insurance-btn.household:hover .icon[data-v-5046d8d6] {
  filter: brightness(1.1);
}
.insurance-btn.travel:hover .icon[data-v-5046d8d6] {
  filter: brightness(1.1);
}

/* Has Policy - Disabled state for single-instance products with existing policy */
.insurance-btn.has-policy[data-v-5046d8d6] {
  opacity: 0.75;
  cursor: not-allowed;
  background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
  border-color: #f59e0b;
  color: #92400e;
}
.insurance-btn.has-policy[data-v-5046d8d6]:hover {
  transform: none;
  box-shadow: none;
}
.insurance-btn.has-policy .icon[data-v-5046d8d6] {
  opacity: 0.7;
}
.insurance-btn.has-policy .label[data-v-5046d8d6] {
  font-size: 0.7rem;
  font-weight: 600;
}
.documents-modal-overlay[data-v-5046d8d6] {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  z-index: 2000;
}
.documents-modal[data-v-5046d8d6] {
  width: min(640px, 100%);
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.16);
  overflow: hidden;
}
.documents-modal__header[data-v-5046d8d6] {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 20px;
  border-bottom: 1px solid #e5e7eb;
}
.documents-modal__eyebrow[data-v-5046d8d6] {
  margin: 0;
  font-size: 0.85rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #6b7280;
}
.documents-modal__title[data-v-5046d8d6] {
  margin: 4px 0 0 0;
  color: #111827;
  font-size: 1.2rem;
}
.documents-modal__subtitle[data-v-5046d8d6] {
  margin: 4px 0 0 0;
  color: #4b5563;
}
.documents-modal__close[data-v-5046d8d6] {
  background: none;
  border: none;
  color: #0f533a;
  font-weight: 700;
  cursor: pointer;
}
.documents-modal__body[data-v-5046d8d6] {
  padding: 16px 20px 20px;
  max-height: 60vh;
  overflow: auto;
}
.documents-list[data-v-5046d8d6] {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.document-row[data-v-5046d8d6] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid #e5e7eb;
}
.document-row[data-v-5046d8d6]:last-child {
  border-bottom: none;
}
.document-info[data-v-5046d8d6] {
  display: flex;
  align-items: center;
  gap: 10px;
}
.document-title[data-v-5046d8d6] {
  margin: 0;
  font-weight: 700;
  color: #111827;
}
.document-copy[data-v-5046d8d6] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.document-icon[data-v-5046d8d6] {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: #f0f4f8;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
}
.document-meta[data-v-5046d8d6] {
  margin: 0;
  color: #4b5563;
  font-size: 0.95rem;
}
.document-download[data-v-5046d8d6] {
  min-width: 140px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  background-color: #0f533a;
  color: #fff;
  border: none;
  padding: 10px 14px;
  border-radius: 8px;
  font-weight: 700;
  cursor: pointer;
  transition:
    background-color 0.2s ease,
    transform 0.2s ease;
}
.documents-modal__close[data-v-5046d8d6]:hover {
  color: #0b3f2b;
}
.documents-modal__close[data-v-5046d8d6]:focus-visible,
.document-download[data-v-5046d8d6]:focus-visible {
  outline: 2px solid #0f533a;
  outline-offset: 2px;
}
.document-download[data-v-5046d8d6]:hover {
  background-color: #0b3f2b;
  transform: translateY(-1px);
}
.document-download[data-v-5046d8d6]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}
@media (max-width: 640px) {
.documents-modal[data-v-5046d8d6] {
    width: 100%;
}
.document-row[data-v-5046d8d6] {
    align-items: flex-start;
    flex-direction: column;
}
.document-download[data-v-5046d8d6] {
    width: 100%;
}
}
@media (max-width: 768px) {
.user-dashboard-view[data-v-5046d8d6] {
    padding: 10px;
}
.dashboard-section[data-v-5046d8d6] {
    padding: 10px;
}
.policy-layout[data-v-5046d8d6] {
    grid-template-columns: 1fr;
}
.policy-actions[data-v-5046d8d6] {
    align-items: stretch;
}
.insurance-type-buttons[data-v-5046d8d6] {
    grid-template-columns: 1fr;
}
.insurance-btn[data-v-5046d8d6] {
    padding: 15px;
}
.insurance-btn .icon[data-v-5046d8d6] {
    font-size: 2rem;
}
}
@media (max-width: 480px) {
.user-dashboard-view[data-v-5046d8d6] {
    padding: 5px;
}
.dashboard-section[data-v-5046d8d6] {
    padding: 5px;
}
.dashboard-sections[data-v-5046d8d6] {
    gap: 10px;
}
}

/* ServiceVerzekerd redesign overrides */
.user-dashboard-view[data-v-5046d8d6] {
  padding: 0;
  background: transparent;
  border-radius: 0;
}
.user-dashboard-view > h2[data-v-5046d8d6] {
  margin: 0 0 6px;
  text-align: left;
  color: var(--sv-ink-1);
  font-family: var(--sv-font-display);
  font-size: clamp(1.8rem, 4vw, 2.4rem);
  line-height: 1;
}
.user-dashboard-view > p[data-v-5046d8d6] {
  margin-bottom: 20px;
  color: var(--sv-ink-3);
}
.dashboard-sections[data-v-5046d8d6] {
  gap: 14px;
}
.dashboard-section[data-v-5046d8d6] {
  border: 1px solid var(--sv-line-1);
  background: var(--sv-bg-panel);
  box-shadow: var(--sv-shadow-sm);
}
.dashboard-section h3[data-v-5046d8d6] {
  color: var(--sv-ink-1);
  border-bottom-color: var(--sv-line-1);
}
.section-header[data-v-5046d8d6] {
  align-items: flex-start;
}
.mutation-button[data-v-5046d8d6],
.button-primary[data-v-5046d8d6],
.live-toggle.active[data-v-5046d8d6],
.document-download[data-v-5046d8d6] {
  background: var(--sv-brand-green);
  color: #fff;
  border: 1px solid var(--sv-brand-green);
  border-radius: var(--sv-radius-sm);
  box-shadow: none;
}
.mutation-button[data-v-5046d8d6]:hover,
.button-primary[data-v-5046d8d6]:hover,
.live-toggle.active[data-v-5046d8d6]:hover,
.document-download[data-v-5046d8d6]:hover {
  background: var(--sv-brand-green-deep);
}
.mutation-button.ghosty[data-v-5046d8d6],
.live-toggle[data-v-5046d8d6] {
  border: 1px solid var(--sv-line-2);
  background: #fff;
  color: var(--sv-brand-green-deep);
  box-shadow: none;
}
.mutation-button.accent[data-v-5046d8d6] {
  background: var(--sv-brand-green);
}
.policy-card[data-v-5046d8d6],
.application-card[data-v-5046d8d6],
.subscription-card[data-v-5046d8d6],
.suggestions-block[data-v-5046d8d6],
.documents-modal[data-v-5046d8d6],
.document-row[data-v-5046d8d6] {
  border: 1px solid var(--sv-line-1);
  background: #fff;
  box-shadow: var(--sv-shadow-sm);
}
.policy-card[data-v-5046d8d6]:hover {
  box-shadow: var(--sv-shadow-md);
}
.policy-icon-badge[data-v-5046d8d6],
.document-icon[data-v-5046d8d6],
.insurance-btn .icon[data-v-5046d8d6],
.shield-icon[data-v-5046d8d6] {
  display: inline-grid;
  place-items: center;
  border-radius: var(--sv-radius-sm);
  border: 1px solid var(--sv-brand-green-mint);
  background: var(--sv-brand-green-tint);
  color: var(--sv-brand-green-deep);
}
.policy-icon-badge[data-v-5046d8d6] {
  width: 48px;
  height: 48px;
}
.policy-type[data-v-5046d8d6],
.badge[data-v-5046d8d6] {
  border-radius: 999px;
  background: var(--sv-brand-green-tint);
  color: var(--sv-brand-green-deep);
}
.policy-premium[data-v-5046d8d6],
.mutation-feedback[data-v-5046d8d6] {
  color: var(--sv-success);
}
.subscription-card[data-v-5046d8d6] {
  align-items: flex-start;
  text-align: left;
}
.subscription-header[data-v-5046d8d6] {
  flex-direction: row;
  align-items: center;
}
.shield-icon[data-v-5046d8d6] {
  width: 54px;
  height: 54px;
  font-size: 0;
  text-shadow: none;
}
.subscription-benefits[data-v-5046d8d6] {
  max-width: none;
}
.insurance-type-buttons[data-v-5046d8d6] {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
}
.insurance-btn[data-v-5046d8d6] {
  align-items: flex-start;
  gap: 12px;
  min-height: 132px;
  padding: 14px;
  border: 1px solid var(--sv-line-1);
  border-radius: var(--sv-radius-md);
  background: #fff;
  text-align: left;
}
.insurance-btn[data-v-5046d8d6]:hover {
  border-color: var(--sv-brand-green-mint);
  background: var(--sv-bg-sand);
  box-shadow: var(--sv-shadow-sm);
}
.insurance-btn .icon[data-v-5046d8d6] {
  width: 44px;
  height: 44px;
  margin: 0;
  font-size: 0;
}
.insurance-btn .label[data-v-5046d8d6] {
  color: var(--sv-ink-1);
  text-align: left;
}
.insurance-btn.has-policy[data-v-5046d8d6] {
  background: var(--sv-warning-bg);
  border-color: #efd28b;
  color: #7a4a06;
}
.error-text[data-v-5046d8d6] {
  border-color: #f3b8b2;
  background: var(--sv-danger-bg);
  color: var(--sv-danger);
}
.documents-modal[data-v-5046d8d6] {
  border-radius: var(--sv-radius-md);
}
.documents-modal__close[data-v-5046d8d6],
.document-download[data-v-5046d8d6] {
  border-radius: var(--sv-radius-sm);
}

.settings-container[data-v-cb0a89ec] {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.settings-header h2[data-v-cb0a89ec] {
  font-family: var(--sv-font-display);
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 700;
  line-height: 1;
  margin: 0 0 8px 0;
  color: var(--sv-ink-1);
}
.settings-header p[data-v-cb0a89ec] {
  color: var(--sv-ink-3);
  margin: 0;
}
.settings-card[data-v-cb0a89ec] {
  background: #ffffff;
  border-radius: var(--sv-radius-md);
  border: 1px solid var(--sv-line-1);
  box-shadow: var(--sv-shadow-sm);
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.settings-card h3[data-v-cb0a89ec] {
  margin: 0;
  font-size: 1.25rem;
  color: var(--sv-ink-1);
}
.card-subtitle[data-v-cb0a89ec] {
  margin: 0;
  color: #4b6358;
}
.relation-grid[data-v-cb0a89ec] {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}
.relation-section[data-v-cb0a89ec] {
  border: 1px solid var(--sv-line-1);
  border-radius: var(--sv-radius-sm);
  padding: 16px;
  background: rgba(249, 252, 251, 0.9);
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.relation-section h4[data-v-cb0a89ec] {
  margin: 0 0 4px 0;
  font-size: 1.05rem;
  color: #244b3a;
}
.form-group[data-v-cb0a89ec] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.form-group label[data-v-cb0a89ec] {
  font-size: 0.9rem;
  color: var(--sv-ink-2);
  font-weight: 800;
}
.form-group input[data-v-cb0a89ec],
.form-group textarea[data-v-cb0a89ec] {
  border: 1px solid var(--sv-line-2);
  border-radius: var(--sv-radius-sm);
  padding: 10px 12px;
  font-size: 0.95rem;
  color: var(--sv-ink-1);
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}
.form-group input[data-v-cb0a89ec]:focus,
.form-group textarea[data-v-cb0a89ec]:focus {
  outline: none;
  border-color: var(--sv-brand-green);
  box-shadow: 0 0 0 3px rgba(10, 122, 69, 0.14);
}
.form-actions[data-v-cb0a89ec] {
  display: flex;
  justify-content: flex-end;
}
.button-primary[data-v-cb0a89ec] {
  background: var(--sv-brand-green);
  color: #ffffff;
  border: 1px solid var(--sv-brand-green);
  border-radius: var(--sv-radius-sm);
  padding: 10px 20px;
  font-weight: 900;
  cursor: pointer;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}
.button-primary[data-v-cb0a89ec]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  box-shadow: none;
}
.button-primary[data-v-cb0a89ec]:not(:disabled):hover {
  transform: translateY(-1px);
  background: var(--sv-brand-green-deep);
  box-shadow: none;
}
.message[data-v-cb0a89ec] {
  margin: 0 0 12px;
  padding: 8px 12px;
  border-radius: var(--sv-radius-sm);
  font-size: 0.9rem;
}
.message.success[data-v-cb0a89ec] {
  background: var(--sv-brand-green-tint);
  color: var(--sv-success);
}
.message.error[data-v-cb0a89ec] {
  background: var(--sv-danger-bg);
  color: var(--sv-danger);
}
@media (max-width: 640px) {
.settings-card[data-v-cb0a89ec] {
    padding: 16px;
}
.relation-grid[data-v-cb0a89ec] {
    grid-template-columns: 1fr;
}
}
.grid.two-cols[data-v-cb0a89ec] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 16px;
}
.form-group[data-v-cb0a89ec] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.form-actions[data-v-cb0a89ec] {
  margin-top: 12px;
}
.message.success[data-v-cb0a89ec] {
  color: #0f5132;
}
.message.error[data-v-cb0a89ec] {
  color: #842029;
}

.recommended-view[data-v-b21b9fc3] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.recommended-header h2[data-v-b21b9fc3] {
  margin: 0;
  font-size: 1.5rem;
}
.recommended-header .subtitle[data-v-b21b9fc3] {
  margin: 0;
  color: #6b7280;
}
.state.loading[data-v-b21b9fc3],
.state.empty[data-v-b21b9fc3] {
  text-align: center;
  color: #6b7280;
  padding: 20px 0;
}
.spinner[data-v-b21b9fc3] {
  width: 28px;
  height: 28px;
  border: 3px solid #e5e7eb;
  border-top-color: #16a34a;
  border-radius: 50%;
  display: inline-block;
  animation: spin-b21b9fc3 1s linear infinite;
}
@keyframes spin-b21b9fc3 {
to {
    transform: rotate(360deg);
}
}
.tiles-grid[data-v-b21b9fc3] {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 16px;
}
@media (min-width: 768px) {
.tiles-grid[data-v-b21b9fc3] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@media (min-width: 1024px) {
.tiles-grid[data-v-b21b9fc3] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
}
.tile[data-v-b21b9fc3] {
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background: #fff;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.tile.disabled[data-v-b21b9fc3] {
  opacity: 0.55;
  filter: grayscale(0.1);
}
.tile-top[data-v-b21b9fc3] {
  display: flex;
  align-items: center;
  gap: 10px;
}
.icon[data-v-b21b9fc3] {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #f3f4f6;
  border-radius: 8px;
  font-size: 1.2rem;
}
.title[data-v-b21b9fc3] {
  font-weight: 600;
}
.tile-meta .price[data-v-b21b9fc3] {
  color: #374151;
  margin-bottom: 6px;
}
.providers[data-v-b21b9fc3] {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.provider[data-v-b21b9fc3] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  padding: 3px 8px;
  font-size: 0.85rem;
  color: #4b5563;
  background: #fff;
}
.provider.primary[data-v-b21b9fc3] {
  border-color: #86efac;
  background: #f0fdf4;
}
.logo[data-v-b21b9fc3] {
  width: 20px;
  height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #f1f5f9;
  font-weight: 700;
  color: #475569;
}
.tile-actions[data-v-b21b9fc3] {
  margin-top: 4px;
}
.btn[data-v-b21b9fc3] {
  background: #0ea5e9;
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 8px 12px;
  cursor: pointer;
}
.btn[data-v-b21b9fc3]:disabled {
  opacity: 0.6;
  cursor: default;
}
.tile-meta.unavailable[data-v-b21b9fc3] {
  color: #9aa1a7;
  font-style: italic;
}
.small-spinner[data-v-b21b9fc3] {
  width: 16px;
  height: 16px;
  border: 2px solid #e5e7eb;
  border-top-color: #111827;
  border-radius: 50%;
  display: inline-block;
  vertical-align: text-bottom;
  animation: spin-b21b9fc3 1s linear infinite;
  margin-right: 6px;
}

/* ServiceVerzekerd redesign overrides */
.recommended-view[data-v-b21b9fc3] {
  gap: 18px;
}
.recommended-header h2[data-v-b21b9fc3] {
  color: var(--sv-ink-1);
  font-family: var(--sv-font-display);
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  line-height: 1;
}
.recommended-header .subtitle[data-v-b21b9fc3] {
  margin-top: 6px;
  color: var(--sv-ink-3);
}
.state.loading[data-v-b21b9fc3],
.state.empty[data-v-b21b9fc3] {
  padding: 24px;
  border: 1px dashed var(--sv-line-1);
  border-radius: var(--sv-radius-md);
  background: var(--sv-bg-sand);
  color: var(--sv-ink-3);
}
.spinner[data-v-b21b9fc3] {
  border-color: var(--sv-line-1);
  border-top-color: var(--sv-brand-green);
}
.tiles-grid[data-v-b21b9fc3] {
  gap: 12px;
}
.tile[data-v-b21b9fc3] {
  gap: 12px;
  padding: 16px;
  border-color: var(--sv-line-1);
  border-radius: var(--sv-radius-md);
  box-shadow: var(--sv-shadow-sm);
}
.tile.disabled[data-v-b21b9fc3] {
  opacity: 0.58;
  filter: none;
}
.icon[data-v-b21b9fc3] {
  border: 1px solid var(--sv-brand-green-mint);
  border-radius: var(--sv-radius-sm);
  background: var(--sv-brand-green-tint);
  color: var(--sv-brand-green-deep);
  font-size: 0;
}
.title[data-v-b21b9fc3] {
  color: var(--sv-ink-1);
  font-weight: 900;
}
.tile-meta .price[data-v-b21b9fc3] {
  color: var(--sv-ink-2);
}
.provider[data-v-b21b9fc3] {
  border-color: var(--sv-line-1);
  color: var(--sv-ink-2);
}
.provider.primary[data-v-b21b9fc3] {
  border-color: var(--sv-brand-green-mint);
  background: var(--sv-brand-green-tint);
}
.logo[data-v-b21b9fc3] {
  background: var(--sv-bg-muted);
  color: var(--sv-brand-green-deep);
  font-weight: 900;
}
.tile-actions[data-v-b21b9fc3] {
  margin-top: auto;
}
.btn[data-v-b21b9fc3] {
  width: 100%;
  border: 1px solid var(--sv-brand-green);
  border-radius: var(--sv-radius-sm);
  background: var(--sv-brand-green);
  font-weight: 900;
}
.btn[data-v-b21b9fc3]:hover:not(:disabled) {
  background: var(--sv-brand-green-deep);
}
.tile-meta.unavailable[data-v-b21b9fc3] {
  color: var(--sv-ink-4);
}
.small-spinner[data-v-b21b9fc3] {
  border-color: var(--sv-line-1);
  border-top-color: currentColor;
}

.details-header[data-v-8e13f428] {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 18px;
  padding: 18px;
  border: 1px solid var(--sv-line-1);
  border-radius: var(--sv-radius-md);
  background: var(--sv-bg-sand);
}
.details-header h2[data-v-8e13f428] {
  margin: 4px 0;
  color: var(--sv-ink-1);
  font-family: var(--sv-font-display);
  font-size: clamp(1.6rem, 3vw, 2.1rem);
  line-height: 1;
}
.eyebrow[data-v-8e13f428] {
  color: var(--sv-brand-green);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}
.details-header .subtitle[data-v-8e13f428] {
  color: var(--sv-ink-3);
  margin: 0;
}
.back[data-v-8e13f428] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--sv-line-2);
  background: #fff;
  color: var(--sv-brand-green-deep);
  padding: 9px 12px;
  border-radius: var(--sv-radius-sm);
  cursor: pointer;
  font-weight: 900;
}
.back-icon[data-v-8e13f428] {
  transform: rotate(180deg);
}
.state.loading[data-v-8e13f428],
.state.error[data-v-8e13f428] {
  padding: 16px;
  border: 1px solid var(--sv-line-1);
  border-radius: var(--sv-radius-md);
  background: var(--sv-bg-sand);
}
.state.error[data-v-8e13f428] {
  border-color: #f3b8b2;
  background: var(--sv-danger-bg);
  color: var(--sv-danger);
}
.block[data-v-8e13f428] {
  margin: 18px 0;
  padding: 18px;
  border: 1px solid var(--sv-line-1);
  border-radius: var(--sv-radius-md);
  background: #fff;
  box-shadow: var(--sv-shadow-sm);
}
.block h3[data-v-8e13f428],
.subblock h4[data-v-8e13f428] {
  margin: 0 0 12px;
  color: var(--sv-ink-1);
}
.subblock[data-v-8e13f428] {
  margin: 14px 0 0;
  padding-top: 14px;
  border-top: 1px solid var(--sv-line-1);
}
ul.labels[data-v-8e13f428] {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 8px;
}
ul.labels li[data-v-8e13f428] {
  display: grid;
  grid-template-columns: minmax(200px, 340px) 1fr;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid var(--sv-line-1);
  border-radius: var(--sv-radius-sm);
  background: var(--sv-bg-muted);
}
.title[data-v-8e13f428] {
  color: var(--sv-ink-2);
  font-weight: 900;
}
.value[data-v-8e13f428] {
  color: var(--sv-ink-1);
  overflow-wrap: anywhere;
}
.desc[data-v-8e13f428] {
  grid-column: 1 / -1;
  color: var(--sv-ink-3);
}
@media (max-width: 720px) {
.details-header[data-v-8e13f428] {
    flex-direction: column;
}
ul.labels li[data-v-8e13f428] {
    grid-template-columns: 1fr;
}
}

.premiecheck-view[data-v-84abb4fd] {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 20px;
  background: radial-gradient(circle at 20% 20%, rgba(17, 73, 44, 0.05), transparent 40%), #f6f9f7;
  min-height: 100%;
}
.header[data-v-84abb4fd] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
.eyebrow[data-v-84abb4fd] {
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 0.08em;
  color: #2d6a46;
  margin: 0 0 6px;
  font-weight: 700;
}
.lead[data-v-84abb4fd] {
  margin: 6px 0 0;
  color: #3a4a42;
}
.back-button[data-v-84abb4fd] {
  border: 1px solid #d0d6d2;
  background: #fff;
  padding: 10px 14px;
  border-radius: 10px;
  cursor: pointer;
  font-weight: 600;
  color: #1f4e35;
  box-shadow: 0 6px 14px rgba(17, 73, 44, 0.08);
}
.products[data-v-84abb4fd] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 16px;
}
.loading-block[data-v-84abb4fd] {
  padding: 16px;
  border: 1px dashed #d0d6d2;
  border-radius: 10px;
  background: #fdfefc;
  color: #1f4e35;
  display: flex;
  align-items: center;
  gap: 12px;
}
.loader-blob[data-v-84abb4fd] {
  position: relative;
  width: 48px;
  height: 16px;
}
.loader-blob span[data-v-84abb4fd] {
  position: absolute;
  width: 10px;
  height: 10px;
  background: #1f7a47;
  border-radius: 50%;
  animation: blob-84abb4fd 1s infinite ease-in-out;
}
.loader-blob span[data-v-84abb4fd]:nth-child(1) {
  left: 0;
  animation-delay: 0s;
}
.loader-blob span[data-v-84abb4fd]:nth-child(2) {
  left: 12px;
  animation-delay: 0.1s;
}
.loader-blob span[data-v-84abb4fd]:nth-child(3) {
  left: 24px;
  animation-delay: 0.2s;
}
.loader-blob span[data-v-84abb4fd]:nth-child(4) {
  left: 36px;
  animation-delay: 0.3s;
}
@keyframes blob-84abb4fd {
0%,
  100% {
    transform: translateY(0);
    opacity: 0.9;
}
50% {
    transform: translateY(-6px);
    opacity: 0.5;
}
}
.product-card[data-v-84abb4fd] {
  border: 1px solid #dfe6e1;
  border-radius: 14px;
  padding: 14px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(17, 73, 44, 0.08);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.product-header[data-v-84abb4fd] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
}
.sub[data-v-84abb4fd] {
  margin: 4px 0 0;
  color: #5c6a63;
}
.pill[data-v-84abb4fd] {
  background: #e4f3e9;
  color: #14512f;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
}
.tariffs[data-v-84abb4fd] {
  margin-top: 8px;
  border-top: 1px solid #eef0ef;
  padding-top: 8px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.tariff-row[data-v-84abb4fd] {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  border: 1px solid #e8eeea;
  border-radius: 10px;
  background: #fdfefc;
}
.tariff-row.selected[data-v-84abb4fd] {
  border-color: #3a8a5a;
  box-shadow: 0 8px 18px rgba(17, 73, 44, 0.08);
}
.tariff-name[data-v-84abb4fd] {
  margin: 0;
  font-weight: 700;
  color: #143224;
}
.tariff-meta[data-v-84abb4fd] {
  margin: 2px 0 0;
  color: #52665c;
  font-size: 14px;
}
.tariff-headline[data-v-84abb4fd] {
  display: flex;
  align-items: center;
  gap: 10px;
}
.logo-circle[data-v-84abb4fd] {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: linear-gradient(135deg, #1f7a47, #0f4c2f);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 16px;
  box-shadow: 0 6px 12px rgba(17, 73, 44, 0.12);
}
.headline-copy[data-v-84abb4fd] {
  display: flex;
  flex-direction: column;
}
.tariff-docs[data-v-84abb4fd],
.tariff-clauses[data-v-84abb4fd] {
  margin-top: 6px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.doc-button[data-v-84abb4fd] {
  border: 1px solid #d0d6d2;
  background: #fff;
  padding: 6px 10px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 13px;
  color: #1f4e35;
}
.clause-label[data-v-84abb4fd] {
  font-size: 13px;
  color: #4f5f58;
}
.clause-chip[data-v-84abb4fd] {
  background: #eef5f0;
  color: #1f4e35;
  padding: 4px 8px;
  border-radius: 8px;
  font-size: 12px;
  border: 1px solid #d2e0d8;
}
.tariff-price[data-v-84abb4fd] {
  text-align: right;
}
.price[data-v-84abb4fd] {
  font-weight: 800;
  color: #11492c;
  font-size: 18px;
}
.tax[data-v-84abb4fd] {
  color: #5c6a63;
  font-size: 13px;
}
.tariff-action[data-v-84abb4fd] {
  text-align: right;
}
.select-button[data-v-84abb4fd] {
  background: linear-gradient(135deg, #1f7a47, #14643a);
  border: none;
  color: #fff;
  padding: 10px 14px;
  border-radius: 10px;
  cursor: pointer;
  font-weight: 700;
  box-shadow: 0 10px 18px rgba(20, 100, 58, 0.18);
}
.select-button[data-v-84abb4fd]:hover {
  filter: brightness(1.05);
}
.muted[data-v-84abb4fd] {
  color: #8a9a92;
  font-weight: 400;
}
.empty[data-v-84abb4fd] {
  padding: 14px;
  border: 1px dashed #d0d6d2;
  border-radius: 10px;
  background: #fdfefc;
  color: #4f5f58;
}
@media (max-width: 900px) {
.tariff-row[data-v-84abb4fd] {
    grid-template-columns: 1fr;
    align-items: flex-start;
}
.tariff-price[data-v-84abb4fd],
  .tariff-action[data-v-84abb4fd] {
    text-align: left;
}
}

/* ServiceVerzekerd redesign overrides */
.premiecheck-view[data-v-84abb4fd] {
  padding: 0;
  background: transparent;
}
.header[data-v-84abb4fd],
.policy-summary[data-v-84abb4fd],
.product-card[data-v-84abb4fd],
.tariff-row[data-v-84abb4fd],
.loading-block[data-v-84abb4fd],
.empty[data-v-84abb4fd] {
  border: 1px solid var(--sv-line-1);
  border-radius: var(--sv-radius-md);
  background: #fff;
  box-shadow: var(--sv-shadow-sm);
}
.header[data-v-84abb4fd],
.policy-summary[data-v-84abb4fd],
.loading-block[data-v-84abb4fd],
.empty[data-v-84abb4fd] {
  padding: 16px;
}
.eyebrow[data-v-84abb4fd] {
  color: var(--sv-brand-green);
  letter-spacing: 0;
}
.header h2[data-v-84abb4fd] {
  margin: 0;
  color: var(--sv-ink-1);
  font-family: var(--sv-font-display);
  font-size: clamp(1.7rem, 3vw, 2.3rem);
  line-height: 1;
}
.lead[data-v-84abb4fd],
.sub[data-v-84abb4fd],
.tariff-meta[data-v-84abb4fd],
.muted[data-v-84abb4fd],
.empty[data-v-84abb4fd] {
  color: var(--sv-ink-3);
}
.back-button[data-v-84abb4fd],
.doc-button[data-v-84abb4fd] {
  border-color: var(--sv-line-2);
  border-radius: var(--sv-radius-sm);
  background: #fff;
  color: var(--sv-brand-green-deep);
  box-shadow: none;
}
.policy-chip[data-v-84abb4fd],
.pill[data-v-84abb4fd],
.clause-chip[data-v-84abb4fd] {
  background: var(--sv-brand-green-tint);
  color: var(--sv-brand-green-deep);
}
.product-card[data-v-84abb4fd] {
  border-radius: var(--sv-radius-md);
}
.tariff-row[data-v-84abb4fd] {
  border-radius: var(--sv-radius-sm);
  background: var(--sv-bg-muted);
}
.tariff-row.selected[data-v-84abb4fd] {
  border-color: var(--sv-brand-green);
  box-shadow: 0 0 0 3px rgba(10, 122, 69, 0.12);
}
.logo-circle[data-v-84abb4fd],
.select-button[data-v-84abb4fd] {
  border: 1px solid var(--sv-brand-green);
  border-radius: var(--sv-radius-sm);
  background: var(--sv-brand-green);
  color: #fff;
  box-shadow: none;
}
.select-button[data-v-84abb4fd]:hover {
  background: var(--sv-brand-green-deep);
  filter: none;
}
.loader-blob span[data-v-84abb4fd] {
  background: var(--sv-brand-green);
}

[data-v-c8b16536]:root {
  /* fallback values for non-iOS browsers */
  --safe-bottom: env(safe-area-inset-bottom, 0px);
}
.bottom-nav[data-v-c8b16536] {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 214748; /* ensure above all app UI */
  background: var(--sv-brand-green-deep);
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  height: calc(64px + var(--safe-bottom));
  padding-bottom: var(--safe-bottom);
  box-shadow: 0 -8px 26px rgba(15, 61, 46, 0.25);
}
.bottom-nav-list[data-v-c8b16536] {
  list-style: none;
  margin: 0;
  padding: 6px 12px 10px;
  height: 64px;
  display: flex;
  gap: 4px;
  align-items: stretch;
}
.bottom-nav-item[data-v-c8b16536] {
  flex: 1 1 0;
  min-width: 0;
}
.bottom-nav-button[data-v-c8b16536] {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  border: none;
  background: transparent;
  color: rgba(255, 255, 255, 0.78);
  font-size: 12px;
  border-radius: 12px;
  transition:
    color 0.15s ease,
    background 0.15s ease;
}
.bottom-nav-button .icon[data-v-c8b16536] {
  display: grid;
  place-items: center;
  height: 22px;
  font-size: 20px;
  line-height: 1;
}
.bottom-nav-button .label[data-v-c8b16536] {
  font-weight: 700;
  font-size: 11px;
}
.bottom-nav-button.active[data-v-c8b16536] {
  background: rgba(255, 255, 255, 0.15);
  color: #ffffff;
}
.bottom-nav-spacer[data-v-c8b16536] {
  height: calc(64px + var(--safe-bottom));
}
@media (min-width: 769px) {
.bottom-nav[data-v-c8b16536],
  .bottom-nav-spacer[data-v-c8b16536] {
    display: none;
}
}

.claim-wizard[data-v-1a67f4e1] {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.08);
}
.wizard-header h3[data-v-1a67f4e1] {
  margin: 0 0 4px;
}
.wizard-subtitle[data-v-1a67f4e1] {
  color: #6b7280;
  margin: 0 0 12px;
}
.wizard-steps[data-v-1a67f4e1] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 8px;
  margin-bottom: 16px;
}
.wizard-step[data-v-1a67f4e1] {
  border: 1px solid #e5e7eb;
  background: #f9fafb;
  border-radius: 10px;
  padding: 8px;
  text-align: left;
  display: flex;
  gap: 8px;
  align-items: center;
  cursor: pointer;
}
.wizard-step .step-check[data-v-1a67f4e1] {
  margin-left: auto;
  color: #15803d;
  font-weight: 700;
}
.wizard-step.active[data-v-1a67f4e1] {
  border-color: #2563eb;
  background: #eff6ff;
}
.wizard-step.done[data-v-1a67f4e1] {
  border-color: #16a34a;
}
.step-index[data-v-1a67f4e1] {
  font-weight: 700;
  color: #111827;
}
.step-label[data-v-1a67f4e1] {
  color: #374151;
  font-size: 14px;
}
.wizard-body[data-v-1a67f4e1] {
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 16px;
  background: #fdfefe;
}
.wizard-fieldset[data-v-1a67f4e1] {
  border: 0;
  padding: 0;
  margin: 0;
  min-inline-size: 0;
}
.wizard-actions[data-v-1a67f4e1] {
  margin-top: 16px;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.wizard-actions .primary[data-v-1a67f4e1] {
  background: #2563eb;
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 10px 16px;
  cursor: pointer;
}
.wizard-actions .secondary[data-v-1a67f4e1] {
  background: #fff;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  padding: 10px 16px;
  cursor: pointer;
}
.wizard-body h4[data-v-1a67f4e1],
.wizard-body h5[data-v-1a67f4e1] {
  margin: 0 0 8px;
}
.grid[data-v-1a67f4e1] {
  display: grid;
  gap: 8px;
}
.grid-2[data-v-1a67f4e1] {
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}
.field[data-v-1a67f4e1] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 10px;
}
.field input[data-v-1a67f4e1],
.field select[data-v-1a67f4e1],
.field textarea[data-v-1a67f4e1] {
  border: 1px solid #d1d5db;
  border-radius: 8px;
  padding: 10px;
}
.split[data-v-1a67f4e1] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 10px;
  margin-bottom: 10px;
}
.stack[data-v-1a67f4e1] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.radio-tile[data-v-1a67f4e1] {
  border: 1px solid #e5e7eb;
  padding: 10px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}
.radio-row[data-v-1a67f4e1] {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin: 8px 0;
}
.required[data-v-1a67f4e1] {
  color: #b91c1c;
}
.card[data-v-1a67f4e1] {
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 12px;
  background: #fff;
}
.checkbox[data-v-1a67f4e1] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 8px 0;
}
.helper[data-v-1a67f4e1] {
  color: #6b7280;
  margin-bottom: 6px;
}
.card-actions[data-v-1a67f4e1] {
  display: flex;
  justify-content: flex-end;
}
.link[data-v-1a67f4e1] {
  background: none;
  border: none;
  color: #2563eb;
  cursor: pointer;
}
.add-damage-btn[data-v-1a67f4e1] {
  margin-top: 10px;
  align-self: flex-start;
}
.status-message[data-v-1a67f4e1] {
  color: #374151;
  margin-top: 8px;
}
.attachment-list[data-v-1a67f4e1] {
  list-style: none;
  padding: 0;
  margin: 0;
}
.attachment-list li[data-v-1a67f4e1] {
  padding: 4px 0;
  border-bottom: 1px solid #f3f4f6;
}
.attachment-list li[data-v-1a67f4e1]:last-child {
  border-bottom: none;
}
.error[data-v-1a67f4e1] {
  color: #b91c1c;
}
.status-row[data-v-1a67f4e1] {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}
.pill[data-v-1a67f4e1] {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 2px 10px;
  font-size: 13px;
  font-weight: 600;
}
.pill-draft[data-v-1a67f4e1] {
  background: #fff7ed;
  color: #c2410c;
}
.pill-progress[data-v-1a67f4e1] {
  background: #eff6ff;
  color: #1d4ed8;
}
.pill-success[data-v-1a67f4e1] {
  background: #ecfdf3;
  color: #15803d;
}
.pill-closed[data-v-1a67f4e1] {
  background: #e5e7eb;
  color: #111827;
}
@media (max-width: 640px) {
.wizard-steps[data-v-1a67f4e1] {
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
}
}
.validation-error[data-v-1a67f4e1] {
  color: #b91c1c;
  background: #fef2f2;
  border: 1px solid #fecaca;
  padding: 10px 14px;
  border-radius: 6px;
  margin-top: 12px;
  font-size: 14px;
}
.success-overlay[data-v-1a67f4e1] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}
.success-card[data-v-1a67f4e1] {
  background: #fff;
  border-radius: 12px;
  padding: 32px 40px;
  text-align: center;
  max-width: 400px;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
}
.success-icon[data-v-1a67f4e1] {
  width: 60px;
  height: 60px;
  background: #ecfdf3;
  color: #15803d;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  font-weight: bold;
  margin: 0 auto 16px;
}
.success-card h2[data-v-1a67f4e1] {
  margin: 0 0 8px;
  font-size: 20px;
  color: #111827;
}
.success-card p[data-v-1a67f4e1] {
  margin: 0 0 20px;
  color: #6b7280;
}
@media (max-width: 768px) {
.claim-wizard[data-v-1a67f4e1] {
    padding: 10px;
}
.success-card[data-v-1a67f4e1] {
    padding: 20px 15px;
}
.wizard-body[data-v-1a67f4e1] {
    padding: 10px;
}
}
@media (max-width: 480px) {
.claim-wizard[data-v-1a67f4e1] {
    padding: 5px;
    border-radius: 8px;
}
.success-card[data-v-1a67f4e1] {
    padding: 15px 10px;
}
.wizard-body[data-v-1a67f4e1] {
    padding: 8px;
}
}

/* ServiceVerzekerd redesign overrides */
.claim-wizard[data-v-1a67f4e1],
.card[data-v-1a67f4e1],
.wizard-body[data-v-1a67f4e1],
.modal[data-v-1a67f4e1],
.success-card[data-v-1a67f4e1] {
  border-color: var(--sv-line-1);
  border-radius: var(--sv-radius-md);
  background: #fff;
  box-shadow: var(--sv-shadow-sm);
}
.wizard-header h3[data-v-1a67f4e1],
section h4[data-v-1a67f4e1] {
  color: var(--sv-ink-1);
}
.wizard-subtitle[data-v-1a67f4e1],
.helper[data-v-1a67f4e1],
.muted[data-v-1a67f4e1] {
  color: var(--sv-ink-3);
}
.wizard-step[data-v-1a67f4e1],
.radio-tile[data-v-1a67f4e1],
.upload-box[data-v-1a67f4e1],
.attachment-row[data-v-1a67f4e1] {
  border-color: var(--sv-line-1);
  border-radius: var(--sv-radius-sm);
  background: var(--sv-bg-muted);
}
.wizard-step.active[data-v-1a67f4e1] {
  border-color: var(--sv-brand-green);
  background: var(--sv-brand-green-tint);
}
.wizard-step.done[data-v-1a67f4e1] {
  border-color: var(--sv-brand-green-mint);
}
.step-check[data-v-1a67f4e1],
.success-icon[data-v-1a67f4e1] {
  color: var(--sv-success);
}
.actions button.primary[data-v-1a67f4e1],
.primary[data-v-1a67f4e1],
.success-card button[data-v-1a67f4e1] {
  border: 1px solid var(--sv-brand-green);
  border-radius: var(--sv-radius-sm);
  background: var(--sv-brand-green);
  color: #fff;
  font-weight: 900;
}
.actions button.primary[data-v-1a67f4e1]:hover,
.primary[data-v-1a67f4e1]:hover,
.success-card button[data-v-1a67f4e1]:hover {
  background: var(--sv-brand-green-deep);
}
.secondary[data-v-1a67f4e1],
.link[data-v-1a67f4e1] {
  color: var(--sv-brand-green);
}
.field input[data-v-1a67f4e1],
.field select[data-v-1a67f4e1],
.field textarea[data-v-1a67f4e1] {
  border-color: var(--sv-line-2);
  border-radius: var(--sv-radius-sm);
}
.field input[data-v-1a67f4e1]:focus,
.field select[data-v-1a67f4e1]:focus,
.field textarea[data-v-1a67f4e1]:focus {
  border-color: var(--sv-brand-green);
  box-shadow: 0 0 0 3px rgba(10, 122, 69, 0.14);
  outline: none;
}
.pill[data-v-1a67f4e1] {
  background: var(--sv-brand-green-tint);
  color: var(--sv-brand-green-deep);
}
.validation-error[data-v-1a67f4e1],
.error[data-v-1a67f4e1] {
  border-color: #f3b8b2;
  background: var(--sv-danger-bg);
  color: var(--sv-danger);
}

.claims-view[data-v-3b406fbc] {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.claims-header[data-v-3b406fbc] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 18px;
  border: 1px solid var(--sv-line-1);
  border-radius: var(--sv-radius-md);
  background: var(--sv-bg-sand);
}
.claims-header h2[data-v-3b406fbc] {
  margin: 0;
  color: var(--sv-ink-1);
  font-family: var(--sv-font-display);
  font-size: clamp(1.6rem, 3vw, 2.1rem);
  line-height: 1;
}
.claims-list[data-v-3b406fbc] {
  border: 1px solid var(--sv-line-1);
  border-radius: var(--sv-radius-md);
  padding: 16px;
  background: #fff;
  box-shadow: var(--sv-shadow-sm);
}
.card[data-v-3b406fbc] {
  border: 1px solid var(--sv-line-1);
  border-radius: var(--sv-radius-md);
  padding: 16px;
  background: #fff;
  box-shadow: var(--sv-shadow-sm);
}
.claim-items[data-v-3b406fbc] {
  list-style: none;
  padding: 0;
  margin: 0;
}
.claim-row[data-v-3b406fbc] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid var(--sv-line-1);
  padding: 12px 0;
  gap: 12px;
}
.claim-row[data-v-3b406fbc]:last-child {
  border-bottom: none;
}
.claim-title[data-v-3b406fbc] {
  color: var(--sv-ink-1);
  font-weight: 900;
}
.claim-meta[data-v-3b406fbc] {
  color: var(--sv-ink-3);
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  font-size: 14px;
}
.pill[data-v-3b406fbc] {
  background: var(--sv-brand-green-tint);
  color: var(--sv-brand-green-deep);
  padding: 2px 8px;
  border-radius: 999px;
  font-weight: 800;
}
.pill-draft[data-v-3b406fbc] {
  background: #fff7ed;
  color: #c2410c;
}
.pill-progress[data-v-3b406fbc] {
  background: #eff6ff;
  color: #1d4ed8;
}
.pill-success[data-v-3b406fbc] {
  background: #ecfdf3;
  color: #15803d;
}
.pill-closed[data-v-3b406fbc] {
  background: #e5e7eb;
  color: #111827;
}
.id-label[data-v-3b406fbc] {
  font-weight: 600;
}
.muted[data-v-3b406fbc] {
  color: var(--sv-ink-3);
}
.primary[data-v-3b406fbc] {
  background: var(--sv-brand-green);
  color: #fff;
  border: 1px solid var(--sv-brand-green);
  border-radius: var(--sv-radius-sm);
  padding: 10px 14px;
  cursor: pointer;
  font-weight: 900;
}
.primary[data-v-3b406fbc]:hover {
  background: var(--sv-brand-green-deep);
}
.link[data-v-3b406fbc] {
  background: none;
  border: none;
  color: var(--sv-brand-green);
  cursor: pointer;
  font-weight: 900;
}
.claim-wizard-wrapper[data-v-3b406fbc] {
  border: 1px solid var(--sv-line-1);
}
@media (max-width: 640px) {
.claims-header[data-v-3b406fbc],
  .claim-row[data-v-3b406fbc] {
    align-items: flex-start;
    flex-direction: column;
}
.primary[data-v-3b406fbc] {
    width: 100%;
}
}

.portal-shell[data-v-6fbf5319] {
  min-height: 100dvh;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: stretch;
  background:
    radial-gradient(circle at 20% 20%, rgba(14, 93, 63, 0.18), transparent 55%),
    radial-gradient(circle at 80% 0%, rgba(48, 167, 112, 0.12), transparent 52%), #f2f8f4;
  color: #11362a;
  box-sizing: border-box;
  overflow-x: hidden;
}
.portal-card[data-v-6fbf5319] {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 640px;
  display: flex;
  background: rgba(255, 255, 255, 0.92);
  border-radius: 0;
  overflow: hidden;
  border: none;
  box-shadow: none;
  backdrop-filter: blur(18px);
  box-sizing: border-box;
  overflow-x: hidden;
}
.portal-sidebar[data-v-6fbf5319] {
  width: 300px;
  background: linear-gradient(180deg, rgba(8, 54, 38, 0.96), rgba(15, 61, 46, 0.94));
  color: #e6fff2;
  padding: 40px 32px;
  display: flex;
  flex-direction: column;
  gap: 32px;
  position: relative;
}
.portal-sidebar[data-v-6fbf5319]::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top, rgba(49, 162, 112, 0.32), transparent 65%);
  pointer-events: none;
}
.sidebar-brand[data-v-6fbf5319] {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 18px;
}
.sidebar-logo[data-v-6fbf5319] {
  width: 56px;
  min-width: 56px;
  height: 56px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  font-weight: 700;
  font-size: 1.25rem;
  background: linear-gradient(140deg, #2ace7b, #0f8c54);
  color: #fff;
  box-shadow: 0 10px 25px rgba(42, 206, 123, 0.45);
}
.sidebar-subtitle[data-v-6fbf5319] {
  display: block;
  text-transform: uppercase;
  font-size: 0.65rem;
  letter-spacing: 0.32em;
  color: rgba(230, 255, 242, 0.7);
  margin-bottom: 6px;
}
.sidebar-brand h2[data-v-6fbf5319] {
  margin: 0;
  font-size: 1.55rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sidebar-divider[data-v-6fbf5319] {
  height: 1px;
  background: rgba(230, 255, 242, 0.25);
  margin-top: -8px;
  margin-bottom: -4px;
  position: relative;
  z-index: 1;
}
.sidebar-profile[data-v-6fbf5319] {
  position: relative;
  z-index: 1;
  padding: 20px;
  border-radius: 18px;
  border: 1px solid rgba(230, 255, 242, 0.25);
  background: rgba(255, 255, 255, 0.05);
  display: grid;
  gap: 6px;
  overflow: hidden; /* Prevent text overflow */
}
.profile-label[data-v-6fbf5319] {
  margin: 0;
  text-transform: uppercase;
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  color: rgba(230, 255, 242, 0.7);
}
.profile-name[data-v-6fbf5319] {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 600;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.profile-email[data-v-6fbf5319] {
  margin: 0 0 6px;
  font-size: 0.85rem;
  color: rgba(230, 255, 242, 0.74);
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.logout-chip[data-v-6fbf5319] {
  border: none;
  background: rgba(231, 76, 60, 0.22);
  color: #ffe4de;
  padding: 7px 16px;
  border-radius: 999px;
  font-size: 0.82rem;
  cursor: pointer;
  transition:
    background 0.2s ease,
    transform 0.2s ease;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
}
.logout-chip[data-v-6fbf5319]:hover {
  background: rgba(231, 76, 60, 0.32);
  transform: translateY(-1px);
}
.chip-icon[data-v-6fbf5319] {
  display: inline-grid;
  place-items: center;
  font-size: 0.95rem;
}
.sidebar-nav[data-v-6fbf5319] {
  position: relative;
  z-index: 1;
}
.nav-title[data-v-6fbf5319] {
  font-size: 0.72rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  margin-bottom: 14px;
  color: rgba(230, 255, 242, 0.6);
}
.sidebar-nav ul[data-v-6fbf5319] {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
}
.sidebar-link[data-v-6fbf5319] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 14px;
  cursor: pointer;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid transparent;
  transition:
    background 0.2s ease,
    border-color 0.2s ease,
    transform 0.2s ease;
  color: rgba(230, 255, 242, 0.86);
}
.sidebar-link[data-v-6fbf5319]:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(230, 255, 242, 0.25);
  transform: translateX(4px);
}
.sidebar-link.active[data-v-6fbf5319] {
  background: rgba(42, 206, 123, 0.2);
  border-color: rgba(42, 206, 123, 0.45);
  color: #ffffff;
  box-shadow: 0 18px 30px rgba(42, 206, 123, 0.28);
}
.icon[data-v-6fbf5319] {
  font-size: 1.2rem;
}
.link-label[data-v-6fbf5319] {
  display: block;
  font-weight: 600;
  font-size: 0.95rem;
}
.link-helper[data-v-6fbf5319] {
  font-size: 0.72rem;
  color: rgba(230, 255, 242, 0.65);
}
.sidebar-cta[data-v-6fbf5319] {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  margin-top: 1rem;
  padding: 0.85rem 1rem;
  background: linear-gradient(135deg, #2ace7b 0%, #1fa563 100%);
  border: none;
  border-radius: 10px;
  color: #ffffff;
  font-size: 0.95rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 4px 12px rgba(42, 206, 123, 0.3);
}
.sidebar-cta[data-v-6fbf5319]:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(42, 206, 123, 0.4);
}
.sidebar-cta .icon[data-v-6fbf5319] {
  font-size: 1.1rem;
}
.sidebar-support[data-v-6fbf5319] {
  position: relative;
  z-index: 1;
  margin-top: auto;
  background: rgba(255, 255, 255, 0.06);
  border-radius: 16px;
  padding: 18px;
  font-size: 0.85rem;
  color: rgba(230, 255, 242, 0.82);
  border: 1px solid rgba(230, 255, 242, 0.18);
}
.sidebar-support h3[data-v-6fbf5319] {
  margin: 0 0 6px;
  font-size: 1rem;
  color: #ffffff;
}
.sidebar-support a[data-v-6fbf5319] {
  color: #b3ffe0;
  text-decoration: none;
}
.mobile-app-bar[data-v-6fbf5319] {
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(15, 61, 46, 0.08);
  box-shadow: 0 10px 26px rgba(15, 61, 46, 0.12);
}
.app-brand[data-v-6fbf5319] {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0; /* Allow flex item to shrink below content size */
  overflow: hidden;
}
.app-brand > div[data-v-6fbf5319] {
  min-width: 0;
  overflow: hidden;
}
.app-brand strong[data-v-6fbf5319] {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.brand-subtitle[data-v-6fbf5319] {
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.7rem;
  color: #3d5c4f;
}
.app-logout[data-v-6fbf5319] {
  border: none;
  background: linear-gradient(130deg, #2ace7b, #0f8c54);
  color: #fff;
  padding: 10px 14px;
  border-radius: 12px;
  font-weight: 700;
  cursor: pointer;
}
.portal-main[data-v-6fbf5319] {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 28px;
  padding: 20px;
  background: linear-gradient(130deg, rgba(207, 241, 225, 0.45), rgba(255, 255, 255, 0.9));
  width: 100%;
  box-sizing: border-box;
  overflow-x: hidden;
  max-width: 100%;
}
.portal-header[data-v-6fbf5319] {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 24px;
  padding: 20px;
  border-radius: 16px;
  background: linear-gradient(140deg, rgba(15, 61, 46, 0.08), rgba(61, 163, 114, 0.14));
  overflow: hidden;
  width: 100%;
  box-sizing: border-box;
  min-width: 0;
}
.portal-header[data-v-6fbf5319]::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top right, rgba(42, 206, 123, 0.15), transparent 65%);
  pointer-events: none;
}
.portal-header > div[data-v-6fbf5319] {
  position: relative;
  z-index: 1;
}
.portal-badge[data-v-6fbf5319] {
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 0.72rem;
  color: rgba(15, 61, 46, 0.7);
}
.portal-header h1[data-v-6fbf5319] {
  margin: 10px 0 12px;
  font-size: 2.2rem;
  color: #0f3d2e;
}
.portal-subtitle[data-v-6fbf5319] {
  margin: 0;
  max-width: 420px;
  color: #3d5c4f;
  line-height: 1.6;
}
.mobile-only[data-v-6fbf5319] {
  display: none;
}
.desktop-only[data-v-6fbf5319] {
  display: block;
}
.portal-header-actions[data-v-6fbf5319] {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  flex-wrap: wrap;
}
.primary-action[data-v-6fbf5319],
.secondary-action[data-v-6fbf5319] {
  border-radius: 14px;
  padding: 12px 20px;
  font-weight: 600;
  font-size: 0.95rem;
  cursor: pointer;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    background 0.2s ease;
  border: none;
}
.primary-action[data-v-6fbf5319] {
  background: linear-gradient(130deg, #2ace7b, #0f8c54);
  color: #ffffff;
  box-shadow: 0 18px 32px rgba(48, 167, 112, 0.35);
}
.primary-action[data-v-6fbf5319]:hover {
  transform: translateY(-1px);
  box-shadow: 0 22px 36px rgba(48, 167, 112, 0.4);
}
.secondary-action[data-v-6fbf5319] {
  background: rgba(15, 61, 46, 0.08);
  color: #0f3d2e;
  border: 1px solid rgba(15, 61, 46, 0.18);
}
.secondary-action[data-v-6fbf5319]:hover {
  background: rgba(15, 61, 46, 0.14);
}
.portal-content[data-v-6fbf5319] {
  background: rgba(255, 255, 255, 0.92);
  border-radius: 16px;
  padding: 15px;
  box-shadow: 0 24px 52px rgba(15, 61, 46, 0.16);
  border: 1px solid rgba(15, 61, 46, 0.08);
  min-height: 0;
  width: 100%;
  box-sizing: border-box;
  overflow-x: hidden;
  max-width: 100%;
  min-width: 0;
}

/* Inbox panel styling */
.inbox-panel[data-v-6fbf5319] {
  background: #fff;
  border: 1px solid rgba(15, 61, 46, 0.08);
  border-radius: 18px;
  padding: 20px;
  width: 100%;
  box-sizing: border-box;
}
.inbox-header[data-v-6fbf5319] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}
.inbox-badge[data-v-6fbf5319] {
  margin: 0;
  text-transform: uppercase;
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  color: #0f3d2e;
  opacity: 0.6;
}
.inbox-subtitle[data-v-6fbf5319] {
  margin: 4px 0 0;
  color: #3d5c4f;
}
.inbox-refresh[data-v-6fbf5319] {
  border: none;
  background: linear-gradient(130deg, #2ace7b, #0f8c54);
  color: #fff;
  padding: 10px 14px;
  border-radius: 12px;
  font-weight: 600;
  cursor: pointer;
}
.inbox-list[data-v-6fbf5319] {
  list-style: none;
  padding: 0;
  margin: 8px 0 0;
  display: grid;
  gap: 12px;
}
.inbox-item[data-v-6fbf5319] {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid rgba(15, 61, 46, 0.08);
  border-radius: 14px;
  padding: 12px 14px;
  background: #fafdfc;
}
.inbox-item-main[data-v-6fbf5319] {
  display: grid;
  gap: 6px;
}
.inbox-meta[data-v-6fbf5319] {
  display: flex;
  gap: 8px;
}
.inbox-chip[data-v-6fbf5319] {
  display: inline-block;
  background: rgba(15, 61, 46, 0.08);
  color: #0f3d2e;
  border-radius: 999px;
  padding: 3px 10px;
  font-size: 0.78rem;
}
.inbox-chip.alt[data-v-6fbf5319] {
  background: rgba(42, 206, 123, 0.18);
}
.inbox-subject[data-v-6fbf5319] {
  margin: 0;
  font-size: 1rem;
  color: #0f3d2e;
}
.inbox-notes[data-v-6fbf5319] {
  margin: 0;
  color: #3d5c4f;
  font-size: 0.9rem;
  word-break: break-word;
}
.inbox-notes.rich[data-v-6fbf5319] {
  white-space: normal;
  line-height: 1.5;
}
.doc-link[data-v-6fbf5319] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  color: #0f3d2e;
  background: rgba(15, 61, 46, 0.08);
  padding: 8px 12px;
  border-radius: 12px;
  align-self: start;
}
.inbox-state[data-v-6fbf5319] {
  display: grid;
  place-items: center;
  padding: 32px;
  color: #3d5c4f;
}
.inbox-empty[data-v-6fbf5319] {
  display: grid;
  place-items: center;
  gap: 8px;
  padding: 28px;
  color: #3d5c4f;
  border: 1px dashed rgba(15, 61, 46, 0.18);
  border-radius: 12px;
}
@media (max-width: 720px) {
.inbox-item[data-v-6fbf5319] {
    flex-direction: column;
    align-items: flex-start;
}
.inbox-meta[data-v-6fbf5319] {
    flex-wrap: wrap;
    row-gap: 6px;
}
.inbox-actions[data-v-6fbf5319] {
    width: 100%;
}
.doc-link[data-v-6fbf5319] {
    width: 100%;
    text-align: center;
    display: inline-flex;
    justify-content: center;
}
}
.policies-panel[data-v-6fbf5319] {
  display: grid;
  gap: 28px;
  width: 100%;
  box-sizing: border-box;
  overflow-x: hidden;
  max-width: 100%;
  min-width: 0;
}
.policies-header[data-v-6fbf5319] {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 28px 32px;
  border-radius: 24px;
  background: linear-gradient(130deg, rgba(15, 61, 46, 0.08), rgba(42, 206, 123, 0.14));
  border: 1px solid rgba(15, 61, 46, 0.12);
  box-shadow: 0 18px 40px rgba(15, 61, 46, 0.12);
  width: 100%;
  box-sizing: border-box;
}
.policies-badge[data-v-6fbf5319] {
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 0.68rem;
  color: rgba(15, 61, 46, 0.65);
}
.policies-header h2[data-v-6fbf5319] {
  margin: 10px 0 8px;
  font-size: 1.75rem;
  color: #0f3d2e;
}
.policies-subtitle[data-v-6fbf5319] {
  margin: 0;
  max-width: 420px;
  color: #3d5c4f;
  line-height: 1.6;
}
.policies-add[data-v-6fbf5319] {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 18px;
  border-radius: 16px;
  border: 1px solid rgba(42, 206, 123, 0.45);
  background: rgba(42, 206, 123, 0.18);
  color: #0f3d2e;
  font-weight: 600;
  cursor: pointer;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    background 0.2s ease;
  max-width: 100%;
  flex-wrap: wrap;
  text-align: center;
}
.policies-add[data-v-6fbf5319]:hover {
  transform: translateY(-1px);
  background: rgba(42, 206, 123, 0.28);
  box-shadow: 0 12px 24px rgba(42, 206, 123, 0.28);
}
.policies-state[data-v-6fbf5319] {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 10px;
  padding: 36px;
  border-radius: 20px;
  border: 1px dashed rgba(15, 61, 46, 0.2);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 18px 36px rgba(15, 61, 46, 0.12);
  color: #244b3a;
  text-align: center;
}
.policies-state .state-icon[data-v-6fbf5319] {
  display: inline-grid;
  place-items: center;
  font-size: 1.8rem;
}
.policies-state.error[data-v-6fbf5319] {
  border-color: rgba(231, 76, 60, 0.35);
  background: rgba(231, 76, 60, 0.15);
  color: #7a1f15;
}
.policies-state.empty[data-v-6fbf5319] {
  background: rgba(242, 248, 244, 0.96);
  color: #335143;
}
.policies-state.loading[data-v-6fbf5319] {
  background: rgba(48, 167, 112, 0.1);
  border-color: rgba(48, 167, 112, 0.3);
  color: #0f3d2e;
}
.policies-grid[data-v-6fbf5319] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 22px;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.policy-card[data-v-6fbf5319] {
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 16px;
  padding: 28px;
  border-radius: var(--sv-radius-md);
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(15, 61, 46, 0.08);
  box-shadow: 0 24px 44px rgba(15, 61, 46, 0.18);
  overflow: hidden;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  word-break: break-word;
}
.policy-icon[data-v-6fbf5319] {
  position: relative;
  z-index: 1;
  width: 56px;
  height: 56px;
  border-radius: var(--sv-radius-sm);
  display: grid;
  place-items: center;
  font-size: 1.8rem;
  background: rgba(42, 206, 123, 0.18);
  color: #0f3d2e;
}
.policy-card.warning .policy-icon[data-v-6fbf5319] {
  background: rgba(255, 159, 67, 0.18);
}
.policy-card.neutral .policy-icon[data-v-6fbf5319] {
  background: rgba(15, 61, 46, 0.12);
}
.policy-body[data-v-6fbf5319] {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 6px;
}
.policy-heading[data-v-6fbf5319] {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  min-width: 0;
}
.policy-heading h3[data-v-6fbf5319] {
  margin: 0;
  font-size: 1.2rem;
  color: #0f3d2e;
  min-width: 0;
  overflow-wrap: anywhere;
}
.policy-status[data-v-6fbf5319] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  background: rgba(15, 61, 46, 0.1);
  color: #0f3d2e;
}
.policy-status.positive[data-v-6fbf5319] {
  background: rgba(42, 206, 123, 0.18);
  color: #0f3d2e;
}
.policy-status.warning[data-v-6fbf5319] {
  background: rgba(255, 159, 67, 0.22);
  color: #7a3b05;
}
.policy-status.neutral[data-v-6fbf5319] {
  background: rgba(15, 61, 46, 0.16);
  color: #0f3d2e;
}
.policy-number[data-v-6fbf5319] {
  margin: 0;
  font-weight: 600;
  color: #244b3a;
  word-break: break-word;
}
.policy-meta[data-v-6fbf5319] {
  margin: 0;
  font-size: 0.88rem;
  color: #3d5c4f;
  word-break: break-word;
}
.policy-footer[data-v-6fbf5319] {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.policy-action[data-v-6fbf5319] {
  align-self: flex-start;
  padding: 10px 18px;
  border-radius: 14px;
  border: none;
  background: linear-gradient(130deg, #2ace7b, #0f8c54);
  color: #ffffff;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 12px 28px rgba(48, 167, 112, 0.35);
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}
.policy-action[data-v-6fbf5319]:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 32px rgba(48, 167, 112, 0.4);
}
.policy-updated[data-v-6fbf5319] {
  font-size: 0.78rem;
  color: #336250;
}
.portal-placeholder[data-v-6fbf5319] {
  background: rgba(242, 248, 244, 0.94);
  border-radius: 20px;
  padding: 36px;
  border: 1px dashed rgba(15, 61, 46, 0.2);
  color: #244b3a;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.65);
}
.portal-placeholder h2[data-v-6fbf5319] {
  margin: 0 0 16px;
  font-size: 1.6rem;
  color: #0f3d2e;
}
.portal-placeholder p[data-v-6fbf5319] {
  margin: 0;
  max-width: 640px;
  line-height: 1.6;
}
.portal-settings[data-v-6fbf5319] {
  padding: 0;
  background: transparent;
}

/* Strong mobile/embedded adjustments and safe-area padding for bottom nav */
@media (max-width: 1100px) {
.portal-shell[data-v-6fbf5319] {
    width: 100%;
    padding: 0;
}
.portal-card[data-v-6fbf5319] {
    flex-direction: column;
}
.portal-sidebar[data-v-6fbf5319] {
    width: 100%;
    flex-direction: row;
    flex-wrap: wrap;
    padding: 32px;
    gap: 24px;
}
.sidebar-support[data-v-6fbf5319] {
    flex: 1 1 220px;
}
.portal-main[data-v-6fbf5319] {
    padding: 20px;
}
}
@media (max-width: 960px) {
.portal-shell[data-v-6fbf5319] {
    width: 100%;
    padding: 0;
}
.portal-header[data-v-6fbf5319] {
    padding: 20px;
}
.portal-header h1[data-v-6fbf5319] {
    font-size: 1.9rem;
}
.policies-grid[data-v-6fbf5319] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.policies-header[data-v-6fbf5319] {
    padding: 20px;
}
}
@media (max-width: 768px) {
.portal-shell[data-v-6fbf5319] {
    width: 100%;
    padding: 0;
    min-height: 100dvh;
}
.portal-card[data-v-6fbf5319] {
    border-radius: 0;
    box-shadow: none;
    border: none;
    overflow: visible;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}
.portal-sidebar[data-v-6fbf5319] {
    display: none;
}
.portal-main[data-v-6fbf5319] {
    padding: 0;
    gap: 16px;
    overflow: visible;
}
.mobile-app-bar[data-v-6fbf5319] {
    display: flex;
    margin: 12px;
}
.portal-header[data-v-6fbf5319] {
    padding: 12px;
}
.portal-content[data-v-6fbf5319] {
    padding: 0 12px;
    min-height: auto;
}
.mobile-only[data-v-6fbf5319] {
    display: block;
}
.desktop-only[data-v-6fbf5319] {
    display: none;
}
.portal-header.mobile-hide[data-v-6fbf5319] {
    display: none;
}
}
@media (max-width: 720px) {
.portal-header-actions[data-v-6fbf5319] {
    width: 100%;
    flex-wrap: wrap;
}
.portal-header-actions button[data-v-6fbf5319] {
    flex: 1;
    min-width: 140px;
}
.policies-header[data-v-6fbf5319] {
    gap: 16px;
    padding: 10px;
}
.policies-add[data-v-6fbf5319] {
    width: 100%;
    justify-content: center;
}
.policies-grid[data-v-6fbf5319] {
    grid-template-columns: 1fr;
}
.portal-content[data-v-6fbf5319] {
    padding: 0 5px;
}
.portal-header[data-v-6fbf5319] {
    padding: 5px;
}
}
@media (max-width: 520px) {
.portal-card[data-v-6fbf5319] {
    border-radius: 0;
}
.portal-main[data-v-6fbf5319] {
    padding: 0;
    gap: 14px;
}
.portal-header[data-v-6fbf5319] {
    padding: 5px;
}
.portal-header h1[data-v-6fbf5319] {
    font-size: 1.5rem;
}
.portal-content[data-v-6fbf5319] {
    padding: 0 5px;
}
}
@media (max-width: 480px) {
.portal-content[data-v-6fbf5319] {
    padding: 0;
}
.portal-header[data-v-6fbf5319] {
    padding: 5px 0;
}
}

/* ServiceVerzekerd redesign overrides */
.portal-shell[data-v-6fbf5319] {
  background: var(--sv-bg-page);
  color: var(--sv-ink-1);
}
.portal-card[data-v-6fbf5319] {
  background: var(--sv-bg-page);
  backdrop-filter: none;
}
.portal-sidebar[data-v-6fbf5319] {
  background: var(--sv-brand-green-deep);
  color: #fff;
}
.portal-sidebar[data-v-6fbf5319]::after,
.portal-header[data-v-6fbf5319]::after {
  display: none;
}
.sidebar-logo[data-v-6fbf5319] {
  border-radius: var(--sv-radius-sm);
  background: var(--sv-brand-green);
  box-shadow: none;
}
.sidebar-profile[data-v-6fbf5319],
.sidebar-support[data-v-6fbf5319],
.sidebar-link[data-v-6fbf5319],
.mobile-app-bar[data-v-6fbf5319],
.portal-header[data-v-6fbf5319],
.portal-content[data-v-6fbf5319],
.inbox-panel[data-v-6fbf5319],
.inbox-item[data-v-6fbf5319],
.policies-header[data-v-6fbf5319],
.policy-card[data-v-6fbf5319],
.portal-placeholder[data-v-6fbf5319],
.policies-state[data-v-6fbf5319] {
  border-radius: var(--sv-radius-md);
}
.sidebar-profile[data-v-6fbf5319],
.sidebar-support[data-v-6fbf5319] {
  border-color: rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.08);
}
.sidebar-link[data-v-6fbf5319] {
  background: transparent;
}
.sidebar-link[data-v-6fbf5319]:hover {
  transform: none;
}
.sidebar-link.active[data-v-6fbf5319] {
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.28);
  box-shadow: none;
}
.logout-chip[data-v-6fbf5319] {
  border-radius: var(--sv-radius-sm);
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}
.sidebar-cta[data-v-6fbf5319],
.primary-action[data-v-6fbf5319],
.inbox-refresh[data-v-6fbf5319],
.policies-add[data-v-6fbf5319],
.policy-action[data-v-6fbf5319],
.app-logout[data-v-6fbf5319] {
  border: 1px solid var(--sv-brand-green);
  border-radius: var(--sv-radius-sm);
  background: var(--sv-brand-green);
  color: #fff;
  box-shadow: none;
}
.sidebar-cta[data-v-6fbf5319]:hover,
.primary-action[data-v-6fbf5319]:hover,
.inbox-refresh[data-v-6fbf5319]:hover,
.policies-add[data-v-6fbf5319]:hover,
.policy-action[data-v-6fbf5319]:hover,
.app-logout[data-v-6fbf5319]:hover {
  background: var(--sv-brand-green-deep);
  transform: translateY(-1px);
  box-shadow: none;
}
.secondary-action[data-v-6fbf5319],
.doc-link[data-v-6fbf5319] {
  border: 1px solid var(--sv-line-2);
  border-radius: var(--sv-radius-sm);
  background: #fff;
  color: var(--sv-brand-green-deep);
}
.portal-main[data-v-6fbf5319] {
  background: var(--sv-bg-page);
}
.portal-header[data-v-6fbf5319],
.policies-header[data-v-6fbf5319],
.portal-placeholder[data-v-6fbf5319] {
  border: 1px solid var(--sv-line-1);
  background: var(--sv-bg-sand);
  box-shadow: var(--sv-shadow-sm);
}
.portal-content[data-v-6fbf5319],
.inbox-panel[data-v-6fbf5319],
.policy-card[data-v-6fbf5319] {
  border: 1px solid var(--sv-line-1);
  background: #fff;
  box-shadow: var(--sv-shadow-sm);
}
.portal-header h1[data-v-6fbf5319],
.policies-header h2[data-v-6fbf5319],
.inbox-header h2[data-v-6fbf5319],
.policy-heading h3[data-v-6fbf5319] {
  color: var(--sv-ink-1);
}
.portal-badge[data-v-6fbf5319],
.policies-badge[data-v-6fbf5319],
.inbox-badge[data-v-6fbf5319] {
  color: var(--sv-brand-green);
  opacity: 1;
}
.portal-subtitle[data-v-6fbf5319],
.policies-subtitle[data-v-6fbf5319],
.inbox-subtitle[data-v-6fbf5319],
.policy-meta[data-v-6fbf5319],
.policy-updated[data-v-6fbf5319],
.inbox-notes[data-v-6fbf5319] {
  color: var(--sv-ink-3);
}
.policy-icon[data-v-6fbf5319],
.state-icon[data-v-6fbf5319] {
  border: 1px solid var(--sv-brand-green-mint);
  background: var(--sv-brand-green-tint);
  color: var(--sv-brand-green-deep);
}
.policy-status[data-v-6fbf5319],
.inbox-chip[data-v-6fbf5319] {
  background: var(--sv-brand-green-tint);
  color: var(--sv-brand-green-deep);
}
@media (max-width: 768px) {
.mobile-app-bar[data-v-6fbf5319],
  .portal-header[data-v-6fbf5319],
  .portal-content[data-v-6fbf5319] {
    border-radius: 0;
}
}

.modal-overlay[data-v-51a31fb6] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}
.modal-container[data-v-51a31fb6] {
  background-color: white;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  max-width: 600px;
  width: 90%;
  max-height: 80vh;
  overflow-y: auto;
}
.modal-header[data-v-51a31fb6] {
  padding: 24px 24px 20px;
  border-bottom: 1px solid #e5e7eb;
}
.modal-header h2[data-v-51a31fb6] {
  margin: 0;
  font-size: 1.5rem;
  color: #1f2937;
}
.modal-body[data-v-51a31fb6] {
  padding: 24px;
}
.modal-message[data-v-51a31fb6] {
  margin: 0 0 20px;
  color: #4b5563;
  font-size: 1rem;
  line-height: 1.5;
}
.calculation-summary[data-v-51a31fb6] {
  background-color: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 20px;
}
.calculation-summary h3[data-v-51a31fb6] {
  margin: 0 0 16px;
  font-size: 1.1rem;
  color: #374151;
}
.summary-details[data-v-51a31fb6] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.summary-item[data-v-51a31fb6] {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.summary-item .label[data-v-51a31fb6] {
  font-weight: 500;
  color: #6b7280;
  min-width: 140px;
}
.summary-item .value[data-v-51a31fb6] {
  color: #1f2937;
  font-weight: 400;
}
.product-list[data-v-51a31fb6] {
  margin: 0;
  padding-left: 20px;
  list-style-type: disc;
}
.product-list li[data-v-51a31fb6] {
  color: #1f2937;
  margin-bottom: 4px;
}
.modal-question[data-v-51a31fb6] {
  margin: 20px 0 0;
  color: #1f2937;
  font-weight: 500;
  font-size: 1rem;
}
.modal-footer[data-v-51a31fb6] {
  padding: 20px 24px;
  border-top: 1px solid #e5e7eb;
  display: flex;
  gap: 12px;
  justify-content: flex-end;
}
.btn[data-v-51a31fb6] {
  padding: 10px 20px;
  border-radius: 6px;
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  border: none;
  outline: none;
}
.btn-primary[data-v-51a31fb6] {
  background-color: #3b82f6;
  color: white;
}
.btn-primary[data-v-51a31fb6]:hover {
  background-color: #2563eb;
}
.btn-secondary[data-v-51a31fb6] {
  background-color: #6b7280;
  color: white;
}
.btn-secondary[data-v-51a31fb6]:hover {
  background-color: #4b5563;
}

/* Mobile responsiveness */
@media (max-width: 640px) {
.modal-container[data-v-51a31fb6] {
    width: 95%;
    margin: 10px;
}
.modal-footer[data-v-51a31fb6] {
    flex-direction: column;
}
.btn[data-v-51a31fb6] {
    width: 100%;
}
.summary-item[data-v-51a31fb6] {
    flex-direction: column;
    gap: 4px;
}
.summary-item .label[data-v-51a31fb6] {
    min-width: auto;
}
}

.modal-overlay[data-v-754b4b94] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}
.modal-container[data-v-754b4b94] {
  background-color: white;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  max-width: 450px;
  width: 90%;
  max-height: 80vh;
  overflow-y: auto;
}
.modal-header[data-v-754b4b94] {
  padding: 24px 24px 20px;
  border-bottom: 1px solid #e5e7eb;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.modal-header h2[data-v-754b4b94] {
  margin: 0;
  font-size: 1.5rem;
  color: #1f2937;
}
.close-btn[data-v-754b4b94] {
  background: none;
  border: none;
  font-size: 1.75rem;
  color: #6b7280;
  cursor: pointer;
  padding: 0;
  line-height: 1;
  transition: color 0.2s;
}
.close-btn[data-v-754b4b94]:hover {
  color: #1f2937;
}
.modal-body[data-v-754b4b94] {
  padding: 24px;
}
.modal-message[data-v-754b4b94] {
  margin: 0 0 20px;
  color: #4b5563;
  font-size: 1rem;
  line-height: 1.5;
}
.form-group[data-v-754b4b94] {
  margin-bottom: 16px;
}
.form-group label[data-v-754b4b94] {
  display: block;
  margin-bottom: 6px;
  font-weight: 500;
  color: #374151;
}
.form-group input[data-v-754b4b94] {
  width: 100%;
  padding: 12px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  font-size: 1rem;
  transition:
    border-color 0.2s,
    box-shadow 0.2s;
  box-sizing: border-box;
}
.form-group input[data-v-754b4b94]:focus {
  outline: none;
  border-color: #03854c;
  box-shadow: 0 0 0 3px rgba(3, 133, 76, 0.1);
}
.form-group input[data-v-754b4b94]:disabled {
  background-color: #f3f4f6;
  cursor: not-allowed;
}
.field-error-message[data-v-754b4b94] {
  color: #dc2626;
  font-size: 0.875rem;
  margin-bottom: 16px;
}
.modal-footer[data-v-754b4b94] {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  margin-top: 20px;
}
.btn[data-v-754b4b94] {
  padding: 10px 20px;
  border-radius: 6px;
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  border: none;
  outline: none;
}
.btn[data-v-754b4b94]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.btn-primary[data-v-754b4b94] {
  background-color: #03854c;
  color: white;
}
.btn-primary[data-v-754b4b94]:hover:not(:disabled) {
  background-color: #026b3d;
}
.btn-secondary[data-v-754b4b94] {
  background-color: #6b7280;
  color: white;
}
.btn-secondary[data-v-754b4b94]:hover:not(:disabled) {
  background-color: #4b5563;
}
.success-message[data-v-754b4b94] {
  text-align: center;
  padding: 20px 0;
}
.success-icon[data-v-754b4b94] {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: #d1fae5;
  color: #059669;
  font-size: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
}
.success-message p[data-v-754b4b94] {
  color: #374151;
  font-size: 1rem;
  line-height: 1.5;
  margin: 0;
}

/* Mobile responsiveness */
@media (max-width: 640px) {
.modal-container[data-v-754b4b94] {
    width: 95%;
    margin: 10px;
}
.modal-footer[data-v-754b4b94] {
    flex-direction: column-reverse;
}
.btn[data-v-754b4b94] {
    width: 100%;
}
}

.compact-sidebar[data-v-55b81daf] {
  width: 130px;
  min-width: 130px;
  background: var(--sv-brand-green-deep);
  color: #e6fff2;
  padding: 20px 12px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: relative;
  border-right: 1px solid rgba(255, 255, 255, 0.1);
}

/* User Info */
.compact-user-info[data-v-55b81daf] {
  position: relative;
  z-index: 1;
  text-align: center;
  padding: 12px 8px;
  border-radius: var(--sv-radius-md);
  background: rgba(255, 255, 255, 0.06);
}
.compact-user-avatar[data-v-55b81daf] {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--sv-brand-green);
  display: grid;
  place-items: center;
  margin: 0 auto 8px;
  font-weight: 700;
  font-size: 1rem;
  color: #fff;
  box-shadow: 0 6px 16px rgba(10, 122, 69, 0.32);
}
.compact-user-name[data-v-55b81daf] {
  font-size: 0.75rem;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #d0f5e4;
}

/* Navigation */
.compact-nav[data-v-55b81daf] {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
}
.compact-nav-item[data-v-55b81daf] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 10px 8px;
  border-radius: 10px;
  text-align: center;
  cursor: pointer;
  border: 1px solid transparent;
  background: transparent;
  color: #c0e8d8;
  transition: all 0.2s ease;
}
.compact-nav-item[data-v-55b81daf]:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}
.compact-nav-item.active[data-v-55b81daf] {
  background: rgba(42, 206, 123, 0.2);
  border-color: rgba(42, 206, 123, 0.4);
  color: #fff;
  box-shadow: 0 4px 12px rgba(42, 206, 123, 0.2);
}
.compact-nav-item .icon[data-v-55b81daf] {
  display: grid;
  place-items: center;
  height: 24px;
  font-size: 1.25rem;
  line-height: 1;
}
.compact-nav-item .label[data-v-55b81daf] {
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}

/* Logout */
.compact-logout[data-v-55b81daf] {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 10px 8px;
  border-radius: 10px;
  text-align: center;
  cursor: pointer;
  border: 1px solid rgba(239, 68, 68, 0.3);
  background: rgba(239, 68, 68, 0.1);
  color: #fca5a5;
  transition: all 0.2s ease;
  margin-top: auto;
}
.compact-logout[data-v-55b81daf]:hover {
  background: rgba(239, 68, 68, 0.2);
  border-color: rgba(239, 68, 68, 0.5);
  color: #fecaca;
}
.compact-logout .icon[data-v-55b81daf] {
  display: grid;
  place-items: center;
  height: 22px;
  font-size: 1.1rem;
  line-height: 1;
}
.compact-logout .label[data-v-55b81daf] {
  font-size: 0.6rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}

/* Hide on mobile - parent layout will handle */
@media (max-width: 768px) {
.compact-sidebar[data-v-55b81daf] {
    display: none;
}
}

.claim-embed[data-v-4dbea3d9] {
  max-width: 960px;
  margin: 0 auto;
  padding: 20px;
  color: var(--sv-ink-1);
}
.hero[data-v-4dbea3d9] {
  border: 1px solid var(--sv-line-1);
  background: var(--sv-bg-sand);
  color: var(--sv-ink-1);
  padding: 20px;
  border-radius: var(--sv-radius-md);
  margin-bottom: 16px;
}
.hero h1[data-v-4dbea3d9] {
  margin: 0;
  font-family: var(--sv-font-display);
  font-size: clamp(2rem, 5vw, 3.5rem);
  line-height: 1;
}
.eyebrow[data-v-4dbea3d9] {
  text-transform: uppercase;
  letter-spacing: 0;
  font-size: 12px;
  margin: 0 0 6px;
  color: var(--sv-brand-green);
  font-weight: 900;
}
.subtitle[data-v-4dbea3d9] {
  max-width: 620px;
  color: var(--sv-ink-3);
}
main[data-v-4dbea3d9] {
  background: #fff;
  border: 1px solid var(--sv-line-1);
  border-radius: var(--sv-radius-md);
  padding: 16px;
  box-shadow: var(--sv-shadow-sm);
}

.policy-scan-test-view[data-v-31a9e47b] {
  max-width: 1100px;
  margin: 0 auto;
  padding: clamp(16px, 3vw, 28px);
  display: grid;
  gap: 14px;
}
.policy-scan-test-view h1[data-v-31a9e47b] {
  margin: 0;
  color: var(--sv-ink-1);
  font-family: var(--sv-font-display);
  font-size: clamp(2rem, 5vw, 3.6rem);
  line-height: 1;
}
.policy-scan-test-view p[data-v-31a9e47b] {
  margin: 0;
  color: var(--sv-ink-3);
}
.eyebrow[data-v-31a9e47b] {
  color: var(--sv-brand-green) !important;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}
.error[data-v-31a9e47b] {
  color: #b62222;
  font-weight: 600;
}
.result-panel[data-v-31a9e47b] {
  border-radius: var(--sv-radius-md);
  border: 1px solid var(--sv-line-1);
  background: #fff;
  padding: 14px;
  box-shadow: var(--sv-shadow-sm);
}
.result-panel h2[data-v-31a9e47b] {
  margin: 0 0 10px;
  color: var(--sv-ink-1);
}
.result-panel pre[data-v-31a9e47b] {
  margin: 0;
  background: #0f1620;
  color: #d2f0ff;
  border-radius: 10px;
  padding: 12px;
  max-height: 420px;
  overflow: auto;
  font-size: 0.82rem;
}

.policy-scan-embed-view[data-v-487658ae] {
  max-width: 1100px;
  margin: 0 auto;
  padding: clamp(16px, 3vw, 28px);
  display: grid;
  gap: 12px;
}
.policy-scan-embed-view h1[data-v-487658ae] {
  margin: 0;
  color: var(--sv-ink-1);
  font-family: var(--sv-font-display);
  font-size: clamp(2rem, 5vw, 3.6rem);
  line-height: 1;
}
.policy-scan-embed-view p[data-v-487658ae] {
  margin: 0;
  color: var(--sv-ink-3);
}
.eyebrow[data-v-487658ae] {
  color: var(--sv-brand-green) !important;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}
.status-panel[data-v-487658ae] {
  border-radius: var(--sv-radius-sm);
  padding: 10px 12px;
  background: var(--sv-brand-green-tint);
  border: 1px solid var(--sv-brand-green-mint);
  color: var(--sv-brand-green-deep);
  font-weight: 600;
}
.status-panel--error[data-v-487658ae] {
  background: #ffecec;
  border-color: #f5b9b9;
  color: #982222;
}
.result-panel[data-v-487658ae] {
  border-radius: var(--sv-radius-md);
  border: 1px solid var(--sv-line-1);
  padding: 14px;
  background: #fff;
  box-shadow: var(--sv-shadow-sm);
}
.result-panel h2[data-v-487658ae] {
  margin: 0 0 8px;
  color: var(--sv-ink-1);
  font-size: 1rem;
}
.result-panel ul[data-v-487658ae] {
  margin: 0;
  padding-left: 18px;
}
.result-panel.success[data-v-487658ae] {
  background: var(--sv-brand-green-tint);
  border-color: var(--sv-brand-green-mint);
}
.result-panel.warning[data-v-487658ae] {
  background: #fff8ee;
  border-color: #f0d9af;
}
.result-panel.raw pre[data-v-487658ae] {
  margin: 0;
  background: #0f1620;
  color: #d2f0ff;
  border-radius: 10px;
  padding: 12px;
  max-height: 340px;
  overflow: auto;
  font-size: 0.82rem;
}

.not-found-page[data-v-9075e028] {
  min-height: 100dvh;
  display: grid;
  place-items: center;
  padding: clamp(18px, 5vw, 56px);
  background: var(--sv-bg-page);
  color: var(--sv-ink-1);
}
.not-found-panel[data-v-9075e028] {
  width: min(760px, 100%);
  display: grid;
  gap: 18px;
  padding: clamp(26px, 5vw, 44px);
  border: 1px solid var(--sv-line-1);
  border-radius: var(--sv-radius-md);
  background: #fff;
  box-shadow: var(--sv-shadow-sm);
}
.not-found-brand[data-v-9075e028] {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--sv-brand-green-deep);
  font-weight: 900;
}
.not-found-logo[data-v-9075e028] {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: var(--sv-radius-sm);
  background: var(--sv-brand-green);
  color: #fff;
}
.not-found-kicker[data-v-9075e028] {
  color: var(--sv-brand-green);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}
h1[data-v-9075e028] {
  margin: 0;
  max-width: 620px;
  font-family: var(--sv-font-display);
  font-size: clamp(2.2rem, 7vw, 4.4rem);
  line-height: 0.98;
}
.not-found-copy[data-v-9075e028] {
  max-width: 560px;
  color: var(--sv-ink-3);
  font-size: 1.08rem;
}
.not-found-actions[data-v-9075e028] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
button[data-v-9075e028] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 10px 16px;
  border-radius: var(--sv-radius-sm);
  cursor: pointer;
  font-weight: 900;
}
.primary[data-v-9075e028] {
  border: 1px solid var(--sv-brand-green);
  background: var(--sv-brand-green);
  color: #fff;
}
.secondary[data-v-9075e028] {
  border: 1px solid var(--sv-line-2);
  background: #fff;
  color: var(--sv-brand-green-deep);
}
.not-found-note[data-v-9075e028] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 8px;
  color: var(--sv-ink-2);
}
@media (max-width: 520px) {
.not-found-actions button[data-v-9075e028] {
    width: 100%;
}
}

.notification-container[data-v-132029c2] {
  position: fixed;
  top: 16px;
  right: 16px;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 400px;
  pointer-events: none;
}
.notification[data-v-132029c2] {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  pointer-events: auto;
  animation: slideIn-132029c2 0.3s ease-out;
}
@keyframes slideIn-132029c2 {
from {
    transform: translateX(100%);
    opacity: 0;
}
to {
    transform: translateX(0);
    opacity: 1;
}
}

/* Vue transition classes */
.notification-enter-active[data-v-132029c2] {
  animation: slideIn-132029c2 0.3s ease-out;
}
.notification-leave-active[data-v-132029c2] {
  animation: slideOut-132029c2 0.3s ease-in;
}
@keyframes slideOut-132029c2 {
from {
    transform: translateX(0);
    opacity: 1;
}
to {
    transform: translateX(100%);
    opacity: 0;
}
}
.notification-icon[data-v-132029c2] {
  font-size: 1.25rem;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.notification-content[data-v-132029c2] {
  flex: 1;
  min-width: 0;
}
.notification-title[data-v-132029c2] {
  display: block;
  font-size: 0.95rem;
  font-weight: 600;
  margin-bottom: 2px;
}
.notification-message[data-v-132029c2] {
  font-size: 0.85rem;
  margin: 0;
  opacity: 0.9;
  line-height: 1.4;
}
.notification-dismiss[data-v-132029c2] {
  background: transparent;
  border: none;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  opacity: 0.6;
  transition: opacity 0.2s;
  padding: 0;
  margin: -4px -4px 0 0;
}
.notification-dismiss[data-v-132029c2]:hover {
  opacity: 1;
}

/* Type-specific styles */
.notification-success[data-v-132029c2] {
  background: linear-gradient(135deg, #d4edda 0%, #c3e6cb 100%);
  border-left: 4px solid #28a745;
}
.notification-success .notification-icon[data-v-132029c2] {
  color: #155724;
}
.notification-success .notification-title[data-v-132029c2],
.notification-success .notification-message[data-v-132029c2],
.notification-success .notification-dismiss[data-v-132029c2] {
  color: #155724;
}
.notification-error[data-v-132029c2] {
  background: linear-gradient(135deg, #f8d7da 0%, #f5c6cb 100%);
  border-left: 4px solid #dc3545;
}
.notification-error .notification-icon[data-v-132029c2] {
  color: #721c24;
}
.notification-error .notification-title[data-v-132029c2],
.notification-error .notification-message[data-v-132029c2],
.notification-error .notification-dismiss[data-v-132029c2] {
  color: #721c24;
}
.notification-warning[data-v-132029c2] {
  background: linear-gradient(135deg, #fff3cd 0%, #ffeeba 100%);
  border-left: 4px solid #ffc107;
}
.notification-warning .notification-icon[data-v-132029c2] {
  color: #856404;
}
.notification-warning .notification-title[data-v-132029c2],
.notification-warning .notification-message[data-v-132029c2],
.notification-warning .notification-dismiss[data-v-132029c2] {
  color: #856404;
}
.notification-info[data-v-132029c2] {
  background: linear-gradient(135deg, #d1ecf1 0%, #bee5eb 100%);
  border-left: 4px solid #17a2b8;
}
.notification-info .notification-icon[data-v-132029c2] {
  color: #0c5460;
}
.notification-info .notification-title[data-v-132029c2],
.notification-info .notification-message[data-v-132029c2],
.notification-info .notification-dismiss[data-v-132029c2] {
  color: #0c5460;
}

/* Mobile responsiveness */
@media (max-width: 480px) {
.notification-container[data-v-132029c2] {
    top: 8px;
    right: 8px;
    left: 8px;
    max-width: none;
}
.notification[data-v-132029c2] {
    padding: 12px 14px;
}
}

.sv-legal-footer[data-v-f6242cc3] {
  width: 100%;
  border-top: 1px solid color-mix(in srgb, var(--bg-plain) 10%, transparent);
  background: var(--sv-ink-1);
  color: var(--bg-plain);
}
.sv-legal-footer__inner[data-v-f6242cc3] {
  display: grid;
  grid-template-columns: minmax(220px, 1.25fr) repeat(3, minmax(150px, 1fr));
  gap: 36px;
  width: min(1120px, calc(100% - 32px));
  margin: 0 auto;
  padding: 52px 0 26px;
}
.sv-legal-footer__brand[data-v-f6242cc3] {
  display: grid;
  gap: 16px;
  align-content: start;
  padding: 18px;
  border: 1px solid color-mix(in srgb, var(--bg-plain) 10%, transparent);
  border-radius: var(--sv-radius-md);
  background: color-mix(in srgb, var(--sv-ink-1) 92%, var(--bg-plain));
}
.sv-legal-footer__logo[data-v-f6242cc3] {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  width: fit-content;
  color: var(--bg-plain);
  text-decoration: none;
}
.sv-legal-footer__logo > span[data-v-f6242cc3] {
  display: inline-grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 50%;
  background: var(--sv-brand-green);
  color: var(--bg-plain);
  font-family: var(--sv-font-display);
  font-weight: 700;
}
.sv-legal-footer__logo strong[data-v-f6242cc3] {
  display: grid;
  color: var(--bg-plain);
  font-family: var(--sv-font-display);
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 0.95;
}
.sv-legal-footer__brand p[data-v-f6242cc3] {
  margin: 0;
  color: color-mix(in srgb, var(--bg-plain) 72%, transparent);
  font-size: 0.94rem;
  font-weight: 650;
  line-height: 1.5;
}
.sv-legal-footer__nav[data-v-f6242cc3] {
  display: grid;
  align-content: start;
  gap: 12px;
}
.sv-legal-footer__nav h2[data-v-f6242cc3] {
  margin: 0 0 2px;
  color: var(--bg-plain);
  font-family: var(--sv-font-body);
  font-size: 0.8rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.sv-legal-footer a[data-v-f6242cc3] {
  color: color-mix(in srgb, var(--bg-plain) 78%, transparent);
  font-size: 0.9rem;
  font-weight: 750;
  text-decoration: none;
}
.sv-legal-footer a[data-v-f6242cc3]:hover {
  color: var(--bg-plain);
  text-decoration: underline;
}
.sv-legal-footer__compliance[data-v-f6242cc3] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  width: min(1120px, calc(100% - 32px));
  margin: 0 auto;
  padding: 20px 0 24px;
  border-top: 1px solid color-mix(in srgb, var(--bg-plain) 10%, transparent);
  color: color-mix(in srgb, var(--bg-plain) 66%, transparent);
  font-size: 0.82rem;
  font-weight: 750;
}
@media (max-width: 980px) {
.sv-legal-footer__inner[data-v-f6242cc3] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 20px;
}
.sv-legal-footer__brand[data-v-f6242cc3] {
    grid-column: 1 / -1;
}
}
@media (max-width: 760px) {
.sv-legal-footer__inner[data-v-f6242cc3] {
    padding-top: 40px;
}
.sv-legal-footer__compliance[data-v-f6242cc3] {
    flex-direction: column;
}
}
@media (max-width: 420px) {
.sv-legal-footer__inner[data-v-f6242cc3] {
    gap: 24px 14px;
}
.sv-legal-footer a[data-v-f6242cc3] {
    font-size: 0.84rem;
}
}

/* Minimal styles */
#embedded-vue-app[data-v-f5b883e3] {
  font-family: var(--sv-font-body);
  width: 100%;
  max-width: 100%;
  padding: 12px;
  box-sizing: border-box; /* Include padding in width calculation */
  /* Ensure the embed always has a reasonable minimum height within the host page */
  min-height: 100dvh;
  color: var(--sv-ink-1);
  background: var(--sv-bg-page);
}
#embedded-vue-app[data-mode='portal'][data-v-f5b883e3] {
  padding: 0;
  background: transparent;
}
#embedded-vue-app[data-mode='calculator'][data-v-f5b883e3] {
  padding: 0; /* Remove padding when using sidebar layout */
}
#embedded-vue-app[data-mode='calculator-integrated'][data-v-f5b883e3] {
  min-height: 100dvh;
  padding: 0;
  background: var(--bg-page);
}

/* Calculator Layout with Compact Sidebar */
.calculator-layout[data-v-f5b883e3] {
  display: flex;
  min-height: 100dvh;
  width: 100%;
}
.calculator-layout .calculator-main[data-v-f5b883e3] {
  flex: 1;
  min-width: 0;
  overflow-y: auto;
  padding: clamp(12px, 2vw, 18px);
  background: var(--sv-bg-page);
}
.calculator-layout.with-sidebar .calculator-main[data-v-f5b883e3] {
  /* Main content already has padding; sidebar takes 130px */
}
.calculator-layout--integrated[data-v-f5b883e3] {
  display: block;
  background: var(--bg-page);
  color: var(--ink-1);
}
.calculator-layout--integrated .calculator-main[data-v-f5b883e3] {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  width: min(1440px, calc(100% - 48px));
  margin: 0 auto;
  padding: 22px 0 40px;
  overflow: visible;
  background: transparent;
}
.integrated-calculator-intro[data-v-f5b883e3] {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(170px, 220px);
  gap: 18px;
  align-items: center;
  margin-bottom: 6px;
  padding: clamp(18px, 2.4vw, 26px);
  border: 1px solid var(--line-2);
  border-radius: var(--r-lg);
  background: var(--bg-plain);
}
.integrated-calculator-intro h1[data-v-f5b883e3] {
  max-width: 780px;
  margin: 0;
  color: var(--ink-1);
  font-family: var(--sv-font-display);
  font-size: clamp(1.85rem, 3vw, 2.55rem);
  font-weight: 600;
  line-height: 1.04;
  letter-spacing: -0.025em;
}
.integrated-calculator-intro-copy > p[data-v-f5b883e3] {
  max-width: 620px;
  margin-top: 10px;
  color: var(--ink-2);
  font-size: 0.95rem;
  line-height: 1.45;
}
.integrated-calculator-package-chip[data-v-f5b883e3] {
  display: grid;
  gap: 3px;
  justify-items: start;
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid color-mix(in srgb, var(--brand-green) 20%, var(--line-2));
  border-radius: var(--r-md);
  background: var(--brand-green-tint);
  color: var(--brand-green-ink);
}
.integrated-calculator-package-chip span[data-v-f5b883e3],
.integrated-calculator-package-chip em[data-v-f5b883e3] {
  color: var(--brand-green-deep);
  font-size: 0.78rem;
  font-style: normal;
  font-weight: 800;
}
.integrated-calculator-package-chip strong[data-v-f5b883e3] {
  color: var(--brand-green-ink);
  font-family: var(--sv-font-display);
  font-size: clamp(1.45rem, 2.3vw, 2rem);
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  line-height: 0.95;
  letter-spacing: -0.03em;
}
.integrated-calculator-flow-shell[data-v-f5b883e3] {
  min-width: 0;
}
.calculator-layout--integrated[data-v-f5b883e3] .calculation-wrapper {
  min-height: auto;
  padding: 0;
  background: transparent;
}
.calculator-layout--integrated[data-v-f5b883e3] .main-title {
  width: 100%;
  margin: 0 0 14px;
  color: var(--brand-green-deep);
  font-family: var(--sv-font-display);
  font-size: clamp(1.45rem, 2vw, 1.9rem);
  font-weight: 600;
  line-height: 1.1;
  text-align: left;
}
.calculator-layout--integrated[data-v-f5b883e3] .form-container {
  width: 100%;
  max-width: none;
  padding: clamp(18px, 2.4vw, 26px);
  border: 1px solid var(--line-2);
  border-radius: var(--r-lg);
  background: var(--bg-plain);
  box-shadow: none;
}
.calculator-layout--integrated[data-v-f5b883e3] .step-header {
  margin-bottom: 28px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--line-2);
}
.calculator-layout--integrated[data-v-f5b883e3] .step-header h3 {
  color: var(--ink-1);
  font-family: var(--sv-font-display);
  font-size: clamp(1.4rem, 2vw, 1.75rem);
  font-weight: 600;
  letter-spacing: -0.01em;
}
.calculator-layout--integrated[data-v-f5b883e3] .step-header span {
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  border-radius: var(--r-pill);
  background: var(--bg-sand-soft);
  color: var(--ink-3);
  font-size: 0.9rem;
  font-weight: 700;
}
.calculator-layout--integrated[data-v-f5b883e3] .form-fields {
  gap: 24px 20px;
  margin-bottom: 30px;
}
.calculator-layout--integrated[data-v-f5b883e3] label,
.calculator-layout--integrated[data-v-f5b883e3] .form-label-with-info {
  color: var(--ink-1);
  font-size: 0.95rem;
  font-weight: 700;
}
.calculator-layout--integrated[data-v-f5b883e3] input,
.calculator-layout--integrated[data-v-f5b883e3] select,
.calculator-layout--integrated[data-v-f5b883e3] textarea {
  min-height: 44px;
  border: 1px solid var(--line-1);
  border-radius: var(--r-sm);
  background: var(--bg-plain);
  color: var(--ink-1);
}
.calculator-layout--integrated[data-v-f5b883e3] input:focus,
.calculator-layout--integrated[data-v-f5b883e3] select:focus,
.calculator-layout--integrated[data-v-f5b883e3] textarea:focus {
  border-color: var(--brand-green);
  outline: 0;
  box-shadow: 0 0 0 4px rgba(10, 122, 69, 0.12);
}
.calculator-layout--integrated[data-v-f5b883e3] .field-empty-required input:not(:focus):not(:disabled),
.calculator-layout--integrated[data-v-f5b883e3] .field-empty-required select:not(:focus):not(:disabled),
.calculator-layout--integrated[data-v-f5b883e3] .field-empty-required textarea:not(:focus):not(:disabled) {
  background: color-mix(in srgb, var(--brand-green-tint) 55%, var(--bg-plain)) !important;
  border-color: var(--brand-green-mint) !important;
}
.calculator-layout--integrated[data-v-f5b883e3] .kenteken-edit input {
  min-height: auto;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.calculator-layout--integrated[data-v-f5b883e3] .navigation-buttons {
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid var(--line-2);
}
.calculator-layout--integrated[data-v-f5b883e3] .btn-forward,
.calculator-layout--integrated[data-v-f5b883e3] button[type='submit'] {
  min-height: 48px;
  border-radius: var(--r-md);
  background: var(--brand-green);
  font-weight: 800;
}
.calculator-layout--integrated[data-v-f5b883e3] .btn-forward:hover:not(:disabled),
.calculator-layout--integrated[data-v-f5b883e3] button[type='submit']:hover:not(:disabled) {
  background: var(--brand-green-deep);
}
.calculator-layout--integrated[data-v-f5b883e3] .btn-back {
  min-height: 48px;
  border-radius: var(--r-md);
  background: var(--ink-3);
  font-weight: 800;
}
.calculator-layout--integrated .calculator-service-anchor[data-v-f5b883e3] {
  display: none;
}
.integrated-summary-sheet[data-v-f5b883e3] {
  border: 1px solid var(--line-2);
  border-radius: var(--r-lg);
  background: var(--bg-plain);
}
.integrated-summary-eyebrow[data-v-f5b883e3] {
  margin: 0;
  color: var(--brand-green-deep);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.integrated-summary-sheet h2[data-v-f5b883e3] {
  margin: -6px 0 0;
  color: var(--ink-1);
  font-family: var(--sv-font-display);
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.1;
}
.integrated-summary-lines[data-v-f5b883e3] {
  display: grid;
  gap: 12px;
}
.integrated-summary-line[data-v-f5b883e3] {
  display: grid;
  grid-template-columns: 1fr;
  gap: 6px;
  align-items: start;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line-2);
}
.integrated-summary-line span[data-v-f5b883e3] {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.integrated-summary-line strong[data-v-f5b883e3] {
  color: var(--ink-1);
  font-size: 0.95rem;
  font-weight: 800;
}
.integrated-summary-line em[data-v-f5b883e3] {
  color: var(--ink-3);
  font-size: 0.8rem;
  font-style: normal;
  line-height: 1.35;
}
.integrated-summary-line b[data-v-f5b883e3] {
  color: var(--ink-1);
  font-family: var(--sv-font-display);
  font-size: 1rem;
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  white-space: nowrap;
}
.integrated-summary-line--service[data-v-f5b883e3] {
  border-bottom: 0;
}
.integrated-summary-line--service b[data-v-f5b883e3] {
  color: var(--brand-green-deep);
}
.integrated-summary-total[data-v-f5b883e3] {
  display: grid;
  gap: 6px;
  padding: 14px;
  border-radius: var(--r-md);
  background: var(--brand-green-ink);
  color: var(--brand-green-mint);
}
.integrated-summary-total span[data-v-f5b883e3] {
  font-size: 0.85rem;
  font-weight: 800;
}
.integrated-summary-total strong[data-v-f5b883e3] {
  color: var(--bg-plain);
  font-family: var(--sv-font-display);
  font-size: clamp(1.55rem, 2.2vw, 2.05rem);
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.03em;
}
.integrated-summary-note[data-v-f5b883e3] {
  margin: 0;
  padding: 10px;
  border-radius: var(--r-md);
  background: var(--brand-green-tint);
  color: var(--brand-green-ink);
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.4;
}
.integrated-summary-sheet-backdrop[data-v-f5b883e3] {
  display: none;
}
.calculator-service-anchor[data-v-f5b883e3] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: min(1120px, 100%);
  margin: 0 auto 14px;
  padding: 12px 14px;
  border: 1px solid var(--sv-line-1);
  border-radius: var(--sv-radius-sm);
  background: #fff;
  color: var(--sv-ink-2);
  box-shadow: var(--sv-shadow-sm);
  font-weight: 800;
}
.calculator-service-anchor strong[data-v-f5b883e3] {
  color: var(--sv-brand-green-deep);
  font-family: var(--sv-font-display);
  font-size: clamp(1.7rem, 3vw, 2.5rem);
  font-weight: 700;
  line-height: 0.9;
}
.calculator-service-anchor em[data-v-f5b883e3] {
  color: var(--sv-ink-3);
  font-size: 0.9rem;
  font-style: normal;
  font-weight: 700;
}
.calculator-debug-controls[data-v-f5b883e3] {
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 1px solid #eee;
}

/* Inline portal sections styling */
.inline-portal-section[data-v-f5b883e3] {
  min-height: 60vh;
}
.inline-section-header[data-v-f5b883e3] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 24px;
  flex-wrap: wrap;
  gap: 16px;
}
.inline-section-header h2[data-v-f5b883e3] {
  margin: 8px 0 4px;
  font-size: 1.5rem;
  color: #1a1a1a;
}
.inline-badge[data-v-f5b883e3] {
  display: inline-block;
  background: var(--sv-brand-green-tint);
  color: var(--sv-brand-green-deep);
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 0;
}
.inline-subtitle[data-v-f5b883e3] {
  color: #666;
  font-size: 0.95rem;
  margin: 0;
}
.back-to-calc[data-v-f5b883e3] {
  background: var(--sv-brand-green) !important;
  color: #fff !important;
  padding: 10px 18px !important;
  border-radius: 10px !important;
  font-weight: 600 !important;
  font-size: 0.9rem !important;
  cursor: pointer;
  border: none;
  transition:
    transform 0.15s ease,
    box-shadow 0.15s ease;
}
.back-to-calc[data-v-f5b883e3]:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(42, 206, 123, 0.3);
}
.portal-placeholder-text[data-v-f5b883e3] {
  color: #888;
  font-style: italic;
  padding: 40px;
  text-align: center;
  background: #f8f9fa;
  border-radius: 12px;
}
.inline-policies-panel[data-v-f5b883e3],
.inline-inbox-panel[data-v-f5b883e3] {
  background: #fff;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}
@media (max-width: 1024px) {
.calculator-layout--integrated .calculator-main[data-v-f5b883e3] {
    display: block;
    width: min(100% - 40px, 1440px);
    padding-bottom: 32px;
}
.integrated-summary-sheet-backdrop[data-v-f5b883e3] {
    position: fixed;
    inset: 0;
    z-index: 60;
    display: flex;
    align-items: flex-end;
    background: rgba(14, 23, 20, 0.4);
}
.integrated-summary-sheet[data-v-f5b883e3] {
    display: grid;
    gap: 18px;
    width: 100%;
    max-height: min(82dvh, 720px);
    overflow: auto;
    padding: 10px 20px 24px;
    border-radius: var(--r-lg) var(--r-lg) 0 0;
    box-shadow: var(--shadow-3);
}
.integrated-summary-sheet-handle[data-v-f5b883e3] {
    justify-self: center;
    width: 32px;
    height: 4px;
    margin: 2px 0 4px;
    border-radius: var(--r-pill);
    background: var(--line-1);
}
.integrated-summary-sheet header[data-v-f5b883e3] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}
.integrated-summary-sheet-close[data-v-f5b883e3] {
    display: inline-grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid var(--line-1);
    border-radius: var(--r-pill);
    background: var(--bg-plain);
    color: var(--ink-1);
    font-size: 1.35rem;
    font-weight: 700;
}
}

/* Mobile: hide sidebar, adjust layout */
@media (max-width: 768px) {
#embedded-vue-app[data-v-f5b883e3] {
    padding: 5px;
}
.calculator-layout[data-v-f5b883e3] {
    flex-direction: column;
}
.calculator-layout .compact-sidebar[data-v-f5b883e3] {
    display: none;
}
.calculator-layout .calculator-main[data-v-f5b883e3] {
    padding: 0 5px;
}
.calculator-layout--integrated .calculator-main[data-v-f5b883e3] {
    width: min(100% - 20px, 1440px);
    padding: 10px 0 calc(96px + env(safe-area-inset-bottom, 0px));
}
.integrated-calculator-intro[data-v-f5b883e3] {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-bottom: 10px;
    padding: 12px;
    border-radius: var(--r-md);
}
.integrated-calculator-intro h1[data-v-f5b883e3] {
    font-size: 1.28rem;
    line-height: 1.12;
}
.integrated-calculator-intro-copy p[data-v-f5b883e3] {
    font-size: 0.88rem;
    line-height: 1.35;
}
.integrated-calculator-package-chip[data-v-f5b883e3] {
    width: 100%;
    padding: 10px 12px;
    border-radius: var(--r-sm);
}
.integrated-calculator-package-chip strong[data-v-f5b883e3] {
    font-size: 1.35rem;
}
.calculator-layout--integrated[data-v-f5b883e3] .main-title {
    margin-bottom: 12px;
    font-size: 1.6rem;
}
.calculator-layout--integrated[data-v-f5b883e3] .form-container {
    padding: 16px;
}
.calculator-layout--integrated[data-v-f5b883e3] .step-header {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
}
.calculator-layout--integrated[data-v-f5b883e3] .form-fields {
    grid-template-columns: 1fr;
    gap: 18px;
}
.calculator-service-anchor[data-v-f5b883e3] {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 10px;
}
}
@media (max-width: 480px) {
#embedded-vue-app[data-v-f5b883e3] {
    padding: 0;
}
}

/* Add styles for global-error if needed */
.global-error[data-v-f5b883e3] {
  background-color: #f8d7da;
  color: #721c24;
  padding: 10px;
  border: 1px solid #f5c6cb;
  border-radius: 4px;
  margin-bottom: 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.global-error button[data-v-f5b883e3] {
  background: none;
  border: none;
  color: #721c24;
  font-weight: bold;
  cursor: pointer;
  margin-left: 10px;
  padding: 5px;
}
.global-notice[data-v-f5b883e3] {
  padding: 10px;
  border-radius: 4px;
  margin-bottom: 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}
.global-notice--info[data-v-f5b883e3] {
  background-color: #e7f3ff;
  color: #0c5460;
  border: 1px solid #b8daff;
}
.global-notice__text[data-v-f5b883e3] {
  flex: 1;
}
.global-notice__actions[data-v-f5b883e3] {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}
.global-notice__primary[data-v-f5b883e3] {
  background-color: var(--sv-brand-green);
}
.global-notice__primary[data-v-f5b883e3]:hover:not(:disabled) {
  background-color: var(--sv-brand-green-deep);
}
.global-notice__secondary[data-v-f5b883e3] {
  background-color: #6c757d;
}
.global-notice__secondary[data-v-f5b883e3]:hover:not(:disabled) {
  background-color: #5a6268;
}
button[data-v-f5b883e3]:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

/* Remove horizontal padding on smaller screens */
@media (max-width: 768px) {
#embedded-vue-app[data-v-f5b883e3] {
    padding: 0;
}
#embedded-vue-app[data-mode='portal'][data-v-f5b883e3] {
    padding: 0;
}
#embedded-vue-app[data-mode='calculator'][data-v-f5b883e3] {
    padding: 0;
}
}

/* Styles for global loading overlay */
.global-loading-overlay[data-v-f5b883e3] {
  position: fixed; /* Cover viewport */
  inset: 0;
  background-color: rgba(255, 255, 255, 0.7); /* Semi-transparent white */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 1000; /* Ensure it's on top */
  text-align: center;
}
.global-loading-overlay .spinner[data-v-f5b883e3] {
  border: 5px solid rgba(0, 0, 0, 0.1);
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border-left-color: #03854c;
  margin-bottom: 20px;
  animation: spin-f5b883e3 1s linear infinite;
}
@keyframes spin-f5b883e3 {
to {
    transform: rotate(360deg);
}
}
.global-loading-overlay p[data-v-f5b883e3] {
  font-size: 1.2rem;
  color: #6c757d;
  font-weight: 500;
}
.email-verification-panel[data-v-f5b883e3] {
  max-width: 900px;
  margin: 0 auto;
  padding: clamp(12px, 2vw, 18px);
}
.email-verification-panel .panel[data-v-f5b883e3] {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.07);
  padding: clamp(20px, 3vw, 32px);
  display: grid;
  gap: 14px;
}
.panel-badge[data-v-f5b883e3] {
  display: inline-block;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(11, 107, 73, 0.1);
  color: #0b6b49;
  font-weight: 700;
  font-size: 0.9rem;
  letter-spacing: 0.05em;
}
.panel-status[data-v-f5b883e3] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 10px;
  background: #f3f4f6;
  color: #374151;
  font-weight: 600;
  border: 1px solid #e5e7eb;
}
.panel-status.success[data-v-f5b883e3] {
  background: rgba(34, 197, 94, 0.12);
  color: #0f5132;
  border-color: rgba(34, 197, 94, 0.35);
}
.panel-status.waiting[data-v-f5b883e3] {
  background: rgba(59, 130, 246, 0.12);
  color: #1d4ed8;
  border-color: rgba(59, 130, 246, 0.35);
}
.status-dot[data-v-f5b883e3] {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: currentColor;
}
.panel-actions[data-v-f5b883e3] {
  margin-top: 8px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.email-verification-panel h2[data-v-f5b883e3] {
  margin: 0;
  font-size: clamp(1.3rem, 2vw, 1.6rem);
  color: #0b3b2a;
}
.email-verification-panel p[data-v-f5b883e3] {
  margin: 0;
  color: #374151;
  line-height: 1.6;
}
