 .banjalend-availability {
    max-width: 900px;
    margin: 0 auto;
    font-family: inherit;
}
.ba-header {
    background: #008b62;
    border-radius: 10px;
    padding: 8px;
    display: grid;
    grid-template-columns: 50px 1fr 50px;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
}
.ba-title {
    color: #fff !important;
    text-align: center;
    font-size: 28px;
    font-weight: 700;
}
.ba-nav {
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 10px;
    background: #008b62;
    color: #fff;
    font-size: 30px;
    line-height: 1;
    cursor: pointer;
}
.ba-weekdays,
.ba-calendar {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 7px;
}
.ba-weekdays {
    background: #008b62;
    border-radius: 8px;
    margin-bottom: 7px;
}
.ba-weekdays span {
    color: #fff !important;
    text-align: center;
    font-weight: 700;
    font-size: 14px;
    padding: 8px 0;
}
.ba-day {
    color: #000;
    min-height: 76px;
    border: 1px solid #dfe8e3;
    border-radius: 10px;
    background: #fff;
    padding: 9px;
    cursor: pointer;
    text-align: left;
    transition: transform .12s ease, box-shadow .12s ease;
}
.ba-day:hover {
    transform: translateY(-1px);
    box-shadow: 0 3px 12px rgba(0,0,0,.08);
}
.ba-day strong {
    color: #000;
    font-size: 17px;
}
.ba-day.ba-free {
    background: #edfbe2;
    border-color: #bfe6b0;
}
.ba-day.ba-busy {
    background: #fff0f0;
    border-color: #f0bcbc;
}
.ba-day.ba-past {
    opacity: .45;
    background: #f4f4f4;
}
.ba-empty {
    visibility: hidden;
}
.ba-mini-slots {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 12px;
}
.ba-mini {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    display: block;
}
.ba-mini.free { background: #008b62; }
.ba-mini.busy { background: #d9363e; }
.ba-mini.past { background: #aaa; }

.ba-legend {
    color: #fff !important;
    background: #008b62;
    border-radius: 8px;
    padding: 10px;
    display: flex;
    gap: 20px;
    justify-content: center;
    flex-wrap: wrap;
    margin: 16px 0 24px;
    font-size: 14px;
}
.ba-legend span {
    color: #fff !important;
}
.ba-dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-right: 6px;
}
.ba-free { background: #008b62; }
.ba-busy { background: #d9363e; }
.ba-past { background: #aaa; }

.ba-slots {
    border-top: 1px solid #e5e5e5;
    padding-top: 20px;
}
.ba-slots-title {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 12px;
}
.ba-slot-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}
.ba-slot {
    border-radius: 10px;
    padding: 12px 14px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 700;
}
.ba-slot.free {
    background: #edfbe2;
    border: 1px solid #bfe6b0;
}
.ba-slot.busy {
    background: #fff0f0;
    border: 1px solid #f0bcbc;
}
.ba-slot.past {
    background: #f4f4f4;
    border: 1px solid #ddd;
    color: #888;
}
.ba-slot span:last-child {
    font-size: 11px;
}
.ba-loading,
.ba-error {
    grid-column: 1 / -1;
    text-align: center;
    padding: 40px 10px;
}
.ba-error { color: #b00020; }

@media (max-width: 700px) {
    .ba-title { font-size: 22px; }
    .ba-weekdays span { font-size: 12px; }
    .ba-day { min-height: 62px; padding: 6px; }
    .ba-day strong { font-size: 15px; }
    .ba-mini-slots { margin-top: 8px; gap: 4px; }
    .ba-mini { width: 7px; height: 7px; }
    .ba-slot-list { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 430px) {
    .ba-weekdays, .ba-calendar { gap: 4px; }
    .ba-day { min-height: 52px; }
    .ba-day strong { font-size: 14px; }
    .ba-mini-slots { gap: 3px; }
    .ba-mini { width: 6px; height: 6px; }
    .ba-legend { gap: 10px; font-size: 12px; }
}

/* Banjalend V9: free-status dots use accent green; free cells remain light green */
.banjalend-availability .ba-mini.free,
.banjalend-availability .ba-dot.ba-free {
    background: #00F79C !important;
}
.banjalend-availability .ba-day.ba-free {
    background: #EDFBE2 !important;
}
.banjalend-availability .ba-header,
.banjalend-availability .ba-weekdays {
    background: #008B62 !important;
}
