/* =================================================
   SalonBuchungPro - Interner Kalender
   ================================================= */

*, *::before, *::after { box-sizing: border-box; }

#bs-cal-app {
display: flex;
gap: 0;
min-height: 80vh;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
font-size: 14px;
color: #1a1a1a;
background: #f5f4f1;
border-radius: 16px;
overflow: hidden;
box-shadow: 0 4px 24px rgba(0,0,0,0.08);
}

/* --- Sidebar ---------------------------------------- */

.bs-cal-brand {
    text-align: left;
    padding: 0px 0 14px 20px;

    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.00em;
    line-height: 1;

    color: #000;

    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

#bs-cal-sidebar {
width: 240px;
min-width: 240px;
background: #ffffff;
border-right: 1px solid #e8e4df;
display: flex;
flex-direction: column;
padding: 24px 0 16px;
}

.bs-cal-sidebar-title {
font-size: 11px;
font-weight: 700;
letter-spacing: 0.08em;
color: #9b8f85;
padding: 0 20px 12px;
border-bottom: 1px solid #f0ece8;
}

#bs-cal-upcoming {
flex: 1;
overflow-y: auto;
padding: 12px 0;
scrollbar-width: thin;
scrollbar-color: #d0c8c0 transparent;
}

.bs-cal-upcoming-item {
padding: 14px 20px;
border-bottom: 2px solid #e4dfd9;
cursor: pointer;
transition: background 150ms;
min-height: 72px;
display: flex;
flex-direction: column;
justify-content: center;
background: #ffffff;
}

.bs-cal-upcoming-item:hover {
background: #faf8f6;
}

.bs-cal-upcoming-date {
font-size: 13px;
color: #9b8f85;
margin-bottom: 4px;
}

.bs-cal-upcoming-name {
font-weight: 500 !important;
font-size: 14px !important;
color: #1a1a1a;
line-height: 1.2;
}

.bs-cal-upcoming-service {
font-size: 14px;
color: #7a6f66;
margin-top: 3px;
line-height: 1.35;
}

.bs-cal-upcoming-emp {
font-size: 12px;
font-weight: 500;
color: #8c7b6d;
margin-top: 4px;
}

.bs-cal-today-label {
font-size: 14px;
font-weight: 700;
color: #9b7b5a;
letter-spacing: 0.06em;
padding: 8px 20px 8px;
border-bottom: 2px solid #ddd8d2;
margin-bottom: 0;
}

/* --- Hauptbereich ----------------------------------- */
#bs-cal-main { flex: 1; display: flex; flex-direction: column; min-width: 0; }

/* --- Toolbar --------------------------------------- */
#bs-cal-toolbar {
display: flex;
align-items: center;
justify-content: space-between;
padding: 16px 24px;
background: #ffffff;
border-bottom: 1px solid #e8e4df;
gap: 12px;
flex-wrap: wrap;
}

#bs-cal-nav {
display: flex;
align-items: center;
gap: 6px;
}

#bs-cal-nav button {
background: none !important;
border: 1px solid #e0dbd5 !important;
border-radius: 8px !important;
width: 32px !important;
height: 32px !important;
font-size: 18px !important;
color: #5a5048 !important;
cursor: pointer !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
box-shadow: none !important;
padding: 0 !important;
}

#bs-cal-nav button:hover { background: #f5f2ef !important; border-color: #c8c0b8 !important; }

#bs-cal-period-label {
font-size: 16px;
font-weight: 600;
color: #1a1a1a;
text-align: center;
white-space: nowrap;
}

#bs-cal-views {
display: flex;
gap: 4px;
background: #f0ece8;
border-radius: 10px;
padding: 3px;
}

#bs-cal-views .bs-cal-view-btn {
background: none !important;
border: none !important;
border-radius: 7px !important;
padding: 5px 14px !important;
font-size: 13px !important;
font-weight: 500 !important;
color: #7a6f66 !important;
cursor: pointer !important;
box-shadow: none !important;
}

#bs-cal-views .bs-cal-view-btn.active {
background: #ffffff !important;
color: #1a1a1a !important;
box-shadow: 0 1px 3px rgba(0,0,0,0.1) !important;
}

#bs-cal-daymode {
display: flex;
gap: 4px;
background: #f0ece8;
border-radius: 10px;
padding: 3px;
}

#bs-cal-daymode .bs-cal-daymode-btn {
background: none !important;
border: none !important;
border-radius: 7px !important;
padding: 5px 14px !important;
font-size: 13px !important;
font-weight: 500 !important;
color: #7a6f66 !important;
cursor: pointer !important;
box-shadow: none !important;
}

#bs-cal-daymode .bs-cal-daymode-btn.active {
background: #ffffff !important;
color: #1a1a1a !important;
}

/* --- Neue Buchung Button --------------------------- */
#bs-cal-new-btn {
background: #01696f !important;
color: #ffffff !important;
border: none !important;
border-radius: 8px !important;
padding: 8px 18px !important;
font-size: 13px !important;
font-weight: 600 !important;
cursor: pointer !important;
box-shadow: none !important;
white-space: nowrap;
}

#bs-cal-new-btn:hover { background: #0c4e54 !important; }

/* --- Kalender-Grid --------------------------------- */
#bs-cal-grid { flex: 1; overflow-y: auto; padding: 16px 24px 24px; }

.bs-cal-month { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }

.bs-cal-weekday-header {
text-align: center;
font-size: 11px;
font-weight: 700;
color: #9b8f85;
text-transform: uppercase;
letter-spacing: 0.06em;
padding: 8px 0;
}

.bs-cal-month-cell {
background: #ffffff;
border-radius: 10px;
min-height: 90px;
padding: 8px;
border: 1px solid #ece8e3;
transition: border-color 150ms;
position: relative;
}

.bs-cal-month-cell.bs-cal-month-open:hover {
    border-color: #c8c0b8;
    background: #faf8f6;
    cursor: pointer;
}
.bs-cal-month-cell.dim { background: #f8f6f3; opacity: 0.5; }
.bs-cal-month-cell.today { border-color: #9b7b5a; border-width: 2px; }
.bs-cal-day-num { font-size: 12px; font-weight: 600; color: #5a5048; margin-bottom: 4px; }
.bs-cal-month-cell.today .bs-cal-day-num { color: #9b7b5a; }

.bs-cal-chip {
background: #9b7b5a;
color: #ffffff;
border-radius: 5px;
font-size: 11px;
padding: 2px 6px;
margin-bottom: 2px;
cursor: pointer;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
transition: background 150ms;
}

.bs-cal-chip:hover { background: #7a6048; }
.bs-cal-chip.no-show { background: #c0392b; opacity: 0.7; }
.bs-cal-more {
display: inline-flex;
align-items: center;
justify-content: center;
margin-top: 8px;
padding: 6px 12px;
border-radius: 999px;
background: #f0ece8;
font-size: 13px;
font-weight: 600;
color: #7a6f66;
min-width: 90px;
}

.bs-cal-week { display: grid; grid-template-columns: 50px repeat(7, 1fr); gap: 2px; padding-top: 20px;}

.bs-cal-week-header {
text-align: center;
font-size: 12px;
font-weight: 600;
color: #5a5048;
padding: 8px 4px;
background: #ffffff;
border-radius: 8px;
margin-bottom: 4px;
cursor: pointer;
margin-bottom: 20px;
}

.bs-cal-week-header.today-col { color: #9b7b5a; background: #fdf5ef; }
.bs-cal-time-label { font-size: 10px; color: #b0a89f; text-align: right; padding-right: 6px; padding-top: 2px; }
.bs-cal-week-slot {
    min-height: 60px;
    border-bottom: 1px solid #f0ece8;
    position: relative;
}
.bs-cal-week-slot.hour-start { border-bottom-color: #e0dbd5; }

.bs-cal-week-event {
position: absolute;
left: 2px;
right: 2px;
background: #9b7b5a;
color: #fff;
border-radius: 8px;
font-size: 12px;
padding: 6px 8px;
min-height: auto;
cursor: pointer;
overflow: visible;
z-index: 2;
transition: background 150ms;
white-space: nowrap;
text-overflow: ellipsis;
display: block;
align-items: center;
pointer-events: auto;
touch-action: manipulation;
height: auto !important;
}

.bs-cal-week-event:hover { background: #7a6048; }
.bs-cal-week-event.no-show { background: #c0392b; opacity: 0.7; }
.bs-cal-day-view { display: flex; flex-direction: column; gap: 0; }
.bs-cal-day-row { display: flex; align-items: flex-start; border-bottom: 1px solid #f0ece8; min-height: 48px; }
.bs-cal-day-row.hour-start { border-bottom-color: #e0dbd5; }
.bs-cal-day-time { width: 56px; min-width: 56px; font-size: 11px; color: #b0a89f; padding: 6px 8px 0 0; text-align: right; }
.bs-cal-day-events { flex: 1; padding: 4px 0; display: flex; flex-direction: column; gap: 3px; }

.bs-cal-day-event {
background: #9b7b5a;
color: #fff;
border-radius: 12px;
padding: 10px 14px;
min-height: 44px;
font-size: 14px;
cursor: pointer;
transition: background 150ms;
display: flex;
align-items: center;
gap: 12px;

z-index: 50;
pointer-events: auto;
}

.bs-cal-day-event:hover { background: #7a6048; }
.bs-cal-day-event.no-show { background: #c0392b; opacity: 0.7; }
.bs-cal-day-event-time { font-size: 11px; opacity: 0.85; white-space: nowrap; }
.bs-cal-day-event-name { font-weight: 600; }
.bs-cal-day-event-service { font-size: 12px; opacity: 0.85; }

/* --- Popup ----------------------------------------- */
#bs-cal-popup {
position: fixed;
inset: 0;
background: rgba(0,0,0,0.35);
z-index: 99999;
display: flex;
align-items: center;
justify-content: center;
padding: 20px;
}

#bs-cal-popup-inner {
background: #ffffff;
border-radius: 16px;
padding: 28px;
max-width: 420px;
width: 100%;
position: relative;
box-shadow: 0 12px 40px rgba(0,0,0,0.18);
}

#bs-cal-popup-close {
position: absolute;
top: 16px;
right: 16px;
background: none !important;
border: none !important;
font-size: 18px !important;
color: #9b8f85 !important;
cursor: pointer !important;
padding: 4px 8px !important;
border-radius: 6px !important;
box-shadow: none !important;
}

#bs-cal-popup-close:hover { background: #f5f2ef !important; }
#bs-cal-popup-content { margin-bottom: 20px; }

#bs-cal-popup-content .bs-pop-row {
display: flex;
justify-content: space-between;
padding: 6px 0;
border-bottom: 1px solid #f0ece8;
font-size: 13px;
}

#bs-cal-popup-content .bs-pop-row:last-child { border-bottom: none; }
#bs-cal-popup-content .bs-pop-label { color: #9b8f85; font-size: 12px; }
#bs-cal-popup-content .bs-pop-value { font-weight: 500; text-align: right; }
#bs-cal-popup-actions,
#bs-cal-employee-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #f0ece8;
}

#bs-cal-popup-actions button,
#bs-cal-employee-actions button {
flex: 1;
border: none !important;
border-radius: 8px !important;
padding: 9px 12px !important;
font-size: 13px !important;
font-weight: 500 !important;
cursor: pointer !important;
box-shadow: none !important;
}

#bs-cal-btn-move { background: #f0ece8 !important; color: #5a5048 !important; }
#bs-cal-btn-move:hover { background: #e5e0da !important; }
#bs-cal-btn-cancel { background: #fdecea !important; color: #c0392b !important; }
#bs-cal-btn-cancel:hover { background: #fad5d2 !important; }
#bs-cal-btn-noshow { background: #fff8e6 !important; color: #a07000 !important; }
#bs-cal-btn-noshow:hover { background: #fdefc8 !important; }
#bs-cal-btn-paid { background: #e8f5e9 !important; color: #2e7d32 !important; }
#bs-cal-btn-paid:hover { background: #c8e6c9 !important; }
#bs-cal-btn-note { background: #f0ece8 !important; color: #5a5048 !important; }
#bs-cal-btn-note:hover { background: #e5e0da !important; }

.bs-absence-vacation,
.bs-absence-sick,
.bs-absence-break {
    background: #f0ece8 !important;
    color: #5a5048 !important;
}

.bs-absence-vacation:hover,
.bs-absence-sick:hover,
.bs-absence-break:hover {
    background: #e5e0da !important;
}
.bs-absence-save,
.bs-absence-back,
.bs-absence-update-save {
    background: #f0ece8 !important;
    color: #5a5048 !important;
}

.bs-absence-save:hover,
.bs-absence-back:hover,
.bs-absence-update-save:hover {
    background: #e5e0da !important;
}
#bs-cal-employee-actions button {
    min-height: 52px !important;
}

/* --- Abwesenheitsliste ----------------------------- */
.bs-absence-list-ul {
    margin: 0 0 35px 0;
    padding: 0;
    list-style: none;
    font-size: 13px;
}
.bs-absence-list-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 7px 0;
    border-bottom: 1px solid #f0ece8;
    gap: 8px;
}
.bs-absence-list-item:last-child { border-bottom: none; }
.bs-absence-label { flex: 1; color: #3a3330; }
.bs-absence-actions { display: flex; gap: 4px; flex-shrink: 0; }
.bs-absence-edit-btn,
.bs-absence-delete-btn {
    background: none !important;
    border: 1px solid #e0dbd5 !important;
    border-radius: 6px !important;
    padding: 3px 7px !important;
    font-size: 13px !important;
    cursor: pointer !important;
    line-height: 1.4 !important;
    box-shadow: none !important;
    transition: background 120ms !important;
    min-height: unset !important;
    flex: unset !important;
}
.bs-absence-edit-btn:hover   { background: #f0ece8 !important; }
.bs-absence-delete-btn:hover { background: #fdecea !important; }

#bs-cal-move-form {
margin-top: 16px;
padding-top: 16px;
border-top: 1px solid #f0ece8;
display: flex;
flex-direction: column;
gap: 12px;
}

#bs-cal-move-form label { display: flex; flex-direction: column; gap: 4px; font-size: 12px; color: #7a6f66; font-weight: 600; }
#bs-cal-move-form input { border: 1px solid #e0dbd5; border-radius: 8px; padding: 8px 12px; font-size: 14px; color: #1a1a1a; outline: none; }
#bs-cal-move-form input:focus { border-color: #9b7b5a; }

#bs-cal-move-confirm {
background: #9b7b5a !important;
color: #ffffff !important;
border: none !important;
border-radius: 8px !important;
padding: 10px !important;
font-size: 14px !important;
font-weight: 600 !important;
cursor: pointer !important;
box-shadow: none !important;
}

#bs-cal-move-confirm:hover { background: #7a6048 !important; }

#bs-cal-note-form {
margin-top: 16px;
padding-top: 16px;
border-top: 1px solid #f0ece8;
display: flex;
flex-direction: column;
gap: 10px;
}

#bs-cal-note-text {
border: 1px solid #e0dbd5;
border-radius: 8px;
padding: 10px 12px;
font-size: 13px;
color: #1a1a1a;
outline: none;
resize: vertical;
font-family: inherit;
}

#bs-cal-note-text:focus { border-color: #9b7b5a; }

#bs-cal-note-confirm {
background: #9b7b5a !important;
color: #ffffff !important;
border: none !important;
border-radius: 8px !important;
padding: 10px !important;
font-size: 14px !important;
font-weight: 600 !important;
cursor: pointer !important;
box-shadow: none !important;
}

#bs-cal-note-confirm:hover { background: #7a6048 !important; }

#bs-cal-popup-msg { margin-top: 12px; font-size: 13px; text-align: center; min-height: 20px; color: #2e7d32; font-weight: 500; }
#bs-cal-popup-msg.error { color: #c0392b; }
.bs-cal-loading { color: #b0a89f; font-size: 13px; padding: 20px; text-align: center; }

/* --- Neue Buchung Panel ---------------------------- */
#bs-cal-form-panel {
position: fixed;
inset: 0;
background: rgba(0,0,0,0.35);
z-index: 99998;
display: flex;
align-items: center;
justify-content: center;
padding: 20px;
}

#bs-cal-form-inner {
background: #ffffff;
border-radius: 16px;
padding: 32px 28px 28px;
max-width: 460px;
width: 100%;
position: fixed;
box-shadow: 0 12px 40px rgba(0,0,0,0.18);
max-height: 90vh;
overflow-y: auto;
cursor: default;
user-select: none;
-webkit-user-select: none;
z-index: 99999;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}

#bs-cal-form-title {
cursor: grab;
}
#bs-cal-form-title:active {
cursor: grabbing;
}

#bs-cal-form-title { font-size: 18px; font-weight: 700; color: #1a1a1a; margin-bottom: 20px; }

#bs-cal-form-close {
position: absolute;
top: 16px;
right: 16px;
background: none !important;
border: none !important;
font-size: 18px !important;
color: #9b8f85 !important;
cursor: pointer !important;
padding: 4px 8px !important;
border-radius: 6px !important;
box-shadow: none !important;
}

#bs-cal-form-close:hover { background: #f5f2ef !important; }
.bs-form-row { display: flex; flex-direction: column; gap: 5px; margin-bottom: 14px; }
.bs-form-row label { font-size: 12px; font-weight: 600; color: #7a6f66; text-transform: uppercase; letter-spacing: 0.04em; }

.bs-form-row input,
.bs-form-row select,
.bs-form-row textarea {
border: 1px solid #e0dbd5;
border-radius: 8px;
padding: 9px 12px;
font-size: 14px;
color: #1a1a1a;
outline: none;
font-family: inherit;
background: #ffffff;
}

.bs-form-row input:focus,
.bs-form-row select:focus,
.bs-form-row textarea:focus { border-color: #01696f; }
.bs-form-row textarea { resize: vertical; }

#bs-cal-form-msg { min-height: 20px; font-size: 13px; text-align: center; color: #2e7d32; font-weight: 500; margin-bottom: 10px; }
#bs-cal-form-msg.error { color: #c0392b; }

#bs-cal-form-save {
width: 100%;
background: #01696f !important;
color: #ffffff !important;
border: none !important;
border-radius: 10px !important;
padding: 12px !important;
font-size: 15px !important;
font-weight: 700 !important;
cursor: pointer !important;
box-shadow: none !important;
}

#bs-cal-form-save:hover { background: #0c4e54 !important; }

/* --- Mobile ---------------------------------------- */
@media (max-width: 680px) {
#bs-cal-app { flex-direction: column; border-radius: 0; }
#bs-cal-sidebar { width: 100%; min-width: 0; border-right: none; border-bottom: 1px solid #e8e4df; max-height: 180px; }
#bs-cal-toolbar { padding: 12px 16px; }
#bs-cal-grid { padding: 12px 16px 20px; }
.bs-cal-month-cell { min-height: 60px; padding: 5px; }
#bs-cal-popup-inner { padding: 20px 16px; }
#bs-cal-form-inner { padding: 24px 16px 20px; }
}
.bs-confirm-box {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #f9f7f5;
    border: 1px solid #e2dbd3;
    border-radius: 8px;
    padding: 10px 14px;
    margin-top: 6px;
}
.bs-confirm-text {
    flex: 1;
    font-size: 13px;
    color: #444;
}
.bs-confirm-yes {
    background: #437a22;
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 6px 14px;
    font-size: 13px;
    cursor: pointer;
}
.bs-confirm-yes:hover { background: #2e5c10; }
.bs-confirm-no {
    background: #f0ebe6;
    color: #555;
    border: 1px solid #d0c8c0;
    border-radius: 6px;
    padding: 6px 14px;
    font-size: 13px;
    cursor: pointer;
}
.bs-confirm-no:hover { background: #e2dbd3; }

/* =========================================================
   Geschlossene Tage (open == 0 in bs_opening_hours)
   ========================================================= */

/* Monatsansicht: geschlossene Tag-Zelle – nur Hintergrundfarbe, kein Text/Badge */
.bs-cal-month-cell.bs-cal-day-closed {
    background-color: rgba(160, 44, 44, 0.08);
}

/* Wochenansicht: geschlossene Spalten-Header */
.bs-cal-week-header.bs-cal-day-closed {
    background-color: rgba(160, 44, 44, 0.14);
    color: #9a5555;
}

/* Wochenansicht: Slot-Zellen geschlossen – nur Farbe, keine Schraffur */
.bs-cal-week-slot.bs-cal-day-closed {
    background: transparent !important;
}

/* Tagesansicht: Day-View geschlossen – nur Farbe, keine Schraffur */
.bs-cal-day-view.bs-cal-day-closed {
    background-color: rgba(160, 44, 44, 0.08) !important;
}
.bs-cal-month-cell.past {
    background: #ece8e3 !important;
    opacity: 0.45;
}

.bs-cal-day-event-price {
    font-size: 0.9em;
    opacity: 0.9;
    font-weight: 400;
}
#bs-cal-revenue-wrap {
    display: flex;
    background: #f0ece8;
    border-radius: 10px;
    padding: 1px;
    border: 1px solid #d8d0c8;
}

#bs-cal-revenue-badge {
    display: inline-flex;
    align-items: center;
    background: #ffffff;
    color: #1a1a1a;
    border-radius: 7px;
    padding: 5px 14px;
    font-size: 13px;
    font-weight: 500;
    white-space: nowrap;
}
}
#bs-cal-upcoming .bs-cal-upcoming-item:nth-child(even) {
    background: #faf8f6;
}
/* =================================================
   Teamansicht
   ================================================= */

.bs-cal-team-view {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.bs-cal-team-header {
    display: grid;
    grid-template-columns: 60px repeat(auto-fit, minmax(160px, 1fr));
    gap: 2px;
    margin-bottom: 10px;
}

.bs-cal-team-employee {
    background: #ffffff;
    border-radius: 8px;
    padding: 10px;
    text-align: center;
    font-weight: 600;
    color: #5a5048;
}
.bs-employee-off {
    background:
        repeating-linear-gradient(
            -45deg,
            #e8e8e8,
            #e8e8e8 10px,
            #f4f4f4 10px,
            #f4f4f4 20px
        ) !important;
}

.bs-cal-team-row {
    display: grid;
    grid-template-columns: 60px repeat(auto-fit, minmax(160px, 1fr));
    gap: 2px;
    height: 60px;
}

.bs-cal-team-time-col {
    font-size: 11px;
    color: #b0a89f;
    text-align: right;
    padding-right: 8px;
    padding-top: 6px;
}

.bs-cal-team-slot {
    border-bottom: 1px solid #f0ece8;
    padding: 3px;
    min-height: 60px;
}
.bs-cal-team-employee{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
}

.bs-cal-team-photo{
    width:28px;
    height:28px;
    border-radius:50%;
    object-fit:cover;
}
/* --- Konflikt-UI ----------------------------------- */
.bs-conflict-auto-btn {
    width: 100% !important;
    background: #4a7c59 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 10px !important;
    font-size: 13px !important;
    cursor: pointer !important;
    margin-bottom: 12px !important;
    flex: unset !important;
    min-height: unset !important;
}
.bs-conflict-auto-btn:hover { background: #3a6347 !important; }

.bs-conflict-list {
    margin: 0 0 16px 0;
    padding: 0;
    list-style: none;
    font-size: 13px;
}
.bs-conflict-item {
    padding: 18px 0;
    border-bottom: 1px solid #f0ece8;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 8px;
}
.bs-conflict-item:last-child { border-bottom: none; }
.bs-conflict-info { flex: 1; min-width: 0; line-height: 1.5; }
.bs-conflict-manual-btn {
    background: #f0ece8 !important;
    border: 1px solid #e0dbd5 !important;
    border-radius: 6px !important;
    padding: 5px 10px !important;
    font-size: 12px !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    flex: unset !important;
    min-height: unset !important;
}
.bs-conflict-manual-btn:hover { background: #e5e0da !important; }

.bs-conflict-resolved .bs-conflict-info { opacity: 0.5; text-decoration: line-through; }
.bs-conflict-done { color: #4a7c59; font-size: 12px; white-space: nowrap; }
.bs-conflict-failed { color: #c0392b; font-size: 12px; white-space: nowrap; }
.bs-conflict-warn {
    width: 100%;
    font-size: 11px;
    color: #c0392b;
    background: #fdecea;
    border-radius: 6px;
    padding: 6px 8px;
    margin-top: 4px;
}

.bs-employee-picker {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 4px;
}
.bs-pick-employee-btn {
    background: #fff !important;
    border: 1px solid #e0dbd5 !important;
    border-radius: 6px !important;
    padding: 6px 10px !important;
    font-size: 12px !important;
    text-align: left !important;
    cursor: pointer !important;
    flex: unset !important;
    min-height: unset !important;
}
.bs-pick-employee-btn:hover { background: #f0ece8 !important; border-color: #9b7b5a !important; }
.bs-pick-cancel-btn {
    background: none !important;
    border: none !important;
    color: #aaa !important;
    font-size: 11px !important;
    cursor: pointer !important;
    padding: 2px 0 !important;
    text-align: left !important;
    flex: unset !important;
    min-height: unset !important;
}

.bs-conflict-footer {
    display: flex;
    gap: 8px;
    margin-top: 8px;
}
.bs-conflict-done-btn {
    flex: 1 !important;
    background: #4a7c59 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 10px !important;
    font-size: 13px !important;
    cursor: pointer !important;
    flex: unset !important;
    min-height: unset !important;
}
.bs-conflict-done-btn:hover { background: #3a6347 !important; }

.bs-cal-day-event {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 0;
    padding-top: 7px;
}