/* Custom CSS für Zeiterfassungssoftware */

:root {
    --primary-color: #0d6efd;
    --secondary-color: #6c757d;
}

body {
    background-color: #f8f9fa;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.navbar-brand {
    font-size: 1.5rem;
}

.card {
    border-radius: 0.5rem;
    transition: box-shadow 0.3s;
}

.card:hover {
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

.btn {
    border-radius: 0.375rem;
    font-weight: 500;
}

table {
    font-size: 0.95rem;
}

.app-content {
     width: 100%;
     max-width: none;
     margin-left: auto;
     margin-right: auto;
     padding-left: 20px;
     padding-right: 20px;
}

.kosten-editor-table {
    width: 100%;
    font-size: 0.65rem;
    table-layout: fixed;
}

.kosten-table,
.kosten-table th,
.kosten-table td,
.kosten-table input,
.kosten-table select,
.kosten-table textarea,
.kosten-table span,
.kosten-table output {
    font-size: 0.69rem;
    box-sizing: border-box;
}

.kosten-table thead th {
    text-align: left !important;
}

.kosten-table input,
.kosten-table select,
.kosten-table textarea {
    width: 100%;
    min-width: 0;
}

.kosten-table select {
    max-width: 100%;
    min-width: 0;
}

.kosten-editor-table th,
.kosten-editor-table td {
    padding: 2px 3px;
    vertical-align: top;
    white-space: nowrap;
    overflow: hidden;
}

.kosten-editor-table .form-control,
.kosten-editor-table .form-select {
    font-size: 0.69rem;
    padding: 2px 3px;
    min-height: calc(1.3em + 6px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.kosten-editor-table .delete-column {
    width: 2rem;
}

.kosten-editor-table .date-column {
    width: 5.2rem;
}

.kosten-editor-table .short-column {
    width: 7.8rem;
}

.kosten-editor-table .type-column {
    width: 6.6rem;
}

.kosten-editor-table .qty-column,
.kosten-editor-table .money-column,
.kosten-editor-table .total-column {
    width: 4.0rem;
}

.kosten-editor-table .unit-column {
    width: 4.3rem;
}

.kosten-editor-table .percent-column {
    width: 4.6rem;
}

.kosten-editor-table .description-column {
    width: 15rem;
}

.kosten-editor-table .calculated-value {
    display: inline-block;
    width: 100%;
    min-height: calc(1.3em + 6px);
    padding: 2px 3px;
    border: 1px solid #dee2e6;
    border-radius: 0.25rem;
    background-color: #f8f9fa;
    font-size: 0.65rem !important;
    text-align: right;
}

.kosten-editor-table .kosten-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.kosten-editor-table .kosten-text-short {
    max-width: 150px;
}

.kosten-editor-table .kosten-text-description {
    max-width: 260px;
}

.kosten-editor-table .kosten-checkbox-cell {
    text-align: center;
    vertical-align: middle;
}

.kosten-editor-table .kosten-numeric,
.kosten-editor-table .kosten-numeric input {
    text-align: right;
}

.kosten-editor-table .form-check-input {
    display: block;
    margin: 0 auto;
}

.table-hover tbody tr:hover {
    background-color: rgba(13, 110, 253, 0.05);
}

.badge {
    padding: 0.5rem 0.75rem;
}

.project-select-search-wrapper {
    width: 100%;
    min-width: 0;
}

.project-select-search-wrapper .ts-control {
    min-height: calc(1.5em + 0.75rem + 2px);
    padding: 0.375rem 0.75rem;
}

.project-select-search-wrapper .ts-dropdown {
    max-width: 100%;
}

@media (max-width: 575.98px) {
    .project-select-search-wrapper .ts-control {
        min-height: calc(1.5em + 1rem + 2px);
        padding: 0.5rem 0.75rem;
    }
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type="number"] {
    -moz-appearance: textfield;
    appearance: textfield;
}

/* Print Styles */
@media print {
    .navbar,
    .footer,
    .btn,
    .dropdown {
        display: none !important;
    }
    
    body {
        background-color: white;
    }
    
    .container {
        max-width: 100%;
    }
    
    table {
        border-collapse: collapse;
    }
    
    th, td {
        border: 1px solid #dee2e6;
        padding: 0.75rem;
    }
}
