  /* Karten-Styling */
  .card {
    transition: all 0.3s ease;
    overflow: hidden;
  }

  .card:hover {
    box-shadow: 0 .1rem .5rem rgba(0,0,0,.15) !important;
  }

  .card-header {
    background-color: #f8f9fa;
    border-bottom: 1px solid rgba(0,0,0,.125);
    padding: 0.75rem 1rem;
  }

  .card-body {
    padding: 1rem;
  }
  
  /* Formular-Styling */
  .form-group {
    margin-bottom: 0.5rem;
  }

  .form-group:last-child {
    margin-bottom: 0;
  }
  
  /* Labels rechts ausrichten */
  .col-form-label.text-right {
    font-weight: 500;
    font-size: 0.9rem;
    text-align: right;
    padding-right: 1rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  
  /* Eingabefelder */
  .form-control:disabled,
  .form-control[readonly] {
    background-color: #f8f9fa;
    opacity: 1;
    border-color: #e2e6ea;
    color: #6c757d;
  }
  
  /* Subtiler Stil für readonly Felder */
  .form-control[readonly] {
    background-color: #f9fafb;
    border-color: #e9ecef;
    color: #495057;
    cursor: default;
  }
  
  .custom-control-input:disabled~.custom-control-label::before {
    background-color: #e9ecef;
  }
  
  /* Icons in Input-Gruppen */
  .input-group-text {
    background-color: #f8f9fa;
    min-width: 45px;
    display: flex;
    justify-content: center;
  }
  
  /* Farbcodierung für Pflichtfelder */
  .required-field > label:after,
  .required-field label.col-form-label:after {
    content: ' *';
    color: #dc3545;
  }

  /* General form row spacing - can be applied to any field for visual separation */
  .formrow-spacing {
    margin-top: 1.6rem !important;
  }

  /* Target form groups with formrow-spacing class */
  .form-group:has(.formrow-spacing),
  .form-group:has(input.formrow-spacing),
  .form-group:has(select.formrow-spacing),
  .form-group:has(textarea.formrow-spacing) {
    margin-top: 1.6rem !important;
  }

  /* Specific targeting for fields that use the spacing */
  .form-group:has(input[name="trigger_user_education_message"]),
  .form-group:has(input[name="trigger_service_partial_suspension"]),
  .form-group:has(input[name="trigger_external_collection"]),
  .form-group:has(input[name="cancellation_date_on"]),
  .form-group:has(input[name="cancellation_date_at"]),
  .form-group:has(input[name="cancellation_date_on_secondary"]),
  .form-group:has(input[name="cancellation_date_requested"]) {
    margin-top: 1.6rem !important;
  }

  /* Cancellation flags button group styling - all buttons transparent, only hover effect */
  .btn-group-toggle .btn-outline-secondary {
    border: none !important;
    background-color: transparent !important;
    color: inherit !important;
  }

  .btn-group-toggle .btn-outline-secondary:hover {
    background-color: #6c757d !important;
    color: white !important;
  }

  .btn-group-toggle .btn-outline-secondary.active {
    background-color: transparent !important;
    color: inherit !important;
    border: none !important;
  }

  .btn-group-toggle .btn-outline-secondary.active:hover {
    background-color: #6c757d !important;
    color: white !important;
  }

  .btn-group-toggle .btn-outline-secondary:focus {
    box-shadow: none !important;
  }

  /* Fix for cancellation flags pills - ensure proper contrast (only for view mode) */
  span.badge-pill.badge-primary {
    background-color: #6c757d !important;
    color: white !important;
    border: 1px solid #5a6268 !important;
  }
  
  /* Disabled Felder */
  .form-group.disabled label,
  label.text-muted {
    color: #6c757d !important;
  }
  
  /* Hilfetext */
  .form-text {
    margin-top: 0.1rem;
    font-size: 0.8rem;
  }
  
  /* Verbesserte Ausrichtung für kleine Bildschirme */
  @media (max-width: 576px) {
    .col-form-label.text-right {
      text-align: left !important;
      margin-bottom: 0.25rem;
    }
    .form-group.row {
      margin-bottom: 1rem;
    }
  }
  
  /* Shadow für Karten */
  .shadow-sm {
    box-shadow: 0 .125rem .25rem rgba(0,0,0,.075) !important;
  }
  
  /* Validierungsstile */
  .was-validated .form-control:invalid {
    border-color: #dc3545;
    padding-right: calc(1.5em + 0.75rem);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(0.375em + 0.1875rem) center;
    background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
  }
  
  /* Einheitliche Zeilenhöhe für konsistentes Layout */
  .form-control, .custom-select, .input-group-text {
    height: calc(1.5em + 0.75rem + 2px);
  }
