@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

* {
    font-family: 'Inter', system-ui, sans-serif;
}

/* Modal Animations */
.modal-backdrop {
    background: rgba(0, 0, 0, 0.5);
    animation: fadeIn 0.2s;
}

.modal-content {
    animation: slideUp 0.3s;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes slideUp {
    from { transform: translateY(20px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

/* Status Classes */
.status-ausstehend { 
    background: #e0f2fe;
    border-left: 4px solid #0284c7;
}

.status-freigegeben { 
    background: #f3e8ff;
    border-left: 4px solid #9333ea;
}

.status-geliefert { 
    background: #dcfce7;
    border-left: 4px solid #16a34a;
}

.status-abgerechnet { 
    background: #f3f4f6;
    border-left: 4px solid #9ca3af;
}

/* Week Header */
.week-header {
    position: sticky;
    top: 0;
    z-index: 10;
    background: #f3f4f6;
}

/* Verbesserte Druckstile */
@media print {
    @page {
        size: A4;
        margin: 10mm;
    }
    
    body * {
        visibility: hidden;
    }
    
    #print-area, #print-area * {
        visibility: visible;
    }
    
    #print-area {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
    }
    
    /* Verhindere Seitenumbrüche in Tabellen */
    table { page-break-inside: avoid; }
    tr { page-break-inside: avoid; }
}

/* Autocomplete Styles */
.autocomplete-list {
    position: absolute;
    border: 1px solid #d1d5db;
    border-top: none;
    z-index: 99;
    top: 100%;
    left: 0;
    right: 0;
    max-height: 200px;
    overflow-y: auto;
    background: white;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.autocomplete-item {
    padding: 10px;
    cursor: pointer;
    border-bottom: 1px solid #f3f4f6;
}

.autocomplete-item:hover {
    background-color: #f3f4f6;
}

.autocomplete-active {
    background-color: #e5e7eb !important;
}

/* Today Banner */
.today-banner {
    background: linear-gradient(135deg, #fb923c 0%, #f97316 100%);
    color: white;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

/* Compact Table Rows */
table.table-fixed {
    table-layout: fixed;
}

.compact-row td {
    padding: 0.75rem 1rem;
    vertical-align: middle;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Ensure consistent column widths */
.w-16 { width: 4rem; }
.w-20 { width: 5rem; }
.w-28 { width: 7rem; }
.w-32 { width: 8rem; }
.w-40 { width: 10rem; }
.w-48 { width: 12rem; }
}