<style>
    .mod-bbb-container { padding: 5px; }
    .form-select, .form-control { border-radius: 8px; border: 1px solid #ced4da; transition: all 0.3s ease; }
    .btn-success { background-color: #198754; border: none; padding: 12px; font-weight: bold; }
    
    #room-select-wrapper, #bbb-login-form {
        display: none; opacity: 0; transform: translateY(-10px);
        transition: opacity 0.4s ease, transform 0.4s ease;
    }

    .show-animated { display: block !important; opacity: 1 !important; transform: translateY(0) !important; }

    .recording-dot {
        width: 12px; height: 12px; background-color: #ff0000;
        border-radius: 50%; display: inline-block; margin-left: 10px;
        box-shadow: 0 0 8px rgba(255, 0, 0, 0.6);
        animation: bbbPulse 1.5s infinite;
        vertical-align: middle;
    }

    @keyframes bbbPulse {
        0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(255, 0, 0, 0.7); }
        70% { transform: scale(1); box-shadow: 0 0 0 10px rgba(255, 0, 0, 0); }
        100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(255, 0, 0, 0); }
    }

    .btn-recordings { font-size: 0.8rem; padding: 4px 8px; border-radius: 6px; cursor: pointer; }
    
    #bbb-recordings-list {
        background: #f8f9fa; border-radius: 8px; margin-top: 10px;
        max-height: 260px; overflow-y: auto; display: none; border: 1px solid #ddd;
    }
    .rec-item { 
        padding: 8px; border-bottom: 1px solid #eee; font-size: 0.85rem; 
        display: flex; justify-content: space-between; align-items: center;
    }
    .rec-link { 
        color: #fff !important; 
        background-color: #0d6efd; 
        padding: 2px 8px; 
        border-radius: 4px; 
        text-decoration: none !important; 
        font-weight: bold;
        white-space: nowrap;
    }

    #bbb-room-filter { border-bottom-left-radius: 0; border-bottom-right-radius: 0; border-bottom: none; }
    #bbb-room-select { border-top-left-radius: 0; border-top-right-radius: 0; cursor: pointer; }
    .lock-icon { color: #fd7e14; margin-right: 5px; font-size: 0.9rem; }

    /* ⭐ Styling για το τοπικό σφάλμα */
    .bbb-local-error {
        background: #fff5f5;
        color: #d9534f;
        border: 1px solid #d9534f;
        padding: 8px;
        border-radius: 6px;
        font-size: 0.85rem;
        margin-bottom: 10px;
        text-align: center;
        font-weight: bold;
    }
    
    .bbb-spinner{
  width:20px;height:20px;border-radius:50%;
  border:3px solid #cfe2ff;border-top-color:#0d6efd;
  animation: bbbSpin 0.8s linear infinite;
}
@keyframes bbbSpin{ to{ transform: rotate(360deg);} }

/* ⭐ Να αναδιπλώνεται σωστά το header στη sidebar */
#bbb-login-form .d-flex.align-items-center.justify-content-between {
    flex-wrap: wrap;
    gap: 6px;
}

/* Ο τίτλος να πιάνει δική του γραμμή όταν στενέψει ο χώρος */
#selected-room-title {
    flex: 1 1 100%;
    word-break: break-word;
}

/* Τα εικονίδια να κάθονται όμορφα πριν τον τίτλο */
#selected-room-title img,
#selected-room-title i,
#selected-room-title span {
    margin-right: 6px;
}

/* Το κουμπί εγγραφών να “κολλάει” δεξιά όταν έχει χώρο */
#rec-button-container {
    margin-left: auto;
}

/* ⭐ Κάνουμε το header να αναδιπλώνεται σωστά */
#selected-room-title {
    display: flex;
    flex-direction: column; /* icons πάνω, τίτλος κάτω */
    align-items: flex-start;
    gap: 4px;
    width: 100%;
}

/* ⭐ Τα icons σε μία οριζόντια γραμμή */
#selected-room-title .bbb-icons-row {
    display: flex;
    flex-wrap: nowrap;
    gap: 6px;
}

/* ⭐ Ο τίτλος να αναδιπλώνεται όμορφα */
#selected-room-title .bbb-title-text {
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1.3;
    word-break: break-word;
    white-space: normal;
}

/* ⭐ Premium εμφάνιση dropdowns στη sidebar */
#bbb-cat-select,
#bbb-room-select {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 10px;
    padding: 10px 12px;
    font-size: 0.95rem;
    line-height: 1.4;
    background-color: #fff;
    border: 1px solid #ced4da;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}

/* ⭐ Τα options να έχουν σωστό spacing */
#bbb-cat-select option,
#bbb-room-select option {
    padding: 6px 8px;
    display: flex;
    align-items: center;
    gap: 6px;
    white-space: normal; /* επιτρέπει αναδίπλωση */
}

/* ⭐ Τα emojis/εικονίδια να μην κολλάνε στο κείμενο */
#bbb-cat-select option span,
#bbb-room-select option span,
#bbb-cat-select option i,
#bbb-room-select option i {
    margin-right: 6px;
}

/* ⭐ Το input αναζήτησης να ταιριάζει οπτικά */
#bbb-room-filter {
    border-radius: 10px;
    padding: 8px 10px;
    font-size: 0.9rem;
}

/* ⭐ Προειδοποίηση Καταγραφής (Alert στυλ) */
.bbb-recording-warning {
    background-color: #fff3cd;
    color: #664d03;
    border: 1px solid #ffecb5;
    padding: 10px;
    border-radius: 8px;
    font-size: 0.85rem;
    margin-bottom: 12px;
}

/* ✅ BBB SWITCH (Premium Tabs) */
.bbb-switch .btn-group {
    display: flex;
    width: 100%;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #0d6efd;
}

.bbb-switch .btn {
    flex: 1;
    border-radius: 0;
    font-weight: 600;
    padding: 8px 0;
    transition: all 0.25s ease;
}

.bbb-switch .btn.active {
    background-color: #0d6efd;
    color: #fff;
    box-shadow: inset 0 0 6px rgba(0,0,0,0.15);
}

.bbb-switch .btn-outline-primary {
    background-color: #fff;
    color: #0d6efd;
}

.bbb-switch .btn:not(.active):hover {
    background-color: rgba(13,110,253,0.08);
}

</style>