/* public/assets/css/module/reinigung.css */

/* --- KALENDER BASIS --- */
.reinigungs-kalender-table { 
    border-collapse: separate; 
    border-spacing: 0; 
    border: 1px solid #e5e7eb; 
    border-radius: 0.375rem; 
    overflow: hidden; 
    table-layout: auto;
}

.reinigungs-kalender-table th, .reinigungs-kalender-table td { 
    height: 36px; 
    border-right: 1px solid #e5e7eb; 
    border-bottom: 1px solid #e5e7eb; 
    text-align: center; 
    font-size: 0.75rem; 
    padding: 0; 
    vertical-align: middle; 
}

/* Dynamische Zellenbreite via CSS-Variable */
.reinigungs-kalender-table td.p-0 { width: var(--tageszellen-breite); min-width: var(--tageszellen-breite); max-width: var(--tageszellen-breite); }
.reinigungs-kalender-table thead th { width: var(--tageszellen-breite); min-width: var(--tageszellen-breite); max-width: var(--tageszellen-breite); }

.reinigungs-kalender-table tr > *:last-child { border-right: none; }
.reinigungs-kalender-table tbody tr:last-child > * { border-bottom: none; }
.reinigungs-kalender-table thead th { background-color: #f9fafb; }
.reinigungs-kalender-table tbody th { width: var(--th-width); min-width: var(--th-width); padding: 0 0.75rem; background-color: #fdfdff; text-align: left; font-weight: 600; }
.reinigungs-kalender-table tbody th.sticky { background-color: #f9fafb; }
.reinigungs-kalender-table thead th.heute, .heute-marker-zelle { background-color: #dcfce7 !important; position: relative; z-index: 5; }

/* --- DIE NEUEN PUNKT-MARKER (Buchungsblöcke) --- */
.reinigungs-marker {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 50%;
    cursor: pointer;
    z-index: 15;
    transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

.reinigungs-marker:hover {
    transform: translateY(-50%) scale(1.3);
    z-index: 30;
}

/* Desktop Standard-Größe für Marker */
.reinigungs-marker { height: 16px; width: 16px; }

/* Farben für Anreise/Abreise */
.marker-anreise { background-color: #3b82f6; } /* Blau */
.marker-abreise { background-color: #f97316; } /* Orange */

/* Zuweisungs-Status */
.marker-status-frei {
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px #ef4444; /* Roter Ring */
    animation: pulse-subtle 1.5s infinite;
}
.marker-status-meine { border: 1px solid rgba(255,255,255,0.9); }
.marker-status-fremd { opacity: 0.4; border: 1px solid rgba(0,0,0,0.5); }

/* Legende */
.kalender-legende { display: flex; flex-wrap: wrap; gap: 1.5rem; justify-content: center; font-size: 0.75rem; margin: 1rem 0; padding: 0.75rem; background: #f8fafc; border-radius: 0.5rem; border: 1px solid #e2e8f0; }
.legende-item { display: flex; align-items: center; gap: 0.35rem; color: #475569; font-weight: 600;}
.legende-dot { width: 12px; height: 12px; border-radius: 50%; }

/* --- MOBILE OPTIMIERUNG (Angelehnt an Buchungskalender) --- */
@media (max-width: 767px) {
    /* Zellen kompakter machen */
    .reinigungs-kalender-table th, .reinigungs-kalender-table td { height: 26px !important; }
    
    /* Kopfzeile schmaler */
    .reinigungs-kalender-table thead th { 
        padding: 0.15rem 0 0.25rem 0 !important; 
        font-size: 0.5rem !important; 
        line-height: 1.1 !important;
    }
    .reinigungs-kalender-table thead th .font-bold { 
        font-size: 0.65rem !important; 
        line-height: 1 !important; 
        display: block; 
        margin-top: 2px !important; 
    }
    
    /* Wohnungs-Spalte schmaler */
    .reinigungs-kalender-table tbody th { 
        font-size: 0.65rem !important; 
        padding: 0 0.4rem !important; 
    }

    /* Marker auf Mobile verkleinern */
    .reinigungs-marker { width: 12px; height: 12px; }
    .marker-status-frei { box-shadow: 0 0 0 1px #fff, 0 0 0 2px #ef4444; }
    .kalender-legende { gap: 0.75rem; }
}

@keyframes blink-softly { 50% { opacity: 0.6; } }
.blinken-sanft { animation: blink-softly 2s ease-in-out infinite; }
