html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

/* Enhanced CSV Import styling - Test frontend change */
.csv-import-success {
  background-color: #d4edda;
  border-color: #c3e6cb;
  color: #155724;
}

.csv-import-error {
  background-color: #f8d7da;
  border-color: #f5c6cb;
  color: #721c24;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}

/* Print styles for export functionality */
@media print {
    /* Hide navigation and UI elements */
    .navbar, .btn-group, .btn, form, .card-footer, .alert {
        display: none !important;
    }
    
    /* Hide search forms and action buttons */
    .input-group, .d-flex.gap-2 {
        display: none !important;
    }
    
    /* Optimize table display */
    .table {
        border: 1px solid #000 !important;
        font-size: 12px;
    }
    
    .table th, .table td {
        border: 1px solid #000 !important;
        padding: 4px 6px !important;
    }
    
    .table thead th {
        background-color: #f8f9fa !important;
        font-weight: bold;
        -webkit-print-color-adjust: exact;
        color-adjust: exact;
    }
    
    /* Page setup */
    @page {
        margin: 1cm;
        size: A4 portrait;
    }
    
    /* Card styling for print */
    .card {
        border: none !important;
        box-shadow: none !important;
    }
    
    .card-header {
        background-color: transparent !important;
        border-bottom: 2px solid #000 !important;
        margin-bottom: 10px;
        -webkit-print-color-adjust: exact;
        color-adjust: exact;
    }
    
    /* Hide container fluid margins for more space */
    .container-fluid {
        padding: 0 !important;
    }
    
    /* Ensure page breaks work properly */
    .table {
        page-break-inside: auto;
    }
    
    .table tr {
        page-break-inside: avoid;
        page-break-after: auto;
    }
    
    .table thead {
        display: table-header-group;
    }
    
    /* Print-specific text formatting */
    h2, h5 {
        color: #000 !important;
        font-size: 16px !important;
        margin-bottom: 10px !important;
    }
    
    /* Badge styling for print */
    .badge {
        border: 1px solid #000 !important;
        color: #000 !important;
        background-color: transparent !important;
        -webkit-print-color-adjust: exact;
        color-adjust: exact;
    }
    
    /* Jungschützen red text for print */
    .jungschuetze-name {
        color: #cc0000 !important;
        font-weight: bold !important;
        -webkit-print-color-adjust: exact;
        color-adjust: exact;
    }
    
    /* Förderer styling for print */
    .foerderer-name {
        color: #0066cc !important;
        font-weight: bold !important;
        -webkit-print-color-adjust: exact;
        color-adjust: exact;
    }
    
    /* Print layout for shooting numbers - portrait optimized */
    .print-layout-portrait {
        font-size: 14px !important;
        line-height: 1.6 !important;
    }
    
    .print-layout-portrait .shooting-number-line {
        border-bottom: 1px solid #ddd !important;
        padding: 8px 0 !important;
        margin: 0 !important;
        page-break-inside: avoid !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
    }
    
    .print-layout-portrait .number-display {
        font-weight: bold !important;
        font-size: 16px !important;
        margin-right: 20px !important;
        min-width: 40px !important;
        flex-shrink: 0 !important;
    }
    
    .print-layout-portrait .name-display {
        flex-grow: 1 !important;
        font-size: 14px !important;
    }
    
    .print-layout-portrait .properties-display {
        font-size: 12px !important;
        margin-left: 15px !important;
        flex-shrink: 0 !important;
    }
}

/* Jungschützen styling for screen */
.jungschuetze-name {
    color: #dc3545;
    font-weight: bold;
}

/* Förderer styling for screen */
.foerderer-name {
    color: #0066cc;
    font-weight: bold;
}