/* Light mode only - no CSS variables for theming */

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  font-weight: normal;
}

body {
  min-height: 100vh;
  color: #212529; /* Default dark text */
  background: #f8f9fa; /* Light gray page background */
  line-height: 1.6;
  font-family:
    Lexend,
    Inter,
    -apple-system,
    BlinkMacSystemFont,
    'Segoe UI',
    Roboto,
    Oxygen,
    Ubuntu,
    Cantarell,
    'Fira Sans',
    'Droid Sans',
    'Helvetica Neue',
    sans-serif;
  font-size: 15px;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#app {
  margin: 0 auto;
  padding: 2rem;
  font-weight: normal;
}

/* Remove outer padding when running in embedded app/portal modes */

#app[data-initial-mode="portal"],
#app[data-initial-mode="calculator"] {
  padding: 0;
}

/* Remove padding on mobile */

@media (max-width: 768px) {
  #app {
    padding: 0;
  }
}

a,
.green {
  text-decoration: none;
  color: hsla(160, 100%, 37%, 1);
  transition: 0.4s;
  padding: 3px;
}

@media (hover: hover) {
  a:hover {
    background-color: hsla(160, 100%, 37%, 0.2);
  }
}

@media (min-width: 1024px) {
  /* body {
    display: flex;
    place-items: center;
  } */

  /* #app {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 0 2rem;
  } */
}

/* ==============================================
   Mobile App (Capacitor) Specific Styles
   ============================================== */

/* Safe area insets for iPhone notch/home indicator */

:root {
  --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);
}

/* Apply safe areas to body when running as native app */

html.native-app {
  /* Ensure content doesn't go under status bar or home indicator */
  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);
}

/* Alternative: Apply safe areas to specific containers */

.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 elements should account for safe areas */

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

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

/* Keyboard visible state - adjust fixed bottom elements */

body.keyboard-visible .fixed-bottom,
body.keyboard-visible .bottom-nav,
body.keyboard-visible .compare-floating-container {
  /* Hide or move up when keyboard is visible */
  transform: translateY(100%);
  opacity: 0;
  pointer-events: none;
}

/* Smooth transition for keyboard appearance */

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

/* Prevent overscroll/bounce on iOS */

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

/* Disable text selection on buttons/interactive elements for native feel */

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

/* Faster tap response on mobile */

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

/* Prevent pull-to-refresh on Android */

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

/* Status bar background color extension for iOS */

html.native-app::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: var(--safe-area-inset-top);
  background-color: #0d9488; /* Match status bar color */
  z-index: 9999;
}

/* Hide status bar extension on web */

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

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

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

/* Input and select styles */
.form-input[data-v-c96542fd],
.form-select[data-v-c96542fd] {
  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-c96542fd]:focus,
.form-select[data-v-c96542fd]: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-c96542fd] {
  appearance: none;
  padding-right: 30px; /* Space for potential icon */
}

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

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

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

/* Custom toggle switch styles */
.toggle-switch[data-v-c96542fd] {
  position: relative;
  display: inline-block;
  width: 44px; /* Width of the switch */
  height: 24px; /* Height of the switch */
  cursor: pointer;
}
.toggle-slider[data-v-c96542fd] {
  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-c96542fd]::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-c96542fd] {
  background-color: #03854c; /* Primary color when on */
}
.form-checkbox:checked + .toggle-switch .toggle-slider[data-v-c96542fd]::before {
  transform: translateX(20px); /* Move knob to the right */
}

/* Focus state for accessibility */
.form-checkbox:focus-visible + .toggle-switch .toggle-slider[data-v-c96542fd] {
  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-c96542fd] {
  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-c96542fd] {
  font-size: 0.85rem;
  color: #6c757d;
  margin-top: 4px;
}

/* Error message styling */
.error-message[data-v-c96542fd] {
  color: #721c24; /* Use theme variable */
  font-size: 0.8rem;
  margin-top: 4px;
}
.form-group[data-v-c96542fd] {
  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-c96542fd] {
  grid-column: 1 / -1;
}

/* Indented styling for dependent fields */
.form-group-dependent[data-v-c96542fd] {
  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-c96542fd] {
  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-c96542fd] {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.toggle-choice__option[data-v-c96542fd] {
  appearance: none;
  border: 1px solid #d1d5db;
  background: #ffffff;
  color: #6b7280;
  font-weight: 600;
  font-size: 0.85rem;
  line-height: 1;
  padding: 10px 14px;
  min-height: 44px;
  border-radius: 999px;
  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-c96542fd] {
  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-c96542fd] {
  color: #9ca3af;
  border-color: #e5e7eb;
  background: #f9fafb;
}
.toggle-choice__option[data-v-c96542fd]:disabled {
  cursor: not-allowed;
  opacity: 0.6;
  box-shadow: none;
}

/* Basic Label */
label[data-v-c96542fd] {
  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-c96542fd],
input[type='number'][data-v-c96542fd],
input[type='date'][data-v-c96542fd],
select[data-v-c96542fd] {
  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-c96542fd]:hover,
input[type='number'][data-v-c96542fd]:hover,
input[type='date'][data-v-c96542fd]:hover,
select[data-v-c96542fd]:hover {
  border-color: var(--color-border-hover, #adb5bd);
}
input[type='text'][data-v-c96542fd]:focus,
input[type='number'][data-v-c96542fd]:focus,
input[type='date'][data-v-c96542fd]:focus,
select[data-v-c96542fd]: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-c96542fd]:disabled,
select[data-v-c96542fd]:disabled {
  background-color: #e9ecef;
  cursor: not-allowed;
  opacity: 0.7;
}
.required[data-v-c96542fd] {
  color: #dc3545; /* Bootstrap danger color */
  margin-left: 2px;
}

/* Standard Checkbox Removed */

/* --- Fancy Toggle Switch CSS --- */
.toggle-switch-label[data-v-c96542fd] {
  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-c96542fd] {
  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-c96542fd] {
  opacity: 0;
  width: 0;
  height: 0;
}
.slider[data-v-c96542fd] {
  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-c96542fd]:before {
  position: absolute;
  content: '';
  height: 22px;
  width: 22px;
  left: 3px;
  bottom: 3px;
  background-color: white;
  transition: 0.4s;
}
input:checked + .slider[data-v-c96542fd] {
  background-color: #0d6efd; /* Bootstrap primary blue */
}
input:focus + .slider[data-v-c96542fd] {
  box-shadow: 0 0 1px #0d6efd;
}
input:checked + .slider[data-v-c96542fd]:before {
  transform: translateX(24px);
}

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

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

/* --- Slider Input --- */
.form-slider[data-v-c96542fd] {
  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-c96542fd]:hover {
  opacity: 1;
}
.form-slider[data-v-c96542fd]::-webkit-slider-thumb {
  appearance: none;
  width: 18px;
  height: 18px;
  background: #0d6efd;
  border-radius: 50%;
  cursor: pointer;
}
.form-slider[data-v-c96542fd]::-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-c96542fd] {
  cursor: pointer;
  background-color: #ffffff; /* Or specific style */
}
.form-input.date-as-text[data-v-c96542fd]:disabled {
  cursor: not-allowed;
  background-color: #e9ecef;
  opacity: 0.7;
}

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

/* Ensure date input styles are applied correctly */
input[type='date'][data-v-c96542fd],
input[type='text'].date-as-text[data-v-c96542fd] {
  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-c96542fd]:focus,
input[type='text'].date-as-text[data-v-c96542fd]: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-c96542fd],
select[aria-invalid="true"][data-v-c96542fd],
.toggle-switch input[aria-invalid="true"] + .slider[data-v-c96542fd] /* 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-c96542fd]: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-c96542fd]:focus,
select[aria-invalid='true'][data-v-c96542fd]: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-c96542fd]: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-c96542fd] {
  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-c96542fd] {
  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-c96542fd] .field-info-icon {
  display: inline-flex;
  vertical-align: middle;
}

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

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

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

.license-plate-input-wrapper[data-v-7687606d] {
  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-7687606d] {
  margin-bottom: 0; /* Reset default */
  font-weight: 500;
  color: #212529;
}

/* Apply user-provided styles */
.kenteken-edit[data-v-7687606d] {
  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-7687606d] {
  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-7687606d] {
  font-size: 0.8rem;
  color: #856404;
}
.loading-indicator[data-v-7687606d],
.error-message[data-v-7687606d] {
  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-7687606d] {
  background-color: #f2f2f2;
  color: #6c757d;
}
.error-message[data-v-7687606d] {
  background-color: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
}
.spinner[data-v-7687606d] {
  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-7687606d 1s linear infinite;
}
@keyframes spin-7687606d {
to {
    transform: rotate(360deg);
}
}
.vehicle-details-integrated[data-v-7687606d] {
  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-7687606d] {
}
.detail-label[data-v-7687606d] {
  color: #6c757d;
  margin-right: 4px;
}
.detail-value[data-v-7687606d] {
  color: #212529;
  font-weight: 500;
}
.fade-enter-active[data-v-7687606d],
.fade-leave-active[data-v-7687606d] {
  transition: opacity 0.3s ease;
}
.fade-enter-from[data-v-7687606d],
.fade-leave-to[data-v-7687606d] {
  opacity: 0;
}

/* Label with info icon support */
.form-label-with-info[data-v-7687606d] {
  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-7687606d] .field-info-icon {
  display: inline-flex;
  vertical-align: middle;
}

.address-group[data-v-1ceb9546] {
  margin-bottom: 0;
  width: 100%;
}
.address-group > label[data-v-1ceb9546] {
  display: block;
  margin-bottom: 12px;
  font-weight: 500;
  color: #212529;
  font-size: 0.95rem;
  line-height: 1.4;
}
.address-inputs-row[data-v-1ceb9546] {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  margin-bottom: 12px;
  justify-content: flex-start;
}
.address-input-field[data-v-1ceb9546] {
  display: flex;
  flex-direction: column;
}
.address-input-field .sub-label[data-v-1ceb9546] {
  font-size: 0.8rem;
  color: #6c757d;
  margin-bottom: 3px;
  font-weight: normal;
}
.address-input-field input[type='text'][data-v-1ceb9546] {
  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-1ceb9546]: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-1ceb9546]:disabled {
  background-color: #e9ecef;
  cursor: not-allowed;
  opacity: 0.7;
}
.postcode-field input[data-v-1ceb9546] {
  width: 140px;
}
.huisnummer-field input[data-v-1ceb9546] {
  width: 100px;
}
.toevoeging-field input[data-v-1ceb9546] {
  width: 90px;
}

/* ADDED: Styles for full-width inputs */
.address-inputs-row.full-width .address-input-field[data-v-1ceb9546] {
  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-1ceb9546] {
  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-1ceb9546] {
  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-1ceb9546],
.error-message[data-v-1ceb9546],
.fetched-address-details[data-v-1ceb9546] {
  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-1ceb9546] {
  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-1ceb9546] {
  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-1ceb9546 0.8s linear infinite;
}
@keyframes spin-1ceb9546 {
to {
    transform: rotate(360deg);
}
}
.error-message[data-v-1ceb9546] {
  color: #721c24;
  background-color: #f8d7da;
  border: 1px solid #f5c6cb;
}
.address-input-field input[aria-invalid='true'][data-v-1ceb9546] {
  border-color: #f5c6cb !important;
}
.address-input-field input[aria-invalid='true'][data-v-1ceb9546]:focus {
  box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.15) !important;
}
.fetched-address-details[data-v-1ceb9546] {
  background-color: #e7f3ff;
  border: 1px solid #b3d9ff;
  border-left: 3px solid #0066cc;
}
.fetched-address-details p[data-v-1ceb9546] {
  margin: 0;
  color: #212529; /* Adjusted for better readability on info background */
}
.fetched-address-details .street[data-v-1ceb9546] {
  font-weight: 500;
}
.fetched-address-details .city[data-v-1ceb9546] {
  color: #495057;
}
.required[data-v-1ceb9546] {
  color: #dc3545;
  margin-left: 2px;
}

/* Mobile padding optimization */
@media (max-width: 768px) {
.address-input-field input[type='text'][data-v-1ceb9546] {
    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-f1b22208] {
  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-f1b22208] {
  width: 100%;
  max-width: 600px;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
}

/* Content */
.modal-content[data-v-f1b22208] {
  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-f1b22208] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid #e5e7eb;
  flex-shrink: 0;
}
.modal-title[data-v-f1b22208] {
  font-size: 1.25rem;
  font-weight: 600;
  color: #111827;
  margin: 0;
  padding-right: 12px;
}
.close-button[data-v-f1b22208] {
  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-f1b22208]:hover {
  background-color: #f3f4f6;
  color: #374151;
}
.close-button[data-v-f1b22208]:focus {
  outline: none;
  box-shadow: 0 0 0 2px #3b82f6;
}

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

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

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

/* Footer */
.modal-footer[data-v-f1b22208] {
  padding: 16px 24px;
  border-top: 1px solid #e5e7eb;
  flex-shrink: 0;
}
.close-button-footer[data-v-f1b22208] {
  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-f1b22208]:hover {
  background-color: #2563eb;
}
.close-button-footer[data-v-f1b22208]: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-f1b22208] {
    padding: 0;
    align-items: flex-end;
}
.modal-container[data-v-f1b22208] {
    max-width: 100%;
    max-height: 85vh;
}
.modal-content[data-v-f1b22208] {
    border-radius: 24px 24px 0 0;
}
.modal-header[data-v-f1b22208] {
    padding: 16px 20px;
}
.modal-title[data-v-f1b22208] {
    font-size: 1.125rem;
}
.modal-body[data-v-f1b22208] {
    padding: 20px;
}
.info-content[data-v-f1b22208] {
    gap: 20px;
}
.section-title[data-v-f1b22208] {
    font-size: 0.8125rem;
}
.section-content[data-v-f1b22208] {
    font-size: 0.9375rem;
}
}

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

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

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

.calculation-result-display[data-v-371166fb] {
  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;
}
.tariff-legal[data-v-371166fb] {
  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-371166fb] {
  display: none;
}
.legal-row-full[data-v-371166fb] {
  margin-bottom: 6px;
}
.legal-row-2[data-v-371166fb] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 16px;
}
.legal-col-header[data-v-371166fb] {
  display: none;
}
.legal-sec-header[data-v-371166fb] {
  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-371166fb] {
  flex-shrink: 0;
}
.legal-list[data-v-371166fb] {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.legal-list .legal-item[data-v-371166fb] {
  cursor: pointer;
}
.legal-list.fullwidth .legal-item[data-v-371166fb] {
  width: 100%;
}
.legal-item[data-v-371166fb] {
  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-371166fb]:hover {
  background-color: #f7fbf9;
}
.legal-title[data-v-371166fb] {
  font-size: 0.9rem;
  color: #2b2f31;
}
.legal-badge[data-v-371166fb] {
  font-weight: 700;
  color: #198754;
  min-width: 48px;
  text-align: center;
}
.legal-text[data-v-371166fb] {
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #495057;
}
.legal-action[data-v-371166fb] {
  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-371166fb] {
  padding: 2px 8px;
  font-size: 0.75rem;
}
.legal-action[data-v-371166fb]:hover {
  color: #157347;
  border-color: #157347;
}
.tariff-header[data-v-371166fb] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
}
.tariff-header-right[data-v-371166fb] {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 12px;
  position: relative;
  min-width: 220px;
}
.tariff-score-stack[data-v-371166fb] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
}
.tariff-score-badge[data-v-371166fb] {
  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-371166fb]:focus-visible {
  outline: 2px solid #198754;
  outline-offset: 2px;
}
.tariff-score-content[data-v-371166fb] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.tariff-score-text[data-v-371166fb] {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
}
.tariff-score-subtitle[data-v-371166fb] {
  font-size: 0.7rem;
  color: inherit;
  opacity: 0.65;
}
.tariff-score-badge--general[data-v-371166fb] {
  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-371166fb] {
  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-371166fb] {
  color: #64748b;
}
.tariff-score-badge--skeleton[data-v-371166fb],
.tariff-score-badge--empty[data-v-371166fb] {
  background: transparent;
  border-color: #d0d5dd;
  color: #6c757d;
  cursor: default;
  pointer-events: none;
}
.tariff-score-badge--skeleton[data-v-371166fb] {
  border-style: dashed;
}
.tariff-score-badge--skeleton[data-v-371166fb] {
  gap: 6px;
}
.tariff-score-stars[data-v-371166fb] {
  display: inline-flex;
  align-items: center;
  gap: 2px;
}
.tariff-star[data-v-371166fb] {
  position: relative;
  display: inline-block;
  font-size: 1rem;
  color: var(--star-base, #d4d9e6);
  line-height: 1;
}
.tariff-score-label[data-v-371166fb] {
  font-weight: 600;
  color: inherit;
}
.tariff-star[data-v-371166fb]::after {
  content: '★';
  position: absolute;
  inset: 0;
  color: var(--star-fill, #198754);
  width: 0;
  overflow: hidden;
}
.tariff-star.filled[data-v-371166fb]::after {
  width: 100%;
}
.tariff-star.half[data-v-371166fb]::after {
  width: 50%;
}
.tariff-score-info[data-v-371166fb] {
  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-371166fb] {
  background: rgba(15, 81, 50, 0.12);
  color: #0f5132;
}
.tariff-score-tooltip[data-v-371166fb] {
  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-371166fb] {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
  width: 100%;
}
.tariff-highlight[data-v-371166fb] {
  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-371166fb]::before {
  content: '★';
  font-size: 0.75rem;
}
.tariff-highlight--quality[data-v-371166fb] {
  background: rgba(59, 130, 246, 0.18);
  color: #1d4ed8;
}
.tariff-highlight--coverage[data-v-371166fb] {
  background: rgba(126, 58, 242, 0.18);
  color: #6d28d9;
}
.tariff-highlight--price[data-v-371166fb] {
  background: rgba(249, 115, 22, 0.18);
  color: #c2410c;
}
.tariff-score-tooltip h4[data-v-371166fb] {
  margin: 0 0 10px 0;
  font-size: 0.85rem;
  font-weight: 600;
  color: #0f5132;
}
.tariff-score-tooltip ul[data-v-371166fb] {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.tariff-score-tooltip .cluster-empty[data-v-371166fb] {
  margin: 0;
  font-size: 0.8rem;
  color: #64748b;
}
.tariff-score-tooltip li[data-v-371166fb] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.tariff-score-tooltip .cluster-name[data-v-371166fb] {
  font-size: 0.8rem;
  color: #1f2937;
  flex: 1;
  min-width: 0;
}
.tariff-score-tooltip .cluster-stars[data-v-371166fb] {
  display: inline-flex;
  gap: 2px;
}
.premium[data-v-371166fb] {
  font-size: 1.4rem;
  font-weight: 700;
  color: #0f172a;
}
.premium small[data-v-371166fb] {
  font-size: 0.8rem;
  color: #6c757d;
  margin-left: 4px;
}
.legal-loading-indicator[data-v-371166fb] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.78rem;
  color: #0f5132;
}
.legal-loading-dot[data-v-371166fb] {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #0f5132;
  animation: legalPulse-371166fb 1s ease-in-out infinite;
  display: inline-block;
}
.legal-empty[data-v-371166fb] {
  margin: 6px 0 0 0;
  font-size: 0.85rem;
  color: #6c757d;
}
.legal-list--skeleton[data-v-371166fb] {
  gap: 10px;
}
.legal-item.skeleton[data-v-371166fb] {
  background: #f1f3f5;
  border-style: dashed;
  border-color: #d0d5dd;
  cursor: default;
}
.legal-item.skeleton[data-v-371166fb]:hover {
  background: #f1f3f5;
}
.skeleton-bar[data-v-371166fb] {
  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-371166fb 1.2s ease-in-out infinite;
}
.skeleton-bar--long[data-v-371166fb] {
  width: 70%;
}
.skeleton-bar--short[data-v-371166fb] {
  width: 80px;
}
.skeleton-chip[data-v-371166fb] {
  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-371166fb 1.2s ease-in-out infinite;
  display: inline-block;
}
.personal-score-modal-backdrop[data-v-371166fb] {
  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-371166fb] {
  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-371166fb] {
  padding: 24px 28px 0 28px;
}
.personal-score-modal__header h3[data-v-371166fb] {
  margin: 0 0 10px 0;
  font-size: 1.25rem;
  color: #0f172a;
}
.personal-score-modal__header p[data-v-371166fb] {
  margin: 0 0 16px 0;
  color: #475569;
  font-size: 0.9rem;
}
.personal-score-modal__body[data-v-371166fb] {
  padding: 0 28px 24px 28px;
  overflow-y: auto;
}
.personal-score-modal__body ul[data-v-371166fb] {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.personal-score-modal__body li[data-v-371166fb] {
  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-371166fb]:last-child {
  border-bottom: none;
}
.personal-score-modal__body .cluster-label[data-v-371166fb] {
  font-size: 0.95rem;
  font-weight: 600;
  color: #0f172a;
  flex: 1;
}
.cluster-rating[data-v-371166fb] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.rating-star[data-v-371166fb] {
  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-371166fb] {
  color: #1d4ed8;
}
.rating-star[data-v-371166fb]:hover,
.rating-star[data-v-371166fb]:focus {
  transform: scale(1.1);
  outline: none;
}
.rating-value[data-v-371166fb] {
  font-size: 0.8rem;
  color: #475569;
  min-width: 50px;
  text-align: right;
}
.btn-secondary[data-v-371166fb],
.btn-primary[data-v-371166fb] {
  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-371166fb] {
  background: #f1f5f9;
  color: #0f172a;
}
.btn-secondary[data-v-371166fb]:hover {
  background: #e2e8f0;
}
.btn-primary[data-v-371166fb] {
  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-371166fb]:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 28px -18px rgba(3, 133, 76, 0.9);
}
.btn-primary[data-v-371166fb]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  box-shadow: none;
}
.personal-score-modal__footer[data-v-371166fb] {
  padding: 18px 28px 28px 28px;
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  border-top: 1px solid #e2e8f0;
}
.cluster-empty[data-v-371166fb] {
  margin: 16px 0;
  color: #64748b;
}
@media (max-width: 768px) {
.legal-grid[data-v-371166fb] {
    grid-template-columns: 1fr;
}
.legal-row-2[data-v-371166fb] {
    grid-template-columns: 1fr;
}
  /* Make items span full width and increase tap targets on mobile */
.legal-item[data-v-371166fb] {
    width: 100%;
    padding: 8px 10px;
    min-height: 40px;
}
.legal-row-2 .legal-item[data-v-371166fb] {
    width: 100%;
    padding: 8px 10px;
    min-height: 40px;
}
.legal-title[data-v-371166fb],
  .legal-text[data-v-371166fb] {
    font-size: 0.95rem;
}
.legal-badge[data-v-371166fb] {
    min-width: 48px;
    font-size: 0.9rem;
}
.legal-action[data-v-371166fb] {
    padding: 6px 10px;
    font-size: 0.85rem;
}
.legal-toggle-toolbar[data-v-371166fb] {
    margin-bottom: 12px;
}
.tariff-score-badge[data-v-371166fb] {
    justify-content: flex-start;
    width: 100%;
    min-width: 0;
}
.tariff-header-right[data-v-371166fb] {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    width: 100%;
}
.tariff-highlight-row[data-v-371166fb] {
    justify-content: flex-start;
}
}

/* Compact sizing for Clausules & Verzekeringskaart rows */
.legal-row-2 .legal-item[data-v-371166fb] {
  padding: 4px 6px;
  min-height: 28px;
}
.legal-row-2 .legal-title[data-v-371166fb],
.legal-row-2 .legal-text[data-v-371166fb] {
  font-size: 0.82rem;
}
.legal-row-2 .legal-badge[data-v-371166fb] {
  min-width: 40px;
  font-size: 0.82rem;
}
.legal-row-2 .legal-action[data-v-371166fb] {
  padding: 2px 6px;
  font-size: 0.72rem;
}
.fade-enter-active[data-v-371166fb],
.fade-leave-active[data-v-371166fb] {
  transition:
    opacity 0.15s ease,
    transform 0.15s ease;
}
.fade-enter-from[data-v-371166fb],
.fade-leave-to[data-v-371166fb] {
  opacity: 0;
  transform: translateY(4px);
}
@keyframes legalPulse-371166fb {
0%,
  100% {
    transform: scale(1);
    opacity: 0.7;
}
50% {
    transform: scale(1.3);
    opacity: 1;
}
}
@keyframes skeletonShimmer-371166fb {
0% {
    background-position: 200% 0;
}
100% {
    background-position: -200% 0;
}
}
.modifiable-fields-sidebar[data-v-371166fb] {
  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-371166fb] {
  opacity: 1 !important; /* Ensure full opacity during recalculation */
}
.legal-toggle-toolbar[data-v-371166fb] {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 16px;
  gap: 8px;
  flex-wrap: wrap;
}
.legal-toggle-btn[data-v-371166fb] {
  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-371166fb]: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-371166fb]:active {
  transform: translateY(0);
}
.personal-score-btn[data-v-371166fb] {
  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-371166fb]: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-371166fb]:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  box-shadow: none;
}
.sort-toggle-btn[data-v-371166fb] {
  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-371166fb]: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.active[data-v-371166fb] {
  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-371166fb] {
  display: inline-block;
  transition: transform 0.2s ease;
}
.legal-toggle-icon.collapsed[data-v-371166fb] {
  transform: rotate(-90deg);
}
.modifiable-form[data-v-371166fb] {
  display: flex;
  flex-direction: column;
  gap: 8px; /* Slightly more comfortable spacing */
  margin-bottom: auto;
  flex-grow: 1;
}

/* Styling form inputs within sidebar */
[data-v-371166fb] .modifiable-form .form-group {
  margin-bottom: 0;
}
[data-v-371166fb] .modifiable-form .form-group label {
  font-size: 0.85rem;
  font-weight: 500;
  margin-bottom: 2px; /* Reduced label spacing */
  color: #6c757d;
}
[data-v-371166fb] .modifiable-form .form-group input,[data-v-371166fb] .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-371166fb] .modifiable-form .form-group-checkbox-wrapper {
  padding: 1px 0; /* Minimal padding for checkbox wrappers */
}
[data-v-371166fb] .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-371166fb] .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-371166fb] {
  height: auto !important; /* CRITICAL: Override height: 100% from FormInput.vue */
  margin-bottom: 20px !important; /* Much more spacing between options */
  padding: 16px !important; /* Add padding inside each block */
  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-371166fb] {
  margin-bottom: 0px !important;
}
.modifiable-fields-sidebar label[data-v-371166fb] {
  margin-bottom: 8px !important; /* More space for better readability */
  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-371166fb],
.modifiable-fields-sidebar input[data-v-371166fb] {
  margin-bottom: 0px !important;
  margin-top: 4px !important; /* Small space after label */
  padding: 10px 12px !important; /* More comfortable padding */
  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-371166fb] {
  padding: 4px 0px !important; /* Small padding for better spacing */
  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-371166fb] {
  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-371166fb] {
  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-371166fb]:hover:not(:disabled) {
  background-color: #ffffff;
  border-color: #adb5bd;
}
.back-button[data-v-371166fb]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.new-calc-button[data-v-371166fb] {
  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-371166fb]:hover:not(:disabled) {
  background-color: #dee2e6;
  border-color: #ced4da;
}
.new-calc-button[data-v-371166fb]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.results-content[data-v-371166fb] {
  flex: 0 1 900px;
  min-width: 0;
  position: relative;
}
.results-content-inner[data-v-371166fb] {
  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-371166fb] {
  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-371166fb] {
  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-371166fb 1s linear infinite;
  opacity: 1;
}
@keyframes spin-371166fb {
to {
    transform: rotate(360deg);
}
}
.results-loading-overlay p[data-v-371166fb] {
  font-size: 1.1rem;
  color: #212529;
  opacity: 1;
}

/* Removed calculation-id styles as it's no longer displayed */
.no-results[data-v-371166fb] {
  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-371166fb] {
  font-size: 1.5rem;
  margin-bottom: 20px;
  color: #03854c;
  font-weight: 600;
}
.no-results p[data-v-371166fb] {
  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-371166fb] {
  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-371166fb] {
  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-371166fb]:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.feature-icon[data-v-371166fb] {
  color: #198754;
  font-weight: bold;
  font-size: 1.1rem;
  flex-shrink: 0;
}
.start-button[data-v-371166fb] {
  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-371166fb]:hover {
  background-color: #057343;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(3, 133, 76, 0.3);
}
.tariff-list[data-v-371166fb] {
  display: grid;
  grid-template-columns: 1fr;
  gap: 25px;
  position: relative;
  z-index: 1;
  overflow: visible;
}
.tariff-card[data-v-371166fb] {
  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-371166fb] {
  opacity: 0.6;
  pointer-events: none;
}
.tariff-card[data-v-371166fb]: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-371166fb] {
  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-371166fb] {
  display: flex;
  flex-direction: column;
  gap: 5px;
  flex: 1;
  min-width: 0; /* Allows text truncation */
}
.company-info[data-v-371166fb] {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.company-logo[data-v-371166fb] {
  max-height: 30px;
  max-width: 150px;
  object-fit: contain;
  vertical-align: middle;
}
.company-name[data-v-371166fb] {
  font-weight: 600;
  color: #343a40;
  font-size: 1.2rem;
}
.product-name[data-v-371166fb] {
  font-size: 0.9rem;
  color: #6c757d;
  line-height: 1.3;
  word-break: break-word; /* Handle long product names */
  hyphens: auto;
}
.premium[data-v-371166fb] {
  font-size: 1.5rem;
  font-weight: 700;
  color: #03854c;
  text-align: right;
  white-space: nowrap;
}
.premium small[data-v-371166fb] {
  font-size: 0.85rem;
  font-weight: normal;
  color: #6c757d;
}
.tariff-discount[data-v-371166fb] {
  color: #28a745;
  font-size: 0.85rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
  text-align: right;
}
.tariff-details[data-v-371166fb] {
  margin-bottom: 20px;
}
.details-section[data-v-371166fb] {
  /* Renamed from secondary-details */
  font-size: 0.9rem;
  color: #212529;
}
.details-list[data-v-371166fb] {
  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-371166fb] {
  font-style: italic;
  color: #6c757d;
  font-size: 0.85rem;
}
.detail-item[data-v-371166fb] {
  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-371166fb] {
  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-371166fb] {
  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-371166fb] {
  font-size: 1.1em;
  line-height: 1;
}
.icon-checkmark[data-v-371166fb] {
  color: #198754;
  font-weight: bold;
}
.icon-cross[data-v-371166fb] {
  color: #dc3545;
  font-weight: bold;
}

/* Links */
.tariff-links[data-v-371166fb] {
  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-371166fb] {
  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-371166fb]:hover {
  background-color: #dee2e6;
  border-color: #ced4da;
  color: #057343;
}

/* Clausules */
.tariff-clausules[data-v-371166fb] {
  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-371166fb] {
  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-371166fb]:hover:not(:disabled) {
  background-color: #057343;
  transform: translateY(-1px);
}
.select-button[data-v-371166fb]:disabled {
  background-color: #6c757d; /* Gray when disabled */
  color: white;
  cursor: not-allowed;
  opacity: 0.6;
}
.select-button .button-icon[data-v-371166fb] {
  font-size: 1.1em;
  line-height: 1;
}

/* Responsive adjustments */
@media (max-width: 1200px) {
.modifiable-fields-sidebar[data-v-371166fb] {
    flex-basis: 250px;
}
}
@media (max-width: 992px) {
.calculation-result-display[data-v-371166fb] {
    flex-direction: column;
    max-width: none;
    margin: 0;
    align-items: stretch;
}
.modifiable-fields-sidebar[data-v-371166fb] {
    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-371166fb] {
    width: 100%;
    flex: 1 1 auto;
}
.details-list[data-v-371166fb] {
    grid-template-columns: 1fr;
}
}
@media (max-width: 768px) {
.tariff-header[data-v-371166fb] {
    flex-direction: column;
    align-items: flex-start;
}
.premium[data-v-371166fb] {
    align-self: flex-start;
    margin-top: 10px;
    font-size: 1.4rem;
}
.tariff-card[data-v-371166fb] {
    padding: 10px 5px;
}
.select-button[data-v-371166fb] {
    position: relative;
    bottom: auto;
    right: auto;
    margin-top: 20px;
    width: 100%;
    justify-content: center;
}
.company-info[data-v-371166fb] {
    flex-direction: column;
    align-items: flex-start;
}
.company-logo[data-v-371166fb] {
    max-height: 25px;
}
}

/* =========================
   Comparison Checkbox
   ========================= */
.comparison-checkbox[data-v-371166fb] {
  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-371166fb]:hover {
  background: #f1f5f9;
  border-color: #cbd5e1;
}
.comparison-checkbox input[type="checkbox"][data-v-371166fb] {
  width: 16px;
  height: 16px;
  accent-color: #1d4ed8;
  cursor: pointer;
}
.comparison-checkbox input[type="checkbox"][data-v-371166fb]:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}
.comparison-checkbox .checkbox-label[data-v-371166fb] {
  color: #475569;
  font-weight: 500;
  transition: color 0.15s ease;
}
.comparison-checkbox input[type="checkbox"]:checked + .checkbox-label[data-v-371166fb] {
  color: #1d4ed8;
}

/* =========================
   Floating Compare Button
   ========================= */
.compare-floating-container[data-v-371166fb] {
  position: fixed;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 6px;
  z-index: 1000;
}
.compare-floating-button[data-v-371166fb] {
  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-371166fb]: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-371166fb]:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}
.compare-button-icon[data-v-371166fb] {
  font-size: 1em;
}
.compare-clear-button[data-v-371166fb] {
  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-371166fb]:hover {
  background: white;
  color: #ef4444;
  border-color: #ef4444;
}

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

/* =========================
   Comparison Modal - Enhanced Design
   ========================= */
.comparison-modal-backdrop[data-v-371166fb] {
  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-371166fb] {
  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-371166fb] {
  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-371166fb] {
  display: flex;
  align-items: center;
  gap: 10px;
}
.comparison-modal__icon[data-v-371166fb] {
  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-371166fb] {
  width: 18px;
  height: 18px;
  color: white;
}
.comparison-modal__header h3[data-v-371166fb] {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  color: white;
  letter-spacing: -0.01em;
}
.comparison-modal__subtitle[data-v-371166fb] {
  display: none;
}
.comparison-modal__close[data-v-371166fb] {
  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-371166fb] {
  width: 16px;
  height: 16px;
}
.comparison-modal__close[data-v-371166fb]:hover {
  background: rgba(255, 255, 255, 0.25);
  transform: scale(1.05);
}
.comparison-modal__body[data-v-371166fb] {
  flex: 1;
  overflow-y: auto;
  padding: 0;
}
.comparison-modal__footer[data-v-371166fb] {
  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-371166fb] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.82rem;
  color: #64748b;
}
.comparison-modal__footer-info svg[data-v-371166fb] {
  color: #94a3b8;
}

/* Toolbar & Search */
.comparison-toolbar[data-v-371166fb] {
  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-371166fb] {
  position: relative;
  flex: 1;
  min-width: 280px;
  max-width: 480px;
}
.comparison-search__icon[data-v-371166fb] {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: #94a3b8;
  pointer-events: none;
}
.comparison-search__input[data-v-371166fb] {
  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-371166fb]::placeholder {
  color: #94a3b8;
}
.comparison-search__input[data-v-371166fb]: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-371166fb] {
  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-371166fb]:hover {
  background: #cbd5e1;
  color: #0f172a;
}
.comparison-toolbar__actions[data-v-371166fb] {
  display: flex;
  gap: 8px;
}
.comparison-toolbar__btn[data-v-371166fb] {
  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-371166fb]:hover {
  background: #f1f5f9;
  border-color: #cbd5e1;
  color: #0f172a;
}

/* Search Results */
.comparison-search-results[data-v-371166fb] {
  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-371166fb] {
  font-size: 0.88rem;
  color: #0f766e;
  font-weight: 600;
}
.comparison-search-results__clear[data-v-371166fb] {
  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-371166fb]:hover {
  color: #0f766e;
}

/* No Results */
.comparison-no-results[data-v-371166fb] {
  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-371166fb] {
  margin: 16px 0;
  font-size: 1rem;
}

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

/* Provider Headers */
.comparison-providers[data-v-371166fb] {
  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-371166fb] {
  background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
  padding: 16px 20px;
  display: flex;
  align-items: center;
}
.comparison-providers__label-text[data-v-371166fb] {
  font-weight: 700;
  font-size: 0.9rem;
  color: #475569;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.comparison-provider[data-v-371166fb] {
  background: #ffffff;
  padding: 12px;
}
.comparison-provider__card[data-v-371166fb] {
  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-371166fb]:hover {
  border-color: #0d9488;
  box-shadow: 0 4px 12px -4px rgba(13, 148, 136, 0.15);
}
.comparison-provider__price[data-v-371166fb] {
  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-371166fb] {
  font-size: 1.35rem;
  font-weight: 800;
  color: #0d9488;
  letter-spacing: -0.025em;
}
.comparison-provider__price-period[data-v-371166fb] {
  font-size: 0.75rem;
  color: #64748b;
  font-weight: 500;
}
.comparison-provider__discount[data-v-371166fb] {
  color: #28a745;
  font-size: 0.7rem;
  font-weight: 600;
  margin-left: 4px;
}
.comparison-provider__logo-container[data-v-371166fb] {
  width: 60px;
  height: 40px;
  margin: 0 auto 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.comparison-provider__logo[data-v-371166fb] {
  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-371166fb] {
  filter: grayscale(0);
}
.comparison-provider__logo-placeholder[data-v-371166fb] {
  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-371166fb] {
  font-weight: 700;
  font-size: 0.85rem;
  color: #0f172a;
  display: block;
  line-height: 1.3;
  margin-bottom: 2px;
}
.comparison-provider__product[data-v-371166fb] {
  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-371166fb] {
  font-weight: 700;
  font-size: 0.9rem;
  color: #0f172a;
  display: block;
  line-height: 1.3;
}

/* Clusters */
.comparison-clusters[data-v-371166fb] {
  background: #ffffff;
}
.comparison-cluster[data-v-371166fb] {
  border-bottom: 1px solid #e2e8f0;
  transition: all 0.2s ease;
}
.comparison-cluster[data-v-371166fb]:last-child {
  border-bottom: none;
}
.comparison-cluster--expanded[data-v-371166fb] {
  background: #fafbfc;
}
.comparison-cluster__header[data-v-371166fb] {
  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-371166fb]:hover {
  background: linear-gradient(90deg, #f1f5f9 0%, #f8fafc 100%);
}
.comparison-cluster__name-col[data-v-371166fb] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 16px 20px;
}
.comparison-cluster__chevron[data-v-371166fb] {
  color: #94a3b8;
  transition: transform 0.2s ease;
  flex-shrink: 0;
}
.comparison-cluster__chevron--open[data-v-371166fb] {
  transform: rotate(90deg);
  color: #0d9488;
}
.comparison-cluster__name[data-v-371166fb] {
  font-weight: 700;
  color: #0f172a;
  font-size: 0.95rem;
}
.comparison-cluster__name[data-v-371166fb] mark {
  background: linear-gradient(135deg, #fef08a, #fde047);
  color: inherit;
  padding: 1px 4px;
  border-radius: 4px;
}
.comparison-cluster__match-count[data-v-371166fb] {
  font-size: 0.75rem;
  background: #0d9488;
  color: white;
  padding: 3px 8px;
  border-radius: 999px;
  font-weight: 600;
}
.comparison-cluster__scores[data-v-371166fb] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 1px;
  background: #f1f5f9;
}
.comparison-cluster__score[data-v-371166fb] {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding: 16px 12px;
  background: #ffffff;
}
.comparison-cluster__score-value[data-v-371166fb] {
  font-size: 0.85rem;
  font-weight: 700;
  color: #475569;
  background: #f1f5f9;
  padding: 4px 10px;
  border-radius: 8px;
}

/* Enhanced Stars */
.comparison-stars[data-v-371166fb] {
  display: flex;
  gap: 3px;
}
.comparison-star[data-v-371166fb] {
  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-371166fb] {
  filter: drop-shadow(0 2px 4px rgba(245, 158, 11, 0.4));
}
.comparison-star--half svg[data-v-371166fb] {
  opacity: 0.7;
}
.comparison-star--empty svg[data-v-371166fb] {
  opacity: 0.5;
}

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

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

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

  /* Provider headers - horizontal compact row */
.comparison-providers[data-v-371166fb] {
    display: flex;
    flex-wrap: nowrap;
    gap: 0;
    background: #f1f5f9;
    position: sticky;
    top: 0;
    z-index: 10;
}
.comparison-providers__label[data-v-371166fb] {
    display: none;
}
.comparison-provider[data-v-371166fb] {
    flex: 1;
    min-width: 0;
    padding: 6px 3px;
}
.comparison-provider__card[data-v-371166fb] {
    padding: 6px 4px;
    border-radius: 6px;
}
.comparison-provider__price[data-v-371166fb] {
    margin-bottom: 4px;
    padding-bottom: 4px;
}
.comparison-provider__price-value[data-v-371166fb] {
    font-size: 0.8rem;
}
.comparison-provider__price-period[data-v-371166fb] {
    font-size: 0.55rem;
}
.comparison-provider__logo-container[data-v-371166fb] {
    width: 32px;
    height: 22px;
    margin-bottom: 3px;
}
.comparison-provider__company[data-v-371166fb] {
    font-size: 0.6rem;
    line-height: 1.2;
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
}
.comparison-provider__product[data-v-371166fb] {
    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-371166fb] {
    display: flex;
    flex-direction: column;
    gap: 0;
}
.comparison-cluster__name-col[data-v-371166fb] {
    width: 100%;
    padding: 10px 12px;
    background: linear-gradient(90deg, #f8fafc 0%, #ffffff 100%);
    border-bottom: 1px solid #e2e8f0;
    justify-content: center;
}
.comparison-cluster__name[data-v-371166fb] {
    font-size: 0.85rem;
    font-weight: 700;
    text-align: center;
    width: 100%;
}
.comparison-cluster__chevron[data-v-371166fb] {
    display: none;
}
.comparison-cluster__match-count[data-v-371166fb] {
    font-size: 0.65rem;
    padding: 1px 5px;
}
.comparison-cluster__scores[data-v-371166fb] {
    display: flex;
    width: 100%;
    background: #ffffff;
}
.comparison-cluster__score[data-v-371166fb] {
    flex: 1;
    padding: 8px 4px;
    gap: 4px;
    border-right: 1px solid #f1f5f9;
    min-width: 0;
}
.comparison-cluster__score[data-v-371166fb]:last-child {
    border-right: none;
}
.comparison-stars[data-v-371166fb] {
    gap: 1px;
    flex-wrap: wrap;
    justify-content: center;
}
.comparison-stars svg[data-v-371166fb] {
    width: 12px;
    height: 12px;
}
.comparison-cluster__score-value[data-v-371166fb] {
    font-size: 0.65rem;
    padding: 2px 4px;
}

  /* Details - stacked layout */
.comparison-detail[data-v-371166fb] {
    display: flex;
    flex-direction: column;
}
.comparison-detail__name[data-v-371166fb] {
    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-371166fb] {
    display: flex;
    width: 100%;
    border-bottom: 1px solid #f1f5f9;
}
.comparison-detail__value[data-v-371166fb] {
    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-371166fb]:last-child {
    border-right: none;
}

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

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

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

/* Compare floating button & checkbox - kept from original */
.compare-floating-button[data-v-371166fb] {
  padding: 12px 20px;
  font-size: 0.85rem;
}
.comparison-checkbox[data-v-371166fb] {
  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-371166fb] {
    padding: 10px 14px;
    min-height: 44px;
    font-size: 0.82rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.legal-action.small[data-v-371166fb] {
    padding: 8px 12px;
    min-height: 44px;
    font-size: 0.78rem;
}
.legal-row-2 .legal-action[data-v-371166fb] {
    padding: 8px 10px;
    min-height: 44px;
    font-size: 0.75rem;
}

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

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

  /* Tariff header - stack on mobile */
.tariff-header[data-v-371166fb] {
    flex-direction: column;
    gap: 12px;
    align-items: stretch;
}
}
@media (max-width: 480px) {
  /* Further adjustments for very small screens */
.legal-item[data-v-371166fb] {
    flex-direction: column;
    gap: 8px;
    padding: 10px;
}
.legal-item .legal-text[data-v-371166fb] {
    width: 100%;
    text-align: left;
    white-space: normal;
}
.legal-action[data-v-371166fb] {
    width: 100%;
}
}

.calculation-wrapper[data-v-10e9856a] { padding: 20px; background-color: #f8f9fa; min-height: 100vh; box-sizing: border-box; position: relative;
}
.main-title[data-v-10e9856a] { text-align: center; margin-bottom: 30px; font-size: 2rem; color: #057343;
}
.loading-config[data-v-10e9856a] { text-align: center; padding: 40px 0; color: #6c757d;
}
.form-container[data-v-10e9856a] { 
  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-10e9856a] { 
  display: flex; 
  justify-content: space-between; 
  align-items: center; 
  margin-bottom: 35px; 
  padding-bottom: 15px; 
  border-bottom: 2px solid #dee2e6;
}
h3[data-v-10e9856a] { 
  margin-top: 0; 
  margin-bottom: 5px; 
  color: #343a40; 
  font-size: 1.6rem; 
  font-weight: 600;
}
.step-header span[data-v-10e9856a] {
  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-10e9856a] {
  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-10e9856a] {
  font-size: 1.5rem;
  flex-shrink: 0;
}
.ingangsdatum-warning-banner .warning-content[data-v-10e9856a] {
  flex: 1;
}
.ingangsdatum-warning-banner .warning-content strong[data-v-10e9856a] {
  display: block;
  color: #856404;
  font-size: 1rem;
  margin-bottom: 4px;
}
.ingangsdatum-warning-banner .warning-content p[data-v-10e9856a] {
  color: #856404;
  font-size: 0.9rem;
  margin: 0;
  line-height: 1.5;
}
.ingangsdatum-warning-banner .dismiss-btn[data-v-10e9856a] {
  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-10e9856a]:hover {
  opacity: 1;
}
.form-fields[data-v-10e9856a] { 
  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-10e9856a] {
    grid-template-columns: repeat(2, 1fr);
}
}

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

/* Field sections for grouping related fields */
.field-section[data-v-10e9856a] {
  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-10e9856a] {
    grid-template-columns: repeat(3, 1fr);
}
}
.field-section-title[data-v-10e9856a] {
  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-10e9856a]::before {
  content: '';
  display: inline-block;
  width: 4px;
  height: 24px;
  background-color: #03854c;
  border-radius: 2px;
}

/* Auto-filled indicator */
.field-autofilled[data-v-10e9856a] {
  position: relative;
  padding-top: 18px;
}
.field-autofilled input[data-v-10e9856a] {
  background-color: #f8f9fa !important;
  border-color: #dee2e6 !important;
}
.field-suggestion-applied[data-v-10e9856a] {
  position: relative;
  padding-top: 18px;
}
.field-suggestion-applied input[data-v-10e9856a],
.field-suggestion-applied select[data-v-10e9856a],
.field-suggestion-applied textarea[data-v-10e9856a] {
  border-color: #2563eb;
  box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.2);
}
.autofill-indicator[data-v-10e9856a] {
  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-10e9856a] {
  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-10e9856a]::before {
  content: '💡';
}
.field-locked-indicator[data-v-10e9856a] {
  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-10e9856a] {
  position: relative;
}
.field-empty-required[data-v-10e9856a] input:not(:focus):not(:disabled),
.field-empty-required[data-v-10e9856a] select:not(:focus):not(:disabled),
.field-empty-required[data-v-10e9856a] textarea:not(:focus):not(:disabled) {
  background-color: #fffbf0 !important;
  border-color: #f0e68c !important;
}
.field-empty-required[data-v-10e9856a] input:focus:not(:disabled),
.field-empty-required[data-v-10e9856a] select:focus:not(:disabled),
.field-empty-required[data-v-10e9856a] 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-10e9856a] .address-fields input:not(:focus):not(:disabled) {
  background-color: #fffbf0 !important;
  border-color: #f0e68c !important;
}
.address-wrapper[data-v-10e9856a] {
  position: relative;
  grid-column: 1 / -1; /* Ensure address fields span full width */
}

/* Field error states */
.field-error[data-v-10e9856a] {
  position: relative;
}
.field-error[data-v-10e9856a] input,
.field-error[data-v-10e9856a] select,
.field-error[data-v-10e9856a] textarea {
  border-color: #dc3545 !important;
  border-width: 2px !important;
  padding-right: 35px !important;
}
.field-error[data-v-10e9856a] input:focus,
.field-error[data-v-10e9856a] select:focus,
.field-error[data-v-10e9856a] 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-10e9856a]::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-10e9856a]:has(:deep(label))::after {
  top: calc(50% + 15px);
}

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

/* --- Calculation Loading Overlay --- */
.calculation-loading-overlay[data-v-10e9856a] {
  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-10e9856a] {
  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-10e9856a] {
  margin: 14px 0 6px;
  color: #0b7d49;
  font-size: 1.4rem;
  font-weight: 800;
}
.loading-subtitle[data-v-10e9856a] {
  margin: 0;
  color: #2b463b;
  font-size: 0.95rem;
}

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

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

/* Position icon inline after label text */
.field-with-info[data-v-10e9856a] label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  position: relative;
}
.field-with-info[data-v-10e9856a] >  .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-10e9856a] >  .form-group label::after {
  content: '';
  width: 26px; /* Reserve space for icon */
  display: inline-block;
}
.field-with-info[data-v-10e9856a] >  .form-group .field-info-icon {
  position: absolute;
  top: 0;
  left: auto;
  margin-left: 6px;
}

/* For checkbox fields */
.field-with-info[data-v-10e9856a] >  .form-group-checkbox-wrapper {
  position: relative;
}
.field-with-info[data-v-10e9856a] >  .toggle-switch-label {
  padding-right: 30px; /* Make room for icon */
}
.field-disabled-reason[data-v-10e9856a] {
  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-10e9856a] { padding: 30px;
}
.form-fields[data-v-10e9856a] { 
    grid-template-columns: 1fr; 
    gap: 20px;
}
.form-fields[data-v-10e9856a] >  .form-group {
    grid-column: span 1;
}
.form-fields[data-v-10e9856a] >  .form-group-full {
    grid-column: span 1;
}
.field-section[data-v-10e9856a] {
    grid-template-columns: 1fr;
    padding: 20px;
}
}
@media (max-width: 768px) {
.calculation-wrapper[data-v-10e9856a] { padding: 0 5px;
}
.main-title[data-v-10e9856a] { font-size: 1.6rem; margin-bottom: 20px;
}
.form-container[data-v-10e9856a] { padding: 5px; border-radius: 8px;
}
.form-fields[data-v-10e9856a] {
      grid-template-columns: 1fr;
      gap: 20px;
}

    /* All fields full width on mobile */
.form-fields[data-v-10e9856a] >  .form-group,
    .form-fields[data-v-10e9856a] >  .form-group-third,
    .form-fields[data-v-10e9856a] >  .form-group-full,
    .form-fields[data-v-10e9856a] >  .address-group {
        grid-column: span 1;
}
.field-section[data-v-10e9856a] {
      grid-template-columns: 1fr;
      padding: 5px;
      gap: 16px;
}
h3[data-v-10e9856a] { font-size: 1.3rem;
}
.step-header span[data-v-10e9856a] { font-size: 0.85rem; padding: 4px 10px;
}
button[data-v-10e9856a] { padding: 12px 20px;
}
.navigation-buttons[data-v-10e9856a] { flex-direction: column-reverse; gap: 12px;
}
.navigation-buttons button[data-v-10e9856a] { width: 100%;
}
.error-actions[data-v-10e9856a] { flex-direction: column;
}
.error-actions button[data-v-10e9856a] { width: 100%;
}
    
    /* Adjust info icon position on mobile */
.field-with-info[data-v-10e9856a] >  .field-info-icon {
        position: static;
        margin-left: 8px;
        align-self: center;
}
.field-with-info[data-v-10e9856a] >  .form-group-checkbox-wrapper + :deep(.field-info-icon) {
        position: static;
        margin-left: 8px;
}
}
.field-disabled-reason[data-v-10e9856a] {
    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-10e9856a] {
    grid-column: 1 / -1;
    width: 100%;
    margin-top: -10px; /* Reduce gap after address fields */
}
.address-status-container .loading-indicator[data-v-10e9856a] {
    display: flex;
    align-items: center;
    color: #6c757d;
    padding: 8px 0;
    font-size: 0.9rem;
}
.address-status-container .spinner[data-v-10e9856a] {
    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-10e9856a] {
    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-10e9856a] {
    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-10e9856a] {
    margin: 0;
    color: #212529;
}

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

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

/* Section title styling */
h4.field-section-title[data-v-10e9856a] {
  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-10e9856a] {
  max-width: 800px;
  margin: 30px auto;
}
.no-products-message[data-v-10e9856a] {
  background-color: #fff3cd;
  border: 1px solid #ffeaa7;
  color: #856404;
  padding: 25px;
  border-radius: 8px;
  text-align: center;
}
.no-products-message h3[data-v-10e9856a] {
  margin-top: 0;
  color: #856404;
  margin-bottom: 15px;
  font-size: 1.4rem;
}
.no-products-message p[data-v-10e9856a] {
  margin-bottom: 15px;
  line-height: 1.5;
}
.no-products-message ul[data-v-10e9856a] {
  text-align: left;
  max-width: 500px;
  margin: 15px auto 25px auto;
  padding-left: 20px;
}
.no-products-message li[data-v-10e9856a] {
  margin-bottom: 8px;
  line-height: 1.4;
}
.no-products-actions[data-v-10e9856a] {
  display: flex;
  gap: 15px;
  justify-content: center;
  margin-top: 20px;
}
.no-products-actions button[data-v-10e9856a] {
  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-10e9856a]:hover {
  background-color: #218838;
}
.no-products-actions button[data-v-10e9856a]:first-child {
  background-color: #6c757d;
}
.no-products-actions button[data-v-10e9856a]:first-child:hover {
  background-color: #5a6268;
}

/* Card container aligned with CalculationOverview */
.insurance-suggestions-card.enhanced[data-v-159610f8] {
  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-159610f8] {
  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-159610f8] {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.title-icon[data-v-159610f8] {
  font-size: 1.2rem;
}
.card-body[data-v-159610f8] {
  padding: 16px;
}

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

/* Suggestion rows */
.suggestions-list[data-v-159610f8] {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.suggestion-row[data-v-159610f8] {
  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-159610f8] {
  display: flex;
  gap: 12px;
  align-items: center;
}
.product-icon[data-v-159610f8] {
  width: 44px;
  height: 44px;
  border-radius: 8px;
  background: #f3f4f6;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
}
.row-info[data-v-159610f8] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0; /* Allow flex item to shrink below content size */
  overflow-wrap: anywhere;
}
.name[data-v-159610f8] {
  font-weight: 600;
  color: #343a40;
}
.meta[data-v-159610f8] {
  font-size: 0.9rem;
  color: #6c757d;
}
.meta.unavailable[data-v-159610f8] { color: #9aa1a7; font-style: italic;
}

/* Provider pills removed */
.row-actions[data-v-159610f8] {
  display: flex;
  align-items: center;
}
.suggestion-row.disabled[data-v-159610f8] { opacity: 0.55; filter: grayscale(0.1);
}
.suggestion-row.disabled .primary-button[data-v-159610f8] { background-color: #b0b8bd; cursor: not-allowed;
}
.primary-button[data-v-159610f8] {
  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-159610f8] {
  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-159610f8]:hover {
  background-color: #f1f3f5;
  border-color: #adb5bd;
}
.primary-button .btn-content[data-v-159610f8] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.primary-button .price-badge[data-v-159610f8] {
  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-159610f8]:hover:not(:disabled) {
  background-color: #057343;
}
.primary-button[data-v-159610f8]:disabled {
  background-color: #adb5bd;
  cursor: not-allowed;
  opacity: 0.85;
}
.small-spinner[data-v-159610f8] {
  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-159610f8 0.8s linear infinite;
}
@media (max-width: 768px) {
.suggestion-row[data-v-159610f8] {
    grid-template-columns: 1fr;
    align-items: start;
}
.row-actions[data-v-159610f8] {
    justify-content: flex-start;
}
}

/* Assumptions tooltip */
.assumptions[data-v-159610f8] {
  position: relative;
  display: inline-block;
  margin-left: 6px;
}
.assumptions .info-icon[data-v-159610f8] {
  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-159610f8],
.assumptions:focus-within .tooltip[data-v-159610f8] {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}
.tooltip[data-v-159610f8] {
  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-159610f8]::after {
  content: '';
  position: absolute;
  top: -6px;
  left: 12px;
  border-width: 6px;
  border-style: solid;
  border-color: transparent transparent #fff transparent;
}
.tooltip-title[data-v-159610f8] {
  font-weight: 600;
  color: #343a40;
  margin-bottom: 6px;
  font-size: 0.95rem;
}
.tooltip-list[data-v-159610f8] {
  list-style: none;
  padding: 0;
  margin: 0;
}
.tooltip-list li[data-v-159610f8] {
  font-size: 0.9rem;
  color: #495057;
  padding: 2px 0;
}
.tooltip-list .k[data-v-159610f8] {
  color: #6c757d;
}
.tooltip-list .v[data-v-159610f8] {
  color: #212529;
  font-weight: 500;
}
.tooltip-footer[data-v-159610f8] {
  margin-top: 8px;
  font-size: 0.8rem;
  color: #6c757d;
}
.source-badge[data-v-159610f8] {
  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-159610f8] {
  background: #e7f1ff;
  color: #084298;
  border-color: #b6d4fe;
}
.source-badge.default[data-v-159610f8] {
  background: #f8f9fa;
  color: #6c757d;
  border-color: #dee2e6;
}

/* Custom color variables for insurance cards */
[data-v-54ed87f6]: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-54ed87f6] {
  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-54ed87f6] {
  margin-top: 16px;
}
.suggestions-loader[data-v-54ed87f6] {
  display: none !important;
}
.overview-title[data-v-54ed87f6] {
  text-align: center;
  font-size: 1.8rem;
  color: #343a40;
  margin-bottom: 20px;
  font-weight: 600;
}

/* Dev Controls */
.dev-controls[data-v-54ed87f6] {
  text-align: center;
  margin-bottom: 20px;
  padding: 15px;
  background-color: #fff3cd;
  border: 1px solid #ffeeba;
  border-radius: 8px;
}
.reset-button[data-v-54ed87f6] {
  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-54ed87f6]:hover {
  background-color: #c82333;
}

/* Loading/Error/Empty states remain the same */
.loading-state[data-v-54ed87f6],
.error-state[data-v-54ed87f6],
.empty-state[data-v-54ed87f6] {
  text-align: center;
  padding: 60px 20px;
  border: 1px dashed #dee2e6;
  border-radius: 8px;
  background-color: #f8f9fa;
}
.loading-state p[data-v-54ed87f6],
.error-state p[data-v-54ed87f6],
.empty-state p[data-v-54ed87f6] {
  font-size: 1.1rem;
  color: #6c757d;
  margin-top: 15px;
}
.error-state h2[data-v-54ed87f6],
.empty-state h2[data-v-54ed87f6] {
  color: #343a40;
  margin-bottom: 15px;
}
.error-state button[data-v-54ed87f6],
.empty-state button[data-v-54ed87f6] {
  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-54ed87f6]:hover,
.empty-state button[data-v-54ed87f6]:hover {
  background-color: #057343;
}
/* Compact insurance cards for "Add More" section */
.insurance-selection-grid.compact[data-v-54ed87f6] {
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 18px;
  margin-top: 20px;
}
.insurance-card.compact[data-v-54ed87f6] {
  min-height: 160px;
  padding: 22px 16px;
  position: relative;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}
.insurance-card.selected-card[data-v-54ed87f6] {
  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-54ed87f6] {
  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-54ed87f6]:disabled {
  cursor: not-allowed;
  opacity: 0.65;
  box-shadow: none;
}
.selected-pill[data-v-54ed87f6] {
  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-54ed87f6]::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-54ed87f6] {
  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-54ed87f6] {
  opacity: 0.85;
  cursor: not-allowed;
  border-color: #f59e0b;
  background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
}
.insurance-card.has-policy[data-v-54ed87f6]:hover {
  transform: none;
  box-shadow: 0 4px 12px rgba(217, 119, 6, 0.15);
}
.insurance-card.has-policy .insurance-icon[data-v-54ed87f6] {
  opacity: 0.7;
}
.insurance-card.has-policy .insurance-title[data-v-54ed87f6],
.insurance-card.has-policy .insurance-description[data-v-54ed87f6],
.insurance-card.has-policy .insurance-tagline[data-v-54ed87f6] {
  opacity: 0.8;
}

/* Primary Products - Green styling */
.insurance-card.primary-product[data-v-54ed87f6] {
  background: #ffffff; /* remove special primary styling */
  border-color: #dee2e6;
}
.insurance-card.primary-product[data-v-54ed87f6]: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-54ed87f6]::before {
  content: none; /* remove top edge bar */
}
.insurance-card.primary-product .insurance-icon[data-v-54ed87f6] {
  animation: none; /* stop bouncing */
}

/* Complementary Products - Orange styling */
.insurance-card.complementary-product[data-v-54ed87f6] {
  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-54ed87f6]: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-54ed87f6]::before {
  background: linear-gradient(90deg, #f97316, #fb923c);
}

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

/* Pulse animation for badges */
@keyframes pulse-54ed87f6 {
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-54ed87f6] {
  animation: pulse-54ed87f6 2s infinite;
}

/* Promotional Badges */
.badge-popular[data-v-54ed87f6],
.badge-recommended[data-v-54ed87f6],
.badge-trending[data-v-54ed87f6],
.badge-bundle[data-v-54ed87f6] {
  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-54ed87f6] {
  background: #dc2626;
  color: white;
}
.badge-recommended[data-v-54ed87f6] {
  background: #2563eb;
  color: white;
}
.badge-trending[data-v-54ed87f6] {
  background: #7c3aed;
  color: white;
}
.badge-bundle[data-v-54ed87f6] {
  background: #ea580c;
  color: white;
  font-size: 0.7rem;
}
.insurance-card.compact .insurance-icon[data-v-54ed87f6] {
  font-size: 2.5rem;
  margin-bottom: 8px;
}
.insurance-card.compact .insurance-title[data-v-54ed87f6] {
  font-size: 1.1rem;
  margin: 0;
  font-weight: 600;
}
.insurance-tagline[data-v-54ed87f6] {
  font-size: 0.85rem;
  color: #6c757d;
  margin: 4px 0 0 0;
  font-weight: 400;
}
.insurance-card.disabled[data-v-54ed87f6] {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none !important;
}
.insurance-card.disabled[data-v-54ed87f6]:hover {
  transform: none;
  box-shadow: none;
  border-color: #dee2e6;
}
.already-selected[data-v-54ed87f6] {
  font-size: 0.8rem;
  color: #6c757d;
  margin: 4px 0 0 0;
  font-weight: 500;
  font-style: italic;
}
.add-more-section[data-v-54ed87f6] {
  margin-top: 40px;
  padding: 30px;
  background: #f8f8f8;
  border-radius: 12px;
  border: 1px solid #dee2e6;
}
.add-more-section h2[data-v-54ed87f6] {
  font-size: 1.4rem;
  color: #343a40;
  margin-bottom: 20px;
  text-align: center;
}
.spinner[data-v-54ed87f6] {
  /* 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-54ed87f6 1s linear infinite;
}
@keyframes spin-54ed87f6 {
to {
    transform: rotate(360deg);
}
}

/* Overview Content */
.overview-content[data-v-54ed87f6] {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.overview-stack[data-v-54ed87f6] {
  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-54ed87f6] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.stack-section + .stack-section[data-v-54ed87f6] {
  border-top: 1px dashed #d9dde3;
  padding-top: 12px;
}

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

/* Product Card Styles (reusing enhanced card structure) */
.calculation-details-card.enhanced[data-v-54ed87f6] {
  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-54ed87f6] {
  transition: box-shadow 0.18s ease, transform 0.12s ease;
}
.calculation-details-card.enhanced.cart-card[data-v-54ed87f6]:hover {
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.06);
  transform: translateY(-1px);
}
.cart-add-more-bar[data-v-54ed87f6] {
  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-54ed87f6]:hover {
  background: rgba(3, 133, 76, 0.04);
  border-color: rgba(3, 133, 76, 0.35);
  color: #065f46;
}
.bar-inner[data-v-54ed87f6] {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
  letter-spacing: 0.01em;
}
.bar-icon[data-v-54ed87f6] {
  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-54ed87f6] {
  font-size: 1rem;
}
.stack-section .service-options-section[data-v-54ed87f6] {
  margin-top: 0;
  box-shadow: none;
  border-color: #e5e7eb;
  background: #ffffff;
}
.stack-section .package-summary-card[data-v-54ed87f6] {
  margin-top: 0;
  box-shadow: none;
  border-color: #e5e7eb;
}
.card-header[data-v-54ed87f6] {
  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-54ed87f6] {
  align-items: center;
}
.card-header h2[data-v-54ed87f6] {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 700;
  color: #111827;
  margin-right: 8px;
}
.cart-header-main[data-v-54ed87f6] {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.product-avatar[data-v-54ed87f6] {
  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-54ed87f6] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.cart-meta[data-v-54ed87f6] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.meta-chip[data-v-54ed87f6] {
  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-54ed87f6] {
  background: rgba(3, 133, 76, 0.12);
  border-color: rgba(3, 133, 76, 0.28);
  color: #065f46;
}
.meta-chip.muted[data-v-54ed87f6] {
  background: #f1f3f5;
  color: #495057;
}
.cart-header-side[data-v-54ed87f6] {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-left: auto;
  flex-shrink: 0;
}
.logo-badge[data-v-54ed87f6] {
  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-54ed87f6] {
  max-height: 64px;
  max-width: 200px;
  object-fit: contain;
  flex-shrink: 0;
  filter: saturate(1.05);
}
.cart-price[data-v-54ed87f6] {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  min-width: 140px;
}
.cart-price .price-label[data-v-54ed87f6] {
  font-size: 0.75rem;
  color: #6c757d;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.cart-price .price-amount[data-v-54ed87f6] {
  font-size: 1.35rem;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.2;
}
.cart-price .price-term[data-v-54ed87f6] {
  font-size: 0.9rem;
  color: #6c757d;
}
.cart-price .price-discount[data-v-54ed87f6] {
  display: block;
  font-size: 0.75rem;
  color: #6c757d;
  font-weight: normal;
  margin-top: 2px;
}
.card-body[data-v-54ed87f6] {
  padding: 16px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 8px 12px;
}
.card-body.cart-body[data-v-54ed87f6] {
  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-54ed87f6] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.cart-chip-row .meta-chip[data-v-54ed87f6] {
  background: #eef2f6;
  border-color: #e2e8f0;
  color: #334155;
}
.detail-row[data-v-54ed87f6] {
  /* styles remain the same */
}
.detail-label[data-v-54ed87f6] {
  display: block;
  font-size: 0.8rem;
  color: #6c757d;
  margin-bottom: 2px;
  font-weight: 500;
}
.detail-label .detail-link[data-v-54ed87f6] {
  color: #0ea5e9;
  text-decoration: underline;
  font-weight: 600;
  margin-left: 4px;
}
.detail-label .detail-link[data-v-54ed87f6]:hover {
  text-decoration: none;
}
.detail-value[data-v-54ed87f6] {
  font-size: 0.95rem;
  color: #212529;
  font-weight: 500;
}
.detail-value.company[data-v-54ed87f6] {
  font-weight: 500;
  color: #343a40;
}
.detail-value.mono[data-v-54ed87f6] {
  font-family: monospace;
  font-size: 0.9rem;
}
.detail-value.total[data-v-54ed87f6] {
  font-size: 1.2rem;
  font-weight: 600;
  color: #343a40;
}

/* Added style for premium row in body */
.detail-row.premium-row[data-v-54ed87f6] {
  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-54ed87f6] {
  display: inline-block;
  margin: 0;
  white-space: nowrap;
}
.detail-row.premium-row .detail-value.premium[data-v-54ed87f6] {
  font-size: 1.25rem;
  font-weight: 700;
  color: #212529;
  white-space: nowrap;
}
.detail-row.premium-row .premium-term[data-v-54ed87f6] {
  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-54ed87f6] {
  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-54ed87f6] {
  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-54ed87f6]:hover:not(:disabled) {
  background-color: #f1f3f5;
}
.card-footer.product-footer .details-button[data-v-54ed87f6]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* Details Modal */
.details-modal-overlay[data-v-54ed87f6] {
  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-54ed87f6] {
  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-54ed87f6] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 18px;
  border-bottom: 1px solid #e9ecef;
}
.details-modal-title[data-v-54ed87f6] {
  margin: 0;
  font-size: 1.2rem;
  color: #343a40;
}
.details-modal-close[data-v-54ed87f6] {
  appearance: none;
  border: 1px solid #ced4da;
  background: #fff;
  border-radius: 6px;
  padding: 6px 10px;
  cursor: pointer;
}
.details-modal-body[data-v-54ed87f6] {
  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-54ed87f6] {
  display: block;
  margin: 4px 0;
}
.overview-section[data-v-54ed87f6] {
  margin-bottom: 16px;
  border: 1px solid #e9ecef;
  border-radius: 8px;
}
.overview-section-header[data-v-54ed87f6] {
  background: #f8f9fa;
  padding: 10px 12px;
  font-weight: 600;
  color: #495057;
  border-bottom: 1px solid #e9ecef;
}
.overview-items[data-v-54ed87f6] {
  padding: 8px 12px 12px 12px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 8px 16px;
}
.overview-item-label[data-v-54ed87f6] {
  display: block;
  font-size: 0.85rem;
  color: #6c757d;
}
.overview-item-value[data-v-54ed87f6] {
  font-size: 0.95rem;
  color: #212529;
  word-break: break-word;
}

/* Modal polish */
.overview-item-value[data-v-54ed87f6] {
  text-align: left;
}
.overview-item-value .value-positive[data-v-54ed87f6] {
  color: #0f9d58;
}
.overview-item-value .value-cost[data-v-54ed87f6] {
  color: #343a40;
}
.overview-section[data-v-54ed87f6] {
  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-54ed87f6] {
  background: linear-gradient(180deg, #fafbfc, #f3f4f6);
  padding: 10px 12px;
  font-weight: 600;
  color: #495057;
  border-bottom: 1px solid #e9ecef;
}
.details-modal-close[data-v-54ed87f6]:hover {
  background: #f8f9fa;
}
.overview-items a[data-v-54ed87f6] {
  color: #03854c;
  text-decoration: underline;
  font-size: 0.95rem;
}
.doc-link-btn[data-v-54ed87f6] {
  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-54ed87f6]:hover {
  background: #f8f9fa;
}
.details-error[data-v-54ed87f6] {
  color: #c92a2a;
  margin-bottom: 10px;
}
.doc-multi-columns[data-v-54ed87f6] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 8px 12px;
  margin-top: 6px;
}
.doc-num-group[data-v-54ed87f6] {
  border: 1px dashed #e9ecef;
  border-radius: 6px;
  padding: 6px 8px;
  background: #fcfcfc;
}
.edit-button[data-v-54ed87f6] {
  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-54ed87f6]:hover:not(:disabled) {
  background-color: #f1f3f5;
  border-color: #adb5bd;
}
.edit-button[data-v-54ed87f6]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* Added Remove Button Styles */
.danger-button[data-v-54ed87f6] {
  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-54ed87f6]:hover:not(:disabled) {
  background-color: var(--color-danger-background-hover);
  border-color: #dc3545;
}
.danger-button[data-v-54ed87f6]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* --- NEW: Service Option Selection Styles --- */
.service-options-section[data-v-54ed87f6] {
  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-54ed87f6] {
  font-size: 1.6rem;
  color: #343a40;
  margin-bottom: 20px;
  text-align: left;
}
.options-container[data-v-54ed87f6] {
  display: flex;
  flex-direction: column;
  gap: 20px; /* Space between each service option card */
}
.service-option-card[data-v-54ed87f6] {
  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-54ed87f6]: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-54ed87f6] {
  border-color: #03854c;
  background-color: var(--color-primary-background-light); /* Subtle selected background */
}

/* Header within the service option card */
.option-header[data-v-54ed87f6] {
  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-54ed87f6],
.service-option-card.not-eligible[data-v-54ed87f6] {
  opacity: 0.7;
  cursor: not-allowed;
  background-color: var(--color-background-muted);
}
.service-option-card.not-eligible[data-v-54ed87f6] {
  border-color: #dee2e6; /* Distinguish slightly from fully disabled */
}
.option-label[data-v-54ed87f6] {
  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-54ed87f6],
.service-option-card.not-eligible .option-label[data-v-54ed87f6] {
  cursor: not-allowed;
}
.option-label input[type='radio'][data-v-54ed87f6] {
  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-54ed87f6] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  margin-bottom: 8px;
}
.option-name[data-v-54ed87f6] {
  font-size: 1.2rem;
  font-weight: 600;
  color: #343a40;
}
.selected .option-name[data-v-54ed87f6] {
  color: #03854c;
}
.option-fee[data-v-54ed87f6] {
  font-size: 1.1rem;
  font-weight: 500;
  color: #212529;
}
.selected .option-fee[data-v-54ed87f6] {
  color: #024d2a;
  font-weight: bold;
}
.option-fee.strike-through[data-v-54ed87f6] {
  text-decoration: line-through;
  color: #adb5bd;
}
.option-details[data-v-54ed87f6] {
  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-54ed87f6] {
  margin-bottom: 4px;
}
.option-description[data-v-54ed87f6] {
  font-size: 0.85rem;
  color: #adb5bd;
  margin-top: 5px;
}

/* simplified compare container (title removed) */
.compare-columns[data-v-54ed87f6] {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
.compare-card[data-v-54ed87f6] {
  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-54ed87f6] {
  font-weight: 700;
  margin-bottom: 6px;
}
.compare-card .price[data-v-54ed87f6] {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin-bottom: 6px;
}
.compare-card .price .amount[data-v-54ed87f6] {
  font-size: 1.4rem;
  font-weight: 800;
}
.compare-card .price .per[data-v-54ed87f6] {
  opacity: 0.8;
  font-weight: 500;
}
.compare-card .points[data-v-54ed87f6] {
  margin: 0;
  padding-left: 18px;
  color: #2b463b;
  font-size: 0.9rem;
}
.compare-card .points li[data-v-54ed87f6] {
  display: grid;
  grid-template-columns: 20px 1fr;
  align-items: start;
  gap: 6px;
  margin-bottom: 4px;
}
.compare-card .points .icon[data-v-54ed87f6] {
  line-height: 1.2;
}
.compare-card .points .icon.positive[data-v-54ed87f6] {
  color: #0b7d49;
}
.compare-card .points .icon.negative[data-v-54ed87f6] {
  color: #b02a37;
}
.compare-card.other-parties[data-v-54ed87f6] {
  background: linear-gradient(135deg, #fff5f5 0%, #ffeaea 100%);
  border-color: #f3c2c2;
}
.compare-card.other-parties .card-title[data-v-54ed87f6] {
  color: #842029;
}
.compare-card.other-parties .price .amount[data-v-54ed87f6] {
  color: #b02a37;
}
.compare-card.our-offer[data-v-54ed87f6] {
  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-54ed87f6] {
  color: #0f5132;
}
.compare-card.our-offer .price .amount[data-v-54ed87f6] {
  color: #0b7d49;
}
/* New subtle shine animation */
.compare-card.our-offer.shine[data-v-54ed87f6]::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-54ed87f6 3.6s linear infinite;
  z-index: 5;
  pointer-events: none;
}
@keyframes sv-shine-54ed87f6 {
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-54ed87f6] {
  animation: sv-pulse-54ed87f6 4.4s ease-in-out infinite;
}
@keyframes sv-pulse-54ed87f6 {
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-54ed87f6] {
  margin-top: 12px;
  text-align: center;
}
.compare-summary .summary-amount[data-v-54ed87f6] {
  font-size: 1.6rem;
  font-weight: 800;
  color: #0b7d49;
  padding: 0 4px;
}
.compare-summary .summary-brand[data-v-54ed87f6] {
  font-weight: 800;
  color: #065f46;
}
.compare-summary .summary-note[data-v-54ed87f6] {
  margin-top: 4px;
  font-size: 0.9rem;
  color: #1b4332;
}

/* New service compare layout */
.service-compare[data-v-54ed87f6] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.service-compare-column[data-v-54ed87f6] {
  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-54ed87f6] {
  background: linear-gradient(145deg, #f8fafc, #eef2ff);
  border-color: #dfe4ff;
}
.sub-column[data-v-54ed87f6] {
  background: linear-gradient(145deg, #ecfdf3, #e0f2fe);
  border-color: #bfe4ff;
}
.prov-header[data-v-54ed87f6],
.sub-header[data-v-54ed87f6] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.pill[data-v-54ed87f6] {
  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-54ed87f6] {
  background: rgba(99, 102, 241, 0.12);
  color: #4338ca;
  border: 1px solid rgba(99, 102, 241, 0.35);
}
.pill.positive[data-v-54ed87f6] {
  background: rgba(16, 185, 129, 0.16);
  color: #065f46;
  border: 1px solid rgba(16, 185, 129, 0.35);
}
.prov-price[data-v-54ed87f6],
.sub-price[data-v-54ed87f6] {
  display: flex;
  align-items: baseline;
  gap: 6px;
  font-weight: 800;
  color: #0f172a;
  font-size: 1.4rem;
}
.prov-amount[data-v-54ed87f6],
.sub-amount[data-v-54ed87f6] {
  font-size: 1.6rem;
}
.prov-per[data-v-54ed87f6],
.sub-per[data-v-54ed87f6] {
  font-size: 0.95rem;
  color: #475569;
}
.prov-subtitle[data-v-54ed87f6],
.sub-subtitle[data-v-54ed87f6] {
  margin: 0;
  color: #475569;
  font-size: 0.95rem;
}
.prov-points[data-v-54ed87f6],
.sub-points[data-v-54ed87f6] {
  list-style: none;
  padding: 0;
  margin: 14px 0 0 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.prov-points li[data-v-54ed87f6],
.sub-points li[data-v-54ed87f6] {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #0f172a;
  font-size: 0.95rem;
}
.marker[data-v-54ed87f6] {
  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-54ed87f6] {
  background: rgba(15, 23, 42, 0.06);
  color: #0f172a;
  border: 1px solid rgba(100, 116, 139, 0.35);
}
.marker.check[data-v-54ed87f6] {
  background: rgba(34, 197, 94, 0.18);
  color: #047857;
  border: 1px solid rgba(16, 185, 129, 0.35);
}
.sub-cta[data-v-54ed87f6] {
  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-54ed87f6] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-weight: 700;
  font-size: 0.98rem;
}
.cta-save[data-v-54ed87f6] {
  color: #047857;
}
.cta-note[data-v-54ed87f6] {
  font-weight: 600;
  color: #0f172a;
}
.service-compare-column p[data-v-54ed87f6] {
  margin-bottom: 0;
}
@media (max-width: 768px) {
.service-compare[data-v-54ed87f6] {
    grid-template-columns: 1fr;
}
}
.eligibility-notice[data-v-54ed87f6] {
  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-54ed87f6] {
  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-54ed87f6] {
  padding: 16px 20px;
  border-bottom: 1px solid #e9ecef;
  background: #ffffff;
}
.elevated .summary-header .section-title[data-v-54ed87f6] {
  margin: 0;
  font-size: 1.4rem;
  color: #343a40;
  font-weight: 600;
}
.elevated .summary-body[data-v-54ed87f6] {
  padding: 18px 20px;
}
.elevated .summary-body.compact .detail-row[data-v-54ed87f6] {
  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-54ed87f6]:last-child {
  border-bottom: none;
}
.elevated .summary-body .detail-label[data-v-54ed87f6] {
  font-size: 0.95rem;
  color: #6c757d;
  margin: 0;
}
.elevated .summary-body .detail-value[data-v-54ed87f6] {
  font-size: 1rem;
  color: #212529;
}
.elevated .summary-footer[data-v-54ed87f6] {
  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-54ed87f6] {
  color: #03854c;
  font-weight: 700;
}
.price-inline .per[data-v-54ed87f6] {
  font-size: 0.85rem;
  color: #6c757d;
  margin-left: 4px;
}

/* Checkout button (reusing style name for consistency) */
.checkout-button[data-v-54ed87f6] {
  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-54ed87f6]:hover:not(:disabled) {
  background-color: #057343;
}
.checkout-button[data-v-54ed87f6]:disabled {
  background-color: #adb5bd;
  cursor: not-allowed;
  opacity: 0.6;
}

/* Add styles for reset button */
.secondary-button[data-v-54ed87f6] {
  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-54ed87f6]:hover:not(:disabled) {
  background-color: var(--color-warning-hover);
}
.secondary-button[data-v-54ed87f6]:disabled {
  background-color: #adb5bd;
  cursor: not-allowed;
  opacity: 0.6;
}

/* Quote Download Button */
.quote-button[data-v-54ed87f6] {
  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-54ed87f6]: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-54ed87f6]: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-54ed87f6] {
  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-54ed87f6] {
  margin-bottom: 10px;
  font-size: 2rem;
  color: #343a40;
  font-weight: 700;
}
.upsell-subtitle[data-v-54ed87f6] {
  font-size: 1.1rem;
  color: #6c757d;
  margin-bottom: 30px;
  font-weight: 400;
}

/* Welcome Header Styles */
.welcome-header[data-v-54ed87f6] {
  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-54ed87f6] {
  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-54ed87f6] {
  opacity: 0;
  transform: translateY(-20px) scale(0.98);
  filter: blur(2px);
}
.welcome-subtitle[data-v-54ed87f6] {
  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-54ed87f6] {
  opacity: 0;
  transform: translateY(-15px) scale(0.99);
  filter: blur(1px);
}

/* Selling Points Carousel */
.selling-points-carousel[data-v-54ed87f6] {
  margin-top: 30px;
}
.carousel-item[data-v-54ed87f6] {
  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-54ed87f6] {
  opacity: 0;
  transform: translateX(-30px) scale(0.95);
}
.carousel-icon[data-v-54ed87f6] {
  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-54ed87f6] {
  text-align: left;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 0; /* Allow flex shrinking */
}
.carousel-title[data-v-54ed87f6] {
  font-size: 1.1rem;
  font-weight: 600;
  color: #03854c;
  margin: 0 0 6px 0;
  line-height: 1.2;
}
.carousel-description[data-v-54ed87f6] {
  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-54ed87f6] {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 20px;
}
.carousel-dot[data-v-54ed87f6] {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #dee2e6;
  transition: all 0.3s ease;
  cursor: pointer;
}
.carousel-dot.active[data-v-54ed87f6] {
  background: #03854c;
  transform: scale(1.2);
}
.landing-page[data-v-54ed87f6] {
  /* Remove any empty-state specific styling */
}

/* Insurance Selection Grid - Premium Card Design */
.insurance-selection-grid[data-v-54ed87f6] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  margin-top: 80px;
  padding: 0;
  max-width: none;
  margin-left: auto;
  margin-right: auto;
}
.insurance-card[data-v-54ed87f6] {
  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-54ed87f6]::before {
  content: none; /* remove green top edge */
}
.insurance-card[data-v-54ed87f6]: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-54ed87f6]:hover::before {
  transform: none;
}
.insurance-card.secondary[data-v-54ed87f6] {
  background: #f8f8f8;
  border-color: var(--color-border-lighter);
  opacity: 0.85;
}
.insurance-card.secondary[data-v-54ed87f6]: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-54ed87f6]::before {
  background: linear-gradient(90deg, #6c757d, var(--color-secondary-light));
}

/* Default cards (not primary, complementary, or secondary) */
.insurance-card[data-v-54ed87f6]:not(.primary-product):not(.complementary-product):not(.secondary) {
  background: #ffffff;
  opacity: 0.9;
}
.insurance-card[data-v-54ed87f6]:not(.primary-product):not(.complementary-product):not(.secondary):hover {
  opacity: 1;
  transform: none; /* no movement */
}
.insurance-icon[data-v-54ed87f6] {
  font-size: 3.5rem;
  margin-bottom: 16px;
  line-height: 1;
  transition: transform 0.3s ease;
}
.insurance-card:hover .insurance-icon[data-v-54ed87f6] {
  transform: none; /* no icon scaling */
}
.insurance-title[data-v-54ed87f6] {
  font-size: 1.25rem;
  font-weight: 600;
  color: #343a40;
  margin: 0 0 8px 0;
  line-height: 1.3;
}
.insurance-description[data-v-54ed87f6] {
  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-54ed87f6] {
    max-width: 1000px;
    padding: 40px;
}
.welcome-header[data-v-54ed87f6] {
    padding: 25px 40px;
}
.welcome-title[data-v-54ed87f6] {
    font-size: 1.8rem;
    min-height: 2.4em;
}
.welcome-subtitle[data-v-54ed87f6] {
    font-size: 1rem;
    min-height: 2.6em;
}
.carousel-item[data-v-54ed87f6] {
    padding: 20px 24px;
    gap: 16px;
    height: 90px; /* Slightly smaller for medium screens */
}
.insurance-selection-grid[data-v-54ed87f6] {
    gap: 32px;
}
}
@media (max-width: 768px) {
.calculation-overview[data-v-54ed87f6] {
    margin: 20px;
    padding: 30px;
}
.welcome-header[data-v-54ed87f6] {
    padding: 20px 15px;
}
.welcome-title[data-v-54ed87f6] {
    font-size: 1.6rem;
    min-height: 3em;
    line-height: 1.3;
}
.welcome-subtitle[data-v-54ed87f6] {
    font-size: 0.95rem;
    min-height: 3.2em;
    line-height: 1.4;
}
.carousel-item[data-v-54ed87f6] {
    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-54ed87f6] {
    text-align: center;
}
.carousel-title[data-v-54ed87f6] {
    font-size: 1rem;
    margin-bottom: 4px;
}
.carousel-description[data-v-54ed87f6] {
    font-size: 0.9rem;
    line-height: 1.2;
}
.insurance-selection-grid[data-v-54ed87f6] {
    grid-template-columns: 1fr;
    gap: 24px;
}
.insurance-card[data-v-54ed87f6] {
    padding: 30px 24px;
    min-height: 200px;
}
.overview-title[data-v-54ed87f6] {
    /* ... existing ... */
}

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

.modal-overlay[data-v-b84b7295] {
  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-b84b7295] {
  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-b84b7295] {
  padding: 24px 24px 20px;
  border-bottom: 1px solid #e5e7eb;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.modal-header h2[data-v-b84b7295] {
  margin: 0;
  font-size: 1.5rem;
  color: #1f2937;
}
.close-btn[data-v-b84b7295] {
  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-b84b7295]:hover {
  color: #1f2937;
}
.modal-body[data-v-b84b7295] {
  padding: 24px;
}
.modal-message[data-v-b84b7295] {
  margin: 0 0 20px;
  color: #4b5563;
  font-size: 1rem;
  line-height: 1.5;
}
.form-group[data-v-b84b7295] {
  margin-bottom: 16px;
}
.form-group label[data-v-b84b7295] {
  display: block;
  margin-bottom: 6px;
  font-weight: 500;
  color: #374151;
}
.form-group input[data-v-b84b7295] {
  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-b84b7295]:focus {
  outline: none;
  border-color: #03854c;
  box-shadow: 0 0 0 3px rgba(3, 133, 76, 0.1);
}
.form-group input[data-v-b84b7295]:disabled {
  background-color: #f3f4f6;
  cursor: not-allowed;
}
.field-error-message[data-v-b84b7295] {
  color: #dc2626;
  font-size: 0.875rem;
  margin-top: 6px;
}
.modal-footer[data-v-b84b7295] {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  margin-top: 20px;
}
.btn[data-v-b84b7295] {
  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-b84b7295]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.btn-primary[data-v-b84b7295] {
  background-color: #03854c;
  color: white;
}
.btn-primary[data-v-b84b7295]:hover:not(:disabled) {
  background-color: #026b3d;
}
.btn-secondary[data-v-b84b7295] {
  background-color: #6b7280;
  color: white;
}
.btn-secondary[data-v-b84b7295]:hover:not(:disabled) {
  background-color: #4b5563;
}
.success-message[data-v-b84b7295] {
  text-align: center;
  padding: 20px 0;
}
.success-icon[data-v-b84b7295] {
  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-b84b7295] {
  color: #374151;
  font-size: 1rem;
  line-height: 1.5;
  margin: 0 0 12px;
}
.success-message .note[data-v-b84b7295] {
  color: #6b7280;
  font-size: 0.875rem;
}

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

/* --- ADDED: Mode Toggle Styles --- */
.mode-toggle[data-v-63d4648d] {
  display: flex;
  justify-content: center;
  margin-bottom: 25px;
  border-radius: 6px;
  overflow: hidden;
  border: 1px solid #ced4da;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
.toggle-button[data-v-63d4648d] {
  padding: 10px 20px;
  cursor: pointer;
  background-color: #f8f8f8;
  color: #6c757d;
  border: none;
  transition:
    background-color 0.2s,
    color 0.2s;
  font-weight: 500;
}
.toggle-button[data-v-63d4648d]:first-child {
  border-right: 1px solid #ced4da;
}
.toggle-button.active[data-v-63d4648d] {
  background-color: #03854c;
  color: white;
}
.toggle-button[data-v-63d4648d]:not(.active):hover {
  background-color: #f0f0f0;
}
/* --- END: Mode Toggle Styles --- */
.applicant-details-form[data-v-63d4648d] {
  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-63d4648d] {
  text-align: center;
  margin-bottom: 10px;
  color: #343a40;
}
p[data-v-63d4648d] {
  text-align: center;
  margin-bottom: 30px;
  color: #6c757d;
}
fieldset[data-v-63d4648d] {
  border: 1px solid #dee2e6;
  border-radius: 6px;
  padding: 20px;
  margin-bottom: 25px;
}
legend[data-v-63d4648d] {
  padding: 0 10px;
  font-weight: 600;
  color: #03854c;
}
.form-grid[data-v-63d4648d] {
  display: grid;
  grid-template-columns: repeat(6, 1fr); /* 6 column grid */
  gap: 15px 20px;
}
.form-group[data-v-63d4648d] {
  display: flex;
  flex-direction: column;
  grid-column: span 6; /* Default to full width */
}

/* Spanning helpers */
.form-group.span-1[data-v-63d4648d] {
  grid-column: span 1;
}
.form-group.span-2[data-v-63d4648d] {
  grid-column: span 2;
}
.form-group.span-3[data-v-63d4648d] {
  grid-column: span 3;
}
.form-group.span-4[data-v-63d4648d] {
  grid-column: span 4;
}
.form-group.span-5[data-v-63d4648d] {
  grid-column: span 5;
}
.form-group label[data-v-63d4648d] {
  margin-bottom: 5px;
  font-weight: 500;
  color: #212529;
  font-size: 0.9rem;
  text-align: left; /* Override general p text-align */
}
.form-group input[type='text'][data-v-63d4648d],
.form-group input[type='email'][data-v-63d4648d],
.form-group input[type='tel'][data-v-63d4648d],
.form-group input[type='date'][data-v-63d4648d],
.form-group input[type='number'][data-v-63d4648d],
.form-group input[type='password'][data-v-63d4648d],
.form-group select[data-v-63d4648d] {
  padding: 10px 12px;
  border: 1px solid #ced4da;
  border-radius: 4px;
  font-size: 1rem;
  width: 100%;
  box-sizing: border-box;
}
.form-group input[data-v-63d4648d]:focus,
.form-group select[data-v-63d4648d]:focus {
  border-color: #80bdff;
  outline: 0;
  box-shadow: 0 0 0 0.2rem #032b1a;
}
.field-empty-required[data-v-63d4648d] {
  position: relative;
}
.field-empty-required[data-v-63d4648d] input:not(:focus):not(:disabled),
.field-empty-required[data-v-63d4648d] select:not(:focus):not(:disabled),
.field-empty-required[data-v-63d4648d] textarea:not(:focus):not(:disabled) {
  background-color: #fffbf0 !important;
  border-color: #f0e68c !important;
}
.field-empty-required[data-v-63d4648d] input:focus:not(:disabled),
.field-empty-required[data-v-63d4648d] select:focus:not(:disabled),
.field-empty-required[data-v-63d4648d] 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-63d4648d] .address-fields input:not(:focus):not(:disabled) {
  background-color: #fffbf0 !important;
  border-color: #f0e68c !important;
}
.field-error input[data-v-63d4648d],
.field-error select[data-v-63d4648d],
.field-error textarea[data-v-63d4648d] {
  border-color: #d32f2f;
  background-color: #fff5f5;
}
.field-error-message[data-v-63d4648d] {
  margin-top: 6px;
  color: #d32f2f;
  font-size: 0.85rem;
}
.forgot-password-link[data-v-63d4648d] {
  display: inline-block;
  margin-top: 4px;
  font-size: 0.9rem;
  color: #03854c;
  text-decoration: none;
}
.forgot-password-link[data-v-63d4648d]:hover {
  text-decoration: underline;
}

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

/* Responsive adjustments for grid */
@media (max-width: 768px) {
.form-grid[data-v-63d4648d] {
    grid-template-columns: repeat(2, 1fr); /* 2 columns on mobile */
}
  /* Make all groups full width on mobile */
.form-group.span-1[data-v-63d4648d],
  .form-group.span-2[data-v-63d4648d],
  .form-group.span-3[data-v-63d4648d],
  .form-group.span-4[data-v-63d4648d],
  .form-group.span-5[data-v-63d4648d] {
    grid-column: span 2;
}
  /* ... other mobile styles ... */
}
.form-actions[data-v-63d4648d] {
  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-63d4648d],
.secondary-button[data-v-63d4648d] {
  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-63d4648d] {
  background-color: #03854c;
  color: white;
}
.primary-button[data-v-63d4648d]:hover {
  background-color: #057343;
}
.secondary-button[data-v-63d4648d] {
  background-color: #6c757d;
  color: #ffffff;
}
.secondary-button[data-v-63d4648d]:hover {
  background-color: #5a6268;
}

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

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

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

.application-details-view[data-v-e2b3d13b] {
  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-e2b3d13b] {
  text-align: center;
  margin-bottom: 30px;
  color: #03854c;
}
.loading-state[data-v-e2b3d13b],
.error-state[data-v-e2b3d13b],
.empty-state[data-v-e2b3d13b] {
  text-align: center;
  padding: 40px 20px;
  border: 1px dashed #dee2e6;
  border-radius: 6px;
  background-color: #f8f8f8;
}
.loading-state p[data-v-e2b3d13b],
.error-state p[data-v-e2b3d13b],
.empty-state p[data-v-e2b3d13b] {
  font-size: 1rem;
  color: #6c757d;
  margin-top: 10px;
}
.error-state h2[data-v-e2b3d13b],
.empty-state h2[data-v-e2b3d13b] {
  color: #343a40;
  margin-bottom: 10px;
}
.error-state button[data-v-e2b3d13b],
.empty-state button[data-v-e2b3d13b] {
  margin-top: 15px;
  padding: 8px 16px;
  /* Add button styles */
}
.spinner[data-v-e2b3d13b] {
  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-e2b3d13b 1s linear infinite;
}
@keyframes spin-e2b3d13b {
to {
    transform: rotate(360deg);
}
}
.details-content h2[data-v-e2b3d13b] {
  margin-bottom: 20px;
  color: #343a40;
  border-bottom: 1px solid #dee2e6;
  padding-bottom: 10px;
}
.raw-data[data-v-e2b3d13b] {
  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-e2b3d13b] {
  margin-top: 0;
  margin-bottom: 10px;
  font-size: 1.1rem;
}
pre[data-v-e2b3d13b] {
  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-e2b3d13b] {
  margin-top: 20px;
  text-align: right;
}
.actions button[data-v-e2b3d13b] {
  padding: 10px 20px;
  /* Add button styles */
}

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

/* Form Section Styling */
.form-section[data-v-e2b3d13b] {
  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-e2b3d13b] {
  font-size: 1.3rem;
  color: #024d2a;
  margin-top: 0;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #dee2e6;
}
.section-intro[data-v-e2b3d13b] {
  color: #6c757d;
  margin-bottom: 25px;
  font-size: 0.95rem;
}

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

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

/* Form Grid */
.form-grid[data-v-e2b3d13b] {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 15px 20px;
}
.form-group[data-v-e2b3d13b] {
  display: flex;
  flex-direction: column;
  grid-column: span 6; /* Default span */
}
.form-group.span-1[data-v-e2b3d13b] {
  grid-column: span 1;
}
.form-group.span-2[data-v-e2b3d13b] {
  grid-column: span 2;
}
.form-group.span-3[data-v-e2b3d13b] {
  grid-column: span 3;
}
.form-group label[data-v-e2b3d13b] {
  margin-bottom: 6px;
  font-weight: 500;
  color: #212529;
  font-size: 0.9rem;
}
.form-group input[type='text'][data-v-e2b3d13b],
.form-group select[data-v-e2b3d13b] {
  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-e2b3d13b] {
  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-e2b3d13b]:focus,
.form-group select[data-v-e2b3d13b]: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-e2b3d13b]:focus {
  border-color: #80bdff;
  outline: 0;
  box-shadow: 0 0 0 0.2rem #032b1a;
}
select[data-v-e2b3d13b] {
  cursor: pointer;
}

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

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

/* Button Styles (Reuse/Import these) */
button[data-v-e2b3d13b] {
  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-e2b3d13b]:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}
.button-primary[data-v-e2b3d13b] {
  background-color: #03854c;
  color: white;
}
.button-primary[data-v-e2b3d13b]:hover:not(:disabled) {
  background-color: #057343;
}
.button-primary[data-v-e2b3d13b]:disabled {
  background-color: #adb5bd;
}
.button-secondary[data-v-e2b3d13b] {
  background-color: #6c757d;
  color: #ffffff;
}
.button-secondary[data-v-e2b3d13b]:hover:not(:disabled) {
  background-color: #5a6268;
}
.button-secondary[data-v-e2b3d13b]:disabled {
  background-color: #adb5bd;
}
.relation-details[data-v-e2b3d13b] {
  margin-top: 10px;
}
.relation-details-grid[data-v-e2b3d13b] {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.relation-details-grid .span-2[data-v-e2b3d13b] {
  grid-column: span 2;
}

/* Responsive */
@media (max-width: 768px) {
.application-details-view[data-v-e2b3d13b] {
    padding: 20px;
}
.form-grid[data-v-e2b3d13b] {
    grid-template-columns: 1fr; /* Stack fields on mobile */
}
.form-group.span-1[data-v-e2b3d13b],
  .form-group.span-2[data-v-e2b3d13b],
  .form-group.span-3[data-v-e2b3d13b] {
    grid-column: span 1;
}
.main-actions[data-v-e2b3d13b] {
    flex-direction: column-reverse;
    gap: 15px;
    align-items: stretch;
}
.main-actions button[data-v-e2b3d13b] {
    width: 100%;
}
.form-group.checkbox-group label[data-v-e2b3d13b] {
    /* 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-e2b3d13b] {
    padding-left: 15px; /* Reduce indent on mobile */
}
.ja-nee-toggle[data-v-e2b3d13b] {
    /* Ensure toggle doesn't overflow on small screens */
    flex-wrap: wrap;
    gap: 5px; /* Add gap if they wrap */
}
.relation-details-grid[data-v-e2b3d13b] {
    grid-template-columns: 1fr;
}
.relation-details-grid .span-2[data-v-e2b3d13b] {
    grid-column: span 1;
}
.ja-nee-toggle button[data-v-e2b3d13b] {
    flex-grow: 1; /* Allow buttons to take equal space */
}
}

/* Slotvragen Form Specific Styles */
.fancy-section[data-v-e2b3d13b] {
  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-e2b3d13b] {
  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-e2b3d13b] {
  font-size: 1.8rem;
}
.fancy-section .section-intro[data-v-e2b3d13b] {
  color: #6c757d;
  margin-bottom: 30px;
  font-size: 1rem;
  line-height: 1.6;
}
.slotvragen-warning[data-v-e2b3d13b] {
  background: #fff4e5;
  border: 1px solid #ffb74d;
  color: #8a4b07;
  padding: 12px 14px;
  border-radius: 6px;
  margin-bottom: 16px;
}
.slotvragen-form[data-v-e2b3d13b] {
  display: flex;
  flex-direction: column;
  gap: 20px; /* Space between question cards */
}
.slotvraag-item.card-style[data-v-e2b3d13b] {
  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-e2b3d13b]:hover {
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.08);
}
.question-toggle-wrapper[data-v-e2b3d13b] {
  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-e2b3d13b] {
  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-e2b3d13b] {
  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-e2b3d13b] {
  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-e2b3d13b]:first-child {
  border-right: 1px solid #dee2e6;
}
.ja-nee-toggle.fancy-toggle button.active[data-v-e2b3d13b] {
  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-e2b3d13b] {
  background-color: #198754; /* Green for Ja */
}
.ja-nee-toggle.fancy-toggle button.active.nee[data-v-e2b3d13b] {
  background-color: #dc3545; /* Red for Nee */
}
.ja-nee-toggle.fancy-toggle button[data-v-e2b3d13b]:not(.active):hover {
  background-color: #f0f0f0;
  color: #212529;
}
.form-group.reason-group.fancy-reason[data-v-e2b3d13b] {
  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-e2b3d13b] {
  font-size: 0.9rem;
  font-weight: 600;
  color: #024d2a;
}
.form-group.reason-group.fancy-reason textarea[data-v-e2b3d13b] {
  margin-top: 8px;
  min-height: 70px;
}
.slotvragen-actions[data-v-e2b3d13b] {
  margin-top: 20px;
  text-align: right;
}

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

/* ADDED: Style for combined validation error summary */
.validation-summary[data-v-e2b3d13b] {
  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-e2b3d13b] {
  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-e2b3d13b] {
  border: 1px solid #dee2e6;
  border-radius: 6px;
  padding: 20px;
  margin-bottom: 20px;
  background-color: #f8f8f8;
}
.driver-title[data-v-e2b3d13b] {
  font-size: 1.1rem;
  color: #343a40;
  margin-top: 0;
  margin-bottom: 15px;
}

/* --- ADDED: Styles for Vehicle Questions --- */
.vehicle-questions-section[data-v-e2b3d13b] {
  margin-top: 30px; /* Add some space above this section */
  /* Inherits .form-section styles */
}
.vehicle-form-card[data-v-e2b3d13b] {
  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-e2b3d13b] {
  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-f4d46d48] {
  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-f4d46d48] {
  text-align: center;
  margin-bottom: 30px;
  color: #03854c;
}
.loading-state[data-v-f4d46d48],
.error-state[data-v-f4d46d48],
.empty-state[data-v-f4d46d48] {
  text-align: center;
  padding: 40px 20px;
  border: 1px dashed #dee2e6;
  border-radius: 6px;
  background-color: #f8f8f8;
  margin-bottom: 20px;
}
.loading-state p[data-v-f4d46d48],
.error-state p[data-v-f4d46d48],
.empty-state p[data-v-f4d46d48] {
  font-size: 1rem;
  color: #6c757d;
  margin-top: 10px;
}
.error-state h2[data-v-f4d46d48],
.empty-state h2[data-v-f4d46d48] {
  color: #343a40;
  margin-bottom: 10px;
}
.error-state button[data-v-f4d46d48],
.empty-state button[data-v-f4d46d48] {
  margin-top: 15px;
  padding: 8px 16px;
}
.spinner[data-v-f4d46d48] {
  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-f4d46d48 1s linear infinite;
}
@keyframes spin-f4d46d48 {
to {
    transform: rotate(360deg);
}
}
.main-content h2[data-v-f4d46d48] {
  margin-bottom: 20px;
  color: #343a40;
  font-size: 1.4rem;
}
.form-section[data-v-f4d46d48] {
  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-f4d46d48] {
  font-size: 1.3rem;
  color: #024d2a;
  margin-top: 0;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #dee2e6;
}
.section-intro[data-v-f4d46d48] {
  color: #6c757d;
  margin-bottom: 25px;
  font-size: 0.95rem;
  line-height: 1.5;
}
.status-message[data-v-f4d46d48] {
  padding: 10px 15px;
  border-radius: 4px;
  margin-bottom: 20px;
  font-size: 0.9rem;
  text-align: center;
}
.status-message.error[data-v-f4d46d48] {
  background-color: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
}
.signing-section .agreement-checkboxes[data-v-f4d46d48] {
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin-bottom: 25px;
}
.acknowledgement.large[data-v-f4d46d48] {
  font-size: 1rem;
  line-height: 1.5;
  padding: 10px;
  border: 1px solid transparent;
  border-radius: 4px;
}
.acknowledgement.large input[type='checkbox'][data-v-f4d46d48] {
  width: 18px;
  height: 18px;
  margin-right: 10px;
}
.signing-actions[data-v-f4d46d48] {
  margin-top: 15px;
  padding-top: 20px;
  border-top: 1px solid #dee2e6;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.documents-section[data-v-f4d46d48] {
  margin-top: 30px;
}
.documents-title[data-v-f4d46d48] {
  /* Style differently if needed */
}
.document-list[data-v-f4d46d48] {
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin-bottom: 30px;
}
.document-item[data-v-f4d46d48] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px;
}
.document-item.card-style[data-v-f4d46d48] {
  border: 1px solid #dee2e6;
  border-radius: 6px;
  padding: 15px 20px;
  background-color: #f8f9fa;
}
.document-item.placeholder[data-v-f4d46d48] {
  font-style: italic;
  color: #adb5bd;
  justify-content: center;
}
.doc-info[data-v-f4d46d48] {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-grow: 1;
}
.doc-icon[data-v-f4d46d48] {
  font-size: 1.6rem;
}
.doc-title[data-v-f4d46d48] {
  font-weight: 500;
  color: #212529;
}
.doc-actions[data-v-f4d46d48] {
  display: flex;
  align-items: center;
  gap: 15px;
  flex-shrink: 0;
}
.doc-actions.grouped[data-v-f4d46d48] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
  align-items: start;
}
.doc-action[data-v-f4d46d48] {
  border: 1px solid #e9ecef;
  border-radius: 6px;
  padding: 10px 12px;
  background: #fafbfc;
}
.doc-action .buttons[data-v-f4d46d48] {
  display: flex;
  gap: 8px;
  margin: 8px 0 6px;
}
.acknowledgement[data-v-f4d46d48] {
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  font-size: 0.9rem;
  color: #6c757d;
}
.acknowledgement input[type='checkbox'][data-v-f4d46d48] {
  cursor: pointer;
  width: 16px;
  height: 16px;
}
.final-actions[data-v-f4d46d48] {
  margin-top: 30px;
  padding-top: 20px;
  border-top: 1px solid #dee2e6;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
button[data-v-f4d46d48] {
  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-f4d46d48]:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}
.button-primary[data-v-f4d46d48] {
  background-color: #03854c;
  color: white;
}
.button-primary[data-v-f4d46d48]:hover:not(:disabled) {
  background-color: #057343;
}
.button-primary.submit-final[data-v-f4d46d48] {
  background-color: #198754;
}
.button-primary.submit-final[data-v-f4d46d48]:hover:not(:disabled) {
  background-color: #157347;
}
.button-secondary[data-v-f4d46d48] {
  background-color: #6c757d;
  color: #ffffff;
}
.button-secondary[data-v-f4d46d48]:hover:not(:disabled) {
  background-color: #5a6268;
}
.button-secondary.small[data-v-f4d46d48] {
  padding: 6px 12px;
  font-size: 0.85rem;
}
@media (max-width: 600px) {
.document-item[data-v-f4d46d48] {
    flex-direction: column;
    align-items: flex-start;
}
.doc-actions[data-v-f4d46d48] {
    width: 100%;
    justify-content: space-between;
    margin-top: 10px;
}
.signing-actions[data-v-f4d46d48],
  .final-actions[data-v-f4d46d48] {
    flex-direction: column-reverse;
    gap: 15px;
    align-items: stretch;
}
.signing-actions button[data-v-f4d46d48],
  .final-actions button[data-v-f4d46d48] {
    width: 100%;
}
}
.card-style[data-v-f4d46d48] {
  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-f4d46d48] {
  text-align: center;
  background-color: #f8f8f8;
}
.polling-active[data-v-f4d46d48] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-bottom: 15px;
  color: #6c757d;
}
.polling-active .spinner.small[data-v-f4d46d48] {
  width: 20px;
  height: 20px;
  border-width: 3px;
  margin-bottom: 0;
}
.status-display[data-v-f4d46d48] {
  font-size: 1.1rem;
  margin-bottom: 15px;
  color: #212529;
}
.status-display strong[data-v-f4d46d48] {
  color: #03854c;
  font-weight: 600;
}
.status-message.small-margin[data-v-f4d46d48] {
  margin-bottom: 10px;
}
.polling-actions[data-v-f4d46d48] {
  margin-top: 20px;
  padding-top: 15px;
  border-top: 1px solid #dee2e6;
}
.portal-redirect-actions[data-v-f4d46d48] {
  margin-top: 18px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.portal-redirect-hint[data-v-f4d46d48] {
  font-size: 0.9rem;
  color: #555;
}

.hero-mode-host {
  width: 100%;
}
.hero-mode-wrapper {
  width: 100%;
  display: block;
}
.hero-shell[data-v-3e83bcef] {
  position: relative;
  width: 100%;
  padding: clamp(2.4rem, 6vw, 5.2rem) clamp(2rem, 7vw, 6.2rem);
  display: flex;
  justify-content: center;
  overflow: hidden;
}
.hero-shell__backdrop[data-v-3e83bcef] {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 12% 18%, rgba(3, 133, 76, 0.18), transparent 55%),
    radial-gradient(circle at 82% 8%, rgba(31, 141, 242, 0.15), transparent 45%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(226, 232, 240, 0.9));
  pointer-events: none;
  z-index: 0;
}
.hero-shell[data-v-3e83bcef]::before,
.hero-shell[data-v-3e83bcef]::after {
  content: '';
  position: absolute;
  pointer-events: none;
  border-radius: 999px;
  opacity: 0.28;
  z-index: 0;
}
.hero-shell[data-v-3e83bcef]::before {
  inset: -28% 58% 36% -14%;
  background: radial-gradient(circle at 24% 30%, rgba(3, 133, 76, 0.22), transparent 70%);
}
.hero-shell[data-v-3e83bcef]::after {
  inset: 62% -26% -28% 46%;
  background: radial-gradient(circle at 72% 44%, rgba(108, 77, 255, 0.16), transparent 78%);
}
.hero-mode[data-v-3e83bcef] {
  position: relative;
  z-index: 1;
  width: min(1180px, 100%);
  display: grid;
  grid-template-columns: minmax(320px, 380px) minmax(0, 1fr);
  gap: clamp(1.8rem, 3.6vw, 3rem);
  padding: clamp(2rem, 3.5vw, 3.2rem);
  border-radius: 30px;
  background: linear-gradient(150deg, rgba(5, 94, 76, 0.07), rgba(15, 23, 42, 0.08));
  color: #0f172a;
  overflow: hidden;
  isolation: isolate;
  box-shadow: 0 60px 140px -60px rgba(15, 23, 42, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.7);
}
.hero-mode[data-v-3e83bcef]::before {
  content: '';
  position: absolute;
  inset: -18% -30% 46% 22%;
  background: radial-gradient(circle at 20% 20%, var(--accent-soft), transparent 65%);
  transform: rotate(-10deg);
  z-index: -2;
}
.hero-mode[data-v-3e83bcef]::after {
  content: '';
  position: absolute;
  inset: 48% 18% -40% -12%;
  background: radial-gradient(circle at 68% 60%, rgba(15, 23, 42, 0.14), transparent 70%);
  z-index: -2;
}
.options-panel[data-v-3e83bcef] {
  display: flex;
  flex-direction: column;
  gap: clamp(1.4rem, 2.2vw, 2rem);
  z-index: 1;
}
.hero-header[data-v-3e83bcef] {
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}
.eyebrow[data-v-3e83bcef] {
  font-size: 0.9rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--accent-color);
}
.hero-header h1[data-v-3e83bcef] {
  font-size: clamp(2rem, 2.8vw, 2.5rem);
  line-height: 1.12;
  margin: 0;
}
.intro[data-v-3e83bcef] {
  margin: 0;
  color: rgba(15, 23, 42, 0.68);
  max-width: 32ch;
}
.options-list[data-v-3e83bcef] {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.option-button[data-v-3e83bcef] {
  display: flex;
  align-items: center;
  gap: 1.05rem;
  width: 100%;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.78);
  padding: 1rem 1.2rem;
  text-align: left;
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    border-color 0.22s ease,
    background 0.22s ease;
  color: inherit;
  cursor: pointer;
}
.option-button[data-v-3e83bcef]:hover {
  transform: translateY(-3px);
  box-shadow: 0 22px 46px -28px rgba(15, 23, 42, 0.55);
  border-color: rgba(148, 163, 184, 0.45);
  background: rgba(255, 255, 255, 0.94);
}
.option-button.active[data-v-3e83bcef] {
  border-color: var(--accent-color);
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 26px 56px -30px rgba(15, 23, 42, 0.6);
}
.icon-badge[data-v-3e83bcef] {
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  border-radius: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--accent-soft);
  color: var(--accent-color);
}
.icon-badge svg[data-v-3e83bcef] {
  width: 42px;
  height: 42px;
}
.option-copy[data-v-3e83bcef] {
  display: flex;
  flex-direction: column;
  gap: 0.22rem;
  flex: 1;
}
.option-label[data-v-3e83bcef] {
  font-weight: 600;
  font-size: 1.07rem;
}
.option-description[data-v-3e83bcef] {
  color: rgba(15, 23, 42, 0.65);
  font-size: 0.95rem;
}
.chevron svg[data-v-3e83bcef] {
  width: 20px;
  height: 20px;
  color: rgba(15, 23, 42, 0.45);
}
.option-button.active .chevron svg[data-v-3e83bcef] {
  color: var(--accent-color);
}
.showcase[data-v-3e83bcef] {
  position: relative;
  min-height: clamp(320px, 34vw, 440px);
  border-radius: 28px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.35));
}
.orb[data-v-3e83bcef] {
  position: absolute;
  border-radius: 999px;
  mix-blend-mode: screen;
  animation: float-3e83bcef 8s ease-in-out infinite;
}
.orb-one[data-v-3e83bcef] {
  width: clamp(280px, 26vw, 340px);
  height: clamp(280px, 26vw, 340px);
  background: radial-gradient(circle at 30% 30%, var(--accent-color), transparent 70%);
  opacity: 0.4;
  top: -70px;
  right: -50px;
}
.orb-two[data-v-3e83bcef] {
  width: clamp(240px, 24vw, 300px);
  height: clamp(240px, 24vw, 300px);
  background: radial-gradient(circle at 70% 70%, rgba(15, 23, 42, 0.4), transparent 65%);
  opacity: 0.55;
  bottom: -90px;
  left: -70px;
  animation-delay: -2.5s;
}
.glow[data-v-3e83bcef] {
  position: absolute;
  inset: 18% 12% 16% 12%;
  background: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.7), transparent 70%);
  opacity: 0.5;
  z-index: 1;
}
.hero-card[data-v-3e83bcef] {
  position: relative;
  z-index: 2;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  background: rgba(255, 255, 255, 0.9);
  border-radius: 26px;
  padding: clamp(2rem, 3.4vw, 2.6rem);
  border: 1px solid rgba(255, 255, 255, 0.7);
  box-shadow: 0 42px 90px -36px rgba(15, 23, 42, 0.55);
  display: flex;
  flex-direction: column;
  gap: 1.35rem;
  max-width: 460px;
}
.card-eyebrow[data-v-3e83bcef] {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--accent-color);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin: 0;
}
.hero-card h2[data-v-3e83bcef] {
  margin: 0;
  font-size: clamp(1.8rem, 2.3vw, 2.1rem);
  line-height: 1.12;
}
.card-copy[data-v-3e83bcef] {
  margin: 0;
  color: rgba(15, 23, 42, 0.72);
  line-height: 1.6;
}
.cta-button[data-v-3e83bcef] {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  background: var(--accent-color);
  color: #ffffff;
  border: none;
  border-radius: 999px;
  padding: 0.75rem 1.6rem;
  font-weight: 600;
  cursor: pointer;
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    background 0.22s ease;
}
.cta-button[data-v-3e83bcef]:hover {
  transform: translateY(-3px);
  box-shadow: 0 24px 48px -28px var(--accent-color);
}
.cta-button svg[data-v-3e83bcef] {
  width: 18px;
  height: 18px;
}
@keyframes float-3e83bcef {
0%,
  100% {
    transform: translate3d(0, 0, 0) scale(1);
}
50% {
    transform: translate3d(0, -18px, 0) scale(1.05);
}
}
@media (min-width: 1400px) {
.hero-mode[data-v-3e83bcef] {
    grid-template-columns: minmax(320px, 380px) minmax(0, 1fr);
}
.hero-card[data-v-3e83bcef] {
    max-width: 500px;
}
}
@media (max-width: 1080px) {
.hero-shell[data-v-3e83bcef] {
    padding: clamp(2.1rem, 7vw, 3.7rem) clamp(1.6rem, 6vw, 3.6rem);
}
.hero-mode[data-v-3e83bcef] {
    grid-template-columns: 1fr;
    padding: clamp(1.8rem, 5vw, 2.4rem);
}
.showcase[data-v-3e83bcef] {
    min-height: 300px;
}
}
@media (max-width: 760px) {
.hero-shell[data-v-3e83bcef] {
    padding: clamp(1.6rem, 7vw, 2.2rem) clamp(1rem, 5vw, 1.6rem);
}
.hero-mode[data-v-3e83bcef] {
    border-radius: 24px;
}
.hero-card[data-v-3e83bcef] {
    padding: clamp(1.6rem, 6vw, 1.9rem);
}
.option-button[data-v-3e83bcef] {
    border-radius: 16px;
    padding: 0.85rem 1rem;
}
.icon-badge[data-v-3e83bcef] {
    width: 48px;
    height: 48px;
    border-radius: 16px;
}
}

.login-page[data-v-889f939c] {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 16px;
  background: linear-gradient(135deg, #e8f5e9 0%, #f3fbf7 100%);
}
.login-card[data-v-889f939c] {
  width: 100%;
  max-width: 420px;
  padding: 40px 36px;
  border-radius: 14px;
  background-color: #ffffff;
  box-shadow: 0 20px 45px rgba(3, 133, 76, 0.12);
  border: 1px solid rgba(3, 133, 76, 0.08);
}
.login-card__header[data-v-889f939c] {
  text-align: center;
  margin-bottom: 28px;
}
.login-card__header h1[data-v-889f939c] {
  margin: 0 0 8px;
  font-size: 1.9rem;
  font-weight: 600;
  color: #124d35;
}
.login-card__header p[data-v-889f939c] {
  margin: 0;
  color: #4b6358;
  font-size: 1rem;
}
.login-form[data-v-889f939c] {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.form-group[data-v-889f939c] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.form-group label[data-v-889f939c] {
  font-weight: 600;
  color: #2f493f;
}
.form-group input[data-v-889f939c] {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #c9d8d2;
  border-radius: 8px;
  background-color: #fafdfb;
  font-size: 1rem;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}
.form-group input[data-v-889f939c]:focus {
  border-color: #03854c;
  box-shadow: 0 0 0 3px rgba(3, 133, 76, 0.12);
  outline: none;
}
.forgot-password-link[data-v-889f939c] {
  display: inline-block;
  margin-top: 4px;
  font-size: 0.9rem;
  color: #03854c;
  text-decoration: none;
}
.forgot-password-link[data-v-889f939c]:hover {
  text-decoration: underline;
}
button[data-v-889f939c] {
  width: 100%;
  padding: 12px 16px;
  border: none;
  border-radius: 8px;
  background: linear-gradient(135deg, #03854c 0%, #06a25c 100%);
  color: #ffffff;
  font-size: 1.05rem;
  font-weight: 600;
  cursor: pointer;
  transition:
    transform 0.15s ease,
    box-shadow 0.15s ease;
}
button[data-v-889f939c]:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 14px 24px rgba(3, 133, 76, 0.18);
}
button[data-v-889f939c]:disabled {
  background: #9fd8c0;
  cursor: not-allowed;
  box-shadow: none;
}
.error-message[data-v-889f939c] {
  margin: 0 0 12px;
  padding: 12px 14px;
  border-radius: 8px;
  background-color: #fdecea;
  border: 1px solid #f5c2c0;
  color: #a94442;
  font-size: 0.95rem;
  text-align: center;
}
.support-text[data-v-889f939c] {
  margin: 24px 0 0;
  color: #4b6358;
  font-size: 0.95rem;
  text-align: center;
}
@media (max-width: 480px) {
.login-card[data-v-889f939c] {
    padding: 32px 24px;
}
.login-card__header h1[data-v-889f939c] {
    font-size: 1.6rem;
}
button[data-v-889f939c] {
    font-size: 1rem;
}
}

.user-dashboard-view[data-v-0262eb5c] {
  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-0262eb5c] {
  text-align: center;
  color: var(--color-heading, #333);
  margin-bottom: 30px;
  font-size: 1.8rem;
}
.dashboard-sections[data-v-0262eb5c] {
  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-0262eb5c] {
  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-0262eb5c] {
  grid-column: 1 / -1; /* span full width */
}
.dashboard-section h3[data-v-0262eb5c] {
  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-0262eb5c] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.live-toggle[data-v-0262eb5c] {
  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-0262eb5c]:hover {
  background-color: #e2e8f0;
}
.live-toggle.active[data-v-0262eb5c] {
  background-color: #0f533a;
  border-color: #0f533a;
  color: #ffffff;
  box-shadow: 0 0 0 2px rgba(15, 83, 58, 0.15);
}
.toggle-hint[data-v-0262eb5c] {
  margin: 8px 0 12px;
  color: #4b5563;
  font-size: 0.95rem;
}
.mutation-button[data-v-0262eb5c] {
  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-0262eb5c] {
  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-0262eb5c]:hover {
  background-color: #f2f7f4;
  transform: translateY(-1px);
}
.mutation-button.accent[data-v-0262eb5c] {
  background-color: #146b45;
}
.mutation-button .icon[data-v-0262eb5c] {
  font-size: 14px;
}
.mutation-button[data-v-0262eb5c]:hover {
  background-color: #0b3f2b;
  transform: translateY(-1px);
}
.mutation-button[data-v-0262eb5c]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}
.mutation-feedback[data-v-0262eb5c],
.mutation-error[data-v-0262eb5c] {
  margin: 0 0 12px 0;
  font-size: 0.95rem;
}
.mutation-feedback[data-v-0262eb5c] {
  color: #0f533a;
}
.mutation-error[data-v-0262eb5c] {
  color: var(--color-danger, #dc3545);
}
.policy-recalcs .recalcs-list[data-v-0262eb5c] {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.policy-recalcs .recalc-row[data-v-0262eb5c] {
  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-0262eb5c] {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  flex-wrap: wrap;
}
.policy-recalcs .recalc-info .muted[data-v-0262eb5c] {
  color: var(--color-text-muted, #666);
  font-size: 0.9rem;
}
.policy-recalcs .recalc-info .meta[data-v-0262eb5c] {
  margin-top: 4px;
  color: var(--color-text-secondary, #555);
  word-break: break-word;
}
.suggestions-block.solo[data-v-0262eb5c] {
  padding: 0;
}
.policy-recalcs .recalc-info .meta .positive[data-v-0262eb5c] { color: #0f766e;
}
.policy-recalcs .recalc-info .meta .negative[data-v-0262eb5c] { color: #b91c1c;
}
.policy-recalcs .recalc-info .meta.error[data-v-0262eb5c] {
  color: var(--color-danger, #dc3545);
}
.recalcs-and-suggestions[data-v-0262eb5c] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
  align-items: start;
}
.suggestions-block[data-v-0262eb5c] {
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 12px;
}
.suggestions-block[data-v-0262eb5c] .insurance-suggestions-card {
  box-shadow: none;
  border: none;
}
.dashboard-section p[data-v-0262eb5c]: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-0262eb5c],
.no-results em[data-v-0262eb5c] {
  color: var(--color-text-muted, #777);
  font-style: italic;
  text-align: center;
  padding: 20px 0;
}
.application-list[data-v-0262eb5c] {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.application-card[data-v-0262eb5c] {
  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-0262eb5c] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  gap: 8px;
}
.application-card h4[data-v-0262eb5c] {
  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-0262eb5c] {
  font-size: 0.9rem;
  color: var(--color-text-secondary, #555);
  margin-bottom: 5px;
}
.application-card p.status span[data-v-0262eb5c] {
  font-weight: 500;
  color: var(--color-primary-dark, #0056b3);
}
.card-badges[data-v-0262eb5c] {
  display: flex;
  gap: 6px;
  align-items: center;
}
.badge[data-v-0262eb5c] {
  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-0262eb5c] {
  background-color: #e8f0ff;
  color: #1d4ed8;
  border: 1px solid #c7d7ff;
}
.application-card p.date[data-v-0262eb5c] {
  font-size: 0.8rem;
  color: var(--color-text-muted, #777);
}
.action-buttons[data-v-0262eb5c] {
  margin-top: 10px;
}
.open-details-button[data-v-0262eb5c] {
  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-0262eb5c]:hover {
  background-color: var(--color-border-light, #e0e0e0);
  border-color: var(--color-border-dark, #aaa);
}
.application-details[data-v-0262eb5c] {
  margin-top: 15px;
  padding-top: 10px;
  border-top: 1px dashed var(--color-border-light, #eee);
}
.application-details h5[data-v-0262eb5c] {
  font-size: 0.95rem;
  color: var(--color-heading, #333);
  margin-top: 10px;
  margin-bottom: 5px;
}
.application-details pre[data-v-0262eb5c] {
  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-0262eb5c] {
  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-0262eb5c] {
  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-0262eb5c]:hover {
  color: var(--color-primary-hover, #0056b3);
}

/* Policy Card Styles */
.policy-list[data-v-0262eb5c] {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.policy-card[data-v-0262eb5c] {
  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-0262eb5c]:hover {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.policy-layout[data-v-0262eb5c] {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: flex-start;
  gap: 16px;
}
.policy-icon-badge[data-v-0262eb5c] {
  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-0262eb5c] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
  gap: 10px;
  min-width: 0;
}
.policy-header h4[data-v-0262eb5c] {
  font-size: 1.1rem;
  color: var(--color-heading, #333);
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
}
.policy-number[data-v-0262eb5c] {
  font-size: 0.9rem;
  color: var(--color-text-muted, #666);
  font-family: monospace;
  word-break: break-word;
}
.policy-details[data-v-0262eb5c] {
  margin-bottom: 15px;
}
.policy-details p[data-v-0262eb5c] {
  margin: 5px 0;
  font-size: 0.9rem;
  color: var(--color-text, #444);
}
.policy-type[data-v-0262eb5c] {
  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-0262eb5c] {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--color-success, #28a745);
  word-break: break-word;
}
.policy-dates[data-v-0262eb5c] {
  font-size: 0.85rem;
  color: var(--color-text-muted, #666);
  word-break: break-word;
}
.policy-actions[data-v-0262eb5c] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: stretch;
  min-width: 190px;
}
.policy-actions .mutation-button[data-v-0262eb5c] {
  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-0262eb5c] {
  /* Target h3 within subscription section specifically if needed */
  /* color: #8E44AD; /* Example: Purple for subscription */
}
.subscription-card[data-v-0262eb5c] {
  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-0262eb5c] {
  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-0262eb5c] {
  font-size: 3.5rem; /* Larger icon */
  line-height: 1;
}
.shield-icon.silver[data-v-0262eb5c] {
  color: #adb5bd; /* Silver color */
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
}
.subscription-card h4[data-v-0262eb5c] {
  font-size: 1.3rem; /* Slightly larger title for subscription */
  color: var(--color-heading-dark, #34495e);
  margin: 0;
}
.subscription-benefits[data-v-0262eb5c] {
  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-0262eb5c] {
  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-0262eb5c]:last-child {
  border-bottom: none;
}
.subscription-benefits li[data-v-0262eb5c]::before {
  content: '✓'; /* Checkmark icon */
  color: var(--color-success, #28a745); /* Green checkmark */
  margin-right: 10px;
  font-weight: bold;
}
.subscription-actions[data-v-0262eb5c] {
  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-0262eb5c] {
  background-color: var(--color-primary-dark, #0056b3); /* Darker blue for manage button */
  padding: 10px 25px;
}
.subscription-actions .button-primary[data-v-0262eb5c]:hover {
  background-color: var(--color-primary, #007bff);
}

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

/* Insurance Type Buttons */
.insurance-type-buttons[data-v-0262eb5c] {
  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-0262eb5c] {
  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-0262eb5c]: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-0262eb5c] {
  font-size: 2.5rem;
  margin-bottom: 10px;
  line-height: 1;
}
.insurance-btn .label[data-v-0262eb5c] {
  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-0262eb5c] {
  filter: brightness(1.1);
}
.insurance-btn.home:hover .icon[data-v-0262eb5c] {
  filter: brightness(1.1);
}
.insurance-btn.liability:hover .icon[data-v-0262eb5c] {
  filter: brightness(1.1);
}
.insurance-btn.household:hover .icon[data-v-0262eb5c] {
  filter: brightness(1.1);
}
.insurance-btn.travel:hover .icon[data-v-0262eb5c] {
  filter: brightness(1.1);
}

/* Has Policy - Disabled state for single-instance products with existing policy */
.insurance-btn.has-policy[data-v-0262eb5c] {
  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-0262eb5c]:hover {
  transform: none;
  box-shadow: none;
}
.insurance-btn.has-policy .icon[data-v-0262eb5c] {
  opacity: 0.7;
}
.insurance-btn.has-policy .label[data-v-0262eb5c] {
  font-size: 0.7rem;
  font-weight: 600;
}
.documents-modal-overlay[data-v-0262eb5c] {
  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-0262eb5c] {
  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-0262eb5c] {
  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-0262eb5c] {
  margin: 0;
  font-size: 0.85rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #6b7280;
}
.documents-modal__title[data-v-0262eb5c] {
  margin: 4px 0 0 0;
  color: #111827;
  font-size: 1.2rem;
}
.documents-modal__subtitle[data-v-0262eb5c] {
  margin: 4px 0 0 0;
  color: #4b5563;
}
.documents-modal__close[data-v-0262eb5c] {
  background: none;
  border: none;
  color: #0f533a;
  font-weight: 700;
  cursor: pointer;
}
.documents-modal__body[data-v-0262eb5c] {
  padding: 16px 20px 20px;
  max-height: 60vh;
  overflow: auto;
}
.documents-list[data-v-0262eb5c] {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.document-row[data-v-0262eb5c] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid #e5e7eb;
}
.document-row[data-v-0262eb5c]:last-child {
  border-bottom: none;
}
.document-info[data-v-0262eb5c] {
  display: flex;
  align-items: center;
  gap: 10px;
}
.document-title[data-v-0262eb5c] {
  margin: 0;
  font-weight: 700;
  color: #111827;
}
.document-copy[data-v-0262eb5c] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.document-icon[data-v-0262eb5c] {
  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-0262eb5c] {
  margin: 0;
  color: #4b5563;
  font-size: 0.95rem;
}
.document-download[data-v-0262eb5c] {
  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-0262eb5c]:hover {
  color: #0b3f2b;
}
.documents-modal__close[data-v-0262eb5c]:focus-visible,
.document-download[data-v-0262eb5c]:focus-visible {
  outline: 2px solid #0f533a;
  outline-offset: 2px;
}
.document-download[data-v-0262eb5c]:hover {
  background-color: #0b3f2b;
  transform: translateY(-1px);
}
.document-download[data-v-0262eb5c]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}
@media (max-width: 640px) {
.documents-modal[data-v-0262eb5c] {
    width: 100%;
}
.document-row[data-v-0262eb5c] {
    align-items: flex-start;
    flex-direction: column;
}
.document-download[data-v-0262eb5c] {
    width: 100%;
}
}
@media (max-width: 768px) {
.policy-layout[data-v-0262eb5c] {
    grid-template-columns: 1fr;
}
.policy-actions[data-v-0262eb5c] {
    align-items: stretch;
}
.insurance-type-buttons[data-v-0262eb5c] {
    grid-template-columns: 1fr;
}
.insurance-btn[data-v-0262eb5c] {
    padding: 15px;
}
.insurance-btn .icon[data-v-0262eb5c] {
    font-size: 2rem;
}
}

.settings-container[data-v-51507c6d] {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.settings-header h2[data-v-51507c6d] {
  font-size: 1.5rem;
  font-weight: 600;
  margin: 0 0 8px 0;
  color: #0f3d2e;
}
.settings-header p[data-v-51507c6d] {
  color: #4b6358;
  margin: 0;
}
.settings-card[data-v-51507c6d] {
  background: #ffffff;
  border-radius: 12px;
  border: 1px solid rgba(15, 61, 46, 0.12);
  box-shadow: 0 12px 32px rgba(15, 61, 46, 0.08);
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.settings-card h3[data-v-51507c6d] {
  margin: 0;
  font-size: 1.25rem;
  color: #0f3d2e;
}
.card-subtitle[data-v-51507c6d] {
  margin: 0;
  color: #4b6358;
}
.relation-grid[data-v-51507c6d] {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}
.relation-section[data-v-51507c6d] {
  border: 1px solid rgba(15, 61, 46, 0.1);
  border-radius: 10px;
  padding: 16px;
  background: rgba(249, 252, 251, 0.9);
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.relation-section h4[data-v-51507c6d] {
  margin: 0 0 4px 0;
  font-size: 1.05rem;
  color: #244b3a;
}
.form-group[data-v-51507c6d] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.form-group label[data-v-51507c6d] {
  font-size: 0.9rem;
  color: #244b3a;
  font-weight: 500;
}
.form-group input[data-v-51507c6d],
.form-group textarea[data-v-51507c6d] {
  border: 1px solid rgba(15, 61, 46, 0.18);
  border-radius: 8px;
  padding: 10px 12px;
  font-size: 0.95rem;
  color: #0f3d2e;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}
.form-group input[data-v-51507c6d]:focus,
.form-group textarea[data-v-51507c6d]:focus {
  outline: none;
  border-color: rgba(42, 206, 123, 0.6);
  box-shadow: 0 0 0 2px rgba(42, 206, 123, 0.2);
}
.form-actions[data-v-51507c6d] {
  display: flex;
  justify-content: flex-end;
}
.button-primary[data-v-51507c6d] {
  background: linear-gradient(130deg, #2ace7b, #0f8c54);
  color: #ffffff;
  border: none;
  border-radius: 10px;
  padding: 10px 20px;
  font-weight: 600;
  cursor: pointer;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}
.button-primary[data-v-51507c6d]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  box-shadow: none;
}
.button-primary[data-v-51507c6d]:not(:disabled):hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(48, 167, 112, 0.35);
}
.message[data-v-51507c6d] {
  margin: 0 0 12px;
  padding: 8px 12px;
  border-radius: 8px;
  font-size: 0.9rem;
}
.message.success[data-v-51507c6d] {
  background: rgba(42, 206, 123, 0.12);
  color: #1a7a4b;
}
.message.error[data-v-51507c6d] {
  background: rgba(231, 76, 60, 0.12);
  color: #9b2c2c;
}
@media (max-width: 640px) {
.settings-card[data-v-51507c6d] {
    padding: 16px;
}
.relation-grid[data-v-51507c6d] {
    grid-template-columns: 1fr;
}
}
.grid.two-cols[data-v-51507c6d] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 16px;
}
.form-group[data-v-51507c6d] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.form-actions[data-v-51507c6d] {
  margin-top: 12px;
}
.message.success[data-v-51507c6d] {
  color: #0f5132;
}
.message.error[data-v-51507c6d] {
  color: #842029;
}

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

.details-header[data-v-2c3e137d] { display:flex; align-items:center; gap:12px; margin-bottom:12px
}
.details-header .subtitle[data-v-2c3e137d] { color:#4a5; margin:0
}
.back[data-v-2c3e137d] { border:1px solid #cde; background:#f8fbf7; padding:6px 10px; border-radius:8px; cursor:pointer
}
.state.loading[data-v-2c3e137d], .state.error[data-v-2c3e137d] { padding:12px;
}
.block[data-v-2c3e137d] { margin: 18px 0;
}
.subblock[data-v-2c3e137d] { margin: 12px 0;
}
ul.labels[data-v-2c3e137d] { list-style:none; padding:0; margin:0; display:grid; gap:8px
}
ul.labels li[data-v-2c3e137d] { display:grid; grid-template-columns: minmax(200px, 340px) 1fr; gap:12px; padding:8px 10px; border:1px solid #eee; border-radius:10px; background:#fff
}
.title[data-v-2c3e137d] { font-weight:600
}
.value[data-v-2c3e137d] { color:#123
}
.desc[data-v-2c3e137d] { grid-column: 1 / -1; color:#6a7;
}

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

[data-v-b99a2f76]:root {
  /* fallback values for non-iOS browsers */
  --safe-bottom: env(safe-area-inset-bottom, 0px);
}
.bottom-nav[data-v-b99a2f76] {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 214748; /* ensure above all app UI */
  background: #0f3d2e; /* Dark green brand color for visibility */
  border-top: 1px solid #134d38;
  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-b99a2f76] {
  list-style: none;
  margin: 0;
  padding: 6px 12px 10px;
  height: 64px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  gap: 4px;
  align-items: stretch;
}
.bottom-nav-item[data-v-b99a2f76] { display: contents;
}
.bottom-nav-button[data-v-b99a2f76] {
  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.75); /* Light color on dark background */
  font-size: 12px;
  border-radius: 12px;
  transition: color 0.15s ease, background 0.15s ease;
}
.bottom-nav-button .icon[data-v-b99a2f76] { font-size: 20px; line-height: 1;
}
.bottom-nav-button .label[data-v-b99a2f76] { font-weight: 700; font-size: 11px;
}
.bottom-nav-button.active[data-v-b99a2f76] {
  background: rgba(255, 255, 255, 0.15);
  color: #ffffff;
}
.bottom-nav-spacer[data-v-b99a2f76] {
  height: calc(64px + var(--safe-bottom));
}
@media (min-width: 769px) {
.bottom-nav[data-v-b99a2f76], .bottom-nav-spacer[data-v-b99a2f76] { display: none;
}
}

.pwa-install-btn[data-v-021ade74] {
  appearance: none;
  background-color: #f8f9fa;
  color: #0d6efd;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  padding: 10px 14px;
  font-weight: 600;
  cursor: pointer;
}
.pwa-install-btn[data-v-021ade74]:hover {
  background-color: #eef2ff;
  border-color: #94a3b8;
}

.claim-wizard[data-v-a792d213] {
  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-a792d213] {
  margin: 0 0 4px;
}
.wizard-subtitle[data-v-a792d213] {
  color: #6b7280;
  margin: 0 0 12px;
}
.wizard-steps[data-v-a792d213] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 8px;
  margin-bottom: 16px;
}
.wizard-step[data-v-a792d213] {
  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-a792d213] {
  margin-left: auto;
  color: #15803d;
  font-weight: 700;
}
.wizard-step.active[data-v-a792d213] {
  border-color: #2563eb;
  background: #eff6ff;
}
.wizard-step.done[data-v-a792d213] {
  border-color: #16a34a;
}
.step-index[data-v-a792d213] {
  font-weight: 700;
  color: #111827;
}
.step-label[data-v-a792d213] {
  color: #374151;
  font-size: 14px;
}
.wizard-body[data-v-a792d213] {
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 16px;
  background: #fdfefe;
}
.wizard-fieldset[data-v-a792d213] {
  border: 0;
  padding: 0;
  margin: 0;
  min-inline-size: 0;
}
.wizard-actions[data-v-a792d213] {
  margin-top: 16px;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.wizard-actions .primary[data-v-a792d213] {
  background: #2563eb;
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 10px 16px;
  cursor: pointer;
}
.wizard-actions .secondary[data-v-a792d213] {
  background: #fff;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  padding: 10px 16px;
  cursor: pointer;
}
.wizard-body h4[data-v-a792d213],
.wizard-body h5[data-v-a792d213] {
  margin: 0 0 8px;
}
.grid[data-v-a792d213] {
  display: grid;
  gap: 8px;
}
.grid-2[data-v-a792d213] {
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}
.field[data-v-a792d213] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 10px;
}
.field input[data-v-a792d213],
.field select[data-v-a792d213],
.field textarea[data-v-a792d213] {
  border: 1px solid #d1d5db;
  border-radius: 8px;
  padding: 10px;
}
.split[data-v-a792d213] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 10px;
  margin-bottom: 10px;
}
.stack[data-v-a792d213] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.radio-tile[data-v-a792d213] {
  border: 1px solid #e5e7eb;
  padding: 10px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}
.radio-row[data-v-a792d213] {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin: 8px 0;
}
.required[data-v-a792d213] {
  color: #b91c1c;
}
.card[data-v-a792d213] {
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 12px;
  background: #fff;
}
.checkbox[data-v-a792d213] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 8px 0;
}
.helper[data-v-a792d213] {
  color: #6b7280;
  margin-bottom: 6px;
}
.card-actions[data-v-a792d213] {
  display: flex;
  justify-content: flex-end;
}
.link[data-v-a792d213] {
  background: none;
  border: none;
  color: #2563eb;
  cursor: pointer;
}
.add-damage-btn[data-v-a792d213] {
  margin-top: 10px;
  align-self: flex-start;
}
.status-message[data-v-a792d213] {
  color: #374151;
  margin-top: 8px;
}
.attachment-list[data-v-a792d213] {
  list-style: none;
  padding: 0;
  margin: 0;
}
.attachment-list li[data-v-a792d213] {
  padding: 4px 0;
  border-bottom: 1px solid #f3f4f6;
}
.attachment-list li[data-v-a792d213]:last-child {
  border-bottom: none;
}
.error[data-v-a792d213] {
  color: #b91c1c;
}
.status-row[data-v-a792d213] {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}
.pill[data-v-a792d213] {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 2px 10px;
  font-size: 13px;
  font-weight: 600;
}
.pill-draft[data-v-a792d213] {
  background: #fff7ed;
  color: #c2410c;
}
.pill-progress[data-v-a792d213] {
  background: #eff6ff;
  color: #1d4ed8;
}
.pill-success[data-v-a792d213] {
  background: #ecfdf3;
  color: #15803d;
}
.pill-closed[data-v-a792d213] {
  background: #e5e7eb;
  color: #111827;
}
@media (max-width: 640px) {
.wizard-steps[data-v-a792d213] {
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
}
}
.validation-error[data-v-a792d213] {
  color: #b91c1c;
  background: #fef2f2;
  border: 1px solid #fecaca;
  padding: 10px 14px;
  border-radius: 6px;
  margin-top: 12px;
  font-size: 14px;
}
.success-overlay[data-v-a792d213] {
  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-a792d213] {
  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-a792d213] {
  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-a792d213] {
  margin: 0 0 8px;
  font-size: 20px;
  color: #111827;
}
.success-card p[data-v-a792d213] {
  margin: 0 0 20px;
  color: #6b7280;
}

.claims-view[data-v-89039aa9] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.claims-header[data-v-89039aa9] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.claims-list[data-v-89039aa9] {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 12px;
  background: #fff;
}
.card[data-v-89039aa9] {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 12px;
  background: #fff;
}
.claim-items[data-v-89039aa9] {
  list-style: none;
  padding: 0;
  margin: 0;
}
.claim-row[data-v-89039aa9] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #f1f5f9;
  padding: 10px 0;
}
.claim-row[data-v-89039aa9]:last-child {
  border-bottom: none;
}
.claim-title[data-v-89039aa9] {
  font-weight: 600;
}
.claim-meta[data-v-89039aa9] {
  color: #6b7280;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  font-size: 14px;
}
.pill[data-v-89039aa9] {
  background: #eef2ff;
  color: #4338ca;
  padding: 2px 8px;
  border-radius: 999px;
}
.pill-draft[data-v-89039aa9] {
  background: #fff7ed;
  color: #c2410c;
}
.pill-progress[data-v-89039aa9] {
  background: #eff6ff;
  color: #1d4ed8;
}
.pill-success[data-v-89039aa9] {
  background: #ecfdf3;
  color: #15803d;
}
.pill-closed[data-v-89039aa9] {
  background: #e5e7eb;
  color: #111827;
}
.id-label[data-v-89039aa9] {
  font-weight: 600;
}
.muted[data-v-89039aa9] {
  color: #6b7280;
}
.primary[data-v-89039aa9] {
  background: #2563eb;
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 10px 14px;
  cursor: pointer;
}
.link[data-v-89039aa9] {
  background: none;
  border: none;
  color: #2563eb;
  cursor: pointer;
}
.claim-wizard-wrapper[data-v-89039aa9] {
  border: 1px solid #e5e7eb;
}

.portal-shell[data-v-0ccb5565] {
  min-height: 100dvh;
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  padding: 64px 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-0ccb5565] {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 640px;
  display: flex;
  background: rgba(255, 255, 255, 0.92);
  border-radius: 32px;
  overflow: hidden;
  border: 1px solid rgba(15, 61, 46, 0.12);
  box-shadow: 0 38px 80px rgba(15, 61, 46, 0.22);
  backdrop-filter: blur(18px);
  box-sizing: border-box;
  overflow-x: hidden;
}
.portal-sidebar[data-v-0ccb5565] {
  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-0ccb5565]::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-0ccb5565] {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 18px;
}
.sidebar-logo[data-v-0ccb5565] {
  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-0ccb5565] {
  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-0ccb5565] {
  margin: 0;
  font-size: 1.55rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sidebar-divider[data-v-0ccb5565] {
  height: 1px;
  background: rgba(230, 255, 242, 0.25);
  margin-top: -8px;
  margin-bottom: -4px;
  position: relative;
  z-index: 1;
}
.sidebar-profile[data-v-0ccb5565] {
  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-0ccb5565] {
  margin: 0;
  text-transform: uppercase;
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  color: rgba(230, 255, 242, 0.7);
}
.profile-name[data-v-0ccb5565] {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 600;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.profile-email[data-v-0ccb5565] {
  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-0ccb5565] {
  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-0ccb5565]:hover {
  background: rgba(231, 76, 60, 0.32);
  transform: translateY(-1px);
}
.chip-icon[data-v-0ccb5565] {
  font-size: 0.95rem;
}
.sidebar-nav[data-v-0ccb5565] {
  position: relative;
  z-index: 1;
}
.nav-title[data-v-0ccb5565] {
  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-0ccb5565] {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
}
.sidebar-link[data-v-0ccb5565] {
  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-0ccb5565]:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(230, 255, 242, 0.25);
  transform: translateX(4px);
}
.sidebar-link.active[data-v-0ccb5565] {
  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-0ccb5565] {
  font-size: 1.2rem;
}
.link-label[data-v-0ccb5565] {
  display: block;
  font-weight: 600;
  font-size: 0.95rem;
}
.link-helper[data-v-0ccb5565] {
  font-size: 0.72rem;
  color: rgba(230, 255, 242, 0.65);
}
.sidebar-cta[data-v-0ccb5565] {
  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-0ccb5565]:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(42, 206, 123, 0.4);
}
.sidebar-cta .icon[data-v-0ccb5565] {
  font-size: 1.1rem;
}
.sidebar-support[data-v-0ccb5565] {
  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-0ccb5565] {
  margin: 0 0 6px;
  font-size: 1rem;
  color: #ffffff;
}
.sidebar-support a[data-v-0ccb5565] {
  color: #b3ffe0;
  text-decoration: none;
}
.mobile-app-bar[data-v-0ccb5565] {
  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-0ccb5565] {
  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-0ccb5565] {
  min-width: 0;
  overflow: hidden;
}
.app-brand strong[data-v-0ccb5565] {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.brand-subtitle[data-v-0ccb5565] {
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.7rem;
  color: #3d5c4f;
}
.app-logout[data-v-0ccb5565] {
  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-0ccb5565] {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 28px;
  padding: 64px;
  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-0ccb5565] {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 24px;
  padding: 32px 36px;
  border-radius: 28px;
  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-0ccb5565]::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-0ccb5565] {
  position: relative;
  z-index: 1;
}
.portal-badge[data-v-0ccb5565] {
  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-0ccb5565] {
  margin: 10px 0 12px;
  font-size: 2.2rem;
  color: #0f3d2e;
}
.portal-subtitle[data-v-0ccb5565] {
  margin: 0;
  max-width: 420px;
  color: #3d5c4f;
  line-height: 1.6;
}
.mobile-only[data-v-0ccb5565] { display: none;
}
.desktop-only[data-v-0ccb5565] { display: block;
}
.portal-header-actions[data-v-0ccb5565] {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  flex-wrap: wrap;
}
.primary-action[data-v-0ccb5565],
.secondary-action[data-v-0ccb5565] {
  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-0ccb5565] {
  background: linear-gradient(130deg, #2ace7b, #0f8c54);
  color: #ffffff;
  box-shadow: 0 18px 32px rgba(48, 167, 112, 0.35);
}
.primary-action[data-v-0ccb5565]:hover {
  transform: translateY(-1px);
  box-shadow: 0 22px 36px rgba(48, 167, 112, 0.4);
}
.secondary-action[data-v-0ccb5565] {
  background: rgba(15, 61, 46, 0.08);
  color: #0f3d2e;
  border: 1px solid rgba(15, 61, 46, 0.18);
}
.secondary-action[data-v-0ccb5565]:hover {
  background: rgba(15, 61, 46, 0.14);
}
.portal-content[data-v-0ccb5565] {
  background: rgba(255, 255, 255, 0.92);
  border-radius: 26px;
  padding: clamp(22px, 3vw, 44px);
  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-0ccb5565] {
  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-0ccb5565] {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 10px;
}
.inbox-badge[data-v-0ccb5565] { margin: 0; text-transform: uppercase; font-size: 0.7rem; letter-spacing: 0.18em; color: #0f3d2e; opacity: .6;
}
.inbox-subtitle[data-v-0ccb5565] { margin: 4px 0 0; color: #3d5c4f;
}
.inbox-refresh[data-v-0ccb5565] { 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-0ccb5565] { list-style: none; padding: 0; margin: 8px 0 0; display: grid; gap: 12px;
}
.inbox-item[data-v-0ccb5565] { 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-0ccb5565] { display: grid; gap: 6px;
}
.inbox-meta[data-v-0ccb5565] { display: flex; gap: 8px;
}
.inbox-chip[data-v-0ccb5565] { 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-0ccb5565] { background: rgba(42,206,123,0.18);
}
.inbox-subject[data-v-0ccb5565] { margin: 0; font-size: 1rem; color: #0f3d2e;
}
.inbox-notes[data-v-0ccb5565] { margin: 0; color: #3d5c4f; font-size: 0.9rem; word-break: break-word;
}
.inbox-notes.rich[data-v-0ccb5565] { white-space: normal; line-height: 1.5;
}
.doc-link[data-v-0ccb5565] { 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-0ccb5565] { display: grid; place-items: center; padding: 32px; color: #3d5c4f;
}
.inbox-empty[data-v-0ccb5565] { 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-0ccb5565] { flex-direction: column; align-items: flex-start;
}
.inbox-meta[data-v-0ccb5565] { flex-wrap: wrap; row-gap: 6px;
}
.inbox-actions[data-v-0ccb5565] { width: 100%;
}
.doc-link[data-v-0ccb5565] { width: 100%; text-align: center; display: inline-flex; justify-content: center;
}
}
.policies-panel[data-v-0ccb5565] {
  display: grid;
  gap: 28px;
  width: 100%;
  box-sizing: border-box;
  overflow-x: hidden;
  max-width: 100%;
  min-width: 0;
}
.policies-header[data-v-0ccb5565] {
  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-0ccb5565] {
  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-0ccb5565] {
  margin: 10px 0 8px;
  font-size: 1.75rem;
  color: #0f3d2e;
}
.policies-subtitle[data-v-0ccb5565] {
  margin: 0;
  max-width: 420px;
  color: #3d5c4f;
  line-height: 1.6;
}
.policies-add[data-v-0ccb5565] {
  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-0ccb5565]: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-0ccb5565] {
  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-0ccb5565] {
  font-size: 1.8rem;
}
.policies-state.error[data-v-0ccb5565] {
  border-color: rgba(231, 76, 60, 0.35);
  background: rgba(231, 76, 60, 0.15);
  color: #7a1f15;
}
.policies-state.empty[data-v-0ccb5565] {
  background: rgba(242, 248, 244, 0.96);
  color: #335143;
}
.policies-state.loading[data-v-0ccb5565] {
  background: rgba(48, 167, 112, 0.1);
  border-color: rgba(48, 167, 112, 0.3);
  color: #0f3d2e;
}
.policies-grid[data-v-0ccb5565] {
  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-0ccb5565] {
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 16px;
  padding: 28px;
  border-radius: 24px;
  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-card[data-v-0ccb5565]::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top right, rgba(42, 206, 123, 0.16), transparent 65%);
  pointer-events: none;
}
.policy-card.warning[data-v-0ccb5565]::after {
  background: radial-gradient(circle at top right, rgba(255, 159, 67, 0.2), transparent 65%);
}
.policy-card.neutral[data-v-0ccb5565]::after {
  background: radial-gradient(circle at top right, rgba(15, 61, 46, 0.08), transparent 65%);
}
.policy-icon[data-v-0ccb5565] {
  position: relative;
  z-index: 1;
  width: 56px;
  height: 56px;
  border-radius: 18px;
  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-0ccb5565] {
  background: rgba(255, 159, 67, 0.18);
}
.policy-card.neutral .policy-icon[data-v-0ccb5565] {
  background: rgba(15, 61, 46, 0.12);
}
.policy-body[data-v-0ccb5565] {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 6px;
}
.policy-heading[data-v-0ccb5565] {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  min-width: 0;
}
.policy-heading h3[data-v-0ccb5565] {
  margin: 0;
  font-size: 1.2rem;
  color: #0f3d2e;
  min-width: 0;
  overflow-wrap: anywhere;
}
.policy-status[data-v-0ccb5565] {
  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-0ccb5565] {
  background: rgba(42, 206, 123, 0.18);
  color: #0f3d2e;
}
.policy-status.warning[data-v-0ccb5565] {
  background: rgba(255, 159, 67, 0.22);
  color: #7a3b05;
}
.policy-status.neutral[data-v-0ccb5565] {
  background: rgba(15, 61, 46, 0.16);
  color: #0f3d2e;
}
.policy-number[data-v-0ccb5565] {
  margin: 0;
  font-weight: 600;
  color: #244b3a;
  word-break: break-word;
}
.policy-meta[data-v-0ccb5565] {
  margin: 0;
  font-size: 0.88rem;
  color: #3d5c4f;
  word-break: break-word;
}
.policy-footer[data-v-0ccb5565] {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.policy-action[data-v-0ccb5565] {
  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-0ccb5565]:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 32px rgba(48, 167, 112, 0.4);
}
.policy-updated[data-v-0ccb5565] {
  font-size: 0.78rem;
  color: #336250;
}
.portal-placeholder[data-v-0ccb5565] {
  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-0ccb5565] {
  margin: 0 0 16px;
  font-size: 1.6rem;
  color: #0f3d2e;
}
.portal-placeholder p[data-v-0ccb5565] {
  margin: 0;
  max-width: 640px;
  line-height: 1.6;
}
.portal-settings[data-v-0ccb5565] {
  padding: 0;
  background: transparent;
}
.portal-footer[data-v-0ccb5565] {
  text-align: center;
  font-size: 0.85rem;
  color: #3d5c4f;
}

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

.modal-overlay[data-v-1bb76885] {
  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-1bb76885] {
  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-1bb76885] {
  padding: 24px 24px 20px;
  border-bottom: 1px solid #e5e7eb;
}
.modal-header h2[data-v-1bb76885] {
  margin: 0;
  font-size: 1.5rem;
  color: #1f2937;
}
.modal-body[data-v-1bb76885] {
  padding: 24px;
}
.modal-message[data-v-1bb76885] {
  margin: 0 0 20px;
  color: #4b5563;
  font-size: 1rem;
  line-height: 1.5;
}
.calculation-summary[data-v-1bb76885] {
  background-color: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 20px;
}
.calculation-summary h3[data-v-1bb76885] {
  margin: 0 0 16px;
  font-size: 1.1rem;
  color: #374151;
}
.summary-details[data-v-1bb76885] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.summary-item[data-v-1bb76885] {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.summary-item .label[data-v-1bb76885] {
  font-weight: 500;
  color: #6b7280;
  min-width: 140px;
}
.summary-item .value[data-v-1bb76885] {
  color: #1f2937;
  font-weight: 400;
}
.product-list[data-v-1bb76885] {
  margin: 0;
  padding-left: 20px;
  list-style-type: disc;
}
.product-list li[data-v-1bb76885] {
  color: #1f2937;
  margin-bottom: 4px;
}
.modal-question[data-v-1bb76885] {
  margin: 20px 0 0;
  color: #1f2937;
  font-weight: 500;
  font-size: 1rem;
}
.modal-footer[data-v-1bb76885] {
  padding: 20px 24px;
  border-top: 1px solid #e5e7eb;
  display: flex;
  gap: 12px;
  justify-content: flex-end;
}
.btn[data-v-1bb76885] {
  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-1bb76885] {
  background-color: #3b82f6;
  color: white;
}
.btn-primary[data-v-1bb76885]:hover {
  background-color: #2563eb;
}
.btn-secondary[data-v-1bb76885] {
  background-color: #6b7280;
  color: white;
}
.btn-secondary[data-v-1bb76885]:hover {
  background-color: #4b5563;
}

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

.modal-overlay[data-v-0f996764] {
  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-0f996764] {
  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-0f996764] {
  padding: 24px 24px 20px;
  border-bottom: 1px solid #e5e7eb;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.modal-header h2[data-v-0f996764] {
  margin: 0;
  font-size: 1.5rem;
  color: #1f2937;
}
.close-btn[data-v-0f996764] {
  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-0f996764]:hover {
  color: #1f2937;
}
.modal-body[data-v-0f996764] {
  padding: 24px;
}
.modal-message[data-v-0f996764] {
  margin: 0 0 20px;
  color: #4b5563;
  font-size: 1rem;
  line-height: 1.5;
}
.form-group[data-v-0f996764] {
  margin-bottom: 16px;
}
.form-group label[data-v-0f996764] {
  display: block;
  margin-bottom: 6px;
  font-weight: 500;
  color: #374151;
}
.form-group input[data-v-0f996764] {
  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-0f996764]:focus {
  outline: none;
  border-color: #03854c;
  box-shadow: 0 0 0 3px rgba(3, 133, 76, 0.1);
}
.form-group input[data-v-0f996764]:disabled {
  background-color: #f3f4f6;
  cursor: not-allowed;
}
.field-error-message[data-v-0f996764] {
  color: #dc2626;
  font-size: 0.875rem;
  margin-bottom: 16px;
}
.modal-footer[data-v-0f996764] {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  margin-top: 20px;
}
.btn[data-v-0f996764] {
  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-0f996764]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.btn-primary[data-v-0f996764] {
  background-color: #03854c;
  color: white;
}
.btn-primary[data-v-0f996764]:hover:not(:disabled) {
  background-color: #026b3d;
}
.btn-secondary[data-v-0f996764] {
  background-color: #6b7280;
  color: white;
}
.btn-secondary[data-v-0f996764]:hover:not(:disabled) {
  background-color: #4b5563;
}
.success-message[data-v-0f996764] {
  text-align: center;
  padding: 20px 0;
}
.success-icon[data-v-0f996764] {
  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-0f996764] {
  color: #374151;
  font-size: 1rem;
  line-height: 1.5;
  margin: 0;
}

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

.compact-sidebar[data-v-eb7d294b] {
  width: 130px;
  min-width: 130px;
  background: linear-gradient(180deg, rgba(8, 54, 38, 0.96), rgba(15, 61, 46, 0.94));
  color: #e6fff2;
  padding: 20px 12px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: relative;
  overflow: hidden;
}
.compact-sidebar[data-v-eb7d294b]::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top, rgba(49, 162, 112, 0.25), transparent 60%);
  pointer-events: none;
}

/* User Info */
.compact-user-info[data-v-eb7d294b] {
  position: relative;
  z-index: 1;
  text-align: center;
  padding: 12px 8px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.06);
}
.compact-user-avatar[data-v-eb7d294b] {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: linear-gradient(140deg, #2ace7b, #0f8c54);
  display: grid;
  place-items: center;
  margin: 0 auto 8px;
  font-weight: 700;
  font-size: 1rem;
  color: #fff;
  box-shadow: 0 6px 16px rgba(42, 206, 123, 0.35);
}
.compact-user-name[data-v-eb7d294b] {
  font-size: 0.75rem;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #d0f5e4;
}

/* Navigation */
.compact-nav[data-v-eb7d294b] {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
}
.compact-nav-item[data-v-eb7d294b] {
  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-eb7d294b]:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}
.compact-nav-item.active[data-v-eb7d294b] {
  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-eb7d294b] {
  font-size: 1.25rem;
  line-height: 1;
}
.compact-nav-item .label[data-v-eb7d294b] {
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}

/* Logout */
.compact-logout[data-v-eb7d294b] {
  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-eb7d294b]:hover {
  background: rgba(239, 68, 68, 0.2);
  border-color: rgba(239, 68, 68, 0.5);
  color: #fecaca;
}
.compact-logout .icon[data-v-eb7d294b] {
  font-size: 1.1rem;
  line-height: 1;
}
.compact-logout .label[data-v-eb7d294b] {
  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-eb7d294b] {
    display: none;
}
}

.claim-embed[data-v-b89db595] {
  max-width: 960px;
  margin: 0 auto;
  padding: 20px;
}
.hero[data-v-b89db595] {
  background: linear-gradient(135deg, #0ea5e9, #2563eb);
  color: #fff;
  padding: 20px;
  border-radius: 14px;
  margin-bottom: 16px;
}
.eyebrow[data-v-b89db595] {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 12px;
  margin: 0 0 6px;
  opacity: 0.9;
}
.subtitle[data-v-b89db595] {
  max-width: 620px;
}
main[data-v-b89db595] {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 16px;
}

.notification-container[data-v-bbc18c80] {
  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-bbc18c80] {
  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-bbc18c80 0.3s ease-out;
}
@keyframes slideIn-bbc18c80 {
from {
    transform: translateX(100%);
    opacity: 0;
}
to {
    transform: translateX(0);
    opacity: 1;
}
}

/* Vue transition classes */
.notification-enter-active[data-v-bbc18c80] {
  animation: slideIn-bbc18c80 0.3s ease-out;
}
.notification-leave-active[data-v-bbc18c80] {
  animation: slideOut-bbc18c80 0.3s ease-in;
}
@keyframes slideOut-bbc18c80 {
from {
    transform: translateX(0);
    opacity: 1;
}
to {
    transform: translateX(100%);
    opacity: 0;
}
}
.notification-icon[data-v-bbc18c80] {
  font-size: 1.25rem;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.notification-content[data-v-bbc18c80] {
  flex: 1;
  min-width: 0;
}
.notification-title[data-v-bbc18c80] {
  display: block;
  font-size: 0.95rem;
  font-weight: 600;
  margin-bottom: 2px;
}
.notification-message[data-v-bbc18c80] {
  font-size: 0.85rem;
  margin: 0;
  opacity: 0.9;
  line-height: 1.4;
}
.notification-dismiss[data-v-bbc18c80] {
  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-bbc18c80]:hover {
  opacity: 1;
}

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

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

/* Minimal styles */
#embedded-vue-app[data-v-75992062] {
  font-family:
    Lexend,
    Inter,
    -apple-system,
    BlinkMacSystemFont,
    'Segoe UI',
    Roboto,
    sans-serif; /* Use variable */
  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;
}
#embedded-vue-app[data-mode='portal'][data-v-75992062] {
  padding: 0;
  background: transparent;
}
#embedded-vue-app[data-mode='calculator'][data-v-75992062] {
  padding: 0; /* Remove padding when using sidebar layout */
}

/* Calculator Layout with Compact Sidebar */
.calculator-layout[data-v-75992062] {
  display: flex;
  min-height: 100dvh;
  width: 100%;
}
.calculator-layout .calculator-main[data-v-75992062] {
  flex: 1;
  min-width: 0;
  overflow-y: auto;
  padding: clamp(12px, 2vw, 18px);
}
.calculator-layout.with-sidebar .calculator-main[data-v-75992062] {
  /* Main content already has padding; sidebar takes 130px */
}

/* Inline portal sections styling */
.inline-portal-section[data-v-75992062] {
  min-height: 60vh;
}
.inline-section-header[data-v-75992062] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 24px;
  flex-wrap: wrap;
  gap: 16px;
}
.inline-section-header h2[data-v-75992062] {
  margin: 8px 0 4px;
  font-size: 1.5rem;
  color: #1a1a1a;
}
.inline-badge[data-v-75992062] {
  display: inline-block;
  background: linear-gradient(135deg, #e8faf0, #d1f5e0);
  color: #0f8c54;
  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-75992062] {
  color: #666;
  font-size: 0.95rem;
  margin: 0;
}
.back-to-calc[data-v-75992062] {
  background: linear-gradient(135deg, #2ace7b, #0f8c54) !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-75992062]:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(42, 206, 123, 0.3);
}
.portal-placeholder-text[data-v-75992062] {
  color: #888;
  font-style: italic;
  padding: 40px;
  text-align: center;
  background: #f8f9fa;
  border-radius: 12px;
}
.inline-policies-panel[data-v-75992062],
.inline-inbox-panel[data-v-75992062] {
  background: #fff;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

/* Mobile: hide sidebar, adjust layout */
@media (max-width: 768px) {
.calculator-layout[data-v-75992062] {
    flex-direction: column;
}
.calculator-layout .compact-sidebar[data-v-75992062] {
    display: none;
}
.calculator-layout .calculator-main[data-v-75992062] {
    padding: 0 5px;
}
}

/* Add styles for global-error if needed */
.global-error[data-v-75992062] {
  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-75992062] {
  background: none;
  border: none;
  color: #721c24;
  font-weight: bold;
  cursor: pointer;
  margin-left: 10px;
  padding: 5px;
}

/* Minor adjustments if needed */
button[data-v-75992062] {
  margin-right: 5px;
  margin-bottom: 5px; /* Add some bottom margin for wrapping */
  padding: 5px 10px;
  cursor: pointer;
  background-color: #6c757d;
  color: #ffffff;
  border: none;
  border-radius: 4px;
}
button[data-v-75992062]:hover:not(:disabled) {
  background-color: #5a6268;
}
button[data-v-75992062]:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

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

/* Styles for global loading overlay */
.global-loading-overlay[data-v-75992062] {
  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-75992062] {
  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-75992062 1s linear infinite;
}
@keyframes spin-75992062 {
to {
    transform: rotate(360deg);
}
}
.global-loading-overlay p[data-v-75992062] {
  font-size: 1.2rem;
  color: #6c757d;
  font-weight: 500;
}
.email-verification-panel[data-v-75992062] {
  max-width: 900px;
  margin: 0 auto;
  padding: clamp(12px, 2vw, 18px);
}
.email-verification-panel .panel[data-v-75992062] {
  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-75992062] {
  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-75992062] {
  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-75992062] {
  background: rgba(34, 197, 94, 0.12);
  color: #0f5132;
  border-color: rgba(34, 197, 94, 0.35);
}
.panel-status.waiting[data-v-75992062] {
  background: rgba(59, 130, 246, 0.12);
  color: #1d4ed8;
  border-color: rgba(59, 130, 246, 0.35);
}
.status-dot[data-v-75992062] {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: currentColor;
}
.panel-actions[data-v-75992062] {
  margin-top: 8px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.email-verification-panel h2[data-v-75992062] {
  margin: 0;
  font-size: clamp(1.3rem, 2vw, 1.6rem);
  color: #0b3b2a;
}
.email-verification-panel p[data-v-75992062] {
  margin: 0;
  color: #374151;
  line-height: 1.6;
}
